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... | |
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... | |
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 35 of file PorousFlowSink.h.
PorousFlowSink::PorousFlowSink | ( | const InputParameters & | parameters | ) |
Definition at line 80 of file PorousFlowSink.C.
|
overrideprotectedvirtual |
Definition at line 249 of file PorousFlowSink.C.
|
overrideprotectedvirtual |
Definition at line 255 of file PorousFlowSink.C.
|
overrideprotectedvirtual |
Definition at line 224 of file PorousFlowSink.C.
|
protectedvirtual |
d(multiplier)/d(Porous flow variable pvar)
Reimplemented in PorousFlowHalfCubicSink, PorousFlowHalfGaussianSink, and PorousFlowPiecewiseLinearSink.
Definition at line 337 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 261 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 331 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 133 of file PorousFlowSink.h.
|
protected |
d(Fluid density for each phase (at the node))/d(PorousFlow variable)
Definition at line 109 of file PorousFlowSink.h.
|
protected |
d(Viscosity of each component in each phase)/d(PorousFlow variable)
Definition at line 115 of file PorousFlowSink.h.
|
protected |
PorousFlowDictator UserObject.
Definition at line 46 of file PorousFlowSink.h.
Referenced by jac(), and PorousFlowSink().
|
protected |
d(internal_energy of each phase)/d(PorousFlow variable)
Definition at line 139 of file PorousFlowSink.h.
|
protected |
d(Mass fraction of each component in each phase)/d(PorousFlow variable)
Definition at line 127 of file PorousFlowSink.h.
|
protected |
d(Permeability)/d(grad(PorousFlow variable))
Definition at line 103 of file PorousFlowSink.h.
Referenced by jac().
|
protected |
d(Permeability)/d(PorousFlow variable)
Definition at line 100 of file PorousFlowSink.h.
|
protected |
d(Relative permeability of each phase)/d(PorousFlow variable)
Definition at line 121 of file PorousFlowSink.h.
|
protected |
d(Thermal_Conductivity)/d(PorousFlow variable)
Definition at line 145 of file PorousFlowSink.h.
|
protected |
Enthalpy of each phase.
Definition at line 130 of file PorousFlowSink.h.
|
protected |
Fluid density for each phase (at the node)
Definition at line 106 of file PorousFlowSink.h.
|
protected |
Viscosity of each component in each phase.
Definition at line 112 of file PorousFlowSink.h.
Referenced by jac().
|
protected |
Whether there is an "enthalpy" Material. This is just for error checking.
Definition at line 79 of file PorousFlowSink.h.
Referenced by PorousFlowSink().
|
protected |
Whether there is an "internal_energy" Material. This is just for error checking.
Definition at line 85 of file PorousFlowSink.h.
Referenced by PorousFlowSink().
|
protected |
Whether there is a "mass_fraction" Material. This is just for error checking.
Definition at line 58 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 67 of file PorousFlowSink.h.
Referenced by PorousFlowSink().
|
protected |
Whether there is a "relperm" Material. This is just for error checking.
Definition at line 73 of file PorousFlowSink.h.
Referenced by PorousFlowSink().
|
protected |
Whether there is an "thermal_conductivity" Material. This is just for error checking.
Definition at line 91 of file PorousFlowSink.h.
Referenced by PorousFlowSink().
|
protected |
Internal_Energy of each phase.
Definition at line 136 of file PorousFlowSink.h.
|
protected |
Whether this BC involves fluid (whether the user has supplied a fluid phase number)
Definition at line 49 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 124 of file PorousFlowSink.h.
|
protected |
Permeability of porous material.
Definition at line 97 of file PorousFlowSink.h.
|
protected |
The phase number.
Definition at line 52 of file PorousFlowSink.h.
Referenced by computeQpResidual(), PorousFlowSinkPTDefiner::dptVar(), jac(), PorousFlowSink(), and PorousFlowSinkPTDefiner::ptVar().
|
protected |
Relative permeability of each phase.
Definition at line 118 of file PorousFlowSink.h.
|
protected |
The component number (only used if _use_mass_fraction==true)
Definition at line 61 of file PorousFlowSink.h.
Referenced by computeQpResidual(), jac(), and PorousFlowSink().
|
protected |
Thermal_Conductivity of porous material.
Definition at line 142 of file PorousFlowSink.h.
|
protected |
Whether to multiply the sink flux by enthalpy.
Definition at line 76 of file PorousFlowSink.h.
Referenced by computeQpResidual(), jac(), and PorousFlowSink().
|
protected |
Whether to multiply the sink flux by internal_energy.
Definition at line 82 of file PorousFlowSink.h.
Referenced by computeQpResidual(), jac(), and PorousFlowSink().
|
protected |
Whether the flux will be multiplied by the mass fraction.
Definition at line 55 of file PorousFlowSink.h.
Referenced by computeQpResidual(), jac(), and PorousFlowSink().
|
protected |
Whether to multiply the sink flux by permeability*density/viscosity.
Definition at line 64 of file PorousFlowSink.h.
Referenced by computeQpResidual(), jac(), and PorousFlowSink().
|
protected |
Whether to multiply the sink flux by relative permeability.
Definition at line 70 of file PorousFlowSink.h.
Referenced by computeQpResidual(), jac(), and PorousFlowSink().
|
protected |
Whether to multiply the sink flux by thermal_conductivity.
Definition at line 88 of file PorousFlowSink.h.
Referenced by computeQpResidual(), jac(), and PorousFlowSink().