www.mooseframework.org
Public Member Functions | Protected Attributes | List of all members
PorousFlowDependencies Class Reference

Holds the PorousFlow dependencies of kernels, auxkernels, materials, etc. More...

#include <PorousFlowDependencies.h>

Inheritance diagram for PorousFlowDependencies:
[legend]

Public Member Functions

 PorousFlowDependencies ()
 

Protected Attributes

DependencyResolver< std::string > _deps
 All dependencies of kernels, auxkernels, materials, etc, are stored in _dependencies. More...
 

Detailed Description

Holds the PorousFlow dependencies of kernels, auxkernels, materials, etc.

For instance the Kernel PorousFlowAdvectiveFlux depends on the Kernel PorousFlowDarcyBase, and the Materials PorousFlowMassFraction (nodal version) and PorousFlowRelativePermeability (the nodal version).

The main purpose of this class is to enable Actions to easily determine which Materials they should add, given that they have to add certain Kernels and AuxKernels.

It is envisaged that as more Kernels, etc, are added to PorousFlow, then the dependencies constained in this class will be updated to enable Actions to work efficiently

Definition at line 29 of file PorousFlowDependencies.h.

Constructor & Destructor Documentation

◆ PorousFlowDependencies()

PorousFlowDependencies::PorousFlowDependencies ( )

Definition at line 12 of file PorousFlowDependencies.C.

