https://mooseframework.inl.gov
PCNSFVKTDC.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 #include "PCNSFVKT.h"
13 #include <memory>
14 #include <unordered_map>
15 #include <utility>
16 
17 namespace Moose
18 {
19 namespace FV
20 {
21 template <typename>
22 class Limiter;
23 }
24 }
26 class FaceInfo;
27 
28 class PCNSFVKTDC : public PCNSFVKT
29 {
30 public:
32  PCNSFVKTDC(const InputParameters & params);
33  void timestepSetup() override;
34  void residualSetup() override;
35  void jacobianSetup() override;
36 
37 protected:
38  virtual ADReal computeQpResidual() override;
39  Real getOldFlux(bool upwind) const;
40 
41  std::unique_ptr<Moose::FV::Limiter<ADReal>> _upwind_limiter;
42  std::unordered_map<dof_id_type, Real> & _old_upwind_fluxes;
44  std::unordered_map<dof_id_type, Real> & _old_ho_fluxes;
45  std::unordered_map<dof_id_type, Real> & _current_upwind_fluxes;
47  std::unordered_map<dof_id_type, Real> & _current_ho_fluxes;
49 };
PCNSFVKTDC(const InputParameters &params)
Definition: PCNSFVKTDC.C:32
std::unordered_map< dof_id_type, Real > & _old_ho_fluxes
Old high order fluxes.
Definition: PCNSFVKTDC.h:44
Real getOldFlux(bool upwind) const
Definition: PCNSFVKTDC.C:72
void timestepSetup() override
Definition: PCNSFVKTDC.C:47
DualNumber< Real, DNDerivativeType, true > ADReal
std::unique_ptr< Moose::FV::Limiter< ADReal > > _upwind_limiter
Definition: PCNSFVKTDC.h:41
std::unordered_map< dof_id_type, Real > & _old_upwind_fluxes
Definition: PCNSFVKTDC.h:42
Common class for single phase fluid properties.
std::unordered_map< dof_id_type, Real > & _current_ho_fluxes
Current high order fluxes.
Definition: PCNSFVKTDC.h:47
void jacobianSetup() override
Definition: PCNSFVKTDC.C:66
virtual ADReal computeQpResidual() override
Definition: PCNSFVKTDC.C:86
void residualSetup() override
Definition: PCNSFVKTDC.C:59
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const Real _ho_implicit_fraction
Definition: PCNSFVKTDC.h:48
static InputParameters validParams()
Definition: PCNSFVKTDC.C:22
std::unordered_map< dof_id_type, Real > & _current_upwind_fluxes
Definition: PCNSFVKTDC.h:45
Implements the centered Kurganov-Tadmor discretization of advective fluxes.
Definition: PCNSFVKT.h:29