Skip to main content

Parametric FE Model, Design Objective, Constraints, Integer, Scalar, Scalar, Integer, Scalar

Parametric FE Model, Design Objective, Constraints, Integer, Scalar, Scalar, Integer, Scalar, 1.1.0

Parametric FE Model, Design Objective, Constraints, Integer, Scalar, Scalar, Integer, Scalar, 5.23.0

About this Block

The Field Optimization block performs a numerical design operation that optimizes design parameters within the bounds of a design space based on a set of objectives and constraints. The block allows you to optimize values of field based design parameters that best achieve the desired objective(s) while considering complex and multivariate loading conditions and design constraints. nTop’s field optimization algorithm uses Custom Parameterized Material Models. Field optimization setup involves choosing objectives and constraints for your optimization. The objective is a list of one or more Design Responses you will minimize or maximize in the optimization. A few examples of design responses you could have are:
  • The volume fraction of the original design space the part takes up (Volume Fraction)
  • Stiffness under given loading conditions (Compliance)
  • Stress or Displacement
You should pair the Optimization Objective with Optimization Constraints that give rules to the optimization. Without constraints, the optimization will probably result in parameter values at their maximum/minimum bounds. Constraints can include upper or lower limits on other Design Responses and others. An outline of the logic of a field optimization process is below. Field Optimization Logic The Field Optimization block takes in a Parametric FE Model , an objective, a constraints list, and a series of values that control the field optimization algorithm. The Parametric FE Model must contain one or more Parametric FE Domains and can include FE Domains as well (FE Domains will remain solid). Each Parametric FE Domain will contain the design space, design parameters, and bounds of the optimization that the underlying material model is bounded by. An explanation of the algorithmic controls for field optimization is below.
  • Max iterations
  • field optimization is an iterative process that updates the topology until it reaches the objective and satisfies the constraints. If the process takes a long time, you can set a maximum limit to the number of iterations attempted. This input allows you to limit the max computation time expended on the field optimization process.
  • Min objective change
  • The objective function quantifies how well the topology achieves its objective(s). When the relative change between iterations of the objective function value falls below this number, the field optimization will be considered complete (as long as the constraints are satisfied). Decreasing this number will result in a more accurate field optimization but a longer computation time.
  • Min variable change
  • This input is a convergence threshold, as described above, but for the relative change of the design variable values from one iteration to the next. Decreasing this number will result in a more optimized result but a longer computation time.
  • Save increment
  • This input controls the amount of intermediate data stored, and is accessible after the field optimization completes. You can increase the number to lower the file size of a completed field optimization file and increase computational efficiency. The default value of 5 will save results every fifth increment, whereas a result of 0 will save only the first and last increment. For any value N greater than 1, it will save results for every Nth increment. The last iteration will always be saved.
  • Move limit
  • a value between 0 and 1 defining how much a design parameter’s value may change between iterations as a percentage of the design variable’s range.
During the field optimization process, a HUD appears in the Viewport with several options for visualizing the results. Tip: If you cannot see anything in the Viewport, check if the Field Optimization block is a variable. Right-click the variable and select Remove Variable Contents to check the Views below.
  • Implicit View - allows you to view the resulting geometry. Under the ‘Render as needed’ drop-down, each iteration will render when you move the slider bar. Use the ‘Render all’ option in the drop-down to render more than 1 iteration at a time to view the progression of the field optimization results easily. You can also use Section Cut to view inside your Implicit body. Implicit View from Field Optimization
  • Property Fields - allows you to view the mechanical properties of the resulting structure across the design space. You can display the results across the original mesh and render them in real time for any saved iteration.
  • State Fields - allows you to view values of the design parameters across the design space. You can display the results across the original mesh and render them in real time for any saved iteration.
