26#ifndef DUMUX_MINERALIZATION_IO_FIELDS_HH
27#define DUMUX_MINERALIZATION_IO_FIELDS_HH
37template<
class NonMineralizationIOFields>
41 template <
class OutputModule>
44 using SolidSystem =
typename OutputModule::VolumeVariables::SolidSystem;
47 NonMineralizationIOFields::initOutputModule(out);
50 for (
int i = 0; i < SolidSystem::numComponents - SolidSystem::numInertComponents; ++i)
52 out.addVolumeVariable([i](
const auto& v){
return v.solidVolumeFraction(i); },
53 IOName::solidVolumeFraction<SolidSystem>(i));
57 template <
class ModelTraits,
class Flu
idSystem,
class Sol
idSystem>
60 static constexpr int nonMinNumEq = ModelTraits::numEq() - ModelTraits::numSolidComps() + ModelTraits::numInertSolidComps();
62 if (pvIdx < nonMinNumEq)
63 return NonMineralizationIOFields::template primaryVariableName<ModelTraits, FluidSystem, SolidSystem>(pvIdx, state);
65 return IOName::solidVolumeFraction<SolidSystem>(pvIdx - nonMinNumEq);
A collection of input/output field names for common physical quantities.
Adds I/O fields specific to a NCMin model.
Definition: porousmediumflow/mineralization/iofields.hh:39
static std::string primaryVariableName(int pvIdx, int state=0)
Definition: porousmediumflow/mineralization/iofields.hh:58
static void initOutputModule(OutputModule &out)
Definition: porousmediumflow/mineralization/iofields.hh:42