AuxKernels

  • Porous Flow App
  • ADPorousFlowDarcyVelocityComponentDarcy velocity (in m3.s-1.m-2, or m.s-1) -(k_ij * krel /mu (nabla_j P - w_j)), where k_ij is the permeability tensor, krel is the relative permeability, mu is the fluid viscosity, P is the fluid pressure, and w_j is the fluid weight.
  • ADPorousFlowPropertyAuxAuxKernel to provide access to properties evaluated at quadpoints. Note that elemental AuxVariables must be used, so that these properties are integrated over each element.
  • PorousFlowDarcyVelocityComponentDarcy velocity (in m3.s-1.m-2, or m.s-1) -(k_ij * krel /mu (nabla_j P - w_j)), where k_ij is the permeability tensor, krel is the relative permeability, mu is the fluid viscosity, P is the fluid pressure, and w_j is the fluid weight.
  • PorousFlowDarcyVelocityComponentLowerDimensionalDarcy velocity on a lower-dimensional element embedded in a higher-dimensional mesh. Units m3.s-1.m-2, or m.s-1. Darcy velocity = -(k_ij * krel /(mu * a) (nabla_j P - w_j)), where k_ij is the permeability tensor, krel is the relative permeability, mu is the fluid viscosity, P is the fluid pressure, a is the fracture aperture and w_j is the fluid weight. The difference between this AuxKernel and PorousFlowDarcyVelocity is that this one projects gravity along the element's tangent direction. NOTE! For a meaningful answer, your permeability tensor must NOT contain terms that rotate tangential vectors to non-tangential vectors.
  • PorousFlowElementLengthAuxKernel to compute the 'length' of elements along a given direction. A plane is constructed through the element's centroid, with normal equal to the direction given. The average of the distance of the nodal positions to this plane is the 'length' returned. The Variable for this AuxKernel must be an elemental Variable
  • PorousFlowElementNormalAuxKernel to compute components of the element normal. This is mostly designed for 2D elements living in 3D space, however, the 1D-element and 3D-element cases are handled as special cases. The Variable for this AuxKernel must be an elemental Variable
  • PorousFlowPropertyAuxAuxKernel to provide access to properties evaluated at quadpoints. Note that elemental AuxVariables must be used, so that these properties are integrated over each element.

AuxVariables

BCs

  • Porous Flow App
  • PorousFlowEnthalpySinkApplies a source equal to the product of the mass flux and the fluid enthalpy. The enthalpy is computed at temperature T_in and pressure equal to the porepressure in the porous medium, if fluid_phase is given, otherwise at the supplied porepressure. Hence this adds heat energy to the porous medium at rate corresponding to a fluid being injected at (porepressure, T_in) at rate (-flux_function).
  • PorousFlowHalfCubicSinkApplies a flux sink to a boundary. The base flux defined by PorousFlowSink is multiplied by a cubic.
  • PorousFlowHalfGaussianSinkApplies a flux sink to a boundary. The base flux defined by PorousFlowSink is multiplied by a Gaussian.
  • PorousFlowOutflowBCApplies an 'outflow' boundary condition, which allows fluid components or heat energy to flow freely out of the boundary as if it weren't there. This is fully upwinded
  • PorousFlowPiecewiseLinearSinkApplies a flux sink to a boundary. The base flux defined by PorousFlowSink is multiplied by a piecewise linear function.
  • PorousFlowSinkApplies a flux sink to a boundary.

DiracKernels

  • Porous Flow App
  • PorousFlowPeacemanBoreholeApproximates a borehole in the mesh using the Peaceman approach, ie using a number of point sinks with given radii whose positions are read from a file. NOTE: if you are using PorousFlowPorosity that depends on volumetric strain, you should set strain_at_nearest_qp=true in your GlobalParams, to ensure the nodal Porosity Material uses the volumetric strain at the Dirac quadpoints, and can therefore be computed
  • PorousFlowPointEnthalpySourceFromPostprocessorPoint source that adds heat energy corresponding to injection of a fluid with specified mass flux rate (specified by a postprocessor) at given temperature (specified by a postprocessor)
  • PorousFlowPointSourceFromPostprocessorPoint source (or sink) that adds (or removes) fluid at a mass flux rate specified by a postprocessor.
  • PorousFlowPolyLineSinkApproximates a polyline sink by using a number of point sinks with given weighting whose positions are read from a file. NOTE: if you are using PorousFlowPorosity that depends on volumetric strain, you should set strain_at_nearest_qp=true in your GlobalParams, to ensure the nodal Porosity Material uses the volumetric strain at the Dirac quadpoints, and can therefore be computed
  • PorousFlowSquarePulsePointSourcePoint source (or sink) that adds (removes) fluid at a constant mass flux rate for times between the specified start and end times.

