Go to the documentation of this file.
16 InputParameters params = validParams<GeneralUserObject>();
17 params.addClassDescription(
"A base class for computing and caching internal side flux.");
22 : ThreadedGeneralUserObject(parameters),
23 _cached_flux_elem_id(
libMesh::invalid_uint),
24 _cached_flux_neig_id(
libMesh::invalid_uint),
25 _cached_jacobian_elem_id(
libMesh::invalid_uint),
26 _cached_jacobian_neig_id(
libMesh::invalid_uint)
54 const std::vector<Real> &
58 const std::vector<Real> & uvec1,
59 const std::vector<Real> & uvec2,
60 const RealVectorValue & dwave)
const
72 const DenseMatrix<Real> &
77 const std::vector<Real> & uvec1,
78 const std::vector<Real> & uvec2,
79 const RealVectorValue & dwave)
const
89 if (type == Moose::Element)
unsigned int _cached_jacobian_neig_id
neighbor element ID of the cached Jacobian values
virtual void finalize() override
virtual void threadJoin(const UserObject &) override
unsigned int _cached_flux_neig_id
neighbor element ID of the cached flux values
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.
unsigned int _cached_flux_elem_id
element ID of the cached flux values
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.
virtual void execute() 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.
virtual void initialize() override
DenseMatrix< Real > _jac1
Jacobian matrix contribution to the "left" cell.
InternalSideFluxBase(const InputParameters ¶meters)
InputParameters validParams< InternalSideFluxBase >()
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.
DenseMatrix< Real > _jac2
Jacobian matrix contribution to the "right" cell.
std::vector< Real > _flux
flux vector of this side
unsigned int _cached_jacobian_elem_id
element ID of the cached Jacobian values