32 virtual void execute()
override;
44 virtual const std::vector<ADReal> &
getFlux(
unsigned int iside,
46 const std::vector<ADReal> & uvec1,
57 virtual void calcFlux(
unsigned int iside,
59 const std::vector<ADReal> & uvec1,
61 std::vector<ADReal> & flux)
const = 0;
70 mutable std::vector<ADReal>
_flux;
ADBoundaryFluxBase(const InputParameters ¶meters)
virtual const std::vector< ADReal > & getFlux(unsigned int iside, dof_id_type ielem, const std::vector< ADReal > &uvec1, const RealVectorValue &dwave) const
Get the boundary flux vector.
static InputParameters validParams()
virtual void initialize() override
virtual void calcFlux(unsigned int iside, dof_id_type ielem, const std::vector< ADReal > &uvec1, const RealVectorValue &dwave, std::vector< ADReal > &flux) const =0
Solve the Riemann problem on the boundary face.
std::vector< ADReal > _flux
Cached flux.
unsigned int _cached_flux_side_id
side ID of the cached flux values
virtual void finalize() override
unsigned int _cached_flux_elem_id
element ID of the cached flux values
virtual void threadJoin(const UserObject &) override
A base class for computing/caching fluxes at boundaries.
const InputParameters & parameters() const
virtual void execute() override