25 params.
addClassDescription(
"Computes the residual of advective term using finite volume method "
26 "using a deferred correction approach.");
28 "ho_implicit_fraction", 0,
"The fraction of the high order flux that should be implicit");
36 declareRestartableData<
std::unordered_map<dof_id_type, Real>>(
"old_upwind_fluxes")),
37 _old_ho_fluxes(declareRestartableData<
std::unordered_map<dof_id_type, Real>>(
"old_ho_fluxes")),
38 _current_upwind_fluxes(
39 declareRestartableData<
std::unordered_map<dof_id_type, Real>>(
"current_upwind_fluxes")),
41 declareRestartableData<
std::unordered_map<dof_id_type, Real>>(
"current_ho_fluxes")),
42 _ho_implicit_fraction(getParam<Real>(
"ho_implicit_fraction"))
79 mooseAssert(it != flux_container.end(),
80 "We should have saved an old flux for the current _face_info. Do you have mesh "
81 "adaptivity on? Unfortunately we don't currently support that");
95 mooseAssert(pr.second,
96 "Insertion should have happened. If it did not it means you are overwriting some "
97 "other face's flux!");
104 mooseAssert(pr.second,
105 "Insertion should have happened. If it did not it means you are overwriting some "
106 "other face's flux!");
110 const auto old_upwind_flux =
getOldFlux(
true);
DualNumber< Real, DNDerivativeType, true > ADReal
registerMooseObject("NavierStokesApp", PCNSFVKTDC)
virtual bool lastSolveConverged() const=0
bool onBoundary(const FaceInfo &fi) const
const FaceInfo * _face_info
Executioner * getExecutioner() const
PCNSFVKTDC(const InputParameters ¶ms)
std::unordered_map< dof_id_type, Real > & _old_ho_fluxes
Old high order fluxes.
std::unordered_map< dof_id_type, Real > & _current_ho_fluxes
Current high order fluxes.
void residualSetup() override
const Real _ho_implicit_fraction
static InputParameters validParams()
void timestepSetup() override
std::unique_ptr< Moose::FV::Limiter< ADReal > > _upwind_limiter
std::unordered_map< dof_id_type, Real > & _old_upwind_fluxes
virtual ADReal computeQpResidual() override
void jacobianSetup() override
Real getOldFlux(bool upwind) const
std::unordered_map< dof_id_type, Real > & _current_upwind_fluxes
Implements the centered Kurganov-Tadmor discretization of advective fluxes.
static InputParameters validParams()
std::unique_ptr< Moose::FV::Limiter< ADReal > > _limiter
The slope limiter we will apply when interpolating from cell centroids to faces.
virtual ADReal computeQpResidual() override