31#ifndef MESHCARTESIAN_H
32#define MESHCARTESIAN_H
38#include "../Order2/CellInterfaceO2Cartesian.h"
39#include "../Order2/CellO2Cartesian.h"
40#include "../Order2/CellO2GhostCartesian.h"
41#include "../Parallel/decomposition.hpp"
46 MeshCartesian(
double lX,
int numberCellsX,
double lY,
int numberCellsY,
double lZ,
int numberCellsZ,
47 std::vector<stretchZone> stretchX, std::vector<stretchZone> stretchY, std::vector<stretchZone> stretchZ);
50 virtual void assignLimits(std::vector<BoundCond*>& boundCond);
51 void getIJK(
const int& index,
int& i,
int& j,
int& k)
const;
52 void construitIGlobal(
const int& i,
const int& j,
const int& k,
int& index)
const;
54 const int& ,
bool , std::string ordreCalcul);
59 virtual std::string
whoAmI()
const;
70 virtual void getCoord(std::vector<double>& dataset,
Axis axis)
const;
Definition BoundCond.h:41
Definition MeshCartesian.h:44
int m_numberCellsZGlobal
Definition MeshCartesian.h:86
int m_numberBoundCondInit
Definition MeshCartesian.h:106
std::vector< double > m_dYj
Definition MeshCartesian.h:88
int m_numberCellsY
Definition MeshCartesian.h:82
virtual ~MeshCartesian()
Definition MeshCartesian.cpp:63
void construitIGlobal(const int &i, const int &j, const int &k, int &index) const
Definition MeshCartesian.cpp:141
BoundCond * m_limZm
Definition MeshCartesian.h:111
double m_lX
Definition MeshCartesian.h:78
void getIJK(const int &index, int &i, int &j, int &k) const
Definition MeshCartesian.cpp:130
virtual std::string getStringExtent(bool global=false) const
Definition MeshCartesian.cpp:1767
virtual void assignLimits(std::vector< BoundCond * > &boundCond)
Definition MeshCartesian.cpp:86
std::vector< double > m_posYj
Definition MeshCartesian.h:91
int m_offsetZ
Definition MeshCartesian.h:104
int m_CpuCoordX
Definition MeshCartesian.h:99
std::vector< stretchZone > m_stretchY
Definition MeshCartesian.h:94
std::vector< stretchZone > m_stretchZ
Definition MeshCartesian.h:95
BoundCond * m_limZp
Definition MeshCartesian.h:112
virtual int initializeGeometrie(TypeMeshContainer< Cell * > &cells, TypeMeshContainer< Cell * > &cellsGhost, TypeMeshContainer< CellInterface * > &cellInterfaces, const int &, bool, std::string ordreCalcul)
renvoi le number de dimensions (1,2 ou 3)
Definition MeshCartesian.cpp:151
BoundCond * m_limYp
Definition MeshCartesian.h:110
int m_numberCellsYGlobal
Definition MeshCartesian.h:85
std::vector< double > m_dZk
Definition MeshCartesian.h:89
virtual int getNumberCellsZ()
Definition MeshCartesian.h:65
void meshStretching()
Definition MeshCartesian.cpp:168
virtual void setDataSet(std::vector< double > &dataset, TypeMeshContainer< Cell * > *cellsLvl, const int var, int phase) const
Definition MeshCartesian.cpp:1864
TypeMeshContainer< Face * > m_faces
Vector of face objects (between two elements or at boundaries): Contains geometrical attributes.
Definition MeshCartesian.h:76
double m_lZ
Definition MeshCartesian.h:80
int m_CpuCoordY
Definition MeshCartesian.h:100
std::vector< stretchZone > m_stretchX
Definition MeshCartesian.h:93
int m_CpuCoordZ
Definition MeshCartesian.h:101
int m_numberCpuX
Definition MeshCartesian.h:96
int m_numberCellsX
Definition MeshCartesian.h:81
virtual void getData(TypeMeshContainer< Cell * > *cellsLvl, std::vector< double > &dataset, const int var, int phase) const
Definition MeshCartesian.cpp:1820
int m_numberCpuZ
Definition MeshCartesian.h:98
std::vector< double > m_posXi
Definition MeshCartesian.h:90
int m_numberCellsZ
Definition MeshCartesian.h:83
std::vector< double > m_posZk
Definition MeshCartesian.h:92
TypeMeshContainer< Element * > m_elements
Vector of element objects: Contains geometrical attributes.
Definition MeshCartesian.h:75
virtual void setImmersedBoundaries(TypeMeshContainer< CellInterface * > *cellInterfacesLvl, std::string ordreCalcul) const
Definition MeshCartesian.cpp:1630
BoundCond * m_limYm
Definition MeshCartesian.h:109
BoundCond * m_limXp
Definition MeshCartesian.h:108
int m_offsetY
Definition MeshCartesian.h:103
virtual std::string whoAmI() const
Definition MeshCartesian.cpp:1623
double m_lY
Definition MeshCartesian.h:79
int m_numberCpuY
Definition MeshCartesian.h:97
void initializeGeometrieMonoCpu(TypeMeshContainer< Cell * > &cells, TypeMeshContainer< CellInterface * > &cellInterfaces, std::string ordreCalcul)
Definition MeshCartesian.cpp:212
void initializeGeometrieParallele(TypeMeshContainer< Cell * > &cells, TypeMeshContainer< Cell * > &cellsGhost, TypeMeshContainer< CellInterface * > &cellInterfaces, std::string ordreCalcul)
Definition MeshCartesian.cpp:562
int m_offsetX
Definition MeshCartesian.h:102
void decoupageParallele(std::string ordreCalcul, TypeMeshContainer< Cell * > &cells)
Definition MeshCartesian.cpp:1063
int m_numberCellsXGlobal
Definition MeshCartesian.h:84
virtual void getCoord(std::vector< double > &dataset, Axis axis) const
Definition MeshCartesian.cpp:1791
BoundCond * m_limXm
Definition MeshCartesian.h:107
std::vector< double > m_dXi
Definition MeshCartesian.h:87
virtual int getNumberCellsY()
Definition MeshCartesian.h:64
Abstract class for a mesh.
Definition Mesh.h:53