mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Fault Reactivation: use data nodes when extracting values for INP file.
This commit is contained in:
@@ -608,16 +608,34 @@ const std::vector<std::vector<unsigned int>>& RigGriddedPart3d::elementIndices()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
const std::vector<cvf::Vec3d> RigGriddedPart3d::elementCorners( size_t elementIndex ) const
|
||||
std::vector<cvf::Vec3d> RigGriddedPart3d::elementCorners( size_t elementIndex ) const
|
||||
{
|
||||
if ( elementIndex >= m_elementIndices.size() ) return {};
|
||||
return extractCornersForElement( m_elementIndices, m_nodes, elementIndex );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::vector<cvf::Vec3d> RigGriddedPart3d::elementDataCorners( size_t elementIndex ) const
|
||||
{
|
||||
return extractCornersForElement( m_elementIndices, m_dataNodes, elementIndex );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::vector<cvf::Vec3d> RigGriddedPart3d::extractCornersForElement( const std::vector<std::vector<unsigned int>>& elementIndices,
|
||||
const std::vector<cvf::Vec3d>& nodes,
|
||||
size_t elementIndex )
|
||||
{
|
||||
if ( elementIndex >= elementIndices.size() ) return {};
|
||||
|
||||
std::vector<cvf::Vec3d> corners;
|
||||
|
||||
for ( auto nodeIdx : m_elementIndices[elementIndex] )
|
||||
for ( auto nodeIdx : elementIndices[elementIndex] )
|
||||
{
|
||||
if ( nodeIdx >= m_nodes.size() ) continue;
|
||||
corners.push_back( m_nodes[nodeIdx] );
|
||||
if ( nodeIdx >= nodes.size() ) continue;
|
||||
corners.push_back( nodes[nodeIdx] );
|
||||
}
|
||||
|
||||
return corners;
|
||||
|
||||
@@ -73,7 +73,8 @@ public:
|
||||
const std::map<Boundary, std::vector<unsigned int>>& boundaryNodes() const;
|
||||
const std::map<ElementSets, std::vector<unsigned int>>& elementSets() const;
|
||||
const std::vector<int> elementKLayer() const;
|
||||
const std::vector<cvf::Vec3d> elementCorners( size_t elementIndex ) const;
|
||||
std::vector<cvf::Vec3d> elementCorners( size_t elementIndex ) const;
|
||||
std::vector<cvf::Vec3d> elementDataCorners( size_t elementIndex ) const;
|
||||
const std::vector<std::pair<double, double>> layers( ElementSets elementSet ) const;
|
||||
|
||||
protected:
|
||||
@@ -95,7 +96,10 @@ private:
|
||||
UpperOverburden
|
||||
};
|
||||
|
||||
static std::vector<Regions> allRegions();
|
||||
static std::vector<Regions> allRegions();
|
||||
static std::vector<cvf::Vec3d> extractCornersForElement( const std::vector<std::vector<unsigned int>>& elementIndices,
|
||||
const std::vector<cvf::Vec3d>& nodes,
|
||||
size_t elementIndex );
|
||||
|
||||
private:
|
||||
bool m_useLocalCoordinates;
|
||||
|
||||
Reference in New Issue
Block a user