Applies a fully-upwinded flux sink to a boundary The sink is a piecewise linear function of porepressure at the quad points. More...
#include <Q2PPiecewiseLinearSink.h>
Public Member Functions | |
Q2PPiecewiseLinearSink (const InputParameters ¶meters) | |
Protected Member Functions | |
virtual void | computeResidual () override |
virtual Real | computeQpResidual () override |
virtual void | computeJacobian () override |
virtual Real | computeQpJacobian () override |
virtual void | computeJacobianBlock (MooseVariableFEBase &jvar) override |
virtual Real | computeQpOffDiagJacobian (unsigned int jvar) override |
void | prepareNodalValues () |
calculates the nodal values of pressure, mobility, and derivatives thereof More... | |
Real | jac (unsigned int wrt_num) |
derivative of residual wrt the wrt_num variable More... | |
Protected Attributes | |
bool | _use_mobility |
whether to multiply the sink flux by permeability*density/viscosity More... | |
bool | _use_relperm |
whether to multiply the sink flux by relative permeability More... | |
LinearInterpolation | _sink_func |
piecewise-linear function of porepressure (this defines the strength of the sink) More... | |
const Function & | _m_func |
sink flux gets multiplied by this function More... | |
const RichardsDensity & | _density |
fluid density More... | |
const RichardsRelPerm & | _relperm |
fluid relative permeability More... | |
const VariableValue & | _other_var_nodal |
the other variable in the 2-phase system (this is saturation if Variable=porepressure, and viceversa) More... | |
unsigned int | _other_var_num |
the variable number of the other variable More... | |
bool | _var_is_pp |
whether the Variable for this BC is porepressure or not More... | |
Real | _viscosity |
viscosity More... | |
const MaterialProperty< RealTensorValue > & | _permeability |
permeability More... | |
unsigned int | _num_nodes |
number of nodes in this element. More... | |
std::vector< Real > | _pp |
nodal values of porepressure More... | |
std::vector< Real > | _sat |
nodal values of saturation More... | |
std::vector< Real > | _nodal_density |
nodal values of fluid density More... | |
std::vector< Real > | _dnodal_density_dp |
d(_nodal_density)/d(porepressure) More... | |
std::vector< Real > | _nodal_relperm |
nodal values of relative permeability More... | |
std::vector< Real > | _dnodal_relperm_ds |
d(_nodal_relperm)/d(saturation) More... | |
Applies a fully-upwinded flux sink to a boundary The sink is a piecewise linear function of porepressure at the quad points.
This is specified by _sink_func. In addition, this sink can be multiplied by: (1) the relative permeability of the fluid at the quad point. (2) perm_nn*density/viscosity, where perm_nn is the permeability tensor projected in the normal direction. (3) a Function (which can be time-dependent, for instance) This is for use in Q2P models
Definition at line 36 of file Q2PPiecewiseLinearSink.h.
Q2PPiecewiseLinearSink::Q2PPiecewiseLinearSink | ( | const InputParameters & | parameters | ) |
Definition at line 75 of file Q2PPiecewiseLinearSink.C.
|
overrideprotectedvirtual |
Definition at line 178 of file Q2PPiecewiseLinearSink.C.
|
overrideprotectedvirtual |
Definition at line 191 of file Q2PPiecewiseLinearSink.C.
|
overrideprotectedvirtual |
Definition at line 185 of file Q2PPiecewiseLinearSink.C.
|
overrideprotectedvirtual |
Definition at line 198 of file Q2PPiecewiseLinearSink.C.
|
overrideprotectedvirtual |
Definition at line 156 of file Q2PPiecewiseLinearSink.C.
|
overrideprotectedvirtual |
Definition at line 149 of file Q2PPiecewiseLinearSink.C.
|
protected |
derivative of residual wrt the wrt_num variable
Definition at line 207 of file Q2PPiecewiseLinearSink.C.
Referenced by computeQpJacobian(), and computeQpOffDiagJacobian().
|
protected |
calculates the nodal values of pressure, mobility, and derivatives thereof
Definition at line 100 of file Q2PPiecewiseLinearSink.C.
Referenced by computeJacobian(), computeJacobianBlock(), and computeResidual().
|
protected |
fluid density
Definition at line 68 of file Q2PPiecewiseLinearSink.h.
Referenced by prepareNodalValues().
|
protected |
d(_nodal_density)/d(porepressure)
Definition at line 101 of file Q2PPiecewiseLinearSink.h.
Referenced by jac(), and prepareNodalValues().
|
protected |
d(_nodal_relperm)/d(saturation)
Definition at line 107 of file Q2PPiecewiseLinearSink.h.
Referenced by jac(), and prepareNodalValues().
|
protected |
sink flux gets multiplied by this function
Definition at line 65 of file Q2PPiecewiseLinearSink.h.
Referenced by computeQpResidual(), and jac().
|
protected |
nodal values of fluid density
Definition at line 98 of file Q2PPiecewiseLinearSink.h.
Referenced by computeQpResidual(), jac(), and prepareNodalValues().
|
protected |
nodal values of relative permeability
Definition at line 104 of file Q2PPiecewiseLinearSink.h.
Referenced by computeQpResidual(), jac(), and prepareNodalValues().
|
protected |
number of nodes in this element.
Definition at line 89 of file Q2PPiecewiseLinearSink.h.
Referenced by prepareNodalValues().
|
protected |
the other variable in the 2-phase system (this is saturation if Variable=porepressure, and viceversa)
Definition at line 74 of file Q2PPiecewiseLinearSink.h.
Referenced by prepareNodalValues().
|
protected |
the variable number of the other variable
Definition at line 77 of file Q2PPiecewiseLinearSink.h.
Referenced by computeQpOffDiagJacobian(), and jac().
|
protected |
permeability
Definition at line 86 of file Q2PPiecewiseLinearSink.h.
Referenced by computeQpResidual(), and jac().
|
protected |
nodal values of porepressure
Definition at line 92 of file Q2PPiecewiseLinearSink.h.
Referenced by computeQpResidual(), jac(), and prepareNodalValues().
|
protected |
fluid relative permeability
Definition at line 71 of file Q2PPiecewiseLinearSink.h.
Referenced by prepareNodalValues().
|
protected |
nodal values of saturation
Definition at line 95 of file Q2PPiecewiseLinearSink.h.
Referenced by prepareNodalValues().
|
protected |
piecewise-linear function of porepressure (this defines the strength of the sink)
Definition at line 62 of file Q2PPiecewiseLinearSink.h.
Referenced by computeQpResidual(), and jac().
|
protected |
whether to multiply the sink flux by permeability*density/viscosity
Definition at line 56 of file Q2PPiecewiseLinearSink.h.
Referenced by computeQpResidual(), jac(), and prepareNodalValues().
|
protected |
whether to multiply the sink flux by relative permeability
Definition at line 59 of file Q2PPiecewiseLinearSink.h.
Referenced by computeQpResidual(), jac(), and prepareNodalValues().
|
protected |
whether the Variable for this BC is porepressure or not
Definition at line 80 of file Q2PPiecewiseLinearSink.h.
Referenced by jac(), and prepareNodalValues().
|
protected |
viscosity
Definition at line 83 of file Q2PPiecewiseLinearSink.h.
Referenced by computeQpResidual(), and jac().