Meshing Tradeoffs

When meshing, the user must balance computational resources and the intended use of the geometry. This tradeoff is especially relevant when generating meshes for parts with complex geometry, such as lattices and organic shapes. These geometries require more elements to capture the intricate part features and curved surfaces accurately.

Independent of your application, a high-quality mesh should be:

  1. Error-free (i.e. manifold, oriented, and non-self-intersecting)
  2. Detailed enough to produce accurate simulation results, yield acceptable tolerances, and ensure that your manufacturing part is accurate
  3. Not too detailed to make the file size unmanageable

The best meshing parameters depend on the intended application. For example, a very fine mesh captures the 3D geometry more accurately, allowing for higher fidelity simulations. However, it also produces a larger file size; as a rule of thumb, halving the grid size increases its file size and the time it takes to compute by a factor of 4x to 8x.

Note: There is no need to spend additional computational resources when the same result can be achieved with a simpler mesh.

Time to Mesh Comparisons

This Surface Meshing Techniques video, summarized below, compares the different parameters in these blocks for printing.

Mesh from Implicit Body is generally the best first step to generate a mesh from your implicit bodies; this, however, often leads to quite a large mesh. Additional techniques are required to reduce the final mesh size while maintaining fidelity. In most cases, you can use the Remesh Surface block as the final step in surface meshing. Its computation time is highly sensitive to the input mesh size, so any simplification prior to this block (ex. Simplify Mesh by Threshold) will help reduce its solve time. Utilize the mesh control inputs to help preserve quality while reducing both time to solution and total element count.

For large, complex parts, we suggest that you perform an initial meshing process on a sample section of your part. You can do this using a Boolean Intersect block to trim your implicit body.