# mp-melt-pool: Parameter description ## Contents - [`base`](#base) - [`time stepping`](#time-stepping) - [`adaptive meshing`](#adaptive-meshing) - [`level set`](#level-set) - [`heat`](#heat) - [`laser`](#laser) - [`rte`](#rte) - [`flow`](#flow) - [`evaporation`](#evaporation) - [`material`](#material) - [`output`](#output) - [`profiling`](#profiling) - [`restart`](#restart) - [`melt front propagation`](#melt-front-propagation) - [`application specific`](#application-specific) --- ## `🔷 base` | Parameter | Type | Default | Description | |---|---|---|---| | `case name` | `string` | `not_initialized` | Sets the base name for the application that will be fed to the problem type. | | `dimension` | `integer` | `2` | Defines the dimension of the problem | | `number` | `string` | `double` | Floating point number format. Currently, only 'double' is explicitely instantiated.

Allowed values:
- `double` | | `global refinements` | `integer` | `1` | Defines the number of initial global refinements | | `do print parameters` | `boolean` | `True` | Set this parameter to true to list parameters in output | | `verbosity level` | `integer` | `1` | Sets the verbosity level of the console output: 0: silent: for non-robust tests and benchmark runs; 1: minimal: for robust tests; 2: detailed; 3: full | | [`fe`](#base-fe) | `object` | | [See table](#base-fe) | ### `base: fe` | Parameter | Type | Default | Description | |---|---|---|---| | `type` | `string` | `FE_Q` | Finite Element.FE_Q: hexahedral continuous finite element with polynomial degree p; FE_SimplexP: tetrahedral continuous finite element with polynomial degree p; FE_Q_iso_Q1: hexahedral continuous finite element with p subdivisions containing linear elements; FE_DGQ: hexahedral discontinuous finite element with polynomial degree p

Allowed values:
- `not_initialized`
- `FE_Q`
- `FE_SimplexP`
- `FE_Q_iso_Q1`
- `FE_DGQ` | | `degree` | `integer` | `1` | Defines the degree p of the finite element type. If "type" is "FE_Q_iso_Q1" this parameter defines the number of subdivisions. | --- ## `🔷 time stepping` | Parameter | Type | Default | Description | |---|---|---|---| | `start time` | `number` | `0.0` | Defines the start time for the solution of the levelset problem | | `end time` | `number` | `1.0` | Sets the end time for the solution of the levelset problem | | `time step size` | `number` | `0.01` | Sets the step size for time stepping. For non-uniform time stepping, this parameter determines the size of the first time step. | | `max n steps` | `integer` | `10000000` | Sets the maximum number of melt_pool steps | | `time step size function` | `string` | `0.0*t` | Set an analytical function to determine the time step size. For the prediction of the new time increment, the old time is used. | --- ## `🔷 adaptive meshing` | Parameter | Type | Default | Description | |---|---|---|---| | `do amr` | `boolean` | `False` | Set this parameter to true to activate adaptive meshing | | `do not modify boundary cells` | `boolean` | `False` | Set this parameter to true to not refine/coarsen along boundaries. | | `upper perc to refine` | `number` | `0.0` | Defines the (upper) percentage of elements that should be refined | | `lower perc to coarsen` | `number` | `0.0` | Defines the (lower) percentage of elements that should be coarsened | | `max grid refinement level` | `integer` | `12` | Defines the number of maximum refinement steps one grid cell will be undergone. | | `min grid refinement level` | `integer` | `-1` | Defines the number of minimum refinement steps one grid cell will be undergone. | | `n initial refinement cycles` | `integer` | `0` | Defines the number of initial refinements. | | `every n step` | `integer` | `1` | Defines at every nth step the amr should be performed. | | `min cells marked to refine` | `integer` | `1` | Minimum number of cells that must be marked for refinement/coarsening before the mesh is updated. | | `min indicator threshold to refine cell` | `number` | `0.0` | Minimum indicator value required for a cell to be considered for refinement. | | `solution transfer average values` | `boolean` | `False` | Set this parameter to true to average the contribututions to the same DoF coming from different cells during solution transfer. | --- ## `🔷 level set` | Parameter | Type | Default | Description | |---|---|---|---| | [`fe`](#level-set-fe) | `object` | | [See table](#level-set-fe) | | `do localized heaviside` | `boolean` | `True` | Determine if the heaviside representation of the level set should be calculated as a localized function, being exactly 0 and 1 outside of the interface region. | | `gradient error evaluation distance cell proportion` | `number` | `3.0` | Factor how many cell diameters away the gradient error should be evaluated | | [`nearest point`](#level-set-nearest-point) | `object` | | [See table](#level-set-nearest-point) | | [`advection diffusion`](#level-set-advection-diffusion) | `object` | | [See table](#level-set-advection-diffusion) | | [`normal vector`](#level-set-normal-vector) | `object` | | [See table](#level-set-normal-vector) | | [`curvature`](#level-set-curvature) | `object` | | [See table](#level-set-curvature) | | [`reinitialization`](#level-set-reinitialization) | `object` | | [See table](#level-set-reinitialization) | ### `level set: fe` | Parameter | Type | Default | Description | |---|---|---|---| | `type` | `string` | `not_initialized` | Finite Element.FE_Q: hexahedral continuous finite element with polynomial degree p; FE_SimplexP: tetrahedral continuous finite element with polynomial degree p; FE_Q_iso_Q1: hexahedral continuous finite element with p subdivisions containing linear elements; FE_DGQ: hexahedral discontinuous finite element with polynomial degree p

Allowed values:
- `not_initialized`
- `FE_Q`
- `FE_SimplexP`
- `FE_Q_iso_Q1`
- `FE_DGQ` | | `degree` | `integer` | `-1` | Defines the degree p of the finite element type. If "type" is "FE_Q_iso_Q1" this parameter defines the number of subdivisions. | ### `level set: nearest point` | Parameter | Type | Default | Description | |---|---|---|---| | `max iter` | `integer` | `20` | Maximum number of corrections of the point projection towards the interface. | | `rel tol` | `number` | `1e-06` | Relative tolerance to be achieved within the projection. | | `narrow band threshold` | `number` | `-1.0` | Maximum value of the level set for defining narrow band where CPP is performed. | | `type` | `string` | `closest_point_normal` | Choose the type for calculating the nearest point to the interface.

Allowed values:
- `closest_point_normal`
- `closest_point_normal_collinear`
- `closest_point_normal_collinear_coquerelle`
- `nearest_point`
- `nearest_point_fast` | | `verbosity level` | `integer` | `0` | Set the verbosity level. | | [`marching cube`](#level-set-nearest-point-marching-cube) | `object` | | [See table](#level-set-nearest-point-marching-cube) | #### `level set: nearest point: marching cube` | Parameter | Type | Default | Description | |---|---|---|---| | `n subdivisions` | `integer` | `3` | Specify the number of subdivisions to create a quadrature rule with n_subdivisions+1 equally-positioned quadrature points. | | `tol` | `number` | `1e-10` | Absolute tolerance specifying the minimum distance between a vertex and the cut point so that a line is considered cut. | ### `level set: advection diffusion` | Parameter | Type | Default | Description | |---|---|---|---| | [`fe`](#level-set-advection-diffusion-fe) | `object` | | [See table](#level-set-advection-diffusion-fe) | | [`convection stabilization`](#level-set-advection-diffusion-convection-stabilization) | `object` | | [See table](#level-set-advection-diffusion-convection-stabilization) | | `diffusivity` | `number` | `0.0` | Defines the diffusivity for the advection diffusion equation | | `implementation` | `string` | `meltpooldg` | Choose the corresponding implementation of the advection diffusion operation.

Allowed values:
- `meltpooldg`
- `adaflo` | | `enable time dependent bc` | `boolean` | `False` | Set this parameter to true to enable time-dependent bc. | | [`predictor`](#level-set-advection-diffusion-predictor) | `object` | | [See table](#level-set-advection-diffusion-predictor) | | [`linear solver`](#level-set-advection-diffusion-linear-solver) | `object` | | [See table](#level-set-advection-diffusion-linear-solver) | | [`time integration`](#level-set-advection-diffusion-time-integration) | `object` | | [See table](#level-set-advection-diffusion-time-integration) | #### `level set: advection diffusion: fe` | Parameter | Type | Default | Description | |---|---|---|---| | `type` | `string` | `not_initialized` | Finite Element.FE_Q: hexahedral continuous finite element with polynomial degree p; FE_SimplexP: tetrahedral continuous finite element with polynomial degree p; FE_Q_iso_Q1: hexahedral continuous finite element with p subdivisions containing linear elements; FE_DGQ: hexahedral discontinuous finite element with polynomial degree p

Allowed values:
- `not_initialized`
- `FE_Q`
- `FE_SimplexP`
- `FE_Q_iso_Q1`
- `FE_DGQ` | | `degree` | `integer` | `-1` | Defines the degree p of the finite element type. If "type" is "FE_Q_iso_Q1" this parameter defines the number of subdivisions. | #### `level set: advection diffusion: convection stabilization` | Parameter | Type | Default | Description | |---|---|---|---| | `type` | `string` | `none` | Defines the type for convection stabilization.

Allowed values:
- `none`
- `SUPG` | | `coefficient` | `number` | `-1.0` | Defines the stabilization coefficient for convection. (default velocity-dependent). | #### `level set: advection diffusion: predictor` | Parameter | Type | Default | Description | |---|---|---|---| | `type` | `string` | `none` | Choose a predictor type: none: use old value as initial guess; zero: se zeros as initial guess; linear_extrapolation: calculate the predictor by a linear combination from the two old solution vectors; least_squares_projection: least squares projection (WIP)

Allowed values:
- `none`
- `zero`
- `linear_extrapolation`
- `least_squares_projection` | | `n old solutions` | `integer` | `2` | Choose the number of old solution vectors considered.This parameter is only relevant for least squares projection.For all other predictors, this parameter will be set appropriately. | #### `level set: advection diffusion: linear solver` | Parameter | Type | Default | Description | |---|---|---|---| | `solver type` | `string` | `GMRES` | Set this parameter for choosing an iterative linear solver type.

Allowed values:
- `CG`
- `GMRES` | | `preconditioner type` | `string` | `Diagonal` | Set this parameter for choosing a preconditioner type.

Allowed values:
- `Identity`
- `AMG`
- `ILU`
- `Diagonal` | | `max iterations` | `integer` | `10000` | Set the maximum number of iterations for solving the linear system of equations. | | `rel tolerance` | `number` | `1e-12` | Set the relative tolerance for a successful solution of the linear system of equations. | | `abs tolerance` | `number` | `1e-20` | Set the absolute tolerance for a successful solution of the linear system of equations. | | `do matrix free` | `boolean` | `True` | Set this parameter if a matrix free solution procedure should be performed. | | `monitor type` | `string` | `none` | Set the monitor type of the linear solver.

Allowed values:
- `none`
- `reduced`
- `all` | #### `level set: advection diffusion: time integration` | Parameter | Type | Default | Description | |---|---|---|---| | `type` | `string` | `crank_nicolson` | Name of the time integration scheme.

Allowed values:
- `not_initialized`
- `LSRK_stage_1_order_1`
- `LSRK_stage_3_order_3`
- `LSRK_stage_5_order_4`
- `LSRK_stage_7_order_4`
- `LSRK_stage_9_order_5`
- `implicit_euler`
- `explicit_euler`
- `crank_nicolson`
- `bdf_1`
- `bdf_2`
- `bdf_3`
- `bdf_4`
- `bdf_5`
- `bdf_6`
- `imex` | | `preconditioner update frequency` | `integer` | `100` | Frequency at which the preconditioner gets updated. | | [`nlsolve`](#level-set-advection-diffusion-time-integration-nlsolve) | `object` | | [See table](#level-set-advection-diffusion-time-integration-nlsolve) | | [`linear solver`](#level-set-advection-diffusion-time-integration-linear-solver) | `object` | | [See table](#level-set-advection-diffusion-time-integration-linear-solver) | ##### `level set: advection diffusion: time integration: nlsolve` | Parameter | Type | Default | Description | |---|---|---|---| | `max nonlinear iterations` | `integer` | `10` | Set the number of maximum nonlinear iterations with standard tolerances. | | `field correction tolerance` | `number` | `1e-10` | Set the tolerance for the maximum allowed correction of the unknown field. | | `residual tolerance` | `number` | `1e-09` | Set the tolerance for the maximum allowed residual of the nonlinear system. | | `max nonlinear iterations alt` | `integer` | `0` | Set the number of maximum nonlinear iterations with alternative tolerances. | | `field correction tolerance alt` | `number` | `1e-09` | Set the alternative tolerance for the maximum allowed correction of the unknown field. | | `residual tolerance alt` | `number` | `1e-08` | Set the alternative tolerance for the maximum allowed residual of the nonlinear system. | | `verbosity level` | `integer` | `-1` | Set to one for detailed solver output. | ##### `level set: advection diffusion: time integration: linear solver` | Parameter | Type | Default | Description | |---|---|---|---| | `solver type` | `string` | `GMRES` | Set this parameter for choosing an iterative linear solver type.

Allowed values:
- `CG`
- `GMRES` | | `preconditioner type` | `string` | `Identity` | Set this parameter for choosing a preconditioner type.

Allowed values:
- `Identity`
- `AMG`
- `ILU`
- `Diagonal` | | `max iterations` | `integer` | `10000` | Set the maximum number of iterations for solving the linear system of equations. | | `rel tolerance` | `number` | `1e-12` | Set the relative tolerance for a successful solution of the linear system of equations. | | `abs tolerance` | `number` | `1e-20` | Set the absolute tolerance for a successful solution of the linear system of equations. | | `do matrix free` | `boolean` | `True` | Set this parameter if a matrix free solution procedure should be performed. | | `monitor type` | `string` | `none` | Set the monitor type of the linear solver.

Allowed values:
- `none`
- `reduced`
- `all` | ### `level set: normal vector` | Parameter | Type | Default | Description | |---|---|---|---| | `filter parameter` | `number` | `2.0` | normal vector computation: damping = (cell size)² * filter parameter | | `implementation` | `string` | `meltpooldg` | Choose the corresponding implementation of the normal vector operation.

Allowed values:
- `meltpooldg`
- `adaflo` | | `verbosity level` | `integer` | `-1` | Sets the maximum verbosity level of the console output. The maximum level with respect to the base value is decisive. | | `compute normalized vector` | `boolean` | `False` | If set to true, the normal vector resulting from the filtering equation will be a unit vector. | | [`narrow band`](#level-set-normal-vector-narrow-band) | `object` | | [See table](#level-set-normal-vector-narrow-band) | | [`predictor`](#level-set-normal-vector-predictor) | `object` | | [See table](#level-set-normal-vector-predictor) | | [`linear solver`](#level-set-normal-vector-linear-solver) | `object` | | [See table](#level-set-normal-vector-linear-solver) | | [`Discontinous Galerkin`](#level-set-normal-vector-discontinous-galerkin) | `object` | | [See table](#level-set-normal-vector-discontinous-galerkin) | #### `level set: normal vector: narrow band` | Parameter | Type | Default | Description | |---|---|---|---| | `enable` | `boolean` | `False` | Set this parameter to true to compute the normal vector only in the interfacial region. | | `level set threshold` | `number` | `1.0` | If narrow band is enabled to true this parameter determines the level set treshold for the narrow band. | #### `level set: normal vector: predictor` | Parameter | Type | Default | Description | |---|---|---|---| | `type` | `string` | `none` | Choose a predictor type: none: use old value as initial guess; zero: se zeros as initial guess; linear_extrapolation: calculate the predictor by a linear combination from the two old solution vectors; least_squares_projection: least squares projection (WIP)

Allowed values:
- `none`
- `zero`
- `linear_extrapolation`
- `least_squares_projection` | | `n old solutions` | `integer` | `2` | Choose the number of old solution vectors considered.This parameter is only relevant for least squares projection.For all other predictors, this parameter will be set appropriately. | #### `level set: normal vector: linear solver` | Parameter | Type | Default | Description | |---|---|---|---| | `solver type` | `string` | `CG` | Set this parameter for choosing an iterative linear solver type.

Allowed values:
- `CG`
- `GMRES` | | `preconditioner type` | `string` | `Diagonal` | Set this parameter for choosing a preconditioner type.

Allowed values:
- `Identity`
- `AMG`
- `ILU`
- `Diagonal` | | `max iterations` | `integer` | `10000` | Set the maximum number of iterations for solving the linear system of equations. | | `rel tolerance` | `number` | `1e-12` | Set the relative tolerance for a successful solution of the linear system of equations. | | `abs tolerance` | `number` | `1e-20` | Set the absolute tolerance for a successful solution of the linear system of equations. | | `do matrix free` | `boolean` | `True` | Set this parameter if a matrix free solution procedure should be performed. | | `monitor type` | `string` | `none` | Set the monitor type of the linear solver.

Allowed values:
- `none`
- `reduced`
- `all` | #### `level set: normal vector: Discontinous Galerkin` | Parameter | Type | Default | Description | |---|---|---|---| | `penalty factor` | `number` | `100.0` | Set the jump penalty factor of the diffusion term | ### `level set: curvature` | Parameter | Type | Default | Description | |---|---|---|---| | `enable` | `boolean` | `True` | Set this parameter to true if curvature should be computed. This is required in case of surface tension forces. | | `do curvature correction` | `boolean` | `False` | Set this parameter to true if the curvature value at the discrete interface i.e. where the level set is 0, should be extended to the interface region. | | `filter parameter` | `number` | `2.0` | curvature computation: damping = (cell size)² * filter parameter | | `implementation` | `string` | `meltpooldg` | Choose the corresponding implementation of the curvature operation.

Allowed values:
- `meltpooldg`
- `adaflo` | | `verbosity level` | `integer` | `-1` | Sets the maximum verbosity level of the console output. The maximum level with respect to the base value is decisive. | | [`narrow band`](#level-set-curvature-narrow-band) | `object` | | [See table](#level-set-curvature-narrow-band) | | [`Discontinous Galerkin`](#level-set-curvature-discontinous-galerkin) | `object` | | [See table](#level-set-curvature-discontinous-galerkin) | | [`predictor`](#level-set-curvature-predictor) | `object` | | [See table](#level-set-curvature-predictor) | | [`linear solver`](#level-set-curvature-linear-solver) | `object` | | [See table](#level-set-curvature-linear-solver) | #### `level set: curvature: narrow band` | Parameter | Type | Default | Description | |---|---|---|---| | `enable` | `boolean` | `False` | Set this parameter to true to compute the normal vector only in the interfacial region. | | `level set threshold` | `number` | `1.0` | If narrow band is enabled to true this parameter determines the level set treshold for the narrow band. | #### `level set: curvature: Discontinous Galerkin` | Parameter | Type | Default | Description | |---|---|---|---| | `penalty factor` | `number` | `100.0` | Set the jump penalty factor of the diffusion term | #### `level set: curvature: predictor` | Parameter | Type | Default | Description | |---|---|---|---| | `type` | `string` | `none` | Choose a predictor type: none: use old value as initial guess; zero: se zeros as initial guess; linear_extrapolation: calculate the predictor by a linear combination from the two old solution vectors; least_squares_projection: least squares projection (WIP)

Allowed values:
- `none`
- `zero`
- `linear_extrapolation`
- `least_squares_projection` | | `n old solutions` | `integer` | `2` | Choose the number of old solution vectors considered.This parameter is only relevant for least squares projection.For all other predictors, this parameter will be set appropriately. | #### `level set: curvature: linear solver` | Parameter | Type | Default | Description | |---|---|---|---| | `solver type` | `string` | `CG` | Set this parameter for choosing an iterative linear solver type.

Allowed values:
- `CG`
- `GMRES` | | `preconditioner type` | `string` | `Diagonal` | Set this parameter for choosing a preconditioner type.

Allowed values:
- `Identity`
- `AMG`
- `ILU`
- `Diagonal` | | `max iterations` | `integer` | `10000` | Set the maximum number of iterations for solving the linear system of equations. | | `rel tolerance` | `number` | `1e-12` | Set the relative tolerance for a successful solution of the linear system of equations. | | `abs tolerance` | `number` | `1e-20` | Set the absolute tolerance for a successful solution of the linear system of equations. | | `do matrix free` | `boolean` | `True` | Set this parameter if a matrix free solution procedure should be performed. | | `monitor type` | `string` | `none` | Set the monitor type of the linear solver.

Allowed values:
- `none`
- `reduced`
- `all` | ### `level set: reinitialization` | Parameter | Type | Default | Description | |---|---|---|---| | [`fe`](#level-set-reinitialization-fe) | `object` | | [See table](#level-set-reinitialization-fe) | | [`predictor`](#level-set-reinitialization-predictor) | `object` | | [See table](#level-set-reinitialization-predictor) | | [`linear solver`](#level-set-reinitialization-linear-solver) | `object` | | [See table](#level-set-reinitialization-linear-solver) | | `enable` | `boolean` | `True` | Set to true to activate reinitialization. | | `type` | `string` | `olsson2007` | Sets the type of reinitialization model that should be used.

Allowed values:
- `olsson2007`
- `elliptic`
- `geometric` | | [`interface thickness parameter`](#level-set-reinitialization-interface-thickness-parameter) | `object` | | [See table](#level-set-reinitialization-interface-thickness-parameter) | | [`elliptic`](#level-set-reinitialization-elliptic) | `object` | | [See table](#level-set-reinitialization-elliptic) | | [`geometric`](#level-set-reinitialization-geometric) | `object` | | [See table](#level-set-reinitialization-geometric) | | [`hyperbolic`](#level-set-reinitialization-hyperbolic) | `object` | | [See table](#level-set-reinitialization-hyperbolic) | #### `level set: reinitialization: fe` | Parameter | Type | Default | Description | |---|---|---|---| | `type` | `string` | `not_initialized` | Finite Element.FE_Q: hexahedral continuous finite element with polynomial degree p; FE_SimplexP: tetrahedral continuous finite element with polynomial degree p; FE_Q_iso_Q1: hexahedral continuous finite element with p subdivisions containing linear elements; FE_DGQ: hexahedral discontinuous finite element with polynomial degree p

Allowed values:
- `not_initialized`
- `FE_Q`
- `FE_SimplexP`
- `FE_Q_iso_Q1`
- `FE_DGQ` | | `degree` | `integer` | `-1` | Defines the degree p of the finite element type. If "type" is "FE_Q_iso_Q1" this parameter defines the number of subdivisions. | #### `level set: reinitialization: predictor` | Parameter | Type | Default | Description | |---|---|---|---| | `type` | `string` | `none` | Choose a predictor type: none: use old value as initial guess; zero: se zeros as initial guess; linear_extrapolation: calculate the predictor by a linear combination from the two old solution vectors; least_squares_projection: least squares projection (WIP)

Allowed values:
- `none`
- `zero`
- `linear_extrapolation`
- `least_squares_projection` | | `n old solutions` | `integer` | `2` | Choose the number of old solution vectors considered.This parameter is only relevant for least squares projection.For all other predictors, this parameter will be set appropriately. | #### `level set: reinitialization: linear solver` | Parameter | Type | Default | Description | |---|---|---|---| | `solver type` | `string` | `CG` | Set this parameter for choosing an iterative linear solver type.

Allowed values:
- `CG`
- `GMRES` | | `preconditioner type` | `string` | `Diagonal` | Set this parameter for choosing a preconditioner type.

Allowed values:
- `Identity`
- `AMG`
- `ILU`
- `Diagonal` | | `max iterations` | `integer` | `10000` | Set the maximum number of iterations for solving the linear system of equations. | | `rel tolerance` | `number` | `1e-12` | Set the relative tolerance for a successful solution of the linear system of equations. | | `abs tolerance` | `number` | `1e-20` | Set the absolute tolerance for a successful solution of the linear system of equations. | | `do matrix free` | `boolean` | `True` | Set this parameter if a matrix free solution procedure should be performed. | | `monitor type` | `string` | `none` | Set the monitor type of the linear solver.

Allowed values:
- `none`
- `reduced`
- `all` | #### `level set: reinitialization: interface thickness parameter` | Parameter | Type | Default | Description | |---|---|---|---| | `type` | `string` | `proportional_to_cell_size` | Choose the value type of the interface thickness parameter.

Allowed values:
- `proportional_to_cell_size`
- `absolute_value`
- `number_of_cells_across_interface` | | `val` | `number` | `0.5` | Defines the value of the chosen interface thickness parameter type. | #### `level set: reinitialization: elliptic` | Parameter | Type | Default | Description | |---|---|---|---| | `penalty parameter` | `number` | `0.0` | Penalty parameter for the enforcement of the initial position of the zero level-set iso-surface during the elliptic reinitialization. | | [`fixed point iteration`](#level-set-reinitialization-elliptic-fixed-point-iteration) | `object` | | [See table](#level-set-reinitialization-elliptic-fixed-point-iteration) | ##### `level set: reinitialization: elliptic: fixed point iteration` | Parameter | Type | Default | Description | |---|---|---|---| | `max n steps` | `integer` | `5` | Sets the maximum number of fixed point iterations. | | `tolerance` | `number` | `2.22507e-308` | Set the tolerance for reinitialization. If the maximum change of the level set field exceeds the tolerance, reinitialization steps will be performed. | #### `level set: reinitialization: geometric` | Parameter | Type | Default | Description | |---|---|---|---| | `verbosity` | `integer` | `0` | Choose the verbosity level. 0 means silent, 1 means verbose. | | `max distance` | `number` | `1.61792e+308` | Maximum distance from the zero-level-set where the signeddistance function is reconstructed. | #### `level set: reinitialization: hyperbolic` | Parameter | Type | Default | Description | |---|---|---|---| | [`pseudo time stepping`](#level-set-reinitialization-hyperbolic-pseudo-time-stepping) | `object` | | [See table](#level-set-reinitialization-hyperbolic-pseudo-time-stepping) | | [`Continuous Galerkin`](#level-set-reinitialization-hyperbolic-continuous-galerkin) | `object` | | [See table](#level-set-reinitialization-hyperbolic-continuous-galerkin) | | [`Discontinuous Galerkin`](#level-set-reinitialization-hyperbolic-discontinuous-galerkin) | `object` | | [See table](#level-set-reinitialization-hyperbolic-discontinuous-galerkin) | ##### `level set: reinitialization: hyperbolic: pseudo time stepping` | Parameter | Type | Default | Description | |---|---|---|---| | `n initial steps` | `integer` | `-1` | Defines the number of initial reinitialization steps of the level set function. In the default case, the number is set equal to the number of max n steps. | | `pseudo time step size` | `number` | `-1.0` | Sets the reinitialization time step size. By default, it is computed from the cell size. | | `pseudo time step factor` | `number` | `1.0` | Factor on the reinitialization time step size that is computed from the cell size. | | `max n steps` | `integer` | `5` | Sets the maximum number of reinitialization steps. | | `tolerance` | `number` | `2.22507e-308` | Set the tolerance for reinitialization. If the maximum change of the level set field exceeds the tolerance, reinitialization steps will be performed. | ##### `level set: reinitialization: hyperbolic: Continuous Galerkin` | Parameter | Type | Default | Description | |---|---|---|---| | `implementation` | `string` | `meltpooldg` | Choose the corresponding implementation of the reinitialization operation.

Allowed values:
- `meltpooldg`
- `adaflo` | | `tangential diffusion factor` | `number` | `0.0` | Factor that multiplies the normal diffusion factor, i.e., the diffusion length, to obtain the diffusion factor in the tangential direction. | ##### `level set: reinitialization: hyperbolic: Discontinuous Galerkin` | Parameter | Type | Default | Description | |---|---|---|---| | `factor diffusivity` | `number` | `0.25` | Set the factor for diffusivity. | | `IP diffusion` | `number` | `100.0` | Set the internal penalty for diffusivity. | | `use const gradient in RI` | `boolean` | `False` | Set if the Godunov gradient should be updated every reinitialization step. | | `do CFL based time stepping` | `boolean` | `False` | Sets a flag if the time stepping should be based on the CFL condition. | | `time integration scheme` | `string` | `LSRK_stage_5_order_4` | Determines the general time integration scheme for the pseudo-time integration of the reinitialization equation.

Allowed values:
- `not_initialized`
- `LSRK_stage_1_order_1`
- `LSRK_stage_3_order_3`
- `LSRK_stage_5_order_4`
- `LSRK_stage_7_order_4`
- `LSRK_stage_9_order_5`
- `implicit_euler`
- `explicit_euler`
- `crank_nicolson`
- `bdf_1`
- `bdf_2`
- `bdf_3`
- `bdf_4`
- `bdf_5`
- `bdf_6`
- `imex` | | `IMEX integration scheme` | `string` | `not_initialized` | If an IMEX integration scheme is specified, the integration in pseudo time of the reinitialization is done with an implicit-explicit scheme. This means that the diffusion part is treated with the IMEX integration scheme and the Hamiltonian is treated with the general time integration scheme. When choosing an implicit scheme with A-stability, larger time steps can be chosen, only limited by the stability of the Hamiltonian part. This is done since the diffusion part is the most restrictive part for explicit time integration schemes. If a scheme is set, the time step calculation based on a CFL number assumes an A-stable scheme and only calculates the time step based on the Hamiltonian.

Allowed values:
- `not_initialized`
- `LSRK_stage_1_order_1`
- `LSRK_stage_3_order_3`
- `LSRK_stage_5_order_4`
- `LSRK_stage_7_order_4`
- `LSRK_stage_9_order_5`
- `implicit_euler`
- `explicit_euler`
- `crank_nicolson`
- `bdf_1`
- `bdf_2`
- `bdf_3`
- `bdf_4`
- `bdf_5`
- `bdf_6`
- `imex` | | `CFL` | `number` | `1.0` | Set a CFL number for the pseudo-time stepping in reinitialization. | | `avoid zero division smoothed signum` | `number` | `1e-16` | Sets a constant to avoid zero division in the computation of the smoothed signum. | | `signum smoothness paramater` | `number` | `2.0` | Sets the smoothness parameter for the smoothed signum. | | `use directed diffusion stabilization` | `boolean` | `False` | Sets a flag if directed diffusion stabilization should be used for reinitialization. | | `hyperbolic weighting function_type` | `string` | `smoothed_signum` | Sets the type of weighting function for the hyperbolic part of the reinitialization equation.

Allowed values:
- `smoothed_signum`
- `initial_levelset` | | `use spatially constant diffusion` | `boolean` | `True` | Sets a flag if a spatially constant diffusion should be used for reinitialization. | | `use interface movement penalization` | `boolean` | `False` | Sets a flag if a penalization of the interface movement should be used. | | `gradient error time derivative threshold` | `number` | `1e-16` | Sets the threshold in the time derivative when a reinitialization procedure reaches a stationary point. | --- ## `🔷 heat` | Parameter | Type | Default | Description | |---|---|---|---| | [`fe`](#heat-fe) | `object` | | [See table](#heat-fe) | | `operator type` | `string` | `diffuse` | Choose the heat operator implementation. Options: diffuse, cut

Allowed values:
- `diffuse`
- `cut` | | [`cut`](#heat-cut) | `object` | | [See table](#heat-cut) | | `enable time dependent bc` | `boolean` | `False` | Set this parameter to true to enable time-dependent bc. | | [`diffuse`](#heat-diffuse) | `object` | | [See table](#heat-diffuse) | | [`radiative boundary condition`](#heat-radiative-boundary-condition) | `object` | | [See table](#heat-radiative-boundary-condition) | | [`convective boundary condition`](#heat-convective-boundary-condition) | `object` | | [See table](#heat-convective-boundary-condition) | | `verbosity level` | `integer` | `-1` | Sets the maximum verbosity level of the console output. | | [`nlsolve`](#heat-nlsolve) | `object` | | [See table](#heat-nlsolve) | | [`linear solver`](#heat-linear-solver) | `object` | | [See table](#heat-linear-solver) | | [`predictor`](#heat-predictor) | `object` | | [See table](#heat-predictor) | ### `heat: fe` | Parameter | Type | Default | Description | |---|---|---|---| | `type` | `string` | `not_initialized` | Finite Element.FE_Q: hexahedral continuous finite element with polynomial degree p; FE_SimplexP: tetrahedral continuous finite element with polynomial degree p; FE_Q_iso_Q1: hexahedral continuous finite element with p subdivisions containing linear elements; FE_DGQ: hexahedral discontinuous finite element with polynomial degree p

Allowed values:
- `not_initialized`
- `FE_Q`
- `FE_SimplexP`
- `FE_Q_iso_Q1`
- `FE_DGQ` | | `degree` | `integer` | `-1` | Defines the degree p of the finite element type. If "type" is "FE_Q_iso_Q1" this parameter defines the number of subdivisions. | ### `heat: cut` | Parameter | Type | Default | Description | |---|---|---|---| | `two phase` | `boolean` | `True` | Set this parameter to "false" to ignore the gas phase. | | `theta` | `number` | `0.5` | Parameter for one step theta time integration. | | `do explicit symmetry term` | `boolean` | `True` | Set this parameter to true to consider the explicit symmetry term. Note: this parameter only applies if the setup is two-phase. | | [`stabilization`](#heat-cut-stabilization) | `object` | | [See table](#heat-cut-stabilization) | #### `heat: cut: stabilization` | Parameter | Type | Default | Description | |---|---|---|---| | `nitsche parameter` | `number` | `1.0` | Nitsche stabilization parameter. | | [`ghost-penalty`](#heat-cut-stabilization-ghost-penalty) | `object` | | [See table](#heat-cut-stabilization-ghost-penalty) | ##### `heat: cut: stabilization: ghost-penalty` | Parameter | Type | Default | Description | |---|---|---|---| | `gamma M degree 0` | `number` | `1.0` | Mass matrix ghost-penalty parameter for degree 0. | | `gamma M degree 1` | `number` | `1.0` | Mass matrix ghost-penalty parameter for degree 1. | | `gamma M degree 2` | `number` | `1.0` | Mass matrix ghost-penalty parameter for degree 2. | | `gamma A degree 0` | `number` | `1.0` | Stiffness matrix ghost-penalty parameter for degree 0. | | `gamma A degree 1` | `number` | `1.0` | Stiffness matrix ghost-penalty parameter for degree 1. | | `gamma A degree 2` | `number` | `1.0` | Stiffness matrix ghost-penalty parameter for degree 2. | ### `heat: diffuse` | Parameter | Type | Default | Description | |---|---|---|---| | `use volume-specific thermal capacity for phase interpolation` | `boolean` | `False` | Perform phase interpolation via the volumetric thermal capacity (product of density and capacity) instead of interpolating density and thermal capacity individually. | ### `heat: radiative boundary condition` | Parameter | Type | Default | Description | |---|---|---|---| | `emissivity` | `number` | `0.0` | Emissivity. | | `temperature infinity` | `number` | `0.0` | Infinity temperature. | ### `heat: convective boundary condition` | Parameter | Type | Default | Description | |---|---|---|---| | `convection coefficient` | `number` | `0.0` | Convection coefficient. | | `temperature infinity` | `number` | `0.0` | Infinity temperature. | ### `heat: nlsolve` | Parameter | Type | Default | Description | |---|---|---|---| | `max nonlinear iterations` | `integer` | `10` | Set the number of maximum nonlinear iterations with standard tolerances. | | `field correction tolerance` | `number` | `1e-10` | Set the tolerance for the maximum allowed correction of the unknown field. | | `residual tolerance` | `number` | `1e-09` | Set the tolerance for the maximum allowed residual of the nonlinear system. | | `max nonlinear iterations alt` | `integer` | `0` | Set the number of maximum nonlinear iterations with alternative tolerances. | | `field correction tolerance alt` | `number` | `1e-09` | Set the alternative tolerance for the maximum allowed correction of the unknown field. | | `residual tolerance alt` | `number` | `1e-08` | Set the alternative tolerance for the maximum allowed residual of the nonlinear system. | | `verbosity level` | `integer` | `-1` | Set to one for detailed solver output. | ### `heat: linear solver` | Parameter | Type | Default | Description | |---|---|---|---| | `solver type` | `string` | `GMRES` | Set this parameter for choosing an iterative linear solver type.

Allowed values:
- `CG`
- `GMRES` | | `preconditioner type` | `string` | `Diagonal` | Set this parameter for choosing a preconditioner type.

Allowed values:
- `Identity`
- `AMG`
- `ILU`
- `Diagonal` | | `max iterations` | `integer` | `10000` | Set the maximum number of iterations for solving the linear system of equations. | | `rel tolerance` | `number` | `1e-12` | Set the relative tolerance for a successful solution of the linear system of equations. | | `abs tolerance` | `number` | `1e-20` | Set the absolute tolerance for a successful solution of the linear system of equations. | | `do matrix free` | `boolean` | `True` | Set this parameter if a matrix free solution procedure should be performed. | | `monitor type` | `string` | `none` | Set the monitor type of the linear solver.

Allowed values:
- `none`
- `reduced`
- `all` | ### `heat: predictor` | Parameter | Type | Default | Description | |---|---|---|---| | `type` | `string` | `linear_extrapolation` | Choose a predictor type: none: use old value as initial guess; zero: se zeros as initial guess; linear_extrapolation: calculate the predictor by a linear combination from the two old solution vectors; least_squares_projection: least squares projection (WIP)

Allowed values:
- `none`
- `zero`
- `linear_extrapolation`
- `least_squares_projection` | | `n old solutions` | `integer` | `2` | Choose the number of old solution vectors considered.This parameter is only relevant for least squares projection.For all other predictors, this parameter will be set appropriately. | --- ## `🔷 laser` | Parameter | Type | Default | Description | |---|---|---|---| | `model` | `string` | `not_initialized` | Laser model. analytical_temperature: see Mirkoohi et al. (2019); volumetric: volumetric heat source, the intensity is defined by ""intensity profile""; interface_projection: projection-based regularized continuum surface flux in "direction", the intensity is defined by ""intensity profile""; interface_projection_sharp: projection-based sharp surface flux in "direction", the intensity is defined by ""intensity profile""; interface_projection_sharp_conforming: projection-based sharp surface flux in "direction" on a conforming mesh, the intensity is defined by ""intensity profile""; RTE: continuum surface flux projected using the radiative transport equation in "direction", supporting shadowing of undercuts, the intensity is defined by ""intensity profile"";

Allowed values:
- `not_initialized`
- `analytical_temperature`
- `volumetric`
- `interface_projection_regularized`
- `interface_projection_sharp`
- `interface_projection_sharp_conforming`
- `RTE` | | `intensity profile` | `string` | `Gauss` | Laser intensity profile. uniform: note that the "power" input is treated as the uniform power density in the whole domain; Gauss: Gaussian laser intensity shape with "radius" that retains the "power"; Gusarov: see Gusarov et al. (2009);

Allowed values:
- `uniform`
- `Gauss`
- `Gusarov` | | `power` | `number` | `0.0` | Laser power | | `power over time` | `string` | `constant` | Temporal distribution of the laser power

Allowed values:
- `constant`
- `ramp` | | `power start time` | `number` | `0.0` | In case of time-dependent laser power: activation time of | | `power end time` | `number` | `1.79769e+308` | In case of time-dependent laser power: end time of | | `absorptivity gas` | `number` | `1.0` | Laser energy absorptivity of the gaseous part of the domain. | | `absorptivity liquid` | `number` | `1.0` | Laser energy absorptivity of the liquid part of the domain. | | `starting position` | `string` | `` | Center coordinates of the laser beam starting position on the interface melt/gas. | | `scan speed` | `number` | `0.0` | Scan speed of the laser | | `scan direction` | `string` | `` | Direction of laser motion as a vector | | `beam direction` | `string` | `` | Laser beam direction. | | `beam rotation axis` | `string` | `` | Axis around which the initial laser beam direction will be rotated. Relevant only in 3D. | | `beam rotation angle` | `number` | `0.0` | Rotation angle applied to the laser beam direction (in 3D about 'beam rotation axis' following the right-hand rule; in 2D: as defined by the 2D rotation matrix | | `radius` | `number` | `0.0` | Laser beam radius. | | [`gusarov`](#laser-gusarov) | `object` | | [See table](#laser-gusarov) | | [`analytical`](#laser-analytical) | `object` | | [See table](#laser-analytical) | | [`dirac delta function approximation`](#laser-dirac-delta-function-approximation) | `object` | | [See table](#laser-dirac-delta-function-approximation) | ### `laser: gusarov` | Parameter | Type | Default | Description | |---|---|---|---| | `reflectivity` | `number` | `0.0` | Reflectivity of the material. | | `extinction coefficient` | `number` | `0.0` | Extinction coefficient in [1/m]. | | `layer thickness` | `number` | `0.0` | Layer thickness | ### `laser: analytical` | Parameter | Type | Default | Description | |---|---|---|---| | `ambient temperature` | `number` | `0.0` | Ambient temperature in the inert gas. | | `max temperature` | `number` | `0.0` | Maximum temperature arising in the melt pool. If this temperature is lower than the boiling temperature, this value is corrected to correspond to the boiling temperature + 500 K. | | `temperature x to y ratio` | `number` | `1.0` | This factor scales the analytical temperature field to be anisotropic. | ### `laser: dirac delta function approximation` | Parameter | Type | Default | Description | |---|---|---|---| | `type` | `string` | `norm_of_indicator_gradient` | Choose how to smear a parameter over the interface.

Allowed values:
- `norm_of_indicator_gradient`
- `heaviside_phase_weighted`
- `heaviside_times_heaviside_phase_weighted`
- `reciprocal_phase_weighted`
- `reciprocal_times_heaviside_phase_weighted`
- `heavy_phase_only` | | `auto weights` | `boolean` | `False` | Choose if weights should be computed automatically. | | `gas phase weight` | `number` | `1.0` | If >>> dirac delta function approximation type <<< is set to any phase weighted optionthis parameter controls the (first) weight of the gas phase (level set = -1). | | `heavy phase weight` | `number` | `1.0` | If >>> dirac delta function approximation type <<< is set to any phase weighted optionthis parameter controls the (first) weight of the heavy phase (level set = 1). | | `gas phase weight 2` | `number` | `1.0` | If >>> dirac delta function approximation type <<< is set to >>> heaviside_times_heaviside_phase_weighted <<< this parameter controls the second weight of the gas phase (level set = -1). | | `heavy phase weight 2` | `number` | `1.0` | If >>> dirac delta function approximation type <<< is set to >>> heaviside_times_heaviside_phase_weighted <<< this parameter controls the second weight of the heavy liquid/solid phase (level set = 1). | --- ## `🔷 rte` | Parameter | Type | Default | Description | |---|---|---|---| | [`fe`](#rte-fe) | `object` | | [See table](#rte-fe) | | `rte verbosity level` | `integer` | `-1` | Sets the maximum verbosity level of the console output. The maximum level with respect to the base value is decisive. | | `predictor type` | `string` | `none` | Choose a predictor type.

Allowed values:
- `none`
- `pseudo_time_stepping` | | `absorptivity type` | `string` | `gradient_based` | Chooses the formulation of the absorptivity coefficient

Allowed values:
- `constant`
- `gradient_based` | | `avoid singular matrix absorptivity` | `number` | `1e-16` | Minimum value for absorptivity to ensure a non-singular matrix for RTE. | | [`linear solver`](#rte-linear-solver) | `object` | | [See table](#rte-linear-solver) | | [`pseudo time stepping`](#rte-pseudo-time-stepping) | `object` | | [See table](#rte-pseudo-time-stepping) | | [`absorptivity`](#rte-absorptivity) | `object` | | [See table](#rte-absorptivity) | ### `rte: fe` | Parameter | Type | Default | Description | |---|---|---|---| | `type` | `string` | `not_initialized` | Finite Element.FE_Q: hexahedral continuous finite element with polynomial degree p; FE_SimplexP: tetrahedral continuous finite element with polynomial degree p; FE_Q_iso_Q1: hexahedral continuous finite element with p subdivisions containing linear elements; FE_DGQ: hexahedral discontinuous finite element with polynomial degree p

Allowed values:
- `not_initialized`
- `FE_Q`
- `FE_SimplexP`
- `FE_Q_iso_Q1`
- `FE_DGQ` | | `degree` | `integer` | `-1` | Defines the degree p of the finite element type. If "type" is "FE_Q_iso_Q1" this parameter defines the number of subdivisions. | ### `rte: linear solver` | Parameter | Type | Default | Description | |---|---|---|---| | `solver type` | `string` | `GMRES` | Set this parameter for choosing an iterative linear solver type.

Allowed values:
- `CG`
- `GMRES` | | `preconditioner type` | `string` | `ILU` | Set this parameter for choosing a preconditioner type.

Allowed values:
- `Identity`
- `AMG`
- `ILU`
- `Diagonal` | | `max iterations` | `integer` | `10000` | Set the maximum number of iterations for solving the linear system of equations. | | `rel tolerance` | `number` | `1e-12` | Set the relative tolerance for a successful solution of the linear system of equations. | | `abs tolerance` | `number` | `1e-20` | Set the absolute tolerance for a successful solution of the linear system of equations. | | `do matrix free` | `boolean` | `True` | Set this parameter if a matrix free solution procedure should be performed. | | `monitor type` | `string` | `none` | Set the monitor type of the linear solver.

Allowed values:
- `none`
- `reduced`
- `all` | ### `rte: pseudo time stepping` | Parameter | Type | Default | Description | |---|---|---|---| | `diffusion term scaling` | `number` | `1.0` | Scaling parameter of diffusion term. | | `advection term scaling` | `number` | `1.0` | Scaling parameter of advection term. | | `pseudo time scaling` | `number` | `0.01` | Determine the pseudo-time step as the product of this scaling and minimum cell size. | | `rel tolerance` | `number` | `0.001` | Pseudo-time stepping relative tolerance. | | [`time stepping`](#rte-pseudo-time-stepping-time-stepping) | `object` | | [See table](#rte-pseudo-time-stepping-time-stepping) | | [`linear solver`](#rte-pseudo-time-stepping-linear-solver) | `object` | | [See table](#rte-pseudo-time-stepping-linear-solver) | #### `rte: pseudo time stepping: time stepping` | Parameter | Type | Default | Description | |---|---|---|---| | `start time` | `number` | `0.0` | Defines the start time for the solution of the levelset problem | | `end time` | `number` | `1.79769e+308` | Sets the end time for the solution of the levelset problem | | `time step size` | `number` | `0.0` | Sets the step size for time stepping. For non-uniform time stepping, this parameter determines the size of the first time step. | | `max n steps` | `integer` | `1` | Sets the maximum number of melt_pool steps | | `time step size function` | `string` | `0.0*t` | Set an analytical function to determine the time step size. For the prediction of the new time increment, the old time is used. | #### `rte: pseudo time stepping: linear solver` | Parameter | Type | Default | Description | |---|---|---|---| | `solver type` | `string` | `CG` | Set this parameter for choosing an iterative linear solver type.

Allowed values:
- `CG`
- `GMRES` | | `preconditioner type` | `string` | `ILU` | Set this parameter for choosing a preconditioner type.

Allowed values:
- `Identity`
- `AMG`
- `ILU`
- `Diagonal` | | `max iterations` | `integer` | `10000` | Set the maximum number of iterations for solving the linear system of equations. | | `rel tolerance` | `number` | `1e-12` | Set the relative tolerance for a successful solution of the linear system of equations. | | `abs tolerance` | `number` | `1e-20` | Set the absolute tolerance for a successful solution of the linear system of equations. | | `do matrix free` | `boolean` | `True` | Set this parameter if a matrix free solution procedure should be performed. | | `monitor type` | `string` | `none` | Set the monitor type of the linear solver.

Allowed values:
- `none`
- `reduced`
- `all` | ### `rte: absorptivity` | Parameter | Type | Default | Description | |---|---|---|---| | `absorptivity gas` | `number` | `0.1` | Sets the absorptivity of the gas phase. | | `absorptivity liquid` | `number` | `0.9` | Sets the absorptivity of the liquid phase. | | `avoid div zero constant` | `number` | `1e-16` | Sets the absorptivity of the gas phase. | --- ## `🔷 flow` | Parameter | Type | Default | Description | |---|---|---|---| | `gravity` | `number` | `0.0` | Set the value for the gravity | | [`surface tension`](#flow-surface-tension) | `object` | | [See table](#flow-surface-tension) | | [`darcy damping`](#flow-darcy-damping) | `object` | | [See table](#flow-darcy-damping) | | [`adaflo`](#flow-adaflo) | `object` | | [See table](#flow-adaflo) | ### `flow: surface tension` | Parameter | Type | Default | Description | |---|---|---|---| | `surface tension coefficient` | `number` | `0.0` | Constant coefficient for calculating surface tension | | `temperature dependent surface tension coefficient` | `number` | `0.0` | Temperature-dependent coefficient for calculating temperetaure-dependent surface tension (Marangoni convection) | | `reference temperature` | `number` | `-1e+100` | Reference temperature for calculating surface tension | | `interface temperature evaluation type` | `string` | `local_value` | Type that determines how the temperature-dependent surface tension is computed in the interfacial zone.

Allowed values:
- `local_value`
- `interface_value` | | `coefficient residual fraction` | `number` | `0.0` | Define the minimum fraction of the constant surface tension reference value that can be reached. | | `zero surface tension in solid` | `boolean` | `False` | Set this parameter to true to only apply surface tension if the solid fraction is zero. | | [`dirac delta function approximation`](#flow-surface-tension-dirac-delta-function-approximation) | `object` | | [See table](#flow-surface-tension-dirac-delta-function-approximation) | | [`time step limit`](#flow-surface-tension-time-step-limit) | `object` | | [See table](#flow-surface-tension-time-step-limit) | #### `flow: surface tension: dirac delta function approximation` | Parameter | Type | Default | Description | |---|---|---|---| | `type` | `string` | `norm_of_indicator_gradient` | Choose how to smear a parameter over the interface.

Allowed values:
- `norm_of_indicator_gradient`
- `heaviside_phase_weighted`
- `heaviside_times_heaviside_phase_weighted`
- `reciprocal_phase_weighted`
- `reciprocal_times_heaviside_phase_weighted`
- `heavy_phase_only` | | `auto weights` | `boolean` | `False` | Choose if weights should be computed automatically. | | `gas phase weight` | `number` | `1.0` | If >>> dirac delta function approximation type <<< is set to any phase weighted optionthis parameter controls the (first) weight of the gas phase (level set = -1). | | `heavy phase weight` | `number` | `1.0` | If >>> dirac delta function approximation type <<< is set to any phase weighted optionthis parameter controls the (first) weight of the heavy phase (level set = 1). | | `gas phase weight 2` | `number` | `1.0` | If >>> dirac delta function approximation type <<< is set to >>> heaviside_times_heaviside_phase_weighted <<< this parameter controls the second weight of the gas phase (level set = -1). | | `heavy phase weight 2` | `number` | `1.0` | If >>> dirac delta function approximation type <<< is set to >>> heaviside_times_heaviside_phase_weighted <<< this parameter controls the second weight of the heavy liquid/solid phase (level set = 1). | #### `flow: surface tension: time step limit` | Parameter | Type | Default | Description | |---|---|---|---| | `enable` | `boolean` | `False` | Set this parameter to true to check whether the time step limit is not exceeded. | | `scale factor` | `number` | `1.0` | Scale factor between 0 and 1 to compute the time step limit. | ### `flow: darcy damping` | Parameter | Type | Default | Description | |---|---|---|---| | `mushy zone morphology` | `number` | `0.0` | Mushy zone morphology for Darcy damping | | `avoid div zero constant` | `number` | `0.001` | This parameter exists to avoid division by zero in the Kozeny–Carman equation for the Darcy damping force. | | `formulation` | `string` | `implicit_formulation` | Set the formulation of the Darcy damping force.

Allowed values:
- `implicit_formulation`
- `explicit_formulation` | ### `flow: adaflo` | Parameter | Type | Default | Description | |---|---|---|---| | [`Navier-Stokes`](#flow-adaflo-navier-stokes) | `object` | | [See table](#flow-adaflo-navier-stokes) | | [`Output options`](#flow-adaflo-output-options) | `object` | | [See table](#flow-adaflo-output-options) | | [`Two phase`](#flow-adaflo-two-phase) | `object` | | [See table](#flow-adaflo-two-phase) | | [`Time stepping`](#flow-adaflo-time-stepping) | `object` | | [See table](#flow-adaflo-time-stepping) | #### `flow: adaflo: Navier-Stokes` | Parameter | Type | Default | Description | |---|---|---|---| | `dimension` | `integer` | `0` | Defines the dimension of the problem. Not essential to the Navier-Stokes class, but useful in many applications. | | `global refinements` | `integer` | `1` | Defines the number of initial global refinements. Not used in the Navier-Stokes class, but useful in many applications. | | `anisotropic refinement` | `boolean` | `False` | defines whether the mesh should be refined anisotropically in normal direction to the interface, 0 means no anisotropy | | `simplex mesh` | `boolean` | `False` | defines whether a simplex mesh has been provided, 0 means mesh with only quadrilaterals (2D) and hexahedra (3D) has been provided | | `adaptive refinements` | `integer` | `0` | Defines the number of adaptive refinements. Not used in the Navier-Stokes class, but useful in many applications. | | `velocity degree` | `integer` | `2` | Sets the degree for velocity. Pressure degree is velocity degree minus one. Currently implemented for orders 2 to 6 | | `augmented Taylor-Hood elements` | `boolean` | `False` | Option to choose the pressure space FE_Q_DG0(p_degree) instead of the standard space FE_Q(p_degree). This adds a constant discontinuous part to the pressure basis and gives element-wise divergence-free solutions. It produces solutions that are in general better but also a bit more expensive to compute. | | `viscosity` | `number` | `1.0` | Defines the fluid dynamic viscosity | | `density` | `number` | `1.0` | Defines the fluid density | | `damping` | `number` | `0.0` | Defines the fluid damping | | `physical type` | `string` | `incompressible` | Sets the type of equations, Navier-Stokes or Stokes. For Navier-Stokes, one can choose between a stationary and a time-dependent variant. The time-dependent Navier-Stokes equations are the default.

Allowed values:
- `incompressible`
- `incompressible stationary`
- `stokes` | | `constitutive type` | `string` | `newtonian incompressible` | Sets the type of constitutive equations. The incompressible Newtonian fluid assumption is the default case. Alternatively, a compressible Newtonian fluid formulation exploiting the Stokes hypothesis or a user defined type can be chosen.

Allowed values:
- `newtonian incompressible`
- `newtonian compressible stokes hypothesis`
- `user defined` | | `formulation convective term momentum balance` | `string` | `skew-symmetric` | Sets the formulation of the convective term in the momentum balance of the Navier-Stokes equations, i.e. ∇·(u x u) =(u·∇)u + βu(∇·u). The parameter β will be set to 1 for the conservative form, to 0 for the convective form and to 0.5 for the skew-symmetric form (default formulation).

Allowed values:
- `skew-symmetric`
- `convective`
- `conservative` | | [`Solver`](#flow-adaflo-navier-stokes-solver) | `object` | | [See table](#flow-adaflo-navier-stokes-solver) | ##### `flow: adaflo: Navier-Stokes: Solver` | Parameter | Type | Default | Description | |---|---|---|---| | `NL max iterations` | `integer` | `10` | Defines the maximum number of nonlinear Newton iterations. | | `NL tolerance` | `number` | `1e-06` | Defines the tolerance in the residual l2 norm in the nonlinear Newton iteration. | | `linearization scheme` | `string` | `coupled implicit Newton` | Sets how to treat the coupled nonlinear Navier-Stokes system. The 'coupled' variants solve for the full block system, whereas 'projection' applies a fractional-step pressure correction method with the solution of a pressure Poisson matrix. The nonlinear convective term can be treated by afull Newton iteration, a Picard iteration (fixed-point like), a semi-implicit approach with the same term as in the fixed-point like iteration but velocity extrapolated from the old time, and an approach where the complete convective term is treated explicitly. For the projection scheme, only the semi-implicit velocity treatment is implemented because iterating out the nonlinearity makes no sense.

Allowed values:
- `coupled implicit Newton`
- `coupled implicit Picard`
- `coupled velocity semi-implicit`
- `coupled velocity explicit`
- `projection` | | `tau grad div` | `number` | `0.0` | Adds the term (div(v), tau div(u))to the weak form the momentum equation, which is consistent with the Navier-Stokes equations but penalizes the divergence more. This term is usually referred to as grad-div stabilization. It simplifies the solution of linear systems if tau is on the order of unity but not too large (as the added term is singular). | | `lin max iterations` | `integer` | `500` | Maximum number of linear iterations | | `lin tolerance` | `number` | `0.001` | Tolerance for the linear solver | | `lin relative tolerance` | `boolean` | `True` | Sets whether the residual for the linear solver should be measured relative to the nonlinear residual (recommended option). | | `lin velocity preconditioner` | `string` | `amg linear` | Sets the preconditioner for approximating the inverse of the velocity matrix in the Schur complement preconditioner. 'amg linear' uses a matrix based on subdividing FE_Q into several linear elements to create a matrix hierarchy. This might decrease interpolation quality, but AMG is typically much better for linears, so it is recommended for more complex problems with relatively large time steps or large viscosities, otherwise ILU. The method 'ilu scalar' is a simplified ILU that only constructs the ILU for one velocity block and applies the same operator to all components. It is cheaper to apply but approximates somewhat worse.

Allowed values:
- `ilu`
- `ilu scalar`
- `amg linear`
- `amg` | | `lin pressure mass preconditioner` | `string` | `ilu` | Sets whether the pressure mass matrix in the Schur complement should be represented by the diagonal only or by an ILU based on the full pressure mass matrix.

Allowed values:
- `ilu`
- `diagonal` | | `lin its before inner solvers` | `integer` | `50` | The linear solver comes in two flavors. A simple solver which uses only AMG V-cycles or ILUs as preconditioner components in the Schur complement, or a stronger solver with inner iterations. The variant with inner solves is less efficient when only a few iterations are needed, but much more robust and more efficient for many iterations. This option sets how many linear iterations with the cheap preconditioners should be made before the stronger version with more iterations starts. | #### `flow: adaflo: Output options` | Parameter | Type | Default | Description | |---|---|---|---| | `output filename` | `string` | `` | Sets the base name for the file output. | | `output verbosity` | `integer` | `2` | Sets the amount of information from the Navier-Stokes solver that is printed to screen. 0 means no output at all, and larger numbers mean an increasing amount of output (maximum value: 3). A value of 3 not only includes solver iterations but also details on solution time and some memory statistics. | | `output frequency` | `number` | `1.0` | defines at with time interface the solution should be written to file (in supported routines) | | `output vtk files` | `integer` | `0` | defines whether to output vtk files with the whole solution field or just collected point data | | `output wall times` | `boolean` | `False` | Defines whether to output wall times. 0 means no output. | | `output memory` | `boolean` | `False` | Defines whether to output memory. 0 means no output. | #### `flow: adaflo: Two phase` | Parameter | Type | Default | Description | |---|---|---|---| | `density` | `number` | `-1.0` | Density of fluid 1 (negative region of level set function). If given a positive value, overwrites density in Navier-Stokes subsection. | | `density difference` | `number` | `0.0` | absolute difference in density compared to fluid 1 | | `viscosity` | `number` | `-1.0` | Dynamic viscosity of fluid 1 (negative region of level set function). If given a positive value, overwrites density in Navier-Stokes subsection. | | `viscosity difference` | `number` | `0.0` | absolute difference in viscosity compared to fluid 1 | | `surface tension` | `number` | `1.0` | surface tension coefficient | | `epsilon` | `number` | `1.0` | Width of diffuse interface, relative to mesh size for Level-Set method, but absolute for Cahn-Hilliard. | | `gravity` | `number` | `0.0` | Gravity. | | `diffusion length` | `number` | `0.1` | Diffusion length scale in Cahn-Hilliard. Its square equals the mobility and inverse Peclet number. | | `contact angle` | `number` | `0.0` | defines the contact angle at solid interfaces, at boundaries with indicator 0 or 2 | | `pressure constraint` | `boolean` | `True` | Fixes value of pressure in one point to zero | | `concentration subdivisions` | `integer` | `2` | Number of subdivision of Q1 elements in smaller elements to generate higher accuracy in level set/phase field | | `curvature correction` | `integer` | `0` | if 1, extend the curvature to the value at the interface in normal direction | | `grad pressure compatible` | `boolean` | `False` | if 1, the gradient in the surface tension force is interpolated from the pressure gradient | | `localize surface tension` | `boolean` | `True` | if 1, the surface tension is computed from a gradient that is localized around the interface (from a reconstructed distance function), otherwise it is computed from the tanh profile (i.e., nonzero everywhere) | | `approximate projections` | `boolean` | `False` | if 0, the normal and curvature in the level set method are computed by proper projection (full mass matrix and little diffusion), otherwise with diagonal mass matrix and time-dependent diffusion | | `Cahn-Hilliard do Newton` | `boolean` | `True` | Sets whether a Newton iteration should be done on the Cahn-Hilliard equation (if on that model). If 0 is selected, use a convexity splitting as proposed by Eyre. | | `full nonlinear iteration` | `boolean` | `False` | iterates between Navier-Stokes and concentration if enabled | | `number reinit steps` | `integer` | `2` | number of iterations in reinitialization | | `number initial reinit steps` | `integer` | `0` | reinitialization steps before starting the time loop (for bad initial profiles) | | `convection stabilization` | `boolean` | `False` | add stabilization terms to advection equation if set to 1 (typically not necessary) | #### `flow: adaflo: Time stepping` | Parameter | Type | Default | Description | |---|---|---|---| | `start time` | `number` | `0.0` | Sets the start time for the simulation | | `end time` | `number` | `1.0` | Sets the final time for the simulation | | `step size` | `number` | `0.01` | Sets the step size for time stepping. For non-uniform time stepping, this sets the size of the first time step. | | `CFL number` | `number` | `0.8` | Limits the time step size in terms of a condition dt <= CFL * dx / |u|, where u is a characteristic velocity. For two-phase flow, we typically take the velocity of the bubble | | `CFL number capillary` | `number` | `10.0` | Limits the time step size in terms of a condition dt <= CFL_cap * sqrt(rho/sigma) * dx^1.5, i.e., it represents a capillarity time step limit. | | `tolerance` | `number` | `0.01` | Sets the tolerance for time step selection in non-uniform time stepping strategies. | | `max step size` | `number` | `1.0` | Defines the maximum time step size in non-uniform strategies. | | `min step size` | `number` | `0.1` | Defines the minimum time step size in non-uniform strategies. | | `scheme` | `string` | `bdf_2` | Sets the time stepping scheme. Allowed options are explicit_euler, implicit_euler, crank_nicolson fractional0, fractional1, new_variant, and bdf_2.

Allowed values:
- `explicit_euler`
- `implicit_euler`
- `crank_nicolson`
- `bdf_2` | --- ## `🔷 evaporation` | Parameter | Type | Default | Description | |---|---|---|---| | `evaporative mass flux model` | `string` | `analytical` | Choose the formulation how the evaporative mass flux mDot (kg/(m2s)) will be calculated.

Allowed values:
- `analytical`
- `recoil_pressure`
- `saturated_vapor_pressure`
- `hardt_wondra`
- `pressure_aware` | | `interface temperature evaluation type` | `string` | `local_value` | Choose the formulation how the (local) evaporative mass flux will be converted to a DoF vector.will be calculated. When the CutFEM heat transfer operator is used, this input parameter is ignored and the temperature is evaluated at the sharp interface which is equivalent to "sharp".

Allowed values:
- `local_value`
- `interface_value` | | [`analytical`](#evaporation-analytical) | `object` | | [See table](#evaporation-analytical) | | [`hardt wondra`](#evaporation-hardt-wondra) | `object` | | [See table](#evaporation-hardt-wondra) | | [`pressure aware`](#evaporation-pressure-aware) | `object` | | [See table](#evaporation-pressure-aware) | | [`evaporative dilation rate`](#evaporation-evaporative-dilation-rate) | `object` | | [See table](#evaporation-evaporative-dilation-rate) | | [`evaporative cooling`](#evaporation-evaporative-cooling) | `object` | | [See table](#evaporation-evaporative-cooling) | | [`recoil pressure`](#evaporation-recoil-pressure) | `object` | | [See table](#evaporation-recoil-pressure) | | `formulation source term level set` | `string` | `interface_velocity_local` | Select the type how the evaporative mass flux should be considered in the level set equation.

Allowed values:
- `interface_velocity_sharp`
- `interface_velocity_sharp_heavy`
- `interface_velocity_local`
- `rhs` | | `do level set pressure gradient interpolation` | `boolean` | `False` | Set if the level set gradient for computing the delta function within the evaporative mass flux source terms should be computed based on an interpolation to the pressure space. This is only implemented for evapor_level_set_source_term_type = rhs. | ### `evaporation: analytical` | Parameter | Type | Default | Description | |---|---|---|---| | `function` | `string` | `not_initialized` | For evapor evaporation model == analytical, prescribe a spatially constant mass flux due to evaporation (SI unit in kg/m²s), as a function over time t , e.g. min(2.*t,0.01). | ### `evaporation: hardt wondra` | Parameter | Type | Default | Description | |---|---|---|---| | `coefficient` | `number` | `0.0` | Evaporation coefficient for the model by Hardt and Wondra. | ### `evaporation: pressure aware` | Parameter | Type | Default | Description | |---|---|---|---| | `Km` | `string` | `` | Fitting parameters for the evaporative mass flux function with pressure-aware boundary conditions. | | `ambient gas pressure` | `number` | `0.0` | Ambient gas pressure for the pressure-aware model. | ### `evaporation: evaporative dilation rate` | Parameter | Type | Default | Description | |---|---|---|---| | `enable` | `boolean` | `False` | Set this parameter to true to consider the evaporative dilation rate in the Navier-Stokes equation. This results in an evaporation-induced jump in the normal velocity component. | | `model` | `string` | `regularized` | Select how the additional source term due to evaporation in the continuity equation (=evaporative dilation rate) is computed.

Allowed values:
- `regularized`
- `sharp` | ### `evaporation: evaporative cooling` | Parameter | Type | Default | Description | |---|---|---|---| | `enable` | `boolean` | `False` | Set this parameter to true to consider evaporative cooling in the heat equation | | `enable linear activation ramp` | `boolean` | `True` | Enable a linear activation ramp for evaporative cooling between the activation temperature and the boiling temperature. If enabled, the mass flux increases smoothly and linearly within this temperature range. Otherwise, the mass flux is computed directly without applying a ramp. | | `consider enthalpy transport vapor mass flux` | `string` | `default` | Set this parameter to true to account for the enthalpy transported by the vapor mass flux in the heat equation. This is only recommended if the vapor mass flux is not considered in the Navier-Stokes equations.

Allowed values:
- `default`
- `true`
- `false` | | `activation temperature` | `number` | `-1e+100` | Activation temperature for the evaporative cooling. It must be smaller than or equal to the boiling temperature. By default, it will be chosen such that the transition from the linear activation ramp is kink-free. | | `model` | `string` | `regularized` | Select how the additional source term due to evaporation in the heat equation (evaporative cooling) is computed.

Allowed values:
- `none`
- `regularized`
- `sharp`
- `sharp_conforming` | | [`dirac delta function approximation`](#evaporation-evaporative-cooling-dirac-delta-function-approximation) | `object` | | [See table](#evaporation-evaporative-cooling-dirac-delta-function-approximation) | #### `evaporation: evaporative cooling: dirac delta function approximation` | Parameter | Type | Default | Description | |---|---|---|---| | `type` | `string` | `norm_of_indicator_gradient` | Choose how to smear a parameter over the interface.

Allowed values:
- `norm_of_indicator_gradient`
- `heaviside_phase_weighted`
- `heaviside_times_heaviside_phase_weighted`
- `reciprocal_phase_weighted`
- `reciprocal_times_heaviside_phase_weighted`
- `heavy_phase_only` | | `auto weights` | `boolean` | `False` | Choose if weights should be computed automatically. | | `gas phase weight` | `number` | `1.0` | If >>> dirac delta function approximation type <<< is set to any phase weighted optionthis parameter controls the (first) weight of the gas phase (level set = -1). | | `heavy phase weight` | `number` | `1.0` | If >>> dirac delta function approximation type <<< is set to any phase weighted optionthis parameter controls the (first) weight of the heavy phase (level set = 1). | | `gas phase weight 2` | `number` | `1.0` | If >>> dirac delta function approximation type <<< is set to >>> heaviside_times_heaviside_phase_weighted <<< this parameter controls the second weight of the gas phase (level set = -1). | | `heavy phase weight 2` | `number` | `1.0` | If >>> dirac delta function approximation type <<< is set to >>> heaviside_times_heaviside_phase_weighted <<< this parameter controls the second weight of the heavy liquid/solid phase (level set = 1). | ### `evaporation: recoil pressure` | Parameter | Type | Default | Description | |---|---|---|---| | `enable` | `boolean` | `False` | Set this parameter to true to prescribe the evaporation-induced jump in the pressure field (i.e. recoil pressure), considered as an interfacial force in the momentum balance equation.If 'evaporative dilation rate' is enabled, this pressure jump will be added to the one resulting from the discontinuous normal velocity field. | | `enable linear activation ramp` | `boolean` | `True` | Enable a linear activation ramp for recoil pressure between the activation temperature and the boiling temperature. If enabled, the recoil pressure increases smoothly and linearly within this temperature range. Otherwise, the recoil pressure is computed directly without applying a ramp. | | `subtract ambient pressure` | `boolean` | `False` | Subtract ambient pressure from the recoil pressure. This can be used to ensure that the recoil pressure is zero at the boiling temperature. | | `ambient gas pressure` | `number` | `101300.0` | Ambient gas pressure for the recoil pressure model. | | `pressure coefficient` | `number` | `0.55` | Pressure coefficient for the recoil pressure model. | | `temperature constant` | `number` | `-1.0` | Temperature constant for the recoil pressure model. If this parameter is not set, the value is computed by latent_heat_evaporation * molar_mass / universal_gas_constant; | | `sticking constant` | `number` | `1.0` | Sticking constant. | | `interface distributed flux type` | `string` | `local_value` | Type that determines how the recoil pressure force is computed in the interfacial zone.

Allowed values:
- `local_value`
- `interface_value` | | `activation temperature` | `number` | `-1e+100` | Activation temperature for the recoil pressure. It must be smaller than or equal to the boiling temperature. As default value, the boiling temperature is chosen. | | [`dirac delta function approximation`](#evaporation-recoil-pressure-dirac-delta-function-approximation) | `object` | | [See table](#evaporation-recoil-pressure-dirac-delta-function-approximation) | | `type` | `string` | `phenomenological` | Choose the model to compute the recoil pressure coefficient: phenomenological or hybrid, in case there is also an evaporation-induced velocity jump.

Allowed values:
- `phenomenological`
- `hybrid`
- `pressure_aware` | | [`pressure aware`](#evaporation-recoil-pressure-pressure-aware) | `object` | | [See table](#evaporation-recoil-pressure-pressure-aware) | #### `evaporation: recoil pressure: dirac delta function approximation` | Parameter | Type | Default | Description | |---|---|---|---| | `type` | `string` | `norm_of_indicator_gradient` | Choose how to smear a parameter over the interface.

Allowed values:
- `norm_of_indicator_gradient`
- `heaviside_phase_weighted`
- `heaviside_times_heaviside_phase_weighted`
- `reciprocal_phase_weighted`
- `reciprocal_times_heaviside_phase_weighted`
- `heavy_phase_only` | | `auto weights` | `boolean` | `False` | Choose if weights should be computed automatically. | | `gas phase weight` | `number` | `1.0` | If >>> dirac delta function approximation type <<< is set to any phase weighted optionthis parameter controls the (first) weight of the gas phase (level set = -1). | | `heavy phase weight` | `number` | `1.0` | If >>> dirac delta function approximation type <<< is set to any phase weighted optionthis parameter controls the (first) weight of the heavy phase (level set = 1). | | `gas phase weight 2` | `number` | `1.0` | If >>> dirac delta function approximation type <<< is set to >>> heaviside_times_heaviside_phase_weighted <<< this parameter controls the second weight of the gas phase (level set = -1). | | `heavy phase weight 2` | `number` | `1.0` | If >>> dirac delta function approximation type <<< is set to >>> heaviside_times_heaviside_phase_weighted <<< this parameter controls the second weight of the heavy liquid/solid phase (level set = 1). | #### `evaporation: recoil pressure: pressure aware` | Parameter | Type | Default | Description | |---|---|---|---| | `Kp` | `string` | `` | Fitting parameters for the recoil pressure calculation with pressure-aware boundary conditions. | | `ambient gas pressure` | `number` | `0.0` | Ambient gas pressure for the pressure-aware model. | --- ## `🔷 material` | Parameter | Type | Default | Description | |---|---|---|---| | `material template` | `string` | `none` | If this parameter is initialized, the material parameters of the specified material will be used as template. Individual properties can be modified. However, be aware to put in the first place of the section in these cases.

Allowed values:
- `none`
- `stainless_steel`
- `Ti64`
- `Ti64Benchmark` | | [`gas`](#material-gas) | `object` | | [See table](#material-gas) | | [`liquid`](#material-liquid) | `object` | | [See table](#material-liquid) | | [`solid`](#material-solid) | `object` | | [See table](#material-solid) | | `solidus temperature` | `number` | `0.0` | Solidus temperature (K). | | `liquidus temperature` | `number` | `0.0` | Liquidus temperature (K). | | `apparent capacity type` | `string` | `qlq` | Function type for the apparent capacity method to model latent heat during solidification. constant: apparent capacity is constant between the solidus and liquidus temperature; qlq: apparent capacity is given by a quadratic/quadratic function of temperature between the solidus and liquidus temperature (default); poly4_bell: apparent capacity is given by a bell-shaped quartic polynomial function of temperature between the solidus and liquidus temperature.

Allowed values:
- `poly4_bell`
- `constant`
- `qlq` | | `latent heat of fusion` | `number` | `0.0` | Latent heat of fusion (J/kg) | | `boiling temperature` | `number` | `0.0` | Boiling temperature (K). | | `latent heat of evaporation` | `number` | `0.0` | Latent heat of evaporation (J/kg). | | `molar mass` | `number` | `0.0` | Molar mass (mol/kg). | | `specific enthalpy reference temperature` | `number` | `-1e+100` | Reference temperature of the specific enthalpy | | `two phase fluid properties transition type` | `string` | `smooth` | Choose how to interpolate the properties over the interface. sharp: properties jump at heaviside = 0.5; smooth: properties are smeared between the phases proportional to the heaviside (default); consistent_with_evaporation: same as "smooth", but the density is interpolated proportional by the harmonic mean.

Allowed values:
- `sharp`
- `smooth`
- `consistent_with_evaporation` | | `solid liquid properties transition type` | `string` | `mushy_zone` | Choose how to interpolate the properties over between the liquid and the solid phase. mushy_zone: solid and liquid properties are interpolated between the solidus and liquidus temperature (default); sharp: the solid and liquid properties jump at the melting point, which is set via the solidus temperature.

Allowed values:
- `mushy_zone`
- `sharp` | ### `material: gas` | Parameter | Type | Default | Description | |---|---|---|---| | `thermal conductivity` | `number` | `0.0` | thermal conductivity of the gas phase | | `specific heat capacity` | `number` | `0.0` | specific heat capacity of the gas phase | | `density` | `number` | `0.0` | density of the gas phase | | `dynamic viscosity` | `number` | `0.0` | dynamic viscosity of the gas phase | ### `material: liquid` | Parameter | Type | Default | Description | |---|---|---|---| | `thermal conductivity` | `number` | `0.0` | thermal conductivity of the liquid phase | | `specific heat capacity` | `number` | `0.0` | specific heat capacity of the liquid phase | | `density` | `number` | `0.0` | density of the liquid phase | | `dynamic viscosity` | `number` | `0.0` | dynamic viscosity of the liquid phase | ### `material: solid` | Parameter | Type | Default | Description | |---|---|---|---| | `thermal conductivity` | `number` | `0.0` | thermal conductivity of the solid phase | | `specific heat capacity` | `number` | `0.0` | specific heat capacity of the solid phase | | `density` | `number` | `0.0` | density of the solid phase | | `dynamic viscosity` | `number` | `0.0` | dynamic viscosity of the solid phase | --- ## `🔷 output` | Parameter | Type | Default | Description | |---|---|---|---| | `directory` | `string` | `./` | Sets the base directory for all output. | | `write frequency` | `integer` | `1` | Every n timestep that should be written | | `write time step size` | `number` | `1.79769e+308` | Write output output every given time step. If this parameter is set, the output write frequency is deactivated. | | `output variables` | `string` | `all` | Specify variables that you request to output. | | `do user defined postprocessing` | `boolean` | `False` | Set this parameter to true to enable user defined postprocessing. | | [`paraview`](#output-paraview) | `object` | | [See table](#output-paraview) | | [`particles`](#output-particles) | `object` | | [See table](#output-particles) | ### `output: paraview` | Parameter | Type | Default | Description | |---|---|---|---| | `enable` | `boolean` | `False` | Set this parameter to true to activate paraview output. | | `filename` | `string` | `solution` | Sets the base name for paraview output files. | | `n digits timestep` | `integer` | `4` | Number of digits for the frame number of the vtu-file. | | `print boundary id` | `boolean` | `False` | Set this parameter to true to output a vtu-file with the boundary id. | | `output subdomains` | `boolean` | `False` | Set this parameter to true to output the subdomain ranks. | | `output material id` | `boolean` | `False` | Set to true to output the material id. | | `write higher order cells` | `boolean` | `True` | Set this parameter to false to write bi- or trilinear data only. Set this parameter to true to write higher order cell data. Note: higher order cell data can only be written for hexahedron meshes and 2 or 3 dimensions. | | `n groups` | `integer` | `1` | Number of parallel written vtu-files. | | `n patches` | `integer` | `0` | Control number of patches to enable high-order. | ### `output: particles` | Parameter | Type | Default | Description | |---|---|---|---| | `enable` | `boolean` | `False` | Set this parameter to true to activate particle paraview output. | | `filename` | `string` | `particle` | Sets the base name for particle output files. | --- ## `🔷 profiling` | Parameter | Type | Default | Description | |---|---|---|---| | `enable` | `boolean` | `False` | Set this parameter to true if profiling should be enabled. It will be automaticallyenabled for verbosity level >=1. | | `write time step size` | `number` | `10.0` | Write profiling output every given time step size. If this parameter is set, the specified parameter for write frequency is overwritten. | | `time type` | `string` | `real` | Choose the type of time measure to write profiling information.

Allowed values:
- `real`
- `simulation` | --- ## `🔷 restart` | Parameter | Type | Default | Description | |---|---|---|---| | `save` | `integer` | `-1` | Set this parameter to any number >= 0 to specify how many restart files should be kept. -1 means no restart save. | | `load` | `integer` | `-1` | Set this parameter to any number >= 0 to specify which restart file should be loaded. -1 means no restart load. | | `write time step size` | `number` | `0.0` | Write restart output every given time step size. If this parameter is set, the specified parameter for write frequency is overwritten. | | `time type` | `string` | `real` | Choose the type of time measure to write

Allowed values:
- `real`
- `simulation` | | `directory` | `string` | `` | Write restart directory | | `prefix` | `string` | `restart` | Write restart prefix | --- ## `🔷 melt front propagation` | Parameter | Type | Default | Description | |---|---|---|---| | `set velocity to zero in solid` | `boolean` | `False` | Set this parameter to true to constrain the flow velocity in the solid domain. | | `do not reinitialize in solid` | `boolean` | `False` | Set this parameter to true to forbid reinitialization of the level set field the solid domain. | | `solid fraction lower limit` | `number` | `1.0` | Lower limit of the solid fraction for where the flow velocity / level set is set to zero if "mp set velocity to zero in solid" or "mp set level set to zero in solid" are enabled. | --- ## `🔷 application specific` | Parameter | Type | Default | Description | |---|---|---|---| | `do heat transfer` | `boolean` | `False` | Set this parameter to true if you want to consider a coupling with heat transfer. | | `do solidification` | `boolean` | `False` | Set this parameter to true if you want to consider melting/solidification effects. | | `do advect level set` | `boolean` | `True` | Set this parameter to true if you want to advect the level set with the fluid velocity. | | `do extrapolate coupling terms` | `boolean` | `False` | Set this parameter to true if you want to extrapolate the solution vectors for semi-explicit treatment of coupling terms. | | [`amr`](#application-specific-amr) | `object` | | [See table](#application-specific-amr) | | [`coupling ls evapor`](#application-specific-coupling-ls-evapor) | `object` | | [See table](#application-specific-coupling-ls-evapor) | | [`mp heat up`](#application-specific-mp-heat-up) | `object` | | [See table](#application-specific-mp-heat-up) | | [`coupling heat evapor`](#application-specific-coupling-heat-evapor) | `object` | | [See table](#application-specific-coupling-heat-evapor) | ### `application specific: amr` | Parameter | Type | Default | Description | |---|---|---|---| | `strategy` | `string` | `generic` | Select the AMR strategy.

Allowed values:
- `generic`
- `adaflo`
- `KellyErrorEstimator` | | `do auto detect frequency` | `boolean` | `False` | Automatically determine the frequency of remeshing. If this parameter is set, the parameter `amr: every n step` is ignored. | | `automatic grid refinement type` | `string` | `fixed_number` | If the cells are refined automatically (strategy generic/KellyErrorEstimator), choose between refine_and_coarsen_fixed_number and refine_and_coarsen_fixed_fraction.

Allowed values:
- `fixed_fraction`
- `fixed_number` | | `do refine all interface cells` | `boolean` | `False` | Enforce all cells with level set values between -0.975 and 0.975 to be refined. | | `refine gas domain` | `boolean` | `False` | Refine the gas domain. | | `fraction of melting point refined in solid` | `number` | `1.0` | Define a fraction of the melting point. Cells in the solid with a higher temperature are enforced to be refined. | ### `application specific: coupling ls evapor` | Parameter | Type | Default | Description | |---|---|---|---| | `n max iter` | `integer` | `1` | Maximum number of iterations for nonlinear solution. | | `tol` | `number` | `1e-10` | If the change of the l2-norm of the level set is smaller than 'tol', the iteration is stopped. | ### `application specific: mp heat up` | Parameter | Type | Default | Description | |---|---|---|---| | `time step size` | `number` | `-1.0` | Time step size until heat up is finished. | | `max change factor time step size` | `number` | `1.5` | Maximum allowed factor of changing the time step size between two time steps. | | `max temperature` | `number` | `-1.0` | Temperature at which heat up is finished. | ### `application specific: coupling heat evapor` | Parameter | Type | Default | Description | |---|---|---|---| | `n max iter` | `integer` | `1` | Maximum number of iterations for nonlinear solution. | | `tol` | `number` | `1e-10` | If the change of the l2-norm of the level set is smaller than 'tol', the iteration is stopped. | ---