Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
oomph::TetgenMesh< ELEMENT > Class Template Reference

Unstructured tet mesh based on output from Tetgen: http://wias-berlin.de/software/tetgen//. More...

#include <tetgen_mesh.template.h>

Inheritance diagram for oomph::TetgenMesh< ELEMENT >:
oomph::SolidTetMesh< ELEMENT >

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 (TetgenMeshFacetedSurface *const &outer_boundary_pt, Vector< TetgenMeshFacetedSurface * > &internal_closed_surface_pt, const double &element_volume, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper, const bool &use_attributes=false)
 Build mesh, based on a TetgenMeshClosedSurface that specifies the outer boundary of the domain and any number of internal closed curves, also specified by TriangleMeshClosedSurfaces. Also specify target area for uniform element size. More...
 
void build_tetgenio (TetgenMeshFacetedSurface *const &outer_boundary_pt, Vector< TetgenMeshFacetedSurface * > &internal_closed_surface_pt, tetgenio &tetgen_io)
 Build tetgenio object from the TetgenMeshClosedSurfaces. 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)
 
void setup_boundary_coordinates (const unsigned &b)
 Setup boundary coordinate on boundary b which is assumed to be planar. Boundary coordinates are the x-y coordinates in the plane of that boundary with the x-axis along the line from the (lexicographically) "lower left" to the "upper right" node. The y axis is obtained by taking the cross-product of the positive x direction with the outer unit normal computed by the face elements. More...
 
void setup_boundary_coordinates (const unsigned &b, const bool &switch_normal)
 Setup boundary coordinate on boundary b which is assumed to be planar. Boundary coordinates are the x-y coordinates in the plane of that boundary with the x-axis along the line from the (lexicographically) "lower left" to the "upper right" node. The y axis is obtained by taking the cross-product of the positive x direction with the outer unit normal computed by the face elements. More...
 
void setup_boundary_coordinates (const unsigned &b, std::ofstream &outfile)
 Setup boundary coordinate on boundary b which is assumed to be planar. Boundary coordinates are the x-y coordinates in the plane of that boundary with the x-axis along the line from the (lexicographically) "lower left" to the "upper right" node. The y axis is obtained by taking the cross-product of the positive x direction with the outer unit normal computed by the face elements. Doc faces in output file. More...
 
void setup_boundary_coordinates (const unsigned &b, const bool &switch_normal, std::ofstream &outfile)
 Setup boundary coordinate on boundary b which is assumed to be planar. Boundary coordinates are the x-y coordinates in the plane of that boundary with the x-axis along the line from the (lexicographically) "lower left" to the "upper right" node. The y axis is obtained by taking the cross-product of the positive x direction with the outer unit normal computed by the face elements (or its negative if switch_normal is set to true). Doc faces in output file. More...
 
virtual void setup_boundary_coordinates_generic (const unsigned &b, const bool &switch_normal, std::ofstream &outfile)
 Setup boundary coordinate on boundary b which is assumed to be planar. Boundary coordinates are the x-y coordinates in the plane of that boundary with the x-axis along the line from the (lexicographically) "lower left" to the "upper right" node. The y axis is obtained by taking the cross-product of the positive x direction with the outer unit normal computed by the face elements (or its negative if switch_normal is set to true). Doc faces in output file. More...
 
unsigned nboundary_element_in_region (const unsigned &b, const unsigned &r) const
 Return the number of elements adjacent to boundary b in region r. More...
 
FiniteElement * boundary_element_in_region_pt (const unsigned &b, const unsigned &r, const unsigned &e) const
 Return pointer to the e-th element adjacent to boundary b in region r. More...
 
int face_index_at_boundary_in_region (const unsigned &b, const unsigned &r, const unsigned &e) const
 Return face index of the e-th element adjacent to boundary b in region r. More...
 
unsigned nregion ()
 Return the number of regions specified by attributes. More...
 
unsigned nregion_element (const unsigned &i)
 Return the number of elements in region i. More...
 
double region_attribute (const unsigned &i)
 Return the attribute associated with region i. More...
 
FiniteElement * region_element_pt (const unsigned &i, const unsigned &e)
 Return the e-th element in the i-th region. More...
 
