https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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
14class HLLCUserObject;
16
24{
25public:
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,
38 const SinglePhaseFluidProperties & fluid,
40
41protected:
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
59
65
70
73
78
83
88
93
98
103
108};
DualNumber< Real, DNDerivativeType, true > ADReal
const RealVectorValue & normal() const
Base class for porous HLLC inter-cell flux kernels.
Definition PCNSFVHLLC.h:24
virtual ADReal computeQpResidual() override
Definition PCNSFVHLLC.C:103
virtual ADReal hllcElem()=0
HLLC modifications to flux for elem & neighbor, see Toro.
const ADMaterialProperty< Real > & _specific_internal_energy_neighbor
Definition PCNSFVHLLC.h:76
virtual ADReal fluxElem()=0
flux functions on elem & neighbor, i.e. standard left/right values of F
virtual ADReal hllcNeighbor()=0
static InputParameters validParams()
Definition PCNSFVHLLC.C:17
virtual ADReal conservedVariableElem()=0
ADReal _SR
Definition PCNSFVHLLC.h:63
const ADMaterialProperty< Real > & _pressure_neighbor
Definition PCNSFVHLLC.h:101
const ADMaterialProperty< Real > & _specific_internal_energy_elem
internal energies left == elem, right == neighbor
Definition PCNSFVHLLC.h:75
const ADMaterialProperty< Real > & _speed_elem
speeds left == elem, right == neighbor
Definition PCNSFVHLLC.h:90
const SinglePhaseFluidProperties & _fluid
fluid properties
Definition PCNSFVHLLC.h:72
const ADMaterialProperty< Real > & _speed_neighbor
Definition PCNSFVHLLC.h:91
const ADMaterialProperty< Real > & _rho_neighbor
Definition PCNSFVHLLC.h:96
const ADMaterialProperty< RealVectorValue > & _vel_neighbor
Definition PCNSFVHLLC.h:86
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
ADReal _SL
the wave speeds
Definition PCNSFVHLLC.h:61
const ADMaterialProperty< RealVectorValue > & _vel_elem
velocities left == elem, right == neighbor
Definition PCNSFVHLLC.h:85
ADReal _normal_speed_elem
speeds normal to the interface
Definition PCNSFVHLLC.h:67
const ADMaterialProperty< Real > & _rho_elem
densities left == elem, right == neighbor
Definition PCNSFVHLLC.h:95
const ADMaterialProperty< Real > & _pressure_elem
pressures left == elem, right == neighbor
Definition PCNSFVHLLC.h:100
ADReal _normal_speed_neighbor
Definition PCNSFVHLLC.h:68
const MaterialProperty< Real > & _eps_elem
porosities left == elem, right == neighbor
Definition PCNSFVHLLC.h:105
virtual ADReal fluxNeighbor()=0
ADReal _SM
Definition PCNSFVHLLC.h:62
virtual ADReal conservedVariableNeighbor()=0
const ADMaterialProperty< Real > & _rho_et_neighbor
Definition PCNSFVHLLC.h:81
const ADMaterialProperty< Real > & _rho_et_elem
total energies left == elem, right == neighbor
Definition PCNSFVHLLC.h:80
const MaterialProperty< Real > & _eps_neighbor
Definition PCNSFVHLLC.h:106
Common class for single phase fluid properties.