Unstructured tet mesh based on output from Tetgen: http://wias-berlin.de/software/tetgen/. More...
#include <tetgen_mesh.template.h>
Public Member Functions | |
TetgenMesh () | |
Empty constructor. More... | |
TetgenMesh (const std::string &node_file_name, const std::string &element_file_name, const std::string &face_file_name, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper, const bool &use_attributes=false) | |
Constructor with the input files. More... | |
TetgenMesh (tetgenio &tetgen_data, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper, const bool &use_attributes=false) | |
Constructor with tetgenio data structure. More... | |
TetgenMesh (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 with the input files. Setting the boolean flag to true splits "corner" elements, i.e. elements that that have at least three faces on a domain boundary. The relevant elements are split without introducing hanging nodes so the sons have a "worse" shape than their fathers. However, this step avoids otherwise-hard-to-diagnose problems in fluids problems where the application of boundary conditions at such "corner" elements can overconstrain the solution. More... | |
TetgenMesh (tetgenio &tetgen_data, const bool &split_corner_elements, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper, const bool &use_attributes=false) | |
Constructor with tetgen data structure Setting the boolean flag to true splits "corner" elements, i.e. elements that that have at least three faces on a domain boundary. The relevant elements are split without introducing hanging nodes so the sons have a "worse" shape than their fathers. However, this step avoids otherwise-hard-to-diagnose problems in fluids problems where the application of boundary conditions at such "corner" elements can overconstrain the solution. More... | |
TetgenMesh (TetMeshFacetedClosedSurface *const &outer_boundary_pt, Vector< TetMeshFacetedSurface *> &internal_surface_pt, const double &element_volume, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper, const bool &use_attributes=false, const bool &split_corner_elements=false) | |
Build mesh, based on a TetgenMeshFactedClosedSurface that specifies the outer boundary of the domain and any number of internal boundaries, specified by TetMeshFacetedSurfaces. Also specify target size for uniform element size. More... | |
void | build_tetgenio (TetMeshFacetedSurface *const &outer_boundary_pt, Vector< TetMeshFacetedSurface *> &internal_surface_pt, tetgenio &tetgen_io) |
Build tetgenio object from the TetMeshFacetedSurfaces. More... | |
~TetgenMesh () | |
Empty destructor. More... | |
void | set_mesh_level_time_stepper (TimeStepper *const &time_stepper_pt, const bool &preserve_existing_data) |
Overload set_mesh_level_time_stepper so that the stored time stepper now corresponds to the new timestepper. More... | |
bool | tetgenio_exists () const |
Boolen defining whether tetgenio object has been built or not. More... | |
tetgenio *& | tetgenio_pt () |
Access to the triangulateio representation of the mesh. More... | |
void | set_deep_copy_tetgenio_pt (tetgenio *const &tetgenio_pt) |
Set the tetgen pointer by a deep copy. More... | |
void | deep_copy_of_tetgenio (tetgenio *const &input_pt, tetgenio *&output_pt) |
Protected Member Functions | |
void | build_from_scaffold (TimeStepper *time_stepper_pt, const bool &use_attributes) |
Build mesh from scaffold. More... | |
Protected Attributes | |
TetgenScaffoldMesh * | Tmp_mesh_pt |
Temporary scaffold mesh. More... | |
bool | Tetgenio_exists |
Boolean to indicate whether a tetgenio representation of the mesh exists. More... | |
tetgenio * | Tetgenio_pt |
Tetgen representation of mesh. More... | |
bool | Use_attributes |
Boolean flag to indicate whether to use attributes or not (required for multidomain meshes) More... | |
Unstructured tet mesh based on output from Tetgen: http://wias-berlin.de/software/tetgen/.
Definition at line 56 of file tetgen_mesh.template.h.
|
inline |
Empty constructor.
Definition at line 62 of file tetgen_mesh.template.h.
|
inline |
Constructor with the input files.
Definition at line 69 of file tetgen_mesh.template.h.
References oomph::TetgenMesh< ELEMENT >::build_from_scaffold(), oomph::TetgenMesh< ELEMENT >::Tmp_mesh_pt, and oomph::TetgenMesh< ELEMENT >::Use_attributes.
|
inline |
Constructor with tetgenio data structure.
Definition at line 109 of file tetgen_mesh.template.h.
References oomph::TetgenMesh< ELEMENT >::build_from_scaffold(), oomph::TetgenMesh< ELEMENT >::Tetgenio_exists, oomph::TetgenMesh< ELEMENT >::Tetgenio_pt, oomph::TetgenMesh< ELEMENT >::Tmp_mesh_pt, and oomph::TetgenMesh< ELEMENT >::Use_attributes.
|
inline |
Constructor with the input files. Setting the boolean flag to true splits "corner" elements, i.e. elements that that have at least three faces on a domain boundary. The relevant elements are split without introducing hanging nodes so the sons have a "worse" shape than their fathers. However, this step avoids otherwise-hard-to-diagnose problems in fluids problems where the application of boundary conditions at such "corner" elements can overconstrain the solution.
Definition at line 158 of file tetgen_mesh.template.h.
References oomph::TetgenMesh< ELEMENT >::build_from_scaffold(), oomph::TetgenMesh< ELEMENT >::Tetgenio_exists, oomph::TetgenMesh< ELEMENT >::Tetgenio_pt, oomph::TetgenMesh< ELEMENT >::Tmp_mesh_pt, and oomph::TetgenMesh< ELEMENT >::Use_attributes.
|
inline |
Constructor with tetgen data structure Setting the boolean flag to true splits "corner" elements, i.e. elements that that have at least three faces on a domain boundary. The relevant elements are split without introducing hanging nodes so the sons have a "worse" shape than their fathers. However, this step avoids otherwise-hard-to-diagnose problems in fluids problems where the application of boundary conditions at such "corner" elements can overconstrain the solution.
Definition at line 215 of file tetgen_mesh.template.h.
References oomph::TetgenMesh< ELEMENT >::build_from_scaffold(), oomph::TetgenMesh< ELEMENT >::Tetgenio_exists, oomph::TetgenMesh< ELEMENT >::Tetgenio_pt, oomph::TetgenMesh< ELEMENT >::Tmp_mesh_pt, and oomph::TetgenMesh< ELEMENT >::Use_attributes.
|
inline |
Build mesh, based on a TetgenMeshFactedClosedSurface that specifies the outer boundary of the domain and any number of internal boundaries, specified by TetMeshFacetedSurfaces. Also specify target size for uniform element size.
Definition at line 265 of file tetgen_mesh.template.h.
References oomph::TetgenMesh< ELEMENT >::build_from_scaffold(), oomph::TetgenMesh< ELEMENT >::build_tetgenio(), oomph::TetgenMesh< ELEMENT >::Tetgenio_exists, oomph::TetgenMesh< ELEMENT >::Tetgenio_pt, oomph::TetgenMesh< ELEMENT >::Tmp_mesh_pt, and oomph::TetgenMesh< ELEMENT >::Use_attributes.
|
inline |
Empty destructor.
Definition at line 674 of file tetgen_mesh.template.h.
References oomph::TetgenMesh< ELEMENT >::Tetgenio_exists, and oomph::TetgenMesh< ELEMENT >::Tetgenio_pt.
|
protected |
Build mesh from scaffold.
Build unstructured tet mesh based on output from scaffold.
Definition at line 57 of file tetgen_mesh.template.cc.
Referenced by oomph::RefineableTetgenMesh< ELEMENT >::RefineableTetgenMesh(), oomph::TetgenMesh< ELEMENT >::set_deep_copy_tetgenio_pt(), and oomph::TetgenMesh< ELEMENT >::TetgenMesh().
|
inline |
Build tetgenio object from the TetMeshFacetedSurfaces.
ALH: This may not be needed
Definition at line 434 of file tetgen_mesh.template.h.
Referenced by oomph::TetgenMesh< ELEMENT >::TetgenMesh().
void oomph::TetgenMesh< ELEMENT >::deep_copy_of_tetgenio | ( | tetgenio *const & | input_pt, |
tetgenio *& | output_pt | ||
) |
Transfer tetgenio data from the input to the output The output is assumed to have been constructed and "empty"
Definition at line 845 of file tetgen_mesh.template.cc.
Referenced by oomph::RefineableTetgenMesh< ELEMENT >::RefineableTetgenMesh(), and oomph::TetgenMesh< ELEMENT >::set_deep_copy_tetgenio_pt().
|
inline |
Set the tetgen pointer by a deep copy.
Definition at line 699 of file tetgen_mesh.template.h.
References oomph::TetgenMesh< ELEMENT >::build_from_scaffold(), oomph::TetgenMesh< ELEMENT >::deep_copy_of_tetgenio(), oomph::TetgenMesh< ELEMENT >::Tetgenio_exists, and oomph::TetgenMesh< ELEMENT >::Tetgenio_pt.
|
inline |
Overload set_mesh_level_time_stepper so that the stored time stepper now corresponds to the new timestepper.
Definition at line 685 of file tetgen_mesh.template.h.
|
inline |
Boolen defining whether tetgenio object has been built or not.
Definition at line 692 of file tetgen_mesh.template.h.
References oomph::TetgenMesh< ELEMENT >::Tetgenio_exists.
|
inline |
Access to the triangulateio representation of the mesh.
Definition at line 696 of file tetgen_mesh.template.h.
References oomph::TetgenMesh< ELEMENT >::Tetgenio_pt.
Referenced by oomph::RefineableTetgenMesh< ELEMENT >::adapt().
|
protected |
Boolean to indicate whether a tetgenio representation of the mesh exists.
Definition at line 728 of file tetgen_mesh.template.h.
Referenced by oomph::RefineableTetgenMesh< ELEMENT >::RefineableTetgenMesh(), oomph::TetgenMesh< ELEMENT >::set_deep_copy_tetgenio_pt(), oomph::TetgenMesh< ELEMENT >::tetgenio_exists(), oomph::TetgenMesh< ELEMENT >::TetgenMesh(), and oomph::TetgenMesh< ELEMENT >::~TetgenMesh().
|
protected |
Tetgen representation of mesh.
Definition at line 731 of file tetgen_mesh.template.h.
Referenced by oomph::RefineableTetgenMesh< ELEMENT >::RefineableTetgenMesh(), oomph::TetgenMesh< ELEMENT >::set_deep_copy_tetgenio_pt(), oomph::TetgenMesh< ELEMENT >::tetgenio_pt(), oomph::TetgenMesh< ELEMENT >::TetgenMesh(), and oomph::TetgenMesh< ELEMENT >::~TetgenMesh().
|
protected |
Temporary scaffold mesh.
Definition at line 724 of file tetgen_mesh.template.h.
Referenced by oomph::RefineableTetgenMesh< ELEMENT >::RefineableTetgenMesh(), and oomph::TetgenMesh< ELEMENT >::TetgenMesh().
|
protected |
Boolean flag to indicate whether to use attributes or not (required for multidomain meshes)
Definition at line 735 of file tetgen_mesh.template.h.
Referenced by oomph::TetgenMesh< ELEMENT >::TetgenMesh().