Class for the computation of the enhanced version ('Frolkovic-type') of the consistent gravity.
More...
|
template<int dim> |
void | compute (MathVector< dim > &ConsistentGravity, const MathVector< refDim > &LocalCoord, const MathMatrix< dim, refDim > &JTInv, const MathVector< refDim > *vLocalGrad, const MathVector< refDim > *vConsGravity) |
| computation of the consistent gravity at a given point More...
|
|
void | prepare (MathVector< 2 > *vConsGravity, const int n_co, const MathVector< dim > *vCorners, const number *vDensity, const MathVector< dim > &PhysicalGravity) |
| spacialization of the method for faces (reference dimension 2) More...
|
|
void | prepare (MathVector< 3 > *vConsGravity, const int n_co, const MathVector< dim > *vCorners, const number *vDensity, const MathVector< dim > &PhysicalGravity) |
| spacialization of the method for volumes (reference dimension 3) More...
|
|
template<int dim> |
void | prepare (MathVector< refDim > *vConsGravity, const int n_co, const MathVector< dim > *vCorners, const number *vDensity, const MathVector< dim > &PhysicalGravity) |
| computation of the primary function for the consistent gravity at corners, cf. the specializations More...
|
|
| StdLinConsistentGravityX () |
| constructor More...
|
|
template<int dim> |
void | compute (MathVector< dim > &ConsistentGravity, const MathVector< refDim > &LocalCoord, const MathMatrix< dim, refDim > &JTInv, const MathVector< refDim > *vLocalGrad, const MathVector< refDim > *vConsGravity) |
| computation of the consistent gravity at a given point More...
|
|
void | prepare (MathVector< 1 > *vConsGravity, const int n_co, const MathVector< dim > *vCorners, const number *vDensity, const MathVector< dim > &PhysicalGravity) |
| spacialization of the method for edges (reference dimension 1) More...
|
|
void | prepare (MathVector< 2 > *vConsGravity, const int n_co, const MathVector< dim > *vCorners, const number *vDensity, const MathVector< dim > &PhysicalGravity) |
| spacialization of the method for faces (reference dimension 2) More...
|
|
void | prepare (MathVector< 3 > *vConsGravity, const int n_co, const MathVector< dim > *vCorners, const number *vDensity, const MathVector< dim > &PhysicalGravity) |
| spacialization of the method for volumes (reference dimension 3) More...
|
|
template<int dim> |
void | prepare (MathVector< refDim > *vConsGravity, const int n_co, const MathVector< dim > *vCorners, const number *vDensity, const MathVector< dim > &PhysicalGravity) |
| computation of the primary function for the consistent gravity at corners, cf. the specializations More...
|
|
| StdLinConsistentGravity () |
| constructor (sets the 'not init.' flag) More...
|
|
|
template<typename refElem , int dim> |
void | prepare_simplex (MathVector< refDim > *vConsGravity, const MathVector< dim > *vCorners, const number *vDensity, const MathVector< dim > &PhysicalGravity) |
| computation of the extended version of the corner consistent gravity for simplices (only in full dimension!) More...
|
|
template<int dim> |
void | prepare_edge (MathVector< 1 > *vConsGravity, const MathVector< dim > *vCorners, const number *vDensity, const MathVector< dim > &PhysicalGravity) |
| computation of the primary function for the consistent gravity at corners of an edge More...
|
|
template<int dim> |
void | prepare_hexahedron (MathVector< 3 > *vConsGravity, const MathVector< dim > *vCorners, const number *vDensity, const MathVector< dim > &PhysicalGravity) |
| computation of the primary function for the consistent gravity at corners of a hexahedron More...
|
|
template<int dim> |
void | prepare_prism (MathVector< 3 > *vConsGravity, const MathVector< dim > *vCorners, const number *vDensity, const MathVector< dim > &PhysicalGravity) |
| computation of the primary function for the consistent gravity at corners of a prism More...
|
|
template<int dim> |
void | prepare_pyramid (MathVector< 3 > *vConsGravity, const MathVector< dim > *vCorners, const number *vDensity, const MathVector< dim > &PhysicalGravity) |
| computation of the primary function for the consistent gravity at corners of a pyramid More...
|
|
template<int dim> |
void | prepare_quadrilateral (MathVector< 2 > *vConsGravity, const MathVector< dim > *vCorners, const number *vDensity, const MathVector< dim > &PhysicalGravity) |
| computation of the primary function for the consistent gravity at corners of a quadrilateral More...
|
|
template<int dim> |
void | prepare_tetrahedron (MathVector< 3 > *vConsGravity, const MathVector< dim > *vCorners, const number *vDensity, const MathVector< dim > &PhysicalGravity) |
| computation of the primary function for the consistent gravity at corners of a tetrahedron More...
|
|
template<int dim> |
void | prepare_triangle (MathVector< 2 > *vConsGravity, const MathVector< dim > *vCorners, const number *vDensity, const MathVector< dim > &PhysicalGravity) |
| computation of the primary function for the consistent gravity at corners of a triangle More...
|
|
template<int refDim>
class ug::StdLinConsistentGravityX< refDim >
Class for the computation of the enhanced version ('Frolkovic-type') of the consistent gravity.
Implementation of the enhanced ('Frolkovic-type') version of the consistent gravity for simplices (triangles and tetrahedra) in the case of the gravity force parallel to the z-axis. For all other elements and other gravities, the same method as in StdLinConsistentGravity is used.
- See also
- StdLinConsistentGravity
References:
-
P. Frolkovic, Consistent velocity approximation for density driven flow and transport, In: Advanced Computational Methods in Engineering, Part 2: Contributed papers; (R. Van Keer at al., eds.), Shaker Publishing, Maastricht, 1998, p. 603-611
- Template Parameters
-
refDim | dimensionality of the reference element (e.g. 2 for triangles, 3 for tetrahedra) |