nTopology 3.45 is here! This release features our new Mesh Face from Points block, which lets you construct a custom facebased Unit Cell, and the Orthotropic Stiffness Tensor block to create orthotropic materials. We also have three new design response blocks for your optimization, which are Mass Response (Beta), Center of Mass Response (Beta), and Moment of Inertia Response (Beta). Lastly, our Field Optimization beta blocks allow you to optimize different design parameters for numerous constraints/objectives. Please scroll down to read in detail about all of our new features. As with every release, nTopology’s dedicated support team is ready to answer your questions. Please visit support.ntopology.com to gain access to helpful tutorials and support articles.

Mesh Face from Points

Orthotropic Stiffness Tensor

Mass Response (Beta)

Center of Mass Response (Beta)

Moment of Inertia Response (Beta)

Field Optimization (Beta)

Parametric Voronoi Component (Beta)

Parametric Lattice Component (Beta)

Parametric Shell Component (Beta)

Parametric ShellInfill Component (Beta)

Parametric FE Model (Beta)

Parametric FE Component (Beta)

Usage Improvements

Block Updates

Bug Fixes
Mesh Face from Points
 We have added a new block called Mesh Face from Points. This block replaces Create Single Face Mesh block, which is now deprecated.
 You can use this block and Merge Meshes block as the input to the Graph from Mesh Faces (Beta) block to construct a custom facebased Unit Cell.
 Block Name: Mesh Face from Points
 Location: Modeling > Utilities
 Description: Creates a Mesh comprised of a single face from 3 or 4 vertex points. Input the face's vertices in counterclockwise order. If out of order, the face will be selfintersecting.
 Vertex 1: The first vertex of the mesh face.
 Vertex 2: The second vertex of the mesh face, counterclockwise from the first. If out of order, the face will selfintersect.
 Vertex 3: The third vertex of the mesh face, counterclockwise from the second. If out of order, the face will selfintersect.
 Vertex 4: Optional fourth face vertex, counterclockwise from the third. If out of order, the face will selfintersect.
 Output: Mesh
Orthotropic Stiffness Tensor
 The Orthotropic Stiffness Tensor block lets users create an orthotropic linear elastic property directly from the nonzero stiffness tensor components. Besides numerical values, users can define spatially varying material properties using scalar fields for inputs. You can use this block to create orthotropic material properties for simulation and optimization workflows.
 Block Name: Orthotropic Stiffness Tensor
 Location: Simulation > Material Attributes
 Description: Defines an Orthotropic Linear Elastic Property by specifying a positive definite, second order, symmetric stiffness tensor in Voigt notation for the constitutive relationship, i=Cij*j (i,j=1,6), where =xx,yy,zz,yz,zx,xy and =xx,yy,zz, yz,zx,xy . Providing scalar fields as inputs will result in spatially varying material properties.
 C11: Material stiffness component 1,1.
 C12: Material stiffness component 1,2.
 C13: Material stiffness component 1,3.
 C22: Material stiffness component 2,2.
 C23: Material stiffness component 2,3.
 C33: Material stiffness component 3,3.
 C44: Material stiffness component 4,4.
 C55: Material stiffness component 5,5.
 C66: Material stiffness component 6,6.
 Output: Orthotropic Linear Elastic Property
Mass Response (Beta)
 The Mass Response block can be used as an optimization objective or a constraint in topology optimization or field optimization. The response is similar to a volume fraction response and requires an overall mass input instead of the volume ratio between the optimized geometry and the design space.
 Block Name: Mass Response
 Location: Beta > Topology Optimization
 Description: Create a Design Response that measures the total mass in some region. The response is computed by integrating the density field over the region.
 Region: Region that the Design Response will be integrated over. If a region is not provided, the response will be integrated over the entire design space.
 Output: Design Response
Center of Mass Response (Beta)
 The Center of Mass Response block allows a user to optimize for the location of a center of mass in topology optimization or set a constraint to ensure the center of mass of an object is within a threshold to a point, axis, or plane.
 Block Name: Center of Mass Response
 Location: Beta > Topology Optimization
 Description: Create a Design Response that measures a component of the Center of Mass vector in some region. For each vector component, the response is computed by integrating one of the following functions: vx=*xM,vy=*yM,vz=*zM over the region, where x, y, z are the coordinates of the material point in the given reference frame, is the density field and M is the total mass in the region.
 Direction: Component of the Center of Mass vector that will be used as a design response.
 Region: Region that the Design Response will be integrated over. If a region is not provided, the response will be integrated over the entire design space.
 Frame: Reference frame that the center of the mass vector is defined in. If a frame is not provided, the global frame will be used.
 Output: Design Response
