https://mooseframework.inl.gov
ADNumericalFlux3EqnHLLC.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 
14 #include "NaNInterface.h"
15 
28 {
29 public:
31 
32  virtual void calcFlux(const std::vector<ADReal> & UL,
33  const std::vector<ADReal> & UR,
34  const RealVectorValue & nLR,
35  const RealVectorValue & t1,
36  const RealVectorValue & t2,
37  std::vector<ADReal> & FL,
38  std::vector<ADReal> & FR) const override;
39 
40  virtual unsigned int getNumberOfRegions() const override { return 4; }
41 
42 protected:
45  {
46  EINFELDT,
47  DAVIS
48  };
49 
53  virtual ADReal computeFlowArea(const std::vector<ADReal> & UL,
54  const std::vector<ADReal> & UR) const;
55 
58 
61 
62 public:
64 };
static InputParameters validParams()
WaveSpeedFormulation
Type for how to compute left and right wave speeds.
DualNumber< Real, DNDerivativeType, true > ADReal
const SinglePhaseFluidProperties & _fp
fluid properties user object
Computes internal side flux for the 1-D, 1-phase, variable-area Euler equations using the HLLC approx...
virtual ADReal computeFlowArea(const std::vector< ADReal > &UL, const std::vector< ADReal > &UR) const
Computes the flow area that is used in the numerical flux.
const WaveSpeedFormulation _wave_speed_formulation
How to compute left and right wave speeds.
Common class for single phase fluid properties.
Base class for computing numerical fluxes for FlowModelSinglePhase.
ADNumericalFlux3EqnHLLC(const InputParameters &parameters)
virtual void calcFlux(const std::vector< ADReal > &UL, const std::vector< ADReal > &UR, const RealVectorValue &nLR, const RealVectorValue &t1, const RealVectorValue &t2, std::vector< ADReal > &FL, std::vector< ADReal > &FR) const override
Calculates the 3D flux vectors given "left" and "right" states.
const InputParameters & parameters() const
virtual unsigned int getNumberOfRegions() const override
Returns the total possible number of regions.
Interface class for producing errors, warnings, or just quiet NaNs.
Definition: NaNInterface.h:22