A base class for computing and caching internal side flux. More...
#include <InternalSideFluxBase.h>
Public Member Functions | |
InternalSideFluxBase (const InputParameters ¶meters) | |
virtual void | execute () override |
virtual void | initialize () override |
virtual void | finalize () override |
virtual void | threadJoin (const UserObject &) override |
virtual const std::vector< Real > & | getFlux (unsigned int iside, dof_id_type ielem, dof_id_type ineig, const std::vector< Real > &uvec1, const std::vector< Real > &uvec2, const RealVectorValue &dwave) const |
Get the flux vector. More... | |
virtual void | calcFlux (unsigned int iside, dof_id_type ielem, dof_id_type ineig, const std::vector< Real > &uvec1, const std::vector< Real > &uvec2, const RealVectorValue &dwave, std::vector< Real > &flux) const =0 |
Solve the Riemann problem. More... | |
virtual const DenseMatrix< Real > & | getJacobian (Moose::DGResidualType type, unsigned int iside, dof_id_type ielem, dof_id_type ineig, const std::vector< Real > &uvec1, const std::vector< Real > &uvec2, const RealVectorValue &dwave) const |
Get the Jacobian matrix. More... | |
virtual void | calcJacobian (unsigned int iside, dof_id_type ielem, dof_id_type ineig, const std::vector< Real > &uvec1, const std::vector< Real > &uvec2, const RealVectorValue &dwave, DenseMatrix< Real > &jac1, DenseMatrix< Real > &jac2) const =0 |
Compute the Jacobian matrix. More... | |
Protected Attributes | |
unsigned int | _cached_flux_elem_id |
element ID of the cached flux values More... | |
unsigned int | _cached_flux_neig_id |
neighbor element ID of the cached flux values More... | |
unsigned int | _cached_jacobian_elem_id |
element ID of the cached Jacobian values More... | |
unsigned int | _cached_jacobian_neig_id |
neighbor element ID of the cached Jacobian values More... | |
std::vector< Real > | _flux |
flux vector of this side More... | |
DenseMatrix< Real > | _jac1 |
Jacobian matrix contribution to the "left" cell. More... | |
DenseMatrix< Real > | _jac2 |
Jacobian matrix contribution to the "right" cell. More... | |
A base class for computing and caching internal side flux.
Notes:
calcFlux
and calcJacobian
. Definition at line 32 of file InternalSideFluxBase.h.
InternalSideFluxBase::InternalSideFluxBase | ( | const InputParameters & | parameters | ) |
Definition at line 21 of file InternalSideFluxBase.C.
|
pure virtual |
Solve the Riemann problem.
[in] | iside | local index of current side |
[in] | ielem | global index of the current element |
[in] | ineig | global index of the neighbor element |
[in] | uvec1 | vector of variables on the "left" |
[in] | uvec2 | vector of variables on the "right" |
[in] | dwave | vector of unit normal |
[out] | flux | flux vector across the side |
Implemented in AEFVUpwindInternalSideFlux.
Referenced by getFlux().
|
pure virtual |
Compute the Jacobian matrix.
[in] | iside | local index of current side |
[in] | ielem | global index of the current element |
[in] | ineig | global index of the neighbor element |
[in] | uvec1 | vector of variables on the "left" |
[in] | uvec2 | vector of variables on the "right" |
[in] | dwave | vector of unit normal |
[out] | jac1 | Jacobian matrix contribution to the "left" cell |
[out] | jac2 | Jacobian matrix contribution to the "right" cell |
Implemented in AEFVUpwindInternalSideFlux.
Referenced by getJacobian().
|
overridevirtual |
Definition at line 40 of file InternalSideFluxBase.C.
|
overridevirtual |
Definition at line 45 of file InternalSideFluxBase.C.
|
virtual |
Get the flux vector.
[in] | iside | local index of current side |
[in] | ielem | global index of the current element |
[in] | ineig | global index of the neighbor element |
[in] | uvec1 | vector of variables on the "left" |
[in] | uvec2 | vector of variables on the "right" |
[in] | dwave | vector of unit normal |
Definition at line 55 of file InternalSideFluxBase.C.
Referenced by AEFVKernel::computeQpResidual().
|
virtual |
Get the Jacobian matrix.
[in] | iside | local index of current side |
[in] | ielem | global index of the current element |
[in] | ineig | global index of the neighbor element |
[in] | uvec1 | vector of variables on the "left" |
[in] | uvec2 | vector of variables on the "right" |
[in] | dwave | vector of unit normal |
Definition at line 73 of file InternalSideFluxBase.C.
Referenced by AEFVKernel::computeQpJacobian().
|
overridevirtual |
Definition at line 31 of file InternalSideFluxBase.C.
|
overridevirtual |
Definition at line 50 of file InternalSideFluxBase.C.
|
mutableprotected |
element ID of the cached flux values
Definition at line 115 of file InternalSideFluxBase.h.
Referenced by getFlux(), and initialize().
|
mutableprotected |
neighbor element ID of the cached flux values
Definition at line 117 of file InternalSideFluxBase.h.
Referenced by getFlux(), and initialize().
|
mutableprotected |
element ID of the cached Jacobian values
Definition at line 120 of file InternalSideFluxBase.h.
Referenced by getJacobian(), and initialize().
|
mutableprotected |
neighbor element ID of the cached Jacobian values
Definition at line 122 of file InternalSideFluxBase.h.
Referenced by getJacobian(), and initialize().
|
mutableprotected |
flux vector of this side
Definition at line 125 of file InternalSideFluxBase.h.
Referenced by getFlux().
|
mutableprotected |
Jacobian matrix contribution to the "left" cell.
Definition at line 127 of file InternalSideFluxBase.h.
Referenced by getJacobian().
|
mutableprotected |
Jacobian matrix contribution to the "right" cell.
Definition at line 129 of file InternalSideFluxBase.h.
Referenced by getJacobian().