# mp-radiative-transport: Parameter description ## Contents - [`base`](#base) - [`time stepping`](#time-stepping) - [`adaptive meshing`](#adaptive-meshing) - [`rte`](#rte) - [`laser`](#laser) - [`output`](#output) - [`profiling`](#profiling) --- ## `🔷 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. | --- ## `🔷 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. | --- ## `🔷 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). | --- ## `🔷 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` | ---