Under the Display tab in the Right Panel, there are convergence plots showing how numerical measurements of the design’s objective and constraint(s) changed over the iterations of the process.You can click on the Top Right corner of the plot to view the plot in the Bottom Panel. Convergence Plots from Field Optimization You can access the result of the Field Optimization as Implicit Body using the Implicit Body from Field Optimization block. Implicit Body from Field Optimization Results Common uses:
  • Periodic Lattice Optimization
  • Voronoi Lattice Optimization
  • Variable Shell Optimization
  • Variable Shell-Infill Optimization

Example File

Download Example: Field Optimization Field Optimization Result

Parametric FE Model, Design Objective, Constraints, Integer, Scalar, Scalar, Integer, Scalar

Perform a field optimization on a Parametric FE Model. Inputs
NameTypeDescription
ModelParametric FE ModelThe parametric finite element model that defines the design space.
ObjectiveDesign ObjectiveThe objective function for the optimization process.
ConstraintsDesign Constraint ListThe constraints to satisfy during the optimization process.
Max iterationsIntegerThe maximum number of iterations allowed during the optimization process.
Min objective changeScalarThe minimum relative change in the objective function between consecutive iterations to consider the optimization process converged. constraints must be satisfied in addition to this criteria.
Min variable changeScalarThe 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 incrementIntegerControls the amount of data that is accessible after the optimization is complete. a value of 0 will only save the first and last iteration, a value of 1 will save every iteration, and values n greater than 1 will save every n iterations. note that this input has significant impact on the file size and runtime of the optimization process.
Move limitScalarA 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 * (variable upper bound - variable lower bound). a smaller value may increase stability at the cost of a reduced convergence rate. if left unspecified, an internal heuristic is used to determine an appropriate value for the given problem setup.
Outputs

Parametric FE Model, Design Objective, Constraints, Integer, Scalar, Scalar, Integer, Scalar, 1.1.0

Perform a field optimization on a Parametric FE Model. Inputs
NameTypeDescription
ModelParametric FE ModelThe parametric finite element model that defines the design space.
ObjectiveDesign ObjectiveThe objective function for the optimization process.
ConstraintsDesign Constraint ListThe constraints to satisfy during the optimization process.
Max iterationsIntegerThe maximum number of iterations allowed during the optimization process.
Min objective changeScalarThe minimum relative change in the objective function between consecutive iterations to consider the optimization process converged. constraints must be satisfied in addition to this criteria.
Min variable changeScalarThe 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 incrementIntegerControls the amount of data that is accessible after the optimization is complete. a value of 0 will only save the first and last iteration, a value of 1 will save every iteration, and values n greater than 1 will save every n iterations. note that this input has significant impact on the file size and runtime of the optimization process.
Move limitScalarA 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 * (variable upper bound - variable lower bound). a smaller value may increase stability at the cost of a reduced convergence rate. if left unspecified, an internal heuristic is used to determine an appropriate value for the given problem setup.
Outputs

Parametric FE Model, Design Objective, Constraints, Integer, Scalar, Scalar, Integer, Scalar, 5.23.0

Perform a field optimization on a Parametric FE Model. Inputs
NameTypeDescription
ModelParametric FE ModelThe parametric finite element model that defines the design space.
ObjectiveDesign ObjectiveThe objective function for the optimization process.
ConstraintsDesign Constraint ListThe constraints to satisfy during the optimization process.
Max iterationsIntegerThe maximum number of iterations allowed during the optimization process.
Min objective changeScalarThe minimum relative change in the objective function between consecutive iterations to consider the optimization process converged. constraints must be satisfied in addition to this criteria.
Min variable changeScalarThe 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 incrementIntegerControls the amount of data that is accessible after the optimization is complete. a value of 0 will only save the first and last iteration, a value of 1 will save every iteration, and values n greater than 1 will save every n iterations. note that this input has significant impact on the file size and runtime of the optimization process.
Move limitScalarA 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 * (variable upper bound - variable lower bound). a smaller value may increase stability at the cost of a reduced convergence rate. if left unspecified, an internal heuristic is used to determine an appropriate value for the given problem setup.
Outputs