Skip to content

Commit

Permalink
update parameters
Browse files Browse the repository at this point in the history
  • Loading branch information
tjhei committed Jul 23, 2021
1 parent eff32f6 commit 0cefaf6
Show file tree
Hide file tree
Showing 4 changed files with 1,016 additions and 951 deletions.
41 changes: 38 additions & 3 deletions doc/manual/parameters.tex
Original file line number Diff line number Diff line change
Expand Up @@ -16523,6 +16523,16 @@ \subsection{Parameters in section \tt Mesh refinement}

`density': A mesh refinement criterion that computes refinement indicators from a field that describes the spatial variability of the density, $\rho$. Because this quantity may not be a continuous function ($\rho$ and $C_p$ may be discontinuous functions along discontinuities in the medium, for example due to phase changes), we approximate the gradient of this quantity to refine the mesh. The error indicator defined here takes the magnitude of the approximate gradient and scales it by $h_K^{1+d/2}$ where $h_K$ is the diameter of each cell and $d$ is the dimension. This scaling ensures that the error indicators converge to zero as $h_K\rightarrow 0$ even if the energy density is discontinuous, since the gradient of a discontinuous function grows like $1/h_K$.

`isosurfaces': A mesh refinement criterion that computes coarsening and refinement indicators between two isosurfaces of specific field entries (e.g. temperature, composition).

The way these indicators are derived between pairs of isosurfaces is by checking whether the solutions of specific fields are within the ranges of the isosurface values given. If these conditions hold, then coarsening and refinement indicators are set such that the mesh refinement levels lies within the range of levels given. Usage of this plugin allows the user to put a conditional minimum and maximum refinement function onto fields that they are interested in.

For now, only temperature and compositional fields are allowed as field entries. The key words could be 'Temperature' or one of the names of the compositional fields which are either specified by user or set up as C\_0, C\_1, etc.

Usage: A list of isosurfaces separated by semi-colons (;). Each isosurface entry consists of multiple entries separated by a comma. The first two entries indicate the minimum and maximum refinement levels respectively. The entries after the first two describe the fields the isosurface applies to, followed by a colon (:), which again is followed by the minimum and maximum field values separated by a bar (|). An example for two isosurface entries is '0, 2, Temperature: 300 | 600; 2, 2, C\_1: 0.5 | 1'. If both isoterm entries are triggered at the same location and the current refinement level is 1, it means that the first isoline will not set any flag and the second isoline will set a refinement flag. This means the the cell will refine. If both the coarsening and refinement flags are set, preference is given to refinement.

The minimum and maximum refinement levels per isosurface can be provided in absolute values relative to the global minimum and maximum refinement. This is done with the 'min' and 'max' key words. For example: 'set Isosurfaces = max-2, max, Temperature: 0 | 600 ; min + 1,min+2, Temperature: 1600 | 3000, C\_2 : 0.0 | 0.5'.

`maximum refinement function': A mesh refinement criterion that ensures a maximum refinement level described by an explicit formula with the depth or position as argument. Which coordinate representation is used is determined by an input parameter. Whatever the coordinate system chosen, the function you provide in the input file will by default depend on variables `x', `y' and `z' (if in 3d). However, the meaning of these symbols depends on the coordinate system. In the Cartesian coordinate system, they simply refer to their natural meaning. If you have selected `depth' for the coordinate system, then `x' refers to the depth variable and `y' and `z' will simply always be zero. If you have selected a spherical coordinate system, then `x' will refer to the radial distance of the point to the origin, `y' to the azimuth angle and `z' to the polar angle measured positive from the north pole. Note that the order of spherical coordinates is r,phi,theta and not r,theta,phi, since this allows for dimension independent expressions. Each coordinate system also includes a final `t' variable which represents the model time, evaluated in years if the 'Use years in output instead of seconds' parameter is set, otherwise evaluated in seconds. After evaluating the function, its values are rounded to the nearest integer.