void snap_to_quadratic_surface (const Vector< unsigned > &boundary_id, const std::string &quadratic_surface_file_name, const bool &switch_normal, DocInfo &doc_info)
 Snap boundaries specified by the IDs listed in boundary_id to a quadratric surface, specified in the file quadratic_surface_file_name. This is usually used with vmtk-based meshes for which oomph-lib's xda to poly conversion code produces the files "quadratic_fsi_boundary.dat" and "quadratic_outer_solid_boundary.dat" which specify the quadratic FSI boundary (for the fluid and the solid) and the quadratic representation of the outer boundary of the solid. When used with these files, the flag switch_normal should be set to true when calling the function for the outer boundary of the solid. The DocInfo object can be used to label optional output files. (Uses directory and label). More...
 
void snap_to_quadratic_surface (const Vector< unsigned > &boundary_id, const std::string &quadratic_surface_file_name, const bool &switch_normal)
 Snap boundaries specified by the IDs listed in boundary_id to a quadratric surface, specified in the file quadratic_surface_file_name. This is usually used with vmtk-based meshes for which oomph-lib's xda to poly conversion code produces the files "quadratic_fsi_boundary.dat" and "quadratic_outer_solid_boundary.dat" which specify the quadratic FSI boundary (for the fluid and the solid) and the quadratic representation of the outer boundary of the solid. When used with these files, the flag switch_normal should be set to true when calling the function for the outer boundary of the solid. More...
 
void split_elements_in_corners (TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
 Non-Delaunay split elements that have three faces on a boundary into sons. Timestepper species timestepper for new nodes; defaults to to steady timestepper. More...
 

Protected Member Functions

void build_from_scaffold (TimeStepper *time_stepper_pt, const bool &use_attributes)
 Build mesh from scaffold. More...
 

Protected Attributes

bool Tetgenio_exists
 Boolean to indicate whether a tetgenio representation of the mesh exists. More...
 
tetgenio * Tetgenio_pt
 Tetgen representation of mesh. More...
 
TetgenScaffoldMesh * Tmp_mesh_pt
 Temporary scaffold mesh. More...
 
Vector< Vector< FiniteElement * > > Region_element_pt
 Vectors of elements in each region differentiated by attribute. More...
 
Vector< double > Region_attribute
 Vector of attributes associated with the elements in each region. More...
 
Vector< std::map< unsigned,
Vector< FiniteElement * > > > 
Boundary_region_element_pt
 Storage for elements adjacent to a boundary in a particular region. More...
 
Vector< std::map< unsigned,
Vector< int > > > 
Face_index_region_at_boundary
 Storage for the face index adjacent to a boundary in a particular region. More...
 
TetgenMeshFacetedSurface * Outer_boundary_pt
 Faceted surface that defines outer boundaries. More...
 
Vector
< TetgenMeshFacetedSurface * > 
Internal_surface_pt
 Vector to faceted surfaces that define internal boundaries. More...
 
TimeStepper * Time_stepper_pt
 Timestepper used to build elements. More...
 
bool Use_attributes
 

Detailed Description

template<class ELEMENT>
class oomph::TetgenMesh< ELEMENT >

Unstructured tet mesh based on output from Tetgen: http://wias-berlin.de/software/tetgen//.

Definition at line 56 of file tetgen_mesh.template.h.

Constructor & Destructor Documentation

template<class ELEMENT>
oomph::TetgenMesh< ELEMENT >::TetgenMesh ( )
inline

Empty constructor.

Definition at line 62 of file tetgen_mesh.template.h.

template<class ELEMENT>
oomph::TetgenMesh< ELEMENT >::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 
)
inline
template<class ELEMENT>
oomph::TetgenMesh< ELEMENT >::TetgenMesh ( tetgenio &  tetgen_data,
TimeStepper *  time_stepper_pt = &Mesh::Default_TimeStepper,
const bool &  use_attributes = false 
)
inline
template<class ELEMENT>
oomph::TetgenMesh< ELEMENT >::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 
)
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 142 of file tetgen_mesh.template.h.

References oomph::TetgenMesh< ELEMENT >::build_from_scaffold(), oomph::TetgenMesh< ELEMENT >::setup_boundary_coordinates(), oomph::TetgenMesh< ELEMENT >::split_elements_in_corners(), oomph::TetgenMesh< ELEMENT >::Tetgenio_exists, oomph::TetgenMesh< ELEMENT >::Tetgenio_pt, oomph::TetgenMesh< ELEMENT >::Time_stepper_pt, oomph::TetgenMesh< ELEMENT >::Tmp_mesh_pt, and oomph::TetgenMesh< ELEMENT >::Use_attributes.

