Go to the documentation of this file.
12 #include "ThreadedGeneralUserObject.h"
31 virtual void execute()
override;
34 virtual void threadJoin(
const UserObject &)
override;
50 virtual const std::vector<Real> &
getFlux(
const unsigned int iside,
51 const dof_id_type ielem,
52 const std::vector<Real> & uvec1,
53 const std::vector<Real> & uvec2,
54 const RealVectorValue & normal)
const;
76 virtual const DenseMatrix<Real> &
getJacobian(
const bool get_first_jacobian,
77 const unsigned int iside,
78 const dof_id_type ielem,
79 const std::vector<Real> & uvec1,
80 const std::vector<Real> & uvec2,
81 const RealVectorValue & normal)
const;
93 virtual void calcFlux(
const std::vector<Real> & uvec1,
94 const std::vector<Real> & uvec2,
95 const RealVectorValue & normal,
96 std::vector<Real> & flux)
const = 0;
109 virtual void calcJacobian(
const std::vector<Real> & uvec1,
110 const std::vector<Real> & uvec2,
111 const RealVectorValue & normal,
112 DenseMatrix<Real> & jac1,
113 DenseMatrix<Real> & jac2)
const = 0;
DenseMatrix< Real > _jac1
Jacobian matrix contribution to the "left" cell.
unsigned int _cached_flux_elem_id
element ID of the cached flux values
virtual const DenseMatrix< Real > & getJacobian(const bool get_first_jacobian, const unsigned int iside, const dof_id_type ielem, const std::vector< Real > &uvec1, const std::vector< Real > &uvec2, const RealVectorValue &normal) const
Gets the flux Jacobian matrix for an element/side combination.
virtual void initialize() override
unsigned int _cached_jacobian_elem_id
element ID of the cached Jacobian values
virtual const std::vector< Real > & getFlux(const unsigned int iside, const dof_id_type ielem, const std::vector< Real > &uvec1, const std::vector< Real > &uvec2, const RealVectorValue &normal) const
Gets the flux vector for an element/side combination.
virtual void calcFlux(const std::vector< Real > &uvec1, const std::vector< Real > &uvec2, const RealVectorValue &normal, std::vector< Real > &flux) const =0
Calculates the flux vector given "left" and "right" states.
virtual void threadJoin(const UserObject &) override
Abstract base class for computing and caching internal or boundary fluxes for RDG.
DenseMatrix< Real > _jac2
Jacobian matrix contribution to the "right" cell.
unsigned int _cached_jacobian_side_id
side ID of the cached Jacobian values
virtual void execute() override
RDGFluxBase(const InputParameters ¶meters)
std::vector< Real > _flux
flux vector
virtual void finalize() override
InputParameters validParams< RDGFluxBase >()
unsigned int _cached_flux_side_id
side ID of the cached flux values
virtual void calcJacobian(const std::vector< Real > &uvec1, const std::vector< Real > &uvec2, const RealVectorValue &normal, DenseMatrix< Real > &jac1, DenseMatrix< Real > &jac2) const =0
Calculates the flux Jacobian matrices given "left" and "right" states.