July 20, 2018

Contributors: Hardik KabariaAidan KurtzFarhad Javid

By lifting previous manufacturing limitations, Carbon’s technology opens a new venue in design and production of lattice structures and architected materials with complex geometries. This greatly expands the feasible design space for polymeric and foam-based parts commonly used in many industries including aerospace, automotive, electronics, packaging, construction, and fashion. However, to fully explore this expanded space, the product designers need to analyze, predict, and optimize the behavior of structures with complex geometries and material nonlinearities. Carbon’s lattice software is aimed at fulfilling this necessity through computational modeling and analyses. The package mimics the tedious process of fabricate-test-tune numerically and, hence, significantly reduces the time and cost of product development.


We are working on software that solves the problem of generating lattice designs that match user-defined mechanical responses while satisfying explicit design constraints.

Carbon’s lattice software relies on the advanced computational geometry and mechanics techniques to design, analyze and tune lattice structures. Given the input geometry and the desired mechanical response, the module generates lattices that adhere to the requirements through minimizing a prescribed cost function. Furthermore, the module analyzes the designed lattices to assess their manufacturability via Carbon’s manufacturing process, Digital Light Synthesis™ (DLS).


The software team at Carbon has developed nonlinear finite element (FE) code to model and predict the mechanical behavior of lattice structures and materials. The code is capable of meshing and analyzing complex geometric and material nonlinearities. The FE analyses are based on nonlinear beam, 2D, and 3D continuum mechanics models, with the ability to capture post-buckling, snapping, and contact within the structures.

We exploit geometric and materials nonlinearities to design structures with desired properties. Such a process for lattice structures and architected materials often includes tuning the design parameters to reach desired elastic, yield, hardness, impact, vibration, and other properties with an acceptable tolerance, while additional functional, geometrical, and performance limitations are respected. Starting from an initial guess, we model the mechanical response and evaluate its sensitivity to the design properties. In an iterative process, we gradually change the design parameters, aka geometric parameters, such as unit cell size and shape of the lattice, to fine-tune its properties. In case fine matching with the golden properties is required, gradient-based and stochastic optimization techniques are used in this process. We have also used our simulation technology to develop an exhaustive library of lattices and geometries with varying mechanical properties, which can be used to choose a reasonable initial design that minimizes the computational costs.

The above figure shows that by varying the geometric structure we can achieve widely different mechanical response (measure experimentally), from the same resin and the same volume of the CAD primitive.

The following sketch summarizes the software workflow:

The following example demonstrates how, given a load vs. compression (displacement) curve for an expected mechanical response, our software finds lattice parameters that match well within the simulation space as well as when the part is printed and measured on an Instron machine.

The following screenshots show the non-linear frame simulations:


Carbon is also working on combining multiple lattice patterns within a part to enable, for example, variable response across a single part.

You can read more about how Carbon’s approach to lattices can benefit different markets here.


As far as lattice design and part optimization is involved, computational geometry is front and center. Our tools are capable of generating conformal/periodic lattice geometries with optimal cell size and strut thickness. The volume lattice and surface lattice can be treated independently, and the surface may be covered with solid skin if needed. Behind the scenes, this involves polyhedral/polygonal space packing, voxel-based modeling, vector fields, coordinate mapping and all sorts of fun stuff. Volumetric discretization (i.e., polyhedral space packing) is the basis for our lattice generation process; each polyhedron acts as a cell that can populated with an appropriate beam structure. For example, we use an adaptively refined automatic tetrahedral mesh generation algorithm to generate a volume discretization, and we populate the lattice based on that tetrahedral mesh.