13 #include "libmesh/elem.h" 20 params.
addClassDescription(
"Computes boundary fluxes for the 1-D, variable-area Euler equations " 21 "using a numerical flux user object and a ghost cell solution");
23 params.
addRequiredParam<UserObjectName>(
"numerical_flux",
"Name of numerical flux user object");
32 _normal(getParam<
Real>(
"normal"))
39 const std::vector<ADReal> & U1,
41 std::vector<ADReal> & flux)
const 44 const Elem * side_elem = elem->build_side_ptr(iside).release();
45 const Point side_center_point = side_elem->vertex_average();
virtual MooseMesh & mesh()=0
static InputParameters validParams()
static InputParameters validParams()
virtual Elem * elemPtr(const dof_id_type i)
virtual std::vector< ADReal > getGhostCellSolution(const std::vector< ADReal > &U1, const Point &point) const =0
Gets the solution vector in the ghost cell.
virtual const std::vector< ADReal > & getFlux(const unsigned int iside, const dof_id_type ielem, bool res_side_is_left, const std::vector< ADReal > &UL_1d, const std::vector< ADReal > &UR_1d, Real nLR_dot_d) const
Gets the 1D flux vector for an element/side combination.
Base class for computing numerical fluxes for FlowModelSinglePhase.
ADBoundaryFlux3EqnGhostBase(const InputParameters ¶meters)
A base class for computing/caching fluxes at boundaries.
const ADNumericalFlux3EqnBase & _numerical_flux
Numerical flux user object.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const Real & _normal
Outward normal.
virtual void calcFlux(unsigned int iside, dof_id_type ielem, const std::vector< ADReal > &U1, const RealVectorValue &normal, std::vector< ADReal > &flux) const override
Solve the Riemann problem on the boundary face.