Skip to content

Comments

fix: SinglePhaseWell Separator flash #3978

Open
tjb-ltk wants to merge 3 commits intodevelopfrom
fix/byer3/thermalSinglePhaseWellSeparator
Open

fix: SinglePhaseWell Separator flash #3978
tjb-ltk wants to merge 3 commits intodevelopfrom
fix/byer3/thermalSinglePhaseWellSeparator

Conversation

@tjb-ltk
Copy link
Contributor

@tjb-ltk tjb-ltk commented Feb 20, 2026

Well separator used for constraint properties did not supply temperature when calling flash

@tjb-ltk tjb-ltk requested a review from dkachuma February 20, 2026 17:07
@tjb-ltk tjb-ltk self-assigned this Feb 20, 2026
@tjb-ltk tjb-ltk added ci: run CUDA builds Allows to triggers (costly) CUDA jobs flag: ready for review ci: run integrated tests Allows to run the integrated tests in GEOS CI flag: no rebaseline Does not require rebaseline ci: run code coverage enables running of the code coverage CI jobs labels Feb 20, 2026
@tjb-ltk
Copy link
Contributor Author

tjb-ltk commented Feb 20, 2026

@dkachuma

Should the fluid model interface should throw if being called when model is thermal ???

@tjb-ltk tjb-ltk changed the title fix SinglePhaseWell Separator flash fix: SinglePhaseWell Separator flash Feb 20, 2026
@codecov
Copy link

codecov bot commented Feb 20, 2026

Codecov Report

❌ Patch coverage is 83.33333% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 58.87%. Comparing base (2b691d5) to head (88665f1).

Files with missing lines Patch % Lines
...physicsSolvers/fluidFlow/wells/SinglePhaseWell.cpp 83.33% 2 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #3978      +/-   ##
===========================================
- Coverage    58.87%   58.87%   -0.01%     
===========================================
  Files         1356     1356              
  Lines       113234   113243       +9     
===========================================
  Hits         66668    66668              
- Misses       46566    46575       +9     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Contributor

@dkachuma dkachuma left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. The fact that the thermal fluid has the interface without the temperature is strange. I think we can adopt the multiphase approach that we will always call with the temperature. Remove the interface without the temperature from the fluid models and see what fails to compile.

{
// use surface conditions
flashPressure = wellControls.getSurfacePressure();
flashTemperature = wellControls.getSurfaceTemperature();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we ensure that users supply this for single phase?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we do now

{
// we need to compute the surface density
fluidWrapper.update( iwelemRef, 0, flashPressure );
if constexpr ( IS_THERMAL )
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since both fluid interfaces have the temperature dependent interface (the isothermal fluid simply ignores it), I would remove this branch and have a single call.

real64 const refPres = pres[iwelemRef];
fluidWrapper.update( iwelemRef, 0, refPres );
real64 const refTemp = temp[iwelemRef];
if constexpr ( IS_THERMAL )
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similarly here. No need for the branch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci: run code coverage enables running of the code coverage CI jobs ci: run CUDA builds Allows to triggers (costly) CUDA jobs ci: run integrated tests Allows to run the integrated tests in GEOS CI flag: no rebaseline Does not require rebaseline flag: ready for review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants