Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .integrated_tests.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
baselines:
bucket: geosx
baseline: integratedTests/baseline_integratedTests-pr3224-13023-0334b63
baseline: integratedTests/baseline_integratedTests-pr3783-13079-916d2a0

allow_fail:
all: ''
Expand Down
4 changes: 4 additions & 0 deletions BASELINE_NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ This file is designed to track changes to the integrated test baselines.
Any developer who updates the baseline ID in the .integrated_tests.yaml file is expected to create an entry in this file with the pull request number, date, and their justification for rebaselining.
These notes should be in reverse-chronological order, and use the following time format: (YYYY-MM-DD).

PR #3783 (2025-08-22) <https://storage.googleapis.com/geosx/integratedTests/baseline_integratedTests-pr3783-13079-916d2a0.tar.gz>
=====================
Update bug in single phase flash handling

PR #3224 (2025-08-22) <https://storage.googleapis.com/geosx/integratedTests/baseline_integratedTests-pr3224-13023-0334b63.tar.gz>
=====================
Add Taper boundary conditions inside second-order wave solvers
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,9 +82,13 @@ class NegativeTwoPhaseFlashModelUpdate final : public FunctionBaseUpdate

StackArray< real64, 1, maxNumComps > incipientComposition( m_numComponents );

integer pureComponent = -1;
integer almostPureComponent = -1;
checkPureMixture( m_numComponents, compFraction, pureComponent, almostPureComponent );

// Check if k-Values need to be initialised
auto kVapourLiquid = kValues[0];
bool const needInitialisation = hasZero( m_numComponents, kVapourLiquid.toSliceConst() );
bool const needInitialisation = (pureComponent < 0) && hasZero( m_numComponents, kVapourLiquid.toSliceConst() );
if( needInitialisation )
{
if( m_flashData.liquidEos == EquationOfStateType::SoreideWhitson )
Expand All @@ -111,14 +115,10 @@ class NegativeTwoPhaseFlashModelUpdate final : public FunctionBaseUpdate
integer const stabilityIterations = m_discreteFlashParameters[FlashParameters::STABILITY_MAX_ITERATIONS];

bool unstableMixture = false;
bool stabilityStatus = false;
bool stabilityStatus = (0 <= pureComponent);
EquationOfStateType incipientEquationOfState = m_flashData.liquidEos;

integer pureComponent = -1;
integer almostPureComponent = -1;
checkPureMixture( m_numComponents, compFraction, pureComponent, almostPureComponent );

if( 0 < stabilityIterations || needInitialisation )
if( ((pureComponent < 0) && (0 < stabilityIterations)) || needInitialisation )
{
stabilityStatus = StabilityTest::compute( m_numComponents,
pressure,
Expand All @@ -133,6 +133,13 @@ class NegativeTwoPhaseFlashModelUpdate final : public FunctionBaseUpdate
incipientEquationOfState,
incipientComposition.toSlice() );
}
else
{
for( integer ic = 0; ic < m_numComponents; ++ic )
{
incipientComposition[ic] = compFraction[ic];
}
}

// Pure mixtures are always stable
if( 0 <= pureComponent )
Expand Down