move assignment of MICP output into MICPContainer

This commit is contained in:
Arne Morten Kvarving 2025-02-07 09:15:10 +01:00
parent 4c261ba880
commit 66d5bce0d1
3 changed files with 31 additions and 20 deletions

View File

@ -47,6 +47,22 @@ allocate(const unsigned bufferSize)
allocated_ = true;
}
template<class Scalar>
void MICPContainer<Scalar>::
assign(const unsigned globalDofIdx,
const Scalar microbialConcentration,
const Scalar oxygenConcentration,
const Scalar ureaConcentration,
const Scalar biofilmConcentration,
const Scalar calciteConcentration)
{
cMicrobes_[globalDofIdx] = microbialConcentration;
cOxygen_[globalDofIdx] = oxygenConcentration;
cUrea_[globalDofIdx] = ureaConcentration;
cBiofilm_[globalDofIdx] = biofilmConcentration;
cCalcite_[globalDofIdx] = calciteConcentration;
}
template<class Scalar>
void MICPContainer<Scalar>::
outputRestart(data::Solution& sol)

View File

@ -40,6 +40,13 @@ class MICPContainer
public:
void allocate(const unsigned bufferSize);
void assign(const unsigned globalDofIdx,
const Scalar microbialConcentration,
const Scalar oxygenConcentration,
const Scalar ureaConcentration,
const Scalar biofilmConcentration,
const Scalar calciteConcentration);
void outputRestart(data::Solution& sol);
bool allocated() const

View File

@ -475,26 +475,14 @@ public:
this->mFracCo2_[globalDofIdx] = stdVolCo2 * rhoCO2 / stdMassTotal;
}
if (!this->micpC_.cMicrobes_.empty()) {
this->micpC_.cMicrobes_[globalDofIdx] = intQuants.microbialConcentration().value();
}
if (!this->micpC_.cOxygen_.empty()) {
this->micpC_.cOxygen_[globalDofIdx] = intQuants.oxygenConcentration().value();
}
if (!this->micpC_.cUrea_.empty()) {
this->micpC_.cUrea_[globalDofIdx] = 10
* intQuants.ureaConcentration()
.value(); // Reescaling back the urea concentration (see WellInterface_impl.hpp)
}
if (!this->micpC_.cBiofilm_.empty()) {
this->micpC_.cBiofilm_[globalDofIdx] = intQuants.biofilmConcentration().value();
}
if (!this->micpC_.cCalcite_.empty()) {
this->micpC_.cCalcite_[globalDofIdx] = intQuants.calciteConcentration().value();
if (this->micpC_.allocated()) {
this->micpC_.assign(globalDofIdx,
intQuants.microbialConcentration().value(),
intQuants.oxygenConcentration().value(),
// Rescaling back the urea concentration (see WellInterface_impl.hpp)
10 * intQuants.ureaConcentration().value(),
intQuants.biofilmConcentration().value(),
intQuants.calciteConcentration().value());
}
if (!this->bubblePointPressure_.empty()) {