35 Real
jac(
unsigned int jvar);
45 Real
dptqp(
unsigned pvar)
const;
52 unsigned current_dirac_ptid,
54 Real & outflowp)
const = 0;
const InputParameters & parameters() const
This holds maps between the nonlinear variables used in a PorousFlow simulation and the variable numb...
Approximates a borehole by a sequence of Dirac Points.
Approximates a line sink a sequence of Dirac Points.
Real dptqp(unsigned pvar) const
If _p_or_t==0, then returns d(quadpoint porepressure)/d(PorousFlow variable), else returns d(quadpoin...
const bool _has_temperature
Whether a quadpoint temperature material exists (for error checking)
const MaterialProperty< std::vector< Real > > *const _pp
Quadpoint pore pressure in each phase.
const MaterialProperty< Real > *const _temperature
Quadpoint temperature.
const MaterialProperty< std::vector< std::vector< Real > > > *const _drelative_permeability_dvar
d(Relative permeability of each phase)/d(PorousFlow variable)
const PorousFlowDictator & _dictator
PorousFlowDictator UserObject.
const VariableValue & _multiplying_var
mass flux is multiplied by this variable evaluated at quadpoints
virtual Real computeQpResidual() override
const MaterialProperty< std::vector< std::vector< Real > > > *const _denthalpy_dvar
d(enthalpy of each phase)/d(PorousFlow variable)
PorTchoice
whether the flux is a function of pressure or temperature
virtual Real computeQpBaseOutflow(unsigned current_dirac_ptid) const =0
Returns the flux from the line sink (before modification by mobility, etc). Derived classes should ov...
Real jac(unsigned int jvar)
Jacobian contribution for the derivative wrt the variable jvar.
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
const MaterialProperty< std::vector< std::vector< Real > > > *const _dfluid_density_node_dvar
d(Fluid density for each phase (at the node))/d(PorousFlow variable)
const bool _use_mobility
Whether the flux will be multiplied by the mobility.
const bool _has_porepressure
Whether a quadpoint porepressure material exists (for error checking)
const bool _has_relative_permeability
Whether a relative permeability material exists (for error checking)
enum PorousFlowLineSink::PorTchoice _p_or_t
const MaterialProperty< std::vector< Real > > *const _relative_permeability
Relative permeability of each phase.
const MaterialProperty< std::vector< Real > > *const _internal_energy
Internal_Energy of each phase.
PorousFlowSumQuantity & _total_outflow_mass
This is used to hold the total fluid flowing into the line sink for each time step.
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)
const bool _has_mass_fraction
Whether a mass_fraction material exists (for error checking)
const MaterialProperty< std::vector< Real > > *const _fluid_viscosity
Viscosity of each component in each phase.
const bool _use_mass_fraction
Whether the flux will be multiplied by the mass fraction.
static InputParameters validParams()
const MaterialProperty< std::vector< Real > > *const _enthalpy
Enthalpy of each phase.
const MaterialProperty< std::vector< std::vector< Real > > > *const _mass_fractions
Mass fraction of each component in each phase.
const bool _has_enthalpy
Whether an enthalpy material exists (for error checking)
const MaterialProperty< std::vector< std::vector< Real > > > *const _dpp_dvar
d(quadpoint pore pressure in each phase)/d(PorousFlow variable)
virtual void addPoints() override
Add Dirac Points to the borehole.
Real ptqp() const
If _p_or_t==0, then returns the quadpoint porepressure, else returns the quadpoint temperature.
virtual Real computeQpJacobian() override
const MaterialProperty< std::vector< std::vector< Real > > > *const _dfluid_viscosity_dvar
d(Viscosity of each component in each phase)/d(PorousFlow variable)
const unsigned int _sp
The component number (only used if _use_mass_fraction==true)
virtual void computeQpBaseOutflowJacobian(unsigned jvar, unsigned current_dirac_ptid, Real &outflow, Real &outflowp) const =0
Calculates the BaseOutflow as well as its derivative wrt jvar. Derived classes should override this.
const unsigned int _ph
The phase number.
const bool _use_enthalpy
Whether the flux will be multiplied by the enthalpy.
const bool _has_internal_energy
Whether an internal-energy material exists (for error checking)
const MaterialProperty< std::vector< std::vector< Real > > > *const _dinternal_energy_dvar
d(internal_energy of each phase)/d(PorousFlow variable)
const bool _use_relative_permeability
Whether the flux will be multiplied by the relative permeability.
const bool _use_internal_energy
Whether the flux will be multiplied by the internal-energy.
const bool _has_mobility
Whether enough materials exist to form the mobility (for error checking)
const MaterialProperty< std::vector< Real > > *const _dtemperature_dvar
d(quadpoint temperature)/d(PorousFlow variable)
const MaterialProperty< std::vector< Real > > *const _fluid_density_node
Fluid density for each phase (at the node)
Sums into _total This is used, for instance, to record the total mass flowing into a borehole.
VariableValueTempl< false > VariableValue