|
| Transmissibility (const EclipseState &eclState, const GridView &gridView, const CartesianIndexMapper &cartMapper, const Grid &grid, std::function< std::array< double, dimWorld >(int)> centroids, bool enableEnergy, bool enableDiffusivity, bool enableDispersivity) |
|
const DimMatrix & | permeability (unsigned elemIdx) const |
| Return the permeability for an element.
|
|
Scalar | transmissibility (unsigned elemIdx1, unsigned elemIdx2) const |
| Return the transmissibility for the intersection between two elements.
|
|
Scalar | transmissibilityBoundary (unsigned elemIdx, unsigned boundaryFaceIdx) const |
| Return the transmissibility for a given boundary segment.
|
|
Scalar | thermalHalfTrans (unsigned insideElemIdx, unsigned outsideElemIdx) const |
| Return the thermal "half transmissibility" for the intersection between two elements.
|
|
Scalar | thermalHalfTransBoundary (unsigned insideElemIdx, unsigned boundaryFaceIdx) const |
|
Scalar | diffusivity (unsigned elemIdx1, unsigned elemIdx2) const |
| Return the diffusivity for the intersection between two elements.
|
|
Scalar | dispersivity (unsigned elemIdx1, unsigned elemIdx2) const |
| Return the dispersivity for the intersection between two elements.
|
|
void | finishInit (const std::function< unsigned int(unsigned int)> &map={}) |
| Actually compute the transmissibility over a face as a pre-compute step.
|
|
void | update (bool global, TransUpdateQuantities update_quantities=TransUpdateQuantities::All, const std::function< unsigned int(unsigned int)> &map={}, bool applyNncMultRegT=false) |
|
|
void | updateFromEclState_ (bool global) |
|
void | removeNonCartesianTransmissibilities_ (bool removeAll) |
|
void | applyAllZMultipliers_ (Scalar &trans, const FaceInfo &inside, const FaceInfo &outside, const TransMult &transMult, const std::array< int, dimWorld > &cartDims) |
| Apply the Multipliers for the case PINCH(4)==TOPBOT.
|
|
std::array< std::vector< double >, 3 > | createTransmissibilityArrays_ (const std::array< bool, 3 > &is_tran) |
| Creates TRANS{XYZ} arrays for modification by FieldProps data.
|
|
void | resetTransmissibilityFromArrays_ (const std::array< bool, 3 > &is_tran, const std::array< std::vector< double >, 3 > &trans) |
| overwrites calculated transmissibilities
|
|
template<class Intersection > |
void | computeFaceProperties (const Intersection &intersection, FaceInfo &inside, FaceInfo &outside, DimVector &faceAreaNormal, std::false_type) const |
|
template<class Intersection > |
void | computeFaceProperties (const Intersection &intersection, FaceInfo &inside, FaceInfo &outside, DimVector &faceAreaNormal, std::true_type) const |
|
void | applyNncToGridTrans_ (const std::unordered_map< std::size_t, int > &cartesianToCompressed) |
|
void | applyPinchNncToGridTrans_ (const std::unordered_map< std::size_t, int > &cartesianToCompressed) |
| Applies the previous calculate transmissibilities to the NNCs created via PINCH.
|
|
void | applyEditNncToGridTrans_ (const std::unordered_map< std::size_t, int > &globalToLocal) |
| Multiplies the grid transmissibilities according to EDITNNC.
|
|
void | applyEditNncrToGridTrans_ (const std::unordered_map< std::size_t, int > &globalToLocal) |
| Resets the grid transmissibilities according to EDITNNCR.
|
|
void | applyNncMultreg_ (const std::unordered_map< std::size_t, int > &globalToLocal) |
|
void | applyEditNncToGridTransHelper_ (const std::unordered_map< std::size_t, int > &globalToLocal, const std::string &keyword, const std::vector< NNCdata > &nncs, const std::function< KeywordLocation(const NNCdata &)> &getLocation, const std::function< void(Scalar &, const Scalar &)> &apply) |
|
void | extractPermeability_ () |
|
void | extractPermeability_ (const std::function< unsigned int(unsigned int)> &map) |
|
void | extractPorosity_ () |
|
void | extractDispersion_ () |
|
DimVector | distanceVector_ (const DimVector &faceCenter, const unsigned &cellIdx) const |
|
void | applyMultipliers_ (Scalar &trans, unsigned faceIdx, unsigned cartElemIdx, const TransMult &transMult) const |
|
|
std::vector< DimMatrix > | permeability_ |
|
std::vector< Scalar > | porosity_ |
|
std::vector< Scalar > | dispersion_ |
|
std::unordered_map< std::uint64_t, Scalar > | trans_ |
|
const EclipseState & | eclState_ |
|
const GridView & | gridView_ |
|
const CartesianIndexMapper & | cartMapper_ |
|
const Grid & | grid_ |
|
std::function< std::array< double, dimWorld >(int)> | centroids_ |
|
std::vector< std::array< double, dimWorld > > | centroids_cache_ |
|
Scalar | transmissibilityThreshold_ |
|
std::map< std::pair< unsigned, unsigned >, Scalar > | transBoundary_ |
|
std::map< std::pair< unsigned, unsigned >, Scalar > | thermalHalfTransBoundary_ |
|
bool | enableEnergy_ |
|
bool | enableDiffusivity_ |
|
bool | enableDispersivity_ |
|
bool | warnEditNNC_ = true |
|
std::unordered_map< std::uint64_t, Scalar > | thermalHalfTrans_ |
|
std::unordered_map< std::uint64_t, Scalar > | diffusivity_ |
|
std::unordered_map< std::uint64_t, Scalar > | dispersivity_ |
|
const LookUpData< Grid, GridView > | lookUpData_ |
|
const LookUpCartesianData< Grid, GridView > | lookUpCartesianData_ |
|
Return the thermal "half transmissibility" for the intersection between two elements.
The "half transmissibility" features all sub-expressions of the "thermal
transmissibility" which can be precomputed, i.e. they are not dependent on the current solution:
H_t = A * (n*d)/(d*d);
where A is the area of the intersection between the inside and outside elements, n is the outer unit normal, and d is the distance between the center of the inside cell and the center of the intersection.