ProductsAbaqus/Design The equations pertaining to DSA can be derived based on a total displacement formulation or an incremental displacement formulation. The total displacement formulation is intended for history-independent problems, where the current state of the problem depends only on the total displacements. The incremental formulation is intended for history-dependent problems, where the current state of the problem depends on the state at the beginning of the increment and the incremental displacements. Total displacement DSA formulation for nonlinear equilibrium problemsLet R and P be the numbers of design responses and design parameters, respectively. Let each response ϕr, r=1,…,R, be a function of design parameters hp, p=1,…,P and depend on them both explicitly and via the displacement field represented here by the nodal displacement vector uN (see the definition of finite element interpolation in About procedures and basic equations), ϕr=ϕr(uN(hp),hp).
The dependence uN(hp) is only implicit; i.e., it is implied only by the design dependence of coefficients in the equilibrium equation system whose solution is uN. Assume that we have solved an equilibrium problem defined by Equation 2 at the end of an increment and that we have the converged solution uN as well as values of all responses. Sensitivity of a response ϕr with respect to design parameter hp is defined as dϕrdhp=∂ϕr∂hp+∂ϕr∂uNduNdhp.
All but one quantity in the above equation can be determined explicitly given the equilibrium solution. The only unknown is duN/dhp; to compute it, an additional system of equations has to be solved. Rewrite Equation 2 in the form FN(uM)=0,
where FN=-∫V0βN:τcdV0+∫SNTN⋅tdS+∫VNTN⋅fdV.
All the quantities in the above equation are assumed to depend on design parameters hp explicitly or via displacement field uN. Differentiation of the above two equations with respect to design parameters leads to the following equation: KMNduNdhp=-∂FM∂hp,
in which KMN=∂FM∂uN
is the tangent stiffness (Jacobian) matrix defined in Equation 4 and ∂FM/∂hp is an explicitly determinable quantity. Substituting Equation 3 into Equation 1, we obtain dϕrdhp=∂ϕr∂hp-∂ϕr∂uNK-1NM∂FM∂hp,
which is the solution of the total displacement DSA problem. The DSA algorithm used in Abaqus is known as the direct differentiation method (DDM) and consists of the following operations. After the converged equilibrium solution is obtained, the three arrays ∂ϕr/∂hp, ∂ϕr/∂uM, and ∂FM/∂hp have to be computed in an element-by-element manner. ∂FM/∂hp is often called the pseudoload since it becomes the right-hand side of the DSA problem. The final DSA solution is obtained by solving the system of Equation 3 for each p=1,…,P with respect to the unknown vectors of nodal displacement sensitivity duN/dhp. The displacement sensitivities are then substituted into Equation 1 to compute dϕr/dhp. The coefficient matrix KMN used in the DSA computations is simply the last tangent stiffness matrix used in the equilibrium iterative algorithm. At the stage of the DSA computations this matrix is still available in the decomposed form and can be retrieved easily to perform the back substitutions for the DSA right-hand-side vectors. This makes the DSA module a very efficient add-on to the equilibrium analysis enabling sensitivity computations at a relatively low cost. Incremental displacement DSA formulation for history-dependent equilibrium problemsThe formulation of DSA presented above provides a brief introduction to the way DSA is implemented in Abaqus; however, due to some simplifications, the discussion is not relevant to a large number of nonlinear mechanical problems, especially those involving history-dependent behavior of the structure modeled. The main difficulty in such problems is that many quantities necessary to compute the residual FN in Equation 2 or to define design responses do not lend themselves to be expressed as functions of total displacement uN. Rather, at each time increment they are functions of certain state variables at the beginning of the increment (referred to as the time instant t) and of the incremental displacements, ΔuN: FN=FN(αt(hp),ΔuN(hp),hp),
ϕr=ϕr(αt(hp),ΔuN(hp),hp);
see, for example, Kleiber et al. (1997). The notation αt stands for a set of state variables α that may include tensors (stress, back stress, etc.) as well as scalar quantities (equivalent plastic strain, etc.) defined for a particular material point at time t. Some responses may also depend directly on the displacement uN, and the beginning-of-the-increment value of uN will, generally, also enter into the set αt. In such a case Equation 4 takes the following form: dϕrdhp=DϕrDhp-∂ϕr∂ΔuMK-1MNDFNDhp,
where D(⋅)Dhpdef=∂(⋅)∂hp+∂(⋅)∂αtdαtdhp
denotes the explicit design derivative of a quantity (⋅). The fundamental difference, from the point of view of the DSA solution algorithm, between the total and incremental approach is that in the latter case all state variables α effectively become additional, or internal, design responses, whose sensitivities must be computed and updated at the end of each time increment to proceed with the DSA in the next increment. The number of such internal responses may be significant with obvious effects both on the computational time and memory requirement. The DSA solution procedure is similar to that in the total displacement approach. After the equilibrium computations are complete, the arrays of explicit design derivatives Dϕr/Dhp, DFM/Dhp (the pseudoload), and the derivatives with respect to displacements ∂ϕr/∂ΔuM are assembled in the element loop. The set of design responses ϕr, r=1,…,R, includes in this case all the scalars and tensor components of α. In the direct differentiation method the following system of equations is solved for each design parameter hp: KMNdΔuNdhp=-DFMDhp,
and the solution vectors are substituted into Equation 5. Computational approachThe derivatives required for DSA can be computed analytically or numerically. In the analytical approach the finite element equations are differentiated exactly, following the theory described in the previous sections. This approach is difficult to implement, but it is efficient and yields exact sensitivities. In the numerical approach some or all of the required derivatives are computed using the finite difference technique. The numerical approach can be further subdivided into the overall or global finite difference approach and the semi-analytic approach. In the global finite difference approach the response sensitivities with respect to a particular design parameter are obtained by perturbing that design parameter a number of times (depending on the finite difference technique) and performing an entire equilibrium analysis for each perturbation. The responses are retained for each analysis and then differenced to obtain the response sensitivities. This approach is computationally expensive since an entire equilibrium problem must be solved for each perturbation, but it is easily implemented. The semi-analytic approach is used in Abaqus and can be viewed as a compromise between the analytic and global finite difference approaches. In the semi-analytic approach the DSA element vectors are obtained by differencing; but, like the analytic approach, the DSA solution is obtained by back-substitution against KMN. The advantage of the semi-analytic approach is that it is much easier to implement than the analytic approach and much more efficient than the global finite difference approach. The details of this method are described in the following paragraphs. The objective of the semi-analytic approach is to compute the DSA vectors DFM/Dhp and dϕr/dhp numerically by finite differencing. For simplicity, assume that the finite difference technique is central difference such that for a given function A(x), the derivative of A with respect to x is dAdx=A(x+δx)-A(x-δx)2δx,
where δx is the perturbation of x. For generality, consider the history-dependent case. To approximate the explicit design derivatives of FM, the incremental displacement is held constant while a positive perturbation δhp is applied to each design parameter hp. In this way perturbed values of FM are obtained as FM+δFM=FM(αt(hp+δhp),Δu(hp),hp+δhp).
The change in the state corresponding to a perturbation in the design parameters is approximated by αt(hp+δhp)=αt(hp)+dαtdhpδhp.
The above process is repeated for a negative perturbation (-δhp), after which the results are differenced to arrive at the explicit design derivative DFM/Dhp. Once the (incremental) displacement sensitivities are found, the response sensitivities dϕr/dhp can be obtained using ϕr+δϕr=ϕr(αt(hp+δhp),ΔuN(hp+δhp),hp+δhp),
where ΔuN(hp+δhp)=ΔuN(hp)+dΔuNdhpδhp.
The process is repeated for a negative perturbation of hp, and the results are differenced. The finite difference interval must be chosen carefully. If the interval is too small, round-off or cancellation errors occur due to loss of precision during the differencing operations. On the other hand, if the interval is too large, truncation errors may occur. Truncation errors arise from the fact that differencing formulas are based on truncated Taylor series expansions. Abaqus will automatically choose a perturbation size that provides the best compromise between cancellation and truncation errors. |