Design of implicit lattices using simulation as feedback

Overview

  • Using simulation fields to optimize lattices can create parts with excellent performance, but FEA bottlenecks prevent tight integration of simulation into lattice design workflows.
  • Intact.Simulation removes the meshing bottlenecks to create interactive workflows for field-driven lattice design.
  • This blog demonstrates such a workflow in Rhino Grasshopper by using the Stress field from Intact.Simulation for Rhino Grasshopper to size lattice generated using Crystallon and Dendro.

Why use simulation fields to drive design?

Simulation fields provide a simple yet elegant design methodology used by engineers for light-weighting. The idea is straightforward: simulation fields (e.g., stress, velocity, temperature) are normalized and are used to create and size latticed parts.

However, in practice, the simulation fields are computed using a solid part; which is then used to size the lattices when creating the infill. There are a couple of issues with this approach:

❌ The simulation field used to size the lattices is for the solid part and is not the same as the simulation field of the lightweight latticed part.

❌ Engineers can’t easily validate the final lightweight design for load capacity and safety factors, since simulating the complex lattice geometry is challenging using traditional FEA.

✅ This article discusses how designers can use Intact.Simulation for Rhino Grasshopper to interactively size lattice structures while ensuring load capacities and safety factors are being met.

Typical problem setup

The geometry of the part comprising a lattice region and a non-lattice region is shown below. A load of 400 N is applied on the top while the region at the bottom is restrained. The objective is to size the lattices to reduce weight while ensuring that the maximum stress does not exceed a prescribed value of 50 MPa.

Lattice sizing with Immersed Method of Moments

The figure below is a graphical depiction of the workflow used for sizing the lattices. Figure (a) shows the initial geometry and (b) shows the von Mises stress distribution on the initial geometry. The resulting simulation field is used to size lattices, as shown in (c), where thicker struts are used in regions with high stress values, and vice-versa.

Engineers are typically concerned about the safety factors associated with the designed part, which requires the computation of displacements and stresses at different locations (Figure (d)).

❌ This would require analyzing complex lattice geometries — which can be very time-consuming, if not impossible, with conventional finite element analysis due to meshing, representation conversion (implicit-VDB to meshes), and other preprocessing challenges.

Create interactive field-driven lattice sizing workflows using Intact.Simulation for Rhino Grasshopper

Intact’s Immersed Method of Moments (IMM) can seamlessly analyze such complex lattice structures within seconds, enabling simulation-based feedback to assist users in sizing lattice elements. The sizing can be done interactively using structural metrics (e.g., stress or displacement) as feedback.

✅ No preprocessing and meshing bottlenecks

✅ Simulate VDB-implicit representation without conversion

✅ Seamlessly integrate into your design workflows

The workflow

The basic workflow involves sizing the lattices based on an initial simulation field, and interactively adjusting the lattice sizes so that the maximum stress does not exceed 50 MPa. In this article, we describe three strategies for sizing the lattice strut radii that depend on the stress distribution: (a) a constant value for all the lattice struts, as well as a (b) a linear mapping, and (c) a parabolic mapping between (normalized) stress and strut radius, as shown in the picture below. The goal of the designer is to efficiently size the lattice structures by interactively adjusting the mapping graphs in Grasshopper. The Grasshopper plugins Crystallon and Dendro are used to create the lattice geometries.

The picture below shows a conceptual diagram of the workflow in Grasshopper. The stress simulation module (a) computes the initial simulation field and the sampler (b) samples the stress field values at any given point. The graph mapper (c) is used to size the lattices, which are created using Crystallon (d). The implicit lattices are created using the curve to volume feature in Dendro (e), which is then analyzed for stress using the stress simulation module (f).

Using the strategy described above, we design three lightweight parts by interactively adjusting the strut radii so that the maximum stress does not exceed 50 MPa. The resulting geometries, the weight reduction (compared to a solid infill), and the maximum stresses on the designed parts are shown below.

  • All the designed parts have a maximum von Mises stress near the target value of 50 MPa
  • The constant strut strategy resulted in the least weight savings of approximately 28%
  • The parabolic strut sizing strategy resulted in the best weight savings of about 59%

Why is simulation feedback important?

Simulation feedback is critical in lattice design as it informs the user of the safety factors associated with the part at all stages of the design process. The left-hand side of the picture below shows an example where the initial sizing resulted in a max von Mises stress of over 90 MPa, which is 80% higher than the target stress value of 50 MPa. The right-hand side of the picture below shows that the iteratively sized lattice designed using simulation feedback has a maximum von Mises stress approximately equal to the target stress of 50 MPa

Summary

To conclude, we showed that uniformly sized lattices can be inefficient when light-weighting parts. By bringing simulation within lattice design workflows, designers can design a more efficient lattice structure with, for example, thicker struts in regions where higher performance is desired. In addition, they can validate the new design quickly against safety factors. Such a seamless integration is possible using Intact.Simulation doesn’t require geometry preprocessing and meshing, as we demonstrated using Intact.Simulation for Rhino Grasshopper.

Please contact info@intact-solutions.com if you are interested in Intact.Simulation for Rhino Grasshopper or to get a copy of the related files presented in this article.

Leave a Reply

Your email address will not be published. Required fields are marked *