Professional Documents
Culture Documents
dr dr dr T
∇r = --------- --------- --------- (5-214)
˜ dx 1 dx 2 dx 3
Theoretical Considerations
The method currently employed in MSC.Marc for response sensitivity analysis is
the “virtual load” method. For sensitivity analysis of the objective function, finite
differencing on the design variables is performed directly.
In the virtual load method, first a design is analyzed for the user-prescribed load
cases, and, if also prescribed, for eigenfrequency response. The response of the
structure having been evaluated for each of these analyses, the response quantities
for which sensitivity analysis is to be performed are then decided upon and collected
in a database. In sequence, a virtual load case is generated for each such response
quantity. Reanalysis for a virtual load case leads to virtual displacements.
The principle of virtual work is then invoked. This defines the element contributed
part of the response quantity, for which the virtual load was applied, as a dot product
of the structural displacement vector, for the actual load case with which the
response is associated, and the virtual load vector itself.
CHAPTER 5 229
Structural Procedure Library
The jth response r j can be expressed as the dot product of the actual load vector with
the virtual displacement vector as
T
rj = p u v (5-217)
By differentiation of this expression, you can show that the derivative of the
response r j with respect to a given design variable x i is given by
T
dr j dp v T dp dK
-------- = ---------- u + u v §·
-------- – -------- u
dx i dx i dx i dx i
©¹
where K is the stiffness matrix of the structure. The response derivative above is
evaluated on the element basis as:
T
dr j dp v T dp dK
-------- = ¦ ---------- u + u v §·
-------- – -------- u (5-218)
dx i dx i dx i dx i
©¹
e e
where the vectors u and p v are the vector of element nodal displacements due to
the actual load case and the vector of element nodal forces due to the virtual load,
respectively. The case of eigenfrequencies follows the same logic except that an
explicit solution for the virtual load case is not necessary. The derivatives are now
evaluated at the element level via finite differencing. This is known as the
semi-analytical approach.
Note that the derivative expression for the virtual load method is quite similar to
that for the Adjoint Variable method. In fact, while they are conceptually different
approaches, for certain cases they reduce to exactly the same expressions. However,
for certain other cases, the terms take on different meanings although the end result
is the same.
230 MSC.Marc Volume A: Theory and User Information
Design Optimization
where W is the objective function, and c j is the jth constraint function, either
specified as an inequality related to a response quantity or as a limit on a design
variable. For example, to limit the x-direction translation component at a node k, the
constraint can first be written as
( u x ) k ≤ u x*k
Assuming that the displacement is constrained for positive values, the normalized
constraint expression c (dropping the subscript j ) becomes:
( u∗ – u ) ⁄ u∗ ≥ 0.0 (5-219)
with its derivatives as:
dc – 1 du
------ = ------ ------ (5-220)
dx u∗ dx
CHAPTER 5 231
Structural Procedure Library
after which they can be transformed into expressions similar to Equation 5-219.
The response quantities associated with the model are implicit functions of the
design variables. Analyses at sample design points are used to build explicit
approximations to the actual functions over the design space. This approach
minimizes the number of full scale analyses for problems which require long
analysis times such as for nonlinear behavior. This method is summarized next.
Like the hyperprism, in one-dimension, the simplex degenerates into a straight line.
However, in two dimensions it is a triangle, and in general it is a hyper-tetrahedron.
Figure 5-21 compares the simplex to the hyperprism in normalized two-
dimensional design space.
n=2
Hyperprism: 22 = 4 vertices
Simplex : 2 + 1 = 3 vertices
While the orientation of the simplex in the design space appears to be a relatively
arbitrary matter, once an origin and the size of the simplex are prescribed, a simple
formula will locate all vertices of a simplex in n-dimensions Reference 4. The
response gradient information at the simplex vertices is combined with the function
values to achieve enhanced accuracy. Thus, an analysis at a vertex can be utilized
to yield both response function values and, by way of sensitivity analysis, the
response gradients at that vertex. The virtual load method employed in MSC.Marc
for obtaining the response gradients is discussed under “Design Sensitivity
Analysis”. The response gradients can then easily be converted to constraint
gradients for use in an optimization algorithm.
As a result, the results of an analysis at a vertex of the simplex can be summarized
as the vector of constraint function values c j , and the gradient, ∇c j , of each
constraint function ( j ) at that vertex.
For the case of a one variable problem, the results of analyses at the two vertices are
symbolized in Figure 5-22, for a hypothetical constraint c j .
CHAPTER 5 233
Structural Procedure Library
dc j1
------------ E1
dx
Possible Actual Function
c j1
2
1 c j2
E2 dc j2
x ------------
dx
From Figure 5-22, it appears almost natural to fit a cubic function to the four end
conditions (two function values and two slopes) depicted in the figure. However,
this approach is too rigid, and is not easily generalizable to higher dimensions. On
the other hand, the use of two quadratics, which are then merged in a weighted
manner gives higher flexibility and potential for increased accuracy.
It can be seen that the two equations, E1 and E2 , are designed such that they both
satisfy the function values at the two vertices, but E1 satisfies the slope at vertex 1
only, and E2 satisfies the slope at vertex 2 only. Finally, at any design point x , the
response function c j can be approximated as
c j = ( W1 E1 + W2 E1 ) ⁄ ( W1 + W2 ) (5-222)
where the weight functions W1 and W2 are normally functions of x and possibly
some other parameters.
This type of approach has the further advantage that it is consistent with the use of
the simplex for determining analysis points and approximating constraint functions
in the higher dimensional cases. Therefore, for an n-dimensional problem, the
simplex having n + 1 vertices, each equation needs to have ( n + 1 ) + n = 2n + 1
unknown parameters. The general quadratic polynomial without the cross-coupling
terms satisfies this condition for all n .
234 MSC.Marc Volume A: Theory and User Information
where J is the Jacobian matrix of the constraints and c is the vector of constraint
functions at the current iteration. Due to lack of knowledge about which constraints
will be active at the optimum, the Hessian of the Lagrangian is not always readily
available. Thus, some iterations take the form of a gradient projection step.
The coefficients of the constraint functions in the Lagrangian are the Lagrange
multipliers which are unknown before solution has started. At the optimum these
multipliers are zero for inactive constraints. Normally, the above problem is solved
using only those constraints which appear to be active at or close to the current
design point, with the assumption that these constraints will be active at the
optimum. The selection of these active constraints is done within the framework of
an active set strategy, the set being modified appropriately with the progression of
the iterations. Similarly, the arrays g , H , and J are also modified as the iterations
proceed.
The type of solution requested from MSC.Marc can simply be indicated by the
parameter input DESIGN SENSITIVITY or DESIGN OPTIMIZATION. Only one of these
lines can appear in the input. These parameters also let you change the sorting of
constraints, the maximum number of constraints in the active set, and the maximum
number of cycles of design optimization. The first two items are discussed in
previous sections. A cycle of design optimization refers to a complete solution
employing the sequential quadratic programming technique followed by a detailed
236 MSC.Marc Volume A: Theory and User Information
finite element analysis to accurately evaluate the new design point reached by way
of approximate solution. If required, the approximation is improved using the
results of the last finite element analysis, and a new cycle is started.
The specification of an objective function, being optional for design sensitivity, is
made by use of the model definition option DESIGN OBJECTIVE. This allows you to
choose from one of the available design objectives.
The DESIGN VARIABLES option allows you to specify the design variables
associated with the finite element model. You have a choice of three major types of
design variables:
1. Element cross-sectional properties as given by way of the
GEOMETRY option.
elements or groups of elements, and frequency constraints are posed for free
vibration modes. A complete list can be found under the above mentioned options
in MSC.Marc Volume C: Program Input.
When strain or stress constraints are prescribed, it is useful to know that the
program evaluates such constraints at all integration points of all layers of an
element and proceeds to consider the most critical integration point at the related
layer for the element. Thus, a strain or stress constraint on an element normally
refers to the most critical value the constraint can attain within the element. During
optimization, the most critical location within the element may change and any
necessary adjustment takes place internally.
For certain responses, the limiting values can be the same in absolute value for both
the positive and negative values of the response. For constraints on such response
functions, you have the choice of prescribing either separate constraints on the
positive and negative values, or a combined constraint on the absolute value. The
first approach is more accurate albeit at a higher computational cost.
Output
For sensitivity analysis, the output file contains the following information:
• Echo of input, any warnings or error messages.
• A of numbers and definitions for your prescribed design variables. It is
important to note that the variable values are always output in the internal
numbering sequence which is defined in this. Search for the words ‘Design
variable definitions’ to reach this in the output file.
• Analysis results for your prescribed design.
• The value of the objective function and its gradient with respect to the design
variables prescribed by you.
• Sensitivity analysis results for the response functions in the default or user-
defined set, sorted in order of criticalness (if specified). It should be noted
that although the responses are sorted across multiple load cases, the
sensitivity results are output for each load case. The related output file
consists of a check on the actual response value (obtained by sensitivity
analysis) and the gradient of the response with respect to the design
variables. For eigenfrequency results, the check values on the response can
be somewhat more accurate than the results from eigenfrequency analysis
since the latter is iterative, but the check uses the Rayleigh quotient on top of
238 MSC.Marc Volume A: Theory and User Information
the iteration results. A constraint reference number allows you to track the
sensitivity analysis results plots when postprocessing. Search for the word
‘Sensitivity’ to reach this output.
For design optimization, the following is written into the output file:
• Echo of input, any warnings or error messages.
• Certain indications that some analyses are being done, but no analysis results
except for the ‘best’ design reached during optimization.
• The objective function values and the vector of design variable values:
• At each of the simplex vertices.
• For the starting simplex vertex (from this point on, the information also
includes whether the design is feasible or not).
• At the end of each cycle of optimization.
• For the ‘best’ design found.
• Analysis results for the ‘best’ design.
Postprocessing
This requires that you ask the program to create a post file. The following plots can
be obtained by way of postprocessing.
For sensitivity analysis:
• Bar charts for gradients of response quantities with respect to the
design variables.
• Contour plots of element contributions to response quantities. Thus, a
finite element model contour plot gives the element contributions to a
specific response quantity which was posed in the form of a constraint in
the input file.
The increment number of the sensitivity analysis results is the highest increment
number available in the post file. The information for each response quantity is
written out as for a subincrement. The zeroth subincrement corresponds to the
objective function information. Numbers for the other subincrements correspond to
the constraint reference number(s) in the output file.
For design optimization:
• Path plots showing the variation of the objective function and of the design
variables over the history of the optimization cycles. The best design (feasible
or not) is not necessarily the last design point in the plot. The values at the
starting vertex are considered as belonging to the zeroth subincrement. Each
CHAPTER 5 239
Structural Procedure Library