|
FacePropertiesTPSA_impl.hpp
Go to the documentation of this file.
75template<class Grid, class GridView, class ElementMapper, class CartesianIndexMapper, class Scalar>
94template<class Grid, class GridView, class ElementMapper, class CartesianIndexMapper, class Scalar>
104template<class Grid, class GridView, class ElementMapper, class CartesianIndexMapper, class Scalar>
116 // Note (from Transmissibility::update): Reserving some space in the hashmap upfront saves quite a bit of time
117 // because resizes are costly for hashmaps and there would be quite a few of them if we would not have a rough idea
142 // Initialize thread safe insert_or_assign for face properties in the grid and separate for boundaries
143 ThreadSafeMapBuilder weightsAvgMap(weightsAvg_, num_threads, MapBuilderInsertionMode::Insert_Or_Assign);
144 ThreadSafeMapBuilder weightsProdMap(weightsProd_, num_threads, MapBuilderInsertionMode::Insert_Or_Assign);
145 ThreadSafeMapBuilder distanceMap(distance_, num_threads, MapBuilderInsertionMode::Insert_Or_Assign);
146 ThreadSafeMapBuilder faceNormalMap(faceNormal_, num_threads, MapBuilderInsertionMode::Insert_Or_Assign);
148 ThreadSafeMapBuilder weightsAvgBoundaryMap(weightsAvgBoundary_, num_threads, MapBuilderInsertionMode::Insert_Or_Assign);
149 ThreadSafeMapBuilder weightsProdBoundaryMap(weightsProdBoundary_, num_threads, MapBuilderInsertionMode::Insert_Or_Assign);
150 ThreadSafeMapBuilder distanceBoundaryMap(distanceBoundary_, num_threads, MapBuilderInsertionMode::Insert_Or_Assign);
151 ThreadSafeMapBuilder faceNormalBoundaryMap(faceNormalBoundary_, num_threads, MapBuilderInsertionMode::Insert_Or_Assign);
181 Scalar distBound = computeDistance_(distanceVector_(inside.faceCenter, inside.elemIdx), faceNormal);
208 if (std::tie(inside.cartElemIdx, inside.elemIdx) > std::tie(outside.cartElemIdx, outside.elemIdx)) {
236 Scalar dist_in = computeDistance_(distanceVector_(inside.faceCenter, inside.elemIdx), faceNormal);
237 Scalar dist_out = computeDistance_(distanceVector_(outside.faceCenter, outside.elemIdx), faceNormal);
301template<class Grid, class GridView, class ElementMapper, class CartesianIndexMapper, class Scalar>
326template<class Grid, class GridView, class ElementMapper, class CartesianIndexMapper, class Scalar>
340template<class Grid, class GridView, class ElementMapper, class CartesianIndexMapper, class Scalar>
354template<class Grid, class GridView, class ElementMapper, class CartesianIndexMapper, class Scalar>
368template<class Grid, class GridView, class ElementMapper, class CartesianIndexMapper, class Scalar>
382template<class Grid, class GridView, class ElementMapper, class CartesianIndexMapper, class Scalar>
398template<class Grid, class GridView, class ElementMapper, class CartesianIndexMapper, class Scalar>
399typename FacePropertiesTPSA<Grid, GridView, ElementMapper, CartesianIndexMapper, Scalar>::DimVector
420template<class Grid, class GridView, class ElementMapper, class CartesianIndexMapper, class Scalar>
421const typename FacePropertiesTPSA<Grid, GridView, ElementMapper, CartesianIndexMapper, Scalar>::DimVector&
438template<class Grid, class GridView, class ElementMapper, class CartesianIndexMapper, class Scalar>
455template<class Grid, class GridView, class ElementMapper, class CartesianIndexMapper, class Scalar>
477template<class Grid, class GridView, class ElementMapper, class CartesianIndexMapper, class Scalar>
515template<class Grid, class GridView, class ElementMapper, class CartesianIndexMapper, class Scalar>
529template<class Grid, class GridView, class ElementMapper, class CartesianIndexMapper, class Scalar>
530typename FacePropertiesTPSA<Grid, GridView, ElementMapper, CartesianIndexMapper, Scalar>::DimVector
551template<class Grid, class GridView, class ElementMapper, class CartesianIndexMapper, class Scalar>
565 const std::vector<double>& ymodulus = this->lookUpData_.assignFieldPropsDoubleOnLeaf(fp, "YMODULE");
566 const std::vector<double>& lameParam = this->lookUpData_.assignFieldPropsDoubleOnLeaf(fp, "LAME");
575 const std::vector<double>& ymodulus = this->lookUpData_.assignFieldPropsDoubleOnLeaf(fp, "YMODULE");
576 const std::vector<double>& pratio = this->lookUpData_.assignFieldPropsDoubleOnLeaf(fp, "PRATIO");
583 const std::vector<double>& lameParam = this->lookUpData_.assignFieldPropsDoubleOnLeaf(fp, "LAME");
584 const std::vector<double>& pratio = this->lookUpData_.assignFieldPropsDoubleOnLeaf(fp, "PRATIO");
591 throw std::logic_error("Cannot read shear modulus data from ecl state, SMODULUS keyword missing, "
void extractSModulus_() Extract shear modulus from eclState. Definition: FacePropertiesTPSA_impl.hpp:553 void finishInit() Compute TPSA face properties. Definition: FacePropertiesTPSA_impl.hpp:96 void computeCellProperties(const Intersection &intersection, FaceInfo &inside, FaceInfo &outside, DimVector &faceNormal, std::false_type) const Compute face properties from general DUNE grid. Definition: FacePropertiesTPSA_impl.hpp:458 Scalar weightProduct(unsigned elemIdx1, unsigned elemIdx2) const Product of weights at interface between two elements. Definition: FacePropertiesTPSA_impl.hpp:342 DimVector cellFaceNormal(unsigned elemIdx1, unsigned elemIdx2) Cell face normal at interface between two elements. Definition: FacePropertiesTPSA_impl.hpp:401 Dune::FieldVector< Scalar, dimWorld > DimVector Definition: FacePropertiesTPSA.hpp:53 Scalar weightAverage(unsigned elemIdx1, unsigned elemIdx2) const Average (half-)weight at interface between two elements. Definition: FacePropertiesTPSA_impl.hpp:303 Scalar normalDistanceBoundary(unsigned elemIdx1, unsigned boundaryFaceIdx) const Distance to boundary interface. Definition: FacePropertiesTPSA_impl.hpp:384 Scalar weightAverageBoundary(unsigned elemIdx1, unsigned boundaryFaceIdx) const Average (half-)weight at boundary interface. Definition: FacePropertiesTPSA_impl.hpp:328 const DimVector & cellFaceNormalBoundary(unsigned elemIdx1, unsigned boundaryFaceIdx) const Cell face normal of boundary interface. Definition: FacePropertiesTPSA_impl.hpp:423 Scalar computeWeight_(const Scalar distance, const Scalar smod) Compute weight ratio between distance and shear modulus. Definition: FacePropertiesTPSA_impl.hpp:517 void update() Compute TPSA face properties. Definition: FacePropertiesTPSA_impl.hpp:106 Scalar computeDistance_(const DimVector &distVec, const DimVector &faceNormal) Compute normal distance from cell center to face center. Definition: FacePropertiesTPSA_impl.hpp:440 DimVector distanceVector_(const DimVector &faceCenter, const unsigned &cellIdx) const Distance vector from cell center to face center. Definition: FacePropertiesTPSA_impl.hpp:532 Scalar normalDistance(unsigned elemIdx1, unsigned elemIdx2) const Distance between two elements. Definition: FacePropertiesTPSA_impl.hpp:370 FacePropertiesTPSA(const EclipseState &eclState, const GridView &gridView, const CartesianIndexMapper &cartMapper, const Grid &grid, std::function< std::array< double, dimWorld >(int)> centroids) Constructor. Definition: FacePropertiesTPSA_impl.hpp:77 Scalar weightProductBoundary(unsigned elemIdx1, unsigned boundaryFaceIdx) const Product of weights at boundary interface. Definition: FacePropertiesTPSA_impl.hpp:356 static unsigned maxThreads() Return the maximum number of threads of the current process. Definition: threadmanager.hpp:66 std::uint64_t isIdTPSA(std::uint32_t elemIdx1, std::uint32_t elemIdx2) Definition: FacePropertiesTPSA_impl.hpp:54 Definition: blackoilbioeffectsmodules.hh:45 Definition: FacePropertiesTPSA.hpp:83 unsigned cartElemIdx Definition: FacePropertiesTPSA.hpp:87 DimVector faceCenter Definition: FacePropertiesTPSA.hpp:84 |