www.mooseframework.org
PorousFlowDependencies.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #include "PorousFlowDependencies.h"
11 
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", "PorousFlowFullySaturatedAdvectiveFlux");
26  _deps.insertDependency("PorousFlowFullySaturated", "PorousFlowMassTimeDerivative");
27  _deps.insertDependency("PorousFlowFullySaturated", "PorousFlowMassVolumetricExpansion");
28  _deps.insertDependency("PorousFlowFullySaturated", "PorousFlowFullySaturatedHeatAdvection");
29  _deps.insertDependency("PorousFlowFullySaturated", "PorousFlowFullySaturatedUpwindHeatAdvection");
30 
31  _deps.insertDependency("PorousFlowBasicTHM", "PorousFlowSinglePhaseBase");
32  _deps.insertDependency("PorousFlowBasicTHM", "PorousFlowFullySaturatedDarcyBase");
33  _deps.insertDependency("PorousFlowBasicTHM", "PorousFlowFullySaturatedMassTimeDerivative");
34  _deps.insertDependency("PorousFlowBasicTHM", "PorousFlowFullySaturatedHeatAdvection");
35 
36  _deps.insertDependency("PorousFlowUnsaturated", "PorousFlowSinglePhaseBase");
37  _deps.insertDependency("PorousFlowUnsaturated", "PorousFlowAdvectiveFlux");
38  _deps.insertDependency("PorousFlowUnsaturated", "PorousFlowMassTimeDerivative");
39  _deps.insertDependency("PorousFlowUnsaturated", "PorousFlowMassVolumetricExpansion");
40  _deps.insertDependency("PorousFlowUnsaturated", "PorousFlowHeatAdvection");
41 
42  // AuxKernel dependencies
43  _deps.insertDependency("PorousFlowDarcyVelocityComponent", "relative_permeability_qp");
44  _deps.insertDependency("PorousFlowDarcyVelocityComponent", "density_qp");
45  _deps.insertDependency("PorousFlowDarcyVelocityComponent", "viscosity_qp");
46  _deps.insertDependency("PorousFlowDarcyVelocityComponent", "permeability_qp");
47  _deps.insertDependency("PorousFlowDarcyVelocityComponent", "pressure_saturation_qp");
48 
49  _deps.insertDependency("PorousFlowDarcyVelocityComponentLowerDimensional",
50  "PorousFlowDarcyVelocityComponent");
51 
52  _deps.insertDependency("PorousFlowPropertyAux", "pressure_saturation_qp");
53  _deps.insertDependency("PorousFlowPropertyAux", "temperature_qp");
54  _deps.insertDependency("PorousFlowPropertyAux", "fluid_properties_qp");
55  _deps.insertDependency("PorousFlowPropertyAux", "mass_fraction_qp");
56  _deps.insertDependency("PorousFlowPropertyAux", "relative_permeability_qp");
57  _deps.insertDependency("PorousFlowPropertyAux", "chemistry_qp");
58  _deps.insertDependency("PorousFlowPropertyAux", "mineral_qp");
59  _deps.insertDependency("PorousFlowPropertyAux", "porosity_qp");
60 
61  // BC dependencies
62  _deps.insertDependency("PorousFlowHalfCubicSink", "PorousFlowSink");
63  _deps.insertDependency("PorousFlowHalfGaussianSink", "PorousFlowSink");
64  _deps.insertDependency("PorousFlowPiecewiseLinearSink", "PorousFlowSink");
65 
66  _deps.insertDependency("PorousFlowSink", "pressure_saturation_nodal");
67  _deps.insertDependency("PorousFlowSink", "temperature_nodal");
68  _deps.insertDependency("PorousFlowSink", "mass_fraction_nodal");
69  _deps.insertDependency("PorousFlowSink", "fluid_properties_nodal");
70  _deps.insertDependency("PorousFlowSink", "relative_permeability_nodal");
71  _deps.insertDependency("PorousFlowSink", "enthalpy_nodal");
72  _deps.insertDependency("PorousFlowSink", "internal_energy_nodal");
73  _deps.insertDependency("PorousFlowSink", "permeability_qp");
74  _deps.insertDependency("PorousFlowSink", "thermal_conductivity_qp");
75 
76  _deps.insertDependency("PorousFlowOutflowBC", "pressure_saturation_qp");
77  _deps.insertDependency("PorousFlowOutflowBC", "density_qp");
78  _deps.insertDependency("PorousFlowOutflowBC", "permeability_qp");
79  _deps.insertDependency("PorousFlowOutflowBC", "viscosity_nodal");
80  _deps.insertDependency("PorousFlowOutflowBC", "density_nodal");
81  _deps.insertDependency("PorousFlowOutflowBC", "relative_permeability_nodal");
82  _deps.insertDependency("PorousFlowOutflowBC", "mass_fraction_nodal");
83  _deps.insertDependency("PorousFlowOutflowBC", "enthalpy_nodal");
84  _deps.insertDependency("PorousFlowOutflowBC", "thermal_conductivity_qp");
85  _deps.insertDependency("PorousFlowOutflowBC", "temperature_qp");
86 
87  // Dirac kernel dependencies
88  _deps.insertDependency("PorousFlowPeacemanBorehole", "PorousFlowLineSink");
89  _deps.insertDependency("PorousFlowPolyLineSink", "PorousFlowLineSink");
90 
91  _deps.insertDependency("PorousFlowLineSink", "pressure_saturation_qp");
92  _deps.insertDependency("PorousFlowLineSink", "temperature_qp");
93  _deps.insertDependency("PorousFlowLineSink", "thermal_conductivity_qp");
94  _deps.insertDependency("PorousFlowLineSink", "relative_permeability_nodal");
95  _deps.insertDependency("PorousFlowLineSink", "density_nodal");
96  _deps.insertDependency("PorousFlowLineSink", "viscosity_nodal");
97  _deps.insertDependency("PorousFlowLineSink", "enthalpy_nodal");
98  _deps.insertDependency("PorousFlowLineSink", "internal_energy_nodal");
99  _deps.insertDependency("PorousFlowLineSink", "relative_permeability_nodal");
100  _deps.insertDependency("PorousFlowLineSink", "mass_fraction_nodal");
101 
102  // Kernel dependencies
103  _deps.insertDependency("PorousFlowAdvectiveFlux", "PorousFlowDarcyBase");
104  _deps.insertDependency("PorousFlowAdvectiveFlux", "mass_fraction_nodal");
105  _deps.insertDependency("PorousFlowAdvectiveFlux", "relative_permeability_nodal");
106 
107  _deps.insertDependency("PorousFlowFullySaturatedAdvectiveFlux", "PorousFlowDarcyBase");
108  _deps.insertDependency("PorousFlowFullySaturatedAdvectiveFlux", "mass_fraction_nodal");
109 
110  _deps.insertDependency("PorousFlowBasicAdvection", "darcy_velocity_qp");
111 
112  _deps.insertDependency("PorousFlowDarcyBase", "permeability_qp");
113  _deps.insertDependency("PorousFlowDarcyBase", "density_qp");
114  _deps.insertDependency("PorousFlowDarcyBase", "density_nodal");
115  _deps.insertDependency("PorousFlowDarcyBase", "viscosity_nodal");
116  _deps.insertDependency("PorousFlowDarcyBase", "pressure_saturation_qp");
117 
118  _deps.insertDependency("PorousFlowDesorpedMassTimeDerivative", "porosity_qp");
119 
120  _deps.insertDependency("PorousFlowDesorpedMassVolumetricExpansion", "porosity_qp");
121  _deps.insertDependency("PorousFlowDesorpedMassVolumetricExpansion", "volumetric_strain_qp");
122 
123  _deps.insertDependency("PorousFlowDispersiveFlux", "density_qp");
124  _deps.insertDependency("PorousFlowDispersiveFlux", "viscosity_qp");
125  _deps.insertDependency("PorousFlowDispersiveFlux", "mass_fraction_qp");
126  _deps.insertDependency("PorousFlowDispersiveFlux", "porosity_qp");
127  _deps.insertDependency("PorousFlowDispersiveFlux", "diffusivity_qp");
128  _deps.insertDependency("PorousFlowDispersiveFlux", "relative_permeability_qp");
129  _deps.insertDependency("PorousFlowDispersiveFlux", "permeability_qp");
130  _deps.insertDependency("PorousFlowDispersiveFlux", "pressure_saturation_qp");
131 
132  _deps.insertDependency("PorousFlowEffectiveStressCoupling", "effective_pressure_qp");
133 
134  _deps.insertDependency("PorousFlowEnergyTimeDerivative", "porosity_nodal");
135  _deps.insertDependency("PorousFlowEnergyTimeDerivative", "nearest_qp_nodal");
136  _deps.insertDependency("PorousFlowEnergyTimeDerivative", "matrix_internal_energy_nodal");
137  _deps.insertDependency("PorousFlowEnergyTimeDerivative", "density_nodal");
138  _deps.insertDependency("PorousFlowEnergyTimeDerivative", "enthalpy_nodal");
139  _deps.insertDependency("PorousFlowEnergyTimeDerivative", "internal_energy_nodal");
140  _deps.insertDependency("PorousFlowEnergyTimeDerivative", "pressure_saturation_nodal");
141 
142  _deps.insertDependency("PorousFlowFullySaturatedDarcyBase", "permeability_qp");
143  _deps.insertDependency("PorousFlowFullySaturatedDarcyBase", "density_qp");
144  _deps.insertDependency("PorousFlowFullySaturatedDarcyBase", "viscosity_qp");
145  _deps.insertDependency("PorousFlowFullySaturatedDarcyBase", "pressure_saturation_qp");
146 
147  _deps.insertDependency("PorousFlowFullySaturatedDarcyFlow", "PorousFlowFullySaturatedDarcyBase");
148  _deps.insertDependency("PorousFlowFullySaturatedDarcyFlow", "mass_fraction_qp");
149 
150  _deps.insertDependency("PorousFlowFullySaturatedHeatAdvection",
151  "PorousFlowFullySaturatedDarcyBase");
152  _deps.insertDependency("PorousFlowFullySaturatedHeatAdvection", "enthalpy_qp");
153 
154  _deps.insertDependency("PorousFlowFullySaturatedUpwindHeatAdvection", "PorousFlowDarcyBase");
155  _deps.insertDependency("PorousFlowFullySaturatedUpwindHeatAdvection", "enthalpy_nodal");
156 
157  _deps.insertDependency("PorousFlowFullySaturatedMassTimeDerivative", "biot_modulus_qp");
158  _deps.insertDependency("PorousFlowFullySaturatedMassTimeDerivative", "thermal_expansion_qp");
159  _deps.insertDependency("PorousFlowFullySaturatedMassTimeDerivative", "density_qp");
160  _deps.insertDependency("PorousFlowFullySaturatedMassTimeDerivative", "pressure_saturation_qp");
161  _deps.insertDependency("PorousFlowFullySaturatedMassTimeDerivative", "temperature_qp");
162  _deps.insertDependency("PorousFlowFullySaturatedMassTimeDerivative", "volumetric_strain_qp");
163 
164  _deps.insertDependency("PorousFlowHeatAdvection", "PorousFlowDarcyBase");
165  _deps.insertDependency("PorousFlowHeatAdvection", "enthalpy_nodal");
166  _deps.insertDependency("PorousFlowHeatAdvection", "relative_permeability_nodal");
167 
168  _deps.insertDependency("PorousFlowHeatConduction", "thermal_conductivity_qp");
169  _deps.insertDependency("PorousFlowHeatConduction", "temperature_qp");
170 
171  _deps.insertDependency("PorousFlowHeatVolumetricExpansion", "porosity_nodal");
172  _deps.insertDependency("PorousFlowHeatVolumetricExpansion", "nearest_qp_nodal");
173  _deps.insertDependency("PorousFlowHeatVolumetricExpansion", "matrix_internal_energy_nodal");
174  _deps.insertDependency("PorousFlowHeatVolumetricExpansion", "density_nodal");
175  _deps.insertDependency("PorousFlowHeatVolumetricExpansion", "internal_energy_nodal");
176  _deps.insertDependency("PorousFlowHeatVolumetricExpansion", "pressure_saturation_nodal");
177  _deps.insertDependency("PorousFlowHeatVolumetricExpansion", "volumetric_strain_qp");
178 
179  _deps.insertDependency("PorousFlowMassRadioactiveDecay", "porosity_nodal");
180  _deps.insertDependency("PorousFlowMassRadioactiveDecay", "nearest_qp_nodal");
181  _deps.insertDependency("PorousFlowMassRadioactiveDecay", "density_nodal");
182  _deps.insertDependency("PorousFlowMassRadioactiveDecay", "pressure_saturation_nodal");
183  _deps.insertDependency("PorousFlowMassRadioactiveDecay", "mass_fraction_nodal");
184 
185  _deps.insertDependency("PorousFlowMassTimeDerivative", "porosity_nodal");
186  _deps.insertDependency("PorousFlowMassTimeDerivative", "nearest_qp_nodal");
187  _deps.insertDependency("PorousFlowMassTimeDerivative", "density_nodal");
188  _deps.insertDependency("PorousFlowMassTimeDerivative", "pressure_saturation_nodal");
189  _deps.insertDependency("PorousFlowMassTimeDerivative", "mass_fraction_nodal");
190 
191  _deps.insertDependency("PorousFlowMassVolumetricExpansion", "porosity_nodal");
192  _deps.insertDependency("PorousFlowMassVolumetricExpansion", "nearest_qp_nodal");
193  _deps.insertDependency("PorousFlowMassVolumetricExpansion", "density_nodal");
194  _deps.insertDependency("PorousFlowMassVolumetricExpansion", "pressure_saturation_nodal");
195  _deps.insertDependency("PorousFlowMassVolumetricExpansion", "mass_fraction_nodal");
196  _deps.insertDependency("PorousFlowMassVolumetricExpansion", "volumetric_strain_qp");
197 
198  _deps.insertDependency("PorousFlowPlasticHeatEnergy", "PlasticHeatEnergy");
199  _deps.insertDependency("PorousFlowPlasticHeatEnergy", "nearest_qp_nodal");
200  _deps.insertDependency("PorousFlowPlasticHeatEnergy", "porosity_nodal");
201 
202  _deps.insertDependency("PorousFlowPreDis", "pressure_saturation_nodal");
203  _deps.insertDependency("PorousFlowPreDis", "porosity_nodal");
204  _deps.insertDependency("PorousFlowPreDis", "chemistry_nodal");
205  _deps.insertDependency("PorousFlowPreDis", "mineral_nodal");
206 
207  // Material dependencies
208  _deps.insertDependency("density_qp", "fluid_properties_qp");
209  _deps.insertDependency("density_nodal", "fluid_properties_nodal");
210  _deps.insertDependency("viscosity_qp", "fluid_properties_qp");
211  _deps.insertDependency("viscosity_nodal", "fluid_properties_nodal");
212  _deps.insertDependency("internal_energy_qp", "fluid_properties_qp");
213  _deps.insertDependency("internal_energy_nodal", "fluid_properties_nodal");
214  _deps.insertDependency("enthalpy_qp", "fluid_properties_qp");
215  _deps.insertDependency("enthalpy_nodal", "fluid_properties_nodal");
216 
217  _deps.insertDependency("darcy_velocity_qp", "permeability_qp");
218  _deps.insertDependency("darcy_velocity_qp", "fluid_properties_qp");
219  _deps.insertDependency("darcy_velocity_qp", "relative_permeability_qp");
220  _deps.insertDependency("darcy_velocity_qp", "pressure_saturation_qp");
221 
222  _deps.insertDependency("chemistry_nodal", "pressure_saturation_nodal");
223  _deps.insertDependency("chemistry_nodal", "porosity_nodal");
224  _deps.insertDependency("chemistry_nodal", "temperature_nodal");
225  _deps.insertDependency("chemistry_qp", "pressure_saturation_qp");
226  _deps.insertDependency("chemistry_qp", "porosity_qp");
227  _deps.insertDependency("chemistry_qp", "temperature_qp");
228 
229  _deps.insertDependency("mineral_nodal", "pressure_saturation_nodal");
230  _deps.insertDependency("mineral_nodal", "porosity_nodal");
231  _deps.insertDependency("mineral_nodal", "chemistry_nodal");
232  _deps.insertDependency("mineral_qp", "pressure_saturation_qp");
233  _deps.insertDependency("mineral_qp", "porosity_qp");
234  _deps.insertDependency("mineral_qp", "chemistry_qp");
235 
236  _deps.insertDependency("biot_modulus_nodal", "porosity_nodal");
237  _deps.insertDependency("biot_modulus_qp", "porosity_qp");
238 
239  _deps.insertDependency("thermal_expansion_nodal", "porosity_nodal");
240  _deps.insertDependency("thermal_expansion_qp", "porosity_qp");
241 
242  _deps.insertDependency("fluid_properties_nodal", "pressure_saturation_nodal");
243  _deps.insertDependency("fluid_properties_nodal", "temperature_nodal");
244  _deps.insertDependency("fluid_properties_nodal", "fluid_state_nodal");
245  _deps.insertDependency("fluid_properties_qp", "pressure_saturation_qp");
246  _deps.insertDependency("fluid_properties_qp", "temperature_qp");
247  _deps.insertDependency("fluid_properties_qp", "fluid_state_qp");
248 
249  _deps.insertDependency("mass_fraction_nodal", "fluid_state_nodal");
250  _deps.insertDependency("mass_fraction_qp", "fluid_state_qp");
251 
252  _deps.insertDependency("fluid_state_nodal", "temperature_nodal");
253  _deps.insertDependency("fluid_state_qp", "temperature_qp");
254 
255  _deps.insertDependency("diffusivity_qp", "porosity_qp");
256  _deps.insertDependency("diffusivity_qp", "pressure_saturation_qp");
257 
258  _deps.insertDependency("effective_pressure_nodal", "pressure_saturation_nodal");
259  _deps.insertDependency("effective_pressure_qp", "pressure_saturation_qp");
260 
261  _deps.insertDependency("matrix_internal_energy_nodal", "temperature_nodal");
262 
263  _deps.insertDependency("permeability_qp", "porosity_qp");
264 
265  _deps.insertDependency("relative_permeability_nodal", "pressure_saturation_nodal");
266  _deps.insertDependency("relative_permeability_qp", "pressure_saturation_qp");
267 
268  _deps.insertDependency("thermal_conductivity_qp", "porosity_qp");
269  _deps.insertDependency("thermal_conductivity_qp", "pressure_saturation_qp");
270 
271  _deps.insertDependency("gravitational_density_qp", "porosity_qp");
272  _deps.insertDependency("gravitational_density_qp", "fluid_properties_qp");
273 
274  _deps.insertDependency("porosity_nodal", "effective_pressure_nodal");
275  _deps.insertDependency("porosity_nodal", "pressure_saturation_nodal");
276  _deps.insertDependency("porosity_nodal", "temperature_nodal");
277  _deps.insertDependency("porosity_qp", "effective_pressure_qp");
278  _deps.insertDependency("porosity_qp", "pressure_saturation_qp");
279  _deps.insertDependency("porosity_qp", "temperature_qp");
280  //_deps.insertDependency("porosity_qp", "volumetric_strain_qp");
281 
282  // following is so that anything derived from PorousFlowVariableBase (with pf_material_type =
283  // pressure_saturation) will add PorousFlowHysteresisOrder at the nodes or qps, if a
284  // PorousflowHysteresisOrder appears in the input file
285  _deps.insertDependency("pressure_saturation_nodal", "hysteresis_order_nodal");
286  _deps.insertDependency("pressure_saturation_qp", "hysteresis_order_qp");
287 
288  // Postprocessor dependencies
289  _deps.insertDependency("PorousFlowFluidMass", "porosity_nodal");
290  _deps.insertDependency("PorousFlowFluidMass", "density_nodal");
291  _deps.insertDependency("PorousFlowFluidMass", "mass_fraction_nodal");
292  _deps.insertDependency("PorousFlowFluidMass", "pressure_saturation_nodal");
293  _deps.insertDependency("PorousFlowHeatEnergy", "porosity_nodal");
294  _deps.insertDependency("PorousFlowHeatEnergy", "matrix_internal_energy_nodal");
295  _deps.insertDependency("PorousFlowHeatEnergy", "density_nodal");
296  _deps.insertDependency("PorousFlowHeatEnergy", "internal_energy_nodal");
297  _deps.insertDependency("PorousFlowHeatEnergy", "pressure_saturation_nodal");
298 
299  // UserObject dependencies
300  _deps.insertDependency("PorousFlowAdvectiveFluxCalculatorBase", "permeability_qp");
301  _deps.insertDependency("PorousFlowAdvectiveFluxCalculatorBase", "pressure_saturation_qp");
302  _deps.insertDependency("PorousFlowAdvectiveFluxCalculatorBase", "density_qp");
303 
304  _deps.insertDependency("PorousFlowAdvectiveFluxCalculatorSaturated",
305  "PorousFlowAdvectiveFluxCalculatorBase");
306  _deps.insertDependency("PorousFlowAdvectiveFluxCalculatorSaturated", "density_nodal");
307  _deps.insertDependency("PorousFlowAdvectiveFluxCalculatorSaturated", "viscosity_nodal");
308 
309  _deps.insertDependency("PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent",
310  "PorousFlowAdvectiveFluxCalculatorSaturated");
311  _deps.insertDependency("PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent",
312  "mass_fraction_nodal");
313 
314  _deps.insertDependency("PorousFlowAdvectiveFluxCalculatorUnsaturated",
315  "PorousFlowAdvectiveFluxCalculatorSaturated");
316  _deps.insertDependency("PorousFlowAdvectiveFluxCalculatorUnsaturated",
317  "relative_permeability_nodal");
318 
319  _deps.insertDependency("PorousFlowAdvectiveFluxCalculatorUnsaturatedMultiComponent",
320  "PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent");
321  _deps.insertDependency("PorousFlowAdvectiveFluxCalculatorUnsaturatedMultiComponent",
322  "relative_permeability_nodal");
323 
324  _deps.insertDependency("PorousFlowAdvectiveFluxCalculatorSaturatedHeat",
325  "PorousFlowAdvectiveFluxCalculatorSaturated");
326  _deps.insertDependency("PorousFlowAdvectiveFluxCalculatorSaturatedHeat", "enthalpy_nodal");
327 
328  _deps.insertDependency("PorousFlowAdvectiveFluxCalculatorUnsaturatedHeat",
329  "PorousFlowAdvectiveFluxCalculatorSaturatedHeat");
330  _deps.insertDependency("PorousFlowAdvectiveFluxCalculatorUnsaturatedHeat",
331  "relative_permeability_nodal");
332 }
void insertDependency(const std::string &key, const std::string &value)
DependencyResolver< std::string > _deps
All dependencies of kernels, auxkernels, materials, etc, are stored in _dependencies.