Upwind numerical flux scheme for the advection equation using a cell-centered finite volume method. More...
#include <AEFVUpwindInternalSideFlux.h>
Public Member Functions | |
AEFVUpwindInternalSideFlux (const InputParameters ¶meters) | |
virtual | ~AEFVUpwindInternalSideFlux () |
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 override |
Solve the Riemann problem. 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 override |
Compute the Jacobian matrix. More... | |
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 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... | |
Protected Attributes | |
const Real | _velocity |
advective velocity More... | |
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... | |
Upwind numerical flux scheme for the advection equation using a cell-centered finite volume method.
Definition at line 25 of file AEFVUpwindInternalSideFlux.h.
AEFVUpwindInternalSideFlux::AEFVUpwindInternalSideFlux | ( | const InputParameters & | parameters | ) |
Definition at line 25 of file AEFVUpwindInternalSideFlux.C.
|
virtual |
Definition at line 30 of file AEFVUpwindInternalSideFlux.C.
|
overridevirtual |
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 |
Implements InternalSideFluxBase.
Definition at line 33 of file AEFVUpwindInternalSideFlux.C.
|
overridevirtual |
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 |
Implements InternalSideFluxBase.
Definition at line 66 of file AEFVUpwindInternalSideFlux.C.
|
overridevirtualinherited |
Definition at line 40 of file InternalSideFluxBase.C.
|
overridevirtualinherited |
Definition at line 45 of file InternalSideFluxBase.C.
|
virtualinherited |
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().
|
virtualinherited |
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().
|
overridevirtualinherited |
Definition at line 31 of file InternalSideFluxBase.C.
|
overridevirtualinherited |
Definition at line 50 of file InternalSideFluxBase.C.
|
mutableprotectedinherited |
element ID of the cached flux values
Definition at line 115 of file InternalSideFluxBase.h.
Referenced by InternalSideFluxBase::getFlux(), and InternalSideFluxBase::initialize().
|
mutableprotectedinherited |
neighbor element ID of the cached flux values
Definition at line 117 of file InternalSideFluxBase.h.
Referenced by InternalSideFluxBase::getFlux(), and InternalSideFluxBase::initialize().
|
mutableprotectedinherited |
element ID of the cached Jacobian values
Definition at line 120 of file InternalSideFluxBase.h.
Referenced by InternalSideFluxBase::getJacobian(), and InternalSideFluxBase::initialize().
|
mutableprotectedinherited |
neighbor element ID of the cached Jacobian values
Definition at line 122 of file InternalSideFluxBase.h.
Referenced by InternalSideFluxBase::getJacobian(), and InternalSideFluxBase::initialize().
|
mutableprotectedinherited |
flux vector of this side
Definition at line 125 of file InternalSideFluxBase.h.
Referenced by InternalSideFluxBase::getFlux().
|
mutableprotectedinherited |
Jacobian matrix contribution to the "left" cell.
Definition at line 127 of file InternalSideFluxBase.h.
Referenced by InternalSideFluxBase::getJacobian().
|
mutableprotectedinherited |
Jacobian matrix contribution to the "right" cell.
Definition at line 129 of file InternalSideFluxBase.h.
Referenced by InternalSideFluxBase::getJacobian().
|
protected |
advective velocity
Definition at line 50 of file AEFVUpwindInternalSideFlux.h.
Referenced by calcFlux(), and calcJacobian().