underworld.function.analytic module¶
This module provides analytic solution functions to the Stokes flow equations.
Module Summary¶
classes:¶
underworld.function.analytic.SolDB3d |
SolDB2d and solDB3d from: |
underworld.function.analytic.SolM |
|
underworld.function.analytic.SolNL |
|
underworld.function.analytic.SolCx |
The boundary conditions are free-slip everywhere on a unit domain. |
underworld.function.analytic.SolKz |
The boundary conditions are free-slip everywhere on a unit domain. |
underworld.function.analytic.SolDB2d |
SolDB2d and solDB3d from: |
underworld.function.analytic.SolKx |
The boundary conditions are free-slip everywhere on a unit domain. |
Module Details¶
classes:¶
-
class
underworld.function.analytic.
SolDB3d
(Beta=4.0, *args, **kwargs)[source]¶ Bases:
underworld.function.analytic._SolBase
SolDB2d and solDB3d from:
Dohrmann, C.R., Bochev, P.B., A stabilized finite element method for the Stokes problem based on polynomial pressure projections, Int. J. Numer. Meth. Fluids 46, 183-201 (2004).
-
class
underworld.function.analytic.
SolM
(eta0=1.0, m=1, n=1.0, r=1.5, *args, **kwargs)[source]¶ Bases:
underworld.function.analytic._SolBase
-
class
underworld.function.analytic.
SolNL
(eta0=1.0, n=1.0, r=1.5, *args, **kwargs)[source]¶ Bases:
underworld.function.analytic._SolBase
-
class
underworld.function.analytic.
SolCx
(viscosityA=1.0, viscosityB=2.0, xc=0.25, nx=1, *args, **kwargs)[source]¶ Bases:
underworld.function.analytic._SolBase
The boundary conditions are free-slip everywhere on a unit domain. There is a viscosity jump in the x direction at \(x=xc\). The flow is driven by the following density perturbation:
\[\rho = \sin (nz \pi z) \cos (nx \pi x)\]Parameters: - viscosityA (float) – Viscosty of region A.
- viscosityB (float) – Viscosty of region B.
- xc (float) – Location for viscosity jump.
- nx (unsigned) – Wavenumber in x axis.
-
class
underworld.function.analytic.
SolKz
(sigma=1.0, nx=1, nz=1.0, B=1.0, *args, **kwargs)[source]¶ Bases:
underworld.function.analytic._SolBase
The boundary conditions are free-slip everywhere on a unit domain. The viscosity varies exponentially in the z direction and is given by \(\eta = \exp (2 B z)\). The flow is driven by the following density perturbation:
\[\rho = -\sigma \sin (nz \pi z) \cos (nx \pi x).\]Parameters: - sigma (float) – Density perturbation amplitude.
- nx (float) – Wavenumber in x axis.
- nz (unsigned) – Wavenumber in axis.
- B (float) – Viscosity parameter
-
class
underworld.function.analytic.
SolDB2d
(*args, **kwargs)[source]¶ Bases:
underworld.function.analytic._SolBase
SolDB2d and solDB3d from:
Dohrmann, C.R., Bochev, P.B., A stabilized finite element method for the Stokes problem based on polynomial pressure projections, Int. J. Numer. Meth. Fluids 46, 183-201 (2004).
-
class
underworld.function.analytic.
SolKx
(sigma=1.0, nx=1.0, nz=1, B=1.1512925465, *args, **kwargs)[source]¶ Bases:
underworld.function.analytic._SolBase
The boundary conditions are free-slip everywhere on a unit domain. The viscosity varies exponentially in the x direction and is given by \(\eta = \exp (2 B x)\). The flow is driven by the following density perturbation:
\[\rho = -\sigma \sin (nz \pi z) \cos (nx \pi x).\]Parameters: - sigma (float) – Density perturbation amplitude.
- nx (float) – Wavenumber in x axis.
- nz (unsigned) – Wavenumber in axis.
- B (float) – Viscosity parameter