underworld.function.analytic module =================================== This module provides a suite of models which satisfy the Stokes system of equations. All models are considered across a unit square (or cube) domain, and utilise (unless otherwise stated) free-slip conditions on all boundaries. Each model object provides a set of Underworld Functions for description of physical quantities such as velocity, pressure and viscosity. For numerical validation in Underworld, we construct a Stokes system with appropriate domain and boundary conditions. Viscosity and body forces are set directly using corresponding Function objects provided by the solution class. Generated numerical solution for velocity and pressure (or derived quantities) may then be compared with exact solutions provided by solution objects. Where appropriate, solution classes provide Latex descriptions of the body force and viscosity functions via the `eqn_bodyforce` and `eqn_viscosity` attributes. Note the following definitions for rectangular and step functions: .. math:: \operatorname{rect}(c, w; x) = \left\{\begin{array}{rl} 1 & \text{if } |x - c| \le \frac{w}{2} \\ 0 & \text{if } |x - c| > \frac{w}{2}, \end{array}\right. and .. math:: \operatorname{step}(\alpha,\beta,c; x) = \left\{\begin{array}{rl} \alpha & \text{if } x \le c \\ \beta & \text{if } x > c. \end{array}\right. .. module:: underworld.function.analytic Classes ~~~~~~~ .. autosummary:: :nosignatures: underworld.function.analytic.SolA underworld.function.analytic.SolB underworld.function.analytic.SolC underworld.function.analytic.SolCx underworld.function.analytic.SolDA underworld.function.analytic.SolDB2d underworld.function.analytic.SolDB3d underworld.function.analytic.SolH underworld.function.analytic.SolKx underworld.function.analytic.SolKz underworld.function.analytic.SolM underworld.function.analytic.SolNL .. autoclass:: underworld.function.analytic.SolA :members: :show-inheritance: .. autoclass:: underworld.function.analytic.SolB :members: :show-inheritance: .. autoclass:: underworld.function.analytic.SolC :members: :show-inheritance: .. autoclass:: underworld.function.analytic.SolCx :members: :show-inheritance: .. autoclass:: underworld.function.analytic.SolDA :members: :show-inheritance: .. autoclass:: underworld.function.analytic.SolDB2d :members: :show-inheritance: .. autoclass:: underworld.function.analytic.SolDB3d :members: :show-inheritance: .. autoclass:: underworld.function.analytic.SolH :members: :show-inheritance: .. autoclass:: underworld.function.analytic.SolKx :members: :show-inheritance: .. autoclass:: underworld.function.analytic.SolKz :members: :show-inheritance: .. autoclass:: underworld.function.analytic.SolM :members: :show-inheritance: .. autoclass:: underworld.function.analytic.SolNL :members: :show-inheritance: