# Listing of Parameters # --------------------- # In order to make the problem in the first time step easier to solve, we need # a reasonable guess for the temperature and pressure. To obtain it, we use an # adiabatic pressure and temperature field. This parameter describes what the # `adiabatic' temperature would be at the surface of the domain (i.e. at depth # zero). Note that this value need not coincide with the boundary condition # posed at this point. Rather, the boundary condition may differ significantly # from the adiabatic value, and then typically induce a thermal boundary # layer. # For more information, see the section in the manual that discusses the # general mathematical model. set Adiabatic surface temperature = 0 # In computations, the time step $k$ is chosen according to $k = c \min_K # \frac{h_K}{\|u\|_{\infty,K} p_T}$ where $h_K$ is the diameter of cell $K$, # and the denominator is the maximal magnitude of the velocity on cell $K$ # times the polynomial degree $p_T$ of the temperature discretization. The # dimensionless constant $c$ is called the CFL number in this program. For # time discretizations that have explicit components, $c$ must be less than a # constant that depends on the details of the time discretization and that is # no larger than one. On the other hand, for implicit discretizations such as # the one chosen here, one can choose the time step as large as one wants (in # particular, one can choose $c>1$) though a CFL number significantly larger # than one will yield rather diffusive solutions. Units: None. set CFL number = 1.0 # The number of space dimensions you want to run this program in. set Dimension = 2 # The end time of the simulation. Units: years if the 'Use years in output # instead of seconds' parameter is set; seconds otherwise. set End time = 0.5 # default: 1e8 # A relative tolerance up to which linear systems in each time or nonlinear # step should be solved. The absolute tolerance will then be the norm of the # right hand side of the equation times this tolerance. A given tolerance # value of 1 would mean that a zero solution vector is an acceptable solution # since in that case the norm of the residual of the linear system equals the # norm of the right hand side. A given tolerance of 0 would mean that the # linear system has to be solved exactly, since this is the only way to obtain # a zero residual. # # In practice, you should choose the value of this parameter to be so that if # you make it smaller the results of your simulation do not change any more # (qualitatively) whereas if you make it larger, they do. For most cases, the # default value should be sufficient. However, for cases where the static # pressure is much larger than the dynamic one, it may be necessary to choose # a smaller value. set Linear solver tolerance = 1e-15 # default: 1e-7 # A flag indicating whether the Stokes+Advection equation should be solved # once per time step (false) or resolved using a fixed-point iteration # (true). set Nonlinear iteration = false # The kind of scheme used to resolve the nonlinearity in the system. 'IMPES' # is the classical IMplicit Pressure Explicit Saturation scheme in which ones # solves the temperatures and Stokes equations exactly once per time step, one # after the other. The 'iterated IMPES' scheme iterates this decoupled # approach by alternating the solution of the temperature and Stokes systems. # The 'iterated Stokes' scheme solves the temperature equation once at the # beginning of each time step and then iterates out the solution of the Stokes # equation. set Nonlinear solver scheme = IMPES # The name of the directory into which all output files should be placed. This # may be an absolute or a relative path. set Output directory = output # If and how to normalize the pressure after the solution step. This is # necessary because depending on boundary conditions, in many cases the # pressure is only determined by the model up to a constant. On the other # hand, we often would like to have a well-determined pressure, for example # for table lookups of material properties in models or for comparing # solutions. If the given value is `surface', then normalization at the end of # each time steps adds a constant value to the pressure in such a way that the # average pressure at the surface of the domain is zero; the surface of the # domain is determined by asking the geometry model whether a particular face # of the geometry has a zero or small `depth'. If the value of this parameter # is `volume' then the pressure is normalized so that the domain average is # zero. If `no' is given, the no pressure normalization is performed. set Pressure normalization = surface # A flag indicating whether the computation should be resumed from a # previously saved state (if true) or start from scratch (if false). set Resume computation = false # The start time of the simulation. Units: years if the 'Use years in output # instead of seconds' parameter is set; seconds otherwise. set Start time = 0 # The mathematical equations that describe thermal convection only determine # the pressure up to an arbitrary constant. On the other hand, for comparison # and for looking up material parameters it is important that the pressure be # normalized somehow. We do this by enforcing a particular average pressure # value at the surface of the domain, where the geometry model determines # where the surface is. This parameter describes what this average surface # pressure value is supposed to be. By default, it is set to zero, but one may # want to choose a different value for example for simulating only the volume # of the mantle below the lithosphere, in which case the surface pressure # should be the lithostatic pressure at the bottom of the lithosphere. # For more information, see the section in the manual that discusses the # general mathematical model. set Surface pressure = 0 # The relative tolerance up to which the linear system for the temperature # system gets solved. See 'linear solver tolerance' for more details. set Temperature solver tolerance = 1e-15 # default: 1e-12 # How frequently in timesteps to output timing information. This is generally # adjusted only for debugging and timing purposes. set Timing output frequency = 100 # When computing results for mantle convection simulations, it is often # difficult to judge the order of magnitude of results when they are stated in # MKS units involving seconds. Rather, some kinds of results such as # velocities are often stated in terms of meters per year (or, sometimes, # centimeters per year). On the other hand, for non-dimensional computations, # one wants results in their natural unit system as used inside the code. If # this flag is set to 'true' conversion to years happens; if it is 'false', no # such conversion happens. set Use years in output instead of seconds = false # default: true subsection Boundary temperature model # Select one of the following models: # # `Tan Gurnis': A model for the Tan/Gurnis benchmark. # # `spherical constant': A model in which the temperature is chosen constant # on the inner and outer boundaries of a spherical shell. Parameters are # read from subsection 'Sherical constant'. # # `box': A model in which the temperature is chosen constant on all the # sides of a box. set Model name = box # default: subsection Box # Temperature at the Bottom boundary. Units: K. set Bottom temperature = 1 # default: 0 # Temperature at the Left boundary. Units: K. set Left temperature = 0 # default: 1 # Temperature at the Right boundary. Units: K. set Right temperature = 0 # Temperature at the Top boundary. Units: K. set Top temperature = 0 end subsection Spherical constant # Temperature at the inner boundary (core mantle boundary). Units: K. set Inner temperature = 6000 # Temperature at the outer boundary (lithosphere water/air). Units: K. set Outer temperature = 0 end end subsection Boundary velocity model subsection Function # Sometimes it is convenient to use symbolic constants in the expression # that describes the function, rather than having to use its numeric value # everywhere the constant appears. These values can be defined using this # parameter, in the form `var1=value1, var2=value2, ...'. # # A typical example would be to set this runtime parameter to # `pi=3.1415926536' and then use `pi' in the expression of the actual # formula. (That said, for convenience this class actually defines both # `pi' and `Pi' by default, but you get the idea.) set Function constants = # The formula that denotes the function you want to evaluate for # particular values of the independent variables. This expression may # contain any of the usual operations such as addition or multiplication, # as well as all of the common functions such as `sin' or `cos'. In # addition, it may contain expressions like `if(x>0, 1, -1)' where the # expression evaluates to the second argument if the first argument is # true, and to the third argument otherwise. For a full overview of # possible expressions accepted see the documentation of the fparser # library. # # If the function you are describing represents a vector-valued function # with multiple components, then separate the expressions for individual # components by a semicolon. set Function expression = 0; 0 # The name of the variables as they will be used in the function, # separated by commas. By default, the names of variables at which the # function will be evaluated is `x' (in 1d), `x,y' (in 2d) or `x,y,z' (in # 3d) for spatial coordinates and `t' for time. You can then use these # variable names in your function expression and they will be replaced by # the values of these variables at which the function is currently # evaluated. However, you can also choose a different set of names for the # independent variables at which to evaluate your function expression. For # example, if you work in spherical coordinates, you may wish to set this # input parameter to `r,phi,theta,t' and then use these variable names in # your function expression. set Variable names = x,y,t end end subsection Checkpointing # The number of timesteps between performing checkpoints. If 0 and time # between checkpoint is not specified, checkpointing will not be performed. # Units: None. set Steps between checkpoint = 0 # The wall time between performing checkpoints. If 0, will use the # checkpoint step frequency instead. Units: Seconds. set Time between checkpoint = 0 end subsection Discretization # The polynomial degree to use for the velocity variables in the Stokes # system. The polynomial degree for the pressure variable will then be one # less in order to make the velocity/pressure pair conform with the usual # LBB (Babuska-Brezzi) condition. In other words, we are using a Taylor-Hood # element for the Stoeks equations and this parameter indicates the # polynomial degree of it. Units: None. set Stokes velocity polynomial degree = 2 # The polynomial degree to use for the temperature variable. Units: None. set Temperature polynomial degree = 2 # Whether to use a Stokes discretization that is locally conservative at the # expense of a larger number of degrees of freedom (true), or to go with a # cheaper discretization that does not locally conserve mass, although it is # globally conservative (false). # # When using a locally conservative discretization, the finite element space # for the pressure is discontinuous between cells and is the polynomial # space $P_{-q}$ of polynomials of degree $q$ in each variable separately. # Here, $q$ is one less than the value given in the parameter ``Stokes # velocity polynomial degree''. As a consequence of choosing this element, # it can be shown if the medium is considered incompressible that the # computed discrete velocity field $\mathbf u_h$ satisfies the property # $\int_{\partial K} \mathbf u_h \cdot \mathbf n = 0$ for every cell $K$, # i.e., for each cell inflow and outflow exactly balance each other as one # would expect for an incompressible medium. In other words, the velocity # field is locally conservative. # # On the other hand, if this parameter is set to ``false'', then the finite # element space is chosen as $Q_q$. This choice does not yield the local # conservation property but has the advantage of requiring fewer degrees of # freedom. Furthermore, the error is generally smaller with this choice. # # For an in-depth discussion of these issues and a quantitative evaluation # of the different choices, see \cite{KHB12}. set Use locally conservative discretization = false subsection Stabilization parameters # The exponent $\alpha$ in the entropy viscosity stabilization. Units: # None. set alpha = 2 # The $\beta$ factor in the artificial viscosity stabilization. An # appropriate value for 2d is 0.052 and 0.078 for 3d. Units: None. set beta = 0.078 # The $c_R$ factor in the entropy viscosity stabilization. Units: None. set cR = 0.11 end end subsection Geometry model # Select one of the following models: # # `spherical shell': A geometry representing a spherical shell or a pice of # it. Inner and outer radii are read from the parameter file in subsection # 'Spherical shell'. # # `box': A box geometry parallel to the coordinate directions. The extent of # the box in each coordinate direction is set in the parameter file. The box # geometry labels its 2*dim sides as follows: in 2d, boundary indicators 0 # through 3 denote the left, right, bottom and top boundaries; in 3d, # boundary indicators 0 through 5 indicate left, right, front, back, bottom # and top boundaries. See also the documentation of the deal.II class # ``GeometryInfo''. set Model name = box # default: subsection Box # Extent of the box in x-direction. Units: m. set X extent = 1.2 # default: 1 # Extent of the box in y-direction. Units: m. set Y extent = 1.0 # default: 1 # Extent of the box in z-direction. This value is ignored if the # simulation is in 2d Units: m. set Z extent = 1 end subsection Spherical shell # Inner radius of the spherical shell. Units: m. set Inner radius = 3481000 # Opening angle in degrees of the section of the shell that we want to # build. Units: degrees. set Opening angle = 360 # Outer radius of the spherical shell. Units: m. set Outer radius = 6336000 end end subsection Gravity model # Select one of the following models: # # `vertical': A gravity model in which the gravity direction is vertically # downward and at a constant magnitude by default equal to one. # # `radial constant': A gravity model in which the gravity direction is # radially inward and at constant magnitude. The magnitude is read from the # parameter file in subsection 'Radial constant'. # # `radial earth-like': A gravity model in which the gravity direction is # radially inward and with a magnitude that matches that of the earth at the # core-mantle boundary as well as at the surface and in between is # physically correct under the assumption of a constant density. set Model name = vertical # default: subsection Radial constant # Magnitude of the gravity vector in $m/s^2$. The direction is always # radially outward from the center of the earth. set Magnitude = 30 end subsection Vertical # Value of the gravity vector in $m/s^2$ directed along negative y (2D) or # z (3D) axis. set Magnitude = 1e14 # default: 1 end end subsection Initial conditions # Select one of the following models: # # `spherical hexagonal perturbation': An initial temperature field in which # the temperature is perturbed following a six-fold pattern in angular # direction from an otherwise spherically symmetric state. # # `spherical gaussian perturbation': An initial temperature field in which # the temperature is perturbed by a single Gaussian added to an otherwise # spherically symmetric state. Additional parameters are read from the # parameter file in subsection 'Spherical gaussian perturbation'. # # `function': Temperature is given in terms of an explicit formula # # `perturbed box': An initial temperature field in which the temperature is # perturbed slightly from an otherwise constant value equal to one. The # perturbation is chosen in such a way that the initial temperature is # constant to one along the entire boundary. set Model name = perturbed box subsection Function # Sometimes it is convenient to use symbolic constants in the expression # that describes the function, rather than having to use its numeric value # everywhere the constant appears. These values can be defined using this # parameter, in the form `var1=value1, var2=value2, ...'. # # A typical example would be to set this runtime parameter to # `pi=3.1415926536' and then use `pi' in the expression of the actual # formula. (That said, for convenience this class actually defines both # `pi' and `Pi' by default, but you get the idea.) set Function constants = p=0.01, L=1, pi=3.1415926536, k=1 # default: # The formula that denotes the function you want to evaluate for # particular values of the independent variables. This expression may # contain any of the usual operations such as addition or multiplication, # as well as all of the common functions such as `sin' or `cos'. In # addition, it may contain expressions like `if(x>0, 1, -1)' where the # expression evaluates to the second argument if the first argument is # true, and to the third argument otherwise. For a full overview of # possible expressions accepted see the documentation of the fparser # library. # # If the function you are describing represents a vector-valued function # with multiple components, then separate the expressions for individual # components by a semicolon. set Function expression = (1.0-z) - p*cos(k*pi*x/L)*sin(pi*z) # default: 0 # The name of the variables as they will be used in the function, # separated by commas. By default, the names of variables at which the # function will be evaluated is `x' (in 1d), `x,y' (in 2d) or `x,y,z' (in # 3d) for spatial coordinates and `t' for time. You can then use these # variable names in your function expression and they will be replaced by # the values of these variables at which the function is currently # evaluated. However, you can also choose a different set of names for the # independent variables at which to evaluate your function expression. For # example, if you work in spherical coordinates, you may wish to set this # input parameter to `r,phi,theta,t' and then use these variable names in # your function expression. set Variable names = x,z # default: x,y,t end subsection Spherical gaussian perturbation # The amplitude of the perturbation. set Amplitude = 0.01 # The angle where the center of the perturbation is placed. set Angle = 0e0 # The file from which the initial geotherm table is to be read. The format # of the file is defined by what is read in # source/initial_conditions/spherical_shell.cc. set Filename for initial geotherm table = initial_geotherm_table # The non-dimensional radial distance where the center of the perturbation # is placed. set Non-dimensional depth = 0.7 # The standard deviation of the Gaussian perturbation. set Sigma = 0.2 # The sign of the perturbation. set Sign = 1 end end subsection Material model # Select one of the following models: # # `Tan Gurnis': A simple compressible material model based on a benchmark # from the paper of Tan/Gurnis (2007). This does not use the temperature # equation, but has a hardcoded temperature. # # `table': A material model that reads tables of pressure and temperature # dependent material coefficients from files. The default values for this # model's runtime parameters use a material description taken from the paper # \textit{Complex phase distribution and seismic velocity structure of the # transition zone: Convection model predictions for a magnesium-endmember # olivine–pyroxene mantle} by Michael H.G. Jacobs and Arie P. van den # Berg, Physics of the Earth and Planetary Interiors, Volume 186, Issues # 1–2, May 2011, Pages 36–48. See # \url{http://www.sciencedirect.com/science/article/pii/S0031920111000422}. # # `Steinberger': lookup from the paper of Steinberger/Calderwood # # `simple': A simple material model that has constant values for all # coefficients but the density. This model uses the formulation that assumes # an incompressible medium despite the fact that the density follows the law # $\rho(T)=\rho_0(1-\beta(T-T_{\text{ref}})$. The value for the components # of this formula and additional parameters are read from the parameter file # in subsection 'Simple model'. # # `SolCx': A material model that corresponds to the 'SolCx' benchmark # defined in Duretz et al., G-Cubed, 2011. # # `SolKz': A material model that corresponds to the 'SolKz' benchmark # defined in Duretz et al., G-Cubed, 2011. # # `Inclusion': A material model that corresponds to the 'Inclusion' # benchmark defined in Duretz et al., G-Cubed, 2011. set Model name = simple # default: subsection Inclusion # Viscosity in the Inclusion. set Viscosity jump = 1e3 end subsection Simple model # Reference density $\rho_0$. Units: $kg/m^3$. set Reference density = 1 # default: 3300 # The value of the specific heat $cp$. Units: $J/kg/K$. set Reference specific heat = 1 # default: 1250 # The reference temperature $T_0$. Units: $K$. set Reference temperature = 0 # default: 293 # The value of the thermal conductivity $k$. Units: $W/m/K$. set Thermal conductivity = 1 # default: 4.7 # The value of the thermal expansion coefficient $\beta$. Units: $1/K$. set Thermal expansion coefficient = 1e-10 # default: 2e-5 # The value of the constant viscosity. Units: $kg/m/s$. set Viscosity = 1 # default: 5e24 end subsection SolCx # Density value upon which the variation of this testcase is overlaid. # Since this background density is constant it does not affect the flow # pattern but it adds to the total pressure since it produces a nonzero # adiabatic pressure if set to a nonzero value. set Background density = 0 # Viscosity in the right half of the domain. set Viscosity jump = 1e6 end subsection Table model # The Composition of the model. set Composition = olixene # whether the model is compressible. set Compressible = true # whether to compute phases. set ComputePhases = false # The value of the gravity constant.Units: $m/s^2$. set Gravity = 30 # The path to the model data. set Path to model data = datadir # Reference density $\rho_0$. Units: $kg/m^3$. set Reference density = 3300 # The value of the specific heat $cp$. Units: $J/kg/K$. set Reference specific heat = 1250 # The reference temperature $T_0$. Units: $K$. set Reference temperature = 293 # The value of the thermal conductivity $k$. Units: $W/m/K$. set Thermal conductivity = 4.7 # The value of the thermal expansion coefficient $\beta$. Units: $1/K$. set Thermal expansion coefficient = 2e-5 end subsection Tan Gurnis model set Di = 0.5 # Reference density $\rho_0$. Units: $kg/m^3$. set Reference density = 3300 # The value of the specific heat $cp$. Units: $J/kg/K$. set Reference specific heat = 1250 # The reference temperature $T_0$. Units: $K$. set Reference temperature = 293 # The value of the thermal conductivity $k$. Units: $W/m/K$. set Thermal conductivity = 4.7 # The value of the thermal expansion coefficient $\beta$. Units: $1/K$. set Thermal expansion coefficient = 2e-5 # The value of the constant viscosity. Units: $kg/m/s$. set Viscosity = 5e24 set a = 0 set gamma = 1 set wavenumber = 1 end end subsection Mesh refinement # A list of times so that if the end time of a time step is beyond this # time, an additional round of mesh refinement is triggered. This is mostly # useful to make sure we can get through the initial transient phase of a # simulation on a relatively coarse mesh, and then refine again when we are # in a time range that we are interested in and where we would like to use a # finer mesh. Units: each element of the list has units years if the 'Use # years in output instead of seconds' parameter is set; seconds otherwise. set Additional refinement times = # The fraction of cells with the smallest error that should be flagged for # coarsening. set Coarsening fraction = 0.05 # The number of adaptive refinement steps performed after initial global # refinement but while still within the first time step. set Initial adaptive refinement = 0 # default: 2 # The number of global refinement steps performed on the initial coarse # mesh, before the problem is first solved there. set Initial global refinement = 4 # default: 2 # The fraction of cells with the largest error that should be flagged for # refinement. set Refinement fraction = 0.3 # Whether or not the postproccessors should be run at the end of each of ths # initial adaptive refinement cycles at the of the simulation start. set Run postprocessors on initial refinement = false # The method used to determine which cells to refine and which to coarsen. set Strategy = Density c_p temperature # The number of time steps after which the mesh is to be adapted again based # on computed error indicators. If 0 then the mesh will never be changed. set Time steps between mesh refinement = 0 # default: 10 end subsection Model settings # A comma separated list of integers denoting those boundaries on which the # temperature is fixed and described by the boundary temperature object # selected in its own section of this input file. All boundary indicators # used by the geometry but not explicitly listed here will end up with # no-flux (insulating) boundary conditions. # # This parameter only describes which boundaries have a fixed temperature, # but not what temperature should hold on these boundaries. The latter piece # of information needs to be implemented in a plugin in the # BoundaryTemperature group, unless an existing implementation in this group # already provides what you want. set Fixed temperature boundary indicators = 2,3 # default: # Whether to include adiabatic heating into the model or not. From a # physical viewpoint, adiabatic heating should always be used but may be # undesirable when comparing results with known benchmarks that do not # include this term in the temperature equation. set Include adiabatic heating = false # Whether to include shear heating into the model or not. From a physical # viewpoint, shear heating should always be used but may be undesirable when # comparing results with known benchmarks that do not include this term in # the temperature equation. set Include shear heating = false # default: true # A comma separated list denoting those boundaries on which the velocity is # tangential but prescribed, i.e., where external forces act to prescribe a # particular velocity. This is often used to prescribe a velocity that # equals that of overlying plates. # # The format of valid entries for this parameter is that of a map given as # ``key1: value1, key2: value2, key3: value3, ...'' where each key must be a # valid boundary indicator and each value must be one of the currently # implemented boundary velocity models. # # Note that the no-slip boundary condition is a special case of the current # one where the prescribed velocity happens to be zero. It can thus be # implemented by indicating that a particular boundary is part of the ones # selected using the current parameter and using ``zero velocity'' as the # boundary values. Alternatively, you can simply list the part of the # boundary on which the velocity is to be zero with the parameter ``Zero # velocity boundary indicator'' in the current parameter section. set Prescribed velocity boundary indicators = # H0 set Radiogenic heating rate = 0 # default: 0e0 # A comma separated list of integers denoting those boundaries on which the # velocity is tangential and unrestrained, i.e., free-slip where no external # forces act to prescribe a particular tangential velocity (although there # is a force that requires the flow to be tangential). set Tangential velocity boundary indicators = 0,1,2,3 # default: # A comma separated list of integers denoting those boundaries on which the # velocity is zero. set Zero velocity boundary indicators = end subsection Postprocess # A comma separated list of postprocessor objects that should be run at the # end of each time step. Some of these postprocessors will declare their own # parameters which may, for example, include that they will actually do # something only every so many time steps or years. Alternatively, the text # 'all' indicates that all available postprocessors should be run after each # time step. # # The following postprocessors are available: # # `visualization': A postprocessor that takes the solution and writes it # into files that can be read by a graphical visualization program. # Additional run time parameters are read from the parameter subsection # 'Visualization'. # # `velocity statistics': A postprocessor that computes some statistics about # the velocity field. # # `tracers': Postprocessor that propagates tracer particles based on the # velocity field. # # `temperature statistics': A postprocessor that computes some statistics # about the temperature field. # # `Tan Gurnis error': A postprocessor that compares the solution of the # benchmarks from the Tan/Gurnis (2007) paper with the one computed by # ASPECT by outputing data that is compared using a matlab script. # # `velocity statistics for the table model': A postprocessor that computes # some statistics about the velocity field. # # `heat flux statistics for the table model': A postprocessor that computes # some statistics about the heat flux across boundaries. # # `heat flux statistics': A postprocessor that computes some statistics # about the heat flux across boundaries. # # `DuretzEtAl error': A postprocessor that compares the solution of the # benchmarks from the Duretz et al., G-Cubed, 2011, paper with the one # computed by ASPECT and reports the error. Specifically, it can compute the # errors for the SolCx, SolKz and inclusion benchmarks. The postprocessor # inquires which material model is currently being used and adjusts which # exact solution to use accordingly. # # `depth average': A postprocessor that computes depth averaged quantities # and writes them out. set List of postprocessors = visualization, velocity statistics, temperature statistics, heat flux statistics # default: all subsection Depth average # The time interval between each generation of graphical output files. A # value of zero indicates that output should be generated in each time # step. Units: years if the 'Use years in output instead of seconds' # parameter is set; seconds otherwise. set Time between graphical output = 1e8 end subsection Tracers # File format to output raw particle data in. set Data output format = none # Total number of tracers to create (not per processor or per element). set Number of tracers = 1e3 # The time interval between each generation of output files. A value of # zero indicates that output should be generated every time step. Units: # years if the 'Use years in output instead of seconds' parameter is set; # seconds otherwise. set Time between data output = 1e8 end subsection Visualization # A comma separated list of visualization objects that should be run # whenever writing graphical output. By default, the graphical output # files will always contain the primary variables velocity, pressure, and # temperature. However, one frequently wants to also visualize derived # quantities, such as the thermodynamic phase that corresponds to a given # temperature-pressure value, or the corresponding seismic wave speeds. # The visualization objects do exactly this: they compute such derived # quantities and place them into the output file. The current parameter is # the place where you decide which of these additional output variables # you want to have in your output file. # # The following postprocessors are available: # # `viscosity ratio': A visualization output object that generates output # for the ratio between dislocation viscosity and diffusion viscosity. # # `viscosity': A visualization output object that generates output for the # viscosity. # # `thermodynamic phase': A visualization output object that generates # output for the integer number of the phase that is thermodynamically # stable at the temperature and pressure of the current point. # # `strain rate': A visualization output object that generates output for # the norm of the strain rate, i.e., for the quantity # $\sqrt{\varepsilon(\mathbf u):\varepsilon(\mathbf u)}$ in the # incompressible case and $\sqrt{[\varepsilon(\mathbf u)-\tfrac # 13(\textrm{tr}\;\varepsilon(\mathbf u))\mathbf I]:[\varepsilon(\mathbf # u)-\tfrac 13(\textrm{tr}\;\varepsilon(\mathbf u))\mathbf I]}$ in the # compressible case. # # `specific heat': A visualization output object that generates output for # the specific heat $C_p$. # # `seismic vs': A visualization output object that generates output for # the seismic S-wave speed. # # `seismic vp': A visualization output object that generates output for # the seismic P-wave speed. # # `partition': A visualization output object that generates output for the # parallel partition that every cell of the mesh is associated with. # # `nonadiabatic temperature': A visualization output object that generates # output for the non-adiabatic component of the pressure. # # `nonadiabatic pressure': A visualization output object that generates # output for the non-adiabatic component of the pressure. # # `friction heating': A visualization output object that generates output # for the amount of friction heating often referred to as $\tau:\epsilon$. # More concisely, in the incompressible case, the quantity that is output # is defined as $\eta \varepsilon(\mathbf u):\varepsilon(\mathbf u)$ where # $\eta$ is itself a function of temperature, pressure and strain rate. In # the compressible case, the quantity that's computed is $\eta # [\varepsilon(\mathbf u)-\tfrac 13(\textrm{tr}\;\varepsilon(\mathbf # u))\mathbf I]:[\varepsilon(\mathbf u)-\tfrac # 13(\textrm{tr}\;\varepsilon(\mathbf u))\mathbf I]$. # # `density': A visualization output object that generates output for the # density. set List of output variables = # VTU file output supports grouping files from several CPUs into one file # using MPI I/O when writing on a parallel filesystem. Select 0 for no # grouping. This will disable parallel file output and instead write one # file per processor in a background thread. A value of 1 will generate # one big file containing the whole solution. set Number of grouped files = 0 # The file format to be used for graphical output. set Output format = vtu # The time interval between each generation of graphical output files. A # value of zero indicates that output should be generated in each time # step. Units: years if the 'Use years in output instead of seconds' # parameter is set; seconds otherwise. set Time between graphical output = 0.01 # default: 1e8 end end