Root
Root record of JSON input for Flow123d.
- String (generic)
flow123d_version
obligatoryVersion of Flow123d for which the input file was created.Flow123d only warn about version incompatibility. However, external tools may use this information to provide conversion of the input file to the structure required by another version of Flow123d.
- Bool (generic)
pause_after_run
value at declaration = FalseIf true, the program will wait for key press before it terminates.
Coupling_Base
The root record of description of particular the problem to solve.
Record with data for a general sequential coupling.
Coupling_Sequential
Record with data for a general sequential coupling.
- String (generic)
description
optionalShort description of the solved problem.
Is displayed in the main log, and possibly in other text output files.- ABSTRACTAdvectionProcess
solute_equation
optionalTransport of soluted substances, depends on the velocity field from a Flow equation.
- ABSTRACTAdvectionProcess
heat_equation
optionalHeat transfer, depends on the velocity field from a Flow equation.
TimeGovernor
Time axis settings of the simulation.
The settings is specific to a particular equation.
TimeGovernor allows to:
- define start time and end time of simulation
- define lower and upper limits of time steps
- direct fixed time marks of whole simulation
- set global time unit of equation (see 'common_time_unit' key)
Limits of time steps are defined by keys 'min_dt', 'max_dt', 'init_dt' and 'dt_limits'. Key 'init_dt' has the highest priority and allows set fix size of time steps. Pair of keys 'min_dt' and 'max_dt' define interval of time steps. Both previous cases ('init_dt' or pair 'min_dt' and 'max_dt') set global limits of whole simulation. In contrasts, 'dt_limits' allow set time-dependent function of min_dt/max_dt. Used time steps of simulation can be printed to YAML output file (see 'write_used_timesteps'.
Fixed time marks define exact values of time steps. They are defined in:
- start time and end time of simulation
- output times printed to output mesh file
- times defined in 'dt_limits' table (optional, see 'add_dt_limits_time_marks' key)
- Bool (generic)
add_dt_limits_time_marks
value at declaration = FalseAdd all times defined in
dt_limits
table to the list of fixed TimeMarks.- file nameoutput
write_used_timesteps
optionalWrite used time steps to the given file in YAML format corresponding with the format of
dt_limits
.- RECORDUnit
Common time unit of the equation.
This unit will be used for all time inputs and outputs within the equation. Individually, the common time unit can be overwritten for every declared time.
Time units are used in the following cases:
1) Time units of time value keys in: TimeGovernor, FieldDescriptors.
The common time unit can be overwritten for every declared time.
2) Time units in:
a) input fields: FieldFE and FieldTimeFunction
b) time steps definition of OutputTimeSet
Common time unit can be overwritten by one unit value for every whole mesh data file or time function.
3) Time units in output files: observation times, balance times, frame times of VTK and GMSH
Common time unit cannot be overwritten in these cases.
TimeValue
A time with optional unit specification.
- Double (-inf, +inf)
time
obligatoryThe time value.
- RECORDUnit
unit
value at read time = Common time unit of the equation's Time Governor. See the key 'common_time_unit'.Predefined units include:
s
seconds,min
minutes,h
hours,d
days,y
years.
The default time unit is set from the equation's time governor, see the keycommon_time_unit
in the equation's time record.User can benefit from the Unit Convertor funcionality and create different time units.
Year length example considering leap years (Gregorian calendar):year; year = 365.2425*d
.
Miliseconds example :milisec; milisec = 0.001*s
.
Unit
Specify the unit of an input value. Evaluation of the unit formula results into a coeficient and a unit in terms of powers of base SI units. The unit must match theexpected SI unit of the value, while the value provided on the input is multiplied by the coefficient before further processing. The unit formula have a form:
<UnitExpr>;<Variable>=<Number>*<UnitExpr>;...,
where <Variable>
is a variable name and <UnitExpr>
is a units expression which consists of products and divisions of terms.
A term has a form: <Base>^<N>
, where <N>
is an integer exponent and <Base>
is either a base SI unit, a derived unit, or a variable defined in the same unit formula. Example, unit for the pressure head:
MPa/rho/g_; rho = 990*kg*m^-3; g_ = 9.8*m*s^-2
- String (generic)
unit_formula
obligatoryDefinition of unit.
TimeValue
A time with optional unit specification.
- Double [0, +inf)
time
obligatoryThe time value.
- RECORDUnit
unit
value at read time = Common time unit of the equation's Time Governor. See the key 'common_time_unit'.Predefined units include:
s
seconds,min
minutes,h
hours,d
days,y
years.
The default time unit is set from the equation's time governor, see the keycommon_time_unit
in the equation's time record.User can benefit from the Unit Convertor funcionality and create different time units.
Year length example considering leap years (Gregorian calendar):year; year = 365.2425*d
.
Miliseconds example :milisec; milisec = 0.001*s
.
DtLimits
Time dependent changes in min_dt and max_dt limits.
Mesh
Record with mesh related data.
- file nameinput
mesh_file
obligatoryInput file with mesh description.
- RECORDPartition
Parameters of mesh partitioning algorithms.
- Bool (generic)
print_regions
value at declaration = TrueIf true, print table of all used regions.
Search algorithm for element intersections.
- Double [0, +inf)
global_snap_radius
value at declaration = 0.001Maximal snapping distance from the mesh in various search operations. In particular, it is used to find the closest mesh element of an observe point; and in FieldFormula to find closest surface element in plan view (Z projection).
- file nameoutput
raw_ngh_output
optionalOutput file with neighboring data from mesh.
- Bool (generic)
optimize_mesh
value at declaration = TrueIf true, permute nodes and elements in order to increase cache locality. This will speed up the calculations. GMSH output preserves original ordering but is slower. All variants of VTK output use the permuted.
Region
Abstract record for Region.
Elementary region declared by its id.
It allows to create a new region with given id and name, or to rename an existing region of given id.Elementary region declared by its name (label).
It gives a new name to an elementary region with the original name (in the mesh file) given by themesh_label.
Elementary region declared by a list of elements.
The new region is assigned to the list of elements specified by the keyelement_list
.Defines a new region (set) as a union of two or more regions. The regions can be given by their names or ids or both.
Defines a new region (set) as a difference of two regions (sets), given by their names.
Defines a new region (set) as an intersection of two or more regions (sets), given by their names.
From_Id
Elementary region declared by its id.
It allows to create a new region with given id and name, or to rename an existing region of given id.
- String (generic)
name
obligatoryName (label) of the region. It has to be unique per single mesh.
- Integer [0, INT]
id
obligatoryId of the region to which you assign the name.
- Integer [0, INT]
dim
optionalDimension of the region to which you assign the name.
The value is taken into account only if a new region is created.
From_Label
Elementary region declared by its name (label).
It gives a new name to an elementary region with the original name (in the mesh file) given by the mesh_label.
- String (generic)
name
obligatoryNew name (label) of the region. It has to be unique per single mesh.
- String (generic)
mesh_label
obligatoryThe original region name in the input file, e.g. a physical volume name in the GMSH format.
- Bool (generic)
allow_empty
value at declaration = FalseIf true it allows to the region set to be empty (no elements).
From_Elements
Elementary region declared by a list of elements.
The new region is assigned to the list of elements specified by the key element_list
.
- String (generic)
name
obligatoryName (label) of the region. It has to be unique per single mesh.
- Integer [0, INT]
id
optionalId of the region. If unset, a unique id will be generated automatically.
- Array [1, UINT]
- of INTEGER
element_list
obligatoryList of ids of elements.
Union
Defines a new region (set) as a union of two or more regions. The regions can be given by their names or ids or both.
- String (generic)
name
obligatoryName (label) of the new region. It has to be unique per single mesh.
- Array [0, UINT]
- of INTEGER
region_ids
optionalList of region ids to be added to the new region set.
- Array [0, UINT]
- of STRING
regions
optionalList of region names (labels) to be added to the new region set.
Difference
Defines a new region (set) as a difference of two regions (sets), given by their names.
- String (generic)
name
obligatoryName (label) of the new region. It has to be unique per single mesh.
- Array [2, 2]
- of STRING
regions
obligatoryList of exactly two region (set) names.
Supposing region sets r1, r2, the result includes all regions of r1 that are not in r2.
Intersection
Defines a new region (set) as an intersection of two or more regions (sets), given by their names.
- String (generic)
name
obligatoryName (label) of the new region. It has to be unique per single mesh.
- Array [2, UINT]
- of STRING
regions
obligatoryList of two or more region (set) names.
Partition
Setting for various types of mesh partitioning.
- SELECTIONGraphType
Algorithm for generating graph and its weights from a multidimensional mesh.
PartTool
Select the partitioning tool to use.
Use PETSc interface to various partitioning tools.
Use direct interface to Metis.
GraphType
Different algorithms to make the sparse graph with weighted edges
from the multidimensional mesh. Main difference is dealing with
neighboring of elements of different dimension.
Add an edge for any pair of neighboring elements.
Same as before and assign higher weight to cuts of lower dimension in order to make them stick to one face.
Add an edge for any pair of neighboring elements of the same dimension (bad for matrix multiply).
Types of search algorithm for finding intersection candidates.
Use BIH for finding initial candidates, then continue by prolongation.
Use BIH for finding all candidates.
Use bounding boxes for finding initial candidates, then continue by prolongation.
DarcyFlow
Darcy flow model. Abstraction of various porous media flow models.
Lumped Mixed-Hybrid solver for saturated Darcy flow.
Lumped Mixed-Hybrid solver for unsteady unsaturated Darcy flow.
Record with data for iterative coupling of flow and mechanics.
Mixed-Hybrid solver for saturated Darcy flow.
Flow_Darcy_LMH
Lumped Mixed-Hybrid solver for saturated Darcy flow.
- Array [3, 3]
- of DOUBLE
gravity
value at declaration = [0, 0, -1]Vector of the gravity force. Dimensionless.
- RECORDOutputStream
Output stream settings.
Specify file format, precision etc.- instance of RECORD
- generic typeEquationOutput
- parameter output_field_selection = Flow_Darcy_LMH:OutputFields
Specification of output fields and output times.
- instance of RECORD
- generic typeOutput_DarcyMHSpecific
- parameter output_field_selection = Flow_Darcy_MH_specific:OutputFields
output_specific
optionalOutput settings specific to Darcy flow model.
Includes raw output and some experimental functionality.- SELECTIONMH_MortarMethod
Method for coupling Darcy flow between dimensions on incompatible meshes. [Experimental]
Flow_Darcy_LMH_Data
Record to set fields of the equation.
The fields are set only on the domain specified by one of the keys: 'region', 'rid'
and after the time given by the key 'time'. The field setting can be overridden by
any Flow_Darcy_LMH_Data record that comes later in the boundary data array.
- Array [1, UINT]
- of STRING
region
optionalLabels of the regions where to set fields.
- Integer [0, INT]
rid
optionalID of the region where to set fields.
- instance of ABSTRACT
- generic typeField_R3_to_R[3,3]
- parameter element_input_type = DOUBLE
anisotropy
optionalAnisotropy of the conductivity tensor. {$[-]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
cross_section
optionalComplement dimension parameter (cross section for 1D, thickness for 2D). {$[m^{3-d}]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
conductivity
optionalIsotropic conductivity scalar. {$[ms^{-1}]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
sigma
optionalTransition coefficient between dimensions. {$[-]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
water_source_density
optionalWater source density. {$[s^{-1}]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = Flow_Darcy_BC_Type
bc_type
optionalBoundary condition type. {$[-]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
bc_pressure
optionalPrescribed pressure value on the boundary. Used for all values of
bc_type
exceptnone
andseepage
. See documentation ofbc_type
for exact meaning ofbc_pressure
in individual boundary condition types. {$[m]$}- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
bc_flux
optionalIncoming water boundary flux. Used for bc_types :
total_flux
,seepage
,river
. {$[ms^{-1}]$}- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
bc_robin_sigma
optionalConductivity coefficient in the
total_flux
or theriver
boundary condition type. {$[s^{-1}]$}- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
bc_switch_pressure
optionalCritical switch pressure for
seepage
andriver
boundary conditions. {$[m]$}- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
init_pressure
optionalInitial condition for pressure in time dependent problems. {$[m]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
storativity
optionalStorativity (in time dependent problems). {$[m^{-1}]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
bc_piezo_head
optionalBoundary piezometric head for BC types: dirichlet, robin, and river.
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
bc_switch_piezo_head
optionalBoundary switch piezometric head for BC types: seepage, river.
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
init_piezo_head
optionalInitial condition for the pressure given as the piezometric head.
Field_R3_to_R[3,3]
Abstract for all time-space functions.
R3_to_R[3,3] Field given by a Python script.
R3_to_R[3,3] Field constant in space.
R3_to_R[3,3] Field given by runtime interpreted formula.
R3_to_R[3,3] Field time-dependent function in space.
R3_to_R[3,3] Field given by finite element approximation.
element_input_type
FieldPython
R3_to_R[3,3] Field given by a Python script.
- String (generic)
script_string
value at read time = Obligatory if 'script_file' is not given.Python script given as in place string
- file nameinput
script_file
value at read time = Obligatory if 'script_striong' is not given.Python script given as external file
- String (generic)
function
obligatoryFunction in the given script that returns tuple containing components of the return type.
For NxM tensor values: tensor(row,col) = tuple( M*row + col ).
FieldConstant
R3_to_R[3,3] Field constant in space.
- Array [1, UINT]
- of ARRAY
value
obligatoryValue of the constant field. For vector values, you can use scalar value to enter constant vector. For square {$N\times N$}-matrix values, you can use: - vector of size {$N$} to enter diagonal matrix
- vector of size {$\frac12N(N+1)$} to enter symmetric matrix (upper triangle, row by row)
- scalar to enter multiple of the unit matrix.
element_input_type
FieldFormula
R3_to_R[3,3] Field given by runtime interpreted formula.
- Array [1, UINT]
- of ARRAY
value
obligatoryString, array of strings, or matrix of strings with formulas for individual entries of scalar, vector, or tensor value respectively.
For vector values, you can use just one string to enter homogeneous vector.
For square {$N\times N$}-matrix values, you can use:- array of strings of size {$N$} to enter diagonal matrix
- array of strings of size {$\frac12N(N+1)$} to enter symmetric matrix (upper triangle, row by row)
- just one string to enter (spatially variable) multiple of the unit matrix.
Formula can contain variablesx,y,z,t,d
and usual operators and functions.
- String (generic)
surface_direction
value at declaration = 0 0 1The vector used to project evaluation point onto the surface.
- String (generic)
surface_region
optionalThe name of region set considered as the surface. You have to set surface region if you want to use formula variable
d
.
FieldTimeFunction
R3_to_R[3,3] Field time-dependent function in space.
element_input_type
TableFunction
Allow set variable series initialization of Fields.
element_input_type
IndependentValue
Value of Field for time variable.
- Array [1, UINT]
- of ARRAY
value
obligatoryValue of the field in given stamp.
element_input_type
FieldFE
R3_to_R[3,3] Field given by finite element approximation.
- file nameinput
mesh_data_file
obligatoryGMSH mesh with data. Can be different from actual computational mesh.
- SELECTIONFE_discretization
input_discretization
optionalSection where to find the field.
Some sections are specific to file format: point_data/node_data, cell_data/element_data, -/element_node_data, native/-.
If not given by a user, we try to find the field in all sections, but we report an error if it is found in more than one section.- String (generic)
field_name
obligatoryThe values of the Field are read from the
$ElementData
section with field name given by this key.- Double (-inf, +inf)
default_value
optionalDefault value is set on elements which values have not been listed in the mesh data file.
- TUPLETimeValue
This key allows reading field data from the mesh data file shifted in time. Considering the time 't', field descriptor with time 'T', time shift 'S', then if 't > T', we read the time frame 't + S'.
- SELECTIONinterpolation
Type of interpolation applied to the input spatial data.
The default value 'equivalent_mesh' assumes the data being constant on elements living on the same mesh as the computational mesh, but possibly with different numbering. In the case of the same numbering, the user can set 'identical_mesh' to omit algorithm for guessing node and element renumbering. Alternatively, in case of different input mesh, several interpolation algorithms are available.
FE_discretization
Specify the section in mesh input file where field data is listed.
Some sections are specific to file format.
point_data (VTK) / node_data (GMSH)
cell_data (VTK) / element_data (GMSH)
element_node_data (only for GMSH)
native_data (only for VTK)
interpolation
Specify interpolation of the input data from its input mesh to the computational mesh.
Topology and indices of nodes and elements ofthe input mesh and the computational mesh are identical. This interpolation is typically used for GMSH input files containing only the field values without explicit mesh specification.
Topologies of the input mesh and the computational mesh are the same, the node and element numbering may differ. This interpolation can be used also for VTK input data.
Topologies of the input mesh and the computational mesh may differ. Constant values on the elements of the computational mesh are evaluated using the Gaussian quadrature of the fixed order 4, where the quadrature points and their values are found in the input mesh and input data using the BIH tree search.
Topologies of the input mesh and the computational mesh may differ. Can be applied only for boundary fields. For every (boundary) element of the computational mesh the intersection with the input mesh is computed. Constant values on the elements of the computational mesh are evaluated as the weighted average of the (constant) values on the intersecting elements of the input mesh.
Field_R3_to_R
Abstract for all time-space functions.
R3_to_R Field given by a Python script.
R3_to_R Field constant in space.
R3_to_R Field given by runtime interpreted formula.
R3_to_R Field time-dependent function in space.
R3_to_R Field given by finite element approximation.
element_input_type
FieldPython
R3_to_R Field given by a Python script.
- String (generic)
script_string
value at read time = Obligatory if 'script_file' is not given.Python script given as in place string
- file nameinput
script_file
value at read time = Obligatory if 'script_striong' is not given.Python script given as external file
- String (generic)
function
obligatoryFunction in the given script that returns tuple containing components of the return type.
For NxM tensor values: tensor(row,col) = tuple( M*row + col ).
FieldConstant
value
obligatoryValue of the constant field. For vector values, you can use scalar value to enter constant vector. For square {$N\times N$}-matrix values, you can use: - vector of size {$N$} to enter diagonal matrix
- vector of size {$\frac12N(N+1)$} to enter symmetric matrix (upper triangle, row by row)
- scalar to enter multiple of the unit matrix.
element_input_type
FieldFormula
R3_to_R Field given by runtime interpreted formula.
- String (generic)
value
obligatoryString, array of strings, or matrix of strings with formulas for individual entries of scalar, vector, or tensor value respectively.
For vector values, you can use just one string to enter homogeneous vector.
For square {$N\times N$}-matrix values, you can use:- array of strings of size {$N$} to enter diagonal matrix
- array of strings of size {$\frac12N(N+1)$} to enter symmetric matrix (upper triangle, row by row)
- just one string to enter (spatially variable) multiple of the unit matrix.
Formula can contain variablesx,y,z,t,d
and usual operators and functions.
- String (generic)
surface_direction
value at declaration = 0 0 1The vector used to project evaluation point onto the surface.
- String (generic)
surface_region
optionalThe name of region set considered as the surface. You have to set surface region if you want to use formula variable
d
.
FieldTimeFunction
R3_to_R Field time-dependent function in space.
element_input_type
TableFunction
Allow set variable series initialization of Fields.
element_input_type
IndependentValue
Value of Field for time variable.
value
obligatoryValue of the field in given stamp.
element_input_type
FieldFE
R3_to_R Field given by finite element approximation.
- file nameinput
mesh_data_file
obligatoryGMSH mesh with data. Can be different from actual computational mesh.
- SELECTIONFE_discretization
input_discretization
optionalSection where to find the field.
Some sections are specific to file format: point_data/node_data, cell_data/element_data, -/element_node_data, native/-.
If not given by a user, we try to find the field in all sections, but we report an error if it is found in more than one section.- String (generic)
field_name
obligatoryThe values of the Field are read from the
$ElementData
section with field name given by this key.- Double (-inf, +inf)
default_value
optionalDefault value is set on elements which values have not been listed in the mesh data file.
- TUPLETimeValue
This key allows reading field data from the mesh data file shifted in time. Considering the time 't', field descriptor with time 'T', time shift 'S', then if 't > T', we read the time frame 't + S'.
- SELECTIONinterpolation
Type of interpolation applied to the input spatial data.
The default value 'equivalent_mesh' assumes the data being constant on elements living on the same mesh as the computational mesh, but possibly with different numbering. In the case of the same numbering, the user can set 'identical_mesh' to omit algorithm for guessing node and element renumbering. Alternatively, in case of different input mesh, several interpolation algorithms are available.
Flow_Darcy_BC_Type
Homogeneous Neumann boundary condition
(zero normal flux over the boundary).Dirichlet boundary condition. Specify the pressure head through the
bc_pressure
field or the piezometric head through thebc_piezo_head
field.Flux boundary condition (combines Neumann and Robin type). Water inflow equal to {$ \delta_d(q_d^N + \sigma_d (h_d^R - h_d) )$}. Specify the water inflow by the
bc_flux
field, the transition coefficient bybc_robin_sigma
and the reference pressure head or piezometric head throughbc_pressure
orbc_piezo_head
respectively.Seepage face boundary condition. Pressure and inflow bounded from above. Boundary with potential seepage flow is described by the pair of inequalities: {$h_d \le h_d^D$} and {$ -\boldsymbol q_d\cdot\boldsymbol n \le \delta q_d^N$}, where the equality holds in at least one of them. Caution: setting {$q_d^N$} strictly negative may lead to an ill posed problem since a positive outflow is enforced. Parameters {$h_d^D$} and {$q_d^N$} are given by the fields
bc_switch_pressure
(orbc_switch_piezo_head
) andbc_flux
respectively.River boundary condition. For the water level above the bedrock, {$H_d > H_d^S$}, the Robin boundary condition is used with the inflow given by: { $ \delta_d(q_d^N + \sigma_d(H_d^D - H_d) )$}. For the water level under the bedrock, constant infiltration is used: { $ \delta_d(q_d^N + \sigma_d(H_d^D - H_d^S) )$}. Parameters:
bc_pressure
,bc_switch_pressure
,bc_sigma
,bc_flux
.
NonlinearSolver
Non-linear solver settings.
- Double [0, +inf)
tolerance
value at declaration = 1e-06Residual tolerance.
- Integer [0, INT]
min_it
value at declaration = 1Minimum number of iterations (linear solutions) to use.
This is usefull if the convergence criteria does not characterize your goal well enough so it converges prematurely, possibly even without a single linear solution.If greater then 'max_it' the value is set to 'max_it'.- Integer [0, INT]
max_it
value at declaration = 100Maximum number of iterations (linear solutions) of the non-linear solver.
- Bool (generic)
converge_on_stagnation
value at declaration = FalseIf a stagnation of the nonlinear solver is detected the solver stops. A divergence is reported by default, forcing the end of the simulation. By setting this flag to 'true', the solver ends with convergence success on stagnation, but it reports warning about it.
LinSys
Linear solver settings.
PETSc solver settings.
It provides interface to various PETSc solvers. The convergence criteria is:
norm( res_i ) < max( norm( res_0 ) * r_tol, a_tol )
whereres_i
is the residuum vector after i-th iteration of the solver andres_0
is the estimate of the norm of the initial residual. If the initial guess of the solution is provided (usually only for transient equations) the residual of this estimate is used, otherwise the norm of preconditioned RHS is used. The default norm is {$L_2$} norm of preconditioned residual: {$ P^{-1}(Ax-b)$}, usage of other norm may be prescribed using the 'option' key. See also PETSc documentation for KSPSetNormType.BDDCML (Balancing Domain Decomposition by Constraints - Multi-Level) solver settings.
Petsc
PETSc solver settings.
It provides interface to various PETSc solvers. The convergence criteria is:
norm( res_i ) < max( norm( res_0 ) * r_tol, a_tol )
where res_i
is the residuum vector after i-th iteration of the solver and res_0
is the estimate of the norm of the initial residual. If the initial guess of the solution is provided (usually only for transient equations) the residual of this estimate is used, otherwise the norm of preconditioned RHS is used. The default norm is {$L_2$} norm of preconditioned residual: {$ P^{-1}(Ax-b)$}, usage of other norm may be prescribed using the 'option' key. See also PETSc documentation for KSPSetNormType.
- Double [0, 1]
r_tol
value at read time = Default value is set by the nonlinear solver or the equation. If not, we use the value 1.0e-7.Residual tolerance relative to the initial error.
- Double [0, +inf)
a_tol
value at read time = Default value is set by the nonlinear solver or the equation. If not, we use the value 1.0e-11.Absolute residual tolerance.
- Integer [0, INT]
max_it
value at read time = Default value is set by the nonlinear solver or the equation. If not, we use the value 1000.Maximum number of outer iterations of the linear solver.
- String (generic)
options
value at declaration =This options is passed to PETSC to create a particular KSP (Krylov space method).
If the string is left empty (by default), the internal default options is used.
Bddc
BDDCML (Balancing Domain Decomposition by Constraints - Multi-Level) solver settings.
- Double [0, 1]
r_tol
value at read time = Default value is set by the nonlinear solver or the equation. If not, we use the value 1.0e-7.Residual tolerance relative to the initial error.
- Integer [0, INT]
max_it
value at read time = Default value is set by the nonlinear solver or the equation. If not, we use the value 1000.Maximum number of outer iterations of the linear solver.
- Integer [0, INT]
max_nondecr_it
value at declaration = 30Maximum number of iterations of the linear solver with non-decreasing residual.
- Integer [0, INT]
number_of_levels
value at declaration = 2Number of levels in the multilevel method (=2 for the standard BDDC).
- Bool (generic)
use_adaptive_bddc
value at declaration = FalseUse adaptive selection of constraints in BDDCML.
- Integer [0, 2]
bddcml_verbosity_level
value at declaration = 0Level of verbosity of the BDDCML library:
- 0 - no output,
- 1 - mild output,
- 2 - detailed output.
OutputStream
Configuration of the spatial output of a single balance equation.
- file nameoutput
file
value at read time = Name of the equation associated with the output stream.File path to the connected output file.
- ABSTRACTOutputTime
File format of the output stream and possible parameters.
- RECORDOutputMesh
output_mesh
optionalOutput mesh record enables output on a refined mesh [EXPERIMENTAL, VTK only].Sofar refinement is performed only in discontinous sense.Therefore only corner and element data can be written on refined output mesh.Node data are to be transformed to corner data, native data cannot be written.Do not include any node or native data in output fields.
- Integer [0, INT]
precision
value at declaration = 17The number of decimal digits used in output of floating point values.
Default is 17 decimal digits which are necessary to reproduce double values exactly after write-read cycle.
OutputTime
Format of output stream and possible parameters.
Parameters of vtk output format.
Parameters of gmsh output format.
vtk
Parameters of vtk output format.
- SELECTIONVTK variant (ascii or binary)
Variant of output stream file format.
- Bool (generic)
parallel
value at declaration = FalseParallel or serial version of file format.
VTK variant (ascii or binary)
ASCII variant of VTK file format
Uncompressed appended binary XML VTK format without usage of base64 encoding of appended data.
Appended binary XML VTK format without usage of base64 encoding of appended data. Compressed with ZLib.
gmsh
Parameters of gmsh output format.
TimeGrid
Equally spaced grid of time points.
OutputMesh
Parameters of the refined output mesh. [Not impemented]
- Integer [1, 20]
max_level
value at declaration = 3Maximal level of refinement of the output mesh.
- Bool (generic)
refine_by_error
value at declaration = FalseSet true for using
error_control_field
. Set false for global uniform refinement to max_level.- String (generic)
error_control_field
optionalName of an output field, according to which the output mesh will be refined. The field must be a SCALAR one.
- Double [0, +inf)
refinement_error_tolerance
value at declaration = 0.01Tolerance for element refinement by error. If tolerance is reached, refinement is stopped.Relative difference between error control field and its linear approximation on element is computedand compared with tolerance.
ObservePoint
Specification of the observation point.
The actual observation element and the observation point on it is determined as follows:
- Find an initial element containing the initial point. If no such element exists, we report an error.
- Use BFS (Breadth-first search) starting from the inital element to find the 'observe element'. The observe element is the closest element.
- Find the closest projection of the inital point on the observe element and snap this projection according to the
snap_dim
.
- String (generic)
name
value at read time = Default name have the form 'obs_<id>', where 'id' is the rank of the point on the input.Optional point name, which has to be unique.
Any string that is a valid YAML key in record without any quoting can be used, however, using just alpha-numerical characters, and underscore instead of the space, is recommended.- Array [3, 3]
- of DOUBLE
point
obligatoryInitial point for the observe point search.
- Integer [0, 4]
snap_dim
value at declaration = 4The dimension of the sub-element to which center we snap. For value 4 no snapping is done. For values 0 up to 3 the element containing the initial point is found and then the observepoint is snapped to the nearest center of the sub-element of the given dimension. E.g. for dimension 2 we snap to the nearest center of the face of the initial element.
- String (generic)
snap_region
value at declaration = ALLThe region of the initial element for snapping. Without snapping we make a projection to the initial element.
- Double [0, +inf)
search_radius
value at read time = Maximal distance of the observe point from the mesh relative to the mesh diameter.Global value is defined in mesh record by the key global_snap_radius.
EquationOutput
Output of the equation's fields.The output is done through the output stream of the associated balance law equation.The stream defines output format for the full space information in selected times and observe points for the full time information. The key 'fields' select the fields for the full spatial output.The set of output times may be specified per field otherwise common time set 'times' is used. If even this is not providedthe time set of the output_stream is used. The initial time of the equation is automatically added to the time set of every selected field. The end time of the equation is automatically added to the common output time set.
- Bool (generic)
add_input_times
value at declaration = FalseAdd all input time points of the equation, mentioned in the 'input_fields' list, also as the output points.
- Array [0, UINT]
- of FieldOutputSetting
Array of output fields and their individual output settings.
- Array [0, UINT]
- of PARAMETER
observe_fields
value at declaration = []Array of the fields evaluated in the observe points of the associated output stream.
output_field_selection
FieldOutputSetting
Setting of the field output. The field name, output times, output interpolation (future).
field
obligatoryThe field name (from selection).
- Array [0, UINT]
- of Discrete_output
Optional value. Implicit value is given by field and can be changed.
output_field_selection
Discrete_output
Discrete type of output. Determines type of output data (element, node, native etc).
Node data / point data.
Corner data.
Element data / cell data.
Native data (Flow123D data).
Flow_Darcy_LMH:OutputFields
Selection of output fields for the Flow_Darcy_LMH model.
{$[-]$} Input field: Subdomain ids of the domain decomposition.
{$[-]$} Input field: Region ids.
{$[m]$} Pressure solution - P0 interpolation.
{$[m]$} Piezo head solution - P0 interpolation.
{$[ms^{-1}]$} Velocity solution - P0 interpolation.
{$[ms^{-1}]$} Darcy flow flux.
{$[-]$} Input field: Anisotropy of the conductivity tensor.
{$[m^{3-d}]$} Input field: Complement dimension parameter (cross section for 1D, thickness for 2D).
{$[ms^{-1}]$} Input field: Isotropic conductivity scalar.
{$[-]$} Input field: Transition coefficient between dimensions.
{$[s^{-1}]$} Input field: Water source density.
{$[m]$} Input field: Initial condition for pressure in time dependent problems.
{$[m^{-1}]$} Input field: Storativity (in time dependent problems).
Output_DarcyMHSpecific
Specific Darcy flow MH output.
- Bool (generic)
add_input_times
value at declaration = FalseAdd all input time points of the equation, mentioned in the 'input_fields' list, also as the output points.
- Array [0, UINT]
- of FieldOutputSetting
Array of output fields and their individual output settings.
- Array [0, UINT]
- of PARAMETER
observe_fields
value at declaration = []Array of the fields evaluated in the observe points of the associated output stream.
- Bool (generic)
compute_errors
value at declaration = FalseSPECIAL PURPOSE. Computes error norms of the solution, particulary suited for non-compatible coupling models.
- file nameoutput
raw_flow_output
optionalOutput file with raw data from MH module.
output_field_selection
Flow_Darcy_MH_specific:OutputFields
Selection of output fields for the Flow_Darcy_MH_specific model.
{$[m]$} Error norm of the pressure solution. [Experimental]
{$[ms^{-1}]$} Error norm of the velocity solution. [Experimental]
{$[s^{-1}]$} Error norm of the divergence of the velocity solution. [Experimental]
Balance
Balance of a conservative quantity, boundary fluxes and sources.
- Bool (generic)
add_output_times
value at declaration = TrueAdd all output times of the balanced equation to the balance output times set. Note that this is not the time set of the output stream.
- Bool (generic)
cumulative
value at declaration = FalseCompute cumulative balance over time. If true, then balance is calculated at each computational time step, which can slow down the program.
- file nameoutput
file
value at read time = File name generated from the balanced quantity: <quantity_name>_balance.*File name for output of balance.
Balance_output_format
Format of output file for balance.
Legacy format used by previous program versions.
Excel format with tab delimiter.
Format compatible with GnuPlot datafile with fixed column width.
MH_MortarMethod
No Mortar method is applied.
Mortar space: P0 on elements of lower dimension.
Mortar space: P1 on intersections, using non-conforming pressures.
Flow_Richards_LMH
Lumped Mixed-Hybrid solver for unsteady unsaturated Darcy flow.
- Array [3, 3]
- of DOUBLE
gravity
value at declaration = [0, 0, -1]Vector of the gravity force. Dimensionless.
- RECORDOutputStream
Output stream settings.
Specify file format, precision etc.- instance of RECORD
- generic typeEquationOutput
- parameter output_field_selection = Flow_Richards_LMH:OutputFields
Specification of output fields and output times.
- instance of RECORD
- generic typeOutput_DarcyMHSpecific
- parameter output_field_selection = Flow_Darcy_MH_specific:OutputFields
output_specific
optionalOutput settings specific to Darcy flow model.
Includes raw output and some experimental functionality.- SELECTIONMH_MortarMethod
Method for coupling Darcy flow between dimensions on incompatible meshes. [Experimental]
RichardsLMH_Data
Record to set fields of the equation.
The fields are set only on the domain specified by one of the keys: 'region', 'rid'
and after the time given by the key 'time'. The field setting can be overridden by
any RichardsLMH_Data record that comes later in the boundary data array.
- Array [1, UINT]
- of STRING
region
optionalLabels of the regions where to set fields.
- Integer [0, INT]
rid
optionalID of the region where to set fields.
- instance of ABSTRACT
- generic typeField_R3_to_R[3,3]
- parameter element_input_type = DOUBLE
anisotropy
optionalAnisotropy of the conductivity tensor. {$[-]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
cross_section
optionalComplement dimension parameter (cross section for 1D, thickness for 2D). {$[m^{3-d}]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
conductivity
optionalIsotropic conductivity scalar. {$[ms^{-1}]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
sigma
optionalTransition coefficient between dimensions. {$[-]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
water_source_density
optionalWater source density. {$[s^{-1}]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = Flow_Darcy_BC_Type
bc_type
optionalBoundary condition type. {$[-]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
bc_pressure
optionalPrescribed pressure value on the boundary. Used for all values of
bc_type
exceptnone
andseepage
. See documentation ofbc_type
for exact meaning ofbc_pressure
in individual boundary condition types. {$[m]$}- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
bc_flux
optionalIncoming water boundary flux. Used for bc_types :
total_flux
,seepage
,river
. {$[ms^{-1}]$}- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
bc_robin_sigma
optionalConductivity coefficient in the
total_flux
or theriver
boundary condition type. {$[s^{-1}]$}- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
bc_switch_pressure
optionalCritical switch pressure for
seepage
andriver
boundary conditions. {$[m]$}- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
init_pressure
optionalInitial condition for pressure in time dependent problems. {$[m]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
storativity
optionalStorativity (in time dependent problems). {$[m^{-1}]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
water_content_saturated
optionalSaturated water content {$ \theta_s $}.
Relative volume of water in a reference volume of a saturated porous media. {$[-]$}- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
water_content_residual
optionalResidual water content {$ \theta_r $}.
Relative volume of water in a reference volume of an ideally dry porous media. {$[-]$}- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
genuchten_p_head_scale
optionalThe van Genuchten pressure head scaling parameter {$ \alpha $}.
It is related to the inverse of the air entry pressure, i.e. the pressure
where the relative water content starts to decrease below 1. {$[m^{-1}]$}- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
genuchten_n_exponent
optionalThe van Genuchten exponent parameter {$ n $}. {$[-]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
bc_piezo_head
optionalBoundary piezometric head for BC types: dirichlet, robin, and river.
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
bc_switch_piezo_head
optionalBoundary switch piezometric head for BC types: seepage, river.
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
init_piezo_head
optionalInitial condition for the pressure given as the piezometric head.
Flow_Richards_LMH:OutputFields
Selection of output fields for the Flow_Richards_LMH model.
{$[-]$} Input field: Subdomain ids of the domain decomposition.
{$[-]$} Input field: Region ids.
{$[m]$} Pressure solution - P0 interpolation.
{$[m]$} Piezo head solution - P0 interpolation.
{$[ms^{-1}]$} Velocity solution - P0 interpolation.
{$[ms^{-1}]$} Darcy flow flux.
{$[-]$} Input field: Anisotropy of the conductivity tensor.
{$[m^{3-d}]$} Input field: Complement dimension parameter (cross section for 1D, thickness for 2D).
{$[ms^{-1}]$} Input field: Isotropic conductivity scalar.
{$[-]$} Input field: Transition coefficient between dimensions.
{$[s^{-1}]$} Input field: Water source density.
{$[m]$} Input field: Initial condition for pressure in time dependent problems.
{$[m^{-1}]$} Input field: Storativity (in time dependent problems).
{$[-]$} Water content.
It is a fraction of water volume to the whole volume.{$[ms^{-1}]$} Computed isotropic scalar conductivity by the soil model.
{$[-]$} Input field: Saturated water content {$ \theta_s $}.
Relative volume of water in a reference volume of a saturated porous media.{$[-]$} Input field: Residual water content {$ \theta_r $}.
Relative volume of water in a reference volume of an ideally dry porous media.{$[m^{-1}]$} Input field: The van Genuchten pressure head scaling parameter {$ \alpha $}.
It is related to the inverse of the air entry pressure, i.e. the pressure
where the relative water content starts to decrease below 1.{$[-]$} Input field: The van Genuchten exponent parameter {$ n $}.
SoilModel
Soil model settings.
- SELECTIONSoil_Model_Type
Selection of the globally applied soil model. In future we replace this key by a field for selection of the model.That will allow usage of different soil model in a single simulation.
- Double [0, 1]
cut_fraction
value at declaration = 0.999Fraction of the water content where we cut and rescale the curve.
Soil_Model_Type
Van Genuchten soil model with cutting near zero.
Irmay model for conductivity, Van Genuchten model for the water content. Suitable for bentonite.
Coupling_Iterative
Record with data for iterative coupling of flow and mechanics.
- Integer [0, INT]
max_it
value at declaration = 100Maximal count of HM iterations.
- Integer [0, INT]
min_it
value at declaration = 1Minimal count of HM iterations.
- Double [0, +inf)
a_tol
value at declaration = 0Absolute tolerance for difference in HM iteration.
- Double [0, +inf)
r_tol
value at declaration = 1e-07Relative tolerance for difference in HM iteration.
- RECORDFlow_Richards_LMH
flow_equation
obligatoryFlow equation, provides the velocity field as a result.
mechanics_equation
optionalMechanics, provides the displacement field.
- Double (-inf, +inf)
iteration_parameter
value at declaration = 1Tuning parameter for iterative splitting. Its default valuecorresponds to a theoretically optimal value with fastest convergence.
Mechanics_LinearElasticity_FE
FEM for linear elasticity.
- Array [0, UINT]
- of Mechanics_LinearElasticity_FE:Data
input_fields
obligatoryInput fields of the equation.
- instance of RECORD
- generic typeEquationOutput
- parameter output_field_selection = Mechanics_LinearElasticity_FE:OutputFields
Setting of the field output.
Mechanics_LinearElasticity_FE:Data
Record to set fields of the equation.
The fields are set only on the domain specified by one of the keys: 'region', 'rid'
and after the time given by the key 'time'. The field setting can be overridden by
any Mechanics_LinearElasticity_FE:Data record that comes later in the boundary data array.
- Array [1, UINT]
- of STRING
region
optionalLabels of the regions where to set fields.
- Integer [0, INT]
rid
optionalID of the region where to set fields.
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = Elasticity_BC_Type
bc_type
optionalType of boundary condition. {$[-]$}
- instance of ABSTRACT
- generic typeField_R3_to_R[3]
- parameter element_input_type = DOUBLE
bc_displacement
optionalPrescribed displacement on boundary. {$[m]$}
- instance of ABSTRACT
- generic typeField_R3_to_R[3]
- parameter element_input_type = DOUBLE
bc_traction
optionalPrescribed traction on boundary. {$[m^{-1}kgs^{-2}]$}
- instance of ABSTRACT
- generic typeField_R3_to_R[3]
- parameter element_input_type = DOUBLE
load
optionalPrescribed bulk load. {$[m^{-3}kgs^{-2}]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
young_modulus
optionalYoung's modulus. {$[m^{-1}kgs^{-2}]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
poisson_ratio
optionalPoisson's ratio. {$[-]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
fracture_sigma
optionalCoefficient of transfer of forces through fractures. {$[-]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
lame_mu
optionalField lame_mu. {$[m^{-1}kgs^{-2}]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
lame_lambda
optionalField lame_lambda. {$[m^{-1}kgs^{-2}]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
dirichlet_penalty
optionalField dirichlet_penalty. {$[m^{-1}kgs^{-2}]$}
Elasticity_BC_Type
Types of boundary conditions for mechanics.
Prescribed displacement.
Prescribed displacement in the normal direction to the boundary.
Prescribed traction.
Field_R3_to_R[3]
Abstract for all time-space functions.
R3_to_R[3] Field given by a Python script.
R3_to_R[3] Field constant in space.
R3_to_R[3] Field given by runtime interpreted formula.
R3_to_R[3] Field time-dependent function in space.
R3_to_R[3] Field given by finite element approximation.
element_input_type
FieldPython
R3_to_R[3] Field given by a Python script.
- String (generic)
script_string
value at read time = Obligatory if 'script_file' is not given.Python script given as in place string
- file nameinput
script_file
value at read time = Obligatory if 'script_striong' is not given.Python script given as external file
- String (generic)
function
obligatoryFunction in the given script that returns tuple containing components of the return type.
For NxM tensor values: tensor(row,col) = tuple( M*row + col ).
FieldConstant
R3_to_R[3] Field constant in space.
- Array [1, 3]
- of PARAMETER
value
obligatoryValue of the constant field. For vector values, you can use scalar value to enter constant vector. For square {$N\times N$}-matrix values, you can use: - vector of size {$N$} to enter diagonal matrix
- vector of size {$\frac12N(N+1)$} to enter symmetric matrix (upper triangle, row by row)
- scalar to enter multiple of the unit matrix.
element_input_type
FieldFormula
R3_to_R[3] Field given by runtime interpreted formula.
- Array [1, UINT]
- of STRING
value
obligatoryString, array of strings, or matrix of strings with formulas for individual entries of scalar, vector, or tensor value respectively.
For vector values, you can use just one string to enter homogeneous vector.
For square {$N\times N$}-matrix values, you can use:- array of strings of size {$N$} to enter diagonal matrix
- array of strings of size {$\frac12N(N+1)$} to enter symmetric matrix (upper triangle, row by row)
- just one string to enter (spatially variable) multiple of the unit matrix.
Formula can contain variablesx,y,z,t,d
and usual operators and functions.
- String (generic)
surface_direction
value at declaration = 0 0 1The vector used to project evaluation point onto the surface.
- String (generic)
surface_region
optionalThe name of region set considered as the surface. You have to set surface region if you want to use formula variable
d
.
FieldTimeFunction
R3_to_R[3] Field time-dependent function in space.
element_input_type
TableFunction
Allow set variable series initialization of Fields.
element_input_type
IndependentValue
Value of Field for time variable.
- Array [1, 3]
- of PARAMETER
value
obligatoryValue of the field in given stamp.
element_input_type
FieldFE
R3_to_R[3] Field given by finite element approximation.
- file nameinput
mesh_data_file
obligatoryGMSH mesh with data. Can be different from actual computational mesh.
- SELECTIONFE_discretization
input_discretization
optionalSection where to find the field.
Some sections are specific to file format: point_data/node_data, cell_data/element_data, -/element_node_data, native/-.
If not given by a user, we try to find the field in all sections, but we report an error if it is found in more than one section.- String (generic)
field_name
obligatoryThe values of the Field are read from the
$ElementData
section with field name given by this key.- Double (-inf, +inf)
default_value
optionalDefault value is set on elements which values have not been listed in the mesh data file.
- TUPLETimeValue
This key allows reading field data from the mesh data file shifted in time. Considering the time 't', field descriptor with time 'T', time shift 'S', then if 't > T', we read the time frame 't + S'.
- SELECTIONinterpolation
Type of interpolation applied to the input spatial data.
The default value 'equivalent_mesh' assumes the data being constant on elements living on the same mesh as the computational mesh, but possibly with different numbering. In the case of the same numbering, the user can set 'identical_mesh' to omit algorithm for guessing node and element renumbering. Alternatively, in case of different input mesh, several interpolation algorithms are available.
Mechanics_LinearElasticity_FE:OutputFields
Selection of output fields for the Mechanics_LinearElasticity_FE model.
{$[m^{-3}kgs^{-2}]$} Input field: Prescribed bulk load.
{$[m^{-1}kgs^{-2}]$} Input field: Young's modulus.
{$[-]$} Input field: Poisson's ratio.
{$[-]$} Input field: Coefficient of transfer of forces through fractures.
{$[-]$} Input field:
{$[-]$} Input field:
{$[m]$} Displacement vector field output.
{$[m^{-1}kgs^{-2}]$} Stress tensor output.
{$[m^{-1}kgs^{-2}]$} von Mises stress output.
{$[m]$} Cross-section after deformation - output.
{$[-]$} Displacement divergence output.
{$[m^{-1}kgs^{-2}]$} Input field: Field lame_mu.
{$[m^{-1}kgs^{-2}]$} Input field: Field lame_lambda.
{$[m^{-1}kgs^{-2}]$} Input field: Field dirichlet_penalty.
Coupling_Iterative:Data
Record to set fields of the equation.
The fields are set only on the domain specified by one of the keys: 'region', 'rid'
and after the time given by the key 'time'. The field setting can be overridden by
any Coupling_Iterative:Data record that comes later in the boundary data array.
- Array [1, UINT]
- of STRING
region
optionalLabels of the regions where to set fields.
- Integer [0, INT]
rid
optionalID of the region where to set fields.
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
biot_alpha
optional{$[-]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
fluid_density
optional{$[m^{-3}kg]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
gravity
optional{$[ms^{-2}]$}
Flow_Darcy_MH
Mixed-Hybrid solver for saturated Darcy flow.
- Array [3, 3]
- of DOUBLE
gravity
value at declaration = [0, 0, -1]Vector of the gravity force. Dimensionless.
- RECORDOutputStream
Output stream settings.
Specify file format, precision etc.- instance of RECORD
- generic typeEquationOutput
- parameter output_field_selection = Flow_Darcy_MH:OutputFields
Specification of output fields and output times.
- instance of RECORD
- generic typeOutput_DarcyMHSpecific
- parameter output_field_selection = Flow_Darcy_MH_specific:OutputFields
output_specific
optionalOutput settings specific to Darcy flow model.
Includes raw output and some experimental functionality.- Integer [0, 2]
n_schurs
value at declaration = 2Number of Schur complements to perform when solving MH system.
- SELECTIONMH_MortarMethod
Method for coupling Darcy flow between dimensions on incompatible meshes. [Experimental]
Flow_Darcy_MH_Data
Record to set fields of the equation.
The fields are set only on the domain specified by one of the keys: 'region', 'rid'
and after the time given by the key 'time'. The field setting can be overridden by
any Flow_Darcy_MH_Data record that comes later in the boundary data array.
- Array [1, UINT]
- of STRING
region
optionalLabels of the regions where to set fields.
- Integer [0, INT]
rid
optionalID of the region where to set fields.
- instance of ABSTRACT
- generic typeField_R3_to_R[3,3]
- parameter element_input_type = DOUBLE
anisotropy
optionalAnisotropy of the conductivity tensor. {$[-]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
cross_section
optionalComplement dimension parameter (cross section for 1D, thickness for 2D). {$[m^{3-d}]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
conductivity
optionalIsotropic conductivity scalar. {$[ms^{-1}]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
sigma
optionalTransition coefficient between dimensions. {$[-]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
water_source_density
optionalWater source density. {$[s^{-1}]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = Flow_Darcy_BC_Type
bc_type
optionalBoundary condition type. {$[-]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
bc_pressure
optionalPrescribed pressure value on the boundary. Used for all values of
bc_type
exceptnone
andseepage
. See documentation ofbc_type
for exact meaning ofbc_pressure
in individual boundary condition types. {$[m]$}- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
bc_flux
optionalIncoming water boundary flux. Used for bc_types :
total_flux
,seepage
,river
. {$[ms^{-1}]$}- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
bc_robin_sigma
optionalConductivity coefficient in the
total_flux
or theriver
boundary condition type. {$[s^{-1}]$}- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
bc_switch_pressure
optionalCritical switch pressure for
seepage
andriver
boundary conditions. {$[m]$}- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
init_pressure
optionalInitial condition for pressure in time dependent problems. {$[m]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
storativity
optionalStorativity (in time dependent problems). {$[m^{-1}]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
bc_piezo_head
optionalBoundary piezometric head for BC types: dirichlet, robin, and river.
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
bc_switch_piezo_head
optionalBoundary switch piezometric head for BC types: seepage, river.
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
init_piezo_head
optionalInitial condition for the pressure given as the piezometric head.
Flow_Darcy_MH:OutputFields
Selection of output fields for the Flow_Darcy_MH model.
{$[-]$} Input field: Subdomain ids of the domain decomposition.
{$[-]$} Input field: Region ids.
{$[m]$} Pressure solution - P0 interpolation.
{$[m]$} Piezo head solution - P0 interpolation.
{$[ms^{-1}]$} Velocity solution - P0 interpolation.
{$[ms^{-1}]$} Darcy flow flux.
{$[-]$} Input field: Anisotropy of the conductivity tensor.
{$[m^{3-d}]$} Input field: Complement dimension parameter (cross section for 1D, thickness for 2D).
{$[ms^{-1}]$} Input field: Isotropic conductivity scalar.
{$[-]$} Input field: Transition coefficient between dimensions.
{$[s^{-1}]$} Input field: Water source density.
{$[m]$} Input field: Initial condition for pressure in time dependent problems.
{$[m^{-1}]$} Input field: Storativity (in time dependent problems).
AdvectionProcess
Abstract advection process. In particular: transport of substances or heat transfer.
Transport by convection and/or diffusion
coupled with reaction and adsorption model (ODE per element)
via operator splitting.Discontinuous Galerkin (DG) solver for heat transfer.
Coupling_OperatorSplitting
Transport by convection and/or diffusion
coupled with reaction and adsorption model (ODE per element)
via operator splitting.
- RECORDOutputStream
Output stream settings.
Specify file format, precision etc.
Substance
Chemical substance.
- String (generic)
name
obligatoryName of the substance.
- Double [0, +inf)
molar_mass
value at declaration = 1Molar mass of the substance [kg/mol].
Solute
Transport of soluted substances.
Finite volume method, explicit in time, for advection only solute transport.
Discontinuous Galerkin (DG) solver for solute transport.
Solute_Advection_FV
Finite volume method, explicit in time, for advection only solute transport.
- instance of RECORD
- generic typeEquationOutput
- parameter output_field_selection = Solute_Advection_FV:OutputFields
Specification of output fields and output times.
Solute_Advection_FV:Data
Record to set fields of the equation.
The fields are set only on the domain specified by one of the keys: 'region', 'rid'
and after the time given by the key 'time'. The field setting can be overridden by
any Solute_Advection_FV:Data record that comes later in the boundary data array.
- Array [1, UINT]
- of STRING
region
optionalLabels of the regions where to set fields.
- Integer [0, INT]
rid
optionalID of the region where to set fields.
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
porosity
optionalPorosity of the mobile phase. {$[-]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
sources_density
optionalDensity of concentration sources. {$[m^{-3}kgs^{-1}]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
sources_sigma
optionalConcentration flux. {$[s^{-1}]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
sources_conc
optionalConcentration sources threshold. {$[m^{-3}kg]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
bc_conc
optionalBoundary condition for concentration of substances. {$[m^{-3}kg]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
init_conc
optionalInitial values for concentration of substances. {$[m^{-3}kg]$}
Solute_Advection_FV:OutputFields
Selection of output fields for the Solute_Advection_FV model.
{$[-]$} Input field: Porosity of the mobile phase.
{$[-]$} Input field: INTERNAL. Water content passed from unsaturated Darcy flow model.
{$[m^{-3}kgs^{-1}]$} Input field: Density of concentration sources.
{$[s^{-1}]$} Input field: Concentration flux.
{$[m^{-3}kg]$} Input field: Concentration sources threshold.
{$[m^{-3}kg]$} Input field: Initial values for concentration of substances.
{$[m^{-3}kg]$} Concentration solution.
{$[-]$} Input field: Region ids.
{$[-]$} Input field: Subdomain ids of the domain decomposition.
Solute_AdvectionDiffusion_DG
Discontinuous Galerkin (DG) solver for solute transport.
- Double [0, +inf)
solvent_density
value at declaration = 1.0Density of the solvent [ {$kg.m^{-3}$} ].
- Array [0, UINT]
- of Solute_AdvectionDiffusion_DG:Data
input_fields
obligatoryInput fields of the equation.
- SELECTIONDG_variant
Variant of the interior penalty discontinuous Galerkin method.
- Integer [0, 3]
dg_order
value at declaration = 1Polynomial order for the finite element in DG method (order 0 is suitable if there is no diffusion/dispersion).
- Bool (generic)
init_projection
value at declaration = TrueIf true, use DG projection of the initial condition field.Otherwise, evaluate initial condition field directly (well suited for reading native data).
- instance of RECORD
- generic typeEquationOutput
- parameter output_field_selection = Solute_AdvectionDiffusion_DG:OutputFields
Specification of output fields and output times.
Solute_AdvectionDiffusion_DG:Data
Record to set fields of the equation.
The fields are set only on the domain specified by one of the keys: 'region', 'rid'
and after the time given by the key 'time'. The field setting can be overridden by
any Solute_AdvectionDiffusion_DG:Data record that comes later in the boundary data array.
- Array [1, UINT]
- of STRING
region
optionalLabels of the regions where to set fields.
- Integer [0, INT]
rid
optionalID of the region where to set fields.
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
porosity
optionalPorosity of the mobile phase. {$[-]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
sources_density
optionalDensity of concentration sources. {$[m^{-3}kgs^{-1}]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
sources_sigma
optionalConcentration flux. {$[s^{-1}]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
sources_conc
optionalConcentration sources threshold. {$[m^{-3}kg]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = Solute_AdvectionDiffusion_BC_Type
bc_type
optionalType of boundary condition. {$[-]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
bc_conc
optionalDirichlet boundary condition (for each substance). {$[m^{-3}kg]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
bc_flux
optionalFlux in Neumann boundary condition. {$[m^{1-d}kgs^{-1}]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
bc_robin_sigma
optionalConductivity coefficient in Robin boundary condition. {$[m^{4-d}s^{-1}]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
init_conc
optionalInitial values for concentration of substances. {$[m^{-3}kg]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
disp_l
optionalLongitudinal dispersivity in the liquid (for each substance). {$[m]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
disp_t
optionalTransverse dispersivity in the liquid (for each substance). {$[m]$}
- Array [1, UINT]
- generic typeField_R3_to_R[3,3]
- parameter element_input_type = DOUBLE
diff_m
optionalMolecular diffusivity in the liquid (for each substance). {$[m^{2}s^{-1}]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
rock_density
optionalRock matrix density. {$[m^{-3}kg]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
sorption_coefficient
optionalCoefficient of linear sorption. {$[m^{3}kg^{-1}]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
v_norm
optionalVelocity norm field. {$[ms^{-1}]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
mass_matrix_coef
optionalMatrix coefficients computed by model in mass assemblation. {$[m^{3-d}]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
retardation_coef
optionalRetardation coefficients computed by model in mass assemblation. {$[m^{3-d}]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
sources_density_out
optionalConcentration sources output - density of substance source, only positive part is used.. {$[m^{-d}kgs^{-1}]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
sources_sigma_out
optionalConcentration sources - Robin type, in_flux = sources_sigma * (sources_conc - mobile_conc). {$[m^{3-d}s^{-1}]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
sources_conc_out
optionalConcentration sources output. {$[m^{-3}kg]$}
- Array [1, UINT]
- generic typeField_R3_to_R[3]
- parameter element_input_type = DOUBLE
advection_coef
optionalAdvection coefficients model. {$[ms^{-1}]$}
- Array [1, UINT]
- generic typeField_R3_to_R[3,3]
- parameter element_input_type = DOUBLE
diffusion_coef
optionalDiffusion coefficients model. {$[m^{2}s^{-1}]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
fracture_sigma
optionalCoefficient of diffusive transfer through fractures (for each substance). {$[-]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
dg_penalty
optionalPenalty parameter influencing the discontinuity of the solution (for each substance). Its default value 1 is sufficient in most cases. Higher value diminishes the inter-element jumps. {$[-]$}
Solute_AdvectionDiffusion_BC_Type
Types of boundary conditions for advection-diffusion solute transport model.
Default transport boundary condition.
On water inflow {$(q_w \le 0)$}, total flux is given by the reference concentration 'bc_conc'. On water outflow we prescribe zero diffusive flux, i.e. the mass flows out only due to advection.Dirichlet boundary condition {$ c = c_D $}.
The prescribed concentration {$c_D$} is specified by the field 'bc_conc'.Total mass flux boundary condition.
The prescribed total incoming flux can have the general form {$\delta(f_N+\sigma_R(c_R-c) )$}, where the absolute flux {$f_N$} is specified by the field 'bc_flux', the transition parameter {$\sigma_R$} by 'bc_robin_sigma', and the reference concentration {$c_R$} by 'bc_conc'.Diffusive flux boundary condition.
The prescribed incoming mass flux due to diffusion can have the general form {$\delta(f_N+\sigma_R(c_R-c) )$}, where the absolute flux {$f_N$} is specified by the field 'bc_flux', the transition parameter {$\sigma_R$} by 'bc_robin_sigma', and the reference concentration {$c_R$} by 'bc_conc'.
DG_variant
Type of penalty term.
non-symmetric weighted interior penalty DG method
incomplete weighted interior penalty DG method
symmetric weighted interior penalty DG method
Solute_AdvectionDiffusion_DG:OutputFields
Selection of output fields for the Solute_AdvectionDiffusion_DG model.
{$[-]$} Input field: Porosity of the mobile phase.
{$[-]$} Input field: INTERNAL. Water content passed from unsaturated Darcy flow model.
{$[m^{-3}kgs^{-1}]$} Input field: Density of concentration sources.
{$[s^{-1}]$} Input field: Concentration flux.
{$[m^{-3}kg]$} Input field: Concentration sources threshold.
{$[m^{-3}kg]$} Input field: Initial values for concentration of substances.
{$[m]$} Input field: Longitudinal dispersivity in the liquid (for each substance).
{$[m]$} Input field: Transverse dispersivity in the liquid (for each substance).
{$[m^{2}s^{-1}]$} Input field: Molecular diffusivity in the liquid (for each substance).
{$[m^{-3}kg]$} Input field: Rock matrix density.
{$[m^{3}kg^{-1}]$} Input field: Coefficient of linear sorption.
{$[m^{-3}kg]$} Concentration solution.
{$[ms^{-1}]$} Input field: Velocity norm field.
{$[m^{3-d}]$} Input field: Matrix coefficients computed by model in mass assemblation.
{$[m^{3-d}]$} Input field: Retardation coefficients computed by model in mass assemblation.
{$[m^{-d}kgs^{-1}]$} Input field: Concentration sources output - density of substance source, only positive part is used..
{$[m^{3-d}s^{-1}]$} Input field: Concentration sources - Robin type, in_flux = sources_sigma * (sources_conc - mobile_conc).
{$[m^{-3}kg]$} Input field: Concentration sources output.
{$[ms^{-1}]$} Input field: Advection coefficients model.
{$[m^{2}s^{-1}]$} Input field: Diffusion coefficients model.
{$[-]$} Input field: Coefficient of diffusive transfer through fractures (for each substance).
{$[-]$} Input field: Penalty parameter influencing the discontinuity of the solution (for each substance). Its default value 1 is sufficient in most cases. Higher value diminishes the inter-element jumps.
{$[-]$} Input field: Region ids.
{$[-]$} Input field: Subdomain ids of the domain decomposition.
ReactionTerm
Abstract equation for a reaction term (dual porosity, sorption, reactions). Can be part of coupling with a transport equation via. operator splitting.
A model of first order chemical reactions (decompositions of a reactant into products).
A model of a radioactive decay and possibly of a decay chain.
Sorption model in the reaction term of transport.
Dual porosity model in transport problems.
Provides computing the concentration of substances in mobile and immobile zone.
FirstOrderReaction
A model of first order chemical reactions (decompositions of a reactant into products).
Reaction
Describes a single first order chemical reaction.
- Array [1, UINT]
- of FirstOrderReactionReactant
reactants
obligatoryAn array of reactants. Do not use array, reactions with only one reactant (decays) are implemented at the moment!
- Double [0, +inf)
reaction_rate
obligatoryThe reaction rate coefficient of the first order reaction.
FirstOrderReactionReactant
A record describing a reactant of a reaction.
- String (generic)
name
obligatoryThe name of the reactant.
FirstOrderReactionProduct
A record describing a product of a reaction.
- String (generic)
name
obligatoryThe name of the product.
- Double [0, +inf)
branching_ratio
value at declaration = 1.0The branching ratio of the product when there are more products.
The value must be positive. Further, the branching ratios of all products are normalized in order to sum to one.
The default value 1.0, should only be used in the case of single product.
RadioactiveDecay
A model of a radioactive decay and possibly of a decay chain.
Decay
A model of a radioactive decay.
- String (generic)
radionuclide
obligatoryThe name of the parent radionuclide.
- Double [0, +inf)
half_life
obligatoryThe half life of the parent radionuclide in seconds.
- Array [1, UINT]
- of RadioactiveDecayProduct
products
obligatoryAn array of the decay products (daughters).
RadioactiveDecayProduct
A record describing a product of a radioactive decay.
- String (generic)
name
obligatoryThe name of the product.
- Double [0, +inf)
energy
value at declaration = 0.0Not used at the moment! The released energy in MeV from the decay of the radionuclide into the product.
- Double [0, +inf)
branching_ratio
value at declaration = 1.0The branching ratio of the product when there is more than one.Considering only one product, the default ratio 1.0 is used.Its value must be positive. Further, the branching ratios of all products are normalizedby their sum, so the sum then gives 1.0 (this also resolves possible rounding errors).
Sorption
Sorption model in the reaction term of transport.
- Array [1, UINT]
- of STRING
substances
obligatoryNames of the substances that take part in the sorption model.
- Double [0, +inf)
solvent_density
value at declaration = 1.0Density of the solvent.
- Integer [1, INT]
substeps
value at declaration = 1000Number of equidistant substeps, molar mass and isotherm intersections
- Array [0, UINT]
- of DOUBLE
solubility
optionalSpecifies solubility limits of all the sorbing species.
- Array [0, UINT]
- of DOUBLE
table_limits
optionalSpecifies the highest aqueous concentration in the isotherm function interpolation table. Use any negative value for an automatic choice according to current maximal concentration (default and recommended). Use '0' to always evaluate isotherm function directly (can be very slow). Use a positive value to set the interpolation table limit manually (if aqueous concentration is higher, then the isotherm function is evaluated directly).
- Array [0, UINT]
- of Sorption:Data
input_fields
obligatoryContaines region specific data necessary to construct isotherms.
- instance of RECORD
- generic typeEquationOutput
- parameter output_field_selection = Sorption:OutputFields
Setting of the fields output.
Sorption:Data
Record to set fields of the equation.
The fields are set only on the domain specified by one of the keys: 'region', 'rid'
and after the time given by the key 'time'. The field setting can be overridden by
any Sorption:Data record that comes later in the boundary data array.
- Array [1, UINT]
- of STRING
region
optionalLabels of the regions where to set fields.
- Integer [0, INT]
rid
optionalID of the region where to set fields.
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
rock_density
optionalRock matrix density. {$[m^{-3}kg]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = SorptionType
sorption_type
optionalConsidered sorption is described by selected isotherm.
If porosity on an element is equal to 1.0 (or even higher), meaning no sorbing surface, then type 'none' will be selected automatically. {$[-]$}- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
distribution_coefficient
optionalDistribution coefficient { $k_l, k_F, k_L $} of linear, Freundlich or Langmuir isotherm respectively. {$[m^{3}kg^{-1}]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
isotherm_other
optionalAdditional parameter {$ \alpha $} of nonlinear isotherms. {$[-]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
init_conc_solid
optionalInitial solid concentration of substances. It is a vector: one value for every substance. {$[-]$}
SorptionType
No sorption considered.
Linear isotherm runs the concentration exchange between liquid and solid.
Langmuir isotherm runs the concentration exchange between liquid and solid.
Freundlich isotherm runs the concentration exchange between liquid and solid.
GenericReaction
Abstract equation for a reaction of species in single compartment (e.g. mobile solid).It can be part of: direct operator splitting coupling, dual porosity model, any sorption.
A model of first order chemical reactions (decompositions of a reactant into products).
A model of a radioactive decay and possibly of a decay chain.
Sorption:OutputFields
Selection of output fields for the Sorption model.
{$[m^{-3}kg]$} Input field: Rock matrix density.
{$[-]$} Input field: Considered sorption is described by selected isotherm.
If porosity on an element is equal to 1.0 (or even higher), meaning no sorbing surface, then type 'none' will be selected automatically.{$[m^{3}kg^{-1}]$} Input field: Distribution coefficient { $k_l, k_F, k_L $} of linear, Freundlich or Langmuir isotherm respectively.
{$[-]$} Input field: Additional parameter {$ \alpha $} of nonlinear isotherms.
{$[-]$} Input field: Initial solid concentration of substances. It is a vector: one value for every substance.
{$[-]$} Concentration solution in the solid phase.
DualPorosity
Dual porosity model in transport problems.
Provides computing the concentration of substances in mobile and immobile zone.
- Array [0, UINT]
- of DualPorosity:Data
input_fields
obligatoryContaines region specific data necessary to construct dual porosity model.
- Double [0, +inf)
scheme_tolerance
value at declaration = 0.001Tolerance according to which the explicit Euler scheme is used or not.Set 0.0 to use analytic formula only (can be slower).
- instance of RECORD
- generic typeEquationOutput
- parameter output_field_selection = DualPorosity:OutputFields
Setting of the fields output.
DualPorosity:Data
Record to set fields of the equation.
The fields are set only on the domain specified by one of the keys: 'region', 'rid'
and after the time given by the key 'time'. The field setting can be overridden by
any DualPorosity:Data record that comes later in the boundary data array.
- Array [1, UINT]
- of STRING
region
optionalLabels of the regions where to set fields.
- Integer [0, INT]
rid
optionalID of the region where to set fields.
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
diffusion_rate_immobile
optionalDiffusion coefficient of non-equilibrium linear exchange between mobile and immobile zone. {$[s^{-1}]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
porosity_immobile
optionalPorosity of the immobile zone. {$[-]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
init_conc_immobile
optionalInitial concentration of substances in the immobile zone. {$[m^{-3}kg]$}
ReactionTermMobile
Abstract equation for a reaction term of the MOBILE pores (sorption, reactions). Is part of dual porosity model.
A model of first order chemical reactions (decompositions of a reactant into products).
A model of a radioactive decay and possibly of a decay chain.
Sorption model in the mobile zone, following the dual porosity model.
SorptionMobile
Sorption model in the mobile zone, following the dual porosity model.
- Array [1, UINT]
- of STRING
substances
obligatoryNames of the substances that take part in the sorption model.
- Double [0, +inf)
solvent_density
value at declaration = 1.0Density of the solvent.
- Integer [1, INT]
substeps
value at declaration = 1000Number of equidistant substeps, molar mass and isotherm intersections
- Array [0, UINT]
- of DOUBLE
solubility
optionalSpecifies solubility limits of all the sorbing species.
- Array [0, UINT]
- of DOUBLE
table_limits
optionalSpecifies the highest aqueous concentration in the isotherm function interpolation table. Use any negative value for an automatic choice according to current maximal concentration (default and recommended). Use '0' to always evaluate isotherm function directly (can be very slow). Use a positive value to set the interpolation table limit manually (if aqueous concentration is higher, then the isotherm function is evaluated directly).
- Array [0, UINT]
- of Sorption:Data
input_fields
obligatoryContaines region specific data necessary to construct isotherms.
- instance of RECORD
- generic typeEquationOutput
- parameter output_field_selection = SorptionMobile:OutputFields
Setting of the fields output.
SorptionMobile:OutputFields
Selection of output fields for the SorptionMobile model.
{$[m^{-3}kg]$} Input field: Rock matrix density.
{$[-]$} Input field: Considered sorption is described by selected isotherm.
If porosity on an element is equal to 1.0 (or even higher), meaning no sorbing surface, then type 'none' will be selected automatically.{$[m^{3}kg^{-1}]$} Input field: Distribution coefficient { $k_l, k_F, k_L $} of linear, Freundlich or Langmuir isotherm respectively.
{$[-]$} Input field: Additional parameter {$ \alpha $} of nonlinear isotherms.
{$[-]$} Input field: Initial solid concentration of substances. It is a vector: one value for every substance.
{$[-]$} Concentration solution in the solid mobile phase.
ReactionTermImmobile
Abstract equation for a reaction term of the IMMOBILE pores (sorption, reactions). Is part of dual porosity model.
A model of first order chemical reactions (decompositions of a reactant into products).
A model of a radioactive decay and possibly of a decay chain.
Sorption model in the immobile zone, following the dual porosity model.
SorptionImmobile
Sorption model in the immobile zone, following the dual porosity model.
- Array [1, UINT]
- of STRING
substances
obligatoryNames of the substances that take part in the sorption model.
- Double [0, +inf)
solvent_density
value at declaration = 1.0Density of the solvent.
- Integer [1, INT]
substeps
value at declaration = 1000Number of equidistant substeps, molar mass and isotherm intersections
- Array [0, UINT]
- of DOUBLE
solubility
optionalSpecifies solubility limits of all the sorbing species.
- Array [0, UINT]
- of DOUBLE
table_limits
optionalSpecifies the highest aqueous concentration in the isotherm function interpolation table. Use any negative value for an automatic choice according to current maximal concentration (default and recommended). Use '0' to always evaluate isotherm function directly (can be very slow). Use a positive value to set the interpolation table limit manually (if aqueous concentration is higher, then the isotherm function is evaluated directly).
- Array [0, UINT]
- of Sorption:Data
input_fields
obligatoryContaines region specific data necessary to construct isotherms.
- instance of RECORD
- generic typeEquationOutput
- parameter output_field_selection = SorptionImmobile:OutputFields
Setting of the fields output.
SorptionImmobile:OutputFields
Selection of output fields for the SorptionImmobile model.
{$[m^{-3}kg]$} Input field: Rock matrix density.
{$[-]$} Input field: Considered sorption is described by selected isotherm.
If porosity on an element is equal to 1.0 (or even higher), meaning no sorbing surface, then type 'none' will be selected automatically.{$[m^{3}kg^{-1}]$} Input field: Distribution coefficient { $k_l, k_F, k_L $} of linear, Freundlich or Langmuir isotherm respectively.
{$[-]$} Input field: Additional parameter {$ \alpha $} of nonlinear isotherms.
{$[-]$} Input field: Initial solid concentration of substances. It is a vector: one value for every substance.
{$[-]$} Concentration solution in the solid immobile phase.
DualPorosity:OutputFields
Selection of output fields for the DualPorosity model.
{$[s^{-1}]$} Input field: Diffusion coefficient of non-equilibrium linear exchange between mobile and immobile zone.
{$[-]$} Input field: Porosity of the immobile zone.
{$[m^{-3}kg]$} Input field: Initial concentration of substances in the immobile zone.
{$[m^{-3}kg]$}
Heat_AdvectionDiffusion_DG
Discontinuous Galerkin (DG) solver for heat transfer.
- Array [0, UINT]
- of Heat_AdvectionDiffusion_DG:Data
input_fields
obligatoryInput fields of the equation.
- SELECTIONDG_variant
Variant of the interior penalty discontinuous Galerkin method.
- Integer [0, 3]
dg_order
value at declaration = 1Polynomial order for the finite element in DG method (order 0 is suitable if there is no diffusion/dispersion).
- Bool (generic)
init_projection
value at declaration = TrueIf true, use DG projection of the initial condition field.Otherwise, evaluate initial condition field directly (well suited for reading native data).
- instance of RECORD
- generic typeEquationOutput
- parameter output_field_selection = Heat_AdvectionDiffusion_DG:OutputFields
Specification of output fields and output times.
Heat_AdvectionDiffusion_DG:Data
Record to set fields of the equation.
The fields are set only on the domain specified by one of the keys: 'region', 'rid'
and after the time given by the key 'time'. The field setting can be overridden by
any Heat_AdvectionDiffusion_DG:Data record that comes later in the boundary data array.
- Array [1, UINT]
- of STRING
region
optionalLabels of the regions where to set fields.
- Integer [0, INT]
rid
optionalID of the region where to set fields.
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = Heat_BC_Type
bc_type
optionalType of boundary condition. {$[-]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
bc_temperature
optionalBoundary value of temperature. {$[K]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
bc_flux
optionalFlux in Neumann boundary condition. {$[m^{1-d}kgs^{-1}]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
bc_robin_sigma
optionalConductivity coefficient in Robin boundary condition. {$[m^{4-d}s^{-1}]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
init_temperature
optionalInitial temperature. {$[K]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
porosity
optionalPorosity. {$[-]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
fluid_density
optionalDensity of fluid. {$[m^{-3}kg]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
fluid_heat_capacity
optionalHeat capacity of fluid. {$[m^{2}s^{-2}K^{-1}]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
fluid_heat_conductivity
optionalHeat conductivity of fluid. {$[mkgs^{-3}K^{-1}]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
solid_density
optionalDensity of solid (rock). {$[m^{-3}kg]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
solid_heat_capacity
optionalHeat capacity of solid (rock). {$[m^{2}s^{-2}K^{-1}]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
solid_heat_conductivity
optionalHeat conductivity of solid (rock). {$[mkgs^{-3}K^{-1}]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
disp_l
optionalLongitudinal heat dispersivity in fluid. {$[m]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
disp_t
optionalTransverse heat dispersivity in fluid. {$[m]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
fluid_thermal_source
optionalDensity of thermal source in fluid. {$[m^{-1}kgs^{-3}]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
solid_thermal_source
optionalDensity of thermal source in solid. {$[m^{-1}kgs^{-3}]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
fluid_heat_exchange_rate
optionalHeat exchange rate of source in fluid. {$[s^{-1}]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
solid_heat_exchange_rate
optionalHeat exchange rate of source in solid. {$[s^{-1}]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
fluid_ref_temperature
optionalReference temperature of source in fluid. {$[K]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
solid_ref_temperature
optionalReference temperature in solid. {$[K]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
v_norm
optionalVelocity norm field. {$[ms^{-1}]$}
- instance of ABSTRACT
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
mass_matrix_coef
optionalMatrix coefficients computed by model in mass assemblation. {$[m^{3-d}]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
retardation_coef
optionalRetardation coefficients computed by model in mass assemblation. {$[m^{3-d}]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
sources_conc_out
optionalConcentration sources output. {$[m^{-3}kg]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
sources_density_out
optionalConcentration sources output - density of substance source, only positive part is used.. {$[m^{-d}kgs^{-1}]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
sources_sigma_out
optionalConcentration sources - Robin type, in_flux = sources_sigma * (sources_conc - mobile_conc). {$[m^{3-d}s^{-1}]$}
- Array [1, UINT]
- generic typeField_R3_to_R[3]
- parameter element_input_type = DOUBLE
advection_coef
optionalAdvection coefficients model. {$[ms^{-1}]$}
- Array [1, UINT]
- generic typeField_R3_to_R[3,3]
- parameter element_input_type = DOUBLE
diffusion_coef
optionalDiffusion coefficients model. {$[m^{2}s^{-1}]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
fracture_sigma
optionalCoefficient of diffusive transfer through fractures (for each substance). {$[-]$}
- Array [1, UINT]
- generic typeField_R3_to_R
- parameter element_input_type = DOUBLE
dg_penalty
optionalPenalty parameter influencing the discontinuity of the solution (for each substance). Its default value 1 is sufficient in most cases. Higher value diminishes the inter-element jumps. {$[-]$}
Heat_BC_Type
Types of boundary conditions for heat transfer model.
Default heat transfer boundary condition.
On water inflow {$(q_w \le 0)$}, total energy flux is given by the reference temperature 'bc_temperature'. On water outflow we prescribe zero diffusive flux, i.e. the energy flows out only due to advection.Dirichlet boundary condition {$T = T_D $}.
The prescribed temperature {$T_D$} is specified by the field 'bc_temperature'.Total energy flux boundary condition.
The prescribed incoming total flux can have the general form {$\delta(f_N+\sigma_R(T_R-T) )$}, where the absolute flux {$f_N$} is specified by the field 'bc_flux', the transition parameter {$\sigma_R$} by 'bc_robin_sigma', and the reference temperature {$T_R$} by 'bc_temperature'.Diffusive flux boundary condition.
The prescribed incoming energy flux due to diffusion can have the general form {$\delta(f_N+\sigma_R(T_R-T) )$}, where the absolute flux {$f_N$} is specified by the field 'bc_flux', the transition parameter {$\sigma_R$} by 'bc_robin_sigma', and the reference temperature {$T_R$} by 'bc_temperature'.
Heat_AdvectionDiffusion_DG:OutputFields
Selection of output fields for the Heat_AdvectionDiffusion_DG model.
{$[K]$} Input field: Initial temperature.
{$[-]$} Input field: Porosity.
{$[-]$} Input field:
{$[m^{-3}kg]$} Input field: Density of fluid.
{$[m^{2}s^{-2}K^{-1}]$} Input field: Heat capacity of fluid.
{$[mkgs^{-3}K^{-1}]$} Input field: Heat conductivity of fluid.
{$[m^{-3}kg]$} Input field: Density of solid (rock).
{$[m^{2}s^{-2}K^{-1}]$} Input field: Heat capacity of solid (rock).
{$[mkgs^{-3}K^{-1}]$} Input field: Heat conductivity of solid (rock).
{$[m]$} Input field: Longitudinal heat dispersivity in fluid.
{$[m]$} Input field: Transverse heat dispersivity in fluid.
{$[m^{-1}kgs^{-3}]$} Input field: Density of thermal source in fluid.
{$[m^{-1}kgs^{-3}]$} Input field: Density of thermal source in solid.
{$[s^{-1}]$} Input field: Heat exchange rate of source in fluid.
{$[s^{-1}]$} Input field: Heat exchange rate of source in solid.
{$[K]$} Input field: Reference temperature of source in fluid.
{$[K]$} Input field: Reference temperature in solid.
{$[K]$} Temperature solution.
{$[ms^{-1}]$} Input field: Velocity norm field.
{$[m^{3-d}]$} Input field: Matrix coefficients computed by model in mass assemblation.
{$[m^{3-d}]$} Input field: Retardation coefficients computed by model in mass assemblation.
{$[m^{-3}kg]$} Input field: Concentration sources output.
{$[m^{-d}kgs^{-1}]$} Input field: Concentration sources output - density of substance source, only positive part is used..
{$[m^{3-d}s^{-1}]$} Input field: Concentration sources - Robin type, in_flux = sources_sigma * (sources_conc - mobile_conc).
{$[ms^{-1}]$} Input field: Advection coefficients model.
{$[m^{2}s^{-1}]$} Input field: Diffusion coefficients model.
{$[-]$} Input field: Coefficient of diffusive transfer through fractures (for each substance).
{$[-]$} Input field: Penalty parameter influencing the discontinuity of the solution (for each substance). Its default value 1 is sufficient in most cases. Higher value diminishes the inter-element jumps.
{$[-]$} Input field: Region ids.
{$[-]$} Input field: Subdomain ids of the domain decomposition.