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>
152 struct NCTraits :
public BaseTraits
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>
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>
212 struct NCNITraits :
public BaseTraits
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...
constexpr auto getPropValue()
get the value data member of a property
Definition propertysystem.hh:310
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...
Type tag for numeric models.
Definition grid.hh:24
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.
Adds output fields specific to the PNM 1pnc model.
Contains the quantities which are are constant within a finite volume in the one-phase,...
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.
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
PoreNetwork::CreepingFlow< Scalar, TransmissibilityLaw > type
Definition porenetwork/1pnc/model.hh:107
PoreNetwork::OnePNCIOFields< GetPropType< TypeTag, Properties::FluidSystem > > type
Definition porenetwork/1pnc/model.hh:165
EnergyIOFields< IsothermalFields > type
Definition porenetwork/1pnc/model.hh:230
PorousMediumFlowNIModelTraits< IsothermalTraits, ThermalDispersionModel > type
Definition porenetwork/1pnc/model.hh:188
PoreNetwork::PNMFicksLaw< Scalar, ModelTraits::numFluidPhases(), ModelTraits::numFluidComponents()> type
Definition porenetwork/1pnc/model.hh:128
static constexpr auto value
Definition porenetwork/1pnc/model.hh:117
PoreNetwork::OnePDefaultSpatialParams< GridGeometry, Scalar > type
Definition porenetwork/1pnc/model.hh:96
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
ThermalConductivityAverage< GetPropType< TypeTag, Properties::Scalar > > type
Definition porenetwork/1pnc/model.hh:236
static constexpr bool value
Definition porenetwork/1pnc/model.hh:168
PoreNetwork::OnePNCVolumeVariables< NCTraits< BaseTraits, DT, EDM > > type
Definition porenetwork/1pnc/model.hh:159
PoreNetwork::OnePNCVolumeVariables< NCNITraits< BaseTraits, DT, EDM, ETCM > > type
Definition porenetwork/1pnc/model.hh:220
Implementation of the single-phase transmissibility laws for throats.