DamBreak++ Wave Simulator 0.3
DamBreak++ Simulation Framework
Loading...
Searching...
No Matches
Testvs19_BaseRhsPhysicsAlgorithm.h
Go to the documentation of this file.
1#pragma once
2
3// DamBreak include
5// SfxBase includes
8// VS2019 includes
11
12// forward declarations
13namespace dbpp {
14 class FluxAlgorithm;
15 class PhysicalSystem;
16}
17
18namespace Testvs19
19{
24 {
25 public:
26 // Taken from EMcNeil1D_f::advance() implementation
27
31 enum class eFluxType
32 {
33 HLL=0,
35 };
36 public:
37
44 BaseRhsPhysicsAlgorithm( std::string aName, eFluxType aFFalgo=eFluxType::HLL);
45 //BaseRhsPhysicsAlgorithm( const BaseRhsPhysicsAlgorithm&) = delete;
46 //BaseRhsPhysicsAlgorithm& operator= (const BaseRhsPhysicsAlgorithm&) = delete;
57 void calculate( dbpp::PhysicalSystem* aPhysys,
58 const std::shared_ptr<dbpp::FiniteVolumeDiscretization>& aGblDiscr,
59 Sfx::Simulation* aSim) override;
64 //std::string ptr2FuncName() const noexcept {return m_ptr2funcnName;}
68 void setPressureTerm(bool aUseP) noexcept { m_usePressure = aUseP; }
73 bool usePressureTerm() const noexcept { return false; }
74 // bool isTimeDependent() const noexcept override { return false; }
75 private:
76 std::string m_name;
77 uint32 m_varOrder;
79 std::shared_ptr<dbpp::FluxAlgorithm> m_calculFF;
81 };
82}//End of namespace
Helper utility that save result to a file to be used for debugging and visualizing.
Definition Sfx_DbgLogger.h:19
Abstract class provide an interface with services to implement physical based algorithm to solve st-V...
Definition Sfx_PhysicalAlgorithm.h:20
Bean that represents a simulation in the framework. Many of the attributes of the simulation bean are...
Definition Sfx_Simulation.h:22
BaseRhsPhysicsAlgorithm(std::string aName, eFluxType aFFalgo=eFluxType::HLL)
constructor
Definition Testvs19_BaseRhsPhysicsAlgorithm.cpp:20
~BaseRhsPhysicsAlgorithm()
destructor
Definition Testvs19_BaseRhsPhysicsAlgorithm.cpp:36
std::string m_name
Definition Testvs19_BaseRhsPhysicsAlgorithm.h:76
void setPressureTerm(bool aUseP) noexcept
name of pointer-to-function
Definition Testvs19_BaseRhsPhysicsAlgorithm.h:68
void calculate(dbpp::PhysicalSystem *aPhysys, const std::shared_ptr< dbpp::FiniteVolumeDiscretization > &aGblDiscr, Sfx::Simulation *aSim) override
Main algorithm of the SCL (numerical)
Definition Testvs19_BaseRhsPhysicsAlgorithm.cpp:50
bool usePressureTerm() const noexcept
flag to set if pressure is taken into account
Definition Testvs19_BaseRhsPhysicsAlgorithm.h:73
Sfx::DbgLogger * m_dbgLog
Definition Testvs19_BaseRhsPhysicsAlgorithm.h:80
bool m_usePressure
Definition Testvs19_BaseRhsPhysicsAlgorithm.h:78
eFluxType
Definition Testvs19_BaseRhsPhysicsAlgorithm.h:32
@ HLL
Definition Testvs19_BaseRhsPhysicsAlgorithm.h:33
@ NujicI
Definition Testvs19_BaseRhsPhysicsAlgorithm.h:34
uint32 m_varOrder
Definition Testvs19_BaseRhsPhysicsAlgorithm.h:77
std::shared_ptr< dbpp::FluxAlgorithm > m_calculFF
Definition Testvs19_BaseRhsPhysicsAlgorithm.h:79
Abstract base class for numerical flux algorithm.
Definition dbpp_FluxAlgorithm.h:24
Physical system made of physical objects under study and described by the state variables....
Definition dbpp_PhysicalSystem.h:32
Definition Testvs19_BaseRhsPhysicsAlgorithm.cpp:19
Definition DamBreakProb.h:15