24#ifndef DUMUX_UPDATE_SOLID_VOLUME_FRACTION_HH
25#define DUMUX_UPDATE_SOLID_VOLUME_FRACTION_HH
35template<
class ElemSol,
class Problem,
class Element,
class Scv,
class Sol
idState>
37 const Problem& problem,
38 const Element& element,
40 SolidState& solidState,
41 const int solidVolFracOffset)
43 for (
int sCompIdx = solidState.numComponents-solidState.numInertComponents; sCompIdx < solidState.numComponents; ++sCompIdx)
45 const auto& sp = problem.spatialParams();
46 using SolidSystem =
typename SolidState::SolidSystem;
47 const auto inertVolumeFraction = sp.template inertVolumeFraction<SolidSystem>(element, scv, elemSol, sCompIdx);
48 solidState.setVolumeFraction(sCompIdx, inertVolumeFraction);
51 if (!(solidState.isInert()))
53 auto&& priVars = elemSol[scv.localDofIndex()];
54 for (
int sCompIdx = 0; sCompIdx < solidState.numComponents- solidState.numInertComponents; ++sCompIdx)
55 solidState.setVolumeFraction(sCompIdx, priVars[solidVolFracOffset + sCompIdx]);
void updateSolidVolumeFractions(const ElemSol &elemSol, const Problem &problem, const Element &element, const Scv &scv, SolidState &solidState, const int solidVolFracOffset)
update the solid volume fractions (inert and reacitve) and set them in the solidstate
Definition: updatesolidvolumefractions.hh:36
Adaption of the non-isothermal two-phase two-component flow model to problems with CO2.
Definition: adapt.hh:29