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

#include <quad_from_triangle_mesh.template.h>

Inheritance diagram for oomph::QuadFromTriangleMesh< ELEMENT >:
oomph::RefineableQuadFromTriangleMesh< ELEMENT > oomph::SolidQuadFromTriangleMesh< ELEMENT > oomph::RefineableSolidQuadFromTriangleMesh< ELEMENT >

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 > > &regions_coordinates, std::map< unsigned, double > &regions_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)
 Broken copy constructor. More...
 
void operator= (const QuadFromTriangleMesh &)
 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
 

Detailed Description

template<class ELEMENT>
class oomph::QuadFromTriangleMesh< ELEMENT >

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 72 of file quad_from_triangle_mesh.template.h.

Constructor & Destructor Documentation

◆ QuadFromTriangleMesh() [1/4]

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

Empty constructor.

Definition at line 79 of file quad_from_triangle_mesh.template.h.

◆ QuadFromTriangleMesh() [2/4]

template<class ELEMENT >
oomph::QuadFromTriangleMesh< ELEMENT >::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 
)
inline

Constructor with the input files.

Definition at line 92 of file quad_from_triangle_mesh.template.h.

◆ QuadFromTriangleMesh() [3/4]

template<class ELEMENT >
oomph::QuadFromTriangleMesh< ELEMENT >::QuadFromTriangleMesh ( TriangleMeshParameters triangle_mesh_parameters,
TimeStepper *  time_stepper_pt = &Mesh::Default_TimeStepper 
)
inline

◆ QuadFromTriangleMesh() [4/4]

template<class ELEMENT >
oomph::QuadFromTriangleMesh< ELEMENT >::QuadFromTriangleMesh ( const QuadFromTriangleMesh< ELEMENT > &  dummy)
inline

Broken copy constructor.

Definition at line 502 of file quad_from_triangle_mesh.template.h.

◆ ~QuadFromTriangleMesh()

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

Empty destructor.

Definition at line 515 of file quad_from_triangle_mesh.template.h.

Member Function Documentation

◆ build_from_scaffold()

template<class ELEMENT >
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 75 of file quad_from_triangle_mesh.template.cc.

◆ generic_constructor()

template<class ELEMENT >
void oomph::QuadFromTriangleMesh< ELEMENT >::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 > > &  regions_coordinates,
std::map< unsigned, double > &  regions_areas,
TimeStepper *  time_stepper_pt,
const bool &  use_attributes,
const bool &  refine_boundary,
const bool &  refine_internal_boundary 
)
inline

A general-purpose construction function that builds the mesh once the different specific constructors have assembled the appropriate information.

Definition at line 364 of file quad_from_triangle_mesh.template.h.

References oomph::triangulate().

◆ operator=()

template<class ELEMENT >
void oomph::QuadFromTriangleMesh< ELEMENT >::operator= ( const QuadFromTriangleMesh< ELEMENT > &  )
inline

Broken assignment operator.

Definition at line 508 of file quad_from_triangle_mesh.template.h.

Member Data Documentation

◆ Time_stepper_pt

template<class ELEMENT >
TimeStepper* oomph::QuadFromTriangleMesh< ELEMENT >::Time_stepper_pt

Timestepper used to build elements.

Definition at line 552 of file quad_from_triangle_mesh.template.h.

◆ Use_attributes

template<class ELEMENT >
bool oomph::QuadFromTriangleMesh< ELEMENT >::Use_attributes

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

Definition at line 556 of file quad_from_triangle_mesh.template.h.


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