Class xlifepp::subdivision::VolMeshHexCylinder#

class VolMeshHexCylinder : public xlifepp::subdivision::HexahedronMesh#

Inheritence diagram for xlifepp::subdivision::VolMeshHexCylinder:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "3" [label="xlifepp::subdivision::CartesianMesh< Hexahedron >" tooltip="xlifepp::subdivision::CartesianMesh< Hexahedron >"] "4" [label="xlifepp::subdivision::GeomFigureMesh< Hexahedron >" tooltip="xlifepp::subdivision::GeomFigureMesh< Hexahedron >"] "7" [label="xlifepp::subdivision::CartesianMesh< T_ >" tooltip="xlifepp::subdivision::CartesianMesh< T_ >"] "6" [label="xlifepp::subdivision::GeomFigureMesh< T_ >" tooltip="xlifepp::subdivision::GeomFigureMesh< T_ >"] "8" [label="xlifepp::subdivision::GeomFigureMesh< T_ >" tooltip="xlifepp::subdivision::GeomFigureMesh< T_ >"] "2" [label="xlifepp::subdivision::HexahedronMesh" tooltip="xlifepp::subdivision::HexahedronMesh"] "5" [label="xlifepp::subdivision::SubdivisionMesh" tooltip="xlifepp::subdivision::SubdivisionMesh"] "1" [label="xlifepp::subdivision::VolMeshHexCylinder" tooltip="xlifepp::subdivision::VolMeshHexCylinder" fillcolor="#BFBFBF"] "3" -> "4" [dir=forward tooltip="public-inheritance"] "3" -> "7" [dir=forward tooltip="template-instance"] "4" -> "5" [dir=forward tooltip="public-inheritance"] "4" -> "6" [dir=forward tooltip="template-instance"] "7" -> "8" [dir=forward tooltip="public-inheritance"] "6" -> "5" [dir=forward tooltip="public-inheritance"] "8" -> "5" [dir=forward tooltip="public-inheritance"] "2" -> "3" [dir=forward tooltip="public-inheritance"] "1" -> "2" [dir=forward tooltip="public-inheritance"] }

