4. Parameter file¶
The parameter file param.txt
contains the information that is necessary for the simulation to run.
Geometry
- nx
default:
type: integer
unit:
definition: number of nodes in the horizontal direction
- nz
default:
type: integer
unit:
definition: number of nodes in the vertical direction
- lx
default:
type: real
unit: m
definition: extent in the horizontal direction
- lz
default:
type: real
unit: m
definition: extent in the vertical direction
Simulation options
- solver
default: direct
type: direct/iterative
unit:
definition: set the solver to be direct or iterative
- denok
default: 1.0e-4
type: real number
unit:
definition: tolerance criterion for the Uzawa’s scheme
- rtol
default: 1.0e-5
type: real number
unit:
definition: the absolute size of the residual norm (relevant only for iterative methods)
- RK4
default: Euler
type: Euler/Runge-Kutta
unit:
definition: particles advection method
- Xi_min
default: 1.0e-14
type: real number
unit:
definition: tolerance criterion for the convergence of the non-linear flow
- random_initial_strain
default: 0.0
type: real number
unit:
definition: non-dimensional value for the initial strain perturbation for the entire domain
- pressure_const
default: -1.0 (i.e. not used)
type: real number
unit: Pa
definition: set constant pressure value for the domain (relevant when 2-D is plain view)
- initial_dynamic_range
default: False
type: True/False
unit:
definition: method to smoothen convergence of the velocity field in scenarios with wide viscosity range, see Gerya (2019) [18]
- periodic_boundary
default: False
type: True/False
unit:
definition: allows simulation with periodic boundary in the horizontal direction
- high_kappa_in_asthenosphere
default: False
type: True/False
unit:
definition: mimics high heat transport in the asthenosphere increasing its thermal diffusivity coefficient
- basal_heat
default: -1.0 (i.e. not used)
type: real number
unit: W/m^2
definition: set basal heat flux value
Particles options
- particles_per_element
default: 81
type: integer
unit:
definition: number of Lagrangian particles in each element
- particles_per_element_x
default: 0 (automatic calculation)
type: integer
unit:
definition: number of Lagrangian particles in the horizontal direction
- particles_per_element_z
default: 0 (automatic calculation)
type: integer
unit:
definition: number of Lagrangian particles in the vertical direction
- particles_perturb_factor
default: 0.5
type: real number between 0 and 1
unit:
definition: indicates the amount of perturbation of the initial location of the particles relative to a regular grid distribution.
Surface processes
- sp_surface_tracking
default: False
type: True/False
unit:
definition: allows free surface tracking across time and outputs it
- sea_level
default: 0.0
type: real number
unit: m
definition: sea level used to limit the influence of the surface process
- sp_surface_processes
default: False
type: True/False
unit:
definition: allows erosion and sedimentation simulation
- sp_dt
default: 0
type: real number
unit: years
definition: time step for surface processes simulation
- a2l
default: True
type: True/False
unit:
definition: allows the conversion of air particles to land particles during sedimentation
- sp_mode
default: 1
type: integer
unit:
definition: specify the surface processes method
- free_surface_stab
default: True
type: True/False
unit:
definition: set if the free surface stabilization algorithm (FSSA) is used, see Kaus et al. (2010) [10]
- theta_FSSA
default: 0.5
type: real number
unit:
definition: weight of the influence of the FSSA method (only relevant when <free_surface_stab> is True)
- sticky_blanket_air
default: False
type: True/False
unit:
definition: allows the increase of viscosity for the first air layer of particles
- precipitation_profile_from_ascii
default: False
type: True/False
unit:
definition: set if precipitation profile along the horizontal axis is read from an ASCII file
- climate_change_from_ascii
default: False
type: True/False
unit:
definition: if True, re-scales through time the precipitation profile using an ASCII file
Time constrains
- step_max
default:
type: integer
unit: steps
definition: maximum time-step of the simulation
- time_max
default:
type: real number
unit: years
definition: maximum time of the simulation
- dt_max
default:
type: real number
unit: years
definition: maximum time between steps of the simulation
- step_print
default:
type: integer
unit: steps
definition: make output files every <step_print>
- sub_division_time_step
default: 1.0
type: real number
unit:
definition: re-scale value for the calculated time-step
- initial_print_step
default: 0 (i.e. not used)
type: integer
unit:
definition: <step_print> used until <initial_print_max_time>
- initial_print_max_time
default: 1.0e6
type: real number
unit: years
definition: maximum time to make output files every <initial_print_step>
Viscosity
- viscosity_reference
default:
type: real number
unit: Pa.s
definition: reference mantle viscosity
- viscosity_max
default:
type: real number
unit: Pa.s
definition: maximum viscosity during simulation
- viscosity_min
default:
type: real number
unit: Pa.s
definition: minimum viscosity during simulation
- viscosity_per_element
default: constant
type: constant/variable
unit:
definition: sets if viscosity is constant or linearly variable for every element
- viscosity_mean_method
default: harmonic
type: harmonic/arithmetic
unit:
definition: defines method do calculate the viscosity for each element
- viscosity_dependence
default: depth
type: pressure/depth
unit:
definition: defines if viscosity depends on pressure or depth
External ASCII inputs/outputs
- interfaces_from_ascii
default: False
type: True/False
unit:
definition: set if interfaces between lithologies are read from an ASCII file (interfaces.txt)
- n_interfaces
default:
type:
unit:
definition: set the number of interfaces to be read from the interfaces ASCII file (interfaces.txt)
- temperature_from_ascii
default: False
type: True/False
unit:
definition: set if initial temperature is read from an ASCII file (input_temperature_0.txt)
- velocity_from_ascii
default: False
type: True/False
unit:
definition: set if initial velocity field is read from an ASCII file (input_velocity_0.txt)
- variable_bcv
default: False
type: True/False
unit:
definition: allows velocity field re-scaling through time according to an ASCII file (scale_bcv.txt)
- multi_velocity
default: False
type: True/False
unit:
definition: set if boundary velocities can change with time from ASCII file(s) (multi_veloc.txt and additional input_velocity_[X].txt files)
- binary_output
default: False
type: True/False
unit:
definition: set if output is in binary format
- print_step_files
default: True
type: True/False
unit:
definition: set if the particles position are printed to an output file
Physical parameters
- temperature_difference
default:
type: real number
unit: K
definition: temperature difference between the top and bottom of the model (relevant if <temperature_from_ascii> is False)
- thermal_expansion_coefficient
default:
type: real number
unit: 1/K
definition: value for the coefficient of thermal expansion
- thermal_diffusivity_coefficient
default:
type: real number
unit: m^2/s
definition: value for the coefficient of thermal diffusivity
- gravity_acceleration
default:
type: real number
unit: m/s^2
definition: value for the gravity acceleration
- density_mantle
default:
type: real number
unit: kg/m^3
definition: value for the mantle reference density
- heat_capacity
default:
type: real number
unit: J/K
definition: value for the heat capacity
- non_linear_method
default:
type: on/off
unit:
definition: set if non linear method is used for the momentum equation
- adiabatic_component
default:
type: on/off
unit:
definition: set if adiabatic heating/cooling is active
- radiogenic_component
default:
type: on/off
unit:
definition: set if radiogenic heating is active
Strain softening parameters
Velocity boundary conditions
- top_normal_velocity
default:
type: fixed/free
unit:
definition: set the normal velocity on the top side of the model to be fixed or free
- top_tangential_velocity
default:
type: fixed/free
unit:
definition: set the tangential velocity on the top side of the model to be fixed or free
- bot_normal_velocity
default:
type: fixed/free
unit:
definition: set the normal velocity on the bottom side of the model to be fixed or free
- bot_tangential_velocity
default:
type: fixed/free
unit:
definition: set the tangential velocity on the bot side of the model to be fixed or free
- left_normal_velocity
default:
type: fixed/free
unit:
definition: set the normal velocity on the left side of the model to be fixed or free
- left_tangential_velocity
default:
type: fixed/free
unit:
definition: set the tangential velocity on the left side of the model to be fixed or free
- right_normal_velocity
default:
type: fixed/free
unit:
definition: set the normal velocity on the right side of the model to be fixed or free
- right_tangential_velocity
default:
type: fixed/free
unit:
definition: set the tangential velocity on the right side of the model to be fixed or free
Temperature boundary conditions
- top_temperature
default:
type: fixed/free
unit:
definition: set temperature on the top side of the model to be fixed or free
- bot_temperature
default:
type: fixed/free
unit:
definition: set temperature on the bottom side of the model to be fixed or free
- left_temperature
default:
type: fixed/free
unit:
definition: set temperature on the left side of the model to be fixed or free
- right_temperature
default:
type: fixed/free
unit:
definition: set temperature on the right side of the model to be fixed or free
- rheology_model
default:
type: integer
unit:
definition: flag number of a pre-defined rheology model to use during simulation
- T_initial
default:
type: integer
unit:
definition: flag number of a pre-defined temperature model to use during simulation (relevant when <temperature_from_ascii> is False)
Below there is an example of a parameter file param.txt
used to make a simulation with Mandyoc.
1# Geometry
2nx = 81 # n. of nodes in the horizontal direction
3nz = 81 # n. of nodes in the vertical direction
4lx = 91420.0 # extent in the horizontal direction
5lz = 100000. # extent in the vertical direction
6
7# Simulation options
8solver = direct # set the solver to be direct or iterative, default is direct [direct/iterative]
9denok = 1.0e-15 # tolerance criterion for the Uzawa's scheme, default is 1.0e-4
10rtol = 1.0e-5 # the absolute size of the residual norm (relevant only for iterative methods), default is 1.0e-5
11RK4 = Euler # particles advection method, default is Euler [Euler/Runge-Kutta]
12Xi_min = 1.0e-14 # tolerance criterion for the convergence of the non-linear flow, default is 1.0e-14
13random_initial_strain = 0.0 # non-dimensional value for the initial strain perturbation for the entire domain, default is 0.0
14pressure_const = -1.0 # set constant pressure value for the domain (relevant only when 2D is plain view), default is -1.0 (i.e. not used) [Pa]
15initial_dynamic_range = False # method to smoothen convergence of the velocity field in scenarios with wide viscosity range, default is False [True/False], Gerya (2019)
16periodic_boundary = False # allows simulation with periodic boundary in the horizontal direction, default is False [True/False]
17high_kappa_in_asthenosphere = False # mimics high heat transport in the asthenosphere increasing its thermal diffusivity coefficient, default is False [True/False]
18basal_heat = -1.0 # set basal heat flux value, default is -1.0 (i.e. not used) [W/m^2]
19
20# Particles options
21particles_per_element = 1100 # n. of Lagrangian particles in each element, default is 81
22particles_per_element_x = 0 # n. of Lagrangian particles in the horizontal direction, default is 0 for automatic calculation
23particles_per_element_z = 0 # n. of Lagrangian particles in the vertical direction, default is 0 for automatic calculation
24particles_perturb_factor = 0.0 # indicates the amount of perturbation of the initial location of the particles relative to a regular grid distribution. Default is 0.5 [values are between 0 and 1]
25
26# Surface processes
27sp_surface_tracking = False # allows free surface tracking across time and outputs it, default is False [True/False]
28sea_level = 0.0 # sea level used to limit the influence of the surface process, default is 0.0 [m]
29sp_surface_processes = False # allows erosion and sedimentation simulation, default is False [True/False]
30sp_dt = 0 # time step for surface processes simulation, default is 0 [years]
31a2l = True # allows the conversion of air particles to land particles during sedimentation, default is True [True/False]
32sp_mode = 1 # specify the surface processes method, default is 1
33free_surface_stab = True # set if the free surface stabilization algorithm (FSSA) is used, default is True [True/False], Kaus et al. (2010)
34theta_FSSA = 0.5 # weight of the influence of the FSSA method, default is 0.5 (only relevant when <free_surface_stab> is True)
35sticky_blanket_air = False # allows the increase of viscosity for the first air layer of particles, default is False [True/False]
36precipitation_profile_from_ascii = False # set if precipitation profile along the horizontal axis is read from an ASCII file, default is False [True/False]
37climate_change_from_ascii = False # if True, re-scales through time the precipitation profile using an ASCII file, default is False [True/False]
38
39# Time constrains
40step_max = 4000 # maximum time-step of the simulation [steps]
41time_max = 140000.0e6 # maximum time of the simulation [years]
42dt_max = 1000.0e6 # maximum time between steps of the simulation [years]
43step_print = 20 # make output files every <step_print>
44sub_division_time_step = 1.0 # re-scale value for the calculated time-step, default is 1.0
45initial_print_step = 0 # <step_print> used until <initial_print_max_time>, default is 0 (i.e. not used)
46initial_print_max_time = 1.0e6 # maximum time to make output files every <initial_print_step>, default is 1.0e6 [years]
47
48# Viscosity
49viscosity_reference = 1.0e21 # reference mantle viscosity [Pa.s]
50viscosity_max = 1.0e25 # maximum viscosity during simulation [Pa.s]
51viscosity_min = 1.0e17 # minimum viscosity during simulation [Pa.s]
52viscosity_per_element = constant # sets if viscosity is constant or linearly variable for every element, default is variable [constant/variable]
53viscosity_mean_method = harmonic # defines method do calculate the viscosity for each element, default is harmonic [harmonic/arithmetic]
54viscosity_dependence = pressure # defines if viscosity depends on pressure or depth, default is depth [pressure/depth]
55
56# External ASCII inputs/outputs
57interfaces_from_ascii = True # set if interfaces between lithologies are read from an ASCII file (interfaces.txt), default is False [True/False]
58n_interfaces = 1 # set the number of interfaces to be read from the interfaces ASCII file (interfaces.txt)
59temperature_from_ascii = False # set if initial temperature is read from an ASCII file (input_temperature_0.txt), default is False [True/False]
60velocity_from_ascii = False # set if initial velocity field is read from an ASCII file (input_velocity_0.txt), default is False [True/False]
61variable_bcv = False # allows velocity field re-scaling through time according to an ASCII file (scale_bcv.txt), default is False [True/False]
62multi_velocity = False # set if boundary velocities can change with time from ASCII file(s) (multi_veloc.txt and additional input_velocity_[X].txt files), default is False [True/False]
63binary_output = False # set if output is in binary format, default is False [True/False]
64print_step_files = True # set if the particles position are printed to an output file, default is True [True/False]
65
66# Physical parameters
67temperature_difference = 0. # temperature difference between the top and bottom of the model (relevant if <temperature_from_ascii> is False) [K]
68thermal_expansion_coefficient = 3.28e-5 # value for the coefficient of thermal expansion [1/K]
69thermal_diffusivity_coefficient = 1.0e-6 # value for the coefficient of thermal diffusivity [m^2/s]
70gravity_acceleration = 10.0 # value for the gravity acceleration [m/s^2]
71density_mantle = 3300. # value for the mantle reference density [kg/m^3]
72heat_capacity = 1250. # value for the heat capacity [J/K]
73
74non_linear_method = off # set if non linear method is used for the momentum equation [on/off]
75adiabatic_component = off # set if adiabatic heating/cooling is active [on/off]
76radiogenic_component = off # set if radiogenic heating is active [on/off]
77
78# Velocity boundary conditions
79top_normal_velocity = fixed # set the normal velocity on the top side of the model to be fixed or free [fixed/free]
80top_tangential_velocity = fixed # set the tangential velocity on the top side of the model to be fixed or free [fixed/free]
81bot_normal_velocity = fixed # set the normal velocity on the bottom side of the model to be fixed or free [fixed/free]
82bot_tangential_velocity = fixed # set the tangential velocity on the bot side of the model to be fixed or free [fixed/free]
83left_normal_velocity = fixed # set the normal velocity on the left side of the model to be fixed or free [fixed/free]
84left_tangential_velocity = free # set the tangential velocity on the left side of the model to be fixed or free [fixed/free]
85right_normal_velocity = fixed # set the normal velocity on the right side of the model to be fixed or free [fixed/free]
86right_tangential_velocity = free # set the tangential velocity on the right side of the model to be fixed or free [fixed/free]
87
88# Temperature boundary conditions
89top_temperature = fixed # set temperature on the top side of the model to be fixed or free [fixed/free]
90bot_temperature = fixed # set temperature on the bottom side of the model to be fixed or free [fixed/free]
91left_temperature = free # set temperature on the left side of the model to be fixed or free [fixed/free]
92right_temperature = free # set temperature on the right side of the model to be fixed or free [fixed/free]
93
94rheology_model = 0 # flag n. of a pre-defined rheology model to use during simulation
95T_initial = 0 # flag n. of a pre-defined temperature model to use during simulation (relevant when <temperature_from_ascii> is False)