mesh.Mesh.generate_tet_mesh#
- Mesh.generate_tet_mesh(tet_size=0.0, triangle_size=0.0, feature_edge_size=0.02, feature_angle=40.0, mesh_quality=2.0, geom_tolerance=0.005)#
Generate a tetrahedral volume mesh.
This method converts a closed triangulated surface mesh into a tetrahedral volume mesh suitable for simulation.
Parameters#
- tet_sizefloat, default=0.0
Maximum radius of the tetrahedra. Smaller values produce a finer volume mesh. A value of 0 disables size control.
- triangle_sizefloat, default=0.0
Target size of surface triangles. Smaller values yield a finer surface approximation. A value of 0 disables size control.
- feature_edge_sizefloat, default=0.02
Target edge length for feature edges. This value needs to be larger than zero.
- feature_anglefloat, default=40.0
Angle threshold (in degrees) used to detect sharp features. Boundary edges where the angle between neighboring faces exceeds this threshold are preserved as features.
- mesh_qualityfloat, default=2.0
Controls the shape quality of tetrahedral elements. Lower values enforce stricter quality requirements, while higher values allow more elongated elements. Values must be greater than or equal to 1.1.
- geom_tolerancefloat, default=0.005
Maximum allowed geometric deviation between the generated surface mesh and the input geometry.
Returns#
- Mesh
A tetrahedral mesh.
Notes#
Several parameters (tet_size, triangle_size, feature_edge_size, geom_tolerance) are interpreted relative to the overall dimensions of the input geometry. Internally, they are scaled by the diagonal length of the mesh bounding box.
This method uses CGAL: The Computational Geometry Algorithms Library.
Important
Imposing too many strict constraints can increase runtime significantly or prevent a mesh from being generated. Avoid conflicting parameter combinations, like setting tet_size too small relative to feature_edge_size or triangle_size.
See Also#
Examples#
>>> sphere = shapes.sphere() >>> tet_mesh = sphere.generate_tet_mesh(tet_size=0.05) >>> print(tet_mesh.eltype.name) Tet4