Moment of Inertia Response (Beta)
 The Moment of Inertia Response allows a user to maximize or minimize a component of the moments of inertia as a design objective. The design response can also be used as a constraint in an optimization problem with other objectives like compliance or volume fraction.
 Block Name: Moment of Inertia Response
 Location: Beta > Topology Optimization
 Description: Create a Design Response that measures a component of the mass moment of inertia tensor in some region. For each tensor component, the response is computed by integrating one of the following functions: Ixx=(y2+z2), Iyy=(x2+z2), Izz=*(x2+y2), Ixy=Iyx=xy, Ixz=Izx=xz, Iyz=Izy=yz over the region, where x, y, z are the coordinates of the material point in the given reference frame, and rho is the density field.
 Moment of inertia: Component of the Inertia tensor.
 Region: Region that the Design Response will be integrated over. If a region is not provided, the response will be integrated over the entire design space.
 Frame: Reference frame that the inertia tensor is defined in. If a frame is not specified, the global coordinate system will be used.
 Output: Design Response
Field Optimization (Beta)
 We have added a set of 7 new blocks to enable an exciting new functionality called Field Optimization. Field Optimization extends nTopology’s optimization toolset and allows users to optimize different design parameters for numerous constraints/objectives. The initial functionality released in 3.45 will enable optimizing the following structures: Voronoi lattices, Graphbased and TPMS lattices, variable shell, and variable shell+infill. To learn more about the new functionality, please visit our How to run a field optimization and field optimization FAQ. You can also click on the Learn More buttons on the individual blocks to understand each algorithmic control.
 Block Name: Field Optimization
 Location: Beta > Field Optimization
 Description: Perform a field optimization on a Parametric FE Model.
 Model  The parametric finite element model that defines the design space.
 Objective  The objective function for the optimization process.
 Constraints  The constraints to satisfy during the optimization process.
 Max iterations  The maximum number of iterations allowed during the optimization process.
 Min objective change  The minimum relative change in the objective function between consecutive iterations to consider the optimization process converged. Constraints must be satisfied in addition to this criterion.
 Min variable change  The minimum relative change in the variable fields between consecutive iterations to consider the optimization process converged. The process will terminate when the largest relative variable change is below this threshold, and all the constraints are satisfied. Save increment  Controls the amount of data that is accessible (within the same session) after the optimization is complete. 0 will save results for only the first and last iterations. 1 will save results at every iteration. For any value N greater than 1, results will be saved for every N iteration. Note: Only the last iteration is available when you open a *.ntop file with a built Field Optimization block, regardless of this input value.
 Move limit  A scalar value between 0 and 1, which sets the maximum update to the design variables per iteration as a percentage of the design variable range: Max variable update = Move limit * (Max variable update  Min variable update).
 Output: Field Optimization Result
Parametric Voronoi Component (Beta)
 Block Name: Parametric Voronoi Component
 Location: Beta > Field Optimization
 Description: Create a Parametric FE Component for a Voronoi Lattice with the following design parameters: cell size and beam thickness. The material model is homogenizationbased so the model accuracy will improve as the cell size is reduced.
 Mesh  The finite element mesh that defines the design space.
 Material  Material that the Voronoi lattice is composed of.
 Min cell size  The minimum allowable cell size for the Voronoi lattice.
 Max cell size  The maximum allowable cell size for the Voronoi lattice.
 Initial cell size  The initial cell size for the Voronoi lattice. This defines the starting point of the optimization. Values exceeding the min/max bounds will be clamped.
 Min thickness  The minimum allowable beam thickness for the Voronoi lattice.
 Max thickness  The maximum allowable beam thickness for the Voronoi lattice.
 Initial thickness  The initial beam thickness for the Voronoi lattice. This defines the starting point of the optimization. Values exceeding the min/max bounds will be clamped.
 Filter size  A length measure that is used to control the smoothness of the design parameter field. A lower bound of 0 will be enforced. If not specified, a default will be estimated based on the model size.
 Output: Parametric FE Component
