diff --git a/src/coreComponents/constitutive/CMakeLists.txt b/src/coreComponents/constitutive/CMakeLists.txt
index 90f58b17390..108b5fd0bb0 100644
--- a/src/coreComponents/constitutive/CMakeLists.txt
+++ b/src/coreComponents/constitutive/CMakeLists.txt
@@ -45,8 +45,6 @@ set( constitutive_headers
fluid/PVTFunctions/SpanWagnerCO2Density.hpp
fluid/PVTFunctions/BrineEnthalpy.hpp
fluid/PVTFunctions/CO2Enthalpy.hpp
- fluid/PVTFunctions/BrineInternalEnergy.hpp
- fluid/PVTFunctions/CO2InternalEnergy.hpp
fluid/PVTFunctions/CO2EOSSolver.hpp
fluid/PVTFunctions/PureWaterProperties.hpp
fluid/ParticleFluid.hpp
@@ -150,8 +148,6 @@ set( constitutive_sources
fluid/PVTFunctions/PVTFunctionHelpers.cpp
fluid/PVTFunctions/BrineEnthalpy.cpp
fluid/PVTFunctions/CO2Enthalpy.cpp
- fluid/PVTFunctions/BrineInternalEnergy.cpp
- fluid/PVTFunctions/CO2InternalEnergy.cpp
fluid/PVTFunctions/CO2EOSSolver.cpp
fluid/PVTFunctions/PureWaterProperties.cpp
fluid/ParticleFluid.cpp
diff --git a/src/coreComponents/constitutive/fluid/CO2BrineFluid.cpp b/src/coreComponents/constitutive/fluid/CO2BrineFluid.cpp
index 262a1d7a9b3..1567cf15be2 100644
--- a/src/coreComponents/constitutive/fluid/CO2BrineFluid.cpp
+++ b/src/coreComponents/constitutive/fluid/CO2BrineFluid.cpp
@@ -36,16 +36,16 @@ template< typename PHASE1, typename PHASE2, typename FLASH > class
TwoPhaseCatalogNames {};
template<> class
- TwoPhaseCatalogNames< PhaseModel< PVTProps::PhillipsBrineDensity, PVTProps::PhillipsBrineViscosity, PVTProps::NoOpPVTFunction, PVTProps::NoOpPVTFunction >,
- PhaseModel< PVTProps::SpanWagnerCO2Density, PVTProps::FenghourCO2Viscosity, PVTProps::NoOpPVTFunction, PVTProps::NoOpPVTFunction >,
+ TwoPhaseCatalogNames< PhaseModel< PVTProps::PhillipsBrineDensity, PVTProps::PhillipsBrineViscosity, PVTProps::NoOpPVTFunction >,
+ PhaseModel< PVTProps::SpanWagnerCO2Density, PVTProps::FenghourCO2Viscosity, PVTProps::NoOpPVTFunction >,
PVTProps::CO2Solubility >
{
public:
static string name() { return "CO2BrinePhillipsFluid"; }
};
template<> class
- TwoPhaseCatalogNames< PhaseModel< PVTProps::PhillipsBrineDensity, PVTProps::PhillipsBrineViscosity, PVTProps::BrineEnthalpy, PVTProps::BrineInternalEnergy >,
- PhaseModel< PVTProps::SpanWagnerCO2Density, PVTProps::FenghourCO2Viscosity, PVTProps::CO2Enthalpy, PVTProps::CO2InternalEnergy >,
+ TwoPhaseCatalogNames< PhaseModel< PVTProps::PhillipsBrineDensity, PVTProps::PhillipsBrineViscosity, PVTProps::BrineEnthalpy >,
+ PhaseModel< PVTProps::SpanWagnerCO2Density, PVTProps::FenghourCO2Viscosity, PVTProps::CO2Enthalpy >,
PVTProps::CO2Solubility >
{
public:
@@ -53,16 +53,16 @@ template<> class
};
template<> class
- TwoPhaseCatalogNames< PhaseModel< PVTProps::EzrokhiBrineDensity, PVTProps::EzrokhiBrineViscosity, PVTProps::NoOpPVTFunction, PVTProps::NoOpPVTFunction >,
- PhaseModel< PVTProps::SpanWagnerCO2Density, PVTProps::FenghourCO2Viscosity, PVTProps::NoOpPVTFunction, PVTProps::NoOpPVTFunction >,
+ TwoPhaseCatalogNames< PhaseModel< PVTProps::EzrokhiBrineDensity, PVTProps::EzrokhiBrineViscosity, PVTProps::NoOpPVTFunction >,
+ PhaseModel< PVTProps::SpanWagnerCO2Density, PVTProps::FenghourCO2Viscosity, PVTProps::NoOpPVTFunction >,
PVTProps::CO2Solubility >
{
public:
static string name() { return "CO2BrineEzrokhiFluid"; }
};
template<> class
- TwoPhaseCatalogNames< PhaseModel< PVTProps::EzrokhiBrineDensity, PVTProps::EzrokhiBrineViscosity, PVTProps::BrineEnthalpy, PVTProps::BrineInternalEnergy >,
- PhaseModel< PVTProps::SpanWagnerCO2Density, PVTProps::FenghourCO2Viscosity, PVTProps::CO2Enthalpy, PVTProps::CO2InternalEnergy >,
+ TwoPhaseCatalogNames< PhaseModel< PVTProps::EzrokhiBrineDensity, PVTProps::EzrokhiBrineViscosity, PVTProps::BrineEnthalpy >,
+ PhaseModel< PVTProps::SpanWagnerCO2Density, PVTProps::FenghourCO2Viscosity, PVTProps::CO2Enthalpy >,
PVTProps::CO2Solubility >
{
public:
@@ -109,10 +109,8 @@ CO2BrineFluid( string const & name, Group * const parent ):
template< typename PHASE1, typename PHASE2, typename FLASH >
bool CO2BrineFluid< PHASE1, PHASE2, FLASH >::isThermal() const
{
- return ( PHASE1::Enthalpy::catalogName() != PVTProps::NoOpPVTFunction::catalogName() &&
- PHASE1::InternalEnergy::catalogName() != PVTProps::NoOpPVTFunction::catalogName() &&
- PHASE2::Enthalpy::catalogName() != PVTProps::NoOpPVTFunction::catalogName() &&
- PHASE2::InternalEnergy::catalogName() != PVTProps::NoOpPVTFunction::catalogName() );
+ return ( PHASE1::Enthalpy::catalogName() != PVTProps::NoOpPVTFunction::catalogName() &&
+ PHASE2::Enthalpy::catalogName() != PVTProps::NoOpPVTFunction::catalogName() );
}
@@ -174,11 +172,11 @@ void CO2BrineFluid< PHASE1, PHASE2, FLASH >::createPVTModels()
// TODO: get rid of these external files and move into XML, this is too error prone
// For now, to support the legacy input, we read all the input parameters at once in the arrays below, and then we create the models
array1d< array1d< string > > phase1InputParams;
- phase1InputParams.resize( 4 );
+ phase1InputParams.resize( 3 );
array1d< array1d< string > > phase2InputParams;
- phase2InputParams.resize( 4 );
+ phase2InputParams.resize( 3 );
- // 1) Create the viscosity, density, enthalpy, and internal energy models
+ // 1) Create the viscosity, density, enthalpy models
for( string const & filename : m_phasePVTParaFiles )
{
std::ifstream is( filename );
@@ -220,17 +218,6 @@ void CO2BrineFluid< PHASE1, PHASE2, FLASH >::createPVTModels()
phase2InputParams[PHASE2::InputParamOrder::ENTHALPY] = strs;
}
}
- else if( strs[0] == toString( SubModelInputNames::INTERNALENERGY ) )
- {
- if( strs[1] == PHASE1::InternalEnergy::catalogName() )
- {
- phase1InputParams[PHASE1::InputParamOrder::INTERNALENERGY] = strs;
- }
- else if( strs[1] == PHASE2::InternalEnergy::catalogName() )
- {
- phase2InputParams[PHASE2::InputParamOrder::INTERNALENERGY] = strs;
- }
- }
else
{
GEOSX_THROW( GEOSX_FMT( "{}: invalid PVT function type '{}'", getFullName(), strs[0] ), InputError );
@@ -253,15 +240,7 @@ void CO2BrineFluid< PHASE1, PHASE2, FLASH >::createPVTModels()
GEOSX_FMT( "{}: PVT model {} not found in input files", getFullName(), PHASE2::Viscosity::catalogName() ),
InputError );
- // we also detect any inconsistency arising in the enthalpy/internal energy models
- GEOSX_THROW_IF( phase1InputParams[PHASE1::InputParamOrder::INTERNALENERGY].empty() &&
- ( PHASE1::InternalEnergy::catalogName() != PVTProps::NoOpPVTFunction::catalogName() ),
- GEOSX_FMT( "{}: PVT model {} not found in input files", getFullName(), PHASE1::InternalEnergy::catalogName() ),
- InputError );
- GEOSX_THROW_IF( phase2InputParams[PHASE2::InputParamOrder::INTERNALENERGY].empty() &&
- ( PHASE2::InternalEnergy::catalogName() != PVTProps::NoOpPVTFunction::catalogName() ),
- GEOSX_FMT( "{}: PVT model {} not found in input files", getFullName(), PHASE2::InternalEnergy::catalogName() ),
- InputError );
+ // we also detect any inconsistency arising in the enthalpy models
GEOSX_THROW_IF( phase1InputParams[PHASE1::InputParamOrder::ENTHALPY].empty() &&
( PHASE1::Enthalpy::catalogName() != PVTProps::NoOpPVTFunction::catalogName() ),
GEOSX_FMT( "{}: PVT model {} not found in input files", getFullName(), PHASE1::Enthalpy::catalogName() ),
@@ -317,6 +296,7 @@ CO2BrineFluid< PHASE1, PHASE2, FLASH >::createKernelWrapper()
*m_flash,
m_componentMolarWeight.toViewConst(),
m_useMass,
+ isThermal(),
m_phaseFraction.toView(),
m_phaseDensity.toView(),
m_phaseMassDensity.toView(),
@@ -336,6 +316,7 @@ CO2BrineFluid< PHASE1, PHASE2, FLASH >::KernelWrapper::
FLASH const & flash,
arrayView1d< geosx::real64 const > componentMolarWeight,
bool const useMass,
+ bool const isThermal,
PhaseProp::ViewType phaseFraction,
PhaseProp::ViewType phaseDensity,
PhaseProp::ViewType phaseMassDensity,
@@ -356,24 +337,25 @@ CO2BrineFluid< PHASE1, PHASE2, FLASH >::KernelWrapper::
std::move( totalDensity ) ),
m_p1Index( p1Index ),
m_p2Index( p2Index ),
+ m_isThermal( isThermal ),
m_phase1( phase1.createKernelWrapper() ),
m_phase2( phase2.createKernelWrapper() ),
m_flash( flash.createKernelWrapper() )
{}
// explicit instantiation of the model template; unfortunately we can't use the aliases for this
-template class CO2BrineFluid< PhaseModel< PVTProps::PhillipsBrineDensity, PVTProps::PhillipsBrineViscosity, PVTProps::NoOpPVTFunction, PVTProps::NoOpPVTFunction >,
- PhaseModel< PVTProps::SpanWagnerCO2Density, PVTProps::FenghourCO2Viscosity, PVTProps::NoOpPVTFunction, PVTProps::NoOpPVTFunction >,
+template class CO2BrineFluid< PhaseModel< PVTProps::PhillipsBrineDensity, PVTProps::PhillipsBrineViscosity, PVTProps::NoOpPVTFunction >,
+ PhaseModel< PVTProps::SpanWagnerCO2Density, PVTProps::FenghourCO2Viscosity, PVTProps::NoOpPVTFunction >,
PVTProps::CO2Solubility >;
-template class CO2BrineFluid< PhaseModel< PVTProps::PhillipsBrineDensity, PVTProps::PhillipsBrineViscosity, PVTProps::BrineEnthalpy, PVTProps::BrineInternalEnergy >,
- PhaseModel< PVTProps::SpanWagnerCO2Density, PVTProps::FenghourCO2Viscosity, PVTProps::CO2Enthalpy, PVTProps::CO2InternalEnergy >,
+template class CO2BrineFluid< PhaseModel< PVTProps::PhillipsBrineDensity, PVTProps::PhillipsBrineViscosity, PVTProps::BrineEnthalpy >,
+ PhaseModel< PVTProps::SpanWagnerCO2Density, PVTProps::FenghourCO2Viscosity, PVTProps::CO2Enthalpy >,
PVTProps::CO2Solubility >;
-template class CO2BrineFluid< PhaseModel< PVTProps::EzrokhiBrineDensity, PVTProps::EzrokhiBrineViscosity, PVTProps::NoOpPVTFunction, PVTProps::NoOpPVTFunction >,
- PhaseModel< PVTProps::SpanWagnerCO2Density, PVTProps::FenghourCO2Viscosity, PVTProps::NoOpPVTFunction, PVTProps::NoOpPVTFunction >,
+template class CO2BrineFluid< PhaseModel< PVTProps::EzrokhiBrineDensity, PVTProps::EzrokhiBrineViscosity, PVTProps::NoOpPVTFunction >,
+ PhaseModel< PVTProps::SpanWagnerCO2Density, PVTProps::FenghourCO2Viscosity, PVTProps::NoOpPVTFunction >,
PVTProps::CO2Solubility >;
-template class CO2BrineFluid< PhaseModel< PVTProps::EzrokhiBrineDensity, PVTProps::EzrokhiBrineViscosity, PVTProps::BrineEnthalpy, PVTProps::BrineInternalEnergy >,
- PhaseModel< PVTProps::SpanWagnerCO2Density, PVTProps::FenghourCO2Viscosity, PVTProps::CO2Enthalpy, PVTProps::CO2InternalEnergy >,
+template class CO2BrineFluid< PhaseModel< PVTProps::EzrokhiBrineDensity, PVTProps::EzrokhiBrineViscosity, PVTProps::BrineEnthalpy >,
+ PhaseModel< PVTProps::SpanWagnerCO2Density, PVTProps::FenghourCO2Viscosity, PVTProps::CO2Enthalpy >,
PVTProps::CO2Solubility >;
REGISTER_CATALOG_ENTRY( ConstitutiveBase, CO2BrinePhillipsFluid, string const &, Group * const )
diff --git a/src/coreComponents/constitutive/fluid/CO2BrineFluid.hpp b/src/coreComponents/constitutive/fluid/CO2BrineFluid.hpp
index 268642a1a6a..875b3f2085b 100644
--- a/src/coreComponents/constitutive/fluid/CO2BrineFluid.hpp
+++ b/src/coreComponents/constitutive/fluid/CO2BrineFluid.hpp
@@ -24,9 +24,7 @@
#include "constitutive/fluid/MultiFluidUtils.hpp"
#include "constitutive/fluid/PhaseModel.hpp"
#include "constitutive/fluid/PVTFunctions/BrineEnthalpy.hpp"
-#include "constitutive/fluid/PVTFunctions/BrineInternalEnergy.hpp"
#include "constitutive/fluid/PVTFunctions/CO2Enthalpy.hpp"
-#include "constitutive/fluid/PVTFunctions/CO2InternalEnergy.hpp"
#include "constitutive/fluid/PVTFunctions/CO2Solubility.hpp"
#include "constitutive/fluid/PVTFunctions/EzrokhiBrineDensity.hpp"
#include "constitutive/fluid/PVTFunctions/EzrokhiBrineViscosity.hpp"
@@ -116,6 +114,7 @@ class CO2BrineFluid : public MultiFluidBase
FLASH const & flash,
arrayView1d< real64 const > componentMolarWeight,
bool const useMass,
+ bool const isThermal,
PhaseProp::ViewType phaseFraction,
PhaseProp::ViewType phaseDensity,
PhaseProp::ViewType phaseMassDensity,
@@ -131,6 +130,8 @@ class CO2BrineFluid : public MultiFluidBase
/// Index of the gas phase
integer m_p2Index;
+ /// Flag to specify whether the model is thermal or not
+ bool m_isThermal;
/// Brine constitutive kernel wrappers
typename PHASE1::KernelWrapper m_phase1;
@@ -151,8 +152,7 @@ class CO2BrineFluid : public MultiFluidBase
{
DENSITY, ///< the keyword for the density model
VISCOSITY, ///< the keyword for the viscosity model
- ENTHALPY, ///< the keyword for the enthalpy model
- INTERNALENERGY, ///< the keyword for the internal energy model
+ ENTHALPY ///< the keyword for the enthalpy model
};
/**
@@ -201,21 +201,21 @@ class CO2BrineFluid : public MultiFluidBase
// these aliases are useful in constitutive dispatch
using CO2BrinePhillipsFluid =
- CO2BrineFluid< PhaseModel< PVTProps::PhillipsBrineDensity, PVTProps::PhillipsBrineViscosity, PVTProps::NoOpPVTFunction, PVTProps::NoOpPVTFunction >,
- PhaseModel< PVTProps::SpanWagnerCO2Density, PVTProps::FenghourCO2Viscosity, PVTProps::NoOpPVTFunction, PVTProps::NoOpPVTFunction >,
+ CO2BrineFluid< PhaseModel< PVTProps::PhillipsBrineDensity, PVTProps::PhillipsBrineViscosity, PVTProps::NoOpPVTFunction >,
+ PhaseModel< PVTProps::SpanWagnerCO2Density, PVTProps::FenghourCO2Viscosity, PVTProps::NoOpPVTFunction >,
PVTProps::CO2Solubility >;
using CO2BrinePhillipsThermalFluid =
- CO2BrineFluid< PhaseModel< PVTProps::PhillipsBrineDensity, PVTProps::PhillipsBrineViscosity, PVTProps::BrineEnthalpy, PVTProps::BrineInternalEnergy >,
- PhaseModel< PVTProps::SpanWagnerCO2Density, PVTProps::FenghourCO2Viscosity, PVTProps::CO2Enthalpy, PVTProps::CO2InternalEnergy >,
+ CO2BrineFluid< PhaseModel< PVTProps::PhillipsBrineDensity, PVTProps::PhillipsBrineViscosity, PVTProps::BrineEnthalpy >,
+ PhaseModel< PVTProps::SpanWagnerCO2Density, PVTProps::FenghourCO2Viscosity, PVTProps::CO2Enthalpy >,
PVTProps::CO2Solubility >;
using CO2BrineEzrokhiFluid =
- CO2BrineFluid< PhaseModel< PVTProps::EzrokhiBrineDensity, PVTProps::EzrokhiBrineViscosity, PVTProps::NoOpPVTFunction, PVTProps::NoOpPVTFunction >,
- PhaseModel< PVTProps::SpanWagnerCO2Density, PVTProps::FenghourCO2Viscosity, PVTProps::NoOpPVTFunction, PVTProps::NoOpPVTFunction >,
+ CO2BrineFluid< PhaseModel< PVTProps::EzrokhiBrineDensity, PVTProps::EzrokhiBrineViscosity, PVTProps::NoOpPVTFunction >,
+ PhaseModel< PVTProps::SpanWagnerCO2Density, PVTProps::FenghourCO2Viscosity, PVTProps::NoOpPVTFunction >,
PVTProps::CO2Solubility >;
using CO2BrineEzrokhiThermalFluid =
- CO2BrineFluid< PhaseModel< PVTProps::EzrokhiBrineDensity, PVTProps::EzrokhiBrineViscosity, PVTProps::BrineEnthalpy, PVTProps::BrineInternalEnergy >,
- PhaseModel< PVTProps::SpanWagnerCO2Density, PVTProps::FenghourCO2Viscosity, PVTProps::CO2Enthalpy, PVTProps::CO2InternalEnergy >,
+ CO2BrineFluid< PhaseModel< PVTProps::EzrokhiBrineDensity, PVTProps::EzrokhiBrineViscosity, PVTProps::BrineEnthalpy >,
+ PhaseModel< PVTProps::SpanWagnerCO2Density, PVTProps::FenghourCO2Viscosity, PVTProps::CO2Enthalpy >,
PVTProps::CO2Solubility >;
template< typename PHASE1, typename PHASE2, typename FLASH >
@@ -289,31 +289,7 @@ CO2BrineFluid< PHASE1, PHASE2, FLASH >::KernelWrapper::
phaseViscosity[ip2],
m_useMass );
- // 4. Compute enthalpy and internal energy
-
- m_phase1.enthalpy.compute( pressure,
- temperatureInCelsius,
- phaseCompFraction[ip1].toSliceConst(),
- phaseEnthalpy[ip1],
- m_useMass );
- m_phase1.internalEnergy.compute( pressure,
- temperatureInCelsius,
- phaseCompFraction[ip1].toSliceConst(),
- phaseInternalEnergy[ip1],
- m_useMass );
-
- m_phase2.enthalpy.compute( pressure,
- temperatureInCelsius,
- phaseCompFraction[ip2].toSliceConst(),
- phaseEnthalpy[ip2],
- m_useMass );
- m_phase2.internalEnergy.compute( pressure,
- temperatureInCelsius,
- phaseCompFraction[ip2].toSliceConst(),
- phaseInternalEnergy[ip2],
- m_useMass );
-
- // 5. Depending on the m_useMass flag, convert to mass variables or simply compute mass density
+ // 4. Depending on the m_useMass flag, convert to mass variables or simply compute mass density
// TODO: for now the treatment of molar/mass density requires too many interpolations in the tables, it needs to be fixed
// we should modify the PVT functions so that they can return phaseMassDens, phaseDens, and phaseMW in one call
@@ -363,6 +339,30 @@ CO2BrineFluid< PHASE1, PHASE2, FLASH >::KernelWrapper::
true );
}
+ // 5. Compute enthalpy and internal energy
+
+ if( m_isThermal )
+ {
+
+ m_phase1.enthalpy.compute( pressure,
+ temperatureInCelsius,
+ phaseCompFraction[ip1].toSliceConst(),
+ phaseEnthalpy[ip1],
+ m_useMass );
+ m_phase2.enthalpy.compute( pressure,
+ temperatureInCelsius,
+ phaseCompFraction[ip2].toSliceConst(),
+ phaseEnthalpy[ip2],
+ m_useMass );
+
+ computeInternalEnergy< numComp, numPhase >( pressure,
+ phaseFraction,
+ phaseMassDensity,
+ phaseEnthalpy,
+ phaseInternalEnergy );
+
+ }
+
// 6. Compute total fluid mass/molar density
computeTotalDensity< numComp, numPhase >( phaseFraction,
@@ -442,32 +442,7 @@ CO2BrineFluid< PHASE1, PHASE2, FLASH >::KernelWrapper::
phaseViscosity.value[ip2], phaseViscosity.derivs[ip2],
m_useMass );
-
- // 4. Compute enthalpy and internal energy
-
- m_phase1.enthalpy.compute( pressure,
- temperatureInCelsius,
- phaseCompFraction.value[ip1].toSliceConst(), phaseCompFraction.derivs[ip1].toSliceConst(),
- phaseEnthalpy.value[ip1], phaseEnthalpy.derivs[ip1],
- m_useMass );
- m_phase1.internalEnergy.compute( pressure,
- temperatureInCelsius,
- phaseCompFraction.value[ip1].toSliceConst(), phaseCompFraction.derivs[ip1].toSliceConst(),
- phaseInternalEnergy.value[ip1], phaseInternalEnergy.derivs[ip1],
- m_useMass );
-
- m_phase2.enthalpy.compute( pressure,
- temperatureInCelsius,
- phaseCompFraction.value[ip2].toSliceConst(), phaseCompFraction.derivs[ip2].toSliceConst(),
- phaseEnthalpy.value[ip2], phaseEnthalpy.derivs[ip2],
- m_useMass );
- m_phase2.internalEnergy.compute( pressure,
- temperatureInCelsius,
- phaseCompFraction.value[ip2].toSliceConst(), phaseCompFraction.derivs[ip2].toSliceConst(),
- phaseInternalEnergy.value[ip2], phaseInternalEnergy.derivs[ip2],
- m_useMass );
-
- // 5. Depending on the m_useMass flag, convert to mass variables or simply compute mass density
+ // 4. Depending on the m_useMass flag, convert to mass variables or simply compute mass density
// TODO: for now the treatment of molar/mass density requires too many interpolations in the tables, it needs to be fixed
// we should modify the PVT functions so that they can return phaseMassDens, phaseDens, and phaseMW in one call
@@ -542,7 +517,30 @@ CO2BrineFluid< PHASE1, PHASE2, FLASH >::KernelWrapper::
true );
}
- // 5. Compute total fluid mass/molar density and derivatives
+ // 5. Compute enthalpy and internal energy
+
+ if( m_isThermal )
+ {
+
+ m_phase1.enthalpy.compute( pressure,
+ temperatureInCelsius,
+ phaseCompFraction.value[ip1].toSliceConst(), phaseCompFraction.derivs[ip1].toSliceConst(),
+ phaseEnthalpy.value[ip1], phaseEnthalpy.derivs[ip1],
+ m_useMass );
+ m_phase2.enthalpy.compute( pressure,
+ temperatureInCelsius,
+ phaseCompFraction.value[ip2].toSliceConst(), phaseCompFraction.derivs[ip2].toSliceConst(),
+ phaseEnthalpy.value[ip2], phaseEnthalpy.derivs[ip2],
+ m_useMass );
+
+ computeInternalEnergy( pressure,
+ phaseFraction,
+ phaseMassDensity,
+ phaseEnthalpy,
+ phaseInternalEnergy );
+ }
+
+ // 6. Compute total fluid mass/molar density and derivatives
computeTotalDensity( phaseFraction,
phaseDensity,
@@ -576,23 +574,19 @@ CO2BrineFluid< PHASE1, PHASE2, FLASH >::KernelWrapper::
ENUM_STRINGS( CO2BrinePhillipsFluid::SubModelInputNames,
"DensityFun",
"ViscosityFun",
- "EnthalpyFun",
- "InternalEnergyFun" );
+ "EnthalpyFun" );
ENUM_STRINGS( CO2BrinePhillipsThermalFluid::SubModelInputNames,
"DensityFun",
"ViscosityFun",
- "EnthalpyFun",
- "InternalEnergyFun" );
+ "EnthalpyFun" );
ENUM_STRINGS( CO2BrineEzrokhiFluid::SubModelInputNames,
"DensityFun",
"ViscosityFun",
- "EnthalpyFun",
- "InternalEnergyFun" );
+ "EnthalpyFun" );
ENUM_STRINGS( CO2BrineEzrokhiThermalFluid::SubModelInputNames,
"DensityFun",
"ViscosityFun",
- "EnthalpyFun",
- "InternalEnergyFun" );
+ "EnthalpyFun" );
} // namespace constitutive
diff --git a/src/coreComponents/constitutive/fluid/MultiFluidBase.hpp b/src/coreComponents/constitutive/fluid/MultiFluidBase.hpp
index 73ca3d8b3d8..279e57641f3 100644
--- a/src/coreComponents/constitutive/fluid/MultiFluidBase.hpp
+++ b/src/coreComponents/constitutive/fluid/MultiFluidBase.hpp
@@ -353,6 +353,39 @@ class MultiFluidBase : public ConstitutiveBase
arraySlice2d< real64, multifluid::USD_PHASE_DC - 2 > const dPhaseEnthalpy,
arraySlice2d< real64, multifluid::USD_PHASE_DC - 2 > const dPhaseInternalEnergy ) const;
+ /**
+ * @brief Utility function to compute the internal energy from pressure, enthalpy, and density
+ * @tparam maxNumComp the max number of components
+ * @tparam maxNumPhase the max number of phases
+ * @param[in] pressure the pressure in the cell
+ * @param[in] phaseFrac the phase fractions
+ * @param[in] phaseMassDens the phase mass densities
+ * @param[out] phaseEnthalpy the phase enthalpies
+ * @param[out] phaseInternalEnergy the phase internal energy
+ */
+ template< integer maxNumComp, integer maxNumPhase >
+ GEOSX_HOST_DEVICE
+ void computeInternalEnergy( real64 const & pressure,
+ arraySlice1d< real64, multifluid::USD_PHASE - 2 > const phaseFrac,
+ arraySlice1d< real64, multifluid::USD_PHASE - 2 > const phaseMassDens,
+ arraySlice1d< real64, multifluid::USD_PHASE - 2 > const phaseEnthalpy,
+ arraySlice1d< real64, multifluid::USD_PHASE - 2 > const phaseInternalEnergy ) const;
+
+ /**
+ * @brief Utility function to compute the internal energy from pressure, enthalpy, and density and keep derivatives
+ * @param[in] pressure the pressure in the cellx
+ * @param[in] phaseFrac the phase fractions (+ derivatives)
+ * @param[in] phaseMassDens the phase mass densities (+ derivatives)
+ * @param[out] phaseEnthalpy the phase enthalpies (+ derivatives)
+ * @param[out] phaseInternalEnergy the phase internal energy (+ derivatives)
+ */
+ GEOSX_HOST_DEVICE
+ void computeInternalEnergy( real64 const & pressure,
+ PhaseProp::SliceType const phaseFrac,
+ PhaseProp::SliceType const phaseMassDens,
+ PhaseProp::SliceType const phaseEnthalpy,
+ PhaseProp::SliceType const phaseInternalEnergy ) const;
+
/**
* @brief Utility function to convert mole fractions to mass fractions
* @tparam maxNumComp the max number of components
@@ -370,7 +403,7 @@ class MultiFluidBase : public ConstitutiveBase
/**
* @brief Utility function to convert mole fractions to mass fractions and keep derivatives
* @param[in] phaseFrac the phase fractions properly converted (+ derivatives)
- * @param[in] phaseFrac the phase densities in mass or moles (+ derivatives)
+ * @param[in] phaseDens the phase densities in mass or moles (+ derivatives)
* @param[out] totalDens the total density (+ derivatives)
*/
GEOSX_HOST_DEVICE
@@ -821,6 +854,76 @@ MultiFluidBase::KernelWrapper::
}
}
+template< integer maxNumComp, integer maxNumPhase >
+GEOSX_HOST_DEVICE
+inline void
+MultiFluidBase::KernelWrapper::
+ computeInternalEnergy( real64 const & pressure,
+ arraySlice1d< real64, multifluid::USD_PHASE - 2 > const phaseFrac,
+ arraySlice1d< real64, multifluid::USD_PHASE - 2 > const phaseMassDens,
+ arraySlice1d< real64, multifluid::USD_PHASE - 2 > const phaseEnthalpy,
+ arraySlice1d< real64, multifluid::USD_PHASE - 2 > const phaseInternalEnergy ) const
+{
+ using namespace multifluid;
+
+ integer constexpr maxNumDof = maxNumComp + 2;
+ integer const numPhase = numPhases();
+ integer const numComp = numComponents();
+
+ StackArray< real64, 4, maxNumDof *maxNumPhase, LAYOUT_PHASE_DC > dPhaseFrac( 1, 1, numPhase, numComp+2 );
+ MultiFluidVarSlice< real64, 1, USD_PHASE - 2, USD_PHASE_DC - 2 >
+ phaseFracAndDeriv { phaseFrac, dPhaseFrac[0][0] };
+
+ StackArray< real64, 4, maxNumDof *maxNumPhase, LAYOUT_PHASE_DC > dPhaseMassDens( 1, 1, numPhase, numComp+2 );
+ MultiFluidVarSlice< real64, 1, USD_PHASE - 2, USD_PHASE_DC - 2 >
+ phaseMassDensAndDeriv { phaseMassDens, dPhaseMassDens[0][0] };
+
+ StackArray< real64, 4, maxNumDof *maxNumPhase, LAYOUT_PHASE_DC > dPhaseEnthalpy( 1, 1, numPhase, numComp+2 );
+ MultiFluidVarSlice< real64, 1, USD_PHASE - 2, USD_PHASE_DC - 2 >
+ phaseEnthalpyAndDeriv { phaseEnthalpy, dPhaseEnthalpy[0][0] };
+
+ StackArray< real64, 4, maxNumDof *maxNumPhase, LAYOUT_PHASE_DC > dPhaseInternalEnergy( 1, 1, numPhase, numComp+2 );
+ MultiFluidVarSlice< real64, 1, USD_PHASE - 2, USD_PHASE_DC - 2 >
+ phaseInternalEnergyAndDeriv { phaseInternalEnergy, dPhaseInternalEnergy[0][0] };
+
+ computeInternalEnergy( pressure,
+ phaseFracAndDeriv,
+ phaseMassDensAndDeriv,
+ phaseEnthalpyAndDeriv,
+ phaseInternalEnergyAndDeriv );
+}
+
+GEOSX_HOST_DEVICE
+inline void
+MultiFluidBase::KernelWrapper::
+ computeInternalEnergy( real64 const & pressure,
+ PhaseProp::SliceType const phaseFrac,
+ PhaseProp::SliceType const phaseMassDens,
+ PhaseProp::SliceType const phaseEnthalpy,
+ PhaseProp::SliceType const phaseInternalEnergy ) const
+{
+ integer const numPhase = numPhases();
+ integer const numComp = numComponents();
+ for( integer ip = 0; ip < numPhase; ++ip )
+ {
+
+ bool const phaseExists = (phaseFrac.value[ip] > 0);
+ if( !phaseExists )
+ {
+ continue;
+ }
+
+ real64 const densInv = 1.0 / phaseMassDens.value[ip];
+ real64 const densInvSquared = densInv * densInv;
+ phaseInternalEnergy.value[ip] = phaseEnthalpy.value[ip] - pressure * densInv;
+ for( integer idof = 0; idof < numComp; ++idof )
+ {
+ phaseInternalEnergy.derivs[ip][idof] = phaseEnthalpy.derivs[ip][idof] + pressure * phaseMassDens.derivs[ip][idof] * densInvSquared;
+ }
+ phaseInternalEnergy.derivs[ip][multifluid::DerivativeOffset::dP] -= densInv;
+ }
+}
+
template< integer maxNumComp, integer maxNumPhase >
GEOSX_HOST_DEVICE
inline void
diff --git a/src/coreComponents/constitutive/fluid/PVTFunctions/BrineInternalEnergy.cpp b/src/coreComponents/constitutive/fluid/PVTFunctions/BrineInternalEnergy.cpp
deleted file mode 100644
index 10b1b88e72d..00000000000
--- a/src/coreComponents/constitutive/fluid/PVTFunctions/BrineInternalEnergy.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * ------------------------------------------------------------------------------------------------------------
- * SPDX-License-Identifier: LGPL-2.1-only
- *
- * Copyright (c) 2018-2020 Lawrence Livermore National Security LLC
- * Copyright (c) 2018-2020 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2020 TotalEnergies
- * Copyright (c) 2019- GEOSX Contributors
- * All rights reserved
- *
- * See top level LICENSE, COPYRIGHT, CONTRIBUTORS, NOTICE, and ACKNOWLEDGEMENTS files for details.
- * ------------------------------------------------------------------------------------------------------------
- */
-
-/**
- * @file BrineInternalEnergy.cpp
- */
-
-#include "constitutive/fluid/PVTFunctions/BrineInternalEnergy.hpp"
-
-namespace geosx
-{
-
-using namespace stringutilities;
-
-namespace constitutive
-{
-
-namespace PVTProps
-{
-
-BrineInternalEnergy::KernelWrapper
-BrineInternalEnergy::createKernelWrapper() const
-{
- return KernelWrapper( m_componentMolarWeight );
-}
-
-REGISTER_CATALOG_ENTRY( PVTFunctionBase, BrineInternalEnergy, string const &, string_array const &, string_array const &, array1d< real64 > const & )
-
-} // namespace PVTProps
-
-} // namespace constitutive
-
-} // namespace geosx
diff --git a/src/coreComponents/constitutive/fluid/PVTFunctions/BrineInternalEnergy.hpp b/src/coreComponents/constitutive/fluid/PVTFunctions/BrineInternalEnergy.hpp
deleted file mode 100644
index e2c45db4edd..00000000000
--- a/src/coreComponents/constitutive/fluid/PVTFunctions/BrineInternalEnergy.hpp
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * ------------------------------------------------------------------------------------------------------------
- * SPDX-License-Identifier: LGPL-2.1-only
- *
- * Copyright (c) 2018-2020 Lawrence Livermore National Security LLC
- * Copyright (c) 2018-2020 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2020 TotalEnergies
- * Copyright (c) 2019- GEOSX Contributors
- * All rights reserved
- *
- * See top level LICENSE, COPYRIGHT, CONTRIBUTORS, NOTICE, and ACKNOWLEDGEMENTS files for details.
- * ------------------------------------------------------------------------------------------------------------
- */
-
-/**
- * @file BrineInternalEnergy.hpp
- */
-
-#ifndef GEOSX_CONSTITUTIVE_FLUID_PVTFUNCTIONS_BRINEINTERNALENERGY_HPP_
-#define GEOSX_CONSTITUTIVE_FLUID_PVTFUNCTIONS_BRINEINTERNALENERGY_HPP_
-
-#include "PVTFunctionBase.hpp"
-
-#include "constitutive/fluid/layouts.hpp"
-#include "constitutive/fluid/PVTFunctions/PVTFunctionHelpers.hpp"
-#include "functions/TableFunction.hpp"
-
-namespace geosx
-{
-
-namespace constitutive
-{
-
-namespace PVTProps
-{
-
-class BrineInternalEnergyUpdate final : public PVTFunctionBaseUpdate
-{
-public:
-
- BrineInternalEnergyUpdate( arrayView1d< real64 const > const & componentMolarWeight )
- : PVTFunctionBaseUpdate( componentMolarWeight )
- {}
-
- template< int USD1 >
- GEOSX_HOST_DEVICE
- void compute( real64 const & pressure,
- real64 const & temperature,
- arraySlice1d< real64 const, USD1 > const & phaseComposition,
- real64 & value,
- bool useMass ) const;
-
- template< int USD1, int USD2, int USD3 >
- GEOSX_HOST_DEVICE
- void compute( real64 const & pressure,
- real64 const & temperature,
- arraySlice1d< real64 const, USD1 > const & phaseComposition,
- arraySlice2d< real64 const, USD2 > const & dPhaseComposition,
- real64 & value,
- arraySlice1d< real64, USD3 > const & dValue,
- bool useMass ) const;
-
- virtual void move( LvArray::MemorySpace const space, bool const touch ) override
- {
- PVTFunctionBaseUpdate::move( space, touch );
- }
-
-protected:
-
-};
-
-class BrineInternalEnergy : public PVTFunctionBase
-{
-public:
-
- BrineInternalEnergy( string const & name,
- string_array const & inputParams,
- string_array const & componentNames,
- array1d< real64 > const & componentMolarWeight )
- : PVTFunctionBase( name,
- componentNames,
- componentMolarWeight )
- {
- // reserve for future: more accurate internal energy model should probably have some parameters
- GEOSX_UNUSED_VAR ( inputParams );
- }
-
- static string catalogName() { return "BrineInternalEnergy"; }
-
- virtual string getCatalogName() const final { return catalogName(); }
-
- virtual PVTFunctionType functionType() const override
- {
- return PVTFunctionType::INTERNAL_ENERGY;
- }
-
- /// Type of kernel wrapper for in-kernel update
- using KernelWrapper = BrineInternalEnergyUpdate;
-
- /**
- * @brief Create an update kernel wrapper.
- * @return the wrapper
- */
- KernelWrapper createKernelWrapper() const;
-
-private:
-
-};
-
-template< int USD1 >
-GEOSX_HOST_DEVICE
-void BrineInternalEnergyUpdate::compute( real64 const & pressure,
- real64 const & temperature,
- arraySlice1d< real64 const, USD1 > const & phaseComposition,
- real64 & value,
- bool useMass ) const
-{
- GEOSX_UNUSED_VAR( phaseComposition, useMass );
-
- value = 0.001 * pressure + 1.0 * temperature;
-}
-
-template< int USD1, int USD2, int USD3 >
-GEOSX_HOST_DEVICE
-void BrineInternalEnergyUpdate::compute( real64 const & pressure,
- real64 const & temperature,
- arraySlice1d< real64 const, USD1 > const & phaseComposition,
- arraySlice2d< real64 const, USD2 > const & dPhaseComposition,
- real64 & value,
- arraySlice1d< real64, USD3 > const & dValue,
- bool useMass ) const
-{
- GEOSX_UNUSED_VAR( phaseComposition, dPhaseComposition, useMass );
-
- using Deriv = multifluid::DerivativeOffset;
-
- value = 0.001 * pressure + 1.0 * temperature;
- LvArray::forValuesInSlice( dValue, []( real64 & val ){ val = 0.0; } );
- dValue[Deriv::dP] = 0.001;
- dValue[Deriv::dT] = 1.0;
-
-}
-
-} // end namespace PVTProps
-
-} // end namespace constitutive
-
-} // end namespace geosx
-
-#endif //GEOSX_CONSTITUTIVE_FLUID_PVTFUNCTIONS_BRINEINTERNALENERGY_HPP_
diff --git a/src/coreComponents/constitutive/fluid/PVTFunctions/CO2InternalEnergy.cpp b/src/coreComponents/constitutive/fluid/PVTFunctions/CO2InternalEnergy.cpp
deleted file mode 100644
index fc78a187634..00000000000
--- a/src/coreComponents/constitutive/fluid/PVTFunctions/CO2InternalEnergy.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * ------------------------------------------------------------------------------------------------------------
- * SPDX-License-Identifier: LGPL-2.1-only
- *
- * Copyright (c) 2018-2020 Lawrence Livermore National Security LLC
- * Copyright (c) 2018-2020 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2020 TotalEnergies
- * Copyright (c) 2019- GEOSX Contributors
- * All rights reserved
- *
- * See top level LICENSE, COPYRIGHT, CONTRIBUTORS, NOTICE, and ACKNOWLEDGEMENTS files for details.
- * ------------------------------------------------------------------------------------------------------------
- */
-
-/**
- * @file CO2InternalEnergy.cpp
- */
-
-#include "constitutive/fluid/PVTFunctions/CO2InternalEnergy.hpp"
-
-namespace geosx
-{
-
-using namespace stringutilities;
-
-namespace constitutive
-{
-
-namespace PVTProps
-{
-
-CO2InternalEnergy::KernelWrapper
-CO2InternalEnergy::createKernelWrapper() const
-{
- return KernelWrapper( m_componentMolarWeight );
-}
-
-REGISTER_CATALOG_ENTRY( PVTFunctionBase, CO2InternalEnergy, string const &, string_array const &, string_array const &, array1d< real64 > const & )
-
-} // namespace PVTProps
-
-} // namespace constitutive
-
-} // namespace geosx
diff --git a/src/coreComponents/constitutive/fluid/PVTFunctions/CO2InternalEnergy.hpp b/src/coreComponents/constitutive/fluid/PVTFunctions/CO2InternalEnergy.hpp
deleted file mode 100644
index b766ef0f898..00000000000
--- a/src/coreComponents/constitutive/fluid/PVTFunctions/CO2InternalEnergy.hpp
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * ------------------------------------------------------------------------------------------------------------
- * SPDX-License-Identifier: LGPL-2.1-only
- *
- * Copyright (c) 2018-2020 Lawrence Livermore National Security LLC
- * Copyright (c) 2018-2020 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2020 TotalEnergies
- * Copyright (c) 2019- GEOSX Contributors
- * All rights reserved
- *
- * See top level LICENSE, COPYRIGHT, CONTRIBUTORS, NOTICE, and ACKNOWLEDGEMENTS files for details.
- * ------------------------------------------------------------------------------------------------------------
- */
-
-/**
- * @file CO2InternalEnergy.hpp
- */
-
-#ifndef GEOSX_CONSTITUTIVE_FLUID_PVTFUNCTIONS_CO2INTERNALENERGY_HPP_
-#define GEOSX_CONSTITUTIVE_FLUID_PVTFUNCTIONS_CO2INTERNALENERGY_HPP_
-
-#include "PVTFunctionBase.hpp"
-
-#include "constitutive/fluid/layouts.hpp"
-#include "constitutive/fluid/PVTFunctions/PVTFunctionHelpers.hpp"
-#include "functions/TableFunction.hpp"
-
-namespace geosx
-{
-
-namespace constitutive
-{
-
-namespace PVTProps
-{
-
-class CO2InternalEnergyUpdate final : public PVTFunctionBaseUpdate
-{
-public:
-
- CO2InternalEnergyUpdate( arrayView1d< real64 const > const & componentMolarWeight )
- : PVTFunctionBaseUpdate( componentMolarWeight )
- {}
-
- template< int USD1 >
- GEOSX_HOST_DEVICE
- void compute( real64 const & pressure,
- real64 const & temperature,
- arraySlice1d< real64 const, USD1 > const & phaseComposition,
- real64 & value,
- bool useMass ) const;
-
- template< int USD1, int USD2, int USD3 >
- GEOSX_HOST_DEVICE
- void compute( real64 const & pressure,
- real64 const & temperature,
- arraySlice1d< real64 const, USD1 > const & phaseComposition,
- arraySlice2d< real64 const, USD2 > const & dPhaseComposition,
- real64 & value,
- arraySlice1d< real64, USD3 > const & dValue,
- bool useMass ) const;
-
- virtual void move( LvArray::MemorySpace const space, bool const touch ) override
- {
- PVTFunctionBaseUpdate::move( space, touch );
- }
-
-protected:
-
-};
-
-class CO2InternalEnergy : public PVTFunctionBase
-{
-public:
-
- CO2InternalEnergy( string const & name,
- string_array const & inputParams,
- string_array const & componentNames,
- array1d< real64 > const & componentMolarWeight )
- : PVTFunctionBase( name,
- componentNames,
- componentMolarWeight )
- {
- // reserve for future: more accurate internal energy model should probably have some parameters
- GEOSX_UNUSED_VAR ( inputParams );
- }
-
- static string catalogName() { return "CO2InternalEnergy"; }
-
- virtual string getCatalogName() const final { return catalogName(); }
-
- virtual PVTFunctionType functionType() const override
- {
- return PVTFunctionType::INTERNAL_ENERGY;
- }
-
- /// Type of kernel wrapper for in-kernel update
- using KernelWrapper = CO2InternalEnergyUpdate;
-
- /**
- * @brief Create an update kernel wrapper.
- * @return the wrapper
- */
- KernelWrapper createKernelWrapper() const;
-
-private:
-
-};
-
-template< int USD1 >
-GEOSX_HOST_DEVICE
-void CO2InternalEnergyUpdate::compute( real64 const & pressure,
- real64 const & temperature,
- arraySlice1d< real64 const, USD1 > const & phaseComposition,
- real64 & value,
- bool useMass ) const
-{
- GEOSX_UNUSED_VAR( phaseComposition, useMass );
-
- value = 0.001 * pressure + 1.0 * temperature;
-}
-
-template< int USD1, int USD2, int USD3 >
-GEOSX_HOST_DEVICE
-void CO2InternalEnergyUpdate::compute( real64 const & pressure,
- real64 const & temperature,
- arraySlice1d< real64 const, USD1 > const & phaseComposition,
- arraySlice2d< real64 const, USD2 > const & dPhaseComposition,
- real64 & value,
- arraySlice1d< real64, USD3 > const & dValue,
- bool useMass ) const
-{
- GEOSX_UNUSED_VAR( phaseComposition, dPhaseComposition, useMass );
-
- using Deriv = multifluid::DerivativeOffset;
-
- value = 0.001 * pressure + 1.0 * temperature;
-
- LvArray::forValuesInSlice( dValue, []( real64 & val ){ val = 0.0; } );
- dValue[Deriv::dP] = 0.001;
- dValue[Deriv::dT] = 1.0;
-
-}
-
-} // end namespace PVTProps
-
-} // end namespace constitutive
-
-} // end namespace geosx
-
-#endif //GEOSX_CONSTITUTIVE_FLUID_PVTFUNCTIONS_CO2INTERNALENERGY_HPP_
diff --git a/src/coreComponents/constitutive/fluid/PhaseModel.hpp b/src/coreComponents/constitutive/fluid/PhaseModel.hpp
index bcbe9c42e16..32d12796c93 100644
--- a/src/coreComponents/constitutive/fluid/PhaseModel.hpp
+++ b/src/coreComponents/constitutive/fluid/PhaseModel.hpp
@@ -31,23 +31,20 @@ namespace constitutive
* @tparam DENS Class describing the density model
* @tparam VISC Class describing the viscosity model
* @tparam ENTH Class describing the enthalpy model
- * @tparam INTENERGY Class describing the internal energy model
*/
-template< typename DENS, typename VISC, typename ENTH, typename INTENERGY >
+template< typename DENS, typename VISC, typename ENTH >
struct PhaseModel
{
using Density = DENS;
using Viscosity = VISC;
using Enthalpy = ENTH;
- using InternalEnergy = INTENERGY;
/// Enum used in the constructor to make the distinction between submodel params
enum InputParamOrder : integer
{
DENSITY = 0, ///< position of the density params
VISCOSITY = 1, ///< position of the viscosity params
- ENTHALPY = 2, ///< position of the enthalpy params
- INTERNALENERGY = 3 ///< position of the internal energy params
+ ENTHALPY = 2 ///< position of the enthalpy params
};
/**
@@ -72,11 +69,7 @@ struct PhaseModel
enthalpy( phaseModelName + "_" + Enthalpy::catalogName(),
inputParams[InputParamOrder::ENTHALPY],
componentNames,
- componentMolarWeight ),
- internalEnergy( phaseModelName + "_" + InternalEnergy::catalogName(),
- inputParams[InputParamOrder::INTERNALENERGY],
- componentNames,
- componentMolarWeight )
+ componentMolarWeight )
{}
/// The phase density model
@@ -88,9 +81,6 @@ struct PhaseModel
/// The phase enthalpy model (can be NoOp for non-thermal models)
Enthalpy enthalpy;
- /// The phase internal energy model (can be NoOp for non-thermal models)
- InternalEnergy internalEnergy;
-
/**
* @brief Struct storing the submodels wrappers used for in-kernel fluid updates
*/
@@ -102,16 +92,13 @@ struct PhaseModel
* @param[in] dens the density model
* @param[in] visc the viscosity model
* @param[in] enth the enthalpy model
- * @param[in] intEnergy the internal energy model
*/
KernelWrapper( Density const & dens,
Viscosity const & visc,
- Enthalpy const & enth,
- InternalEnergy const & intEnergy )
+ Enthalpy const & enth )
: density( dens.createKernelWrapper() ),
viscosity( visc.createKernelWrapper() ),
- enthalpy( enth.createKernelWrapper() ),
- internalEnergy( intEnergy.createKernelWrapper() )
+ enthalpy( enth.createKernelWrapper() )
{}
/**
@@ -124,7 +111,6 @@ struct PhaseModel
density.move( space, touch );
viscosity.move( space, touch );
enthalpy.move( space, touch );
- internalEnergy.move( space, touch );
}
/// Kernel wrapper for density updates
@@ -136,8 +122,6 @@ struct PhaseModel
/// Kernel wrapper for enthalpy updates
typename Enthalpy::KernelWrapper enthalpy;
- /// Kernel wrapper for internal energy updates
- typename InternalEnergy::KernelWrapper internalEnergy;
};
/**
@@ -148,8 +132,7 @@ struct PhaseModel
{
return KernelWrapper( density,
viscosity,
- enthalpy,
- internalEnergy );
+ enthalpy );
}
};
diff --git a/src/coreComponents/physicsSolvers/multiphysics/MultiphasePoromechanicsSolver.cpp b/src/coreComponents/physicsSolvers/multiphysics/MultiphasePoromechanicsSolver.cpp
index c5ddf3bb1fe..ed7c3a527b7 100644
--- a/src/coreComponents/physicsSolvers/multiphysics/MultiphasePoromechanicsSolver.cpp
+++ b/src/coreComponents/physicsSolvers/multiphysics/MultiphasePoromechanicsSolver.cpp
@@ -336,10 +336,12 @@ void MultiphasePoromechanicsSolver::updateState( DomainPartition & domain )
{
forMeshTargets( domain.getMeshBodies(), [&] ( string const &,
MeshLevel & mesh,
- arrayView1d< string const > const & )
+ arrayView1d< string const > const & regionNames )
{
ElementRegionManager & elemManager = mesh.getElemManager();
- elemManager.forElementSubRegions< CellElementSubRegion >( [&]( CellElementSubRegion & subRegion )
+ elemManager.forElementSubRegions< CellElementSubRegion >( regionNames,
+ [&]( localIndex const,
+ CellElementSubRegion & subRegion )
{
m_flowSolver->updateFluidState( subRegion );
} );
diff --git a/src/coreComponents/schema/docs/AcousticSEM_other.rst b/src/coreComponents/schema/docs/AcousticSEM_other.rst
index edd823f6468..71642d4c7ae 100644
--- a/src/coreComponents/schema/docs/AcousticSEM_other.rst
+++ b/src/coreComponents/schema/docs/AcousticSEM_other.rst
@@ -1,20 +1,20 @@
-========================= =================================================================================================================================================== =======================================================================
-Name Type Description
-========================= =================================================================================================================================================== =======================================================================
-indexSeismoTrace integer Count for output pressure at receivers
-maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
-meshTargets geosx_mapBase< std_string, LvArray_Array< std_string, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
-pressureNp1AtReceivers real64_array2d Pressure value at each receiver for each timestep
-receiverIsLocal integer_array Flag that indicates whether the receiver is local to this MPI rank
-receiverNodeIds integer_array2d Indices of the nodes (in the right order) for each receiver point
-sourceConstants real64_array2d Constant part of the receiver for the nodes listed in m_receiverNodeIds
-sourceIsLocal integer_array Flag that indicates whether the source is local to this MPI rank
-sourceNodeIds integer_array2d Indices of the nodes (in the right order) for each source point
-sourceValue real64_array2d Source Value of the sources
-LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
-NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
-========================= =================================================================================================================================================== =======================================================================
+========================= =============================================================================================================================================================================================================================================================================================== =======================================================================
+Name Type Description
+========================= =============================================================================================================================================================================================================================================================================================== =======================================================================
+indexSeismoTrace integer Count for output pressure at receivers
+maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
+meshTargets geosx_mapBase< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, LvArray_Array< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
+pressureNp1AtReceivers real64_array2d Pressure value at each receiver for each timestep
+receiverIsLocal integer_array Flag that indicates whether the receiver is local to this MPI rank
+receiverNodeIds integer_array2d Indices of the nodes (in the right order) for each receiver point
+sourceConstants real64_array2d Constant part of the receiver for the nodes listed in m_receiverNodeIds
+sourceIsLocal integer_array Flag that indicates whether the source is local to this MPI rank
+sourceNodeIds integer_array2d Indices of the nodes (in the right order) for each source point
+sourceValue real64_array2d Source Value of the sources
+LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
+NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
+========================= =============================================================================================================================================================================================================================================================================================== =======================================================================
diff --git a/src/coreComponents/schema/docs/CompositionalMultiphaseFVM_other.rst b/src/coreComponents/schema/docs/CompositionalMultiphaseFVM_other.rst
index 5b4f62fa9a3..c874c188464 100644
--- a/src/coreComponents/schema/docs/CompositionalMultiphaseFVM_other.rst
+++ b/src/coreComponents/schema/docs/CompositionalMultiphaseFVM_other.rst
@@ -1,12 +1,12 @@
-========================= =================================================================================================================================================== ================================================================
-Name Type Description
-========================= =================================================================================================================================================== ================================================================
-maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
-meshTargets geosx_mapBase< std_string, LvArray_Array< std_string, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
-LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
-NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
-========================= =================================================================================================================================================== ================================================================
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
+Name Type Description
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
+maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
+meshTargets geosx_mapBase< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, LvArray_Array< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
+LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
+NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
diff --git a/src/coreComponents/schema/docs/CompositionalMultiphaseHybridFVM_other.rst b/src/coreComponents/schema/docs/CompositionalMultiphaseHybridFVM_other.rst
index 8e2f2eb6a85..bf32e9bac59 100644
--- a/src/coreComponents/schema/docs/CompositionalMultiphaseHybridFVM_other.rst
+++ b/src/coreComponents/schema/docs/CompositionalMultiphaseHybridFVM_other.rst
@@ -1,14 +1,14 @@
-========================= =================================================================================================================================================== ================================ ================================================================
-Name Type Registered On Description
-========================= =================================================================================================================================================== ================================ ================================================================
-maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
-meshTargets geosx_mapBase< std_string, LvArray_Array< std_string, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
-deltaFacePressure real64_array :ref:`DATASTRUCTURE_FaceManager` Accumulated face pressure updates
-mimGravityCoefficient real64_array :ref:`DATASTRUCTURE_FaceManager` Mimetic gravity coefficient
-LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
-NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
-========================= =================================================================================================================================================== ================================ ================================================================
+========================= =============================================================================================================================================================================================================================================================================================== ================================ ================================================================
+Name Type Registered On Description
+========================= =============================================================================================================================================================================================================================================================================================== ================================ ================================================================
+maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
+meshTargets geosx_mapBase< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, LvArray_Array< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
+deltaFacePressure real64_array :ref:`DATASTRUCTURE_FaceManager` Accumulated face pressure updates
+mimGravityCoefficient real64_array :ref:`DATASTRUCTURE_FaceManager` Mimetic gravity coefficient
+LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
+NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
+========================= =============================================================================================================================================================================================================================================================================================== ================================ ================================================================
diff --git a/src/coreComponents/schema/docs/CompositionalMultiphaseReservoir_other.rst b/src/coreComponents/schema/docs/CompositionalMultiphaseReservoir_other.rst
index 7acea5a6dbf..aa08bcefbb0 100644
--- a/src/coreComponents/schema/docs/CompositionalMultiphaseReservoir_other.rst
+++ b/src/coreComponents/schema/docs/CompositionalMultiphaseReservoir_other.rst
@@ -1,13 +1,13 @@
-========================= =================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
-Name Type Description
-========================= =================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
-discretization string Name of discretization object (defined in the :ref:`NumericalMethodsManager`) to use for this solver. For instance, if this is a Finite Element Solver, the name of a :ref:`FiniteElement` should be specified. If this is a Finite Volume Method, the name of a :ref:`FiniteVolume` discretization should be specified.
-maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
-meshTargets geosx_mapBase< std_string, LvArray_Array< std_string, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
-LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
-NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
-========================= =================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
+========================= =============================================================================================================================================================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
+Name Type Description
+========================= =============================================================================================================================================================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
+discretization string Name of discretization object (defined in the :ref:`NumericalMethodsManager`) to use for this solver. For instance, if this is a Finite Element Solver, the name of a :ref:`FiniteElement` should be specified. If this is a Finite Volume Method, the name of a :ref:`FiniteVolume` discretization should be specified.
+maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
+meshTargets geosx_mapBase< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, LvArray_Array< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
+LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
+NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
+========================= =============================================================================================================================================================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
diff --git a/src/coreComponents/schema/docs/CompositionalMultiphaseWell_other.rst b/src/coreComponents/schema/docs/CompositionalMultiphaseWell_other.rst
index 48a09333642..b3804961a57 100644
--- a/src/coreComponents/schema/docs/CompositionalMultiphaseWell_other.rst
+++ b/src/coreComponents/schema/docs/CompositionalMultiphaseWell_other.rst
@@ -1,14 +1,14 @@
-========================= =================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
-Name Type Description
-========================= =================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
-discretization string Name of discretization object (defined in the :ref:`NumericalMethodsManager`) to use for this solver. For instance, if this is a Finite Element Solver, the name of a :ref:`FiniteElement` should be specified. If this is a Finite Volume Method, the name of a :ref:`FiniteVolume` discretization should be specified.
-maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
-meshTargets geosx_mapBase< std_string, LvArray_Array< std_string, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
-LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
-NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
-WellControls node :ref:`DATASTRUCTURE_WellControls`
-========================= =================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
+========================= =============================================================================================================================================================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
+Name Type Description
+========================= =============================================================================================================================================================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
+discretization string Name of discretization object (defined in the :ref:`NumericalMethodsManager`) to use for this solver. For instance, if this is a Finite Element Solver, the name of a :ref:`FiniteElement` should be specified. If this is a Finite Volume Method, the name of a :ref:`FiniteVolume` discretization should be specified.
+maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
+meshTargets geosx_mapBase< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, LvArray_Array< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
+LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
+NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
+WellControls node :ref:`DATASTRUCTURE_WellControls`
+========================= =============================================================================================================================================================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
diff --git a/src/coreComponents/schema/docs/EmbeddedSurfaceGenerator_other.rst b/src/coreComponents/schema/docs/EmbeddedSurfaceGenerator_other.rst
index b53cb9d3cce..8bd71bf6b41 100644
--- a/src/coreComponents/schema/docs/EmbeddedSurfaceGenerator_other.rst
+++ b/src/coreComponents/schema/docs/EmbeddedSurfaceGenerator_other.rst
@@ -1,14 +1,14 @@
-========================= =================================================================================================================================================== ================================================ ========================================================================================================================================================================================================================================================================================================================
-Name Type Registered On Description
-========================= =================================================================================================================================================== ================================================ ========================================================================================================================================================================================================================================================================================================================
-discretization string Name of discretization object (defined in the :ref:`NumericalMethodsManager`) to use for this solver. For instance, if this is a Finite Element Solver, the name of a :ref:`FiniteElement` should be specified. If this is a Finite Volume Method, the name of a :ref:`FiniteVolume` discretization should be specified.
-maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
-meshTargets geosx_mapBase< std_string, LvArray_Array< std_string, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
-parentEdgeIndex integer_array :ref:`DATASTRUCTURE_embeddedSurfacesNodeManager` Index of parent edge within the mesh object it is registered on.
-LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
-NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
-========================= =================================================================================================================================================== ================================================ ========================================================================================================================================================================================================================================================================================================================
+========================= =============================================================================================================================================================================================================================================================================================== ================================================ ========================================================================================================================================================================================================================================================================================================================
+Name Type Registered On Description
+========================= =============================================================================================================================================================================================================================================================================================== ================================================ ========================================================================================================================================================================================================================================================================================================================
+discretization string Name of discretization object (defined in the :ref:`NumericalMethodsManager`) to use for this solver. For instance, if this is a Finite Element Solver, the name of a :ref:`FiniteElement` should be specified. If this is a Finite Volume Method, the name of a :ref:`FiniteVolume` discretization should be specified.
+maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
+meshTargets geosx_mapBase< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, LvArray_Array< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
+parentEdgeIndex integer_array :ref:`DATASTRUCTURE_embeddedSurfacesNodeManager` Index of parent edge within the mesh object it is registered on.
+LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
+NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
+========================= =============================================================================================================================================================================================================================================================================================== ================================================ ========================================================================================================================================================================================================================================================================================================================
diff --git a/src/coreComponents/schema/docs/FlowProppantTransport_other.rst b/src/coreComponents/schema/docs/FlowProppantTransport_other.rst
index 7acea5a6dbf..aa08bcefbb0 100644
--- a/src/coreComponents/schema/docs/FlowProppantTransport_other.rst
+++ b/src/coreComponents/schema/docs/FlowProppantTransport_other.rst
@@ -1,13 +1,13 @@
-========================= =================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
-Name Type Description
-========================= =================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
-discretization string Name of discretization object (defined in the :ref:`NumericalMethodsManager`) to use for this solver. For instance, if this is a Finite Element Solver, the name of a :ref:`FiniteElement` should be specified. If this is a Finite Volume Method, the name of a :ref:`FiniteVolume` discretization should be specified.
-maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
-meshTargets geosx_mapBase< std_string, LvArray_Array< std_string, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
-LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
-NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
-========================= =================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
+========================= =============================================================================================================================================================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
+Name Type Description
+========================= =============================================================================================================================================================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
+discretization string Name of discretization object (defined in the :ref:`NumericalMethodsManager`) to use for this solver. For instance, if this is a Finite Element Solver, the name of a :ref:`FiniteElement` should be specified. If this is a Finite Volume Method, the name of a :ref:`FiniteVolume` discretization should be specified.
+maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
+meshTargets geosx_mapBase< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, LvArray_Array< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
+LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
+NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
+========================= =============================================================================================================================================================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
diff --git a/src/coreComponents/schema/docs/Hydrofracture_other.rst b/src/coreComponents/schema/docs/Hydrofracture_other.rst
index 5b4f62fa9a3..c874c188464 100644
--- a/src/coreComponents/schema/docs/Hydrofracture_other.rst
+++ b/src/coreComponents/schema/docs/Hydrofracture_other.rst
@@ -1,12 +1,12 @@
-========================= =================================================================================================================================================== ================================================================
-Name Type Description
-========================= =================================================================================================================================================== ================================================================
-maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
-meshTargets geosx_mapBase< std_string, LvArray_Array< std_string, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
-LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
-NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
-========================= =================================================================================================================================================== ================================================================
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
+Name Type Description
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
+maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
+meshTargets geosx_mapBase< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, LvArray_Array< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
+LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
+NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
diff --git a/src/coreComponents/schema/docs/LagrangianContact_other.rst b/src/coreComponents/schema/docs/LagrangianContact_other.rst
index 7acea5a6dbf..aa08bcefbb0 100644
--- a/src/coreComponents/schema/docs/LagrangianContact_other.rst
+++ b/src/coreComponents/schema/docs/LagrangianContact_other.rst
@@ -1,13 +1,13 @@
-========================= =================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
-Name Type Description
-========================= =================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
-discretization string Name of discretization object (defined in the :ref:`NumericalMethodsManager`) to use for this solver. For instance, if this is a Finite Element Solver, the name of a :ref:`FiniteElement` should be specified. If this is a Finite Volume Method, the name of a :ref:`FiniteVolume` discretization should be specified.
-maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
-meshTargets geosx_mapBase< std_string, LvArray_Array< std_string, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
-LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
-NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
-========================= =================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
+========================= =============================================================================================================================================================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
+Name Type Description
+========================= =============================================================================================================================================================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
+discretization string Name of discretization object (defined in the :ref:`NumericalMethodsManager`) to use for this solver. For instance, if this is a Finite Element Solver, the name of a :ref:`FiniteElement` should be specified. If this is a Finite Volume Method, the name of a :ref:`FiniteVolume` discretization should be specified.
+maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
+meshTargets geosx_mapBase< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, LvArray_Array< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
+LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
+NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
+========================= =============================================================================================================================================================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
diff --git a/src/coreComponents/schema/docs/LaplaceFEM_other.rst b/src/coreComponents/schema/docs/LaplaceFEM_other.rst
index 5b4f62fa9a3..c874c188464 100644
--- a/src/coreComponents/schema/docs/LaplaceFEM_other.rst
+++ b/src/coreComponents/schema/docs/LaplaceFEM_other.rst
@@ -1,12 +1,12 @@
-========================= =================================================================================================================================================== ================================================================
-Name Type Description
-========================= =================================================================================================================================================== ================================================================
-maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
-meshTargets geosx_mapBase< std_string, LvArray_Array< std_string, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
-LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
-NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
-========================= =================================================================================================================================================== ================================================================
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
+Name Type Description
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
+maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
+meshTargets geosx_mapBase< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, LvArray_Array< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
+LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
+NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
diff --git a/src/coreComponents/schema/docs/MultiphasePoromechanics_other.rst b/src/coreComponents/schema/docs/MultiphasePoromechanics_other.rst
index 5b4f62fa9a3..c874c188464 100644
--- a/src/coreComponents/schema/docs/MultiphasePoromechanics_other.rst
+++ b/src/coreComponents/schema/docs/MultiphasePoromechanics_other.rst
@@ -1,12 +1,12 @@
-========================= =================================================================================================================================================== ================================================================
-Name Type Description
-========================= =================================================================================================================================================== ================================================================
-maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
-meshTargets geosx_mapBase< std_string, LvArray_Array< std_string, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
-LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
-NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
-========================= =================================================================================================================================================== ================================================================
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
+Name Type Description
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
+maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
+meshTargets geosx_mapBase< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, LvArray_Array< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
+LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
+NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
diff --git a/src/coreComponents/schema/docs/PhaseFieldDamageFEM_other.rst b/src/coreComponents/schema/docs/PhaseFieldDamageFEM_other.rst
index 5b4f62fa9a3..c874c188464 100644
--- a/src/coreComponents/schema/docs/PhaseFieldDamageFEM_other.rst
+++ b/src/coreComponents/schema/docs/PhaseFieldDamageFEM_other.rst
@@ -1,12 +1,12 @@
-========================= =================================================================================================================================================== ================================================================
-Name Type Description
-========================= =================================================================================================================================================== ================================================================
-maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
-meshTargets geosx_mapBase< std_string, LvArray_Array< std_string, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
-LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
-NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
-========================= =================================================================================================================================================== ================================================================
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
+Name Type Description
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
+maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
+meshTargets geosx_mapBase< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, LvArray_Array< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
+LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
+NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
diff --git a/src/coreComponents/schema/docs/PhaseFieldFracture_other.rst b/src/coreComponents/schema/docs/PhaseFieldFracture_other.rst
index 5b4f62fa9a3..c874c188464 100644
--- a/src/coreComponents/schema/docs/PhaseFieldFracture_other.rst
+++ b/src/coreComponents/schema/docs/PhaseFieldFracture_other.rst
@@ -1,12 +1,12 @@
-========================= =================================================================================================================================================== ================================================================
-Name Type Description
-========================= =================================================================================================================================================== ================================================================
-maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
-meshTargets geosx_mapBase< std_string, LvArray_Array< std_string, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
-LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
-NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
-========================= =================================================================================================================================================== ================================================================
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
+Name Type Description
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
+maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
+meshTargets geosx_mapBase< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, LvArray_Array< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
+LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
+NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
diff --git a/src/coreComponents/schema/docs/ProppantTransport_other.rst b/src/coreComponents/schema/docs/ProppantTransport_other.rst
index 5b4f62fa9a3..c874c188464 100644
--- a/src/coreComponents/schema/docs/ProppantTransport_other.rst
+++ b/src/coreComponents/schema/docs/ProppantTransport_other.rst
@@ -1,12 +1,12 @@
-========================= =================================================================================================================================================== ================================================================
-Name Type Description
-========================= =================================================================================================================================================== ================================================================
-maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
-meshTargets geosx_mapBase< std_string, LvArray_Array< std_string, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
-LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
-NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
-========================= =================================================================================================================================================== ================================================================
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
+Name Type Description
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
+maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
+meshTargets geosx_mapBase< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, LvArray_Array< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
+LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
+NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
diff --git a/src/coreComponents/schema/docs/SinglePhaseFVM_other.rst b/src/coreComponents/schema/docs/SinglePhaseFVM_other.rst
index 5b4f62fa9a3..c874c188464 100644
--- a/src/coreComponents/schema/docs/SinglePhaseFVM_other.rst
+++ b/src/coreComponents/schema/docs/SinglePhaseFVM_other.rst
@@ -1,12 +1,12 @@
-========================= =================================================================================================================================================== ================================================================
-Name Type Description
-========================= =================================================================================================================================================== ================================================================
-maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
-meshTargets geosx_mapBase< std_string, LvArray_Array< std_string, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
-LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
-NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
-========================= =================================================================================================================================================== ================================================================
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
+Name Type Description
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
+maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
+meshTargets geosx_mapBase< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, LvArray_Array< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
+LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
+NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
diff --git a/src/coreComponents/schema/docs/SinglePhaseHybridFVM_other.rst b/src/coreComponents/schema/docs/SinglePhaseHybridFVM_other.rst
index 56309599fa0..7cd3eeef08a 100644
--- a/src/coreComponents/schema/docs/SinglePhaseHybridFVM_other.rst
+++ b/src/coreComponents/schema/docs/SinglePhaseHybridFVM_other.rst
@@ -1,13 +1,13 @@
-========================= =================================================================================================================================================== ================================ ================================================================
-Name Type Registered On Description
-========================= =================================================================================================================================================== ================================ ================================================================
-maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
-meshTargets geosx_mapBase< std_string, LvArray_Array< std_string, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
-deltaFacePressure real64_array :ref:`DATASTRUCTURE_FaceManager` Accumulated face pressure updates
-LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
-NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
-========================= =================================================================================================================================================== ================================ ================================================================
+========================= =============================================================================================================================================================================================================================================================================================== ================================ ================================================================
+Name Type Registered On Description
+========================= =============================================================================================================================================================================================================================================================================================== ================================ ================================================================
+maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
+meshTargets geosx_mapBase< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, LvArray_Array< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
+deltaFacePressure real64_array :ref:`DATASTRUCTURE_FaceManager` Accumulated face pressure updates
+LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
+NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
+========================= =============================================================================================================================================================================================================================================================================================== ================================ ================================================================
diff --git a/src/coreComponents/schema/docs/SinglePhasePoromechanicsEmbeddedFractures_other.rst b/src/coreComponents/schema/docs/SinglePhasePoromechanicsEmbeddedFractures_other.rst
index 7acea5a6dbf..aa08bcefbb0 100644
--- a/src/coreComponents/schema/docs/SinglePhasePoromechanicsEmbeddedFractures_other.rst
+++ b/src/coreComponents/schema/docs/SinglePhasePoromechanicsEmbeddedFractures_other.rst
@@ -1,13 +1,13 @@
-========================= =================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
-Name Type Description
-========================= =================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
-discretization string Name of discretization object (defined in the :ref:`NumericalMethodsManager`) to use for this solver. For instance, if this is a Finite Element Solver, the name of a :ref:`FiniteElement` should be specified. If this is a Finite Volume Method, the name of a :ref:`FiniteVolume` discretization should be specified.
-maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
-meshTargets geosx_mapBase< std_string, LvArray_Array< std_string, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
-LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
-NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
-========================= =================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
+========================= =============================================================================================================================================================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
+Name Type Description
+========================= =============================================================================================================================================================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
+discretization string Name of discretization object (defined in the :ref:`NumericalMethodsManager`) to use for this solver. For instance, if this is a Finite Element Solver, the name of a :ref:`FiniteElement` should be specified. If this is a Finite Volume Method, the name of a :ref:`FiniteVolume` discretization should be specified.
+maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
+meshTargets geosx_mapBase< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, LvArray_Array< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
+LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
+NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
+========================= =============================================================================================================================================================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
diff --git a/src/coreComponents/schema/docs/SinglePhasePoromechanics_other.rst b/src/coreComponents/schema/docs/SinglePhasePoromechanics_other.rst
index 5b4f62fa9a3..c874c188464 100644
--- a/src/coreComponents/schema/docs/SinglePhasePoromechanics_other.rst
+++ b/src/coreComponents/schema/docs/SinglePhasePoromechanics_other.rst
@@ -1,12 +1,12 @@
-========================= =================================================================================================================================================== ================================================================
-Name Type Description
-========================= =================================================================================================================================================== ================================================================
-maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
-meshTargets geosx_mapBase< std_string, LvArray_Array< std_string, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
-LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
-NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
-========================= =================================================================================================================================================== ================================================================
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
+Name Type Description
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
+maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
+meshTargets geosx_mapBase< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, LvArray_Array< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
+LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
+NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
diff --git a/src/coreComponents/schema/docs/SinglePhaseProppantFVM_other.rst b/src/coreComponents/schema/docs/SinglePhaseProppantFVM_other.rst
index 5b4f62fa9a3..c874c188464 100644
--- a/src/coreComponents/schema/docs/SinglePhaseProppantFVM_other.rst
+++ b/src/coreComponents/schema/docs/SinglePhaseProppantFVM_other.rst
@@ -1,12 +1,12 @@
-========================= =================================================================================================================================================== ================================================================
-Name Type Description
-========================= =================================================================================================================================================== ================================================================
-maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
-meshTargets geosx_mapBase< std_string, LvArray_Array< std_string, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
-LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
-NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
-========================= =================================================================================================================================================== ================================================================
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
+Name Type Description
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
+maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
+meshTargets geosx_mapBase< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, LvArray_Array< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
+LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
+NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
diff --git a/src/coreComponents/schema/docs/SinglePhaseReservoir_other.rst b/src/coreComponents/schema/docs/SinglePhaseReservoir_other.rst
index 7acea5a6dbf..aa08bcefbb0 100644
--- a/src/coreComponents/schema/docs/SinglePhaseReservoir_other.rst
+++ b/src/coreComponents/schema/docs/SinglePhaseReservoir_other.rst
@@ -1,13 +1,13 @@
-========================= =================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
-Name Type Description
-========================= =================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
-discretization string Name of discretization object (defined in the :ref:`NumericalMethodsManager`) to use for this solver. For instance, if this is a Finite Element Solver, the name of a :ref:`FiniteElement` should be specified. If this is a Finite Volume Method, the name of a :ref:`FiniteVolume` discretization should be specified.
-maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
-meshTargets geosx_mapBase< std_string, LvArray_Array< std_string, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
-LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
-NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
-========================= =================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
+========================= =============================================================================================================================================================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
+Name Type Description
+========================= =============================================================================================================================================================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
+discretization string Name of discretization object (defined in the :ref:`NumericalMethodsManager`) to use for this solver. For instance, if this is a Finite Element Solver, the name of a :ref:`FiniteElement` should be specified. If this is a Finite Volume Method, the name of a :ref:`FiniteVolume` discretization should be specified.
+maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
+meshTargets geosx_mapBase< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, LvArray_Array< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
+LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
+NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
+========================= =============================================================================================================================================================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
diff --git a/src/coreComponents/schema/docs/SinglePhaseWell_other.rst b/src/coreComponents/schema/docs/SinglePhaseWell_other.rst
index 48a09333642..b3804961a57 100644
--- a/src/coreComponents/schema/docs/SinglePhaseWell_other.rst
+++ b/src/coreComponents/schema/docs/SinglePhaseWell_other.rst
@@ -1,14 +1,14 @@
-========================= =================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
-Name Type Description
-========================= =================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
-discretization string Name of discretization object (defined in the :ref:`NumericalMethodsManager`) to use for this solver. For instance, if this is a Finite Element Solver, the name of a :ref:`FiniteElement` should be specified. If this is a Finite Volume Method, the name of a :ref:`FiniteVolume` discretization should be specified.
-maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
-meshTargets geosx_mapBase< std_string, LvArray_Array< std_string, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
-LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
-NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
-WellControls node :ref:`DATASTRUCTURE_WellControls`
-========================= =================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
+========================= =============================================================================================================================================================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
+Name Type Description
+========================= =============================================================================================================================================================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
+discretization string Name of discretization object (defined in the :ref:`NumericalMethodsManager`) to use for this solver. For instance, if this is a Finite Element Solver, the name of a :ref:`FiniteElement` should be specified. If this is a Finite Volume Method, the name of a :ref:`FiniteVolume` discretization should be specified.
+maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
+meshTargets geosx_mapBase< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, LvArray_Array< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
+LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
+NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
+WellControls node :ref:`DATASTRUCTURE_WellControls`
+========================= =============================================================================================================================================================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
diff --git a/src/coreComponents/schema/docs/SolidMechanicsEmbeddedFractures_other.rst b/src/coreComponents/schema/docs/SolidMechanicsEmbeddedFractures_other.rst
index 7acea5a6dbf..aa08bcefbb0 100644
--- a/src/coreComponents/schema/docs/SolidMechanicsEmbeddedFractures_other.rst
+++ b/src/coreComponents/schema/docs/SolidMechanicsEmbeddedFractures_other.rst
@@ -1,13 +1,13 @@
-========================= =================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
-Name Type Description
-========================= =================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
-discretization string Name of discretization object (defined in the :ref:`NumericalMethodsManager`) to use for this solver. For instance, if this is a Finite Element Solver, the name of a :ref:`FiniteElement` should be specified. If this is a Finite Volume Method, the name of a :ref:`FiniteVolume` discretization should be specified.
-maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
-meshTargets geosx_mapBase< std_string, LvArray_Array< std_string, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
-LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
-NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
-========================= =================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
+========================= =============================================================================================================================================================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
+Name Type Description
+========================= =============================================================================================================================================================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
+discretization string Name of discretization object (defined in the :ref:`NumericalMethodsManager`) to use for this solver. For instance, if this is a Finite Element Solver, the name of a :ref:`FiniteElement` should be specified. If this is a Finite Volume Method, the name of a :ref:`FiniteVolume` discretization should be specified.
+maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
+meshTargets geosx_mapBase< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, LvArray_Array< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
+LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
+NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
+========================= =============================================================================================================================================================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
diff --git a/src/coreComponents/schema/docs/SolidMechanicsLagrangianSSLE_other.rst b/src/coreComponents/schema/docs/SolidMechanicsLagrangianSSLE_other.rst
index 8ab18aa4617..d6506d6fedf 100644
--- a/src/coreComponents/schema/docs/SolidMechanicsLagrangianSSLE_other.rst
+++ b/src/coreComponents/schema/docs/SolidMechanicsLagrangianSSLE_other.rst
@@ -1,13 +1,13 @@
-========================= =================================================================================================================================================== ================================================================
-Name Type Description
-========================= =================================================================================================================================================== ================================================================
-maxForce real64 The maximum force contribution in the problem domain.
-maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
-meshTargets geosx_mapBase< std_string, LvArray_Array< std_string, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
-LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
-NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
-========================= =================================================================================================================================================== ================================================================
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
+Name Type Description
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
+maxForce real64 The maximum force contribution in the problem domain.
+maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
+meshTargets geosx_mapBase< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, LvArray_Array< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
+LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
+NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
diff --git a/src/coreComponents/schema/docs/SolidMechanics_LagrangianFEM_other.rst b/src/coreComponents/schema/docs/SolidMechanics_LagrangianFEM_other.rst
index 8ab18aa4617..d6506d6fedf 100644
--- a/src/coreComponents/schema/docs/SolidMechanics_LagrangianFEM_other.rst
+++ b/src/coreComponents/schema/docs/SolidMechanics_LagrangianFEM_other.rst
@@ -1,13 +1,13 @@
-========================= =================================================================================================================================================== ================================================================
-Name Type Description
-========================= =================================================================================================================================================== ================================================================
-maxForce real64 The maximum force contribution in the problem domain.
-maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
-meshTargets geosx_mapBase< std_string, LvArray_Array< std_string, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
-LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
-NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
-========================= =================================================================================================================================================== ================================================================
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
+Name Type Description
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
+maxForce real64 The maximum force contribution in the problem domain.
+maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
+meshTargets geosx_mapBase< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, LvArray_Array< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
+LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
+NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
+========================= =============================================================================================================================================================================================================================================================================================== ================================================================
diff --git a/src/coreComponents/schema/docs/SurfaceGenerator_other.rst b/src/coreComponents/schema/docs/SurfaceGenerator_other.rst
index 96cfc6ecec7..37b9b97583d 100644
--- a/src/coreComponents/schema/docs/SurfaceGenerator_other.rst
+++ b/src/coreComponents/schema/docs/SurfaceGenerator_other.rst
@@ -1,18 +1,18 @@
-========================= =================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
-Name Type Description
-========================= =================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
-discretization string Name of discretization object (defined in the :ref:`NumericalMethodsManager`) to use for this solver. For instance, if this is a Finite Element Solver, the name of a :ref:`FiniteElement` should be specified. If this is a Finite Volume Method, the name of a :ref:`FiniteVolume` discretization should be specified.
-failCriterion integer (no description available)
-maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
-meshTargets geosx_mapBase< std_string, LvArray_Array< std_string, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
-tipEdges LvArray_SortedArray< int, int, LvArray_ChaiBuffer > Set containing all the tip edges
-tipFaces LvArray_SortedArray< int, int, LvArray_ChaiBuffer > Set containing all the tip faces
-tipNodes LvArray_SortedArray< int, int, LvArray_ChaiBuffer > Set containing all the nodes at the fracture tip
-trailingFaces LvArray_SortedArray< int, int, LvArray_ChaiBuffer > Set containing all the trailing faces
-LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
-NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
-========================= =================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
+========================= =============================================================================================================================================================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
+Name Type Description
+========================= =============================================================================================================================================================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
+discretization string Name of discretization object (defined in the :ref:`NumericalMethodsManager`) to use for this solver. For instance, if this is a Finite Element Solver, the name of a :ref:`FiniteElement` should be specified. If this is a Finite Volume Method, the name of a :ref:`FiniteVolume` discretization should be specified.
+failCriterion integer (no description available)
+maxStableDt real64 Value of the Maximum Stable Timestep for this solver.
+meshTargets geosx_mapBase< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, LvArray_Array< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > MeshBody/Region combinations that the solver will be applied to.
+tipEdges LvArray_SortedArray< int, int, LvArray_ChaiBuffer > Set containing all the tip edges
+tipFaces LvArray_SortedArray< int, int, LvArray_ChaiBuffer > Set containing all the tip faces
+tipNodes LvArray_SortedArray< int, int, LvArray_ChaiBuffer > Set containing all the nodes at the fracture tip
+trailingFaces LvArray_SortedArray< int, int, LvArray_ChaiBuffer > Set containing all the trailing faces
+LinearSolverParameters node :ref:`DATASTRUCTURE_LinearSolverParameters`
+NonlinearSolverParameters node :ref:`DATASTRUCTURE_NonlinearSolverParameters`
+========================= =============================================================================================================================================================================================================================================================================================== ========================================================================================================================================================================================================================================================================================================================
diff --git a/src/coreComponents/schema/docs/TwoPointFluxApproximation_other.rst b/src/coreComponents/schema/docs/TwoPointFluxApproximation_other.rst
index 825f9d230d6..b1b2c45ed80 100644
--- a/src/coreComponents/schema/docs/TwoPointFluxApproximation_other.rst
+++ b/src/coreComponents/schema/docs/TwoPointFluxApproximation_other.rst
@@ -1,15 +1,15 @@
-======================== =================================================================================================================================================== ========================================
-Name Type Description
-======================== =================================================================================================================================================== ========================================
-cellStencil geosx_CellElementStencilTPFA (no description available)
-coefficientName string Name of coefficient field
-edfmStencil geosx_EmbeddedSurfaceToCellStencil (no description available)
-faceElementToCellStencil geosx_FaceElementToCellStencil (no description available)
-fieldName string Name of primary solution field
-fractureStencil geosx_SurfaceElementStencil (no description available)
-targetRegions geosx_mapBase< std_string, LvArray_Array< std_string, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > List of regions to build the stencil for
-======================== =================================================================================================================================================== ========================================
+======================== =============================================================================================================================================================================================================================================================================================== ========================================
+Name Type Description
+======================== =============================================================================================================================================================================================================================================================================================== ========================================
+cellStencil geosx_CellElementStencilTPFA (no description available)
+coefficientName string Name of coefficient field
+edfmStencil geosx_EmbeddedSurfaceToCellStencil (no description available)
+faceElementToCellStencil geosx_FaceElementToCellStencil (no description available)
+fieldName string Name of primary solution field
+fractureStencil geosx_SurfaceElementStencil (no description available)
+targetRegions geosx_mapBase< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, LvArray_Array< std___cxx11_basic_string< char, std_char_traits< char >, std_allocator< char > >, 1, camp_int_seq< long, 0l >, int, LvArray_ChaiBuffer >, std_integral_constant< bool, true > > List of regions to build the stencil for
+======================== =============================================================================================================================================================================================================================================================================================== ========================================
diff --git a/src/coreComponents/schema/schema.xsd.other b/src/coreComponents/schema/schema.xsd.other
index 249e9afcbf0..8ddb1544352 100644
--- a/src/coreComponents/schema/schema.xsd.other
+++ b/src/coreComponents/schema/schema.xsd.other
@@ -412,7 +412,7 @@
-
+
@@ -480,7 +480,7 @@
-
+
@@ -504,7 +504,7 @@
-
+
@@ -514,7 +514,7 @@
-
+
@@ -526,7 +526,7 @@
-
+
@@ -539,7 +539,7 @@
-
+
@@ -552,7 +552,7 @@
-
+
@@ -564,7 +564,7 @@
-
+
@@ -574,7 +574,7 @@
-
+
@@ -586,7 +586,7 @@
-
+
@@ -596,7 +596,7 @@
-
+
@@ -606,7 +606,7 @@
-
+
@@ -616,7 +616,7 @@
-
+
@@ -626,7 +626,7 @@
-
+
@@ -636,7 +636,7 @@
-
+
@@ -646,7 +646,7 @@
-
+
@@ -656,7 +656,7 @@
-
+
@@ -666,7 +666,7 @@
-
+
@@ -678,7 +678,7 @@
-
+
@@ -688,7 +688,7 @@
-
+
@@ -700,7 +700,7 @@
-
+
@@ -713,7 +713,7 @@
-
+
@@ -725,7 +725,7 @@
-
+
@@ -737,7 +737,7 @@
-
+
@@ -749,7 +749,7 @@
-
+
@@ -763,7 +763,7 @@
-
+
diff --git a/src/coreComponents/unitTests/constitutiveTests/testCO2BrinePVTModels.cpp b/src/coreComponents/unitTests/constitutiveTests/testCO2BrinePVTModels.cpp
index 4cf476752e1..6ebfebfef9f 100644
--- a/src/coreComponents/unitTests/constitutiveTests/testCO2BrinePVTModels.cpp
+++ b/src/coreComponents/unitTests/constitutiveTests/testCO2BrinePVTModels.cpp
@@ -25,8 +25,6 @@
#include "constitutive/fluid/PVTFunctions/CO2Solubility.hpp"
#include "constitutive/fluid/PVTFunctions/BrineEnthalpy.hpp"
#include "constitutive/fluid/PVTFunctions/CO2Enthalpy.hpp"
-#include "constitutive/fluid/PVTFunctions/BrineInternalEnergy.hpp"
-#include "constitutive/fluid/PVTFunctions/CO2InternalEnergy.hpp"
#include "mainInterface/GeosxState.hpp"
#include "mainInterface/initialization.hpp"
@@ -49,9 +47,6 @@ static const char * pvtLiquidPhillipsTableContent = "DensityFun PhillipsBrineDen
// Used also for gas phase
static const char * pvtLiquidEnthalpyTableContent = "EnthalpyFun BrineEnthalpy 1e6 1.5e7 5e4 367.15 369.15 1 0.2";
-// InternalEnergy model has no parameters
-static const char * pvtLiquidInternalEnergyTableContent = "InternalEnergyFun BrineInternalEnergy";
-
// the last are set relatively high (1e-4) to increase derivative value and check it properly
static const char * pvtLiquidEzrokhiTableContent = "DensityFun EzrokhiBrineDensity 2.01e-6 -6.34e-7 1e-4\n"
"ViscosityFun EzrokhiBrineViscosity 2.42e-7 0 1e-4";
@@ -1121,208 +1116,6 @@ TEST_F( CO2EnthalpyTest, CO2EnthalpyMolarValuesAndDeriv )
}
}
-class BrineInternalEnergyTest : public ::testing::Test
-{
-public:
- BrineInternalEnergyTest()
- {
- writeTableToFile( filename, pvtLiquidInternalEnergyTableContent );
- pvtFunction = makePVTFunction< BrineInternalEnergy >( filename, key );
-
- }
-
- ~BrineInternalEnergyTest() override
- {
- removeFile( filename );
- }
-
-protected:
- string const key = "InternalEnergyFun";
- string const filename = "pvtliquid.txt";
- std::unique_ptr< BrineInternalEnergy > pvtFunction;
-};
-
-TEST_F( BrineInternalEnergyTest, BrineInternalEnergyMassValuesAndDeriv )
-{
- // when checking numerical derivatives, do not fall on the coordinate points of the tables!!
- // (see the txt file defined at the top of the file for the definition of the coordinates)
- real64 const P[3] = { 5.012e6, 7.546e6, 1.289e7 };
- real64 const TC[3] = { 94.5, 95.1, 95.6 };
- array1d< real64 > comp( 2 );
- comp[0] = 0.304; comp[1] = 0.696;
- real64 const deltaComp = 0.2;
-
- real64 const eps = sqrt( std::numeric_limits< real64 >::epsilon());
- real64 const relTol = 5e-5;
-
-
-
- BrineInternalEnergy::KernelWrapper pvtFunctionWrapper = pvtFunction->createKernelWrapper();
- real64 const savedValues[] = { 5106.500000, 5107.100000, 5107.600000, 7640.500000, 7641.100000, 7641.600000,
- 12984.500000, 12985.100000, 12985.600000, 5106.500000, 5107.100000, 5107.600000,
- 7640.500000, 7641.100000, 7641.600000, 12984.500000, 12985.100000, 12985.600000,
- 5106.500000, 5107.100000, 5107.600000, 7640.500000, 7641.100000, 7641.600000,
- 12984.500000, 12985.100000, 12985.600000};
-
-
- integer counter = 0;
- for( integer iComp = 0; iComp < 3; ++iComp )
- {
- for( integer iPres = 0; iPres < 3; ++iPres )
- {
- for( integer iTemp = 0; iTemp < 3; ++iTemp )
- {
- testValuesAgainstPreviousImplementation( pvtFunctionWrapper,
- P[iPres], TC[iTemp], comp, savedValues[counter], true, relTol );
- testNumericalDerivatives( pvtFunctionWrapper, P[iPres], TC[iTemp], comp, true, eps, relTol );
- counter++;
- }
- }
- comp[0] += deltaComp;
- comp[1] = 1 - comp[0];
- }
-}
-
-TEST_F( BrineInternalEnergyTest, BrineInternalEnergyMolarValuesAndDeriv )
-{
- // when checking numerical derivatives, do not fall on the coordinate points of the tables!!
- // (see the txt file defined at the top of the file for the definition of the coordinates)
- real64 const P[3] = { 5.012e6, 7.546e6, 1.289e7 };
- real64 const TC[3] = { 94.5, 95.1, 95.6 };
- array1d< real64 > comp( 2 );
- comp[0] = 0.304; comp[1] = 0.696;
- real64 const deltaComp = 0.2;
-
- real64 const eps = sqrt( std::numeric_limits< real64 >::epsilon());
- real64 const relTol = 5e-5;
-
-
-
- BrineInternalEnergy::KernelWrapper pvtFunctionWrapper = pvtFunction->createKernelWrapper();
- real64 const savedValues[] = { 5106.500000, 5107.100000, 5107.600000, 7640.500000, 7641.100000, 7641.600000,
- 12984.500000, 12985.100000, 12985.600000, 5106.500000, 5107.100000, 5107.600000,
- 7640.500000, 7641.100000, 7641.600000, 12984.500000, 12985.100000, 12985.600000,
- 5106.500000, 5107.100000, 5107.600000, 7640.500000, 7641.100000, 7641.600000,
- 12984.500000, 12985.100000, 12985.600000};
- integer counter = 0;
- for( integer iComp = 0; iComp < 3; ++iComp )
- {
- for( integer iPres = 0; iPres < 3; ++iPres )
- {
- for( integer iTemp = 0; iTemp < 3; ++iTemp )
- {
- testValuesAgainstPreviousImplementation( pvtFunctionWrapper,
- P[iPres], TC[iTemp], comp, savedValues[counter], false, relTol );
- testNumericalDerivatives( pvtFunctionWrapper, P[iPres], TC[iTemp], comp, false, eps, relTol );
- counter++;
- }
- }
- comp[0] += deltaComp;
- comp[1] = 1 - comp[0];
- }
-}
-
-class CO2InternalEnergyTest : public ::testing::Test
-{
-public:
- CO2InternalEnergyTest()
- {
- writeTableToFile( filename, pvtLiquidInternalEnergyTableContent );
- pvtFunction = makePVTFunction< CO2InternalEnergy >( filename, key );
-
- }
-
- ~CO2InternalEnergyTest() override
- {
- removeFile( filename );
- }
-
-protected:
- string const key = "InternalEnergyFun";
- string const filename = "pvtgas.txt";
- std::unique_ptr< CO2InternalEnergy > pvtFunction;
-};
-
-TEST_F( CO2InternalEnergyTest, CO2InternalEnergyMassValuesAndDeriv )
-{
- // when checking numerical derivatives, do not fall on the coordinate points of the tables!!
- // (see the txt file defined at the top of the file for the definition of the coordinates)
- real64 const P[3] = { 5.012e6, 7.546e6, 1.289e7 };
- real64 const TC[3] = { 94.5, 95.1, 95.6 };
- array1d< real64 > comp( 2 );
- comp[0] = 0.304; comp[1] = 0.696;
- real64 const deltaComp = 0.2;
-
- real64 const eps = sqrt( std::numeric_limits< real64 >::epsilon());
- real64 const relTol = 5e-5;
-
-
-
- CO2InternalEnergy::KernelWrapper pvtFunctionWrapper = pvtFunction->createKernelWrapper();
- real64 const savedValues[] = { 5106.500000, 5107.100000, 5107.600000, 7640.500000, 7641.100000, 7641.600000,
- 12984.500000, 12985.100000, 12985.600000, 5106.500000, 5107.100000, 5107.600000,
- 7640.500000, 7641.100000, 7641.600000, 12984.500000, 12985.100000, 12985.600000,
- 5106.500000, 5107.100000, 5107.600000, 7640.500000, 7641.100000, 7641.600000,
- 12984.500000, 12985.100000, 12985.600000};
-
-
- integer counter = 0;
- for( integer iComp = 0; iComp < 3; ++iComp )
- {
- for( integer iPres = 0; iPres < 3; ++iPres )
- {
- for( integer iTemp = 0; iTemp < 3; ++iTemp )
- {
- testValuesAgainstPreviousImplementation( pvtFunctionWrapper,
- P[iPres], TC[iTemp], comp, savedValues[counter], true, relTol );
- testNumericalDerivatives( pvtFunctionWrapper, P[iPres], TC[iTemp], comp, true, eps, relTol );
- counter++;
- }
- }
- comp[0] += deltaComp;
- comp[1] = 1 - comp[0];
- }
-}
-
-TEST_F( CO2InternalEnergyTest, CO2InternalEnergyMolarValuesAndDeriv )
-{
- // when checking numerical derivatives, do not fall on the coordinate points of the tables!!
- // (see the txt file defined at the top of the file for the definition of the coordinates)
- real64 const P[3] = { 5.012e6, 7.546e6, 1.289e7 };
- real64 const TC[3] = { 94.5, 95.1, 95.6 };
- array1d< real64 > comp( 2 );
- comp[0] = 0.304; comp[1] = 0.696;
- real64 const deltaComp = 0.2;
-
- real64 const eps = sqrt( std::numeric_limits< real64 >::epsilon());
- real64 const relTol = 5e-5;
-
-
-
- CO2InternalEnergy::KernelWrapper pvtFunctionWrapper = pvtFunction->createKernelWrapper();
- real64 const savedValues[] = { 5106.500000, 5107.100000, 5107.600000, 7640.500000, 7641.100000, 7641.600000,
- 12984.500000, 12985.100000, 12985.600000, 5106.500000, 5107.100000, 5107.600000,
- 7640.500000, 7641.100000, 7641.600000, 12984.500000, 12985.100000, 12985.600000,
- 5106.500000, 5107.100000, 5107.600000, 7640.500000, 7641.100000, 7641.600000,
- 12984.500000, 12985.100000, 12985.600000};
- integer counter = 0;
- for( integer iComp = 0; iComp < 3; ++iComp )
- {
- for( integer iPres = 0; iPres < 3; ++iPres )
- {
- for( integer iTemp = 0; iTemp < 3; ++iTemp )
- {
- testValuesAgainstPreviousImplementation( pvtFunctionWrapper,
- P[iPres], TC[iTemp], comp, savedValues[counter], false, relTol );
- testNumericalDerivatives( pvtFunctionWrapper, P[iPres], TC[iTemp], comp, false, eps, relTol );
- counter++;
- }
- }
- comp[0] += deltaComp;
- comp[1] = 1 - comp[0];
- }
-}
-
int main( int argc, char * * argv )
{