(sec:run-aspect:parameters-overview:muparser-format)= # A note on the syntax of formulas in input files Input files have different ways of describing certain things to ASPECT. For example, you could select a plugin for the temperature initial values that prescribes a constant temperature, or a plugin that implements a particular formula for these initial conditions in C++ in the code of the plugin, or a plugin that allows you to describe this formula in a symbolic way in the input file (see {ref}`parameters:Initial_20temperature_20model`). An example of this latter case is this snippet of code discussed in {ref}`sec:cookbooks:convection_box_3d`: ```{literalinclude} ../../cookbooks/cookbooks/convection_box_3d/doc/initial.part.prm ``` The formulas you can enter here need to use a syntax that is understood by the functions and classes that interpret what you write. Internally, this is done using the muparser library, see . The syntax is mostly self-explanatory in that it allows you to use the usual symbols `x`, `y` and `z` to reference coordinates (unless a particular plugin uses different variables, such as the depth), the symbol `t` for time in many situations, and allows you to use all of the typical mathematical functions such as sine and cosine. Based on the muparser library, deal.II supports additional functions, including `|` (the logical OR), `&` (the logical AND), `int()`, `ceil()`, `floor()`, `cot()`, `csc()`, `sec()`, `pow()`, `log()`, `erfc()`, `rand()`, and `rand_seed()`. For more detailed information, see . A common need for function expression is an if-else-statement, for example "if $1