• Design Sensitivity and Optimization Modules
• Selected Data Blocks
• Solution 200 Program Flow
For most applications, it is unlikely that an extensive understanding of the design optimization modules and data blocks will be required. However, a general knowledge of the module functions may be of help when evaluating design optimization messages, user warning messages, or error messages. An awareness of the contents of some of the more significant data blocks may also be useful when examining intermediate results, debugging input data, etc.
This section briefly outlines the function of those modules that are unique to design optimization.
Most of the module names begin with the letters DO (which stands for design optimization) or DS (for design sensitivity). If necessary, the NX Nastran Programmer’s Manual should be consulted in connection with advanced applications.
Following the module and data block descriptions is a top-level flowchart of Solution Sequence 200. This flowchart is referenced inOutput Features and InterpretationandExample Problems in connection with output interpretation.
5.1 Design Sensitivity and Optimization Modules
AXMDRV (Auxiliary model driver) drives the auxiliary model looping (for shape
optimization using auxiliary boundary models) by reading the auxiliary model list and outputting the next sequential auxiliary model ID (AUXMID). The auxiliary model loop flag AMLPFL is FALSE if this is the last auxiliary model in the list.
AXMPR1 Builds the auxiliary model list AMLIST used in the auxiliary model boundary shapes method for shape optimization.
AXMPR2 Generates complete geometry (grid) data for the auxiliary boundary models by merging with the geometry of the primary structure. It also generates a Case Control data block CASEVEC used later to generate a geometry partitioning vector. This is used if additional grids have been defined by the engineer in the auxiliary boundary model.
DMPR Partitions the design model entries table (EDOM) on analysis type. This is the first of two partitioning operations; the second step, partitioning on superelements, is performed later by SDSA. Thus, for all later data processing operations, which usually involve looping over analysis disciplines and
superelements, we will have on hand only that required subset of design model entries.
DOM6 Computes the design sensitivity coefficient matrix DSCM2 for output purposes.
This module is invoked only if OPTEXIT is + 4. Otherwise, design sensitivity information is available to the optimizer via matrix DSCM.
DOM9 Performs the optimization task using the previously created approximating functions.
DOM10 Provides printed output of the results of the approximate optimization. This output includes the values of the proposed new design variables and the
estimated values of the objective and constraint functions. The amount of output is determined by the parameters P1 and P2 on the DOPTPRM Bulk Data entry.
DOM11 Updates the element property table (EPT), grid coordinates (COORDO), and geometry data blocks (GEOM1N) in accordance with the new vector of design variables.
DOM12 Performs both hard and soft convergence testing, outputs the results of these tests, updates the design optimization history table, and prints out the summary of design cycle history. It is called for every normal exit condition in Solution 200.
DOPR1 Sets up nonrepetetive tables for design variables, design variable linking, DTABLE constants, designed property attributes, initial design variable and property values, constraint screening data, and optimization parameters.
DOPR2 Performs pre-processing operations for the shape basis vectors (sensitivity and optimization). It is called in PREDOM for direct input of basis vectors, and DESOPT for the AMBS and GMBS options. Creates the shape basis vectors in basic coordinates as well as the necessary design variable correlation data.
DOPR3 Generates tables that are used to compute both first- and second-level responses, constraints, and the objective function. Since these tables are invariant, they are formed on the first design cycle.
DOPR4 Expands tables DTOS2J and DTOS4J to account for DVPREL2 properties, which are treated as internal design variables. Design variable numbering in the resultant DTOS2K and DTOS4K tables is in terms of the external design variables (DESVAR input) and the internal (DVPREL2) variables.
DOPR5 Generates updated DTOS2 and DTOS4 tables from DTOS2K and DTOS4K using the new vector of design variables XINIT.
DSABO In the semianalytic sensitivity analysis approach used in NX Nastran,
perturbed structural matrices must be generated. DSABO constructs tables to which later modules refer when building property-related variational terms.
These tables are primarily in the form of perturbed element summary tables and design sensitivity processing tables.
DSAD Evaluates and screens constraints that are functions of either first- or second-level responses.
DSAE For purposes of computational efficiency, the design variables are split into two sets. The first set consists of those design variables that are related to structural properties, while the second set consists of variables related to grid coordinates. DSAE merges the tables and data blocks associated with these groups of design variables so that later modules can compute the perturbed structural configurations.
DSAF Generates an updated element summary table (ESTDCN) for recovery of responses in design sensitivity analysis. It contains the subset of elements necessary to recover element-level responses and incorporates the effects of constraint deletion.
DSAH Forms a number of miscellaneous tables and data blocks, including Case Control that are used in the formation of the design response sensitivities.
DSAJ Converts grid variations defined on the boundaries of the structure (geometry model boundary solution for shape optimization) to a shape basis vector. This in turn is used to define enforced displacements on the primary structure, for purposes of interpolation to the interior grids of the mesh.
DSAL Actually computes the matrix of partial sensitivity coefficient DSCM given the baseline and perturbed responses, and corresponding design variable data. The form of the terms in DSCM is Δr/DELB. This form is converted to Δr/Δx in modules DOM6 and DOM9.
DSAM Same concept as the DSABO module but with respect to structural shape variations.
DSAN Generates Design Sensitivity Table 1 DSPT1 used in DSVG1 and DSVG2 to generate the pseudo-load vectors.
DSAP In direct and modal frequency analysis, DSAP sums the variational terms that are functions of ΔK, ΔB and ΔM to form the pseudo-load vector.
DSAR Splits the modal transient solution containing data for displacement, velocity, and acceleration onto separate data blocks: one data block each for displacement, velocity, and acceleration for all solution time steps.
DSAW Computes the delta weight and/or volume according to the changes in the design variables in connection with the semi-analytic sensitivity analysis.
DSPRM Outputs parameters used for DMAP flow control. Depending on the types of retained responses listed in data block DRSTBL, parameters are output to indicate whether or not response sensitivities are to be recovered for a particular superelement.
DSTAP2 Generates a correlation table describing the design response column order for the DSCM/DSCM2 matrices.
DSVG1 (Design Sensitivity Vector Generator 1) computes terms in the sensitivity analysis pseudo-load vectors that depend on ΔK, ΔB, and ΔM.
DSVG2 (Design Sensitivity Vector Generator 2) This module computes the thermal load contribution to the pseudo-load vector.
DSVG4 (Design Sensitivity Vector Generator 4) Forms u + Δu finite difference change in displacements for design variables that affect mass and/or stiffness terms.
MDCASE Partitions the original input case control onto individual Case Control records based on analysis type. It also outputs parameters that are used at the DMAP level to direct analysis for the various disciplines.
SDSA Partitions the design model entries table (EDOM) on superelement. The result, EDOMS, is an analysis discipline and superelement partition of the original EDOM. See also the DMPR module description.
SDSB Builds the superelement design sensitivity processing data block DSLIST that is used to direct the pseudo-load and response sensitivity superement loops. Its structure is similar to SLIST, used in superelement analysis.
SDSC Prints the DSCMR correlation table that identifies the column-response correlation in the design sensitivity coefficient matrix DSCM2.
SHPCAS Generates a new Case Control data block to drive solutions for basis vectors in shape optimization. The initial shape data is supplied as enforced displacements on the boundary of the structure and then interpolated to the interior grids via a static solution of the primary structure. SHPCAS generates the Case Control data block CASENEW, which is used in connection with this solution. It also generates a partitioning vector CVEC to extract the appropriate solution vectors from the analysis results.
WEIGHT Computes the structural weight or volume for use in design optimization.
Weight (or mass) is only computed for those elements that have volume. The effect of elements such as CONMs are thus neglected.
5.2 Selected Data Blocks
The data blocks listed in this section are of particular interest in design sensitivity and
optimization. Although just a subset, the data blocks listed here have been chosen based on their usefulness in custom DMAPing, results processing, etc.
Should the need arise, the brief descriptions in this section may be a useful aid when trying to navigate through various sections of the DMAP. The module that creates each data block is noted at the end of each description. Full descriptions of these data blocks’ content and format can be found in the NX Nastran Programmer’s Manual.
Design Model Definition
CVALO Updated approximate constraint values output from the optimizer. (DOM9) DESTAB Table containing design variable attributes. (DOPR1)
DTOS2 Table, built from DTOS2K, containing current values of designed properties. This is updated at the beginning of every design cycle. (DOPR5)
DTOS2J Table identifying properties referenced in the design model, both DVPREL1 and DVPREL2. This is built directly from the design model data. (DOPR1)
DTOS2K Same as DTOS2J, but rearranged on internal design variable order. (DOPR4) EDOM Table containing design model data. (IFP)
EDOMS Analysis discipline- and superelement-partitioned EDOM. (SDSA)
EPTN Updated element property tables, based on optimization results. (DOM11) GEOM1N Updated grid (geometry) records, based on the optimization results. (DOM11) PROPO Vector of properties output from the optimizer. (DOM9)
R1VALO First-level responses output from the optimizer. These are based on the approximate model. (DOM9)
R2VALO Second-level responses output from the optimizer. These are based on the approximate model. (DOM9)
TABDEQ Table of unique design variable IDs. (DOPR4)
XINIT Vector of initial design variable values, updated at the start of each design cycle.
(DOPR1 initialization, EQUIVX after DOM9 on subsequent cycles.)
XO Vector of design variables output from the optimizer. This becomes XINIT for the next design cycle. (DOM9)