45#ifndef DUMUX_PNM_2P_NC_MODEL_HH
46#define DUMUX_PNM_2P_NC_MODEL_HH
92template<
class TypeTag>
93struct VolumeVariables<TypeTag, TTag::PNMTwoPNC>
104 static constexpr bool enableIS = getPropValue<TypeTag, Properties::EnableBoxInterfaceSolver>();
112 template<
class BaseTraits,
class DT,
class EDM>
115 using DiffusionType = DT;
116 using EffectiveDiffusivityModel = EDM;
123template<
class TypeTag>
124struct PrimaryVariables<TypeTag, TTag::PNMTwoPNC>
127 using PrimaryVariablesVector = Dune::FieldVector<GetPropType<TypeTag, Properties::Scalar>,
135template<
class TypeTag>
136struct SpatialParams<TypeTag, TTag::PNMTwoPNC>
147template<
class TypeTag>
148struct AdvectionType<TypeTag, TTag::PNMTwoPNC>
160template<
class TypeTag>
164template<
class TypeTag>
165struct GridFluxVariablesCache<TypeTag, TTag::PNMTwoPNC>
168 static constexpr bool enableCache = getPropValue<TypeTag, Properties::EnableGridFluxVariablesCache>();
180template<
class TypeTag>
181struct FluxVariablesCache<TypeTag, TTag::PNMTwoPNC>
185template<
class TypeTag>
186struct MolecularDiffusionType<TypeTag, TTag::PNMTwoPNC>
198template<
class TypeTag>
199struct ModelTraits<TypeTag, TTag::PNMTwoPNCNI>
204 static_assert(FluidSystem::numPhases == 2,
"Only fluid systems with 2 fluid phases are supported by the 2p-nc model!");
206 getPropValue<TypeTag, Properties::UseMoles>(),
207 getPropValue<TypeTag, Properties::SetMoleFractionsForFirstPhase>(),
208 getPropValue<TypeTag, Properties::Formulation>(), getPropValue<TypeTag, Properties::ReplaceCompEqIdx>()>;
214template<
class TypeTag>
215struct VolumeVariables<TypeTag, TTag::PNMTwoPNCNI>
226 static constexpr bool enableIS = getPropValue<TypeTag, Properties::EnableBoxInterfaceSolver>();
235 template<
class BaseTraits,
class DT,
class EDM,
class ETCM>
238 using DiffusionType = DT;
239 using EffectiveDiffusivityModel = EDM;
240 using EffectiveThermalConductivityModel = ETCM;
247template<
class TypeTag>
251template<
class TypeTag>
252struct ThermalConductivityModel<TypeTag, TTag::PNMTwoPNCNI>
This file contains the data which is required to calculate the fluxes of the pore network model over ...
Adds I/O fields specific to non-isothermal models.
Definition: porousmediumflow/nonisothermal/iofields.hh:27
Hagen–Poiseuille-type flux law to describe the advective flux for pore-network models.
Definition: advection.hh:34
Implementation of capillary pressure curves for multiple pore body geometries.
Definition: multishapelocalrules.hh:43
Specialization of Fick's Law for the pore-network model.
Definition: flux/porenetwork/fickslaw.hh:30
Flux variable caches on a gridview.
Definition: porenetwork/2p/gridfluxvariablescache.hh:47
Single-phase flow throat transmissibility based on Patzek & Silin (2001) https://doi....
Definition: transmissibility1p.hh:114
The default class for spatial parameters for two-phase pore-network models.
Definition: porenetwork/2p/spatialparams.hh:227
Flux variables cache for the two-phase-flow PNM Store data required for flux calculation.
Definition: porenetwork/2p/fluxvariablescache.hh:29
Adds output fields specific to the PNM 2pnc model.
Definition: porenetwork/2pnc/iofields.hh:25
Contains the quantities which are constant within a finite volume in the two-phase n-components model...
Definition: porenetwork/2pnc/volumevariables.hh:28
A primary variable vector with a state to allow variable switches.
Definition: switchableprimaryvariables.hh:28
Effective thermal conductivity after Somerton.
Definition: somerton.hh:46
Class that computes the nonwetting saturation in an scv from the saturation at the global degree of f...
Definition: saturationreconstruction.hh:31
Defines all properties used in Dumux.
This file contains the data which is required to calculate diffusive mass fluxes due to molecular dif...
typename GetProp< TypeTag, Property >::type GetPropType
get the type alias defined in the property
Definition: propertysystem.hh:296
typename GetPropOr< TypeTag, Property, T >::type GetPropTypeOr
get the type alias defined in the property or the type T if the property is undefined
Definition: propertysystem.hh:303
Implementation of capillary pressure curves for multiple pore body geometries.
The energy balance equation for a porous solid.
Definition: common/properties.hh:26
Flux variables cache for the two-phase-flow PNM.
Global flux variable cache.
The two-phase spatial parameters for pore-network models.
Defines common properties required for all pore-network models.
Adaption of the fully implicit scheme to the two-phase n-component fully implicit model.
Element-wise calculation of the local residual for problems using compositional fully implicit model.
Defines the indices used by the non-isothermal two-phase two-component model.
Adds I/O fields specific to non-isothermal models.
The implicit non-isothermal model.
Adds I/O fields specific to the tracer model.
Python wrapper for volume variables (finite volume schemes)
An empty flux variables cache.
Definition: fluxvariablescaching.hh:35
Definition: transmissibility2p.hh:165
Flux variable caches traits.
Definition: porenetwork/2p/gridfluxvariablescache.hh:29
Definition: transmissibility2p.hh:57
Specifies a number properties of non-isothermal porous medium flow models based on the specifics of a...
Definition: porousmediumflow/nonisothermal/model.hh:76
Definition: porenetwork/2pnc/model.hh:81
std::tuple< PoreNetworkModel, TwoPNC > InheritsFrom
Definition: porenetwork/2pnc/model.hh:81
The type tags for the corresponding non-isothermal problems.
Definition: porenetwork/2pnc/model.hh:84
std::tuple< PNMTwoPNC > InheritsFrom
Definition: porenetwork/2pnc/model.hh:84
Specifies a number properties of two-phase n-component models.
Definition: porousmediumflow/2pnc/model.hh:114
Traits class for the two-phase model.
Definition: porousmediumflow/2p/model.hh:107
A primary variable vector with a state to allow variable switches.
Implementation of the single-phase transmissibility laws for throats.
Implementation of the transmissibility laws for throats.