Go to the documentation of this file.
12 #include "ThreadedGeneralUserObject.h"
37 virtual void execute()
override;
40 virtual void threadJoin(
const UserObject &)
override;
51 virtual const std::vector<Real> &
getFlux(
unsigned int iside,
54 const std::vector<Real> & uvec1,
55 const std::vector<Real> & uvec2,
56 const RealVectorValue & dwave)
const;
68 virtual void calcFlux(
unsigned int iside,
71 const std::vector<Real> & uvec1,
72 const std::vector<Real> & uvec2,
73 const RealVectorValue & dwave,
74 std::vector<Real> & flux)
const = 0;
85 virtual const DenseMatrix<Real> &
getJacobian(Moose::DGResidualType type,
89 const std::vector<Real> & uvec1,
90 const std::vector<Real> & uvec2,
91 const RealVectorValue & dwave)
const;
107 const std::vector<Real> & uvec1,
108 const std::vector<Real> & uvec2,
109 const RealVectorValue & dwave,
110 DenseMatrix<Real> & jac1,
111 DenseMatrix<Real> & jac2)
const = 0;
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
A base class for computing and caching internal side flux.
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)
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
InputParameters validParams< InternalSideFluxBase >()