template<class ELEMENT>
oomph::TetgenMesh< ELEMENT >::TetgenMesh ( tetgenio &  tetgen_data,
const bool &  split_corner_elements,
TimeStepper *  time_stepper_pt = &Mesh::Default_TimeStepper,
const bool &  use_attributes = false 
)
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 218 of file tetgen_mesh.template.h.

References oomph::TetgenMesh< ELEMENT >::build_from_scaffold(), oomph::TetgenMesh< ELEMENT >::split_elements_in_corners(), oomph::TetgenMesh< ELEMENT >::Tetgenio_exists, oomph::TetgenMesh< ELEMENT >::Tetgenio_pt, oomph::TetgenMesh< ELEMENT >::Time_stepper_pt, oomph::TetgenMesh< ELEMENT >::Tmp_mesh_pt, and oomph::TetgenMesh< ELEMENT >::Use_attributes.

template<class ELEMENT>
oomph::TetgenMesh< ELEMENT >::TetgenMesh ( TetgenMeshFacetedSurface *const &  outer_boundary_pt,
Vector< TetgenMeshFacetedSurface * > &  internal_closed_surface_pt,
const double &  element_volume,
TimeStepper *  time_stepper_pt = &Mesh::Default_TimeStepper,
const bool &  use_attributes = false 
)
inline

Build mesh, based on a TetgenMeshClosedSurface that specifies the outer boundary of the domain and any number of internal closed curves, also specified by TriangleMeshClosedSurfaces. Also specify target area for uniform element size.

Definition at line 279 of file tetgen_mesh.template.h.

References oomph::TetgenMesh< ELEMENT >::build_from_scaffold(), oomph::TetgenMesh< ELEMENT >::build_tetgenio(), oomph::TetgenMesh< ELEMENT >::Internal_surface_pt, oomph::TetgenMesh< ELEMENT >::Outer_boundary_pt, oomph::TetgenMesh< ELEMENT >::Tetgenio_exists, oomph::TetgenMesh< ELEMENT >::Tetgenio_pt, oomph::TetgenMesh< ELEMENT >::Time_stepper_pt, oomph::TetgenMesh< ELEMENT >::Tmp_mesh_pt, and oomph::TetgenMesh< ELEMENT >::Use_attributes.

template<class ELEMENT>
oomph::TetgenMesh< ELEMENT >::~TetgenMesh ( )
inline

Member Function Documentation

template<class ELEMENT>
FiniteElement* oomph::TetgenMesh< ELEMENT >::boundary_element_in_region_pt ( const unsigned &  b,
const unsigned &  r,
const unsigned &  e 
) const
inline

Return pointer to the e-th element adjacent to boundary b in region r.

Definition at line 718 of file tetgen_mesh.template.h.

References oomph::TetgenMesh< ELEMENT >::Boundary_region_element_pt.

template<class ELEMENT >
void oomph::TetgenMesh< ELEMENT >::build_from_scaffold ( TimeStepper *  time_stepper_pt,
const bool &  use_attributes 
)
protected

Build mesh from scaffold.

Build unstructured tet mesh based on output from scaffold.

Definition at line 56 of file tetgen_mesh.template.cc.

Referenced by oomph::TetgenMesh< ELEMENT >::TetgenMesh().

template<class ELEMENT>
void oomph::TetgenMesh< ELEMENT >::build_tetgenio ( TetgenMeshFacetedSurface *const &  outer_boundary_pt,
Vector< TetgenMeshFacetedSurface * > &  internal_closed_surface_pt,
tetgenio &  tetgen_io 
)
inline

Build tetgenio object from the TetgenMeshClosedSurfaces.

ALH: This may not be needed

Definition at line 362 of file tetgen_mesh.template.h.

Referenced by oomph::TetgenMesh< ELEMENT >::TetgenMesh().

template<class ELEMENT >
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 836 of file tetgen_mesh.template.cc.

Referenced by oomph::TetgenMesh< ELEMENT >::set_deep_copy_tetgenio_pt().

template<class ELEMENT>
int oomph::TetgenMesh< ELEMENT >::face_index_at_boundary_in_region ( const unsigned &  b,
const unsigned &  r,
const unsigned &  e 
) const
inline

Return face index of the e-th element adjacent to boundary b in region r.

Definition at line 736 of file tetgen_mesh.template.h.

References oomph::TetgenMesh< ELEMENT >::Face_index_region_at_boundary.

template<class ELEMENT>
unsigned oomph::TetgenMesh< ELEMENT >::nboundary_element_in_region ( const unsigned &  b,
const unsigned &  r 
) const
inline

