12#ifndef DUMUX_UPDATE_SOLID_VOLUME_FRACTION_HH
13#define DUMUX_UPDATE_SOLID_VOLUME_FRACTION_HH
23template<
class ElemSol,
class Problem,
class Element,
class Scv,
class Sol
idState>
25 const Problem& problem,
26 const Element& element,
28 SolidState& solidState,
29 const int solidVolFracOffset)
31 for (
int sCompIdx = solidState.numComponents-solidState.numInertComponents; sCompIdx < solidState.numComponents; ++sCompIdx)
33 const auto& sp = problem.spatialParams();
34 using SolidSystem =
typename SolidState::SolidSystem;
35 const auto inertVolumeFraction = sp.template inertVolumeFraction<SolidSystem>(element, scv, elemSol, sCompIdx);
36 solidState.setVolumeFraction(sCompIdx, inertVolumeFraction);
39 if (!(solidState.isInert()))
41 auto&& priVars = elemSol[scv.localDofIndex()];
42 for (
int sCompIdx = 0; sCompIdx < solidState.numComponents- solidState.numInertComponents; ++sCompIdx)
43 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:24