26 #ifndef OOMPH_BRICK_FROM_TET_MESH_HEADER
27 #define OOMPH_BRICK_FROM_TET_MESH_HEADER
32 #include <oomph-lib-config.h>
44 #include "../generic/mesh.h"
45 #include "../generic/tet_mesh.h"
46 #include "../generic/brick_mesh.h"
47 #include "../generic/refineable_brick_mesh.h"
48 #include "../generic/Telements.h"
59 template<
class ELEMENT>
65 TimeStepper* time_stepper_pt = &Mesh::Default_TimeStepper)
68 MeshChecker::assert_geometric_element<QElementGeometricBase, ELEMENT>(3,
84 const std::string& element_file_name,
85 const std::string& face_file_name,
86 const bool& split_corner_elements,
87 TimeStepper* time_stepper_pt = &Mesh::Default_TimeStepper,
88 const bool& use_attributes =
false)
91 MeshChecker::assert_geometric_element<QElementGeometricBase, ELEMENT>(3,
99 split_corner_elements,
116 TimeStepper* time_stepper_pt = &Mesh::Default_TimeStepper)
119 MeshChecker::assert_geometric_element<QElementGeometricBase, ELEMENT>(3,
143 TimeStepper* time_stepper_pt);
147 TimeStepper* time_stepper_pt);
165 template<
class ELEMENT>
172 const std::string xda_file_name,
173 TimeStepper* time_stepper_pt = &Mesh::Default_TimeStepper)
179 set_lagrangian_nodal_coordinates();
187 const std::string xda_file_name,
189 TimeStepper* time_stepper_pt = &Mesh::Default_TimeStepper)
191 xda_file_name, xda_tet_mesh_pt, time_stepper_pt)
196 set_lagrangian_nodal_coordinates();
211 template<
class ELEMENT>
213 public virtual RefineableBrickMesh<ELEMENT>
218 const std::string xda_file_name,
219 TimeStepper* time_stepper_pt = &Mesh::Default_TimeStepper)
224 this->setup_octree_forest();
232 const std::string xda_file_name,
234 TimeStepper* time_stepper_pt = &Mesh::Default_TimeStepper)
236 xda_file_name, xda_tet_mesh_pt, time_stepper_pt)
240 this->setup_octree_forest();
255 template<
class ELEMENT>
258 public virtual RefineableBrickMesh<ELEMENT>,
265 const std::string xda_file_name,
266 TimeStepper* time_stepper_pt = &Mesh::Default_TimeStepper)
272 set_lagrangian_nodal_coordinates();
276 this->setup_octree_forest();
284 const std::string xda_file_name,
286 TimeStepper* time_stepper_pt = &Mesh::Default_TimeStepper)
288 xda_file_name, xda_tet_mesh_pt, time_stepper_pt)
293 set_lagrangian_nodal_coordinates();
297 this->setup_octree_forest();
Brick mesh built by brickifying an existing tet mesh – each tet gets split into four bricks....
Vector< Vector< unsigned > > Boundary_id
Vector of vectors containing the boundary IDs of the overall boundary specified in the xda file.
void build_mesh(XdaTetMesh< TElement< 3, 3 >> *tet_mesh_pt, TimeStepper *time_stepper_pt)
Build fct: Pass pointer to existing tet mesh.
BrickFromTetMesh(const std::string xda_file_name, XdaTetMesh< TElement< 3, 3 >> *&xda_tet_mesh_pt, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
Constructor: Pass xda file name. This returns a pointer to the internally built XdaTetMesh for extern...
BrickFromTetMesh(const std::string xda_file_name, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
Constructor: Pass xda file name.
Vector< unsigned > oomph_lib_boundary_ids(const unsigned &xda_boundary_id)
Access functions to the Vector of oomph-lib boundary ids that make up boundary b in the original xda ...
BrickFromTetMesh(const std::string &node_file_name, const std::string &element_file_name, const std::string &face_file_name, const bool &split_corner_elements, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper, const bool &use_attributes=false)
Constructor: Pass the files required for the tetgen mesh.
//////////////////////////////////////////////////////////////////// ////////////////////////////////...
RefineableBrickFromTetMesh(const std::string xda_file_name, XdaTetMesh< TElement< 3, 3 >> *&xda_tet_mesh_pt, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
Constructor: Pass xda file name. This returns a pointer to the internally built XdaTetMesh for extern...
RefineableBrickFromTetMesh(const std::string xda_file_name, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
Constructor: Pass xda file name.
//////////////////////////////////////////////////////////////////// ////////////////////////////////...
RefineableSolidBrickFromTetMesh(const std::string xda_file_name, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
Constructor: Pass xda file name.
RefineableSolidBrickFromTetMesh(const std::string xda_file_name, XdaTetMesh< TElement< 3, 3 >> *&xda_tet_mesh_pt, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
Constructor: Pass xda file name. This returns a pointer to the internally built XdaTetMesh for extern...
//////////////////////////////////////////////////////////////////// ////////////////////////////////...
SolidBrickFromTetMesh(const std::string xda_file_name, XdaTetMesh< TElement< 3, 3 >> *&xda_tet_mesh_pt, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
Constructor: Pass xda file name. This returns a pointer to the internally built XdaTetMesh for extern...
SolidBrickFromTetMesh(const std::string xda_file_name, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
Constructor: Pass xda file name.
Unstructured tet mesh based on output from Tetgen: http://wias-berlin.de/software/tetgen/.
Tet mesh made of quadratic (ten node) tets built from xda input file.
////////////////////////////////////////////////////////////////////// //////////////////////////////...