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 };
const InputParameters & parameters() const
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.
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