Return the number of elements adjacent to boundary b in region r.

Definition at line 699 of file tetgen_mesh.template.h.

References oomph::TetgenMesh< ELEMENT >::Boundary_region_element_pt.

template<class ELEMENT>
unsigned oomph::TetgenMesh< ELEMENT >::nregion ( )
inline

Return the number of regions specified by attributes.

Definition at line 762 of file tetgen_mesh.template.h.

References oomph::TetgenMesh< ELEMENT >::Region_element_pt.

template<class ELEMENT>
unsigned oomph::TetgenMesh< ELEMENT >::nregion_element ( const unsigned &  i)
inline

Return the number of elements in region i.

Definition at line 765 of file tetgen_mesh.template.h.

References oomph::TetgenMesh< ELEMENT >::Region_element_pt.

template<class ELEMENT>
double oomph::TetgenMesh< ELEMENT >::region_attribute ( const unsigned &  i)
inline

Return the attribute associated with region i.

Definition at line 769 of file tetgen_mesh.template.h.

References oomph::TetgenMesh< ELEMENT >::Region_attribute.

template<class ELEMENT>
FiniteElement* oomph::TetgenMesh< ELEMENT >::region_element_pt ( const unsigned &  i,
const unsigned &  e 
)
inline

Return the e-th element in the i-th region.

Definition at line 773 of file tetgen_mesh.template.h.

References oomph::TetgenMesh< ELEMENT >::Region_element_pt.

template<class ELEMENT>
void oomph::TetgenMesh< ELEMENT >::set_deep_copy_tetgenio_pt ( tetgenio *const &  tetgenio_pt)
inline
template<class ELEMENT>
void oomph::TetgenMesh< ELEMENT >::set_mesh_level_time_stepper ( TimeStepper *const &  time_stepper_pt,
const bool &  preserve_existing_data 
)
inline

Overload set_mesh_level_time_stepper so that the stored time stepper now corresponds to the new timestepper.

Definition at line 586 of file tetgen_mesh.template.h.

References oomph::TetgenMesh< ELEMENT >::Time_stepper_pt.

template<class ELEMENT>
void oomph::TetgenMesh< ELEMENT >::setup_boundary_coordinates ( const unsigned &  b)
inline

Setup boundary coordinate on boundary b which is assumed to be planar. Boundary coordinates are the x-y coordinates in the plane of that boundary with the x-axis along the line from the (lexicographically) "lower left" to the "upper right" node. The y axis is obtained by taking the cross-product of the positive x direction with the outer unit normal computed by the face elements.

Definition at line 623 of file tetgen_mesh.template.h.

References oomph::TetgenMesh< ELEMENT >::setup_boundary_coordinates_generic().

Referenced by oomph::SolidTetMesh< ELEMENT >::SolidTetMesh(), and oomph::TetgenMesh< ELEMENT >::TetgenMesh().

template<class ELEMENT>
void oomph::TetgenMesh< ELEMENT >::setup_boundary_coordinates ( const unsigned &  b,
const bool &  switch_normal 
)
inline

Setup boundary coordinate on boundary b which is assumed to be planar. Boundary coordinates are the x-y coordinates in the plane of that boundary with the x-axis along the line from the (lexicographically) "lower left" to the "upper right" node. The y axis is obtained by taking the cross-product of the positive x direction with the outer unit normal computed by the face elements.

Definition at line 642 of file tetgen_mesh.template.h.

References oomph::TetgenMesh< ELEMENT >::setup_boundary_coordinates_generic().

template<class ELEMENT>
void oomph::TetgenMesh< ELEMENT >::setup_boundary_coordinates ( const unsigned &  b,
std::ofstream &  outfile 
)
inline

Setup boundary coordinate on boundary b which is assumed to be planar. Boundary coordinates are the x-y coordinates in the plane of that boundary with the x-axis along the line from the (lexicographically) "lower left" to the "upper right" node. The y axis is obtained by taking the cross-product of the positive x direction with the outer unit normal computed by the face elements. Doc faces in output file.

Definition at line 659 of file tetgen_mesh.template.h.

References oomph::TetgenMesh< ELEMENT >::setup_boundary_coordinates_generic().

template<class ELEMENT>
void oomph::TetgenMesh< ELEMENT >::setup_boundary_coordinates ( const unsigned &  b,
const bool &  switch_normal,
std::ofstream &  outfile 
)
inline

