DamBreak++ Wave Simulator 0.3
DamBreak++ Simulation Framework
Loading...
Searching...
No Matches
dbpp_PhysicalBoundaryCnd.h
Go to the documentation of this file.
1#pragma once
2
3// C++ include
4#include <tuple>
5//..
8// ...
9//#include "../May_VS2015/Test/NodalVariables.h"
10
11// Note
12// this is a first implementaion (still under development)
13namespace dbpp
14{
15 using float64 = double;
16
22 {
23 public:
24 // template<typename T>
25 // using PhyBCNodeConstraint = EMcNeilPhysBC::PhyBCNodeConstraint;
26
27 public:
32 : m_phsys{ nullptr },
33 m_leftEnd{},
35 {}
36
47 PhyBCNdlConstraint aRightBC);
53 {
54 // characteristic s
55 //PhysicalBCNodeConstraint w_ndlVal; created a tuple by default
56 return m_leftEnd;
57 }
58
63 {
64 // characteristic s
65 //PhysicalBCNodeConstraint w_ndlVal; created a tuple by default
66 return m_rightEnd;
67 }
68
71 void update();
72
77 PhysicalSystem* getPhysicalSystem() const noexcept { return m_phsys; }
82 virtual void setLeftBC( const std::tuple<unsigned, float64, float64, float64>& aLeftPhyBnd)
83 {
84 // add code here
85 // compute from E. McNeil algorithm (characteristic)
86 m_leftEnd = std::make_from_tuple<PhyBCNdlConstraint>(aLeftPhyBnd);
87 }
88
92 virtual void setRightBC(std::tuple<unsigned, float64, float64, float64> aRightPhyBnd)
93 {
94 // add code here
95 // compute from E. McNeil algorithm (characteristic)
96 m_rightEnd = std::make_from_tuple<PhyBCNdlConstraint>(aRightPhyBnd);
97 }
98 private:
100 // Characteristic solver method
103 };
104} // End of namespace
dbpp::NodalTpl< unsigned, float64, float64, float64 > PhyBCNdlConstraint
Physics computational domain (phenomena take place: half-open as default)
Definition SimulationConfig.h:39
PhysicalBoundaryCnd()
Default constructor.
Definition dbpp_PhysicalBoundaryCnd.h:31
PhysicalSystem * m_phsys
Definition dbpp_PhysicalBoundaryCnd.h:99
virtual void setRightBC(std::tuple< unsigned, float64, float64, float64 > aRightPhyBnd)
Set right constraint.
Definition dbpp_PhysicalBoundaryCnd.h:92
PhyBCNdlConstraint getRightEnd() const
Right boundary.
Definition dbpp_PhysicalBoundaryCnd.h:62
PhysicalSystem * getPhysicalSystem() const noexcept
Physical system.
Definition dbpp_PhysicalBoundaryCnd.h:77
void update()
Update constraint values at both end.
Definition dbpp_PhysicalBoundaryCnd.cpp:20
PhyBCNdlConstraint m_rightEnd
Definition dbpp_PhysicalBoundaryCnd.h:102
virtual void setLeftBC(const std::tuple< unsigned, float64, float64, float64 > &aLeftPhyBnd)
Set left constraint.
Definition dbpp_PhysicalBoundaryCnd.h:82
PhyBCNdlConstraint m_leftEnd
Definition dbpp_PhysicalBoundaryCnd.h:101
PhyBCNdlConstraint getLeftEnd() const
Left boundary.
Definition dbpp_PhysicalBoundaryCnd.h:52
Physical system made of physical objects under study and described by the state variables....
Definition dbpp_PhysicalSystem.h:32
Definition DamBreakProb.h:15
double float64
Definition dbpp_LDeltaOperator.h:12