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