Setup boundary coordinate on boundary b which is assumed to be planar. Boundary coordinates are the x-y coordinates in the plane of that boundary with the x-axis along the line from the (lexicographically) "lower left" to the "upper right" node. The y axis is obtained by taking the cross-product of the positive x direction with the outer unit normal computed by the face elements (or its negative if switch_normal is set to true). Doc faces in output file.

Definition at line 677 of file tetgen_mesh.template.h.

References oomph::TetgenMesh< ELEMENT >::setup_boundary_coordinates_generic().

template<class ELEMENT >
void oomph::TetgenMesh< ELEMENT >::setup_boundary_coordinates_generic ( const unsigned &  b,
const bool &  switch_normal,
std::ofstream &  outfile 
)
virtual

Setup boundary coordinate on boundary b which is assumed to be planar. Boundary coordinates are the x-y coordinates in the plane of that boundary with the x-axis along the line from the (lexicographically) "lower left" to the "upper right" node. The y axis is obtained by taking the cross-product of the positive x direction with the outer unit normal computed by the face elements (or its negative if switch_normal is set to true). Doc faces in output file.

Setup boundary coordinate on boundary b which is assumed to be planar. Boundary coordinates are the x-y coordinates in the plane of that boundary with the x-axis along the line from the (lexicographically) "lower left" to the "upper right" node. The y axis is obtained by taking the cross-product of the positive x direction with the outer unit normal computed by the face elements (or its negative if switch_normal is set to true). Doc faces in output file.

Definition at line 1101 of file tetgen_mesh.template.cc.

Referenced by oomph::TetgenMesh< ELEMENT >::setup_boundary_coordinates().

template<class ELEMENT >
void oomph::TetgenMesh< ELEMENT >::snap_to_quadratic_surface ( const Vector< unsigned > &  boundary_id,
const std::string &  quadratic_surface_file_name,
const bool &  switch_normal,
DocInfo &  doc_info 
)

Snap boundaries specified by the IDs listed in boundary_id to a quadratric surface, specified in the file quadratic_surface_file_name. This is usually used with vmtk-based meshes for which oomph-lib's xda to poly conversion code produces the files "quadratic_fsi_boundary.dat" and "quadratic_outer_solid_boundary.dat" which specify the quadratic FSI boundary (for the fluid and the solid) and the quadratic representation of the outer boundary of the solid. When used with these files, the flag switch_normal should be set to true when calling the function for the outer boundary of the solid. The DocInfo object can be used to label optional output files. (Uses directory and label).

Snap boundaries specified by the IDs listed in boundary_id to a quadratric surface, specified in the file quadratic_surface_file_name. This is usually used with vmtk-based meshes for which oomph-lib's xda to poly conversion code produces the files "quadratic_fsi_boundary.dat" and "quadratic_outer_solid_boundary.dat" which specify the quadratic FSI boundary (for the fluid and the solid) and the quadratic representation of the outer boundary of the solid. When used with these files, the flag switch_normal should be set to true when calling the function for the outer boundary of the solid. The DocInfo object can be used to label optional output files. (Uses directory and label).

Definition at line 1357 of file tetgen_mesh.template.cc.

Referenced by oomph::TetgenMesh< ELEMENT >::snap_to_quadratic_surface().

template<class ELEMENT>
void oomph::TetgenMesh< ELEMENT >::snap_to_quadratic_surface ( const Vector< unsigned > &  boundary_id,
const std::string &  quadratic_surface_file_name,
const bool &  switch_normal 
)
inline

Snap boundaries specified by the IDs listed in boundary_id to a quadratric surface, specified in the file quadratic_surface_file_name. This is usually used with vmtk-based meshes for which oomph-lib's xda to poly conversion code produces the files "quadratic_fsi_boundary.dat" and "quadratic_outer_solid_boundary.dat" which specify the quadratic FSI boundary (for the fluid and the solid) and the quadratic representation of the outer boundary of the solid. When used with these files, the flag switch_normal should be set to true when calling the function for the outer boundary of the solid.

Definition at line 803 of file tetgen_mesh.template.h.

References oomph::TetgenMesh< ELEMENT >::snap_to_quadratic_surface().

template<class ELEMENT >
void oomph::TetgenMesh< ELEMENT >::split_elements_in_corners ( TimeStepper *  time_stepper_pt = &Mesh::Default_TimeStepper)

Non-Delaunay split elements that have three faces on a boundary into sons. Timestepper species timestepper for new nodes; defaults to to steady timestepper.

Non-delaunay split elements that have three faces on a boundary into sons.

