Twisted Cylinder Example

We start with a mesh of a cylinder. It has unit height and radius 0.5. The edges of the tetrahedra have lengths close to 0.1. In the figures below, we show the modified condition number of the elements.

  cp ../../../data/geom/mesh/33/cylinder_0.5_1_0.1.txt mesh.txt 
cylinderTwistMesh.jpg

The initial mesh of the cylinder.

For the boundary of the cylinder, we use a mesh that has triangle edge lengths close to 0.05. We define any dihedral angle that deviates more than 0.5 from pi to be an edge feature.

  cp ../../../data/geom/mesh/32/cylinder_0.5_1_0.05.txt boundary.txt 
cylinderTwistBoundary.jpg

The boundary mesh and the edge features.

Next we twist the mesh along its axis of symmetry by an angle of pi.

  python.exe ../../../data/geom/mesh/utilities/vertices_map.py twist mesh.txt twisted.txt 
cylinderTwistTwisted.jpg

The twisted mesh.

First we will try optimizing the twisted mesh by treating the boundary as a surface. That is, vertices are only constrained to remain on the boundary. We apply five sweeps of geometric optimization.

  optimization/geomOptBoundaryCondition3.exe -sweeps=5 boundary.txt twisted.txt surfaceOptimized.txt 
cylinderTwistSurfaceG1T0.jpg

Geometric optimization using the boundary as a surface.

Next we apply topological optimization.

  optimization/topologicalOptimize3.exe -angle=3.15 surfaceOptimized.txt surfaceOptimized.txt 
cylinderTwistSurfaceG1T1.jpg

Geometric and topological optimization using the boundary as a surface.

Applying three cycles of geometric and topological optimization yields the mesh below.

cylinderTwistSurfaceG3T3.jpg

Three cycles of geometric and topological optimization using the boundary as a surface.

Next we will try optimizing the twisted mesh by treating the boundary as a manifold with edge features. That is, vertices on edge features must remain on edge features and vertices on surface features may not cross edge features. We apply five sweeps of geometric optimization.

  optimization/geometricOptimize3.exe -sweeps=5 -boundary=boundary.txt -featureDistance=0.01 -dihedralAngle=0.5 twisted.txt manifoldOptimized.txt 
cylinderTwistManifoldG1T0.jpg

Geometric optimization using the boundary as a manifold with edge features.

Next we apply topological optimization.

  optimization/topologicalOptimize3.exe -manifold=boundary.txt -angle=0.5 manifoldOptimized.txt manifoldOptimized.txt 
cylinderTwistManifoldG1T1.jpg

Geometric and topological optimization using the boundary as a manifold with edge features.

Applying three cycles of geometric and topological optimization yields the mesh below.

cylinderTwistManifoldG3T3.jpg

Three cycles of geometric and topological optimization using the boundary as a manifold with edge features.

Generated on Thu Jun 30 02:14:57 2016 for Computational Geometry Package by  doxygen 1.6.3