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:43
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
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.
Python wrapper for volume variables (finite volume schemes)
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.