mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Improved ODB support (#8046)
* Experiments for supporting visualization of new ODB files from WIA workflow * Some more experiments to get odb working for wia results * More work in progress, experimenting to get wellIA result files to load properly * Make sure all part geometries use the same global bounding box * Clean up code * Add some safeguards for data calculations Move parts below grid in project tree * Fix warnings * Add support for C3D8RT elements Add some more safeguards for missing data Remove strange part handling * Support elements with reduced number of integration points by pretending to have 8. * Change integration point mapping to correct order (ref. Stein and Abaqus 2019 doc) * Do not allocate too much memory for element nodal results for 20 element node types * Code cleanup. Revert back to old integration point numbering scheme (ref. Stein) * And, another integration point order update... * Update comments
This commit is contained in:
@@ -42,8 +42,9 @@ using namespace cvf;
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RivFemPartGeometryGenerator::RivFemPartGeometryGenerator( const RigFemPart* part )
|
||||
RivFemPartGeometryGenerator::RivFemPartGeometryGenerator( const RigFemPart* part, cvf::Vec3d displayOffset )
|
||||
: m_part( part )
|
||||
, m_displayOffset( displayOffset )
|
||||
{
|
||||
CVF_ASSERT( part );
|
||||
m_triangleMapper = new RivFemPartTriangleToElmMapper;
|
||||
@@ -147,7 +148,6 @@ void RivFemPartGeometryGenerator::computeArrays()
|
||||
trianglesToElements.reserve( estimatedQuadVxCount / 2 );
|
||||
trianglesToElementFaces.reserve( estimatedQuadVxCount / 2 );
|
||||
|
||||
cvf::Vec3d displayOffset = m_part->boundingBox().min();
|
||||
const std::vector<cvf::Vec3f>& nodeCoordinates = m_part->nodes().coordinates;
|
||||
|
||||
#pragma omp parallel for schedule( dynamic )
|
||||
@@ -177,13 +177,13 @@ void RivFemPartGeometryGenerator::computeArrays()
|
||||
if ( faceNodeCount == 4 )
|
||||
{
|
||||
cvf::Vec3f quadVxs0( cvf::Vec3d( nodeCoordinates[elmNodeIndices[localElmNodeIndicesForFace[0]]] ) -
|
||||
displayOffset );
|
||||
m_displayOffset );
|
||||
cvf::Vec3f quadVxs1( cvf::Vec3d( nodeCoordinates[elmNodeIndices[localElmNodeIndicesForFace[1]]] ) -
|
||||
displayOffset );
|
||||
m_displayOffset );
|
||||
cvf::Vec3f quadVxs2( cvf::Vec3d( nodeCoordinates[elmNodeIndices[localElmNodeIndicesForFace[2]]] ) -
|
||||
displayOffset );
|
||||
m_displayOffset );
|
||||
cvf::Vec3f quadVxs3( cvf::Vec3d( nodeCoordinates[elmNodeIndices[localElmNodeIndicesForFace[3]]] ) -
|
||||
displayOffset );
|
||||
m_displayOffset );
|
||||
|
||||
int qNodeIdx[4];
|
||||
qNodeIdx[0] = elmNodeIndices[localElmNodeIndicesForFace[0]];
|
||||
@@ -272,8 +272,6 @@ cvf::ref<cvf::DrawableGeo>
|
||||
|
||||
const int* elmNodeIndices = part->connectivities( elmIdx );
|
||||
|
||||
// cvf::Vec3d displayOffset = part->boundingBox().min();
|
||||
|
||||
for ( int lfIdx = 0; lfIdx < faceCount; ++lfIdx )
|
||||
{
|
||||
int faceNodeCount = 0;
|
||||
|
||||
Reference in New Issue
Block a user