Skip to content

feat: Add enthalpy to PVT Driver output #3704

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/coreComponents/constitutiveDrivers/docs/PVTDriver.rst
Original file line number Diff line number Diff line change
Expand Up @@ -102,8 +102,8 @@ The file is a simple ASCII format with a brief header followed by test data:
4.0816e-02 3.0000e+06 3.5000e+02 4.9901e+01 1.0000e+00 4.1563e-11 4.9901e+01 1.0066e+03 1.7778e-05 9.9525e-04
...

Note that the number of columns will depend on how many phases and components are present.
In this case, we have a two-phase, two-component mixture.
Note that the number of columns will depend on how many phases and components are present and on whether the fluid is thermal or not.
In this case, we have a two-phase, two-component isothermal mixture.
The total density is reported in column 4, while phase fractions, phase densities, and phase viscosities are reported in subsequent columns.
If the ``outputCompressibility`` flag is activated, an extra column will be added for the total fluid compressibility after the density.
This is defined as :math:`c_t=\frac{1}{\rho_t}\left(\partial{\rho_t}/\partial P\right)` where :math:`\rho_t` is the total density.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,12 @@ void PVTDriver::postInputInitialization()
numCols += m_numPhases;
}

// If fluid is thermal then add NP columns for the enthalpy
if( baseFluid.isThermal() )
{
numCols += m_numPhases;
}

