Background

Optimization parameters are the tuning parameters for various tools that are run during an optimization process. By default they are set to assure an overall good performance. However, there will always be special situations where better results can be obtained by tuning these parameters according to the considered problem.

All available parameters are assembled into five groups as follows.

█ FEA - general

These parameters affect both, stress and eigenfrequency FEA.

Material function slope factor
Range: [0.1, 10.0]
Defines the material function slope factor in stress and eigenfrequency response analysis. This factor determines the steepness of the transition from void to material regions. Larger factors mean steeper transition and result in more fragmented designs. The influence of void finite elements on structural stiffness is reduced by increasing this factor.

Support stiffness factor
Range: [0.0, ~]
Defines the relative elastic support stiffness in stress and eigenfrequency response analysis. Increasing this factor makes the elastic supports stiffer and vice versa. Elastic supports are used in modeling skew displacement boundary conditions.

Connector stiffness factor
Range: [0.0, 10.0]
Defines the relative connection finite element stiffness in stress and eigenfrequency response analysis. Increasing this factor makes the connection elements stiffer and vice versa. Connection elements are used for merging disconnected mesh regions and for simulating other types of semi-rigid connections.

Connector stiffness fading
Range: [0.0, 1.0]
Defines a fading rate parameter for the stiffness of connection finite elements used for merging disconnected mesh regions. In general, the stiffness of these connection elements decreases proportionally to the relative length of the connector. A value of 0.0 means that the stiffness decreases negligibly. Meanwhile, a value of 1.0 means that the stiffness decreases very fast (exponentially) in dependence of the relative connector length.

Void stiffness perturbation factor
Range: [0.0, ~]
Defines the stiffness perturbation factor for FE nodes belonging to void regions. Increasing this factor stabilizes the FEA computation but increases the error in computed response.

█ FEA - stress computation

These parameters affect the stress response and sensitivity FEA.

Response dump factor
Range: [0.00, 0.99]
Defines the dump factor used in stress response computation. Increasing the dump factor makes the optimization process slower but more stable. This might be useful when encountering optimization process stability problems.

Reference stress max factor
Range: [0.0, 1.0]
Defines the computation of the reference boundary stress, which is a measure of the stress state on cut surfaces. When this parameter is close to 0, the reference boundary stress value approaches the average stress; when this parameter is close to 1, the reference boundary stress measure approaches the maximum stress encountered on cut surfaces.

Disable semi-plastic material model
Range: [False | True]
Defines whether the semi-plastic material model should be disabled. If true, the semi-plastic material model is disabled and linearly elastic material behavior is assumed for all computations.

Yield stress factor
Range: [0.0, 1.0e3]
Defines the scaling factor used for adjusting yield stress values of all materials. Scaling of yield stress values might be useful in design manipulations aiming to decrease the maximal stress levels on the account of higher structural strain energy. To enable such procedures, the actual yield stress value used in FEA is computed as

Actual yield stress = YStress * YieldStressFac
NOTE. Setting this parameter to 0 disables the semi-plastic behavior of all semi-plastic materials.

Topology criteria code
Range: [0 | 1]
Defines the criteria quantity used for optimization: 0 = strain energy; 1 = Mises stress. Strain energy is the default quantity, but Mises stress might be useful in special situations to get a less fragmented design.

█ FEA - eigenfrequency computation

These parameters affect the eigenfrequency response and sensitivity FEA.

Response dump factor
Range: [0.00, 0.99]
Defines the dump factor used in eigenfrequency response computation. Increasing the dump factor makes the optimization process slower but more stable. This might be especially useful when encountering multiple lowest eigenfrequencies exhibiting different eigenmodes.

Modal balance factor
Range: [0.0, 1.0]
Defines the kinetic to elastic energy ratio in sensitivity computation. Decreasing this parameter makes the optimized design stiffer on the account of slightly reduced lowest eigenfrequency.

█ Topology optimizer