The format of these functions follows the syntax understood by the muparser library, see Section~\ref{sec:muparser-format}.
Expand Down Expand Up @@ -16564,7 +16574,7 @@ \subsection{Parameters in section \tt Mesh refinement}
`volume of fluid interface': A class that implements a mesh refinement criterion, which ensures a minimum level of refinement near the volume of fluid interface boundary.


{\it Possible values:} A comma-separated list of any of artificial viscosity, boundary, compaction length, composition, composition approximate gradient, composition gradient, composition threshold, density, maximum refinement function, minimum refinement function, nonadiabatic temperature, particle density, slope, strain rate, temperature, thermal energy density, topography, velocity, viscosity, volume of fluid interface
{\it Possible values:} A comma-separated list of any of artificial viscosity, boundary, compaction length, composition, composition approximate gradient, composition gradient, composition threshold, density, isosurfaces, maximum refinement function, minimum refinement function, nonadiabatic temperature, particle density, slope, strain rate, temperature, thermal energy density, topography, velocity, viscosity, volume of fluid interface
\item {\it Parameter name:} {\tt Time steps between mesh refinement}
\phantomsection\label{parameters:Mesh refinement/Time steps between mesh refinement}
\label{parameters:Mesh_20refinement/Time_20steps_20between_20mesh_20refinement}
Expand Down Expand Up @@ -16774,6 +16784,31 @@ \subsection{Parameters in section \tt Mesh refinement/Composition threshold}
{\it Possible values:} A list of 0 to 4294967295 elements where each element is [A floating point number $v$ such that $-\text{MAX\_DOUBLE} \leq v \leq \text{MAX\_DOUBLE}$]
\end{itemize}

\subsection{Parameters in section \tt Mesh refinement/Isosurfaces}
\label{parameters:Mesh_20refinement/Isosurfaces}

\begin{itemize}
\item {\it Parameter name:} {\tt Isosurfaces}
\phantomsection\label{parameters:Mesh refinement/Isosurfaces/Isosurfaces}
\label{parameters:Mesh_20refinement/Isosurfaces/Isosurfaces}


\index[prmindex]{Isosurfaces}
\index[prmindexfull]{Mesh refinement!Isosurfaces!Isosurfaces}
{\it Value:}


{\it Default:}


{\it Description:} A list of isosurfaces separated by semi-colons (;). Each isosurface entry consists of multiple entries separated by a comma. The first two entries indicate the minimum and maximum refinement levels respectively. The entries after the first two describe the fields the isosurface applies to, followed by a colon (:), which is again followed by the minimum and maximum property values separated by bar (|). An example for an isosurface is '0, 2, Temperature: 300 | 600; 2, 2, C\_1: 0.5 | 1'. In this example the mesh refinement is kept between level 0 and level 2 if the temperature is between 300 and 600 and at level 2 when the compositional field C\_1 is between 0.5 and 1. If both happen at the same location and the current refinement level is 1, it means that the first isoline will not set any flag and the second isoline will set a refinement flag. This means the the cell will refine. If both the coarsening and refinement flags are set, preference is given to refinement.

The first two entries for each isosurface, describing the minimum and maximum grid levels, can be two numbers or contain one of the key values 'min' and 'max'. This indicates the key will be replaced with the global minimum and maximum refinement levels. The 'min' and 'max' keys also accept adding values to be added or substracted from them respectively. This is done by adding a '+' or '-' and a number behind them (e.g. min+2 or max-1). Note that you can't substract a value from a minimum value or add a value to the maximum value. If, for example, `max-4` drops below the minimum or `min+4` goes above the maximum, it will simply use the global minimum and maximum values respectively. The same holds for any mesh refinement level below the global minimum or above the global maximum.


{\it Possible values:} Any string
\end{itemize}

\subsection{Parameters in section \tt Mesh refinement/Maximum refinement function}
\label{parameters:Mesh_20refinement/Maximum_20refinement_20function}

Expand Down Expand Up @@ -18082,7 +18117,7 @@ \subsection{Parameters in section \tt Postprocess/Particles}
{\it Default:}


{\it Description:} A comma separated list of strings which exclude all particleproperty fields which contain these strings. If one of the entries is 'all', only a id will be provided for every point.
{\it Description:} A comma separated list of particle properties that should \textit{not} be output. If this list contains the entry `all', only the id of particles will be provided in graphical output files.


