-
Notifications
You must be signed in to change notification settings - Fork 19
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
commited test case for development with only 1 timestep run and 1 snes solve iteration ALSO TURNED OFF THERMAL DIFFUSION AND INITIAL STEADY STATE TEMPERATURE INITIAL GUESS
- Loading branch information
Showing
1 changed file
with
286 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,286 @@ | ||
# This is a setup that simulates hang instabilities on a volcano, using viscoelastoplastic material properties | ||
|
||
#=============================================================================== | ||
# Scaling | ||
#=============================================================================== | ||
|
||
# Geometry | ||
units = geo | ||
|
||
# Always in SI units!! | ||
unit_temperature = 1000 | ||
unit_length = 1000 | ||
unit_viscosity = 1e20 | ||
unit_stress = 1e9 | ||
|
||
#=============================================================================== | ||
# Time stepping parameters | ||
#=============================================================================== | ||
|
||
dt = 1e-7 # time step | ||
dt_min = 1e-9 # minimum time step (declare divergence if lower value is attempted) | ||
dt_max = 1e-3 # maximum time step | ||
inc_dt = 0.5 # time step increment per time step (fraction of unit) | ||
CFL = 0.5 # CFL (Courant-Friedrichs-Lewy) criterion | ||
CFLMAX = 0.8 # CFL criterion for elasticity | ||
nstep_ini = 0 # save output for n initial steps | ||
nstep_max = 1 # maximum allowed number of steps (lower bound: time_end/dt_max) | ||
nstep_out = -1 # save output every n steps | ||
|
||
#=============================================================================== | ||
# Grid & discretization parameters | ||
#=============================================================================== | ||
|
||
# relative geometry tolerance for grid manipulations (default 1e-9) | ||
|
||
gtol = 1e-9 | ||
|
||
# Number of cells for all segments | ||
nel_x = 128 | ||
nel_y = 128 | ||
nel_z = 128 | ||
|
||
# Coordinates of all segments (including start and end points) | ||
coord_x = -5 15 | ||
coord_y = -10 5 | ||
coord_z = -5 5 | ||
|
||
#=============================================================================== | ||
# Free surface | ||
#=============================================================================== | ||
|
||
surf_use = 1 # free surface activation flag | ||
surf_corr_phase = 1 # air phase ratio correction flag (due to surface position) | ||
surf_level = 5 # initial level | ||
surf_air_phase = 0 # phase ID of sticky air layer | ||
surf_max_angle = 45.0 # maximum angle with horizon (smoothed if larger) | ||
surf_topo_file = VolcanoTopography.topo # initial topography file (redundant) | ||
erosion_model = 0 # erosion model [0-none (default), 1-infinitely fast] | ||
sediment_model = 0 # sedimentation model [0-none (dafault), 1-prescribed rate] | ||
|
||
#=============================================================================== | ||
# Boundary conditions | ||
#=============================================================================== | ||
|
||
# noslip = 0 0 0 0 0 0 | ||
|
||
temp_top = 0 # Temperature @ top | ||
temp_bot = 800 # Temperature @ bottom; side BC's are flux-free | ||
|
||
# Background strain rate parameters | ||
# exx_num_periods = 1 # number intervals of constant strain rate (x-axis) | ||
# exx_strain_rates = -5e-16 # strain rates for each interval (negative=compression) | ||
|
||
# Free surface top boundary flag | ||
open_top_bound = 1 | ||
|
||
#=============================================================================== | ||
# Jacobian & residual evaluation parameters | ||
#=============================================================================== | ||
|
||
gravity = 0.0 0.0 -9.81 # gravity vector | ||
act_temp_diff = 0 # temperature diffusion activation flag | ||
act_steady_temp = 0 # steady-state temperature initial guess activation flag | ||
steady_temp_t = 0.1 # time for (quasi-)steady-state temperature initial guess | ||
nstep_steady = 10 # number of steps for (quasi-)steady-state temperature initial guess (default = 1) | ||
act_heat_rech = 0 # heat recharge activation flag | ||
init_lith_pres = 1 # initial pressure with lithostatic pressure | ||
init_guess = 1 # initial guess flag | ||
eta_min = 1e17 # viscosity upper bound | ||
eta_max = 1e23 # viscosity lower limit | ||
eta_ref = 1e22 # reference viscosity (initial guess) | ||
T_ref = 20 # reference temperature | ||
p_lim_plast = 1 | ||
|
||
min_cohes = 1e6 # cohesion lower bound [Pa] | ||
min_fric = 1.0 # friction lower bound [degree] | ||
tau_ult = 1e9 # ultimate yield stress [Pa] | ||
|
||
|
||
#=============================================================================== | ||
# Solver options | ||
#=============================================================================== | ||
|
||
SolverType = multigrid # solver [direct or multigrid] | ||
#MGLevels = 3 # number of MG levels | ||
MGSweeps = 25 # number of MG smoothening steps per level | ||
MGSmoother = jacobi # type of smoothener used [chebyshev or jacobi] | ||
MGJacobiDamp = 0.5 # Dampening parameter [only employed for Jacobi smoothener; default=0.6] | ||
DirectSolver = superlu_dist # mumps/superlu_dist/pastix/umfpack | ||
|
||
#=============================================================================== | ||
# Model setup & advection | ||
#=============================================================================== | ||
|
||
msetup = geom | ||
bg_phase = 1 # background phase ID | ||
nmark_x = 3 # markers per cell in x-direction | ||
nmark_y = 3 # ... y-direction | ||
nmark_z = 3 # ... z-direction | ||
rand_noise = 1 # random noise flag | ||
advect = rk2 # advection scheme | ||
interp = minmod # velocity interpolation scheme | ||
mark_ctrl = basic # marker control type | ||
nmark_lim = 16 100 # min/max number per cell | ||
|
||
<EllipsoidStart> | ||
phase = 2 | ||
axes = 7.0 5.0 3.0 # semi-axes of ellipsoid in x, y and z | ||
center = 6.0 -2.0 2.0 | ||
<EllipsoidEnd> | ||
|
||
<EllipsoidStart> | ||
phase = 1 | ||
axes = 14.0 14.0 1.0 # semi-axes of ellipsoid in x, y and z | ||
center = 0.0 0.0 -4.0 | ||
Temperature = constant # optional: Temperature of the sphere. possibilities: [constant] | ||
cstTemp = 1200 # required in case of [constant]: temperature value [in Celcius in case of GEO units] | ||
<EllipsoidEnd> | ||
|
||
#=============================================================================== | ||
# Output | ||
#=============================================================================== | ||
|
||
# Grid output options (output is always active) | ||
out_file_name = Volcano_test # output file name | ||
out_pvd = 0 # activate writing .pvd file | ||
|
||
# AVD phase viewer output options (requires activation) | ||
out_avd = 0 # activate AVD phase output | ||
out_avd_pvd = 0 # activate writing .pvd file | ||
out_avd_ref = 0 # AVD grid refinement factor | ||
|
||
# free surface output | ||
out_surf = 0# activate surface output | ||
out_surf_pvd = 0 # activate writing .pvd file | ||
|
||
|
||
#=============================================================================== | ||
# ............................ Material Parameters ............................. | ||
#=============================================================================== | ||
|
||
# ------------------- Air ------------------- | ||
<MaterialStart> | ||
Name = air | ||
ID = 0 | ||
rho = 1 | ||
alpha = 3e-5 | ||
|
||
# Linear Viscosity | ||
eta = 1e17 | ||
|
||
# Elastic parameters | ||
G = 1e10 | ||
nu = 0.2 | ||
|
||
# Thermal parameters | ||
k = 30 | ||
Cp = 1000 | ||
|
||
# Plastic parameters | ||
ch = 20e6 | ||
fr = 30 | ||
<MaterialEnd> | ||
|
||
# ------------------- Volcano ------------------- | ||
<MaterialStart> | ||
Name = Volcano | ||
ID = 1 | ||
rho = 2900 | ||
alpha = 3e-5 | ||
|
||
# dislocation viscosity | ||
eta = 1e23 | ||
|
||
|
||
# Elastic parameters | ||
G = 3e10 | ||
nu = 0.3 | ||
|
||
# Thermal parameters | ||
k = 3 | ||
Cp = 1000 | ||
|
||
# Plastic parameters | ||
ch = 5e6 | ||
fr = 10 | ||
eta_st = 5e20 # stabilization viscosity (default is eta_min) | ||
|
||
<MaterialEnd> | ||
|
||
|
||
# ------------------- weak ------------------- | ||
<MaterialStart> | ||
Name = WeakZone | ||
ID = 2 | ||
rho = 2900 | ||
alpha = 3e-5 | ||
|
||
# dislocation viscosity | ||
eta = 1e23 | ||
|
||
|
||
# Elastic parameters | ||
G = 3e10 | ||
nu = 0.3 | ||
|
||
# Thermal parameters | ||
k = 3 | ||
Cp = 1000 | ||
|
||
# Plastic parameters | ||
ch = 1e6 | ||
fr = 5 | ||
eta_st = 5e20 # stabilization viscosity (default is eta_min) | ||
|
||
<MaterialEnd> | ||
|
||
# End of defining material properties for all phases ---------------------------------------- | ||
|
||
|
||
#=============================================================================== | ||
# PETSc options | ||
#=============================================================================== | ||
<PetscOptionsStart> | ||
|
||
# SNES | ||
|
||
# Eisenstatt-walker | ||
-snes_ksp_ew | ||
-snes_ksp_ew_version 3 | ||
-snes_ksp_ew_rtol0 1e-3 | ||
-snes_ksp_ew_rtolmax 1e-2 | ||
|
||
-snes_ksp_ew_gamma 0.9 | ||
-snes_ksp_ew_alpha 2.0 | ||
|
||
|
||
-snes_npicard 5 | ||
-snes_max_it 1 | ||
-snes_rtol 1e-5 | ||
-snes_atol 1e-6 | ||
-snes_PicardSwitchToNewton_rtol 1e-3 #-7 | ||
-snes_linesearch_monitor | ||
|
||
-gmg_pc_type mg | ||
-gmg_pc_mg_galerkin | ||
-gmg_pc_mg_type multiplicative | ||
-gmg_pc_mg_cycle_type v | ||
# -gmg_pc_view | ||
|
||
-gmg_mg_levels_ksp_type richardson | ||
-gmg_mg_levels_ksp_richardson_scale 0.5 | ||
-gmg_mg_levels_ksp_max_it 5 | ||
-gmg_mg_levels_pc_type jacobi | ||
|
||
-gmg_pc_mg_levels 4 | ||
-crs_ksp_type preonly | ||
-crs_pc_type telescope | ||
-crs_pc_telescope_reduction_factor 1 | ||
-crs_telescope_ksp_type gmres | ||
-crs_telescope_ksp_rtol 1e-5 | ||
-crs_telescope_pc_type gamg | ||
-crs_telescope_pc_gamg_threshold 0.05 | ||
-crs_telescope_pc_gamg_coarse_eq_limit 1000 | ||
|
||
<PetscOptionsEnd> |