Quad mesh built on top of triangle scaffold mesh coming from the triangle mesh generator Triangle. http://www.cs.cmu.edu/~quake/triangle.html. More...
#include <quad_from_triangle_mesh.template.h>
Public Member Functions | |
QuadFromTriangleMesh () | |
Empty constructor. More... | |
QuadFromTriangleMesh (const std::string &node_file_name, const std::string &element_file_name, const std::string &poly_file_name, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper, const bool &use_attributes=false, const bool &allow_automatic_creation_of_vertices_on_boundaries=true) | |
Constructor with the input files. More... | |
QuadFromTriangleMesh (TriangleMeshParameters &triangle_mesh_parameters, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper) | |
Build mesh, based on the specifications on TriangleMeshParameters. All the actual work is done in UnstructuredTwoDMeshGeometryBase. More... | |
void | generic_constructor (Vector< TriangleMeshPolygon * > &outer_boundary_pt, Vector< TriangleMeshPolygon * > &internal_polygon_pt, Vector< TriangleMeshOpenCurve * > &open_polylines_pt, const double &element_area, Vector< Vector< double >> &extra_holes_coordinates, std::map< unsigned, Vector< double >> ®ions_coordinates, std::map< unsigned, double > ®ions_areas, TimeStepper *time_stepper_pt, const bool &use_attributes, const bool &refine_boundary, const bool &refine_internal_boundary) |
A general-purpose construction function that builds the mesh once the different specific constructors have assembled the appropriate information. More... | |
QuadFromTriangleMesh (const QuadFromTriangleMesh &dummy)=delete | |
Broken copy constructor. More... | |
void | operator= (const QuadFromTriangleMesh &)=delete |
Broken assignment operator. More... | |
~QuadFromTriangleMesh () | |
Empty destructor. More... | |
void | build_from_scaffold (TriangleScaffoldMesh *tmp_mesh_pt, TimeStepper *time_stepper_pt, const bool &use_attributes) |
Build the quad mesh from the given scaffold mesh. More... | |
Public Attributes | |
TimeStepper * | Time_stepper_pt |
Timestepper used to build elements. More... | |
bool | Use_attributes |
Boolean flag to indicate whether to use attributes or not (required for multidomain meshes) More... | |
Quad mesh built on top of triangle scaffold mesh coming from the triangle mesh generator Triangle. http://www.cs.cmu.edu/~quake/triangle.html.
Definition at line 70 of file quad_from_triangle_mesh.template.h.
|
inline |
Empty constructor.
Definition at line 75 of file quad_from_triangle_mesh.template.h.
|
inline |
Constructor with the input files.
Definition at line 88 of file quad_from_triangle_mesh.template.h.
References oomph::QuadFromTriangleMesh< ELEMENT >::build_from_scaffold(), oomph::QuadFromTriangleMesh< ELEMENT >::Time_stepper_pt, and oomph::QuadFromTriangleMesh< ELEMENT >::Use_attributes.
|
inline |
Build mesh, based on the specifications on TriangleMeshParameters. All the actual work is done in UnstructuredTwoDMeshGeometryBase.
Definition at line 133 of file quad_from_triangle_mesh.template.h.
References oomph::TriangleMeshParameters::communicator_pt(), oomph::TriangleMeshParameters::element_area(), oomph::TriangleMeshParameters::extra_holes_coordinates(), oomph::QuadFromTriangleMesh< ELEMENT >::generic_constructor(), oomph::TriangleMeshParameters::internal_closed_curve_pt(), oomph::TriangleMeshParameters::internal_open_curves_pt(), oomph::TriangleMeshParameters::is_automatic_creation_of_vertices_on_boundaries_allowed(), oomph::TriangleMeshParameters::is_boundary_refinement_allowed(), oomph::TriangleMeshParameters::is_internal_boundary_refinement_allowed(), oomph::TriangleMeshParameters::is_mesh_distributed(), oomph::TriangleMeshParameters::is_use_attributes(), oomph::TriangleMeshParameters::outer_boundary_pt(), oomph::TriangleMeshParameters::regions_coordinates(), oomph::TriangleMeshParameters::target_area_for_region(), and oomph::QuadFromTriangleMesh< ELEMENT >::Time_stepper_pt.
|
delete |
Broken copy constructor.
|
inline |
Empty destructor.
Definition at line 521 of file quad_from_triangle_mesh.template.h.
void oomph::QuadFromTriangleMesh< ELEMENT >::build_from_scaffold | ( | TriangleScaffoldMesh * | tmp_mesh_pt, |
TimeStepper * | time_stepper_pt, | ||
const bool & | use_attributes | ||
) |
Build the quad mesh from the given scaffold mesh.
Build the full mesh with the help of the scaffold mesh coming from the triangle mesh generator, Triangle. To build this quad element based mesh we make use of the fact that a triangle element can be split as shown in the diagram below:
N2 | | N0 : 1st scaffold element node | | N1 : 2nd scaffold element node | | N2 : 3rd scaffold element node | | C | Q_2 | B Edge 0 : N0 --> N1 | | | | Edge 1 : N1 --> N2 | | | | Edge 2 : N2 --> N0 | | | | | | | | A : Midpoint of edge 0 | Q_0 | Q_1 | B : Midpoint of edge 1 | | | C : Midpoint of edge 2 | | | N0 __________|__________ N1 A
The intersection of all three quad elements is the centroid. Using this splitting, the subsequent mesh will consist of quadrilaterals whose shape which depend on the structure of the underlying mesh.
Definition at line 71 of file quad_from_triangle_mesh.template.cc.
Referenced by oomph::QuadFromTriangleMesh< ELEMENT >::generic_constructor(), and oomph::QuadFromTriangleMesh< ELEMENT >::QuadFromTriangleMesh().
|
inline |
A general-purpose construction function that builds the mesh once the different specific constructors have assembled the appropriate information.
Definition at line 368 of file quad_from_triangle_mesh.template.h.
References oomph::QuadFromTriangleMesh< ELEMENT >::build_from_scaffold(), oomph::QuadFromTriangleMesh< ELEMENT >::Time_stepper_pt, oomph::triangulate(), and oomph::QuadFromTriangleMesh< ELEMENT >::Use_attributes.
Referenced by oomph::QuadFromTriangleMesh< ELEMENT >::QuadFromTriangleMesh().
|
delete |
Broken assignment operator.
TimeStepper* oomph::QuadFromTriangleMesh< ELEMENT >::Time_stepper_pt |
Timestepper used to build elements.
Definition at line 558 of file quad_from_triangle_mesh.template.h.
Referenced by oomph::QuadFromTriangleMesh< ELEMENT >::generic_constructor(), and oomph::QuadFromTriangleMesh< ELEMENT >::QuadFromTriangleMesh().
bool oomph::QuadFromTriangleMesh< ELEMENT >::Use_attributes |
Boolean flag to indicate whether to use attributes or not (required for multidomain meshes)
Definition at line 562 of file quad_from_triangle_mesh.template.h.
Referenced by oomph::QuadFromTriangleMesh< ELEMENT >::generic_constructor(), and oomph::QuadFromTriangleMesh< ELEMENT >::QuadFromTriangleMesh().