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 could be obtained by tuning these parameters according to the considered problem.

All available parameters are assembled into four groups as follows.

█ 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.

Material function slope factor
Range: [0.1, 10.0]
Defines the material function slope factor in stress 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 factor in stress response analysis. Increasing this factor makes the elastic supports stiffer and vice versa. Elastic supports are used in modeling skew displacement boundary conditions.

█ 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.

Material function slope factor
Range: [0.1, 10.0]
Defines the material function slope factor in 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 factor in eigenfrequency response analysis. Increasing this factor makes the elastic supports stiffer and vice versa. Elastic supports are used in modeling skew displacement boundary conditions.

█ 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.

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 normal or the low-memory solver are selected automatically); 1 = low-memory (iterative) solver; 2 = normal (direct matrix decomposition) solver.

Double precision
Range: [False, True]
Defines whether a double-precision version of the linear solver has to be engaged. Typically this is not necessary, but might be needed in some special situations with extremely ill-conditioned structural stiffness matrix. A double-precision solver consumes roughly twice as much memory as the single-precision solver.

Maximum threads
Range: [0, ~]
Defines the maximum number of threads used by the linear solver. If a zero is specified, the number of threads is equal to the number of physical cores of the processor. This is typically the optimal setup, if the used computer is not needed to run simultaneously other applications.

Solver priority
Range: [-1 | 0]
Defines the priority of processes run by ProTOp: -1 = below normal; 0 = normal priority. 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.