Question:
What does each setting mean in the Topology Optimization block?
Answer:
Topology Optimization and Field Optimization blocks have similar inputs that drive the optimization.
Like any block in nTop, you can look in the Right Panel under the Information tab for information on what the inputs to a block do, but this section will provide additional information and tips on how to use TopOpt settings.
Max Iteration
Optimization is an iterative process that updates the topology until the objective is reached and the constraints are satisfied. 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 maximum computation time expended on the optimization process.
Min Objective Change
The objective function is a quantified measure of how well the topology achieves its objective(s). When the relative change between iterations of the objective function falls below this number, the TopOpt will be considered complete (as long as the constraints are satisfied).
Decreasing this number will result in a more accurate optimization but longer computation time.
Min Density Change and Min Variable Change
This input is a convergence threshold, as described above, but for the relative change of Topology Optimization density elements from one iteration to the next and the relative change in the variable fields of Field Optimization.
Decreasing this number will result in a more accurate optimization, but longer computation time.
Boundary Penalty
This input controls how the TopOpt sets density values at the edges of the design space.
The 1 option sets the TopOpt density to 0 along the edges of the design space. The material will be completely restricted on the boundary where no loads or constraints have been applied. This option works well if you set up your design space to have a buffer zone of nodes outside the space where you know that no material will be filled in.
In some cases, you may anticipate that your part will include elements on the design space's outer edge. This is likely true if you are doing TopOpt on a coarse mesh. The 0 option defines TopOpt densities at the design space edges such that the gradient (the spatial derivatives in x,y,z) will be zero. This allows you to have non-zero TopOpt densities at edges. No penalization is enforced on the boundary in this case.
The overall recommendation is to use a mesh size that is small enough so that the 1 option can be used and density can be 0 at the edges, but if needed, option 0 provides an alternative. The image below shows how results can change between different Filter Boundary options.
Save Increment
This input controls the amount of data stored and accessible after the optimization. The number can be increased to lower the file size of a completed TopOpt file. The default value of 1 will save results for all increments, whereas a result of 0 will save only the first and last increments. For any value, N, greater than 1, it will save results for every N increment.
Note: The last iteration will always be saved.
Move Limit
A value between 0 and 1 defines how much a design parameter value may change between iterations as a percentage of the design variables range.
Filter Size
This optional input controls the diameter of a spherical smoothing operation performed on the TopOpt density field. Filtering is used to regularize the optimization and avoid mesh dependency. It can be used to indirectly specify a minimum feature size that will be present in the TopOpt result because features smaller than the smoothing diameter will not be preserved.
Note: This input accepts a scalar or scalar field input, meaning you can choose spatially-variant filtering. If this optional input is left blank, a default value of 2 times the average element size is used.
Initial Density
This optional input can take in a scalar field of Topology Optimization density values (from 0 to 1), providing the initial guess at the TopOpt result before the process begins. When left blank, the Top Opt densities are set to 0.5 at all elements. This is useful when using the Halt Process to pause an optimization.