Computes the advective flux of fluid of given phase and component. More...
#include <PorousFlowAdvectiveFluxCalculatorUnsaturatedMultiComponent.h>
Public Member Functions | |
PorousFlowAdvectiveFluxCalculatorUnsaturatedMultiComponent (const InputParameters ¶meters) | |
const std::map< dof_id_type, std::vector< Real > > & | getdFluxOut_dvars (unsigned node_id) const |
Returns d(flux_out)/d(porous_flow_variables. More... | |
virtual void | meshChanged () override |
Real | getFluxOut (dof_id_type node_i) const |
Returns the flux out of lobal node id. More... | |
const std::map< dof_id_type, Real > & | getdFluxOutdu (dof_id_type node_i) const |
Returns r where r[j] = d(flux out of global node i)/du(global node j) used in Jacobian computations. More... | |
const std::map< dof_id_type, std::map< dof_id_type, Real > > & | getdFluxOutdKjk (dof_id_type node_i) const |
Returns r where r[j] = d(flux out of global node i)/dK[global node j][global node k] used in Jacobian computations. More... | |
unsigned | getValence (dof_id_type node_i, dof_id_type node_j) const |
Returns the valence of the i-j edge. More... | |
Protected Types | |
enum | FluxLimiterTypeEnum { FluxLimiterTypeEnum::MinMod, FluxLimiterTypeEnum::VanLeer, FluxLimiterTypeEnum::MC, FluxLimiterTypeEnum::superbee, FluxLimiterTypeEnum::None } |
Determines Flux Limiter type (Page 135 of Kuzmin and Turek) "None" means that limitFlux=0 always, which implies zero antidiffusion will be added. More... | |
enum | PQPlusMinusEnum { PQPlusMinusEnum::PPlus, PQPlusMinusEnum::PMinus, PQPlusMinusEnum::QPlus, PQPlusMinusEnum::QMinus } |
Signals to the PQPlusMinus method what should be computed. More... | |
Protected Member Functions | |
virtual Real | computeU (unsigned i) const override |
Computes the value of u at the local node id of the current element (_current_elem) More... | |
virtual Real | computedU_dvar (unsigned i, unsigned pvar) const override |
Compute d(u)/d(porous_flow_variable) More... | |
virtual void | timestepSetup () override |
virtual void | initialize () override |
virtual void | execute () override |
virtual void | finalize () override |
virtual void | threadJoin (const UserObject &uo) override |
virtual Real | computeVelocity (unsigned i, unsigned j, unsigned qp) const override |
Computes the transfer velocity between current node i and current node j at the current qp in the current element (_current_elem). More... | |
virtual void | executeOnElement (dof_id_type global_i, dof_id_type global_j, unsigned local_i, unsigned local_j, unsigned qp) override |
This is called by multiple times in execute() in a double loop over _current_elem's nodes (local_i and local_j) nested in a loop over each of _current_elem's quadpoints (qp). More... | |
const std::vector< Real > & | getdU_dvar (dof_id_type node_i) const |
Returns _du_dvar[node_i] which is the set of derivatives d(u)/d(porous_flow_variable) This will have been computed during execute() by computedU_dvar() More... | |
bool | getdU_dvarComputedByThread (dof_id_type node_i) const |
Returns _du_dvar_computed_by_thread[node_i] This is initialized to false in initialize() and potentially set to true during execute() More... | |
const std::map< dof_id_type, std::vector< Real > > & | getdK_dvar (dof_id_type node_i, dof_id_type node_j) const |
Returns, r, where r[global node k][a] = d(K[node_i][node_j])/d(porous_flow_variable[global node k][porous_flow_variable a]) param node_i global node id param node_j global node id. More... | |
void | limitFlux (Real a, Real b, Real &limited, Real &dlimited_db) const |
flux limiter, L, on Page 135 of Kuzmin and Turek More... | |
Real | rPlus (dof_id_type node_i, std::map< dof_id_type, Real > &dlimited_du, std::map< dof_id_type, Real > &dlimited_dk) const |
Returns the value of R_{i}^{+}, Eqn (49) of KT. More... | |
Real | rMinus (dof_id_type node_i, std::map< dof_id_type, Real > &dlimited_du, std::map< dof_id_type, Real > &dlimited_dk) const |
Returns the value of R_{i}^{-}, Eqn (49) of KT. More... | |
Real | getKij (dof_id_type node_i, dof_id_type node_j) const |
Returns the value of k_ij as computed by KT Eqns (18)-(20). More... | |
Real | PQPlusMinus (dof_id_type node_i, const PQPlusMinusEnum pq_plus_minus, std::map< dof_id_type, Real > &derivs, std::map< dof_id_type, Real > &dpq_dk) const |
Returns the value of P_{i}^{+}, P_{i}^{-}, Q_{i}^{+} or Q_{i}^{-} (depending on pq_plus_minus) which are defined in Eqns (47) and (48) of KT. More... | |
void | zeroedConnection (std::map< dof_id_type, Real > &the_map, dof_id_type node_i) const |
Clears the_map, then, using _kij, constructs the_map so that the_map[node_id] = 0.0 for all node_id connected with node_i. More... | |
Real | getUnodal (dof_id_type node_i) const |
Returns the value of u at the global id node_i. More... | |
bool | getUnodalComputedByThread (dof_id_type node_i) const |
Returns the value of _u_nodal_computed_by_thread at the global id node_i. More... | |
Protected Attributes | |
const MaterialProperty< std::vector< Real > > & | _relative_permeability |
Relative permeability of each phase. More... | |
const MaterialProperty< std::vector< std::vector< Real > > > & | _drelative_permeability_dvar |
Derivative of relative permeability of each phase wrt PorousFlow variables. More... | |
const unsigned int | _fluid_component |
The fluid component. More... | |
const MaterialProperty< std::vector< std::vector< Real > > > & | _mass_fractions |
Mass fraction of each component in each phase. More... | |
const MaterialProperty< std::vector< std::vector< std::vector< Real > > > > & | _dmass_fractions_dvar |
Derivative of the mass fraction of each component in each phase wrt PorousFlow variables. More... | |
const bool | _multiply_by_density |
Whether to multiply the flux by the fluid density. 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 |
Derivative of the fluid density for each phase wrt PorousFlow variables (at the node) More... | |
const MaterialProperty< std::vector< Real > > & | _fluid_viscosity |
Viscosity of each component in each phase. More... | |
const MaterialProperty< std::vector< std::vector< Real > > > & | _dfluid_viscosity_dvar |
Derivative of the fluid viscosity for each phase wrt PorousFlow variables. More... | |
const PorousFlowDictator & | _dictator |
PorousFlowDictator UserObject. More... | |
const unsigned | _num_vars |
Number of PorousFlow variables. More... | |
const RealVectorValue | _gravity |
Gravity. More... | |
const unsigned int | _phase |
The phase. More... | |
const MaterialProperty< RealTensorValue > & | _permeability |
Permeability of porous material. More... | |
const MaterialProperty< std::vector< RealTensorValue > > & | _dpermeability_dvar |
d(permeabiity)/d(PorousFlow variable) More... | |
const MaterialProperty< std::vector< std::vector< RealTensorValue > > > & | _dpermeability_dgradvar |
d(permeabiity)/d(grad(PorousFlow variable)) More... | |
const MaterialProperty< std::vector< Real > > & | _fluid_density_qp |
Fluid density for each phase (at the qp) More... | |
const MaterialProperty< std::vector< std::vector< Real > > > & | _dfluid_density_qp_dvar |
Derivative of the fluid density for each phase wrt PorousFlow variables (at the qp) More... | |
const MaterialProperty< std::vector< RealGradient > > & | _grad_p |
Gradient of the pore pressure in each phase. More... | |
const MaterialProperty< std::vector< std::vector< Real > > > & | _dgrad_p_dgrad_var |
Derivative of Grad porepressure in each phase wrt grad(PorousFlow variables) More... | |
const MaterialProperty< std::vector< std::vector< RealGradient > > > & | _dgrad_p_dvar |
Derivative of Grad porepressure in each phase wrt PorousFlow variables. More... | |
const FEType | _fe_type |
FEType to use. More... | |
const VariablePhiValue & | _phi |
Kuzmin-Turek shape function. More... | |
const VariablePhiGradient & | _grad_phi |
grad(Kuzmin-Turek shape function) More... | |
std::map< dof_id_type, std::vector< Real > > | _du_dvar |
_du_dvar[i][a] = d(u[global node i])/d(porous_flow_variable[a]) More... | |
std::map< dof_id_type, bool > | _du_dvar_computed_by_thread |
Whether _du_dvar has been computed by the local thread. More... | |
std::map< dof_id_type, std::map< dof_id_type, std::map< dof_id_type, std::vector< Real > > > > | _dkij_dvar |
_dkij_dvar[i][j][k][a] = d(K[global node i][global node j])/d(porous_flow_variable[global_node k][porous_flow_variable a]) More... | |
std::map< dof_id_type, std::map< dof_id_type, std::vector< Real > > > | _dflux_out_dvars |
_dflux_out_dvars[i][j][pvar] = d(flux_out[global node i])/d(porous_flow_variable pvar at global node j) More... | |
bool | _resizing_needed |
whether _kij, etc, need to be sized appropriately (and valence recomputed) at the start of the timestep More... | |
enum AdvectiveFluxCalculatorBase::FluxLimiterTypeEnum | _flux_limiter_type |
std::map< dof_id_type, std::map< dof_id_type, Real > > | _kij |
Kuzmin-Turek K_ij matrix. More... | |
std::map< dof_id_type, Real > | _flux_out |
_flux_out[i] = flux of "heat" from node i More... | |
std::map< dof_id_type, std::map< dof_id_type, Real > > | _dflux_out_du |
_dflux_out_du[i][j] = d(flux_out[i])/d(u[j]). Here j must be connected to i, or to a node that is connected to i. More... | |
std::map< dof_id_type, std::map< dof_id_type, std::map< dof_id_type, Real > > > | _dflux_out_dKjk |
_dflux_out_dKjk[i][j][k] = d(flux_out[i])/d(K[j][k]). Here j must be connected to i (this does include j = i), and k must be connected to j (this does include k = i and k = j) More... | |
std::map< std::pair< dof_id_type, dof_id_type >, unsigned > | _valence |
_valence[(i, j)] = number of times, in a loop over elements seen by this processor (viz, including ghost elements) and are part of the block-restricted blocks of this UserObject, that the i-j edge is encountered More... | |
std::map< dof_id_type, Real > | _u_nodal |
_u_nodal[i] = value of _u at global node number i More... | |
std::map< dof_id_type, bool > | _u_nodal_computed_by_thread |
_u_nodal_computed_by_thread[i] = true if _u_nodal[i] has been computed in execute() by the thread on this processor More... | |
Computes the advective flux of fluid of given phase and component.
Hence this UserObject is relevant to multi-phase, multi-component situations. Explicitly, the UserObject computes (mass_fraction * density * relative_permeability / viscosity) * (- permeability * (grad(P) - density * gravity))
Definition at line 27 of file PorousFlowAdvectiveFluxCalculatorUnsaturatedMultiComponent.h.
|
strongprotectedinherited |
Determines Flux Limiter type (Page 135 of Kuzmin and Turek) "None" means that limitFlux=0 always, which implies zero antidiffusion will be added.
Enumerator | |
---|---|
MinMod | |
VanLeer | |
MC | |
superbee | |
None |
Definition at line 162 of file AdvectiveFluxCalculatorBase.h.
|
strongprotectedinherited |
Signals to the PQPlusMinus method what should be computed.
Enumerator | |
---|---|
PPlus | |
PMinus | |
QPlus | |
QMinus |
Definition at line 193 of file AdvectiveFluxCalculatorBase.h.
PorousFlowAdvectiveFluxCalculatorUnsaturatedMultiComponent::PorousFlowAdvectiveFluxCalculatorUnsaturatedMultiComponent | ( | const InputParameters & | parameters | ) |
Definition at line 27 of file PorousFlowAdvectiveFluxCalculatorUnsaturatedMultiComponent.C.
|
overrideprotectedvirtual |
Compute d(u)/d(porous_flow_variable)
i | node number of the current element |
pvar | porous flow variable number |
Reimplemented from PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent.
Definition at line 44 of file PorousFlowAdvectiveFluxCalculatorUnsaturatedMultiComponent.C.
|
overrideprotectedvirtual |
Computes the value of u at the local node id of the current element (_current_elem)
i | local node id of the current element |
Reimplemented from PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent.
Definition at line 37 of file PorousFlowAdvectiveFluxCalculatorUnsaturatedMultiComponent.C.
|
overrideprotectedvirtualinherited |
Computes the transfer velocity between current node i and current node j at the current qp in the current element (_current_elem).
For instance, (_grad_phi[i][qp] * _velocity) * _phi[j][qp];
i | node number in the current element |
j | node number in the current element |
qp | quadpoint number in the current element |
Implements AdvectiveFluxCalculatorBase.
Definition at line 91 of file PorousFlowAdvectiveFluxCalculatorBase.C.
|
overrideprotectedvirtualinherited |
Reimplemented from AdvectiveFluxCalculatorBase.
Definition at line 187 of file PorousFlowAdvectiveFluxCalculatorBase.C.
|
overrideprotectedvirtualinherited |
This is called by multiple times in execute() in a double loop over _current_elem's nodes (local_i and local_j) nested in a loop over each of _current_elem's quadpoints (qp).
It is used to compute _kij and its derivatives
global_i | global node id corresponding to the local node local_i |
global_j | global node id corresponding to the local node local_j |
local_i | local node number of the _current_elem |
local_j | local node number of the _current_elem |
qp | quadpoint number of the _current_elem |
Reimplemented from AdvectiveFluxCalculatorBase.
Definition at line 104 of file PorousFlowAdvectiveFluxCalculatorBase.C.
|
overrideprotectedvirtualinherited |
Reimplemented from AdvectiveFluxCalculatorBase.
Definition at line 284 of file PorousFlowAdvectiveFluxCalculatorBase.C.
|
inherited |
Returns d(flux_out)/d(porous_flow_variables.
[in] | node_id | global node id |
Definition at line 274 of file PorousFlowAdvectiveFluxCalculatorBase.C.
Referenced by PorousFlowFluxLimitedTVDAdvection::computeJacobian().
|
inherited |
Returns r where r[j] = d(flux out of global node i)/dK[global node j][global node k] used in Jacobian computations.
node_i | global id of node |
Definition at line 723 of file AdvectiveFluxCalculatorBase.C.
Referenced by PorousFlowAdvectiveFluxCalculatorBase::finalize().
|
inherited |
Returns r where r[j] = d(flux out of global node i)/du(global node j) used in Jacobian computations.
node_i | global id of node |
Definition at line 713 of file AdvectiveFluxCalculatorBase.C.
Referenced by FluxLimitedTVDAdvection::computeJacobian(), and PorousFlowAdvectiveFluxCalculatorBase::finalize().
|
protectedinherited |
Returns, r, where r[global node k][a] = d(K[node_i][node_j])/d(porous_flow_variable[global node k][porous_flow_variable a]) param node_i global node id param node_j global node id.
Definition at line 257 of file PorousFlowAdvectiveFluxCalculatorBase.C.
Referenced by PorousFlowAdvectiveFluxCalculatorBase::finalize().
|
protectedinherited |
Returns _du_dvar[node_i] which is the set of derivatives d(u)/d(porous_flow_variable) This will have been computed during execute() by computedU_dvar()
node_i | global node id |
Definition at line 237 of file PorousFlowAdvectiveFluxCalculatorBase.C.
Referenced by PorousFlowAdvectiveFluxCalculatorBase::finalize().
|
protectedinherited |
Returns _du_dvar_computed_by_thread[node_i] This is initialized to false in initialize() and potentially set to true during execute()
node_i | global node id |
Definition at line 247 of file PorousFlowAdvectiveFluxCalculatorBase.C.
Referenced by PorousFlowAdvectiveFluxCalculatorBase::threadJoin().
|
inherited |
Returns the flux out of lobal node id.
node_i | id of node |
Definition at line 733 of file AdvectiveFluxCalculatorBase.C.
Referenced by FluxLimitedTVDAdvection::computeResidual(), and PorousFlowFluxLimitedTVDAdvection::computeResidual().
|
protectedinherited |
Returns the value of k_ij as computed by KT Eqns (18)-(20).
node_i | id of i^th node |
node_j | id of j^th node |
Definition at line 696 of file AdvectiveFluxCalculatorBase.C.
|
protectedinherited |
Returns the value of u at the global id node_i.
This is _u_nodal[node_i] that has been computed by computeU during execute()
node_i | global node id |
Definition at line 853 of file AdvectiveFluxCalculatorBase.C.
Referenced by AdvectiveFluxCalculatorBase::finalize(), and AdvectiveFluxCalculatorBase::PQPlusMinus().
|
protectedinherited |
Returns the value of _u_nodal_computed_by_thread at the global id node_i.
This will have been initialized to false in initialize() and potentially set true during execute()
node_i | global node id |
Definition at line 863 of file AdvectiveFluxCalculatorBase.C.
Referenced by AdvectiveFluxCalculatorBase::threadJoin().
|
inherited |
Returns the valence of the i-j edge.
Valence is the number of times the edge is encountered in a loop over elements (that have appropriate subdomain_id, if the user has employed the "blocks=" parameter) seen by this processor (including ghosted elements)
node_i | id of i^th node |
node_j | id of j^th node |
Definition at line 743 of file AdvectiveFluxCalculatorBase.C.
Referenced by FluxLimitedTVDAdvection::computeJacobian(), PorousFlowFluxLimitedTVDAdvection::computeJacobian(), FluxLimitedTVDAdvection::computeResidual(), and PorousFlowFluxLimitedTVDAdvection::computeResidual().
|
overrideprotectedvirtualinherited |
Reimplemented from AdvectiveFluxCalculatorBase.
Definition at line 175 of file PorousFlowAdvectiveFluxCalculatorBase.C.
|
protectedinherited |
flux limiter, L, on Page 135 of Kuzmin and Turek
a | KT's "a" parameter |
b | KT's "b" parameter |
limited[out] | The value of the flux limiter, L |
dlimited_db[out] | The derivative dL/db |
Definition at line 596 of file AdvectiveFluxCalculatorBase.C.
Referenced by AdvectiveFluxCalculatorBase::rMinus(), and AdvectiveFluxCalculatorBase::rPlus().
|
overridevirtualinherited |
Definition at line 149 of file AdvectiveFluxCalculatorBase.C.
|
protectedinherited |
Returns the value of P_{i}^{+}, P_{i}^{-}, Q_{i}^{+} or Q_{i}^{-} (depending on pq_plus_minus) which are defined in Eqns (47) and (48) of KT.
node_i | global nodal id |
pq_plus_minus | indicates whether P_{i}^{+}, P_{i}^{-}, Q_{i}^{+} or Q_{i}^{-} should be returned |
derivs[out] | derivs[j] = d(result)/d(u[global node j]) |
dpq_dk[out] | dpq_dk[j] = d(result)/d(K[node_i][global node j]). Recall that d(result)/d(K[l][m]) are zero unless l=node_i |
Definition at line 768 of file AdvectiveFluxCalculatorBase.C.
Referenced by AdvectiveFluxCalculatorBase::rMinus(), and AdvectiveFluxCalculatorBase::rPlus().
|
protectedinherited |
Returns the value of R_{i}^{-}, Eqn (49) of KT.
node_i | nodal id |
dlimited_du[out] | dlimited_du[node_id] = d(R_{i}^{-})/du[node_id] |
dlimited_dk[out] | dlimited_dk[node_id] = d(R_{i}^{-})/d(K[i][node_id]). Derivatives w.r.t. K[l][m] with l!=i are zero |
Definition at line 561 of file AdvectiveFluxCalculatorBase.C.
Referenced by AdvectiveFluxCalculatorBase::finalize().
|
protectedinherited |
Returns the value of R_{i}^{+}, Eqn (49) of KT.
node_i | nodal id |
dlimited_du[out] | dlimited_du[node_id] = d(R_{i}^{+})/du[node_id] (Here node_id is a global node id) |
dlimited_dk[out] | dlimited_dk[node_id] = d(R_{i}^{+})/d(K[i][node_id]). Derivatives w.r.t. K[l][m] with l!=i are zero |
Definition at line 526 of file AdvectiveFluxCalculatorBase.C.
Referenced by AdvectiveFluxCalculatorBase::finalize().
|
overrideprotectedvirtualinherited |
Reimplemented from AdvectiveFluxCalculatorBase.
Definition at line 206 of file PorousFlowAdvectiveFluxCalculatorBase.C.
|
overrideprotectedvirtualinherited |
Reimplemented from AdvectiveFluxCalculatorBase.
Definition at line 131 of file PorousFlowAdvectiveFluxCalculatorBase.C.
|
protectedinherited |
Clears the_map, then, using _kij, constructs the_map so that the_map[node_id] = 0.0 for all node_id connected with node_i.
[out] | the_map | the map to be zeroed appropriately |
[in] | node_i | nodal id |
Definition at line 755 of file AdvectiveFluxCalculatorBase.C.
Referenced by AdvectiveFluxCalculatorBase::finalize(), AdvectiveFluxCalculatorBase::PQPlusMinus(), AdvectiveFluxCalculatorBase::rMinus(), AdvectiveFluxCalculatorBase::rPlus(), and AdvectiveFluxCalculatorBase::timestepSetup().
|
protectedinherited |
Derivative of the fluid density for each phase wrt PorousFlow variables (at the node)
Definition at line 42 of file PorousFlowAdvectiveFluxCalculatorSaturated.h.
|
protectedinherited |
Derivative of the fluid density for each phase wrt PorousFlow variables (at the qp)
Definition at line 113 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by PorousFlowAdvectiveFluxCalculatorBase::executeOnElement().
|
protectedinherited |
Derivative of the fluid viscosity for each phase wrt PorousFlow variables.
Definition at line 48 of file PorousFlowAdvectiveFluxCalculatorSaturated.h.
Referenced by PorousFlowAdvectiveFluxCalculatorSaturated::computedU_dvar().
|
protectedinherited |
_dflux_out_dKjk[i][j][k] = d(flux_out[i])/d(K[j][k]). Here j must be connected to i (this does include j = i), and k must be connected to j (this does include k = i and k = j)
Definition at line 179 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::finalize(), AdvectiveFluxCalculatorBase::getdFluxOutdKjk(), and AdvectiveFluxCalculatorBase::timestepSetup().
|
protectedinherited |
_dflux_out_du[i][j] = d(flux_out[i])/d(u[j]). Here j must be connected to i, or to a node that is connected to i.
Definition at line 176 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::finalize(), AdvectiveFluxCalculatorBase::getdFluxOutdu(), and AdvectiveFluxCalculatorBase::timestepSetup().
|
protectedinherited |
_dflux_out_dvars[i][j][pvar] = d(flux_out[global node i])/d(porous_flow_variable pvar at global node j)
Definition at line 143 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by PorousFlowAdvectiveFluxCalculatorBase::finalize(), PorousFlowAdvectiveFluxCalculatorBase::getdFluxOut_dvars(), and PorousFlowAdvectiveFluxCalculatorBase::timestepSetup().
|
protectedinherited |
Derivative of Grad porepressure in each phase wrt grad(PorousFlow variables)
Definition at line 119 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by PorousFlowAdvectiveFluxCalculatorBase::executeOnElement().
|
protectedinherited |
Derivative of Grad porepressure in each phase wrt PorousFlow variables.
Definition at line 122 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by PorousFlowAdvectiveFluxCalculatorBase::executeOnElement().
|
protectedinherited |
PorousFlowDictator UserObject.
Definition at line 89 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent::PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent().
|
protectedinherited |
_dkij_dvar[i][j][k][a] = d(K[global node i][global node j])/d(porous_flow_variable[global_node k][porous_flow_variable a])
Definition at line 140 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by PorousFlowAdvectiveFluxCalculatorBase::executeOnElement(), PorousFlowAdvectiveFluxCalculatorBase::getdK_dvar(), PorousFlowAdvectiveFluxCalculatorBase::initialize(), PorousFlowAdvectiveFluxCalculatorBase::threadJoin(), and PorousFlowAdvectiveFluxCalculatorBase::timestepSetup().
|
protectedinherited |
Derivative of the mass fraction of each component in each phase wrt PorousFlow variables.
Definition at line 43 of file PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent.h.
Referenced by PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent::computedU_dvar().
|
protectedinherited |
d(permeabiity)/d(grad(PorousFlow variable))
Definition at line 107 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by PorousFlowAdvectiveFluxCalculatorBase::executeOnElement().
|
protectedinherited |
d(permeabiity)/d(PorousFlow variable)
Definition at line 104 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by PorousFlowAdvectiveFluxCalculatorBase::executeOnElement().
|
protected |
Derivative of relative permeability of each phase wrt PorousFlow variables.
Definition at line 42 of file PorousFlowAdvectiveFluxCalculatorUnsaturatedMultiComponent.h.
Referenced by computedU_dvar().
|
protectedinherited |
_du_dvar[i][a] = d(u[global node i])/d(porous_flow_variable[a])
Definition at line 134 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by PorousFlowAdvectiveFluxCalculatorBase::execute(), PorousFlowAdvectiveFluxCalculatorBase::getdU_dvar(), PorousFlowAdvectiveFluxCalculatorBase::threadJoin(), and PorousFlowAdvectiveFluxCalculatorBase::timestepSetup().
|
protectedinherited |
Whether _du_dvar has been computed by the local thread.
Definition at line 137 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by PorousFlowAdvectiveFluxCalculatorBase::execute(), PorousFlowAdvectiveFluxCalculatorBase::getdU_dvarComputedByThread(), PorousFlowAdvectiveFluxCalculatorBase::initialize(), PorousFlowAdvectiveFluxCalculatorBase::threadJoin(), and PorousFlowAdvectiveFluxCalculatorBase::timestepSetup().
|
protectedinherited |
FEType to use.
Definition at line 125 of file PorousFlowAdvectiveFluxCalculatorBase.h.
|
protectedinherited |
The fluid component.
Definition at line 37 of file PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent.h.
Referenced by PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent::computedU_dvar(), PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent::computeU(), and PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent::PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent().
|
protectedinherited |
Fluid density for each phase (at the node)
Definition at line 39 of file PorousFlowAdvectiveFluxCalculatorSaturated.h.
Referenced by PorousFlowAdvectiveFluxCalculatorSaturated::computeU().
|
protectedinherited |
Fluid density for each phase (at the qp)
Definition at line 110 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by PorousFlowAdvectiveFluxCalculatorBase::computeVelocity(), and PorousFlowAdvectiveFluxCalculatorBase::executeOnElement().
|
protectedinherited |
Viscosity of each component in each phase.
Definition at line 45 of file PorousFlowAdvectiveFluxCalculatorSaturated.h.
Referenced by PorousFlowAdvectiveFluxCalculatorSaturated::computedU_dvar(), and PorousFlowAdvectiveFluxCalculatorSaturated::computeU().
|
protectedinherited |
|
protectedinherited |
_flux_out[i] = flux of "heat" from node i
Definition at line 173 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::finalize(), AdvectiveFluxCalculatorBase::getFluxOut(), and AdvectiveFluxCalculatorBase::timestepSetup().
|
protectedinherited |
Gradient of the pore pressure in each phase.
Definition at line 116 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by PorousFlowAdvectiveFluxCalculatorBase::computeVelocity(), and PorousFlowAdvectiveFluxCalculatorBase::executeOnElement().
|
protectedinherited |
grad(Kuzmin-Turek shape function)
Definition at line 131 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by PorousFlowAdvectiveFluxCalculatorBase::computeVelocity(), and PorousFlowAdvectiveFluxCalculatorBase::executeOnElement().
|
protectedinherited |
Definition at line 95 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by PorousFlowAdvectiveFluxCalculatorBase::computeVelocity(), and PorousFlowAdvectiveFluxCalculatorBase::executeOnElement().
|
protectedinherited |
Kuzmin-Turek K_ij matrix.
Along with R+ and R-, this is the key quantity computed by this UserObject. _kij[i][j] = k_ij corresponding to the i-j node pair. Because it explicitly holds info which nodes are paired with which other nodes, it is also used to perform: given a node_id, loop over all neighbouring nodes. This occurs in the computation of R+ and R-.
Definition at line 170 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::executeOnElement(), AdvectiveFluxCalculatorBase::finalize(), PorousFlowAdvectiveFluxCalculatorBase::finalize(), AdvectiveFluxCalculatorBase::getKij(), AdvectiveFluxCalculatorBase::initialize(), PorousFlowAdvectiveFluxCalculatorBase::initialize(), AdvectiveFluxCalculatorBase::PQPlusMinus(), AdvectiveFluxCalculatorBase::threadJoin(), AdvectiveFluxCalculatorBase::timestepSetup(), PorousFlowAdvectiveFluxCalculatorBase::timestepSetup(), and AdvectiveFluxCalculatorBase::zeroedConnection().
|
protectedinherited |
Mass fraction of each component in each phase.
Definition at line 40 of file PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent.h.
Referenced by PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent::computedU_dvar(), and PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent::computeU().
|
protectedinherited |
Whether to multiply the flux by the fluid density.
Definition at line 36 of file PorousFlowAdvectiveFluxCalculatorSaturated.h.
Referenced by PorousFlowAdvectiveFluxCalculatorSaturated::computedU_dvar(), and PorousFlowAdvectiveFluxCalculatorSaturated::computeU().
|
protectedinherited |
Number of PorousFlow variables.
Definition at line 92 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by PorousFlowAdvectiveFluxCalculatorBase::execute(), PorousFlowAdvectiveFluxCalculatorBase::executeOnElement(), PorousFlowAdvectiveFluxCalculatorBase::finalize(), PorousFlowAdvectiveFluxCalculatorBase::initialize(), PorousFlowAdvectiveFluxCalculatorBase::threadJoin(), and PorousFlowAdvectiveFluxCalculatorBase::timestepSetup().
|
protectedinherited |
Permeability of porous material.
Definition at line 101 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by PorousFlowAdvectiveFluxCalculatorBase::computeVelocity(), and PorousFlowAdvectiveFluxCalculatorBase::executeOnElement().
|
protectedinherited |
The phase.
Definition at line 98 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by PorousFlowAdvectiveFluxCalculatorSaturated::computedU_dvar(), PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent::computedU_dvar(), PorousFlowAdvectiveFluxCalculatorSaturatedHeat::computedU_dvar(), PorousFlowAdvectiveFluxCalculatorUnsaturated::computedU_dvar(), computedU_dvar(), PorousFlowAdvectiveFluxCalculatorUnsaturatedHeat::computedU_dvar(), PorousFlowAdvectiveFluxCalculatorSaturated::computeU(), PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent::computeU(), PorousFlowAdvectiveFluxCalculatorSaturatedHeat::computeU(), PorousFlowAdvectiveFluxCalculatorUnsaturated::computeU(), computeU(), PorousFlowAdvectiveFluxCalculatorUnsaturatedHeat::computeU(), PorousFlowAdvectiveFluxCalculatorBase::computeVelocity(), and PorousFlowAdvectiveFluxCalculatorBase::executeOnElement().
|
protectedinherited |
Kuzmin-Turek shape function.
Definition at line 128 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by PorousFlowAdvectiveFluxCalculatorBase::computeVelocity(), and PorousFlowAdvectiveFluxCalculatorBase::executeOnElement().
|
protected |
Relative permeability of each phase.
Definition at line 39 of file PorousFlowAdvectiveFluxCalculatorUnsaturatedMultiComponent.h.
Referenced by computedU_dvar(), and computeU().
|
protectedinherited |
whether _kij, etc, need to be sized appropriately (and valence recomputed) at the start of the timestep
Definition at line 116 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::meshChanged(), AdvectiveFluxCalculatorBase::timestepSetup(), and PorousFlowAdvectiveFluxCalculatorBase::timestepSetup().
|
protectedinherited |
_u_nodal[i] = value of _u at global node number i
Definition at line 187 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::execute(), AdvectiveFluxCalculatorBase::getUnodal(), AdvectiveFluxCalculatorBase::threadJoin(), and AdvectiveFluxCalculatorBase::timestepSetup().
|
protectedinherited |
_u_nodal_computed_by_thread[i] = true if _u_nodal[i] has been computed in execute() by the thread on this processor
Definition at line 190 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::execute(), AdvectiveFluxCalculatorBase::getUnodalComputedByThread(), AdvectiveFluxCalculatorBase::initialize(), AdvectiveFluxCalculatorBase::threadJoin(), and AdvectiveFluxCalculatorBase::timestepSetup().
|
protectedinherited |
_valence[(i, j)] = number of times, in a loop over elements seen by this processor (viz, including ghost elements) and are part of the block-restricted blocks of this UserObject, that the i-j edge is encountered
Definition at line 184 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::getValence(), and AdvectiveFluxCalculatorBase::timestepSetup().