Helper struct handling inner product for hybrid finite volume schemes.
More...
#include <MimeticInnerProductHelpers.hpp>
|
static GEOS_HOST_DEVICE void | makeFullTensor (real64 const (&values)[3], real64(&result)[3][3]) |
| Create a full tensor from an array. More...
|
|
template<localIndex NF> |
static GEOS_HOST_DEVICE void | orthonormalize (real64(&q0)[NF], real64(&q1)[NF], real64(&q2)[NF], real64(&cellToFaceMat)[NF][3]) |
| Orthonormalize a set of three vectors. More...
|
|
template<localIndex NF> |
static GEOS_HOST_DEVICE void | computeInvTPFATransWithMultiplier (real64 const (&elemPerm)[3], real64 const (&faceNormal)[3], real64 const &faceArea, real64 const &transMult, real64 const &weightToleranceInv, real64(&cellToFaceVec)[3], real64 &tpTransInv) |
| For a given face, compute the TPFA entry incorporating the multiplier. More...
|
|
template<localIndex NF> |
static GEOS_HOST_DEVICE void | computeTransMatrixWithMultipliers (real64 const (&tpTransInv)[NF], arraySlice2d< real64 > const &transMatrix) |
| Incorporate the transmissibility multiplier into the transmissibility matrix. More...
|
|
Helper struct handling inner product for hybrid finite volume schemes.
Definition at line 31 of file MimeticInnerProductHelpers.hpp.
◆ computeInvTPFATransWithMultiplier()
template<localIndex NF>
static GEOS_HOST_DEVICE void geos::mimeticInnerProduct::MimeticInnerProductHelpers::computeInvTPFATransWithMultiplier |
( |
real64 const (&) |
elemPerm[3], |
|
|
real64 const (&) |
faceNormal[3], |
|
|
real64 const & |
faceArea, |
|
|
real64 const & |
transMult, |
|
|
real64 const & |
weightToleranceInv, |
|
|
real64(&) |
cellToFaceVec[3], |
|
|
real64 & |
tpTransInv |
|
) |
| |
|
inlinestatic |
For a given face, compute the TPFA entry incorporating the multiplier.
- Template Parameters
-
NF | number of faces in the element |
- Parameters
-
[in] | elemPerm | the permeability in the element |
[in] | faceNormal | the unit normal vector to the face |
[in] | faceArea | the area of the face |
[in] | transMult | the transmissibility multiplier for this face |
[in] | weightToleranceInv | tolerance used in the trans computation |
[in,out] | cellToFaceVec | the vector from the element center to the face center |
[out] | tpTransInv | the TPFA entry incorporating the multiplier |
Definition at line 105 of file MimeticInnerProductHelpers.hpp.
◆ computeTransMatrixWithMultipliers()
Incorporate the transmissibility multiplier into the transmissibility matrix.
- Template Parameters
-
NF | number of faces in the element |
- Parameters
-
[in,out] | tpTransInv | inverse of the (diagonal of the) TPFA transmissibility matrix (already accounting for the multiplier |
[in,out] | transMatrix | transmissibility matrix |
Definition at line 140 of file MimeticInnerProductHelpers.hpp.
◆ makeFullTensor()
static GEOS_HOST_DEVICE void geos::mimeticInnerProduct::MimeticInnerProductHelpers::makeFullTensor |
( |
real64 const (&) |
values[3], |
|
|
real64(&) |
result[3][3] |
|
) |
| |
|
inlinestatic |
Create a full tensor from an array.
- Parameters
-
[in] | values | the input array |
[out] | result | the full tensor |
Definition at line 41 of file MimeticInnerProductHelpers.hpp.
◆ orthonormalize()
Orthonormalize a set of three vectors.
- Template Parameters
-
NF | number of faces in the element |
- Parameters
-
[in,out] | q0 | first vector |
[in,out] | q1 | second vector |
[in,out] | q2 | third vector |
[out] | cellToFaceMat | a copy of in/out vectors stacked into a matrix |
Definition at line 61 of file MimeticInnerProductHelpers.hpp.
The documentation for this struct was generated from the following file: