Skip to content

Commit cd7da15

Browse files
author
Tor Harald Sandve
committed
Add parameter Conserve inner energy and use it
1 parent de11bb3 commit cd7da15

File tree

3 files changed

+16
-0
lines changed

3 files changed

+16
-0
lines changed

opm/simulators/flow/FlowProblemBlackoil.hpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,6 +334,13 @@ class FlowProblemBlackoil : public FlowProblem<TypeTag>
334334

335335
this->initFluidSystem_();
336336

337+
// conserve inner energy instead of enthalpy if TEMP is used
338+
// or THERMAL and parameter ConserveInnerEnergyThermal is true (default false)
339+
bool isThermal = eclState.getSimulationConfig().isThermal();
340+
bool isTemp = eclState.getSimulationConfig().isTemp();
341+
bool conserveInnerEnergy = isTemp || (isThermal && Parameters::Get<Parameters::ConserveInnerEnergyThermal>());
342+
FluidSystem::setEnergyEqualEnthalpy(conserveInnerEnergy);
343+
337344
if (FluidSystem::phaseIsActive(FluidSystem::oilPhaseIdx) &&
338345
FluidSystem::phaseIsActive(FluidSystem::gasPhaseIdx)) {
339346
this->maxOilSaturation_.resize(this->model().numGridDof(), 0.0);

opm/simulators/flow/FlowProblemParameters.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,10 @@ void registerFlowProblemParameters()
7272
Parameters::Register<Parameters::NumSatfuncConsistencySamplePoints>
7373
("Maximum number of reported failures for each individual saturation function consistency check");
7474

75+
Parameters::Register<Parameters::ConserveInnerEnergyThermal>
76+
("Conserve inner energy and not enthalpy "
77+
"even if THERMAL is used.");
78+
7579
// By default, stop it after the universe will probably have stopped
7680
// to exist. (the ECL problem will finish the simulation explicitly
7781
// after it simulated the last episode specified in the deck.)
@@ -90,6 +94,8 @@ void registerFlowProblemParameters()
9094
// the default for the allowed volumetric error for oil per second
9195
Parameters::SetDefault<Parameters::NewtonTolerance<Scalar>>(1e-2);
9296
Parameters::SetDefault<Parameters::EnableGravity>(true);
97+
98+
Parameters::SetDefault<Parameters::ConserveInnerEnergyThermal>(false);
9399
}
94100

95101
template void registerFlowProblemParameters<double>();

opm/simulators/flow/FlowProblemParameters.hpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,9 @@ struct OutputMode { static constexpr auto value = "all"; };
5656
// between writing restart files
5757
struct RestartWritingInterval { static constexpr int value = 0xffffff; }; // disable
5858

59+
// Conserve inner energy instead of enthalpy even if THERMAL is used
60+
struct ConserveInnerEnergyThermal { static constexpr bool value = false; };
61+
5962
} // namespace Opm::Parameters
6063

6164
namespace Opm {

0 commit comments

Comments
 (0)