4. Parameter file

The parameter file param.txt contains the information that is necessary for the simulation to run.

  1. 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

  2. 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

  3. 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.

  4. 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

  5. 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>

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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)