Definition at line 1841 of file tetgen_mesh.template.cc.

Referenced by oomph::TetgenMesh< ELEMENT >::TetgenMesh().

template<class ELEMENT>
bool oomph::TetgenMesh< ELEMENT >::tetgenio_exists ( ) const
inline

Boolen defining whether tetgenio object has been built or not.

Definition at line 593 of file tetgen_mesh.template.h.

References oomph::TetgenMesh< ELEMENT >::Tetgenio_exists.

template<class ELEMENT>
tetgenio* & oomph::TetgenMesh< ELEMENT >::tetgenio_pt ( )
inline

Access to the triangulateio representation of the mesh.

Definition at line 597 of file tetgen_mesh.template.h.

References oomph::TetgenMesh< ELEMENT >::Tetgenio_pt.

Member Data Documentation

template<class ELEMENT>
Vector<std::map<unsigned,Vector<FiniteElement*> > > oomph::TetgenMesh< ELEMENT >::Boundary_region_element_pt
protected

Storage for elements adjacent to a boundary in a particular region.

Definition at line 850 of file tetgen_mesh.template.h.

Referenced by oomph::TetgenMesh< ELEMENT >::boundary_element_in_region_pt(), and oomph::TetgenMesh< ELEMENT >::nboundary_element_in_region().

template<class ELEMENT>
Vector<std::map<unsigned,Vector<int> > > oomph::TetgenMesh< ELEMENT >::Face_index_region_at_boundary
protected

Storage for the face index adjacent to a boundary in a particular region.

Definition at line 854 of file tetgen_mesh.template.h.

Referenced by oomph::TetgenMesh< ELEMENT >::face_index_at_boundary_in_region().

template<class ELEMENT>
Vector<TetgenMeshFacetedSurface*> oomph::TetgenMesh< ELEMENT >::Internal_surface_pt
protected

Vector to faceted surfaces that define internal boundaries.

Definition at line 860 of file tetgen_mesh.template.h.

Referenced by oomph::TetgenMesh< ELEMENT >::TetgenMesh().

template<class ELEMENT>
TetgenMeshFacetedSurface* oomph::TetgenMesh< ELEMENT >::Outer_boundary_pt
protected

Faceted surface that defines outer boundaries.

Definition at line 857 of file tetgen_mesh.template.h.

Referenced by oomph::TetgenMesh< ELEMENT >::TetgenMesh().

template<class ELEMENT>
Vector<double> oomph::TetgenMesh< ELEMENT >::Region_attribute
protected

Vector of attributes associated with the elements in each region.

Definition at line 846 of file tetgen_mesh.template.h.

Referenced by oomph::TetgenMesh< ELEMENT >::region_attribute().

template<class ELEMENT>
Vector<Vector<FiniteElement*> > oomph::TetgenMesh< ELEMENT >::Region_element_pt
protected

Vectors of elements in each region differentiated by attribute.

Definition at line 843 of file tetgen_mesh.template.h.

Referenced by oomph::TetgenMesh< ELEMENT >::nregion(), oomph::TetgenMesh< ELEMENT >::nregion_element(), and oomph::TetgenMesh< ELEMENT >::region_element_pt().

template<class ELEMENT>
bool oomph::TetgenMesh< ELEMENT >::Tetgenio_exists
protected
template<class ELEMENT>
tetgenio* oomph::TetgenMesh< ELEMENT >::Tetgenio_pt
protected
template<class ELEMENT>
TimeStepper* oomph::TetgenMesh< ELEMENT >::Time_stepper_pt
protected

Timestepper used to build elements.

Definition at line 864 of file tetgen_mesh.template.h.

Referenced by oomph::TetgenMesh< ELEMENT >::set_mesh_level_time_stepper(), and oomph::TetgenMesh< ELEMENT >::TetgenMesh().

template<class ELEMENT>
TetgenScaffoldMesh* oomph::TetgenMesh< ELEMENT >::Tmp_mesh_pt
protected

Temporary scaffold mesh.

Definition at line 840 of file tetgen_mesh.template.h.

Referenced by oomph::TetgenMesh< ELEMENT >::TetgenMesh().

template<class ELEMENT>
bool oomph::TetgenMesh< ELEMENT >::Use_attributes
protected

Boolean flag to indicate whether to use attributes or not (required for multidomain meshes)

Definition at line 868 of file tetgen_mesh.template.h.

Referenced by oomph::TetgenMesh< ELEMENT >::TetgenMesh().


The documentation for this class was generated from the following files: