hyteg issues https://i10git.cs.fau.de/hyteg/hyteg/-/issues 2021-07-17T10:35:02+02:00 https://i10git.cs.fau.de/hyteg/hyteg/-/issues/156 Building blocks for mantle convection simulations for models with variable vi... 2021-07-17T10:35:02+02:00 Marcus Mohr Building blocks for mantle convection simulations for models with variable viscosity and anelastic approximation Hi, 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_epsiloncc_*_*_affine_q2 - p_epsiloncc_*_*_blending_q2 - p_epsilonvar_*_*_affine_q2 - p_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_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 Marcus Hi, 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_epsiloncc_*_*_affine_q2 - p_epsiloncc_*_*_blending_q2 - p_epsilonvar_*_*_affine_q2 - p_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_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 Marcus Marcus Mohr Marcus Mohr