Comment Section#

Optimizer#

Comment 1

The available Design Sensitivity Analysis (DSA) methods are described below:

AUTO

Selects the best approach based on the problem.

  • If the number of design variables > number of responses, the Adjoint method is used.

  • If the number of design variables < number of responses, the Direct method is used.

  • If the analysis is of type Dynamics, the FD method is always used.

DIRECT

Selects the direct differentiation method for computing the design sensitivity matrix.

ADJOINT

Selects the adjoint method for computing the design sensitivity matrix.

FD

Selects the finite differencing method for computing the design sensitivity matrix. Finite differencing is done in parallel.

An extended description of the DSA methods can be found here.

Comment 2

After the completion of optimization run, the optimizer returns the following values:

status

Exit mode for optimizer (see Comment 3).

success

Flag showing if the optimizer converged successfully or not (True/False).

njev

Total number of iterations.

nfev

Number of function evaluations.

fun

Final cost of the function.

x

List of optimized design variable values (array).

message

Exit code message (see Comment 3).

jac

Jacobian of the optimized design variables to each response (array).

nit

Number of gradient evaluations.

Comment 3

Exit modes are defined in the following table:

-1

Gradient evaluation required (g & a).

0

Optimization terminated successfully.

1

Function evaluation required (f & c).

2

More equality constraints than independent variables.

3

More than 3*n iterations in LSQ sub-problem.

4

Inequality constraints incompatible.

5

Singular matrix E in LSQ sub-problem.

6

Singular matrix C in LSQ sub-problem.

7

Rank-deficient equality constraint sub-problem HFTI.

8

Positive directional derivative for linesearch.

9

Iteration limit exceeded.

10

Error happened getting objective function value.

11

Error happened getting gradient value of objective function.

12

Approaching close enough to local convergence with current boundary.

Comment 4

There are five approaches available to compute step size for the Finite Difference Method:

UNIFORM

Uniform step size is used for all Dvs. For each Dv, the perturbation is \(\Delta = fdStep\).

PROPORTIONAL

The step size for each Dv is proportional to its magnitude. For \(Dv_{i}\), the perturbation is \(\Delta = fdStep \times max (1.0, Dv_{i}|)|\).

AUTO

Use optimal step size for each Dv. MotionSolve has an internal routine to compute the optimal step size for each Dv based on the local error and an estimation of the second derivative. The sensitivity computed by this approach is the most accurate but it introduces additional computational cost.

Response#

Comment 1

For a high-frequency signal, the value returned by MotionSolve may not agree with HyperGraph. This is because the maximum/minimum returned by MotionSolve is computed at each integration step, while HyperGraph computes only at the output step. The output step is usually larger than the integration step, hence the difference.