52 const std::vector<ADReal> &
55 bool res_side_is_left,
56 const std::vector<ADReal> & UL_1d,
57 const std::vector<ADReal> & UR_1d,
87 const std::vector<ADReal> &
90 const std::vector<ADReal> & UL_3d,
91 const std::vector<ADReal> & UR_3d,
virtual void initialize() override
static InputParameters validParams()
std::vector< ADReal > _FR_3d
flux vector for the "right" cell for 3D
const unsigned int invalid_uint
static InputParameters validParams()
std::vector< ADReal > _FL_3d
flux vector for the "left" cell for 3D
unsigned int _cached_flux_elem_id
element ID of the cached flux values
The following methods are specializations for using the Parallel::packed_range_* routines for a vecto...
virtual std::vector< ADReal > convert1DInputTo3D(const std::vector< ADReal > &U_1d) const =0
Converts a 1D flux input vector to a 3D flux input vector.
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.
std::vector< ADReal > _FR_1d
flux vector for the "right" cell for 1D
NumericalFlux1D(const InputParameters ¶meters)
virtual void execute() override
virtual void finalize() override
virtual const std::vector< ADReal > & getFlux3D(const unsigned int iside, const dof_id_type ielem, const std::vector< ADReal > &UL_3d, const std::vector< ADReal > &UR_3d, const RealVectorValue &nLR, const RealVectorValue &t1, const RealVectorValue &t2) const
Gets the 3D flux vector for an element/side combination on the left side.
virtual void transform3DFluxDirection(std::vector< ADReal > &F_3d, Real nLR_dot_d) const =0
Applies direction transformation to a 3D flux vector.
virtual std::vector< ADReal > convert3DFluxTo1D(const std::vector< ADReal > &F_3d) const =0
Converts a 3D flux vector to a 1D flux vector.
std::vector< ADReal > _FL_1d
flux vector for the "left" cell for 1D
void computeOrthogonalDirections(const RealVectorValue &n_unnormalized, RealVectorValue &t1, RealVectorValue &t2)
Computes two unit vectors orthogonal to the given vector.
virtual void calcFlux(const std::vector< ADReal > &UL_3d, const std::vector< ADReal > &UR_3d, const RealVectorValue &nLR, const RealVectorValue &t1, const RealVectorValue &t2, std::vector< ADReal > &FL, std::vector< ADReal > &FR) const =0
Calculates the 3D flux vectors given "left" and "right" states.
unsigned int _cached_flux_side_id
side ID of the cached flux values
virtual void threadJoin(const UserObject &) override