44#ifndef DUMUX_PNM1PNC_MODEL_HH
45#define DUMUX_PNM1PNC_MODEL_HH
89template<
class TypeTag>
90struct SpatialParams<TypeTag, TTag::PNMOnePNC>
100template<
class TypeTag>
101struct AdvectionType<TypeTag, TTag::PNMOnePNC>
111template<
class TypeTag>
112struct ReplaceCompEqIdx<TypeTag, TTag::PNMOnePNC>
117 static constexpr auto value = FluidSystem::numComponents;
121template<
class TypeTag>
122struct MolecularDiffusionType<TypeTag, TTag::PNMOnePNC>
132template<
class TypeTag>
133struct VolumeVariables<TypeTag, TTag::PNMOnePNC>
143 static_assert(FSY::numComponents == MT::numFluidComponents(),
"Number of components mismatch between model and fluid system");
144 static_assert(FST::numComponents == MT::numFluidComponents(),
"Number of components mismatch between model and fluid state");
145 static_assert(FSY::numPhases == MT::numFluidPhases(),
"Number of phases mismatch between model and fluid system");
146 static_assert(FST::numPhases == MT::numFluidPhases(),
"Number of phases mismatch between model and fluid state");
151 template<
class BaseTraits,
class DT,
class EDM>
154 using DiffusionType = DT;
155 using EffectiveDiffusivityModel = EDM;
163template<
class TypeTag>
164struct IOFields<TypeTag, TTag::PNMOnePNC>
167template<
class TypeTag>
168struct UseMoles<TypeTag, TTag::PNMOnePNC> {
static constexpr bool value =
true; };
175template<
class TypeTag>
176struct ModelTraits<TypeTag, TTag::PNMOnePNCNI>
183 getPropValue<TypeTag, Properties::EnableCompositionalDispersion>(),
184 getPropValue<TypeTag, Properties::EnableThermalDispersion>(),
185 getPropValue<TypeTag, Properties::ReplaceCompEqIdx>(),
186 CompositionalDispersionModel>;
191template<
class TypeTag>
192struct VolumeVariables<TypeTag, TTag::PNMOnePNCNI>
202 static_assert(FSY::numComponents == MT::numFluidComponents(),
"Number of components mismatch between model and fluid system");
203 static_assert(FST::numComponents == MT::numFluidComponents(),
"Number of components mismatch between model and fluid state");
204 static_assert(FSY::numPhases == MT::numFluidPhases(),
"Number of phases mismatch between model and fluid system");
205 static_assert(FST::numPhases == MT::numFluidPhases(),
"Number of phases mismatch between model and fluid state");
211 template<
class BaseTraits,
class DT,
class EDM,
class ETCM>
214 using DiffusionType = DT;
215 using EffectiveDiffusivityModel = EDM;
216 using EffectiveThermalConductivityModel = ETCM;
223template<
class TypeTag>
224struct IOFields<TypeTag, TTag::PNMOnePNCNI>
233template<
class TypeTag>
234struct ThermalConductivityModel<TypeTag, TTag::PNMOnePNCNI>
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
The default class for spatial parameters for single-phase pore-network models.
Definition: porenetwork/1p/spatialparams.hh:44
Adds output fields specific to the PNM 1pnc model.
Definition: porenetwork/1pnc/iofields.hh:26
Contains the quantities which are are constant within a finite volume in the one-phase,...
Definition: porenetwork/1pnc/volumevariables.hh:32
Specialization of Fick's Law for the pore-network model.
Definition: flux/porenetwork/fickslaw.hh:30
Single-phase flow throat transmissibility based on Patzek & Silin (2001) https://doi....
Definition: transmissibility1p.hh:114
Effective thermal conductivity based on weighted arithmetic average.
Definition: thermalconductivityaverage.hh:49
Defines all properties used in Dumux.
Relation for the effective diffusion coefficient after Millington and Quirk.
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
Represents all relevant thermodynamic quantities of a multi-phase fluid system assuming immiscibility...
The energy balance equation for a porous solid.
Definition: common/properties.hh:26
A one-phase-flow, isothermal pore-network model using the fully implicit scheme.
The spatial parameters for single-phase pore-network models.
Defines common properties required for all pore-network models.
Adds I/O fields specific to the OnePNC model.
Adaption of the fully implicit model to the one-phase n-component flow 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.
Volume variables for the hyperelasticity model.
Specifies a number properties of models that consider a single-phase with multiple components.
Definition: porousmediumflow/1pnc/model.hh:81
Traits class for the volume variables of the single-phase model.
Definition: porousmediumflow/1p/model.hh:83
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/1pnc/model.hh:77
std::tuple< PoreNetworkModel, OnePNC > InheritsFrom
Definition: porenetwork/1pnc/model.hh:77
The type tags for the corresponding non-isothermal problems.
Definition: porenetwork/1pnc/model.hh:80
std::tuple< PNMOnePNC > InheritsFrom
Definition: porenetwork/1pnc/model.hh:80
Implementation of the single-phase transmissibility laws for throats.