Density Model
The Density Model feature () can be added from the model tree under Component using the Topology Optimization context menu. It includes settings for
Variables
The Density Model feature adds
A domain control variable field (dtopo#.theta_c) (control material volume factor)
A domain dependent variable (dtopo#.theta_f) (filtered material volume factor)
One or several domain milling dependent variables (dtopo#.theta_m#) (milling material volume factor)
A domain variable (dtopo#.theta_m) (milling material volume factor)
A domain variable (dtopo#.theta) (projected material volume factor)
A domain variable (dtopo#.theta_p) (penalized material volume factor)
A global variable (dtopo#.theta_avg) (average material volume factor). Note that the average is computed for the selection of the Density Model feature only, so it is unaffected by any Prescribed Material or Prescribed Void features.
The control variable field is bounded to the interval [0;1]. It is used as input to a Helmholtz filter, which introduces a minimum length scale. The projected material volume factor is fixed to 1 outside the selection for the Density Model feature.
Filtering
From the filter type list, choose between no filtering (None) and a Helmholtz filter (Helmholtz; the default), which can impose a minimum length scale by means of a filter radius Rmin (SI unit: m). The local mesh element size h is the default value because this radius should not be smaller than the mesh element size. However, a fixed length scale must be used to get mesh-independent results.
Coordinate System
This section only appears when Manufacturing Constraints are enabled, and it allows selection of a coordinate system of Base Vector System type, so that it is easy to specify a milling direction that is not aligned with the coordinate system.
Manufacturing Constraints
By default manufacturing constraints are disabled, but one can choose to enable Extrusion or Milling constraints.
Extrusion
When Extrusion is selected, the Extruded Boundary section appears which allows defining the extrusion direction automatically based on a boundary. Alternatively the extrusion direction can be set to a User-defined value.
Milling
When Milling is selected, the milling directions can be entered in the table. Use the button to add more rows in the table. The source radius can be User defined or it can be Automatic, in which case the filter radius is used assuming the filter type is Helmholtz. Alternatively the local mesh element size is used.
The aggregation exponent can either be User defined or it can be Automatic. If it is Automatic, a value of 10 will be used. The Discretization can be Linear or Constant, and if it is linear it is possible to set a Diffusion length. This can either be User defined, or it can be From mesh in which case 10% or 50% of the mesh size is used for 2D and 3D, respectively.
The implementation of the milling constraints are based on Ref. 1.
Extruded Boundary
This section is only visible with the extrusion manufacturing constraint. The selection is used to discretize the Control Variable field and the Helmholtz filter, so it is important that it is large enough that the Geometric Entity Selection does maps to an interior point. The extrusion direction is taken to be the normal, if the boundary is flat.
Projection
From the Projection type list, specify no projection (None; the default) or projection based on the hyperbolic tangent function (Hyperbolic tangent projection). When using projection, you can choose the projection point and the projection slope. Projection with a large slope produces designs almost free of intermediate values, but the optimization problem will be difficult to solve if the slope is too large.
Milling constraints rely on projection, and therefore projection cannot be disabled when milling constraints are enabled.
Interpolation
Using the Interpolation type list, the feature supports RAMP and SIMP interpolation for solid mechanics, while Darcy interpolation can be used for fluid mechanics. Finally, you can also choose a Linear or a User defined interpolation. For solid mechanics it is common to interpolate Young’s modulus, and the relative void stiffness can be bounded using the minimum penalized volume fraction, θmin. The SIMP exponent pSIMP and the qRAMP parameters determine the stiffness for intermediate design variables.
Values in the interval [2;4] produce well-defined topologies in the context of volume-constrained compliance minimization. For fluid mechanics it is common to introduce a volume damping force, which should be large in the solid regions. The maximum value, however, depends on the fluid viscosity as well as the mesh size, so it is up to you as the user to specify this value. The Darcy penalization parameter controls the damping for intermediate design variables, and a value of 1 works well in the context of volume constrained dissipation maximization, but sometimes a continuation starting from a lower value can be required to avoid bad local minima.
Note that you can use the dtopo#.theta_avg variable to impose a volume constraint and the dtopo#.theta variable to write a custom material interpolation.
Discretization
The  Linear discretization gives a continuous representation by associating the design variables with the mesh nodes, while an elementwise Constant discretization gives a discontinuous representation, which generally gives rise to more variables than the Linear discretization.
The Initial value θ0 should be set such that the starting design does not violate any optimization constraints.
Topology Optimization of an MBB Beam: Application Library path Optimization_Module/Topology_Optimization/mbb_beam_optimization
Topology Optimization of a Beam with Milling Constraints: Application Library path Optimization_Module/Topology_Optimization/beam_optimization_milling
Optimization of an Extruded MBB Beam: Application Library path Optimization_Module/Design_Optimization/mbb_beam_extruded_optimization
Topology Optimization of a Magnetic Circuit: Application Library path Optimization_Module/Topology_Optimization/magnetic_circuit_topology_optimization
Bracket — Topology Optimization: Application Library path Structural_Mechanics_Module/Tutorials/bracket_topology_optimization_stl
Optimization of a Tesla Microvalve: Application Library path Microfluidics_Module/Fluid_Flow/tesla_microvalve_optimization