24#ifndef DUMUX_PNM_TWOP_IO_FIELDS_HH
25#define DUMUX_PNM_TWOP_IO_FIELDS_HH
39 template <
class OutputModule>
44 using VolumeVariables =
typename OutputModule::VolumeVariables;
45 using FS =
typename VolumeVariables::FluidSystem;
49 out.addFluxVariable([](
const auto& fluxVars,
const auto& fluxVarsCache)
50 {
return fluxVarsCache.pcEntry(); },
"pcEntry");
52 out.addFluxVariable([](
const auto& fluxVars,
const auto& fluxVarsCache)
53 {
return fluxVarsCache.transmissibility(FS::phase0Idx); },
"transmissibilityW");
55 out.addFluxVariable([](
const auto& fluxVars,
const auto& fluxVarsCache)
56 {
return fluxVarsCache.transmissibility(FS::phase1Idx); },
"transmissibilityN");
58 auto volumeFluxW = [](
const auto& fluxVars,
const auto& fluxVarsCache)
60 auto upwindTerm = [](
const auto& volVars) {
return volVars.mobility(FS::phase0Idx); };
62 return abs(fluxVars.advectiveFlux(FS::phase0Idx, upwindTerm));
64 out.addFluxVariable(volumeFluxW,
"volumeFluxW");
66 auto volumeFluxN = [](
const auto& fluxVars,
const auto& fluxVarsCache)
68 auto upwindTerm = [](
const auto& volVars) {
return volVars.mobility(FS::phase1Idx); };
70 return abs(fluxVars.advectiveFlux(FS::phase1Idx, upwindTerm));
72 out.addFluxVariable(volumeFluxN,
"volumeFluxN");
75 template <
class ModelTraits,
class Flu
idSystem,
class Sol
idSystem =
void>
78 return TwoPIOFields::template primaryVariableName<ModelTraits, FluidSystem, SolidSystem>(pvIdx, state);
Definition: discretization/porenetwork/fvelementgeometry.hh:33
Adds output fields specific to the PNM 2p model.
Definition: porenetwork/2p/iofields.hh:37
static std::string primaryVariableName(int pvIdx, int state=0)
Definition: porenetwork/2p/iofields.hh:76
static void initOutputModule(OutputModule &out)
Definition: porenetwork/2p/iofields.hh:40
static void initOutputModule(OutputModule &out)
Definition: porenetwork/common/iofields.hh:40
static void initOutputModule(OutputModule &out)
Definition: porousmediumflow/2p/iofields.hh:42
Adds I/O fields specific to the two-phase model.