{\it Possible values:} Any string
Expand Down Expand Up @@ -19351,7 +19386,7 @@ \subsection{Parameters in section \tt Postprocess/Visualization}

In contrast to the `dynamic topography' visualization postprocessor, this plugin really only evaluates the dynamic topography at faces of cells that are adjacent to `bottom' and `top' boundaries, and only outputs information on the surface of the domain, rather than padding the information with zeros in the interior of the domain.

`surface stress': A visualization output object that generates output on the surface of the domain for the 3 (in 2d) or 6 (in 3d) components of the stress tensor, i.e., for the components of the tensor $-2\eta\varepsilon(\mathbf u)+pI$ in the incompressible case and $-2\eta\left[\varepsilon(\mathbf u)-\tfrac 13(\textrm{tr}\;\varepsilon(\mathbf u))\mathbf I\right]+pI$ in the compressible case. Note that the convention of positive compressive stress is followed.
`surface stress': A visualization output object that generates output on the surface of the domain for the 3 (in 2d) or 6 (in 3d) components of the stress tensor, i.e., for the components of the tensor $-2\eta\varepsilon(\mathbf u)+pI$ in the incompressible case and $-2\eta\left[\varepsilon(\mathbf u)-\tfrac 13(\textrm{tr}\;\varepsilon(\mathbf u))\mathbf I\right]+pI$ in the compressible case. If elasticity is included, its contribution is accounted for. Note that the convention of positive compressive stress is followed.

`temperature anomaly': A visualization output postprocessor that outputs the temperature minus the depth-average of the temperature.The average temperature is calculated using the lateral averaging function from the ``depth average'' postprocessor and interpolated linearly between the layers specified through ``Number of depth slices''

Expand Down
3 changes: 3 additions & 0 deletions doc/manual/plugin_graph.dot
Original file line number Diff line number Diff line change
Expand Up @@ -384,6 +384,9 @@ SimulatorAccess -> N6aspect14MeshRefinement20CompositionThresholdILi2EEE [style=
N6aspect14MeshRefinement7DensityILi2EEE [label="density", height=.8,width=.8,shape="circle",fillcolor="lightblue"];
N6aspect14MeshRefinement7DensityILi2EEE -> N6aspect14MeshRefinement9InterfaceILi2EEE [len=3, weight=50];
SimulatorAccess -> N6aspect14MeshRefinement7DensityILi2EEE [style="dotted", arrowhead="empty", constraint=false, color="gray", len=20, weight=0.1];
N6aspect14MeshRefinement11IsosurfacesILi2EEE [label="isosurfaces", height=.8,width=.8,shape="circle",fillcolor="lightblue"];
N6aspect14MeshRefinement11IsosurfacesILi2EEE -> N6aspect14MeshRefinement9InterfaceILi2EEE [len=3, weight=50];
SimulatorAccess -> N6aspect14MeshRefinement11IsosurfacesILi2EEE [style="dotted", arrowhead="empty", constraint=false, color="gray", len=20, weight=0.1];
N6aspect14MeshRefinement25MaximumRefinementFunctionILi2EEE [label="maximum\nrefinement\nfunction", height=.8,width=.8,shape="circle",fillcolor="lightblue"];
N6aspect14MeshRefinement25MaximumRefinementFunctionILi2EEE -> N6aspect14MeshRefinement9InterfaceILi2EEE [len=3, weight=50];
SimulatorAccess -> N6aspect14MeshRefinement25MaximumRefinementFunctionILi2EEE [style="dotted", arrowhead="empty", constraint=false, color="gray", len=20, weight=0.1];
Expand Down
Binary file modified doc/manual/plugin_graph.pdf
Binary file not shown.
Loading

0 comments on commit 0cefaf6

Please sign in to comment.