DamBreak++ Wave Simulator 0.3
DamBreak++ Simulation Framework
Loading...
Searching...
No Matches
SimulationConfig.h
Go to the documentation of this file.
1#pragma once
2
3// C++ includes
4#include <map>
5#include <valarray>
6// Sfx_Base19 includes
7#include "include/Sfx_StateVector.h"
8#include "include/Sfx_DefineTypes.h"
9#include "include/Sfx_WaveFunc.h"
10// BaseNumTypes include
11#include "Sfx/Sfx_scalarField1D.h"
12// VS19 include
13//#include "dbpp_PhysicalSystem.h"
14#include "dbpp_NodalTpl.hpp"
15
16//
17// Template Alias
18//
19// NOTE remove because conflict with same definition "Sfx_DefineTypes.h: which
20// is use by the other prototype Swe (Dsn stuff library).
21//using ArrayType = std::valarray<float64>; Container for field lattice
22using DBSArrayType = std::valarray<float64>;
23// see sfx_DefineType.h ArrayType
24using NumArrayType = std::valarray<float64>; //std::vector<float64>;
25using StateVariables = std::pair<DBSArrayType, DBSArrayType>; // Physics state variables vector U = (A, Q)
26using fieldptr = std::shared_ptr<Sfx::scalarField1D>; // maintain old/legacy code
27using StateVector = std::pair<fieldptr, fieldptr>; // U=(A,Q)
28
32using CalculFF = void (*)(DBSArrayType& aFF1, DBSArrayType& aFF2,
33 const DBSArrayType& aU1, const DBSArrayType& aU2);
34
38//using phyNdlConstraint = dbpp::PhysicalSystem::BCNodeConstraint<float64, float64, float64>;
39using PhyBCNdlConstraint = dbpp::NodalTpl<unsigned/*Node id*/, float64/*A*/, float64/*Q*/, float64/*H*/>;
40
41// enum class eFluxType {incomplete, complete};
42using mapcellfaceVar = std::map<short/*face idx*/, std::pair<Sfx::StateVector/*UL*/, Sfx::StateVector/*UR*/>>;
43
44// not sure if we will continue to use it???
45using wavfuncptr = std::shared_ptr<Sfx::WaveFunc>; // deprecated
std::valarray< float64 > NumArrayType
Definition SimulationConfig.h:24
std::shared_ptr< Sfx::WaveFunc > wavfuncptr
Definition SimulationConfig.h:45
std::shared_ptr< Sfx::scalarField1D > fieldptr
Definition SimulationConfig.h:26
dbpp::NodalTpl< unsigned, float64, float64, float64 > PhyBCNdlConstraint
Physics computational domain (phenomena take place: half-open as default)
Definition SimulationConfig.h:39
std::pair< fieldptr, fieldptr > StateVector
Definition SimulationConfig.h:27
void(*)(DBSArrayType &aFF1, DBSArrayType &aFF2, const DBSArrayType &aU1, const DBSArrayType &aU2) CalculFF
PointerToFunction(numerical flux computation)
Definition SimulationConfig.h:32
std::pair< DBSArrayType, DBSArrayType > StateVariables
Definition SimulationConfig.h:25
std::map< short, std::pair< Sfx::StateVector, Sfx::StateVector > > mapcellfaceVar
Definition SimulationConfig.h:42
std::valarray< float64 > DBSArrayType
Definition SimulationConfig.h:22
Implementation for nodal variable concept used in our application (use of variadic template).
Definition dbpp_NodalTpl.hpp:47