Applies a flux sink to a boundary. More...
#include <PorousFlowSink.h>
Public Member Functions | |
PorousFlowSink (const InputParameters ¶meters) | |
Protected Member Functions | |
virtual Real | computeQpResidual () override |
virtual Real | computeQpJacobian () override |
virtual Real | computeQpOffDiagJacobian (unsigned int jvar) override |
Real | jac (unsigned int jvar) const |
Derivative of residual with respect to the jvar variable. More... | |
virtual Real | multiplier () const |
The flux gets multiplied by this quantity. More... | |
virtual Real | dmultiplier_dvar (unsigned int pvar) const |
d(multiplier)/d(Porous flow variable pvar) More... | |
Protected Attributes | |
const PorousFlowDictator & | _dictator |
PorousFlowDictator UserObject. More... | |
const bool | _involves_fluid |
Whether this BC involves fluid (whether the user has supplied a fluid phase number) More... | |
const unsigned int | _ph |
The phase number. More... | |
const bool | _use_mass_fraction |
Whether the flux will be multiplied by the mass fraction. More... | |
const bool | _has_mass_fraction |
Whether there is a "mass_fraction" Material. This is just for error checking. More... | |
const unsigned int | _sp |
The component number (only used if _use_mass_fraction==true) More... | |
const bool | _use_mobility |
Whether to multiply the sink flux by permeability*density/viscosity. More... | |
const bool | _has_mobility |
Whether there are Materials that can form "mobility". This is just for error checking. More... | |
const bool | _use_relperm |
Whether to multiply the sink flux by relative permeability. More... | |
const bool | _has_relperm |
Whether there is a "relperm" Material. This is just for error checking. More... | |
const bool | _use_enthalpy |
Whether to multiply the sink flux by enthalpy. More... | |
const bool | _has_enthalpy |
Whether there is an "enthalpy" Material. This is just for error checking. More... | |
const bool | _use_internal_energy |
Whether to multiply the sink flux by internal_energy. More... | |
const bool | _has_internal_energy |
Whether there is an "internal_energy" Material. This is just for error checking. More... | |
const bool | _use_thermal_conductivity |
Whether to multiply the sink flux by thermal_conductivity. More... | |
const bool | _has_thermal_conductivity |
Whether there is an "thermal_conductivity" Material. This is just for error checking. More... | |
const Function & | _m_func |
The flux. More... | |
const MaterialProperty< RealTensorValue > *const | _permeability |
Permeability of porous material. More... | |
const MaterialProperty< std::vector< RealTensorValue > > *const | _dpermeability_dvar |
d(Permeability)/d(PorousFlow variable) More... | |
const MaterialProperty< std::vector< std::vector< RealTensorValue > > > *const | _dpermeability_dgradvar |
d(Permeability)/d(grad(PorousFlow variable)) More... | |
const MaterialProperty< std::vector< Real > > *const | _fluid_density_node |
Fluid density for each phase (at the node) More... | |
const MaterialProperty< std::vector< std::vector< Real > > > *const | _dfluid_density_node_dvar |
d(Fluid density for each phase (at the node))/d(PorousFlow variable) More... | |
const MaterialProperty< std::vector< Real > > *const | _fluid_viscosity |
Viscosity of each component in each phase. More... | |
const MaterialProperty< std::vector< std::vector< Real > > > *const | _dfluid_viscosity_dvar |
d(Viscosity of each component in each phase)/d(PorousFlow variable) More... | |
const MaterialProperty< std::vector< Real > > *const | _relative_permeability |
Relative permeability of each phase. More... | |
const MaterialProperty< std::vector< std::vector< Real > > > *const | _drelative_permeability_dvar |
d(Relative permeability of each phase)/d(PorousFlow variable) More... | |
const MaterialProperty< std::vector< std::vector< Real > > > *const | _mass_fractions |
Mass fraction of each component in each phase. More... | |
const MaterialProperty< std::vector< std::vector< std::vector< Real > > > > *const | _dmass_fractions_dvar |
d(Mass fraction of each component in each phase)/d(PorousFlow variable) More... | |
const MaterialProperty< std::vector< Real > > *const | _enthalpy |
Enthalpy of each phase. More... | |
const MaterialProperty< std::vector< std::vector< Real > > > *const | _denthalpy_dvar |
d(enthalpy of each phase)/d(PorousFlow variable) More... | |
const MaterialProperty< std::vector< Real > > *const | _internal_energy |
Internal_Energy of each phase. More... | |
const MaterialProperty< std::vector< std::vector< Real > > > *const | _dinternal_energy_dvar |
d(internal_energy of each phase)/d(PorousFlow variable) More... | |
const MaterialProperty< RealTensorValue > *const | _thermal_conductivity |
Thermal_Conductivity of porous material. More... | |
const MaterialProperty< std::vector< RealTensorValue > > *const | _dthermal_conductivity_dvar |
d(Thermal_Conductivity)/d(PorousFlow variable) More... | |
const bool | _perm_derivs |
Flag to check whether permeabiity derivatives are non-zero. More... | |
Applies a flux sink to a boundary.
The strength of the flux is specified by flux_function. In addition, this sink can be multiplied by: (1) the relative permeability of the fluid at the nodes (2) perm_nn*density/viscosity (the so-called mobility) where perm_nn is the permeability tensor projected to the normal direction. (3) the mass_fraction of a component at the nodes (4) the enthalpy of the phase (5) the internal energy of the phase (6) the thermal conductivity of the medium
Definition at line 34 of file PorousFlowSink.h.
PorousFlowSink::PorousFlowSink | ( | const InputParameters & | parameters | ) |
Definition at line 80 of file PorousFlowSink.C.
|
overrideprotectedvirtual |
Definition at line 250 of file PorousFlowSink.C.
|
overrideprotectedvirtual |
Definition at line 256 of file PorousFlowSink.C.
|
overrideprotectedvirtual |
Definition at line 225 of file PorousFlowSink.C.
|
protectedvirtual |
d(multiplier)/d(Porous flow variable pvar)
Reimplemented in PorousFlowHalfCubicSink, PorousFlowHalfGaussianSink, and PorousFlowPiecewiseLinearSink.
Definition at line 344 of file PorousFlowSink.C.
Referenced by PorousFlowPiecewiseLinearSink::dmultiplier_dvar(), PorousFlowHalfGaussianSink::dmultiplier_dvar(), PorousFlowHalfCubicSink::dmultiplier_dvar(), and jac().
|
protected |
Derivative of residual with respect to the jvar variable.
Definition at line 262 of file PorousFlowSink.C.
Referenced by computeQpJacobian(), and computeQpOffDiagJacobian().
|
protectedvirtual |
The flux gets multiplied by this quantity.
Reimplemented in PorousFlowHalfCubicSink, PorousFlowHalfGaussianSink, and PorousFlowPiecewiseLinearSink.
Definition at line 338 of file PorousFlowSink.C.
Referenced by computeQpResidual(), PorousFlowPiecewiseLinearSink::dmultiplier_dvar(), PorousFlowHalfGaussianSink::dmultiplier_dvar(), PorousFlowHalfCubicSink::dmultiplier_dvar(), jac(), PorousFlowPiecewiseLinearSink::multiplier(), PorousFlowHalfGaussianSink::multiplier(), and PorousFlowHalfCubicSink::multiplier().
|
protected |
d(enthalpy of each phase)/d(PorousFlow variable)
Definition at line 132 of file PorousFlowSink.h.
|
protected |
d(Fluid density for each phase (at the node))/d(PorousFlow variable)
Definition at line 108 of file PorousFlowSink.h.
|
protected |
d(Viscosity of each component in each phase)/d(PorousFlow variable)
Definition at line 114 of file PorousFlowSink.h.
|
protected |
PorousFlowDictator UserObject.
Definition at line 45 of file PorousFlowSink.h.
Referenced by jac(), and PorousFlowSink().
|
protected |
d(internal_energy of each phase)/d(PorousFlow variable)
Definition at line 138 of file PorousFlowSink.h.
|
protected |
d(Mass fraction of each component in each phase)/d(PorousFlow variable)
Definition at line 126 of file PorousFlowSink.h.
|
protected |
d(Permeability)/d(grad(PorousFlow variable))
Definition at line 102 of file PorousFlowSink.h.
Referenced by jac().
|
protected |
d(Permeability)/d(PorousFlow variable)
Definition at line 99 of file PorousFlowSink.h.
|
protected |
d(Relative permeability of each phase)/d(PorousFlow variable)
Definition at line 120 of file PorousFlowSink.h.
|
protected |
d(Thermal_Conductivity)/d(PorousFlow variable)
Definition at line 144 of file PorousFlowSink.h.
|
protected |
Enthalpy of each phase.
Definition at line 129 of file PorousFlowSink.h.
|
protected |
Fluid density for each phase (at the node)
Definition at line 105 of file PorousFlowSink.h.
|
protected |
Viscosity of each component in each phase.
Definition at line 111 of file PorousFlowSink.h.
Referenced by jac().
|
protected |
Whether there is an "enthalpy" Material. This is just for error checking.
Definition at line 78 of file PorousFlowSink.h.
Referenced by PorousFlowSink().
|
protected |
Whether there is an "internal_energy" Material. This is just for error checking.
Definition at line 84 of file PorousFlowSink.h.
Referenced by PorousFlowSink().
|
protected |
Whether there is a "mass_fraction" Material. This is just for error checking.
Definition at line 57 of file PorousFlowSink.h.
Referenced by PorousFlowSink().
|
protected |
Whether there are Materials that can form "mobility". This is just for error checking.
Definition at line 66 of file PorousFlowSink.h.
Referenced by PorousFlowSink().
|
protected |
Whether there is a "relperm" Material. This is just for error checking.
Definition at line 72 of file PorousFlowSink.h.
Referenced by PorousFlowSink().
|
protected |
Whether there is an "thermal_conductivity" Material. This is just for error checking.
Definition at line 90 of file PorousFlowSink.h.
Referenced by PorousFlowSink().
|
protected |
Internal_Energy of each phase.
Definition at line 135 of file PorousFlowSink.h.
|
protected |
Whether this BC involves fluid (whether the user has supplied a fluid phase number)
Definition at line 48 of file PorousFlowSink.h.
Referenced by PorousFlowSinkPTDefiner::dptVar(), PorousFlowSink(), PorousFlowSinkPTDefiner::PorousFlowSinkPTDefiner(), and PorousFlowSinkPTDefiner::ptVar().
|
protected |
|
protected |
Mass fraction of each component in each phase.
Definition at line 123 of file PorousFlowSink.h.
|
protected |
Flag to check whether permeabiity derivatives are non-zero.
Definition at line 156 of file PorousFlowSink.h.
Referenced by jac().
|
protected |
Permeability of porous material.
Definition at line 96 of file PorousFlowSink.h.
|
protected |
The phase number.
Definition at line 51 of file PorousFlowSink.h.
Referenced by computeQpResidual(), PorousFlowSinkPTDefiner::dptVar(), jac(), PorousFlowSink(), and PorousFlowSinkPTDefiner::ptVar().
|
protected |
Relative permeability of each phase.
Definition at line 117 of file PorousFlowSink.h.
|
protected |
The component number (only used if _use_mass_fraction==true)
Definition at line 60 of file PorousFlowSink.h.
Referenced by computeQpResidual(), jac(), and PorousFlowSink().
|
protected |
Thermal_Conductivity of porous material.
Definition at line 141 of file PorousFlowSink.h.
|
protected |
Whether to multiply the sink flux by enthalpy.
Definition at line 75 of file PorousFlowSink.h.
Referenced by computeQpResidual(), jac(), and PorousFlowSink().
|
protected |
Whether to multiply the sink flux by internal_energy.
Definition at line 81 of file PorousFlowSink.h.
Referenced by computeQpResidual(), jac(), and PorousFlowSink().
|
protected |
Whether the flux will be multiplied by the mass fraction.
Definition at line 54 of file PorousFlowSink.h.
Referenced by computeQpResidual(), jac(), and PorousFlowSink().
|
protected |
Whether to multiply the sink flux by permeability*density/viscosity.
Definition at line 63 of file PorousFlowSink.h.
Referenced by computeQpResidual(), jac(), and PorousFlowSink().
|
protected |
Whether to multiply the sink flux by relative permeability.
Definition at line 69 of file PorousFlowSink.h.
Referenced by computeQpResidual(), jac(), and PorousFlowSink().
|
protected |
Whether to multiply the sink flux by thermal_conductivity.
Definition at line 87 of file PorousFlowSink.h.
Referenced by computeQpResidual(), jac(), and PorousFlowSink().