Parametric Lattice Component (Beta)
 Block Name: Parametric Lattice Component
 Location: Beta > Field Optimization
 Description: Create a Parametric FE Component for a periodic lattice with the following design parameters: lattice thickness. The material model is homogenizationbased so the model accuracy will improve as the cell size is reduced.
 Mesh  The finite element mesh that defines the design space.
 Material  Material that the periodic lattice is composed of.
 Unit cell  The unit cell used to create the periodic lattice.
 Boundary behavior  Determines how the periodic lattice will fill the design space. The Conformal option will warp the outer cells to fill the design space. The Trimmed option will trim the lattice to the design space.
 Cell size  The cell size for the periodic lattice.
 Min thickness  The minimum allowable lattice thickness.
 Max thickness  The maximum allowable lattice thickness.
 Initial thickness  The initial lattice thickness. This defines the starting point of the optimization. Values exceeding the min/max bounds will be clamped.
 Density threshold  The threshold signifies a lower bound limit on lattice porosity (=relative density), under which the lattice will be eliminated from the design space. Maintaining a 0 threshold will fill the entire domain with a lattice in the optimization process. A threshold between zero and one will remove the design boundary in parallel to the lattice optimization, removing less important material.
 Filter size  A length measure that is used to control the smoothness of the design parameter field. A lower bound of 0 will be enforced. If not specified, a default will be estimated based on the model size.
 Output: Parametric FE Component
Parametric Shell Component (Beta)
 Block Name: Parametric Shell Component
 Location: Beta > Field Optimization
 Description: Creates a Parametric FE Component, which has been parameterized with the following design parameter for variable shell thickness. The block uses a FE Solid Mesh as an input Mesh. After field optimization, the optimal value for the shell thickness will apply to the design space.
 Mesh  The finite element mesh that defines the design space.
 Material  Material that the shell is composed of.
 Min shell thickness  The minimum allowable thickness for the shell.
 Max shell thickness  The maximum allowable thickness for the shell.
 Initial shell thickness  The initial shell thickness. This defines the starting point of the optimization. Values exceeding the min/max bounds will be clamped.
 Filter size  A length measure that is used to control the smoothness of the design parameter field. A lower bound of 0 will be enforced. If not specified, a default will be estimated based on the model size.
 Output: Parametric FE Component
Parametric ShellInfill Component (Beta)
 Block Name: Parametric ShellInfill Component
 Location: Beta > Field Optimization
 Description: Create a Parametric FE Component for a variable shell structure with a periodic lattice infill with the following design parameters: shell thickness (inward direction), and lattice thickness. The infill material model is homogenizationbased, so the model accuracy will improve as the cell size is reduced.
 Mesh  The finite element model that defines the design space.
 Material  Material that the shell and lattice infill is composed of.
 Unit cell  The unit cell used to create the lattice infill.
 Cell size  The cell size of the lattice infill.
 Min infill thickness  The minimum allowable lattice infill thickness.
 Max infill thickness  The maximum allowable lattice infill thickness.
 Initial infill thickness  The initial lattice infill thickness. This defines the starting point of the optimization. Values exceeding the min/max bounds will be clamped.
 Min shell thickness  The minimum allowable thickness for the shell.
 Max shell thickness  The maximum allowable thickness for the shell.
 Initial shell thickness  The initial shell thickness. This defines the starting point of the optimization. Values exceeding the min/max bounds will be clamped.
 Filter size  A length measure that is used to control the smoothness of the design parameter fields. A lower bound of 0 will be enforced. If not specified, a default will be estimated based on the model size.
 Output: Parametric FE Component
Parametric FE Model (Beta)
 Block Name: Parametric FE model
 Location: Beta > Field Optimization
 Description: Combine a list of Parametric FE Components and corresponding FE Connectors into a Parametric FE Model. The block performs checks to determine whether all objects are restrained properly.
 Components  The Parametric FE Components in the model.
 Connectors  The connectors and interactions in the model.
 Output: Parametric FE Model
