-
Notifications
You must be signed in to change notification settings - Fork 97
feat: Geothermal Gradient for Single Phase flow #3193
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Geothermal Gradient for Single Phase flow #3193
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## develop #3193 +/- ##
===========================================
- Coverage 58.31% 58.27% -0.05%
===========================================
Files 1319 1320 +1
Lines 114626 114715 +89
===========================================
+ Hits 66846 66852 +6
- Misses 47780 47863 +83 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
@npillardou are you planning to finish this PR or it can be closed? |
@dkachuma and @jhuang2601 please take a look |
Sorry @paveltomin I totally forgot to answer you. I should take some time to investigate a good implementation, maybe with the help of Jian and Dick. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it be possible to make it consistent with this:
GEOS/src/coreComponents/physicsSolvers/fluidFlow/kernels/compositional/HydrostaticPressureKernel.hpp
Lines 49 to 56 in 45f272c
enum class ReturnType : integer | |
{ | |
FAILED_TO_CONVERGE = 0, | |
DETECTED_MULTIPHASE_FLOW = 1, | |
SUCCESS = 2, | |
DETECTED_SINGLEPHASE_FLOW = 3, | |
PHASE_CORRECTION_NOT_NEEDED = 4 | |
}; |
from #3795
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@npillardou can you add an inputFile using it ?
…tps://github.com/GEOS-DEV/GEOS into feature/npillardou/singlePhaseGeothermalGradient
GEOS_THROW_IF_NE_MSG( value, ExponentApproximationType::Linear, | ||
GEOS_FMT( "{}: invalid model type in attribute '{}' (only linear currently supported)", getFullName(), attribute ), | ||
InputError ); | ||
GEOS_THROW_IF( value != ExponentApproximationType::Linear && value != ExponentApproximationType::Full, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
linear is not supported anymore?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Both linear and full are valid. If the value is not one of these, it throws an error.
Removed default move assignment operator and its implementation from KernelWrapper.
Removed unnecessary blank line in KernelWrapper class.
Removed unnecessary blank line in KernelWrapper class.
…/singlePhaseGeothermalGradient
forAll< parallelDevicePolicy< > >( targetSet.size(), [=] GEOS_HOST_DEVICE ( localIndex const i ) | ||
RAJA::ReduceMin< parallelHostReduce, real64 > minPressure( LvArray::NumericLimits< real64 >::max ); | ||
|
||
forAll< parallelHostPolicy >( targetSet.size(), [=] GEOS_HOST_DEVICE ( localIndex const i ) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@rrsettgast @klevzoff
changing this from parallelDevicePolicy
to parallelHostPolicy
seems to resolve that unit test failure
The purpose of this PR is to add the geothermal gradient capacities for single-phase flow.
At the moment the temperature VS Elevation is correlated with the composition VS Elevation, maybe this point could be extended to something that is independent of the composition:
Further work is needed to account for composition in the hydrostatic pressure kernel, as it is done in CompositionalMultiphaseFlow.