140 const RealTensorValue & rot,
141 const Real & half_len,
143 const Real & rad)
const;
147 unsigned current_dirac_ptid,
149 Real & outflowp)
const override;
const InputParameters & parameters() const
Approximates a line sink a sequence of Dirac Points.
Approximates a borehole by a sequence of Dirac Points.
virtual void initialSetup() override
static InputParameters validParams()
Creates a new PorousFlowPeacemanBorehole This reads the file containing the lines of the form radius ...
void computeWellborePressures()
(Re)computes _bh_pressure from the temperature at each well point, when _use_density_from_temperature...
const MaterialProperty< RealTensorValue > & _perm_or_cond
Permeability or conductivity of porous material.
const bool _has_permeability
Whether there is a quadpoint permeability material (for error checking)
const unsigned int _temperature_var_number
Variable number of unit_weight_temperature within _temperature_system.
Real wellborePressure(unsigned current_dirac_ptid) const
The wellbore pressure (or temperature, for function_of=temperature) at the given Dirac point,...
const bool _use_density_from_temperature
Whether the wellbore pressure profile is built from a temperature-dependent fluid density (true if th...
const libMesh::System *const _temperature_system
The libMesh system holding _temperature_var, used to sample that variable at borehole points that may...
const Function & _character
If positive then the borehole acts as a sink (producion well) for porepressure > borehole pressure,...
const bool _has_thermal_conductivity
Whether there is a quadpoint thermal conductivity material (for error checking)
void computeQpBaseOutflowJacobian(unsigned jvar, unsigned current_dirac_ptid, Real &outflow, Real &outflowp) const override
Calculates the BaseOutflow as well as its derivative wrt jvar. Derived classes should override this.
std::vector< Real > _bh_pressure
Wellbore pressure at each well point, indexed by Dirac point ID.
const MaterialProperty< std::vector< RealTensorValue > > & _dperm_or_cond_dvar
d(Permeability)/d(PorousFlow variable)
virtual void residualSetup() override
const RealVectorValue _gravity
Gravitational acceleration (in the units used elsewhere in the input file), pointing downwards.
Real computeQpBaseOutflow(unsigned current_dirac_ptid) const override
Returns the flux from the line sink (before modification by mobility, etc). Derived classes should ov...
const Real _density_reference_pressure
Fixed pressure (Pa) at which the in-well fluid density is evaluated.
const Real _re_constant
Borehole constant.
Real wellConstant(const RealTensorValue &perm, const RealTensorValue &rot, const Real &half_len, const Elem *ele, const Real &rad) const
Calculates Peaceman's form of the borehole well constant Z Chen, Y Zhang, Well flow models for variou...
std::vector< RealTensorValue > _rot_matrix
Rotation matrix used in well_constant calculation.
const Real _t_c2k
Conversion of unit_weight_temperature's values to Kelvin (0 for Kelvin, 273.15 for Celsius)
const SinglePhaseFluidProperties *const _fp
Fluid properties used to evaluate the in-well fluid density.
const Real _well_constant
Well constant.
const RealVectorValue _unit_weight
Unit weight of fluid in borehole (for calculating bottomhole pressure at each Dirac Point).
const Function & _p_bot
Bottomhole pressure of borehole.
virtual void jacobianSetup() override
const MooseVariableFieldBase *const _temperature_var
The coupled unit_weight_temperature variable.
Common class for single phase fluid properties.
The following methods are specializations for using the Parallel::packed_range_* routines for a vecto...