Parametric FE Component (Beta)
 Block Name: Parametric FE Component
 Location: Beta > Field Optimization
 Description: Create a Parametric FE Component by assigning material, porosity, and geometry function objects to an FE Mesh.
 Mesh  The finite element mesh that defines the design space.
 Material function  A function object that describes the material model as a function of the design parameters.
 Porosity function  A function object that describes the material porosity (also known as relative density) as a function of the design parameters.
 Geometry function  A function object that describes the implicit geometry as a function of the design parameters. The function will only be used for visualization and will not impact the optimization process.
 Parameter names  A list of names for the design parameters. These names will be used to identify the design parameters in the HUD. The order of parameters in the list must correspond to the order used in the material, porosity, and geometry functions.
 Lower bounds  A list of minimum field values for the design parameters. The order of parameters in the list must correspond to the order used in the material, porosity, and geometry functions.
 Upper bounds  A list of maximum field values for the design parameters. The order of parameters in the list must correspond to the order used in the material, porosity, and geometry functions.
 Initial values  A list of initial field values for the design parameters. Values exceeding the design domain spanned by 'Lower bounds' and 'Upper bounds' will be clamped. The order of parameters in the list must correspond to the order used in the material, porosity, and geometry functions. Parameter constraints  An optional collection of geometric constraints applied to individual design parameters. The constraints are stored in a Dictionary with keys representing design parameter indices and values representing constraints.
 Filter size  A constant or spatiallyvarying length measure that ensures meshindependency. A lower bound of 0 will be enforced. If not specified, a default will be estimated based on the model size.
 Frame  The reference frame of the material model.
 Output: Parametric FE Component
Usage Improvements
 When manually switching from an overloaded block that has an input containing an autopopulated default value, nTopology will no longer prevent you from switching overloads and will discard the default value (shown below with Subdivisions input). Note: Deleting the default value and typing in any userdefined value will prevent the overload from switching until the value is cleared.
Block Updates
 We released a new version of the Boolean Union block and deprecated version 1.0.0, which had a bug that produced the incorrect gradient on the surface of the output body when we set the Blend type to Rounded with a Blend radius of 0. Version 1.1.0 fixes this issue, and as a result, other operations downstream that were affected by this will be fixed. For example, if you saw the warning “Input Body contains 0length gradients” in the Mesh from Implicit Body block, that warning should go away, and your mesh will generate faster.
 We released a new version, 2.4.0, of the Mesh from Implicit Body block and have a deprecated version, 2.3.0, due to an improvement that prevents nTop from unexpectedly exiting, reduces selfintersections frequency in some instances, and improves block runtime.
 We have updated the CAD Body from Implicit Body (Beta) block, adding an optional third input, Preserved CAD. You can input one or more CAD Bodies, and the block will iterate through the CAD Body’s faces and attempt to stitch those faces into the final result. You can also input CAD faces directly, which will autocast to a CAD Body. If the sewing does not succeed, the block will ignore the face input.
The image below shows planar ribbing applied to a panel imported as CAD and converted to an implicit body.
The image below shows the Implicit Body converted to a CAD Body in nTop 3.44 using the CAD Body from Implicit Body block.
The image below shows the Implicit Body converted to a CAD Body using the CAD Body from Implicit Body block in nTop 3.45. In the optional Preserved CAD input, we provided the base of the panel, imported initially into nTop. As a result, five planar faces are present in the CAD Body.
Bug Fixes
 We fixed an issue in the Refine Mesh block, causing nTop unexpectedly exit under certain random and rare conditions.
 We fixed an issue where canceling during the “Regenerating Objects” stage of opening a file would cause nTopology to exit unexpectedly.
 We fixed an issue where we did not display the ribbon for new users.
 We fixed an issue: when duplicating a block, the new block would reference any intermediate values from the old one.
 We fixed an issue with the Outline Search not showing blocks that are variables.
 We fixed an issue with property chips accessed from Custom Blocks, inheriting the Custom Block visual indicator and context menu option.
 We fixed an issue with property chips accessed from overloaded blocks inheriting the overload dropdown UI button.
 We fixed an issue where context search doesn’t yield results for nonvariable embedded blocks.
 We fixed an issue where context search doesn’t yield results for some deprecated blocks.
 We fixed an issue where selecting and removing unused blocks from the Imports panel would not mark your file as unsaved.
 We fixed an issue in the Mirror FE Mesh block that caused the Topology Optimization block to crash when users use the block on quadratic volume meshes. This fix will prevent this nTop from unexpectedly exiting in any analysis block using quadratic volume meshes generated by the Mirror FE Mesh block.