Base class for tet mesh boundary defined by polygonal planar facets. More...
#include <tet_mesh.h>
Public Member Functions | |
TetMeshFacetedSurface () | |
Constructor: | |
virtual | ~TetMeshFacetedSurface () |
Empty destructor. | |
unsigned | nvertex () const |
Number of vertices. | |
unsigned | nfacet () const |
Number of facets. | |
unsigned | one_based_facet_boundary_id (const unsigned &j) const |
One-based boundary id of j-th facet. | |
unsigned | one_based_vertex_boundary_id (const unsigned &j) const |
First (of possibly multiple) one-based boundary id of j-th vertex. | |
double | vertex_coordinate (const unsigned &j, const unsigned &i) const |
i-th coordinate of j-th vertex | |
unsigned | nvertex_on_facet (const unsigned &j) const |
Number of vertices defining the j-th facet. | |
bool | boundaries_can_be_split_in_tetgen () |
Test whether boundary can be split in tetgen. | |
void | enable_boundaries_can_be_split_in_tetgen () |
Test whether boundaries can be split in tetgen. | |
void | disable_boundaries_can_be_split_in_tetgen () |
Test whether boundaries can be split in tetgen. | |
TetMeshFacet * | facet_pt (const unsigned &j) const |
Pointer to j-th facet. | |
TetMeshVertex * | vertex_pt (const unsigned &j) const |
Pointer to j-th vertex. | |
DiskLikeGeomObjectWithBoundaries * | geom_object_with_boundaries_pt () |
Access to GeomObject with boundaries associated with this surface (Null if there isn't one!) | |
void | output (std::ostream &outfile) const |
Output. | |
void | output (const std::string &filename) const |
Output. | |
void | output_paraview (std::ostream &outfile) const |
Outputs the faceted surface into a specified file in the Paraview format for viewing in Paraview. Make sure to output the file with a .vtu extension. (Not particularly optimised) | |
void | output_paraview (const std::string &filename) const |
Outputs the faceted surface into a file with the specified name in the Paraview format. (Not particularly optimised) | |
virtual void | boundary_zeta01 (const unsigned &facet_id, const double &zeta_boundary, Vector< double > &zeta) |
Virtual function that specifies the variation of the zeta coordinates in the GeomObject along the boundary connecting vertices 0 and 1 in facet facet_id. Default implementation: Linear interpolation between edges. zeta_boundary=0.0: we're on vertex 0; zeta_boundary=1.0: we're on vertex 1. | |
virtual void | boundary_zeta12 (const unsigned &facet_id, const double &zeta_boundary, Vector< double > &zeta) |
Virtual function that specifies the variation of the zeta coordinates in the GeomObject along the boundary connecting vertices 1 and 2 in facet facet_id. Default implementation: Linear interpolation between edges. zeta_boundary=0.0: we're on vertex 1; zeta_boundary=1.0: we're on vertex 2. | |
virtual void | boundary_zeta20 (const unsigned &facet_id, const double &zeta_boundary, Vector< double > &zeta) |
Virtual function that specifies the variation of the zeta coordinates in the GeomObject along the boundary connecting vertices 2 and 0 in facet facet_id. Default implementation: Linear interpolation between edges. zeta_boundary=0.0: we're on vertex 2; zeta_boundary=1.0: we're on vertex 0. | |
Vector< unsigned > | vertex_index_in_tetgen (const unsigned &f) |
Facet connectivity: vertex_index[j] is the index of the j-th vertex (in the Vertex_pt vector) in facet f. Bit of an obscure functionality that's only needed for setup tetgen_io. | |
Protected Attributes | |
Vector< TetMeshVertex * > | Vertex_pt |
Vector pointers to vertices. | |
Vector< TetMeshFacet * > | Facet_pt |
Vector of pointers to facets. | |
bool | Boundaries_can_be_split_in_tetgen |
Boolean to indicate whether extra vertices can be added on the boundary in tetgen. | |
Vector< Vector< unsigned > > | Facet_vertex_index_in_tetgen |
Facet connectivity: Facet_vertex_index[f][j] is the index of the j-th vertex (in the Vertex_pt vector) in facet f. | |
DiskLikeGeomObjectWithBoundaries * | Geom_object_with_boundaries_pt |
GeomObject with boundaries associated with this surface. | |
Private Member Functions | |
void | setup_facet_connectivity_for_tetgen () |
Setup facet connectivity for tetgen. | |
Base class for tet mesh boundary defined by polygonal planar facets.
Definition at line 305 of file tet_mesh.h.
|
inline |
Constructor:
Definition at line 309 of file tet_mesh.h.
|
inlinevirtual |
Empty destructor.
Definition at line 316 of file tet_mesh.h.
|
inline |
Test whether boundary can be split in tetgen.
Definition at line 355 of file tet_mesh.h.
References Boundaries_can_be_split_in_tetgen.
Referenced by oomph::TetgenMesh< ELEMENT >::TetgenMesh().
|
inlinevirtual |
Virtual function that specifies the variation of the zeta coordinates in the GeomObject along the boundary connecting vertices 0 and 1 in facet facet_id. Default implementation: Linear interpolation between edges. zeta_boundary=0.0: we're on vertex 0; zeta_boundary=1.0: we're on vertex 1.
Definition at line 603 of file tet_mesh.h.
References Facet_pt.
|
inlinevirtual |
Virtual function that specifies the variation of the zeta coordinates in the GeomObject along the boundary connecting vertices 1 and 2 in facet facet_id. Default implementation: Linear interpolation between edges. zeta_boundary=0.0: we're on vertex 1; zeta_boundary=1.0: we're on vertex 2.
Definition at line 622 of file tet_mesh.h.
References Facet_pt.
|
inlinevirtual |
Virtual function that specifies the variation of the zeta coordinates in the GeomObject along the boundary connecting vertices 2 and 0 in facet facet_id. Default implementation: Linear interpolation between edges. zeta_boundary=0.0: we're on vertex 2; zeta_boundary=1.0: we're on vertex 0.
Definition at line 641 of file tet_mesh.h.
References Facet_pt.
|
inline |
Test whether boundaries can be split in tetgen.
Definition at line 367 of file tet_mesh.h.
References Boundaries_can_be_split_in_tetgen.
|
inline |
Test whether boundaries can be split in tetgen.
Definition at line 361 of file tet_mesh.h.
References Boundaries_can_be_split_in_tetgen.
|
inline |
Pointer to j-th facet.
Definition at line 373 of file tet_mesh.h.
References Facet_pt.
Referenced by oomph::GmshTetMesh< ELEMENT >::build_it(), oomph::RefineableTetgenMesh< ELEMENT >::RefineableTetgenMesh(), oomph::TetgenMesh< ELEMENT >::TetgenMesh(), and oomph::GmshTetScaffoldMesh::write_geo_file().
|
inline |
Access to GeomObject with boundaries associated with this surface (Null if there isn't one!)
Definition at line 386 of file tet_mesh.h.
References Geom_object_with_boundaries_pt.
|
inline |
Number of facets.
Definition at line 325 of file tet_mesh.h.
References Facet_pt, and oomph::FiniteElement::size().
Referenced by oomph::GmshTetMesh< ELEMENT >::build_it(), oomph::TetgenMesh< ELEMENT >::build_tetgenio(), oomph::RefineableTetgenMesh< ELEMENT >::RefineableTetgenMesh(), setup_facet_connectivity_for_tetgen(), oomph::TetgenMesh< ELEMENT >::TetgenMesh(), vertex_index_in_tetgen(), oomph::GmshTetScaffoldMesh::write_geo_file(), and oomph::TetMeshFacetedClosedSurfaceForRemesh::~TetMeshFacetedClosedSurfaceForRemesh().
|
inline |
Number of vertices.
Definition at line 319 of file tet_mesh.h.
References oomph::FiniteElement::size(), and Vertex_pt.
Referenced by oomph::TetgenMesh< ELEMENT >::build_tetgenio(), oomph::GmshTetScaffoldMesh::write_geo_file(), and oomph::TetMeshFacetedClosedSurfaceForRemesh::~TetMeshFacetedClosedSurfaceForRemesh().
Number of vertices defining the j-th facet.
Definition at line 349 of file tet_mesh.h.
References Facet_pt.
|
inline |
One-based boundary id of j-th facet.
Definition at line 331 of file tet_mesh.h.
References Facet_pt.
Referenced by oomph::GmshTetMesh< ELEMENT >::build_it(), oomph::TetgenMesh< ELEMENT >::build_tetgenio(), oomph::RefineableTetgenMesh< ELEMENT >::RefineableTetgenMesh(), oomph::TetgenMesh< ELEMENT >::TetgenMesh(), and oomph::GmshTetScaffoldMesh::write_geo_file().
|
inline |
First (of possibly multiple) one-based boundary id of j-th vertex.
Definition at line 337 of file tet_mesh.h.
References Vertex_pt.
Referenced by oomph::TetgenMesh< ELEMENT >::build_tetgenio().
|
inline |
Output.
Definition at line 392 of file tet_mesh.h.
References Facet_pt, oomph::TAdvectionDiffusionReactionElement< NREAGENT, DIM, NNODE_1D >::output(), and oomph::FiniteElement::size().
Referenced by output().
Outputs the faceted surface into a file with the specified name in the Paraview format. (Not particularly optimised)
Definition at line 589 of file tet_mesh.h.
References output_paraview().
|
inline |
Outputs the faceted surface into a specified file in the Paraview format for viewing in Paraview. Make sure to output the file with a .vtu extension. (Not particularly optimised)
Definition at line 418 of file tet_mesh.h.
References Facet_pt, i, oomph::FiniteElement::size(), and vertex_pt().
Referenced by output_paraview().
|
inlineprivate |
Setup facet connectivity for tetgen.
Definition at line 688 of file tet_mesh.h.
References Facet_pt, Facet_vertex_index_in_tetgen, nfacet(), oomph::FiniteElement::size(), and Vertex_pt.
Referenced by vertex_index_in_tetgen().
|
inline |
i-th coordinate of j-th vertex
Definition at line 343 of file tet_mesh.h.
Referenced by oomph::TetgenMesh< ELEMENT >::build_tetgenio().
|
inline |
Facet connectivity: vertex_index[j] is the index of the j-th vertex (in the Vertex_pt vector) in facet f. Bit of an obscure functionality that's only needed for setup tetgen_io.
Definition at line 658 of file tet_mesh.h.
References Facet_vertex_index_in_tetgen, nfacet(), setup_facet_connectivity_for_tetgen(), and oomph::FiniteElement::size().
Referenced by oomph::TetgenMesh< ELEMENT >::build_tetgenio().
|
inline |
Pointer to j-th vertex.
Definition at line 379 of file tet_mesh.h.
References Vertex_pt.
Referenced by output_paraview(), and oomph::GmshTetScaffoldMesh::write_geo_file().
|
protected |
Boolean to indicate whether extra vertices can be added on the boundary in tetgen.
Definition at line 676 of file tet_mesh.h.
Referenced by boundaries_can_be_split_in_tetgen(), disable_boundaries_can_be_split_in_tetgen(), and enable_boundaries_can_be_split_in_tetgen().
|
protected |
Vector of pointers to facets.
Definition at line 672 of file tet_mesh.h.
Referenced by boundary_zeta01(), boundary_zeta12(), boundary_zeta20(), facet_pt(), nfacet(), nvertex_on_facet(), one_based_facet_boundary_id(), output(), output_paraview(), setup_facet_connectivity_for_tetgen(), oomph::TetMeshFacetedClosedSurfaceForRemesh::TetMeshFacetedClosedSurfaceForRemesh(), and oomph::TetMeshFacetedClosedSurfaceForRemesh::~TetMeshFacetedClosedSurfaceForRemesh().
Facet connectivity: Facet_vertex_index[f][j] is the index of the j-th vertex (in the Vertex_pt vector) in facet f.
Definition at line 680 of file tet_mesh.h.
Referenced by setup_facet_connectivity_for_tetgen(), and vertex_index_in_tetgen().
|
protected |
GeomObject with boundaries associated with this surface.
Definition at line 683 of file tet_mesh.h.
Referenced by geom_object_with_boundaries_pt().
|
protected |
Vector pointers to vertices.
Definition at line 669 of file tet_mesh.h.
Referenced by nvertex(), one_based_vertex_boundary_id(), setup_facet_connectivity_for_tetgen(), oomph::TetMeshFacetedClosedSurfaceForRemesh::TetMeshFacetedClosedSurfaceForRemesh(), vertex_coordinate(), vertex_pt(), and oomph::TetMeshFacetedClosedSurfaceForRemesh::~TetMeshFacetedClosedSurfaceForRemesh().