Solving thermal equations for MSW#6816
Conversation
|
jenkins build this please |
2ff5efa to
bba4fd2
Compare
|
jenkins build this please |
e1b9b6b to
f676874
Compare
|
jenkins build this please |
3960982 to
215d308
Compare
febf6e4 to
75b0fa7
Compare
1f92b64 to
14530ff
Compare
48b127b to
cf33559
Compare
|
jenkins build this failure_report please |
3 similar comments
|
jenkins build this failure_report please |
|
jenkins build this failure_report please |
|
jenkins build this failure_report please |
including adding tempearture as the primary variable for the MSW. to calculate the enthalpy, for each segment, we generate a SegmentFluidState.
to test the thermal equation solving for MSW
for thermal cases in MultisegmentWell.
instead of using 0, which is not physical
for future record.
Multiply the MSW energy accumulation/flow/perforation terms by energy_scaling_factor_ (the reservoir's BlackOilEnergyScalingFactor) so the energy residual matches the mass-equation scale, improving well-system conditioning and convergence; the connectionRates_ source term stays raw since the reservoir scales the coupling centrally. The energy convergence check now reuses the standard well tolerances instead of hand-tuned constants.
…ture Fall back to first-perforation reservoir temperature when WINJTEMP is unset instead of calling Well::inj_temperature() unconditionally.
Reuse surfaceToReservoirRate for the producing energy connection (now a template over the fluid-state type, extending reservoir Eval on the fly), hoist the segment volume and PVT parameter cache out of their phase loops.
and only applying the pressure and temperature derivative to energy flux.
|
After some extensive efforts, it looks like to re-use the segment fluid for other non-thermal cases might bring in small impact in performance. It is not easy to resolve perfectly for now. After discussion, it is suggested that we can get this PR in, so the thermal running for MSW can be used. At the same time, the refactoring to re-use segment fluid state to reduce duplicated property calculation can be a continuing efforts to address in the following up PRs. |
|
jenkins build this failure_report please |
- include the energy residual in getResidualMeasureValue - use the first-perforation salt concentration into createFluidState - correct the surfaceToReservoirRate doc comment for the d<=0 fallback
|
jenkins build this failure_report please |
|
jenkins build this please |
| @@ -173,6 +199,16 @@ namespace Opm { | |||
|
|
|||
| // the intial amount of fluids in each segment under surface condition | |||
|
jenkins build this please |
We add the energy equation for multisegment wells. To calculate the enthalpy for each segment, we create a SegmentFluidState for each segment.
It is possible that we can use more properties from SegmentFluidState as the fluid properties, while I will keep that as a refactoring PR, since it will potentially change the simulation results.
This PR should not change any simulation results when thermal is not activated.