FVBCs

FVKernels

Functions

  • Porous Flow App
  • MovingPlanarFrontThis function defines the position of a moving front. The front is an infinite plane with normal pointing from start_posn to end_posn. The front's distance from start_posn is defined by 'distance', so if the 'distance' function is time dependent, the front's position will change with time. Roughly speaking, the function returns true_value for points lying in between start_posn and start_posn + distance. Precisely speaking, two planes are constructed, both with normal pointing from start_posn to end_posn. The first plane passes through start_posn; the second plane passes through end_posn. Given a point p and time t, this function returns false_value if ANY of the following are true: (a) t<activation_time; (b) t>=deactivation_time; (c) p is 'behind' start_posn (ie, p lies on one side of the start_posn plane and end_posn lies on the other side); (d) p is 'ahead' of the front (ie, p lies one one side of the front and start_posn lies on the other side); (e) the distance between p and the front is greater than active_length. Otherwise, the point is 'in the active zone' and the function returns true_value.

ICs

Kernels

Materials

  • Porous Flow App
  • PorousFlowAddMaterialActionMakes sure that the correct nodal and/or qp materials are added for each property
  • PorousFlowAddMaterialJoinerAdds PorousFlowJoiner materials as required for each phase-dependent property
  • ADPorousFlow1PhaseFullySaturatedThis Material is used for the fully saturated single-phase situation where porepressure is the primary variable
  • ADPorousFlow1PhasePThis Material is used for the fully saturated single-phase situation where porepressure is the primary variable
  • ADPorousFlow2PhasePPThis Material calculates the 2 porepressures and the 2 saturations in a 2-phase situation, and derivatives of these with respect to the PorousFlowVariables
  • ADPorousFlow2PhasePSThis Material calculates the 2 porepressures and the 2 saturations in a 2-phase situation, and derivatives of these with respect to the PorousFlowVariables.
  • ADPorousFlowDiffusivityConstThis Material provides constant tortuosity and diffusion coefficients
  • ADPorousFlowDiffusivityMillingtonQuirkThis Material provides saturation-dependent diffusivity using the Millington-Quirk model
  • ADPorousFlowEffectiveFluidPressureThis Material calculates an effective fluid pressure: effective_stress = total_stress + biot_coeff*effective_fluid_pressure. The effective_fluid_pressure = sum_{phases}(S_phase * P_phase)
  • ADPorousFlowFluidStateClass for fluid state calculations using persistent primary variables and a vapor-liquid flash
  • ADPorousFlowFluidStateSingleComponentClass for single component multiphase fluid state calculations using pressure and enthalpy
  • ADPorousFlowJoinerThis Material forms a std::vector of properties, old properties (optionally), and derivatives, out of the individual phase properties
  • ADPorousFlowMassFractionThis Material forms a std::vector<std::vector ...> of mass-fractions out of the individual mass fractions
  • ADPorousFlowMatrixInternalEnergyThis Material calculates the internal energy of solid rock grains, which is specific_heat_capacity * density * temperature. Kernels multiply this by (1 - porosity) to find the energy density of the porous rock in a rock-fluid system
  • ADPorousFlowMultiComponentFluidThis Material calculates fluid properties for a multicomponent fluid
  • ADPorousFlowPermeabilityConstThis Material calculates the permeability tensor assuming it is constant
  • ADPorousFlowPermeabilityConstFromVarThis Material calculates the permeability tensor given by the input variables
  • ADPorousFlowPermeabilityExponentialThis Material calculates the permeability tensor from an exponential function of porosity: k = k_ijk * BB exp(AA phi), where k_ijk is a tensor providing the anisotropy, phi is porosity, and AA and BB are empirical constants. The user can provide input for the function expressed in ln k, log k or exponential forms (see poroperm_function).
  • ADPorousFlowPermeabilityKozenyCarmanThis Material calculates the permeability tensor from a form of the Kozeny-Carman equation, k = k_ijk * A * phin / (1 - phi)m, where k_ijk is a tensor providing the anisotropy, phi is porosity, n and m are positive scalar constants and A is given in one of the following forms: A = k0 * (1 - phi0)^m / phi0n (where k0 and phi0 are a reference permeability and porosity) or A = f * d2 (where f is a scalar constant and d is grain diameter.
  • ADPorousFlowPermeabilityTensorFromVarThis Material calculates the permeability tensor from a coupled variable multiplied by a tensor
  • ADPorousFlowPorosityConstThis Material calculates the porosity assuming it is constant
  • ADPorousFlowRelativePermeabilityBCBrooks-Corey relative permeability
  • ADPorousFlowRelativePermeabilityBWBroadbridge-White form of relative permeability
  • ADPorousFlowRelativePermeabilityConstThis class sets the relative permeability to a constant value (default = 1)
  • ADPorousFlowRelativePermeabilityCoreyThis Material calculates relative permeability of the fluid phase, using the simple Corey model ((S-S_res)/(1-sum(S_res)))^n
  • ADPorousFlowRelativePermeabilityFLACThis Material calculates relative permeability of a phase using a model inspired by FLAC
  • ADPorousFlowRelativePermeabilityVGThis Material calculates relative permeability of a phase using the van Genuchten model
  • ADPorousFlowSingleComponentFluidThis Material calculates fluid properties at the quadpoints or nodes for a single component fluid
  • ADPorousFlowTemperatureMaterial to provide temperature at the quadpoints or nodes and derivatives of it with respect to the PorousFlow variables
  • ADPorousFlowThermalConductivityFromPorosityThis Material calculates rock-fluid combined thermal conductivity for the single phase, fully saturated case by using a linear weighted average. Thermal conductivity = phi * lambda_f + (1 - phi) * lambda_s, where phi is porosity, and lambda_f, lambda_s are thermal conductivities of the fluid and solid (assumed constant)
  • ADPorousFlowThermalConductivityIdealThis Material calculates rock-fluid combined thermal conductivity by using a weighted sum. Thermal conductivity = dry_thermal_conductivity + S^exponent * (wet_thermal_conductivity - dry_thermal_conductivity), where S is the aqueous saturation
  • PorousFlow1PhaseFullySaturatedThis Material is used for the fully saturated single-phase situation where porepressure is the primary variable
  • PorousFlow1PhaseHysPThis Material is used for unsaturated single-phase situations where porepressure is the primary variable and the capillary pressure is hysteretic. The hysteretic formulation assumes that the single phase is a liquid
  • PorousFlow1PhaseMD_GaussianThis Material is used for the single-phase situation where log(mass-density) is the primary variable. calculates the 1 porepressure and the 1 saturation in a 1-phase situation, and derivatives of these with respect to the PorousFlowVariables. A gaussian capillary function is assumed
  • PorousFlow1PhasePThis Material is used for the fully saturated single-phase situation where porepressure is the primary variable
  • PorousFlow2PhaseHysPPThis Material is used for 2-phase situations. It calculates the 2 saturations given the 2 porepressures, assuming the capillary pressure is hysteretic. Derivatives of these quantities are also computed
  • PorousFlow2PhaseHysPSThis Material is used for 2-phase situations. It calculates the 2 saturations and 2 porepressures, assuming the capillary pressure is hysteretic. Derivatives of these quantities are also computed
  • PorousFlow2PhasePPThis Material calculates the 2 porepressures and the 2 saturations in a 2-phase situation, and derivatives of these with respect to the PorousFlowVariables
  • PorousFlow2PhasePSThis Material calculates the 2 porepressures and the 2 saturations in a 2-phase situation, and derivatives of these with respect to the PorousFlowVariables.
  • PorousFlowAqueousPreDisChemistryThis Material forms a std::vector of mineralisation reaction rates (L(precipitate)/L(solution)/s) appropriate to the aqueous precipitation-dissolution system provided. Note: the PorousFlowTemperature must be measured in Kelvin.
  • PorousFlowAqueousPreDisMineralThis Material forms a std::vector of mineral concentrations (volume-of-mineral/volume-of-material) appropriate to the aqueous precipitation-dissolution system provided.
  • PorousFlowBrineThis Material calculates fluid properties for brine at the quadpoints or nodes
  • PorousFlowConstantBiotModulusComputes the Biot Modulus, which is assumed to be constant for all time. Sometimes 1 / BiotModulus is called storativity
  • PorousFlowConstantThermalExpansionCoefficientComputes the effective thermal expansion coefficient, (biot_coeff - porosity) * drained_coefficient + porosity * fluid_coefficient.
  • PorousFlowDarcyVelocityMaterialThis Material calculates the Darcy velocity for all phases
  • PorousFlowDiffusivityConstThis Material provides constant tortuosity and diffusion coefficients
  • PorousFlowDiffusivityMillingtonQuirkThis Material provides saturation-dependent diffusivity using the Millington-Quirk model
  • PorousFlowEffectiveFluidPressureThis Material calculates an effective fluid pressure: effective_stress = total_stress + biot_coeff*effective_fluid_pressure. The effective_fluid_pressure = sum_{phases}(S_phase * P_phase)
  • PorousFlowFluidStateClass for fluid state calculations using persistent primary variables and a vapor-liquid flash
  • PorousFlowFluidStateSingleComponentClass for single component multiphase fluid state calculations using pressure and enthalpy
  • PorousFlowHysteresisOrderComputes hysteresis order for use in hysteretic capillary pressures and relative permeabilities
  • PorousFlowHystereticCapillaryPressureThis Material computes information that is required for the computation of hysteretic capillary pressures in single and multi phase situations
  • PorousFlowHystereticInfoThis Material computes capillary pressure or saturation, etc. It is primarily of use when users desire to compute hysteretic quantities such as capillary pressure for visualisation purposes. The result is written into PorousFlow_hysteretic_info_nodal or PorousFlow_hysteretic_info_qp (depending on the at_nodes flag). It does not compute porepressure and should not be used in simulations that employ PorousFlow*PhaseHys* Materials.
  • PorousFlowHystereticRelativePermeabilityGasPorousFlow material that computes relative permeability of the gas phase in 1-phase or 2-phase models that include hysteresis. You should ensure that the 'phase' for this Material does indeed represent the gas phase
  • PorousFlowHystereticRelativePermeabilityLiquidPorousFlow material that computes relative permeability of the liquid phase in 1-phase or 2-phase models that include hysteresis. You should ensure that the 'phase' for this Material does indeed represent the liquid phase
  • PorousFlowJoinerThis Material forms a std::vector of properties, old properties (optionally), and derivatives, out of the individual phase properties
  • PorousFlowMassFractionThis Material forms a std::vector<std::vector ...> of mass-fractions out of the individual mass fractions
  • PorousFlowMassFractionAqueousEquilibriumChemistryThis Material forms a std::vector<std::vector ...> of mass-fractions (total concentrations of primary species (m{3}(primary species)/m{3}(solution)) and since this is for an aqueous system only, mass-fraction equals volume-fraction) corresponding to an aqueous equilibrium chemistry system. The first mass fraction is the concentration of the first primary species, etc, and the last mass fraction is the concentration of H2O.
  • PorousFlowMatrixInternalEnergyThis Material calculates the internal energy of solid rock grains, which is specific_heat_capacity * density * temperature. Kernels multiply this by (1 - porosity) to find the energy density of the porous rock in a rock-fluid system
  • PorousFlowMultiComponentFluidThis Material calculates fluid properties for a multicomponent fluid
  • PorousFlowNearestQpProvides the nearest quadpoint to a node in each element
  • PorousFlowPermeabilityConstThis Material calculates the permeability tensor assuming it is constant
  • PorousFlowPermeabilityConstFromVarThis Material calculates the permeability tensor given by the input variables
  • PorousFlowPermeabilityExponentialThis Material calculates the permeability tensor from an exponential function of porosity: k = k_ijk * BB exp(AA phi), where k_ijk is a tensor providing the anisotropy, phi is porosity, and AA and BB are empirical constants. The user can provide input for the function expressed in ln k, log k or exponential forms (see poroperm_function).
  • PorousFlowPermeabilityKozenyCarmanThis Material calculates the permeability tensor from a form of the Kozeny-Carman equation, k = k_ijk * A * phin / (1 - phi)m, where k_ijk is a tensor providing the anisotropy, phi is porosity, n and m are positive scalar constants and A is given in one of the following forms: A = k0 * (1 - phi0)^m / phi0n (where k0 and phi0 are a reference permeability and porosity) or A = f * d2 (where f is a scalar constant and d is grain diameter.
  • PorousFlowPermeabilityTensorFromVarThis Material calculates the permeability tensor from a coupled variable multiplied by a tensor
  • PorousFlowPorosityThis Material calculates the porosity PorousFlow simulations
  • PorousFlowPorosityConstThis Material calculates the porosity assuming it is constant
  • PorousFlowPorosityHMBiotModulusThis Material calculates the porosity for hydro-mechanical simulations, assuming that the Biot modulus and the fluid bulk modulus are both constant. This is useful for comparing with solutions from poroelasticity theory, but is less accurate than PorousFlowPorosity
  • PorousFlowPorosityLinearThis Material calculates the porosity in PorousFlow simulations using the relationship porosity_ref + P_coeff * (P - P_ref) + T_coeff * (T - T_ref) + epv_coeff * (epv - epv_ref), where P is the effective porepressure, T is the temperature and epv is the volumetric strain
  • PorousFlowRelativePermeabilityBCBrooks-Corey relative permeability
  • PorousFlowRelativePermeabilityBWBroadbridge-White form of relative permeability
  • PorousFlowRelativePermeabilityConstThis class sets the relative permeability to a constant value (default = 1)
  • PorousFlowRelativePermeabilityCoreyThis Material calculates relative permeability of the fluid phase, using the simple Corey model ((S-S_res)/(1-sum(S_res)))^n
  • PorousFlowRelativePermeabilityFLACThis Material calculates relative permeability of a phase using a model inspired by FLAC
  • PorousFlowRelativePermeabilityVGThis Material calculates relative permeability of a phase using the van Genuchten model
  • PorousFlowSingleComponentFluidThis Material calculates fluid properties at the quadpoints or nodes for a single component fluid
  • PorousFlowTemperatureMaterial to provide temperature at the quadpoints or nodes and derivatives of it with respect to the PorousFlow variables
  • PorousFlowThermalConductivityFromPorosityThis Material calculates rock-fluid combined thermal conductivity for the single phase, fully saturated case by using a linear weighted average. Thermal conductivity = phi * lambda_f + (1 - phi) * lambda_s, where phi is porosity, and lambda_f, lambda_s are thermal conductivities of the fluid and solid (assumed constant)
  • PorousFlowThermalConductivityIdealThis Material calculates rock-fluid combined thermal conductivity by using a weighted sum. Thermal conductivity = dry_thermal_conductivity + S^exponent * (wet_thermal_conductivity - dry_thermal_conductivity), where S is the aqueous saturation
  • PorousFlowTotalGravitationalDensityFullySaturatedFromPorosityThis Material calculates the porous medium density from the porosity, solid density (assumed constant) and fluid density, for the fully-saturated single fluid phase case, using a linear weighted average. density = phi * rho_f + (1 - phi) * rho_s, where phi is porosity and rho_f, rho_s are the densities of the fluid and solid phases.
  • PorousFlowVolumetricStrainCompute volumetric strain and the volumetric_strain rate, for use in PorousFlow.

Modules

Modules/PorousFlow

  • Porous Flow App
  • BCs

Modules/PorousFlow/BCs

  • Porous Flow App
  • PorousFlowAddBCActionAction that allows adding BCs using proxy classes.
  • PorousFlowSinkBCBC corresponding to hot/cold fluid injection. This BC is only valid for single-phase, non-isothermal simulations using (P, T) variables. This BC adds fluid mass and heat energy. It is only meaningful if flux_function <= 0

PorousFlowBasicTHM

  • Porous Flow App
  • PorousFlowBasicTHMAdds Kernels and fluid-property Materials necessary to simulate a single-phase, single-component fully-saturated flow problem. No upwinding and no mass lumping of the fluid mass are used (the stabilization input parameter is ignored). The fluid-mass time derivative is close to linear, and is perfectly linear if multiply_by_density=false. These features mean the results may differ slightly from the Unsaturated Action case. To run a simulation you will also need to provide various other Materials for each mesh block, depending on your simulation type, viz: permeability, constant Biot modulus, constant thermal expansion coefficient, porosity, elasticity tensor, strain calculator, stress calculator, matrix internal energy, thermal conductivity, diffusivity

PorousFlowFullySaturated

  • Porous Flow App
  • PorousFlowFullySaturatedAdds Kernels and fluid-property Materials necessary to simulate a single-phase fully-saturated flow problem. Numerical stabilization options for the fluid and heat flow are: no upwinding, full-upwinding or KT stabilization. No Kernels for diffusion and dispersion of fluid components are added. To run a simulation you will also need to provide various other Materials for each mesh block, depending on your simulation type, viz: permeability, porosity, elasticity tensor, strain calculator, stress calculator, matrix internal energy, thermal conductivity, diffusivity

PorousFlowUnsaturated

  • Porous Flow App
  • PorousFlowUnsaturatedAdds Kernels and fluid-property Materials necessary to simulate a single-phase saturated-unsaturated flow problem. The saturation is computed using van Genuchten's expression. No Kernels for diffusion and dispersion of fluid components are added. To run a simulation you will also need to provide various other Materials for each mesh block, depending on your simulation type, viz: permeability, porosity, elasticity tensor, strain calculator, stress calculator, matrix internal energy, thermal conductivity, diffusivity

Postprocessors

UserObjects

  • Porous Flow App
  • AdvectiveFluxCalculatorConstantVelocityCompute K_ij (a measure of advective flux from node i to node j) and R+ and R- (which quantify amount of antidiffusion to add) in the Kuzmin-Turek FEM-TVD multidimensional scheme. Constant advective velocity is assumed
  • PorousFlowAdvectiveFluxCalculatorSaturatedComputes the advective flux of fluid of given phase, assuming fully-saturated conditions. Hence this UserObject is only relevant to single-phase situations. Explicitly, the UserObject computes (density / viscosity) * (- permeability * (grad(P) - density * gravity)), using the Kuzmin-Turek FEM-TVD multidimensional stabilization scheme
  • PorousFlowAdvectiveFluxCalculatorSaturatedHeatComputes the advective flux of heat energy in the given phase, assuming fully-saturated conditions. Hence this UserObject is only relevant to single-phase situations. Explicitly, the UserObject computes (density * enthalpy / viscosity) * (- permeability * (grad(P) - density * gravity)), using the Kuzmin-Turek FEM-TVD multidimensional stabilization scheme
  • PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponentComputes the advective flux of fluid of given phase and fluid component. Explicitly, the UserObject computes (mass_fraction * density / viscosity) * (- permeability * (grad(P) - density * gravity)), using the Kuzmin-Turek FEM-TVD multidimensional stabilization scheme
  • PorousFlowAdvectiveFluxCalculatorUnsaturatedComputes the advective flux of fluid of given phase, assuming unsaturated conditions. Hence this UserObject is only relevant to single-phase situations, or multi-phase situations where each fluid component appears in one phase only. Explicitly, the UserObject computes (density * relative_permeability / viscosity) * (- permeability * (grad(P) - density * gravity)), using the Kuzmin-Turek FEM-TVD multidimensional stabilization scheme
  • PorousFlowAdvectiveFluxCalculatorUnsaturatedHeatComputes the advective flux of heat energy in a given phase, assuming unsaturated conditions. Hence this UserObject is only relevant to single-phase situations, or multi-phase situations where each fluid component appears in one phase only. Explicitly, the UserObject computes (density * enthalpy * relative_permeability / viscosity) * (- permeability * (grad(P) - density * gravity)), using the Kuzmin-Turek FEM-TVD multidimensional stabilization scheme
  • PorousFlowAdvectiveFluxCalculatorUnsaturatedMultiComponentComputes the advective flux of fluid of given phase and component. Hence this UserObject is relevant to multi-phase, multi-component situations. Explicitly, the UserObject computes (mass_fraction * density * relative_permeability / viscosity) * (- permeability * (grad(P) - density * gravity)), using the Kuzmin-Turek FEM-TVD multidimensional stabilization scheme
  • PorousFlowBrineCO2Fluid state class for brine and CO2
  • PorousFlowCapillaryPressureBCBrooks-Corey capillary pressure
  • PorousFlowCapillaryPressureBWBroadbridge and White capillary pressure for negligable Kn
  • PorousFlowCapillaryPressureConstConstant capillary pressure
  • PorousFlowCapillaryPressureRSCRogers-Stallybrass-Clements version of effective saturation for the water phase, valid for residual saturations = 0, and viscosityOil = 2 * viscosityWater. seff_water = 1 / sqrt(1 + exp((Pc - shift) / scale)), where scale = 0.25 * scale_ratio * oil_viscosity.
  • PorousFlowCapillaryPressureVGvan Genuchten capillary pressure
  • PorousFlowDictatorHolds information on the PorousFlow variable names
  • PorousFlowSumQuantityRecords total mass flowing into a borehole
  • PorousFlowWaterNCGFluid state class for water and non-condensable gas
  • PorousFlowWaterVaporFluid state class for water and vapor

Variables