https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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
17namespace Moose
18{
19namespace FV
20{
21template <typename>
22class Limiter;
23}
24}
26class FaceInfo;
27
28class PCNSFVKTDC : public PCNSFVKT
29{
30public:
32 PCNSFVKTDC(const InputParameters & params);
33 void timestepSetup() override;
34 void residualSetup() override;
35 void jacobianSetup() override;
36
37protected:
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};
DualNumber< Real, DNDerivativeType, true > ADReal
std::unordered_map< dof_id_type, Real > & _old_ho_fluxes
Old high order fluxes.
Definition PCNSFVKTDC.h:44
std::unordered_map< dof_id_type, Real > & _current_ho_fluxes
Current high order fluxes.
Definition PCNSFVKTDC.h:47
void residualSetup() override
Definition PCNSFVKTDC.C:59
const Real _ho_implicit_fraction
Definition PCNSFVKTDC.h:48
static InputParameters validParams()
Definition PCNSFVKTDC.C:22
void timestepSetup() override
Definition PCNSFVKTDC.C:47
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
virtual ADReal computeQpResidual() override
Definition PCNSFVKTDC.C:86
void jacobianSetup() override
Definition PCNSFVKTDC.C:66
Real getOldFlux(bool upwind) const
Definition PCNSFVKTDC.C:72
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:30
Common class for single phase fluid properties.