move assignment of mass fractions into ExtboContainer

This commit is contained in:
Arne Morten Kvarving 2025-02-07 14:19:00 +01:00
parent 66ad8bc10a
commit 72245590f2
3 changed files with 21 additions and 5 deletions

View File

@ -48,6 +48,18 @@ allocate(const unsigned bufferSize)
allocated_ = true;
}
template<class Scalar>
void ExtboContainer<Scalar>::
assignMassFractions(const unsigned globalDofIdx,
const Scalar gas,
const Scalar oil,
const Scalar co2)
{
this->mFracGas_[globalDofIdx] = gas;
this->mFracOil_[globalDofIdx] = oil;
this->mFracCo2_[globalDofIdx] = co2;
}
template<class Scalar>
void ExtboContainer<Scalar>::
assignVolumes(const unsigned globalDofIdx,

View File

@ -40,6 +40,11 @@ class ExtboContainer
public:
void allocate(const unsigned bufferSize);
void assignMassFractions(const unsigned globalDofIdx,
const Scalar gas,
const Scalar oil,
const Scalar co2);
void assignVolumes(const unsigned globalDofIdx,
const Scalar xVolume,
const Scalar yVolume);

View File

@ -449,9 +449,7 @@ public:
intQuants.yVolume().value());
this->extboC_.assignZFraction(globalDofIdx,
intQuants.zFraction().value());
}
if (!this->extboC_.mFracCo2_.empty()) {
const Scalar stdVolOil = getValue(fs.saturation(oilPhaseIdx)) * getValue(fs.invB(oilPhaseIdx))
+ getValue(fs.saturation(gasPhaseIdx)) * getValue(fs.invB(gasPhaseIdx)) * getValue(fs.Rv());
const Scalar stdVolGas = getValue(fs.saturation(gasPhaseIdx)) * getValue(fs.invB(gasPhaseIdx))
@ -466,9 +464,10 @@ public:
const Scalar rhoG = FluidSystem::referenceDensity(gasPhaseIdx, pvtRegionIdx);
const Scalar rhoCO2 = intQuants.zRefDensity();
const Scalar stdMassTotal = 1.0e-10 + stdVolOil * rhoO + stdVolGas * rhoG + stdVolCo2 * rhoCO2;
this->extboC_.mFracOil_[globalDofIdx] = stdVolOil * rhoO / stdMassTotal;
this->extboC_.mFracGas_[globalDofIdx] = stdVolGas * rhoG / stdMassTotal;
this->extboC_.mFracCo2_[globalDofIdx] = stdVolCo2 * rhoCO2 / stdMassTotal;
this->extboC_.assignMassFractions(globalDofIdx,
stdVolGas * rhoG / stdMassTotal,
stdVolOil * rhoO / stdMassTotal,
stdVolCo2 * rhoCO2 / stdMassTotal);
}
if (this->micpC_.allocated()) {