// If the total compressibility is requested then add a column
if( m_outputCompressibility != 0 )
{
Expand Down Expand Up @@ -260,6 +266,7 @@ void PVTDriver::outputResults()
{
// TODO: improve file path output to grab command line -o directory
// for the moment, we just use the specified m_outputFile directly
constitutive::MultiFluidBase & baseFluid = getFluid();

FILE * fp = fopen( m_outputFile.c_str(), "w" );

Expand All @@ -273,7 +280,7 @@ void PVTDriver::outputResults()
fprintf( fp, "# column %d = total compressibility\n", ++columnIndex );
}

auto const phaseNames = getFluid().phaseNames();
auto const phaseNames = baseFluid.phaseNames();

fprintf( fp, "# columns %d-%d = phase fractions\n", columnIndex+1, columnIndex + m_numPhases );
columnIndex += m_numPhases;
Expand All @@ -287,9 +294,15 @@ void PVTDriver::outputResults()
fprintf( fp, "# columns %d-%d = phase viscosities\n", columnIndex+1, columnIndex + m_numPhases );
columnIndex += m_numPhases;

if( baseFluid.isThermal())
{
fprintf( fp, "# columns %d-%d = phase enthalpies\n", columnIndex+1, columnIndex + m_numPhases );
columnIndex += m_numPhases;
}

if( m_outputPhaseComposition != 0 )
{
string const componentNames = stringutilities::join( getFluid().componentNames(), ", " );
string const componentNames = stringutilities::join( baseFluid.componentNames(), ", " );
for( integer ip = 0; ip < m_numPhases; ++ip )
{
fprintf( fp, "# columns %d-%d = %s phase fractions [%s]\n", columnIndex+1, columnIndex + m_numComponents,
Expand Down Expand Up @@ -330,6 +343,10 @@ void PVTDriver::compareWithBaseline()
{
headerRows++;
}
if( getFluid().isThermal())
{
headerRows++; // Enthalpy
}
if( m_outputPhaseComposition )
{
headerRows += getFluid().numFluidPhases();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,20 +67,23 @@ void PVTDriver::runTest( FLUID_TYPE & fluid, arrayView2d< real64 > const & table
bool const outputMassDensity = (m_outputMassDensity != 0);
bool const outputCompressibility = (m_outputCompressibility != 0);
bool const outputPhaseComposition = (m_outputPhaseComposition != 0);
bool const outputEnthalpy = fluid.isThermal();

integer const numSteps = m_numSteps;
using ExecPolicy = typename FLUID_TYPE::exec_policy;
forAll< ExecPolicy >( composition.size( 0 ),
[outputMassDensity, outputCompressibility, outputPhaseComposition,
[outputMassDensity, outputCompressibility, outputPhaseComposition, outputEnthalpy,
numPhases, numComponents, numSteps, kernelWrapper,
table, composition]
GEOS_HOST_DEVICE ( localIndex const i )
{
// Index for start of phase properties
integer const PHASE_FRACTION = outputCompressibility ? TEMP + 3 : TEMP + 2;
integer const PHASE_FRACTION = TEMP + 2 + (outputCompressibility ? 1 : 0);
integer const PHASE_DENSITY = PHASE_FRACTION + numPhases;
integer const PHASE_VISCOSITY = outputMassDensity ? PHASE_DENSITY + 2*numPhases : PHASE_DENSITY + numPhases;
integer const PHASE_COMP = PHASE_VISCOSITY + numPhases;
integer const PHASE_MASS_DENSITY = PHASE_DENSITY + numPhases;
integer const PHASE_VISCOSITY = PHASE_MASS_DENSITY + (outputMassDensity ? numPhases : 0);
integer const PHASE_ENTHALPY = PHASE_VISCOSITY + numPhases;
integer const PHASE_COMP = PHASE_ENTHALPY + (outputEnthalpy ? numPhases : 0);

// Temporary space for phase mole fractions
stackArray1d< real64, constitutive::MultiFluidConstants::MAX_NUM_COMPONENTS > phaseComposition( numComponents );
Expand All @@ -105,7 +108,14 @@ void PVTDriver::runTest( FLUID_TYPE & fluid, arrayView2d< real64 > const & table
{
for( integer p = 0; p < numPhases; ++p )
{
table( n, PHASE_DENSITY + numPhases + p ) = kernelWrapper.phaseMassDensity()( i, 0, p );
table( n, PHASE_MASS_DENSITY + p ) = kernelWrapper.phaseMassDensity()( i, 0, p );
}
}
if( outputEnthalpy )
{
for( integer p = 0; p < numPhases; ++p )
{
table( n, PHASE_ENTHALPY + p ) = kernelWrapper.phaseEnthalpy()( i, 0, p );
}
}
if( outputPhaseComposition )
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,30 @@
outputPhaseComposition="1"
baseline="testPVT_CO2Brine_testCo2SpycherPruessBrinePhillipsMixtureB.txt"
logLevel="1" />
<PVTDriver
name="testCo2BrinePhillipsMixtureThermalA"
fluid="co2BrinePhillipsMixtureThermal"
feedComposition="{ 1.0, 0.0 }"
pressureControl="pressureFunction"
temperatureControl="temperatureFunction"
steps="20"
outputCompressibility="1"
outputPhaseComposition="1"
outputMassDensity="1"
baseline="testPVT_CO2Brine_testCo2BrinePhillipsMixtureThermalA.txt"
logLevel="1" />
<PVTDriver
name="testCo2BrinePhillipsMixtureThermalB"
fluid="co2BrinePhillipsMixtureThermal"
feedComposition="{ 0.2, 0.8 }"
pressureControl="pressureFunction"
temperatureControl="temperatureFunction"
steps="20"
outputCompressibility="1"
outputPhaseComposition="1"
outputMassDensity="1"
baseline="testPVT_CO2Brine_testCo2BrinePhillipsMixtureThermalB.txt"
logLevel="1" />
</Tasks>

<Events
Expand All @@ -91,6 +115,12 @@
<SoloEvent
name="eventCo2SpycherPruessBrinePhillipsMixtureB"
target="/Tasks/testCo2SpycherPruessBrinePhillipsMixtureB" />
<SoloEvent
name="eventCo2BrinePhillipsMixtureThermalA"
target="/Tasks/testCo2BrinePhillipsMixtureThermalA" />
<SoloEvent
name="eventCo2BrinePhillipsMixtureThermalB"
target="/Tasks/testCo2BrinePhillipsMixtureThermalB" />
</Events>

<Constitutive>
Expand All @@ -115,6 +145,13 @@
componentMolarWeight="{ 44e-3, 18e-3 }"
phasePVTParaFiles="{ testPVT_data/carbonDioxidePVT.txt, testPVT_data/brinePVT.txt }"
flashModelParaFile="testPVT_data/carbonDioxideSpycherPruessFlash.txt" />
<CO2BrinePhillipsThermalFluid
name="co2BrinePhillipsMixtureThermal"
phaseNames="{ gas, water }"
componentNames="{ co2, water }"
componentMolarWeight="{ 44e-3, 18e-3 }"
phasePVTParaFiles="{ testPVT_data/carbonDioxidePVT_thermal.txt, testPVT_data/brinePVT_thermal.txt }"
flashModelParaFile="testPVT_data/carbonDioxideFlash.txt" />
</Constitutive>

<Functions>
Expand All @@ -130,25 +167,4 @@
coordinates="{ 0.0, 0.45, 0.55, 1.0 }"
values="{ 350.0, 350.0, 258, 380 }" />
</Functions>

<!-- Mesh is not used, but GEOSX throws an error without one. Will resolve soon-->
<Mesh>
<InternalMesh
name="mesh1"
elementTypes="{ C3D8 }"
xCoords="{ 0, 1 }"
yCoords="{ 0, 1 }"
zCoords="{ 0, 1 }"
nx="{ 1 }"
ny="{ 1 }"
nz="{ 1 }"
cellBlockNames="{ cellBlock01 }" />
</Mesh>

<ElementRegions>
<CellElementRegion
name="dummy"
cellBlocks="{ * }"
materialList="{ dummy }" />
</ElementRegions>
</Problem>
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# column 1 = time
# column 2 = pressure
# column 3 = temperature
# column 4 = density
# column 5 = total compressibility
# columns 6-7 = phase fractions
# columns 8-9 = phase densities
# columns 10-11 = phase mass densities
# columns 12-13 = phase viscosities
# columns 14-15 = phase enthalpies
# columns 16-17 = gas phase fractions [co2, water]
# columns 18-19 = water phase fractions [co2, water]
0.0000e+00 1.0000e+06 3.5000e+02 1.5581e+01 -0.0000e+00 1.0000e+00 0.0000e+00 1.5581e+01 1.0022e+03 1.5581e+01 1.0022e+03 1.7476e-05 4.1330e-04 5.4424e+05 2.8829e+05 1.0000e+00 0.0000e+00 0.0000e+00 1.0000e+00
5.0000e-02 6.4444e+06 3.5000e+02 1.2309e+02 2.0068e-07 1.0000e+00 0.0000e+00 1.2309e+02 1.0056e+03 1.2309e+02 1.0056e+03 1.8998e-05 4.1330e-04 5.0103e+05 2.8829e+05 1.0000e+00 0.0000e+00 0.0000e+00 1.0000e+00
1.0000e-01 1.1889e+07 3.5000e+02 3.0497e+02 1.3958e-07 1.0000e+00 0.0000e+00 3.0497e+02 1.0089e+03 3.0497e+02 1.0089e+03 2.5353e-05 4.1330e-04 4.4090e+05 2.8829e+05 1.0000e+00 0.0000e+00 0.0000e+00 1.0000e+00
1.5000e-01 1.7333e+07 3.5000e+02 5.3970e+02 6.0231e-08 1.0000e+00 0.0000e+00 5.3970e+02 1.0122e+03 5.3970e+02 1.0122e+03 4.0932e-05 4.1330e-04 3.8400e+05 2.8829e+05 1.0000e+00 0.0000e+00 0.0000e+00 1.0000e+00
2.0000e-01 2.2778e+07 3.5000e+02 6.6850e+02 2.5828e-08 1.0000e+00 0.0000e+00 6.6850e+02 1.0155e+03 6.6850e+02 1.0155e+03 5.3806e-05 4.1330e-04 3.5745e+05 2.8829e+05 1.0000e+00 0.0000e+00 0.0000e+00 1.0000e+00
2.5000e-01 2.8222e+07 3.5000e+02 7.4098e+02 1.4163e-08 1.0000e+00 0.0000e+00 7.4098e+02 1.0188e+03 7.4098e+02 1.0188e+03 6.3051e-05 4.1330e-04 3.4572e+05 2.8829e+05 1.0000e+00 0.0000e+00 0.0000e+00 1.0000e+00
3.0000e-01 3.3667e+07 3.5000e+02 7.9054e+02 9.9688e-09 1.0000e+00 0.0000e+00 7.9054e+02 1.0220e+03 7.9054e+02 1.0220e+03 7.0528e-05 4.1330e-04 3.3933e+05 2.8829e+05 1.0000e+00 0.0000e+00 0.0000e+00 1.0000e+00
3.5000e-01 3.9111e+07 3.5000e+02 8.2831e+02 7.3536e-09 1.0000e+00 0.0000e+00 8.2831e+02 1.0252e+03 8.2831e+02 1.0252e+03 7.7028e-05 4.1330e-04 3.3554e+05 2.8829e+05 1.0000e+00 0.0000e+00 0.0000e+00 1.0000e+00
4.0000e-01 4.4556e+07 3.5000e+02 8.5890e+02 5.9843e-09 1.0000e+00 0.0000e+00 8.5890e+02 1.0283e+03 8.5890e+02 1.0283e+03 8.2914e-05 4.1330e-04 3.3329e+05 2.8829e+05 1.0000e+00 0.0000e+00 0.0000e+00 1.0000e+00
4.5000e-01 5.0000e+07 3.5000e+02 8.8476e+02 -0.0000e+00 1.0000e+00 0.0000e+00 8.8476e+02 1.0315e+03 8.8476e+02 1.0315e+03 8.8389e-05 4.1330e-04 3.3203e+05 2.8829e+05 1.0000e+00 0.0000e+00 0.0000e+00 1.0000e+00
5.0000e-01 3.0000e+07 3.0400e+02 8.0121e+02 1.0045e-08 1.0000e+00 0.0000e+00 8.0121e+02 1.0265e+03 8.0121e+02 1.0265e+03 7.1971e-05 8.6631e-04 3.2279e+05 2.4419e+05 1.0000e+00 0.0000e+00 0.0000e+00 1.0000e+00
5.5000e-01 1.0000e+07 2.5800e+02 2.5862e+02 1.6710e-07 1.0000e+00 0.0000e+00 2.5862e+02 1.0147e+03 2.5862e+02 1.0147e+03 2.2796e-05 1.9511e-03 4.4300e+05 2.4419e+05 1.0000e+00 0.0000e+00 0.0000e+00 1.0000e+00
6.0000e-01 1.0000e+07 2.7156e+02 2.5862e+02 1.6710e-07 1.0000e+00 0.0000e+00 2.5862e+02 1.0147e+03 2.5862e+02 1.0147e+03 2.2796e-05 1.9588e-03 4.4300e+05 2.4419e+05 1.0000e+00 0.0000e+00 0.0000e+00 1.0000e+00
6.5000e-01 1.0000e+07 2.8511e+02 2.5862e+02 1.6710e-07 1.0000e+00 0.0000e+00 2.5862e+02 1.0147e+03 2.5862e+02 1.0147e+03 2.2796e-05 1.3681e-03 4.4300e+05 2.4419e+05 1.0000e+00 0.0000e+00 0.0000e+00 1.0000e+00
7.0000e-01 1.0000e+07 2.9867e+02 2.5862e+02 1.6710e-07 1.0000e+00 0.0000e+00 2.5862e+02 1.0147e+03 2.5862e+02 1.0147e+03 2.2796e-05 9.7022e-04 4.4300e+05 2.4419e+05 1.0000e+00 0.0000e+00 0.0000e+00 1.0000e+00
7.5000e-01 1.0000e+07 3.1222e+02 2.5862e+02 1.6710e-07 1.0000e+00 0.0000e+00 2.5862e+02 1.0147e+03 2.5862e+02 1.0147e+03 2.2796e-05 7.3691e-04 4.4300e+05 2.4419e+05 1.0000e+00 0.0000e+00 0.0000e+00 1.0000e+00
8.0000e-01 1.0000e+07 3.2578e+02 2.5862e+02 1.6710e-07 1.0000e+00 0.0000e+00 2.5862e+02 1.0147e+03 2.5862e+02 1.0147e+03 2.2796e-05 5.8345e-04 4.4300e+05 2.4419e+05 1.0000e+00 0.0000e+00 0.0000e+00 1.0000e+00
8.5000e-01 1.0000e+07 3.3933e+02 2.5862e+02 1.6710e-07 1.0000e+00 0.0000e+00 2.5862e+02 1.0147e+03 2.5862e+02 1.0147e+03 2.2796e-05 4.7645e-04 4.4300e+05 2.4419e+05 1.0000e+00 0.0000e+00 0.0000e+00 1.0000e+00
9.0000e-01 1.0000e+07 3.5289e+02 2.2287e+02 1.4643e-07 1.0000e+00 0.0000e+00 2.2287e+02 1.0057e+03 2.2287e+02 1.0057e+03 2.2020e-05 3.9764e-04 4.6921e+05 3.0077e+05 1.0000e+00 0.0000e+00 0.0000e+00 1.0000e+00
9.5000e-01 1.0000e+07 3.6644e+02 2.0825e+02 1.3856e-07 1.0000e+00 0.0000e+00 2.0825e+02 1.0006e+03 2.0825e+02 1.0006e+03 2.1800e-05 3.4093e-04 4.9257e+05 3.3151e+05 1.0000e+00 0.0000e+00 0.0000e+00 1.0000e+00
1.0000e+00 1.0000e+07 3.8000e+02 2.0825e+02 1.3856e-07 1.0000e+00 0.0000e+00 2.0825e+02 1.0006e+03 2.0825e+02 1.0006e+03 2.1860e-05 2.9672e-04 5.1339e+05 3.3151e+05 1.0000e+00 0.0000e+00 0.0000e+00 1.0000e+00
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# column 1 = time
# column 2 = pressure
# column 3 = temperature
# column 4 = density
# column 5 = total compressibility
# columns 6-7 = phase fractions
# columns 8-9 = phase densities
# columns 10-11 = phase mass densities
# columns 12-13 = phase viscosities
# columns 14-15 = phase enthalpies
# columns 16-17 = gas phase fractions [co2, water]
# columns 18-19 = water phase fractions [co2, water]
0.0000e+00 1.0000e+06 3.5000e+02 4.0414e+01 -0.0000e+00 3.7585e-01 6.2415e-01 1.5581e+01 1.0033e+03 1.5581e+01 1.0033e+03 1.7476e-05 4.1330e-04 5.4424e+05 2.8971e+05 1.0000e+00 0.0000e+00 2.2780e-03 9.9772e-01
5.0000e-02 6.4444e+06 3.5000e+02 2.8057e+02 1.6945e-07 3.6096e-01 6.3904e-01 1.2309e+02 1.0115e+03 1.2309e+02 1.0115e+03 1.8998e-05 4.1330e-04 5.0103e+05 2.9440e+05 1.0000e+00 0.0000e+00 1.1952e-02 9.8805e-01
1.0000e-01 1.1889e+07 3.5000e+02 5.5783e+02 9.1768e-08 3.5267e-01 6.4733e-01 3.0497e+02 1.0174e+03 3.0497e+02 1.0174e+03 2.5353e-05 4.1330e-04 4.4090e+05 2.9457e+05 1.0000e+00 0.0000e+00 1.7255e-02 9.8275e-01
1.5000e-01 1.7333e+07 3.5000e+02 7.7911e+02 3.1032e-08 3.4876e-01 6.5124e-01 5.3970e+02 1.0219e+03 5.3970e+02 1.0219e+03 4.0932e-05 4.1330e-04 3.8400e+05 2.9278e+05 1.0000e+00 0.0000e+00 1.9739e-02 9.8026e-01
2.0000e-01 2.2778e+07 3.5000e+02 8.6554e+02 1.2132e-08 3.4640e-01 6.5360e-01 6.6850e+02 1.0258e+03 6.6850e+02 1.0258e+03 5.3806e-05 4.1330e-04 3.5745e+05 2.9177e+05 1.0000e+00 0.0000e+00 2.1232e-02 9.7877e-01
2.5000e-01 2.8222e+07 3.5000e+02 9.0774e+02 6.4648e-09 3.4450e-01 6.5550e-01 7.4098e+02 1.0295e+03 7.4098e+02 1.0295e+03 6.3051e-05 4.1330e-04 3.4572e+05 2.9134e+05 1.0000e+00 0.0000e+00 2.2429e-02 9.7757e-01
3.0000e-01 3.3667e+07 3.5000e+02 9.3478e+02 4.5000e-09 3.4282e-01 6.5718e-01 7.9054e+02 1.0331e+03 7.9054e+02 1.0331e+03 7.0528e-05 4.1330e-04 3.3933e+05 2.9112e+05 1.0000e+00 0.0000e+00 2.3484e-02 9.7652e-01
3.5000e-01 3.9111e+07 3.5000e+02 9.5469e+02 3.3303e-09 3.4129e-01 6.5871e-01 8.2831e+02 1.0366e+03 8.2831e+02 1.0366e+03 7.7028e-05 4.1330e-04 3.3554e+05 2.9101e+05 1.0000e+00 0.0000e+00 2.4448e-02 9.7555e-01
4.0000e-01 4.4556e+07 3.5000e+02 9.7052e+02 2.7218e-09 3.3985e-01 6.6015e-01 8.5890e+02 1.0401e+03 8.5890e+02 1.0401e+03 8.2914e-05 4.1330e-04 3.3329e+05 2.9098e+05 1.0000e+00 0.0000e+00 2.5348e-02 9.7465e-01
4.5000e-01 5.0000e+07 3.5000e+02 9.8376e+02 -0.0000e+00 3.3849e-01 6.6151e-01 8.8476e+02 1.0435e+03 8.8476e+02 1.0435e+03 8.8389e-05 4.1330e-04 3.3203e+05 2.9099e+05 1.0000e+00 0.0000e+00 2.6197e-02 9.7380e-01
5.0000e-01 3.0000e+07 3.0400e+02 9.4184e+02 4.4991e-09 3.4319e-01 6.5681e-01 8.0121e+02 1.0369e+03 8.0121e+02 1.0369e+03 7.1971e-05 8.6631e-04 3.2279e+05 2.4851e+05 1.0000e+00 0.0000e+00 2.3250e-02 9.7675e-01
5.5000e-01 1.0000e+07 2.5800e+02 5.0008e+02 1.1631e-07 3.5291e-01 6.4709e-01 2.5862e+02 1.0189e+03 2.5862e+02 1.0189e+03 2.2796e-05 1.9511e-03 4.4300e+05 2.5230e+05 1.0000e+00 0.0000e+00 1.7105e-02 9.8290e-01
6.0000e-01 1.0000e+07 2.7156e+02 5.0031e+02 1.1639e-07 3.5291e-01 6.4709e-01 2.5862e+02 1.0204e+03 2.5862e+02 1.0204e+03 2.2796e-05 1.9588e-03 4.4300e+05 2.5230e+05 1.0000e+00 0.0000e+00 1.7105e-02 9.8290e-01
6.5000e-01 1.0000e+07 2.8511e+02 5.0049e+02 1.1645e-07 3.5291e-01 6.4709e-01 2.5862e+02 1.0216e+03 2.5862e+02 1.0216e+03 2.2796e-05 1.3681e-03 4.4300e+05 2.5230e+05 1.0000e+00 0.0000e+00 1.7105e-02 9.8290e-01
7.0000e-01 1.0000e+07 2.9867e+02 5.0063e+02 1.1650e-07 3.5291e-01 6.4709e-01 2.5862e+02 1.0224e+03 2.5862e+02 1.0224e+03 2.2796e-05 9.7022e-04 4.4300e+05 2.5230e+05 1.0000e+00 0.0000e+00 1.7105e-02 9.8290e-01
7.5000e-01 1.0000e+07 3.1222e+02 5.0071e+02 1.1653e-07 3.5291e-01 6.4709e-01 2.5862e+02 1.0230e+03 2.5862e+02 1.0230e+03 2.2796e-05 7.3691e-04 4.4300e+05 2.5230e+05 1.0000e+00 0.0000e+00 1.7105e-02 9.8290e-01
8.0000e-01 1.0000e+07 3.2578e+02 5.0075e+02 1.1654e-07 3.5291e-01 6.4709e-01 2.5862e+02 1.0232e+03 2.5862e+02 1.0232e+03 2.2796e-05 5.8345e-04 4.4300e+05 2.5230e+05 1.0000e+00 0.0000e+00 1.7105e-02 9.8290e-01
8.5000e-01 1.0000e+07 3.3933e+02 5.0075e+02 1.1654e-07 3.5291e-01 6.4709e-01 2.5862e+02 1.0232e+03 2.5862e+02 1.0232e+03 2.2796e-05 4.7645e-04 4.4300e+05 2.5230e+05 1.0000e+00 0.0000e+00 1.7105e-02 9.8290e-01
9.0000e-01 1.0000e+07 3.5289e+02 4.4864e+02 1.0717e-07 3.5490e-01 6.4510e-01 2.2287e+02 1.0135e+03 2.2287e+02 1.0135e+03 2.2020e-05 3.9764e-04 4.6921e+05 3.0715e+05 1.0000e+00 0.0000e+00 1.5834e-02 9.8417e-01
9.5000e-01 1.0000e+07 3.6644e+02 4.2658e+02 1.0335e-07 3.5490e-01 6.4510e-01 2.0825e+02 1.0080e+03 2.0825e+02 1.0080e+03 2.1800e-05 3.4093e-04 4.9257e+05 3.3721e+05 1.0000e+00 0.0000e+00 1.5834e-02 9.8417e-01
1.0000e+00 1.0000e+07 3.8000e+02 4.2649e+02 1.0332e-07 3.5490e-01 6.4510e-01 2.0825e+02 1.0072e+03 2.0825e+02 1.0072e+03 2.1860e-05 2.9672e-04 5.1339e+05 3.3721e+05 1.0000e+00 0.0000e+00 1.5834e-02 9.8417e-01
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
DensityFun PhillipsBrineDensity 1e6 5e7 1e6 340 360 10 1.0
ViscosityFun PhillipsBrineViscosity 1.0
EnthalpyFun BrineEnthalpy 1e6 5e7 1e6 340 360 10 1.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
DensityFun SpanWagnerCO2Density 1e6 5e7 1e6 340 360 10
ViscosityFun FenghourCO2Viscosity 1e6 5e7 1e6 340 460 10
EnthalpyFun CO2Enthalpy 1e6 5e7 1e6 340 460 10