hyteg issueshttps://i10git.cs.fau.de/hyteg/hyteg/-/issues2021-07-17T10:35:02+02:00https://i10git.cs.fau.de/hyteg/hyteg/-/issues/156Building blocks for mantle convection simulations for models with variable vi...2021-07-17T10:35:02+02:00Marcus MohrBuilding blocks for mantle convection simulations for models with variable viscosity and anelastic approximationHi,
in order to run mantle convection models on a thick spherical shell with blending and variable viscosity and the generalised mass conservation equation of the (truncated) anelastic approximation some building blocks are still missing. Especially in such models we need the
- **Epsilon Operator** given by
```math
\mathcal{A}(\vec{u}) = \text{div}\left[\mu\left(\text{grad}(\vec{u})+ \text{grad}(\vec{u})^T\right)
\right]
```
- and the **Full Viscous Operator** given by
```math
\mathcal{A}(\vec{u}) = \text{div}\left[\mu\left(\text{grad}(\vec{u})+ \text{grad}(\vec{u})^T\right)
\right] - \frac{2}{3} \text{grad}\left(\mu\,\text{div}\vec{u}\right)
```
where $`\mu`$ is the variable kinematic viscosity.
Components that need implementing are:
1. *Epsilon operators* that make use of the already available HyTeG forms which support blending and/or a callback function for viscosity, these are
- ```p[12]_epsiloncc_*_*_affine_q2```
- ```p[12]_epsiloncc_*_*_blending_q2```
- ```p[12]_epsilonvar_*_*_affine_q2```
- ```p[12]_epsilonvar_*_*_blending_q2```
currently these forms seem not to be used anywhere. Note that also of the corresponding FEniCS forms only the 2D version ```p1_stokes_epsilon``` seems to show up in an operator, but neither the ``p2`` variant nor the 3D versions ```p[12]_stokes_epsilon_tet```.
1. Different forms for the full viscous operator
1. Operators allowing to use the forms for the full viscous operator
1. Tests for the new forms and for the new operators
Cheers
MarcusHi,
in order to run mantle convection models on a thick spherical shell with blending and variable viscosity and the generalised mass conservation equation of the (truncated) anelastic approximation some building blocks are still missing. Especially in such models we need the
- **Epsilon Operator** given by
```math
\mathcal{A}(\vec{u}) = \text{div}\left[\mu\left(\text{grad}(\vec{u})+ \text{grad}(\vec{u})^T\right)
\right]
```
- and the **Full Viscous Operator** given by
```math
\mathcal{A}(\vec{u}) = \text{div}\left[\mu\left(\text{grad}(\vec{u})+ \text{grad}(\vec{u})^T\right)
\right] - \frac{2}{3} \text{grad}\left(\mu\,\text{div}\vec{u}\right)
```
where $`\mu`$ is the variable kinematic viscosity.
Components that need implementing are:
1. *Epsilon operators* that make use of the already available HyTeG forms which support blending and/or a callback function for viscosity, these are
- ```p[12]_epsiloncc_*_*_affine_q2```
- ```p[12]_epsiloncc_*_*_blending_q2```
- ```p[12]_epsilonvar_*_*_affine_q2```
- ```p[12]_epsilonvar_*_*_blending_q2```
currently these forms seem not to be used anywhere. Note that also of the corresponding FEniCS forms only the 2D version ```p1_stokes_epsilon``` seems to show up in an operator, but neither the ``p2`` variant nor the 3D versions ```p[12]_stokes_epsilon_tet```.
1. Different forms for the full viscous operator
1. Operators allowing to use the forms for the full viscous operator
1. Tests for the new forms and for the new operators
Cheers
MarcusMarcus MohrMarcus Mohr