mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#11198 Fix result info for POR-Bar normalized by hydrostatic pressure.
Fixes #11198. Fixes #10565.
This commit is contained in:
committed by
Magne Sjaastad
parent
9ac4b38cae
commit
055c0d4c8c
@@ -281,16 +281,16 @@ void RiuFemResultTextBuilder::appendTextFromResultColors( RigGeoMechCaseData*
|
|||||||
|
|
||||||
if ( resultDefinition->hasResult() )
|
if ( resultDefinition->hasResult() )
|
||||||
{
|
{
|
||||||
const std::vector<float>& scalarResults =
|
auto address = RigFemAddressDefines::getResultLookupAddress( resultDefinition->resultAddress() );
|
||||||
geomData->femPartResults()->resultValues( resultDefinition->resultAddress(), gridIndex, timeStepIndex, frameIndex );
|
const std::vector<float>& scalarResults = geomData->femPartResults()->resultValues( address, gridIndex, timeStepIndex, frameIndex );
|
||||||
if ( !scalarResults.empty() )
|
if ( !scalarResults.empty() )
|
||||||
{
|
{
|
||||||
caf::AppEnum<RigFemResultPosEnum> resPosAppEnum = resultDefinition->resultPositionType();
|
caf::AppEnum<RigFemResultPosEnum> resPosAppEnum = address.resultPosType;
|
||||||
resultInfoText->append( resPosAppEnum.uiText() + ", " );
|
resultInfoText->append( resPosAppEnum.uiText() + ", " );
|
||||||
resultInfoText->append( resultDefinition->resultFieldUiName() + ", " );
|
resultInfoText->append( resultDefinition->resultFieldUiName() + ", " );
|
||||||
resultInfoText->append( resultDefinition->resultComponentUiName() + ":\n" );
|
resultInfoText->append( resultDefinition->resultComponentUiName() + ":\n" );
|
||||||
|
|
||||||
if ( resultDefinition->resultPositionType() != RIG_ELEMENT_NODAL_FACE )
|
if ( address.resultPosType != RIG_ELEMENT_NODAL_FACE )
|
||||||
{
|
{
|
||||||
RigFemPart* femPart = geomData->femParts()->part( gridIndex );
|
RigFemPart* femPart = geomData->femParts()->part( gridIndex );
|
||||||
RigElementType elmType = femPart->elementType( cellIndex );
|
RigElementType elmType = femPart->elementType( cellIndex );
|
||||||
@@ -302,8 +302,8 @@ void RiuFemResultTextBuilder::appendTextFromResultColors( RigGeoMechCaseData*
|
|||||||
{
|
{
|
||||||
float scalarValue = std::numeric_limits<float>::infinity();
|
float scalarValue = std::numeric_limits<float>::infinity();
|
||||||
int nodeIdx = elementConn[lNodeIdx];
|
int nodeIdx = elementConn[lNodeIdx];
|
||||||
if ( resultDefinition->resultPositionType() == RIG_NODAL ||
|
if ( address.resultPosType == RIG_NODAL ||
|
||||||
( resultDefinition->resultPositionType() == RIG_DIFFERENTIALS &&
|
( address.resultPosType == RIG_DIFFERENTIALS &&
|
||||||
resultDefinition->resultFieldName() == QString::fromStdString( RigFemAddressDefines::porBar() ) ) )
|
resultDefinition->resultFieldName() == QString::fromStdString( RigFemAddressDefines::porBar() ) ) )
|
||||||
{
|
{
|
||||||
scalarValue = scalarResults[nodeIdx];
|
scalarValue = scalarResults[nodeIdx];
|
||||||
@@ -407,13 +407,15 @@ QString RiuFemResultTextBuilder::closestNodeResultText( RimGeoMechResultDefiniti
|
|||||||
|
|
||||||
RigGeoMechCaseData* geomData = m_geomResDef->geoMechCase()->geoMechData();
|
RigGeoMechCaseData* geomData = m_geomResDef->geoMechCase()->geoMechData();
|
||||||
|
|
||||||
|
auto address = RigFemAddressDefines::getResultLookupAddress( resultColors->resultAddress() );
|
||||||
|
|
||||||
const std::vector<float>& scalarResults =
|
const std::vector<float>& scalarResults =
|
||||||
geomData->femPartResults()->resultValues( resultColors->resultAddress(), m_gridIndex, m_timeStepIndex, m_frameIndex );
|
geomData->femPartResults()->resultValues( address, m_gridIndex, m_timeStepIndex, m_frameIndex );
|
||||||
|
|
||||||
if ( !scalarResults.empty() && m_displayCoordView )
|
if ( !scalarResults.empty() && m_displayCoordView )
|
||||||
{
|
{
|
||||||
RigFemPart* femPart = geomData->femParts()->part( m_gridIndex );
|
RigFemPart* femPart = geomData->femParts()->part( m_gridIndex );
|
||||||
RigFemResultPosEnum activeResultPosition = resultColors->resultPositionType();
|
RigFemResultPosEnum activeResultPosition = address.resultPosType;
|
||||||
|
|
||||||
cvf::Vec3d intersectionPointInDomain =
|
cvf::Vec3d intersectionPointInDomain =
|
||||||
m_displayCoordView->displayCoordTransform()->translateToDomainCoord( m_intersectionPointInDisplay );
|
m_displayCoordView->displayCoordTransform()->translateToDomainCoord( m_intersectionPointInDisplay );
|
||||||
@@ -443,11 +445,7 @@ QString RiuFemResultTextBuilder::closestNodeResultText( RimGeoMechResultDefiniti
|
|||||||
}
|
}
|
||||||
else if ( m_isIntersectionTriangleSet && activeResultPosition == RIG_ELEMENT_NODAL_FACE )
|
else if ( m_isIntersectionTriangleSet && activeResultPosition == RIG_ELEMENT_NODAL_FACE )
|
||||||
{
|
{
|
||||||
RiuGeoMechXfTensorResultAccessor tensAccessor( geomData->femPartResults(),
|
RiuGeoMechXfTensorResultAccessor tensAccessor( geomData->femPartResults(), address, m_gridIndex, m_timeStepIndex, m_frameIndex );
|
||||||
resultColors->resultAddress(),
|
|
||||||
m_gridIndex,
|
|
||||||
m_timeStepIndex,
|
|
||||||
m_frameIndex );
|
|
||||||
float tensValue = tensAccessor.calculateElmNodeValue( m_intersectionTriangle, closestElmNodResIdx );
|
float tensValue = tensAccessor.calculateElmNodeValue( m_intersectionTriangle, closestElmNodResIdx );
|
||||||
|
|
||||||
text.append( QString( "Closest result: N[%1], in Element[%2] transformed onto intersection: %3 \n" )
|
text.append( QString( "Closest result: N[%1], in Element[%2] transformed onto intersection: %3 \n" )
|
||||||
|
|||||||
Reference in New Issue
Block a user