These parameters affect the operation of the optimizer.

Activation band width
Range: [0, 64]
Defines the bandwidth or number of finite element layers around any material region to be activated for subsequent FEA. ProTOp typically deactivates finite elements with the material function being below the activation limit. The exception here are the elements in the neighborhood of material elements. This parameter defines the extent of this neighborhood.

Activation threshold
Range: [-1.0, 0.0]
Defines the deactivation limit: 0.0 = all void elements are marked for deactivation; -1.0 = no elements are marked for deactivation.

TC enforcement intensity
Range: [-1.0, +1.0]
Defines the intensity of numerical procedures that enforce technological constraints: -1.0 = minimal intensity; +1.0 = maximal intensity.

Convergence tolerance
Range: [0.01, 1.00]
Defines a relative tolerance in measuring the convergence of the optimization process: 0.01 = minimal (tight) tolerance; 1.00 = maximal (wide) tolerance.

Continue on failed FEA
Range: [0, 10]
Defines the number of attempts to continue with optimization cycles on failed FEA. Namely, due to void regions and various other reasons it may happen that the FEA process fails. ProTOp can continue with optimization cycles even in such cases since successful FEA can often be restored after a few cycles (when the topology of the model changes enough).

Recording cycles interval
Range: [1, ~]
Defines the cycles interval at which design data is optionally recorded.

█ System solver

These parameters affect the linear solver engaged in solving the structural system of linear equations in all FEA processes.

Computation mode
Range: [0 | 1 | 2]
Defines the computation mode: 0 = automatic (either the iterative or the direct solver are selected automatically); 1 = iterative solver; 2 = direct solver. The iterative solver is a low-memory solver that may run either slower or faster than the direct solver. Under special circumstances (for example, a model with semi-contact material and many load cases), the iterative solver might prove to be much better. The direct solver performs a decomposition of the system (stiffness) matrix and therefore requires a lot of memory (RAM). It can be quite fast, but only if enough memory is available.

Residual tolerance index
Range: [0, 10]
This parameter adjusts the convergence tolerance used by the system FEA solver: 0 = automatic; 1 = wide tolerance; ... ; 10 = narrow tolerance. The automatic option sets the convergence tolerance in the range defined by the indices between 2 and 4. For certain reasons this automatic setup can be changed by setting a fixed index value in the range between 1 and 10. A value of 1 sets a very wide tolerance and may be usable in speeding up the optimization process in case of statically loaded parts with very well-conditioned stiffness matrices (low matrix condition number). On the other hand, index values of 5 or greater tighten the tolerance gradually, which may be needed in situations where the stiffness matrix is not well conditioned (high matrix condition number). In general, one can say that a wide tolerance may speed up significantly the FEA done by the iterative solver, but may lead to unstable optimization process due to insufficient accuracy of the FEA response. On the other hand, a narrow tolerance ensures accurate FEA response but may slow down drastically the iterative solver. The computation speed of the direct solver is not significantly affected by the tolerance setting.

Matrix perturbation
Range: [0.0, 1.0e-6]
Defines a relative perturbation of the system matrix delivered to the system solver for the solution process: 0.0 = no perturbation; 1.0e-6 = maximal perturbation. Larger perturbation factors make the matrix decomposition more stable and may prevent matrix decomposition failure but may slow down the solution computation. This parameter is used only if the direct (matrix decomposition) solver is employed.

Max solver instances
Range: [0, ~]
Defines the maximal number of system solver instances (iterative solver only) running simultaneously. The default value of zero means there is no limitation imposed. Typically, this parameter can be left at default zero value. In this case, the system will automatically determine an optimal number of instances.

Solver priority
Range: [-1 | 0]
Defines the priority of processes run by ProTOp: -1 = below normal; 0 = normal. Specifying the below-normal priority allows the user to run normally, for example, text editing applications while ProTOp is running optimization. Otherwise ProTOp will use practically all CPU resources and the performance of other applications will suffer.