DamBreak++ Wave Simulator 0.3
DamBreak++ Simulation Framework
Loading...
Searching...
No Matches
dbpp_Omega.h
Go to the documentation of this file.
1#pragma once
2
3// STL includes
4#include <list>
5#include <vector>
6// SfxBase19 include
7#include "include/Sfx_DefineTypes.h"
8// App includes
9#include "dbpp_Cell.h"
10#include "dbpp_NodalTpl.hpp"
11
12namespace dbpp
13{
18 class Omega
19 {
20 public:
24 using GNode = NodalTpl<unsigned/*Id*/, float64/*X*/>;
25 public:
29 using vec_cell = std::vector<Cell>;
30 using vec_iter_cell = vec_cell::iterator;
31 using vec_citer_cell = vec_cell::const_iterator;
35 using vec_Gnode = std::vector<GNode>;
36 using vec_iter_node = vec_Gnode::iterator;
37 using vec_citer_node = vec_Gnode::const_iterator;
38
39 public:
43 Omega();
48 std::size_t totalGNodeNo() const noexcept { return m_totalGNode; }
58 const vec_cell& omega_eh() const { return m_omegaArray; }
68 const vec_Gnode& omega_gnode() const { return m_vecGNode; }
73 const std::list<cellFace>& getGblFaces() const { return m_gblFaces; }
79 Cell& operator() ( int32 en) { return m_omegaArray[en]; }
80
81 // that what it should be!!!
82 // GNode& operator[] (int32 nn) { return m_vecNode[nn]; }
83
89 int32 element_order(const int en) { return 2; }
94 std::size_t total_element_no()
95 {
96 return m_omegaArray.size();
97 }
98
102 std::size_t total_element_no() const
103 {
104 return m_omegaArray.size();
105 }
106 private:
107 // what we got here
108 std::size_t m_totalGNode;
111 std::list<cellFace> m_gblFaces;
115 void createCell();
119 void createGNode();
120 };
121} // End of namespace
Cell concept is at the heart of the finite volume discretization. Usage: Reconstruction procedure bas...
Definition dbpp_Cell.h:35
std::size_t total_element_no() const
Domain elements.
Definition dbpp_Omega.h:102
vec_Gnode::iterator vec_iter_node
Definition dbpp_Omega.h:36
std::size_t m_totalGNode
Definition dbpp_Omega.h:108
std::vector< Cell > vec_cell
Alises (Cell)
Definition dbpp_Omega.h:29
vec_Gnode::const_iterator vec_citer_node
Definition dbpp_Omega.h:37
Omega()
constructor left for customized problem definition
Definition dbpp_Omega.cpp:17
Cell & operator()(int32 en)
element selector
Definition dbpp_Omega.h:79
const std::list< cellFace > & getGblFaces() const
list of global cell faces
Definition dbpp_Omega.h:73
vec_cell::iterator vec_iter_cell
Definition dbpp_Omega.h:30
const vec_cell & omega_eh() const
Domain elements.
Definition dbpp_Omega.h:58
void createCell()
helper function to create cells
Definition dbpp_Omega.cpp:71
vec_Gnode & omega_gnode()
Nodal geometric nodes.
Definition dbpp_Omega.h:63
void createGNode()
helper function to create geometric nodes
Definition dbpp_Omega.cpp:39
std::size_t total_element_no()
total number of element
Definition dbpp_Omega.h:94
const vec_Gnode & omega_gnode() const
Nodal geometric nodes.
Definition dbpp_Omega.h:68
std::size_t totalGNodeNo() const noexcept
total geometric nodes
Definition dbpp_Omega.h:48
std::list< cellFace > m_gblFaces
Definition dbpp_Omega.h:111
vec_cell m_omegaArray
Definition dbpp_Omega.h:109
NodalTpl< unsigned, float64 > GNode
Nodal Variable is the "Basis" of numerical method approximation.
Definition dbpp_Omega.h:24
vec_cell::const_iterator vec_citer_cell
Definition dbpp_Omega.h:31
int32 element_order(const int en)
element order
Definition dbpp_Omega.h:89
vec_cell & omega_eh()
Domain elements.
Definition dbpp_Omega.h:53
vec_Gnode m_vecGNode
Definition dbpp_Omega.h:110
std::vector< GNode > vec_Gnode
Alises (Geometric nodes)
Definition dbpp_Omega.h:35
Definition DamBreakProb.h:15
double float64
Definition dbpp_LDeltaOperator.h:12
Implementation for nodal variable concept used in our application (use of variadic template).
Definition dbpp_NodalTpl.hpp:47