18 params.
addClassDescription(
"Upwind numerical flux scheme for the advection equation using a " 19 "cell-centered finite volume method.");
20 params.
addParam<
Real>(
"velocity", 1.0,
"Advective velocity");
35 const std::vector<Real> & uvec1,
36 const std::vector<Real> & uvec2,
38 std::vector<Real> & flux)
const 40 mooseAssert(uvec1.size() == 1,
"Invalid size for uvec1. Must be single variable coupling.");
41 mooseAssert(uvec2.size() == 1,
"Invalid size for uvec1. Must be single variable coupling.");
53 Real vdon1 = uadv1 * dwave;
54 Real vdon2 = uadv2 * dwave;
57 Real aplus = 0.5 * (vdon1 + std::abs(vdon1));
58 Real amins = 0.5 * (vdon2 - std::abs(vdon2));
61 flux[0] = aplus * uvec1[0] + amins * uvec2[0];
68 const std::vector<Real> & libmesh_dbg_var(uvec1),
69 const std::vector<Real> & libmesh_dbg_var(uvec2),
74 mooseAssert(uvec1.size() == 1,
"Invalid size for uvec1. Must be single variable coupling.");
75 mooseAssert(uvec2.size() == 1,
"Invalid size for uvec1. Must be single variable coupling.");
88 Real vdon1 = uadv1 * dwave;
89 Real vdon2 = uadv2 * dwave;
92 Real aplus = 0.5 * (vdon1 + std::abs(vdon1));
93 Real amins = 0.5 * (vdon2 - std::abs(vdon2));
static InputParameters validParams()
virtual ~AEFVUpwindInternalSideFlux()
registerMooseObject("RdgApp", AEFVUpwindInternalSideFlux)
const Real _velocity
advective velocity
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 override
Solve the Riemann problem.
Upwind numerical flux scheme for the advection equation using a cell-centered finite volume method...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
A base class for computing and caching internal side flux.
void resize(const unsigned int new_m, const unsigned int new_n)
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 override
Compute the Jacobian matrix.
static InputParameters validParams()
AEFVUpwindInternalSideFlux(const InputParameters ¶meters)