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  // BC dependencies
59  _deps.insertDependency("PorousFlowHalfCubicSink", "PorousFlowSink");
60  _deps.insertDependency("PorousFlowHalfGaussianSink", "PorousFlowSink");
61  _deps.insertDependency("PorousFlowPiecewiseLinearSink", "PorousFlowSink");
62 
63  _deps.insertDependency("PorousFlowSink", "pressure_saturation_nodal");
64  _deps.insertDependency("PorousFlowSink", "temperature_nodal");
65  _deps.insertDependency("PorousFlowSink", "mass_fraction_nodal");
66  _deps.insertDependency("PorousFlowSink", "fluid_properties_nodal");
67  _deps.insertDependency("PorousFlowSink", "relative_permeability_nodal");
68  _deps.insertDependency("PorousFlowSink", "enthalpy_nodal");
69  _deps.insertDependency("PorousFlowSink", "internal_energy_nodal");
70  _deps.insertDependency("PorousFlowSink", "permeability_qp");
71  _deps.insertDependency("PorousFlowSink", "thermal_conductivity_qp");
72 
73  // Kernel dependencies
74  _deps.insertDependency("PorousFlowAdvectiveFlux", "PorousFlowDarcyBase");
75  _deps.insertDependency("PorousFlowAdvectiveFlux", "mass_fraction_nodal");
76  _deps.insertDependency("PorousFlowAdvectiveFlux", "relative_permeability_nodal");
77 
78  _deps.insertDependency("PorousFlowBasicAdvection", "darcy_velocity_qp");
79 
80  _deps.insertDependency("PorousFlowDarcyBase", "permeability_qp");
81  _deps.insertDependency("PorousFlowDarcyBase", "density_qp");
82  _deps.insertDependency("PorousFlowDarcyBase", "density_nodal");
83  _deps.insertDependency("PorousFlowDarcyBase", "viscosity_nodal");
84  _deps.insertDependency("PorousFlowDarcyBase", "pressure_saturation_qp");
85 
86  _deps.insertDependency("PorousFlowDesorpedMassTimeDerivative", "porosity_qp");
87 
88  _deps.insertDependency("PorousFlowDesorpedMassVolumetricExpansion", "porosity_qp");
89  _deps.insertDependency("PorousFlowDesorpedMassVolumetricExpansion", "volumetric_strain_qp");
90 
91  _deps.insertDependency("PorousFlowDispersiveFlux", "density_qp");
92  _deps.insertDependency("PorousFlowDispersiveFlux", "viscosity_qp");
93  _deps.insertDependency("PorousFlowDispersiveFlux", "mass_fraction_qp");
94  _deps.insertDependency("PorousFlowDispersiveFlux", "porosity_qp");
95  _deps.insertDependency("PorousFlowDispersiveFlux", "diffusivity_qp");
96  _deps.insertDependency("PorousFlowDispersiveFlux", "relative_permeability_qp");
97  _deps.insertDependency("PorousFlowDispersiveFlux", "permeability_qp");
98  _deps.insertDependency("PorousFlowDispersiveFlux", "pressure_saturation_qp");
99 
100  _deps.insertDependency("PorousFlowEffectiveStressCoupling", "effective_pressure_qp");
101 
102  _deps.insertDependency("PorousFlowEnergyTimeDerivative", "porosity_nodal");
103  _deps.insertDependency("PorousFlowEnergyTimeDerivative", "nearest_qp_nodal");
104  _deps.insertDependency("PorousFlowEnergyTimeDerivative", "matrix_internal_energy_nodal");
105  _deps.insertDependency("PorousFlowEnergyTimeDerivative", "density_nodal");
106  _deps.insertDependency("PorousFlowEnergyTimeDerivative", "internal_energy_nodal");
107  _deps.insertDependency("PorousFlowEnergyTimeDerivative", "pressure_saturation_nodal");
108 
109  _deps.insertDependency("PorousFlowFullySaturatedDarcyBase", "permeability_qp");
110  _deps.insertDependency("PorousFlowFullySaturatedDarcyBase", "density_qp");
111  _deps.insertDependency("PorousFlowFullySaturatedDarcyBase", "viscosity_qp");
112  _deps.insertDependency("PorousFlowFullySaturatedDarcyBase", "pressure_saturation_qp");
113 
114  _deps.insertDependency("PorousFlowFullySaturatedDarcyFlow", "PorousFlowFullySaturatedDarcyBase");
115  _deps.insertDependency("PorousFlowFullySaturatedDarcyFlow", "mass_fraction_qp");
116 
117  _deps.insertDependency("PorousFlowFullySaturatedHeatAdvection",
118  "PorousFlowFullySaturatedDarcyBase");
119  _deps.insertDependency("PorousFlowFullySaturatedHeatAdvection", "enthalpy_qp");
120 
121  _deps.insertDependency("PorousFlowFullySaturatedMassTimeDerivative", "biot_modulus_qp");
122  _deps.insertDependency("PorousFlowFullySaturatedMassTimeDerivative", "thermal_expansion_qp");
123  _deps.insertDependency("PorousFlowFullySaturatedMassTimeDerivative", "density_qp");
124  _deps.insertDependency("PorousFlowFullySaturatedMassTimeDerivative", "pressure_saturation_qp");
125  _deps.insertDependency("PorousFlowFullySaturatedMassTimeDerivative", "temperature_qp");
126  _deps.insertDependency("PorousFlowFullySaturatedMassTimeDerivative", "volumetric_strain_qp");
127 
128  _deps.insertDependency("PorousFlowHeatAdvection", "PorousFlowDarcyBase");
129  _deps.insertDependency("PorousFlowHeatAdvection", "enthalpy_nodal");
130  _deps.insertDependency("PorousFlowHeatAdvection", "relative_permeability_nodal");
131 
132  _deps.insertDependency("PorousFlowHeatConduction", "thermal_conductivity_qp");
133  _deps.insertDependency("PorousFlowHeatConduction", "temperature_qp");
134 
135  _deps.insertDependency("PorousFlowHeatVolumetricExpansion", "porosity_nodal");
136  _deps.insertDependency("PorousFlowHeatVolumetricExpansion", "nearest_qp_nodal");
137  _deps.insertDependency("PorousFlowHeatVolumetricExpansion", "matrix_internal_energy_nodal");
138  _deps.insertDependency("PorousFlowHeatVolumetricExpansion", "density_nodal");
139  _deps.insertDependency("PorousFlowHeatVolumetricExpansion", "internal_energy_nodal");
140  _deps.insertDependency("PorousFlowHeatVolumetricExpansion", "pressure_saturation_nodal");
141  _deps.insertDependency("PorousFlowHeatVolumetricExpansion", "volumetric_strain_qp");
142 
143  _deps.insertDependency("PorousFlowMassRadioactiveDecay", "porosity_nodal");
144  _deps.insertDependency("PorousFlowMassRadioactiveDecay", "nearest_qp_nodal");
145  _deps.insertDependency("PorousFlowMassRadioactiveDecay", "density_nodal");
146  _deps.insertDependency("PorousFlowMassRadioactiveDecay", "pressure_saturation_nodal");
147  _deps.insertDependency("PorousFlowMassRadioactiveDecay", "mass_fraction_nodal");
148 
149  _deps.insertDependency("PorousFlowMassTimeDerivative", "porosity_nodal");
150  _deps.insertDependency("PorousFlowMassTimeDerivative", "nearest_qp_nodal");
151  _deps.insertDependency("PorousFlowMassTimeDerivative", "density_nodal");
152  _deps.insertDependency("PorousFlowMassTimeDerivative", "pressure_saturation_nodal");
153  _deps.insertDependency("PorousFlowMassTimeDerivative", "mass_fraction_nodal");
154 
155  _deps.insertDependency("PorousFlowMassVolumetricExpansion", "porosity_nodal");
156  _deps.insertDependency("PorousFlowMassVolumetricExpansion", "nearest_qp_nodal");
157  _deps.insertDependency("PorousFlowMassVolumetricExpansion", "density_nodal");
158  _deps.insertDependency("PorousFlowMassVolumetricExpansion", "pressure_saturation_nodal");
159  _deps.insertDependency("PorousFlowMassVolumetricExpansion", "mass_fraction_nodal");
160  _deps.insertDependency("PorousFlowMassVolumetricExpansion", "volumetric_strain_qp");
161 
162  _deps.insertDependency("PorousFlowPlasticHeatEnergy", "PlasticHeatEnergy");
163  _deps.insertDependency("PorousFlowPlasticHeatEnergy", "nearest_qp_nodal");
164  _deps.insertDependency("PorousFlowPlasticHeatEnergy", "porosity_nodal");
165 
166  _deps.insertDependency("PorousFlowPreDis", "pressure_saturation_nodal");
167  _deps.insertDependency("PorousFlowPreDis", "porosity_nodal");
168  _deps.insertDependency("PorousFlowPreDis", "chemistry_nodal");
169  _deps.insertDependency("PorousFlowPreDis", "mineral_nodal");
170 
171  // Postprocessor dependencies
172  _deps.insertDependency("PorousFlowFluidMass", "porosity_nodal");
173  _deps.insertDependency("PorousFlowFluidMass", "density_nodal");
174  _deps.insertDependency("PorousFlowFluidMass", "mass_fraction_nodal");
175  _deps.insertDependency("PorousFlowFluidMass", "pressure_saturation_nodal");
176  _deps.insertDependency("PorousFlowHeatEnergy", "porosity_nodal");
177  _deps.insertDependency("PorousFlowHeatEnergy", "matrix_internal_energy_nodal");
178  _deps.insertDependency("PorousFlowHeatEnergy", "density_nodal");
179  _deps.insertDependency("PorousFlowHeatEnergy", "internal_energy_nodal");
180  _deps.insertDependency("PorousFlowHeatEnergy", "pressure_saturation_nodal");
181 
182  // Material dependencies
183  _deps.insertDependency("density_qp", "fluid_properties_qp");
184  _deps.insertDependency("density_nodal", "fluid_properties_nodal");
185  _deps.insertDependency("viscosity_qp", "fluid_properties_qp");
186  _deps.insertDependency("viscosity_nodal", "fluid_properties_nodal");
187  _deps.insertDependency("internal_energy_qp", "fluid_properties_qp");
188  _deps.insertDependency("internal_energy_nodal", "fluid_properties_nodal");
189  _deps.insertDependency("enthalpy_qp", "fluid_properties_qp");
190  _deps.insertDependency("enthalpy_nodal", "fluid_properties_nodal");
191 
192  _deps.insertDependency("darcy_velocity_qp", "permeability_qp");
193  _deps.insertDependency("darcy_velocity_qp", "fluid_properties_qp");
194  _deps.insertDependency("darcy_velocity_qp", "relative_permeability_qp");
195  _deps.insertDependency("darcy_velocity_qp", "pressure_saturation_qp");
196 
197  _deps.insertDependency("chemistry_nodal", "pressure_saturation_nodal");
198  _deps.insertDependency("chemistry_nodal", "porosity_nodal");
199  _deps.insertDependency("chemistry_nodal", "temperature_nodal");
200  _deps.insertDependency("chemistry_qp", "pressure_saturation_qp");
201  _deps.insertDependency("chemistry_qp", "porosity_qp");
202  _deps.insertDependency("chemistry_qp", "temperature_qp");
203 
204  _deps.insertDependency("mineral_nodal", "pressure_saturation_nodal");
205  _deps.insertDependency("mineral_nodal", "porosity_nodal");
206  _deps.insertDependency("mineral_nodal", "chemistry_nodal");
207  _deps.insertDependency("mineral_qp", "pressure_saturation_qp");
208  _deps.insertDependency("mineral_qp", "porosity_qp");
209  _deps.insertDependency("mineral_qp", "chemistry_qp");
210 
211  _deps.insertDependency("biot_modulus_nodal", "porosity_nodal");
212  _deps.insertDependency("biot_modulus_qp", "porosity_qp");
213 
214  _deps.insertDependency("thermal_expansion_nodal", "porosity_nodal");
215  _deps.insertDependency("thermal_expansion_qp", "porosity_qp");
216 
217  _deps.insertDependency("fluid_properties_nodal", "pressure_saturation_nodal");
218  _deps.insertDependency("fluid_properties_nodal", "temperature_nodal");
219  _deps.insertDependency("fluid_properties_nodal", "fluid_state_nodal");
220  _deps.insertDependency("fluid_properties_qp", "pressure_saturation_qp");
221  _deps.insertDependency("fluid_properties_qp", "temperature_qp");
222  _deps.insertDependency("fluid_properties_qp", "fluid_state_qp");
223 
224  _deps.insertDependency("mass_fraction_nodal", "fluid_state_nodal");
225  _deps.insertDependency("mass_fraction_qp", "fluid_state_qp");
226 
227  _deps.insertDependency("fluid_state_nodal", "temperature_nodal");
228  _deps.insertDependency("fluid_state_qp", "temperature_qp");
229 
230  _deps.insertDependency("diffusivity_qp", "porosity_qp");
231  _deps.insertDependency("diffusivity_qp", "pressure_saturation_qp");
232 
233  _deps.insertDependency("effective_pressure_nodal", "pressure_saturation_nodal");
234  _deps.insertDependency("effective_pressure_qp", "pressure_saturation_qp");
235 
236  _deps.insertDependency("matrix_internal_energy_nodal", "temperature_nodal");
237 
238  _deps.insertDependency("permeability_qp", "porosity_qp");
239 
240  _deps.insertDependency("relative_permeability_nodal", "pressure_saturation_nodal");
241  _deps.insertDependency("relative_permeability_qp", "pressure_saturation_qp");
242 
243  _deps.insertDependency("thermal_conductivity_qp", "porosity_qp");
244  _deps.insertDependency("thermal_conductivity_qp", "pressure_saturation_qp");
245 
246  _deps.insertDependency("gravitational_density_qp", "porosity_qp");
247  _deps.insertDependency("gravitational_density_qp", "fluid_properties_qp");
248 
249  _deps.insertDependency("porosity_nodal", "effective_pressure_nodal");
250  _deps.insertDependency("porosity_nodal", "pressure_saturation_nodal");
251  _deps.insertDependency("porosity_nodal", "temperature_nodal");
252  _deps.insertDependency("porosity_qp", "effective_pressure_qp");
253  _deps.insertDependency("porosity_qp", "pressure_saturation_qp");
254  _deps.insertDependency("porosity_qp", "temperature_qp");
255  //_deps.insertDependency("porosity_qp", "volumetric_strain_qp");
256 
257  // UserObject dependencies
258  _deps.insertDependency("PorousFlowAdvectiveFluxCalculatorBase", "permeability_qp");
259  _deps.insertDependency("PorousFlowAdvectiveFluxCalculatorBase", "pressure_saturation_qp");
260  _deps.insertDependency("PorousFlowAdvectiveFluxCalculatorBase", "density_qp");
261 
262  _deps.insertDependency("PorousFlowAdvectiveFluxCalculatorSaturated",
263  "PorousFlowAdvectiveFluxCalculatorBase");
264  _deps.insertDependency("PorousFlowAdvectiveFluxCalculatorSaturated", "density_nodal");
265  _deps.insertDependency("PorousFlowAdvectiveFluxCalculatorSaturated", "viscosity_nodal");
266 
267  _deps.insertDependency("PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent",
268  "PorousFlowAdvectiveFluxCalculatorSaturated");
269  _deps.insertDependency("PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent",
270  "mass_fraction_nodal");
271 
272  _deps.insertDependency("PorousFlowAdvectiveFluxCalculatorUnsaturated",
273  "PorousFlowAdvectiveFluxCalculatorSaturated");
274  _deps.insertDependency("PorousFlowAdvectiveFluxCalculatorUnsaturated",
275  "relative_permeability_nodal");
276 
277  _deps.insertDependency("PorousFlowAdvectiveFluxCalculatorUnsaturatedMultiComponent",
278  "PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent");
279  _deps.insertDependency("PorousFlowAdvectiveFluxCalculatorUnsaturatedMultiComponent",
280  "relative_permeability_nodal");
281 
282  _deps.insertDependency("PorousFlowAdvectiveFluxCalculatorSaturatedHeat",
283  "PorousFlowAdvectiveFluxCalculatorSaturated");
284  _deps.insertDependency("PorousFlowAdvectiveFluxCalculatorSaturatedHeat", "enthalpy_nodal");
285 
286  _deps.insertDependency("PorousFlowAdvectiveFluxCalculatorUnsaturatedHeat",
287  "PorousFlowAdvectiveFluxCalculatorSaturatedHeat");
288  _deps.insertDependency("PorousFlowAdvectiveFluxCalculatorUnsaturatedHeat",
289  "relative_permeability_nodal");
290 }
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

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