1#ifndef MeshStructured_decl_hpp
2#define MeshStructured_decl_hpp
3#include "feddlib/core/Utils/FEDDUtils.hpp"
26template <
class SC = default_sc,
class LO = default_lo,
class GO = default_go,
class NO = default_no>
27class MeshStructured :
public Mesh<SC,LO,GO,NO> {
30 typedef Mesh<SC,LO,GO,NO> Mesh_Type;
31 typedef typename Mesh_Type::CommPtr_Type CommPtr_Type;
32 typedef typename Mesh_Type::CommConstPtrConst_Type CommConstPtrConst_Type;
33 typedef typename Mesh_Type::Map_Type Map_Type;
34 typedef typename Mesh_Type::MapPtr_Type MapPtr_Type;
35 typedef typename Mesh_Type::ElementsPtr_Type ElementsPtr_Type;
36 typedef Teuchos::RCP<MeshStructured<SC,LO,GO,NO> > MeshStrPtr_Type;
41 MeshStructured(CommConstPtrConst_Type& comm);
45 void setGeometry2DRectangle(std::vector<double> coordinates,
double l,
double h);
47 void setGeometry3DBox(std::vector<double> coordinates,
double l,
double w,
double h);
58 int numProcsCoarseSolve=0);
80 int numProcsCoarseSolve=0);
98 int numProcsCoarseSolve=0);
108 int numProcsCoarseSolve=0);
116 int numProcsCoarseSolve);
124 int numProcsCoarseSolve);
132 int numProcsCoarseSolve);
140 int numProcsCoarseSolve);
148 int numProcsCoarseSolve);
155 int numProcsCoarseSolve);
164 int numProcsCoarseSolve);
182 void setRankRange(
int numProcsCoarseSolve );
184 void buildElementsClass( vec2D_int_ptr_Type elements, vec_int_ptr_Type elementFlag = Teuchos::null );
189 GO globalID_Q2_20Cube(
int r,
int s ,
int t,
int &rr,
int off_x,
int off_y,
int off_z,
int M,
int N,
190 GO nmbPoints_oneDirFull, GO nmbPoints_oneDirMid);
205 void flipSurface(vec_int_Type &surfaceElements_vec);
210 std::vector<double> coorRec;
void buildMesh3DBFS(std::string FEType, int N, int M, int numProcsCoarseSolve=0)
Building general 3D backward facing step with length, width and height as defines by 'setGeometry3DBo...
Definition MeshStructured_def.hpp:2457
void buildElementMap()
Building element map.
Definition MeshStructured_def.hpp:4238
void build3DQ1BFS(int N, int M, int numProcsCoarseSolve)
Building general 3D backward facing step with length, width and height as defines by 'setGeometry3DBo...
Definition MeshStructured_def.hpp:1628
void buildMesh3D(std::string FEType, int N, int M, int numProcsCoarseSolve=0)
Building general 3D cuboid with length, width and height as defines by 'setGeometry3DBox'....
Definition MeshStructured_def.hpp:576
void buildP1_Disc_Q2_3DCube(int N, int M, int numProcsCoarseSolve)
Building general 3D cuboid with length, width and height as defines by 'setGeometry3DBox' with Q2-P1 ...
Definition MeshStructured_def.hpp:965
void buildMesh3D5Elements(std::string FEType, int N, int M, int numProcsCoarseSolve)
Building general 3D cuboid with length, width and height as defines by 'setGeometry3DBox'....
Definition MeshStructured_def.hpp:3682
void buildMesh2DBFS(std::string FEType, int N, int M, int numProcsCoarseSolve=0)
Building 2D backward facing step geometry with the lenght and height as defined per 'setGeomerty2DRec...
Definition MeshStructured_def.hpp:2000
void build3DQ2_20Cube(int N, int M, int numProcsCoarseSolve)
Building general 3D cuboid with length, width and height as defines by 'setGeometry3DBox' with Q2 dis...
Definition MeshStructured_def.hpp:1478
void build3DQ1Cube(int N, int M, int numProcsCoarseSolve)
Building general 3D cuboid with length, width and height as defines by 'setGeometry3DBox' with Q1 dis...
Definition MeshStructured_def.hpp:1145
void buildP1_Disc_Q2_3DBFS(int N, int M, int numProcsCoarseSolve)
Building general 3D backward facing step with length, width and height as defines by 'setGeometry3DBo...
Definition MeshStructured_def.hpp:2921
void build3DQ2Cube(int N, int M, int numProcsCoarseSolve)
Building general 3D cuboid with length, width and height as defines by 'setGeometry3DBox' with Q2 dis...
Definition MeshStructured_def.hpp:1268
void buildSurfaces(int flagsOption, std::string FEType)
Building surfaces. This is useful for structural problems. Each surface gets another flag....
Definition MeshStructured_def.hpp:3975
void buildSurfaceLinesSquare()
Building suface lines aka edges. Empty.
Definition MeshStructured_def.hpp:228
void setStructuredMeshFlags(int flagsOption, std::string FEType="P1")
Setting corresponding flags to structured mesh depending on underlying problem. Rectangles/Cuboids ar...
Definition MeshStructured_def.hpp:3104
void build3DQ2BFS(int N, int M, int numProcsCoarseSolve)
Building general 3D backward facing step with length, width and height as defines by 'setGeometry3DBo...
Definition MeshStructured_def.hpp:1804
void buildMesh2D(std::string FEType, int N, int M, int numProcsCoarseSolve=0)
Building a general 2D rectangular mesh with the lenght and height as defined per 'setGeomerty2DRectan...
Definition MeshStructured_def.hpp:238
Adaptive Mesh Refinement.
Definition AdaptiveMeshRefinement_decl.hpp:33