https://mooseframework.inl.gov
Loading...
Searching...
No Matches
PorousFlowPeacemanBorehole.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
3//*
4//* All rights reserved, see COPYRIGHT for full restrictions
5//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6//*
7//* Licensed under LGPL 2.1, please see LICENSE for details
8//* https://www.gnu.org/licenses/lgpl-2.1.html
9
10#pragma once
11
12#include "PorousFlowLineSink.h"
13
18{
19public:
29
31
32 void virtual initialSetup() override;
33
34protected:
43
46
48 const RealVectorValue _unit_weight;
49
51 const Real _re_constant;
52
54 const Real _well_constant;
55
58
61
64
67
69 std::vector<RealTensorValue> _rot_matrix;
70
76 Real wellConstant(const RealTensorValue & perm,
77 const RealTensorValue & rot,
78 const Real & half_len,
79 const Elem * ele,
80 const Real & rad) const;
81
82 Real computeQpBaseOutflow(unsigned current_dirac_ptid) const override;
83 void computeQpBaseOutflowJacobian(unsigned jvar,
84 unsigned current_dirac_ptid,
85 Real & outflow,
86 Real & outflowp) const override;
87};
const InputParameters & parameters() const
Approximates a line sink a sequence of Dirac Points.
Approximates a borehole by a sequence of Dirac Points.
static InputParameters validParams()
Creates a new PorousFlowPeacemanBorehole This reads the file containing the lines of the form radius ...
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 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.
const MaterialProperty< std::vector< RealTensorValue > > & _dperm_or_cond_dvar
d(Permeability)/d(PorousFlow variable)
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 _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 _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.