Collaboration diagram for xlifepp::subdivision::VolMeshHexCylinder:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "3" [label="xlifepp::subdivision::CartesianMesh< Hexahedron >" tooltip="xlifepp::subdivision::CartesianMesh< Hexahedron >"] "4" [label="xlifepp::subdivision::GeomFigureMesh< Hexahedron >" tooltip="xlifepp::subdivision::GeomFigureMesh< Hexahedron >"] "7" [label="std::basic_string< char >" tooltip="std::basic_string< char >"] "8" [label="std::basic_string< Char >" tooltip="std::basic_string< Char >"] "6" [label="std::string" tooltip="std::string"] "11" [label="std::vector< T >" tooltip="std::vector< T >"] "20" [label="std::vector< Hexahedron >" tooltip="std::vector< Hexahedron >"] "22" [label="std::vector< T_ >" tooltip="std::vector< T_ >"] "14" [label="std::vector< number_t >" tooltip="std::vector< number_t >"] "19" [label="std::vector< real_t >" tooltip="std::vector< real_t >"] "12" [label="std::vector< refnum_t >" tooltip="std::vector< refnum_t >"] "16" [label="std::vector< std::pair< xlifepp::subdivision::PatchGeometry *, refnum_t > >" tooltip="std::vector< std::pair< xlifepp::subdivision::PatchGeometry *, refnum_t > >"] "13" [label="std::vector< std::string >" tooltip="std::vector< std::string >"] "10" [label="std::vector< std::vector< number_t > >" tooltip="std::vector< std::vector< number_t > >"] "15" [label="std::vector< xlifepp::subdivision::PatchGeometry * >" tooltip="std::vector< xlifepp::subdivision::PatchGeometry * >"] "17" [label="std::vector< xlifepp::subdivision::Vertex >" tooltip="std::vector< xlifepp::subdivision::Vertex >"] "18" [label="xlifepp::Point" tooltip="xlifepp::Point"] "23" [label="xlifepp::subdivision::CartesianMesh< T_ >" tooltip="xlifepp::subdivision::CartesianMesh< T_ >"] "21" [label="xlifepp::subdivision::GeomFigureMesh< T_ >" tooltip="xlifepp::subdivision::GeomFigureMesh< T_ >"] "24" [label="xlifepp::subdivision::GeomFigureMesh< T_ >" tooltip="xlifepp::subdivision::GeomFigureMesh< T_ >"] "2" [label="xlifepp::subdivision::HexahedronMesh" tooltip="xlifepp::subdivision::HexahedronMesh"] "5" [label="xlifepp::subdivision::SubdivisionMesh" tooltip="xlifepp::subdivision::SubdivisionMesh"] "9" [label="xlifepp::subdivision::TopoGeom" tooltip="xlifepp::subdivision::TopoGeom"] "1" [label="xlifepp::subdivision::VolMeshHexCylinder" tooltip="xlifepp::subdivision::VolMeshHexCylinder" fillcolor="#BFBFBF"] "3" -> "4" [dir=forward tooltip="public-inheritance"] "3" -> "23" [dir=forward tooltip="template-instance"] "4" -> "5" [dir=forward tooltip="public-inheritance"] "4" -> "20" [dir=forward tooltip="usage"] "4" -> "21" [dir=forward tooltip="template-instance"] "7" -> "8" [dir=forward tooltip="template-instance"] "6" -> "7" [dir=forward tooltip="public-inheritance"] "20" -> "11" [dir=forward tooltip="template-instance"] "22" -> "11" [dir=forward tooltip="template-instance"] "14" -> "11" [dir=forward tooltip="template-instance"] "19" -> "11" [dir=forward tooltip="template-instance"] "12" -> "11" [dir=forward tooltip="template-instance"] "16" -> "11" [dir=forward tooltip="template-instance"] "13" -> "11" [dir=forward tooltip="template-instance"] "10" -> "11" [dir=forward tooltip="template-instance"] "15" -> "11" [dir=forward tooltip="template-instance"] "17" -> "11" [dir=forward tooltip="template-instance"] "18" -> "19" [dir=forward tooltip="public-inheritance"] "23" -> "24" [dir=forward tooltip="public-inheritance"] "21" -> "5" [dir=forward tooltip="public-inheritance"] "21" -> "22" [dir=forward tooltip="usage"] "24" -> "5" [dir=forward tooltip="public-inheritance"] "24" -> "22" [dir=forward tooltip="usage"] "2" -> "3" [dir=forward tooltip="public-inheritance"] "2" -> "10" [dir=forward tooltip="usage"] "5" -> "6" [dir=forward tooltip="usage"] "5" -> "9" [dir=forward tooltip="usage"] "5" -> "17" [dir=forward tooltip="usage"] "5" -> "18" [dir=forward tooltip="usage"] "9" -> "10" [dir=forward tooltip="usage"] "9" -> "12" [dir=forward tooltip="usage"] "9" -> "13" [dir=forward tooltip="usage"] "9" -> "14" [dir=forward tooltip="usage"] "9" -> "15" [dir=forward tooltip="usage"] "9" -> "16" [dir=forward tooltip="usage"] "1" -> "2" [dir=forward tooltip="public-inheritance"] }

Public Functions

VolMeshHexCylinder(const number_t nbslices = 0, const number_t nbsubdiv = 0, const number_t order = 1, const number_t type = 1, const real_t radius = 1., const Point P1 = Point(0, 0, 0), const Point P2 = Point(0, 0, 1), const number_t minVertexNum = 1, const number_t minElementNum = 1)#

main constructor

Build a mesh of hexahedra by successive subdivisions in a cylinder.

Parameters:
  • nbslices – number of slices of elements orthogonal to the axis of the cone (0 by default, which means that the number of slices is automatically computed ; if nbslices>0, the given value has precedence and is taken into account)

  • nbsubdiv – subdivision level (0 by default) nbsubdiv = 0 corresponds to the initial mesh. For nbsubdiv > 0, each hexahedron is subdivided into 8 hexahedrons with the same orientation as the original one.

  • order – order of the hexahedra in the final mesh (1 by default) The default value is 1, which leads to a Q1 mesh, in which case each hexahedron is defined by its 8 vertices. For higher orders, the supplemental vertices correspond to the regular Lagrange mesh. Moreover, if the second argument (type) is non 0, the vertices belonging to the appropriate boundary lie on the surface of the cone.

  • type – type of the subdivision (1 by default) type equal to 0 leads to a simple (flat) subdivision of the initial mesh where new vertices are all the midpoints of the edges. type equal to 1 leads to a subdivision where the boundary vertices are computed so that they lie on the corresponding surface

  • radius – radius of the cylinder (1. by default)

  • P1, P2 – : the two end points of the axis of the cone

  • minVertexNum – minimum number associated to the vertices of the mesh (1 by default)

  • minElementNum – minimum number associated to the elements of the mesh (1 by default)