13 {
14  // Action dependencies
15  _deps.insertDependency("PorousFlowActionBase", "PorousFlowDarcyVelocityComponent");
16 
17  _deps.insertDependency("PorousFlowSinglePhaseBase", "PorousFlowActionBase");
18  _deps.insertDependency("PorousFlowSinglePhaseBase", "PorousFlowEffectiveStressCoupling");
19  _deps.insertDependency("PorousFlowSinglePhaseBase", "PorousFlowHeatConduction");
20  _deps.insertDependency("PorousFlowSinglePhaseBase", "PorousFlowEnergyTimeDerivative");
21  _deps.insertDependency("PorousFlowSinglePhaseBase", "PorousFlowHeatVolumetricExpansion");
22 
23  _deps.insertDependency("PorousFlowFullySaturated", "PorousFlowSinglePhaseBase");
24  _deps.insertDependency("PorousFlowFullySaturated", "PorousFlowFullySaturatedDarcyFlow");
25  _deps.insertDependency("PorousFlowFullySaturated", "PorousFlowMassTimeDerivative");
26  _deps.insertDependency("PorousFlowFullySaturated", "PorousFlowMassVolumetricExpansion");
27  _deps.insertDependency("PorousFlowFullySaturated", "PorousFlowFullySaturatedHeatAdvection");
28 
29  _deps.insertDependency("PorousFlowBasicTHM", "PorousFlowSinglePhaseBase");
30  _deps.insertDependency("PorousFlowBasicTHM", "PorousFlowFullySaturatedDarcyBase");
31  _deps.insertDependency("PorousFlowBasicTHM", "PorousFlowFullySaturatedMassTimeDerivative");
32  _deps.insertDependency("PorousFlowBasicTHM", "PorousFlowFullySaturatedHeatAdvection");
33 
34  _deps.insertDependency("PorousFlowUnsaturated", "PorousFlowSinglePhaseBase");
35  _deps.insertDependency("PorousFlowUnsaturated", "PorousFlowAdvectiveFlux");
36  _deps.insertDependency("PorousFlowUnsaturated", "PorousFlowMassTimeDerivative");
37  _deps.insertDependency("PorousFlowUnsaturated", "PorousFlowMassVolumetricExpansion");
38  _deps.insertDependency("PorousFlowUnsaturated", "PorousFlowHeatAdvection");
39 
40  // AuxKernel dependencies
41  _deps.insertDependency("PorousFlowDarcyVelocityComponent", "relative_permeability_qp");
42  _deps.insertDependency("PorousFlowDarcyVelocityComponent", "density_qp");
43  _deps.insertDependency("PorousFlowDarcyVelocityComponent", "viscosity_qp");
44  _deps.insertDependency("PorousFlowDarcyVelocityComponent", "permeability_qp");
45  _deps.insertDependency("PorousFlowDarcyVelocityComponent", "pressure_saturation_qp");
46 
47  _deps.insertDependency("PorousFlowDarcyVelocityComponentLowerDimensional",
48  "PorousFlowDarcyVelocityComponent");
49 
50  _deps.insertDependency("PorousFlowPropertyAux", "pressure_saturation_qp");
51  _deps.insertDependency("PorousFlowPropertyAux", "temperature_qp");
52  _deps.insertDependency("PorousFlowPropertyAux", "fluid_properties_qp");
53  _deps.insertDependency("PorousFlowPropertyAux", "mass_fraction_qp");
54  _deps.insertDependency("PorousFlowPropertyAux", "relative_permeability_qp");
55  _deps.insertDependency("PorousFlowPropertyAux", "chemistry_qp");
56  _deps.insertDependency("PorousFlowPropertyAux", "mineral_qp");
57 
58  // Kernel dependencies
59  _deps.insertDependency("PorousFlowAdvectiveFlux", "PorousFlowDarcyBase");
60  _deps.insertDependency("PorousFlowAdvectiveFlux", "mass_fraction_nodal");
61  _deps.insertDependency("PorousFlowAdvectiveFlux", "relative_permeability_nodal");
62 
63  _deps.insertDependency("PorousFlowBasicAdvection", "darcy_velocity_qp");
64 
65  _deps.insertDependency("PorousFlowDarcyBase", "permeability_qp");
66  _deps.insertDependency("PorousFlowDarcyBase", "density_qp");
67  _deps.insertDependency("PorousFlowDarcyBase", "density_nodal");
68  _deps.insertDependency("PorousFlowDarcyBase", "viscosity_nodal");
69  _deps.insertDependency("PorousFlowDarcyBase", "pressure_saturation_qp");
70 
71  _deps.insertDependency("PorousFlowDesorpedMassTimeDerivative", "porosity_qp");
72 
73  _deps.insertDependency("PorousFlowDesorpedMassVolumetricExpansion", "porosity_qp");
74  _deps.insertDependency("PorousFlowDesorpedMassVolumetricExpansion", "volumetric_strain_qp");
75 
76  _deps.insertDependency("PorousFlowDispersiveFlux", "density_qp");
77  _deps.insertDependency("PorousFlowDispersiveFlux", "viscosity_qp");
78  _deps.insertDependency("PorousFlowDispersiveFlux", "mass_fraction_qp");
79  _deps.insertDependency("PorousFlowDispersiveFlux", "porosity_qp");
80  _deps.insertDependency("PorousFlowDispersiveFlux", "diffusivity_qp");
81  _deps.insertDependency("PorousFlowDispersiveFlux", "relative_permeability_qp");
82  _deps.insertDependency("PorousFlowDispersiveFlux", "permeability_qp");
83  _deps.insertDependency("PorousFlowDispersiveFlux", "pressure_saturation_qp");
84 
85  _deps.insertDependency("PorousFlowEffectiveStressCoupling", "effective_pressure_qp");
86 
87  _deps.insertDependency("PorousFlowEnergyTimeDerivative", "porosity_nodal");
88  _deps.insertDependency("PorousFlowEnergyTimeDerivative", "nearest_qp_nodal");
89  _deps.insertDependency("PorousFlowEnergyTimeDerivative", "matrix_internal_energy_nodal");
90  _deps.insertDependency("PorousFlowEnergyTimeDerivative", "density_nodal");
91  _deps.insertDependency("PorousFlowEnergyTimeDerivative", "internal_energy_nodal");
92  _deps.insertDependency("PorousFlowEnergyTimeDerivative", "pressure_saturation_nodal");
93 
94  _deps.insertDependency("PorousFlowFullySaturatedDarcyBase", "permeability_qp");
95  _deps.insertDependency("PorousFlowFullySaturatedDarcyBase", "density_qp");
96  _deps.insertDependency("PorousFlowFullySaturatedDarcyBase", "viscosity_qp");
97  _deps.insertDependency("PorousFlowFullySaturatedDarcyBase", "pressure_saturation_qp");
98 
99  _deps.insertDependency("PorousFlowFullySaturatedDarcyFlow", "PorousFlowFullySaturatedDarcyBase");
100  _deps.insertDependency("PorousFlowFullySaturatedDarcyFlow", "mass_fraction_qp");
101 
102  _deps.insertDependency("PorousFlowFullySaturatedHeatAdvection",
103  "PorousFlowFullySaturatedDarcyBase");
104  _deps.insertDependency("PorousFlowFullySaturatedHeatAdvection", "enthalpy_qp");
105 
106  _deps.insertDependency("PorousFlowFullySaturatedMassTimeDerivative", "biot_modulus_qp");
107  _deps.insertDependency("PorousFlowFullySaturatedMassTimeDerivative", "thermal_expansion_qp");
108  _deps.insertDependency("PorousFlowFullySaturatedMassTimeDerivative", "density_qp");
109  _deps.insertDependency("PorousFlowFullySaturatedMassTimeDerivative", "pressure_saturation_qp");
110  _deps.insertDependency("PorousFlowFullySaturatedMassTimeDerivative", "temperature_qp");
111  _deps.insertDependency("PorousFlowFullySaturatedMassTimeDerivative", "volumetric_strain_qp");
112 
113  _deps.insertDependency("PorousFlowHeatAdvection", "PorousFlowDarcyBase");
114  _deps.insertDependency("PorousFlowHeatAdvection", "enthalpy_nodal");
115  _deps.insertDependency("PorousFlowHeatAdvection", "relative_permeability_nodal");
116 
117  _deps.insertDependency("PorousFlowHeatConduction", "thermal_conductivity_qp");
118  _deps.insertDependency("PorousFlowHeatConduction", "temperature_qp");
119 
120  _deps.insertDependency("PorousFlowHeatVolumetricExpansion", "porosity_nodal");
121  _deps.insertDependency("PorousFlowHeatVolumetricExpansion", "nearest_qp_nodal");
122  _deps.insertDependency("PorousFlowHeatVolumetricExpansion", "matrix_internal_energy_nodal");
123  _deps.insertDependency("PorousFlowHeatVolumetricExpansion", "density_nodal");
124  _deps.insertDependency("PorousFlowHeatVolumetricExpansion", "internal_energy_nodal");
125  _deps.insertDependency("PorousFlowHeatVolumetricExpansion", "pressure_saturation_nodal");
126  _deps.insertDependency("PorousFlowHeatVolumetricExpansion", "volumetric_strain_qp");
127 
128  _deps.insertDependency("PorousFlowMassRadioactiveDecay", "porosity_nodal");
129  _deps.insertDependency("PorousFlowMassRadioactiveDecay", "nearest_qp_nodal");
130  _deps.insertDependency("PorousFlowMassRadioactiveDecay", "density_nodal");
131  _deps.insertDependency("PorousFlowMassRadioactiveDecay", "pressure_saturation_nodal");
132  _deps.insertDependency("PorousFlowMassRadioactiveDecay", "mass_fraction_nodal");
133 
134  _deps.insertDependency("PorousFlowMassTimeDerivative", "porosity_nodal");
135  _deps.insertDependency("PorousFlowMassTimeDerivative", "nearest_qp_nodal");
136  _deps.insertDependency("PorousFlowMassTimeDerivative", "density_nodal");
137  _deps.insertDependency("PorousFlowMassTimeDerivative", "pressure_saturation_nodal");
138  _deps.insertDependency("PorousFlowMassTimeDerivative", "mass_fraction_nodal");
139 
140  _deps.insertDependency("PorousFlowMassVolumetricExpansion", "porosity_nodal");
141  _deps.insertDependency("PorousFlowMassVolumetricExpansion", "nearest_qp_nodal");
142  _deps.insertDependency("PorousFlowMassVolumetricExpansion", "density_nodal");
143  _deps.insertDependency("PorousFlowMassVolumetricExpansion", "pressure_saturation_nodal");
144  _deps.insertDependency("PorousFlowMassVolumetricExpansion", "mass_fraction_nodal");
145  _deps.insertDependency("PorousFlowMassVolumetricExpansion", "volumetric_strain_qp");
146 
147  _deps.insertDependency("PorousFlowPlasticHeatEnergy", "PlasticHeatEnergy");
148  _deps.insertDependency("PorousFlowPlasticHeatEnergy", "nearest_qp_nodal");
149  _deps.insertDependency("PorousFlowPlasticHeatEnergy", "porosity_nodal");
150 
151  _deps.insertDependency("PorousFlowPreDis", "pressure_saturation_nodal");
152  _deps.insertDependency("PorousFlowPreDis", "porosity_nodal");
153  _deps.insertDependency("PorousFlowPreDis", "chemistry_nodal");
154  _deps.insertDependency("PorousFlowPreDis", "mineral_nodal");
155 
156  // Postprocessor dependencies
157  _deps.insertDependency("PorousFlowFluidMass", "porosity_nodal");
158  _deps.insertDependency("PorousFlowFluidMass", "density_nodal");
159  _deps.insertDependency("PorousFlowFluidMass", "mass_fraction_nodal");
160  _deps.insertDependency("PorousFlowFluidMass", "pressure_saturation_nodal");
161  _deps.insertDependency("PorousFlowHeatEnergy", "porosity_nodal");
162  _deps.insertDependency("PorousFlowHeatEnergy", "matrix_internal_energy_nodal");
163  _deps.insertDependency("PorousFlowHeatEnergy", "density_nodal");
164  _deps.insertDependency("PorousFlowHeatEnergy", "internal_energy_nodal");
165  _deps.insertDependency("PorousFlowHeatEnergy", "pressure_saturation_nodal");
166 
167  // Material dependencies
168  _deps.insertDependency("density_qp", "fluid_properties_qp");
169  _deps.insertDependency("density_nodal", "fluid_properties_nodal");
170  _deps.insertDependency("viscosity_qp", "fluid_properties_qp");
171  _deps.insertDependency("viscosity_nodal", "fluid_properties_nodal");
172  _deps.insertDependency("internal_energy_qp", "fluid_properties_qp");
173  _deps.insertDependency("internal_energy_nodal", "fluid_properties_nodal");
174  _deps.insertDependency("enthalpy_qp", "fluid_properties_qp");
175  _deps.insertDependency("enthalpy_nodal", "fluid_properties_nodal");
176 
177  _deps.insertDependency("darcy_velocity_qp", "permeability_qp");
178  _deps.insertDependency("darcy_velocity_qp", "fluid_properties_qp");
179  _deps.insertDependency("darcy_velocity_qp", "relative_permeability_qp");
180  _deps.insertDependency("darcy_velocity_qp", "pressure_saturation_qp");
181 
182  _deps.insertDependency("chemistry_nodal", "pressure_saturation_nodal");
183  _deps.insertDependency("chemistry_nodal", "porosity_nodal");
184  _deps.insertDependency("chemistry_nodal", "temperature_nodal");
185  _deps.insertDependency("chemistry_qp", "pressure_saturation_qp");
186  _deps.insertDependency("chemistry_qp", "porosity_qp");
187  _deps.insertDependency("chemistry_qp", "temperature_qp");
188 
189  _deps.insertDependency("mineral_nodal", "pressure_saturation_nodal");
190  _deps.insertDependency("mineral_nodal", "porosity_nodal");
191  _deps.insertDependency("mineral_nodal", "chemistry_nodal");
192  _deps.insertDependency("mineral_qp", "pressure_saturation_qp");
193  _deps.insertDependency("mineral_qp", "porosity_qp");
194  _deps.insertDependency("mineral_qp", "chemistry_qp");
195 
196  _deps.insertDependency("biot_modulus_nodal", "porosity_nodal");
197  _deps.insertDependency("biot_modulus_qp", "porosity_qp");
198 
199  _deps.insertDependency("thermal_expansion_nodal", "porosity_nodal");
200  _deps.insertDependency("thermal_expansion_qp", "porosity_qp");
201 
202  _deps.insertDependency("fluid_properties_nodal", "pressure_saturation_nodal");
203  _deps.insertDependency("fluid_properties_nodal", "temperature_nodal");
204  _deps.insertDependency("fluid_properties_nodal", "fluid_state_nodal");
205  _deps.insertDependency("fluid_properties_qp", "pressure_saturation_qp");
206  _deps.insertDependency("fluid_properties_qp", "temperature_qp");
207  _deps.insertDependency("fluid_properties_qp", "fluid_state_qp");
208 
209  _deps.insertDependency("mass_fraction_nodal", "fluid_state_nodal");
210  _deps.insertDependency("mass_fraction_qp", "fluid_state_qp");
211 
212  _deps.insertDependency("fluid_state_nodal", "temperature_nodal");
213  _deps.insertDependency("fluid_state_qp", "temperature_qp");
214 
215  _deps.insertDependency("diffusivity_qp", "porosity_qp");
216  _deps.insertDependency("diffusivity_qp", "pressure_saturation_qp");
217 
218  _deps.insertDependency("effective_pressure_nodal", "pressure_saturation_nodal");
219  _deps.insertDependency("effective_pressure_qp", "pressure_saturation_qp");
220 
221  _deps.insertDependency("matrix_internal_energy_nodal", "temperature_nodal");
222 
223  _deps.insertDependency("permeability_qp", "porosity_qp");
224 
225  _deps.insertDependency("relative_permeability_nodal", "pressure_saturation_nodal");
226  _deps.insertDependency("relative_permeability_qp", "pressure_saturation_qp");
227 
228  _deps.insertDependency("thermal_conductivity_qp", "porosity_qp");
229  _deps.insertDependency("thermal_conductivity_qp", "pressure_saturation_qp");
230 
231  _deps.insertDependency("gravitational_density_qp", "porosity_qp");
232  _deps.insertDependency("gravitational_density_qp", "fluid_properties_qp");
233 
234  _deps.insertDependency("porosity_nodal", "effective_pressure_nodal");
235  _deps.insertDependency("porosity_nodal", "pressure_saturation_nodal");
236  _deps.insertDependency("porosity_nodal", "temperature_nodal");
237  _deps.insertDependency("porosity_qp", "effective_pressure_qp");
238  _deps.insertDependency("porosity_qp", "pressure_saturation_qp");
239  _deps.insertDependency("porosity_qp", "temperature_qp");
240  //_deps.insertDependency("porosity_qp", "volumetric_strain_qp");
241 }
DependencyResolver< std::string > _deps
All dependencies of kernels, auxkernels, materials, etc, are stored in _dependencies.

Member Data Documentation

◆ _deps

DependencyResolver<std::string> PorousFlowDependencies::_deps
protected

All dependencies of kernels, auxkernels, materials, etc, are stored in _dependencies.

Definition at line 38 of file PorousFlowDependencies.h.

Referenced by PorousFlowFullySaturated::act(), PorousFlowSinglePhaseBase::act(), PorousFlowUnsaturated::act(), PorousFlowBasicTHM::act(), PorousFlowAddMaterialAction::isPFMaterialRequired(), and PorousFlowDependencies().


The documentation for this class was generated from the following files: