https://mooseframework.inl.gov
PCNSFVHLLC.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 "FVFluxKernel.h"
13 
14 class HLLCUserObject;
16 
23 class PCNSFVHLLC : public FVFluxKernel
24 {
25 public:
27  PCNSFVHLLC(const InputParameters & params);
28 
30  static std::array<ADReal, 3> waveSpeed(const ADReal & rho_elem,
31  const ADRealVectorValue & vel_elem,
32  const ADReal & e_elem,
33  Real eps_elem,
34  const ADReal & rho_neighbor,
35  const ADRealVectorValue & vel_neighbor,
36  const ADReal & e_neighbor,
37  Real eps_neighbor,
39  const ADRealVectorValue & normal);
40 
41 protected:
42  virtual ADReal computeQpResidual() override;
43 
45  virtual ADReal fluxElem() = 0;
46  virtual ADReal fluxNeighbor() = 0;
48 
50  virtual ADReal hllcElem() = 0;
51  virtual ADReal hllcNeighbor() = 0;
53 
56  virtual ADReal conservedVariableElem() = 0;
57  virtual ADReal conservedVariableNeighbor() = 0;
59 
65 
70 
73 
78 
83 
88 
93 
98 
103 
108 };
const MaterialProperty< Real > & _eps_elem
porosities left == elem, right == neighbor
Definition: PCNSFVHLLC.h:105
const ADMaterialProperty< RealVectorValue > & _vel_neighbor
Definition: PCNSFVHLLC.h:86
const ADMaterialProperty< Real > & _speed_neighbor
Definition: PCNSFVHLLC.h:91
const ADMaterialProperty< Real > & _rho_et_elem
total energies left == elem, right == neighbor
Definition: PCNSFVHLLC.h:80
const ADMaterialProperty< Real > & _speed_elem
speeds left == elem, right == neighbor
Definition: PCNSFVHLLC.h:90
const ADMaterialProperty< RealVectorValue > & _vel_elem
velocities left == elem, right == neighbor
Definition: PCNSFVHLLC.h:85
const ADMaterialProperty< Real > & _specific_internal_energy_elem
internal energies left == elem, right == neighbor
Definition: PCNSFVHLLC.h:75
const RealVectorValue & normal() const
ADReal _SL
the wave speeds
Definition: PCNSFVHLLC.h:61
ADReal _SM
Definition: PCNSFVHLLC.h:62
static const std::string fluid
Definition: NS.h:87
const ADMaterialProperty< Real > & _pressure_neighbor
Definition: PCNSFVHLLC.h:101
DualNumber< Real, DNDerivativeType, true > ADReal
virtual ADReal fluxElem()=0
flux functions on elem & neighbor, i.e. standard left/right values of F
ADReal _normal_speed_neighbor
Definition: PCNSFVHLLC.h:68
virtual ADReal hllcElem()=0
HLLC modifications to flux for elem & neighbor, see Toro.
const ADMaterialProperty< Real > & _specific_internal_energy_neighbor
Definition: PCNSFVHLLC.h:76
const ADMaterialProperty< Real > & _rho_elem
densities left == elem, right == neighbor
Definition: PCNSFVHLLC.h:95
virtual ADReal fluxNeighbor()=0
Base class for porous HLLC inter-cell flux kernels.
Definition: PCNSFVHLLC.h:23
ADReal _SR
Definition: PCNSFVHLLC.h:63
virtual ADReal computeQpResidual() override
Definition: PCNSFVHLLC.C:101
Common class for single phase fluid properties.
static std::array< ADReal, 3 > waveSpeed(const ADReal &rho_elem, const ADRealVectorValue &vel_elem, const ADReal &e_elem, Real eps_elem, const ADReal &rho_neighbor, const ADRealVectorValue &vel_neighbor, const ADReal &e_neighbor, Real eps_neighbor, const SinglePhaseFluidProperties &fluid, const ADRealVectorValue &normal)
helper function for computing wave speed
Definition: PCNSFVHLLC.C:47
virtual ADReal conservedVariableNeighbor()=0
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual ADReal hllcNeighbor()=0
static InputParameters validParams()
Definition: PCNSFVHLLC.C:17
virtual ADReal conservedVariableElem()=0
const ADMaterialProperty< Real > & _rho_neighbor
Definition: PCNSFVHLLC.h:96
const MaterialProperty< Real > & _eps_neighbor
Definition: PCNSFVHLLC.h:106
const ADMaterialProperty< Real > & _rho_et_neighbor
Definition: PCNSFVHLLC.h:81
const ADMaterialProperty< Real > & _pressure_elem
pressures left == elem, right == neighbor
Definition: PCNSFVHLLC.h:100
PCNSFVHLLC(const InputParameters &params)
Definition: PCNSFVHLLC.C:25
ADReal _normal_speed_elem
speeds normal to the interface
Definition: PCNSFVHLLC.h:67
const SinglePhaseFluidProperties & _fluid
fluid properties
Definition: PCNSFVHLLC.h:72