14#ifndef DUMUX_MINERALIZATION_IO_FIELDS_HH
15#define DUMUX_MINERALIZATION_IO_FIELDS_HH
25template<
class NonMineralizationIOFields>
29 template <
class OutputModule>
32 using SolidSystem =
typename OutputModule::VolumeVariables::SolidSystem;
35 NonMineralizationIOFields::initOutputModule(out);
38 for (
int i = 0; i < SolidSystem::numComponents - SolidSystem::numInertComponents; ++i)
40 out.addVolumeVariable([i](
const auto& v){
return v.solidVolumeFraction(i); },
41 IOName::solidVolumeFraction<SolidSystem>(i));
45 template <
class ModelTraits,
class Flu
idSystem,
class Sol
idSystem>
48 static constexpr int nonMinNumEq = ModelTraits::numEq() - ModelTraits::numSolidComps() + ModelTraits::numInertSolidComps();
50 if (pvIdx < nonMinNumEq)
51 return NonMineralizationIOFields::template primaryVariableName<ModelTraits, FluidSystem, SolidSystem>(pvIdx, state);
53 return IOName::solidVolumeFraction<SolidSystem>(pvIdx - nonMinNumEq);
Adds I/O fields specific to a NCMin model.
Definition: porousmediumflow/mineralization/iofields.hh:27
static std::string primaryVariableName(int pvIdx, int state=0)
Definition: porousmediumflow/mineralization/iofields.hh:46
static void initOutputModule(OutputModule &out)
Definition: porousmediumflow/mineralization/iofields.hh:30
A collection of input/output field names for common physical quantities.