Installation ------------------------ ------------------------ Platform requirements ------------------------ Attune supports Windows and Linux platforms. Attune requires Matlab version 6.5.1 or later and Python version 2.2.3 or later (for compatibility with ABAQUS -- Python is not required for use with Nastran). Python is included with the distribution of ABAQUS. You can find the latest version of Python as well as Python documentation at http://www.python.org. Installing the license ------------------------ Attune uses a client-server licensing scheme. As a result, you need to install and configure the license server separately. You can download ATAServer from http://www.ata-e.com/software/imat. This document provides a quick reference guide. More detailed documentation on ATAServer comes with the installation. Prior to using Attune, you must contact ATA to obtain a valid license file. To obtain a permanent license, you will need to run the hostid executable and send the resulting hostid.txt to attune AT@AT ata-e.com. Prior to using Attune, you must set an environment variable that points to the ATA license server host and port. You can set this environment variable in Settings | Control Panel | System, and finding the button to access environment variables (typically on the "Advanced" tab). The exact location differs by platform. Set the environment variable ATA_SERVER to the hostname of the server and the port number used by the license server, separated by a colon. For example, set it to server:8211 where server is the hostname of the license server and 8211 is the port number. This is the default port number used by the license server, and should work unless the license server has been configured to use a different port. Note that you will need to start a new Matlab session for the environment variable change to take effect. Installing Attune ------------------------ Putting Attune in your path (setting your MATLABPATH): To use the Attune, you must arrange for the Attune directory to be in your Matlab search path. This can be done by an individual user, or it can be set up by the system administrator for all Matlab users. Two methods for setting up the path are given below, and experienced Matlab users will know of other ways. (In the following instructions, %MATLAB% refers to your top level Matlab directory, and %ATTUNE_INSTL% refers to your top level directory where Attune is installed.) Option 1 (does not require sysadmin): Create a file called startup.m (or edit an existing one). Put the following command in this file: addpath %ATTUNE_INSTL% -end (but use the actual path in place of %ATTUNE_INSTL%.) This will add Attune to the end of your Matlab path. Option 2 (requires sysadmin): Edit the file %MATLAB%\toolbox\local\matlabrc.m and insert the following command in this file (after the default path is set): addpath %ATTUNE_INSTL% -end (but use the actual path in place of %ATTUNE_INSTL%.) This will add Attune to the end of the Matlab path for all users. This change will need to be repeated if you update or reinstall Matlab. Option 3 (recommended, requires sysadmin): Edit the file %MATLAB%\toolbox\local\pathdef.m and insert a line for the Attune directory. The new file will look something like this: function p = pathdef % PATH DEFINED HERE -- Don't change this line. p = [... '$toolbox/matlab/general:', '$toolbox/matlab/demos:',... '$toolbox/local:',... '$toolbox/tour',... '%ATTUNE_INSTL%:',... ... ]; p = [userpath,p]; Use the actual path name (e.g., 'C:\matlab\toolbox') for '%ATTUNE_INSTL%'. A disadvantage of this method is that any Matlab upgrade or new installation will overwrite this file, so the change will need to be repeated. Overview ------------------------ ------------------------ Attune is a program for test/analysis correlation and model updating. It uses design sensitivity and optimization methods to identify model changes that minimize the difference between test and analysis results. This approach has been shown to be highly effective for a variety of test/analysis correlation problems. Attune has many advantages for performing test/analysis correlation: 1) The design sensitivity approach is very efficient. Linear perturbation methods provide sensitivity coefficients at a fraction of the cost of a normal modes analysis. 2) Design sensitivity coefficients clearly identify the important properties in the finite element model (FEM). 3) Attune can correlate multiple configurations of a model simultaneously. This greatly facilitates the correlation of complex models. 4) The FEM is updated directly. No intermediate matrix updating is required. 5) Attune works with both ABAQUS and Nastran models. 6) Fewer iterations are usually required to update the FEM, saving schedule and computer resources. 7) The updated FEM of the test configuration can easily be modified to represent flight configurations. 8) Attune is GUI-driven which allows the engineer to drive the model updating process. 9) Attune has a convenient interface with Excel for documenting the model updating process. Sensitivity Analysis ------------------------ Design sensitivity analysis (DSA) is a method that predicts changes to important results (such as modal frequencies, static deflections, mode shapes, etc.) if specified items in the model (such as spring constants) are varied. The important results are called "state variables" since they measure critical states of the structure. They are also called "design constraints" in Nastran. The items that may be varied are called "design variables." Design sensitivity coefficients define the relationship between the state and design variables. A design sensitivity coefficient relates how much a state variable will change for a given change of a design variable. Linear perturbation methods are used to calculate design sensitivity coefficients. This approach is very efficient; design sensitivity coefficients can be calculated at a small fraction (10-20%) of the cost of standard normal modes analysis. Optimization Techniques ------------------------ Monte Carlo ------------------------ The Monte Carlo algorithm is a "brute force" technique. A user-defined number of designs are randomly generated. For each design, the stiffness matrix is updated based on modal matrix sensitivities. An eigensolution is computed with the updated stiffness matrix. The objective function is evaluated based on the revised modal parameters. The design with the minimum objective function value is chosen as optimal. The benefit of this method is that it cannot be trapped by local minima. On the other hand, because each design is chosen at random, there is no guarantee that the global minimum will be an element of the design population. There is likewise no guarantee that the solution will improve with iteration. Gradient ------------------------ The gradient algorithm uses the modal matrix sensitivities to compute approximate sensitivities of the modal parameters. The derivatives of the modal parameters are linearized approximations about the current design. An attempt to minimize the objective function, subject to constraints, is made based on these approximate sensitivities. The approximate modal parameter sensitivities are recomputed for the new design. Iteration continues until no further improvement can be made. Unlike the Monte Carlo algorithm, the gradient algorithm uses the current design and approximate derivatives of the modal parameters to find an improved solution. This implies incremental improvement with each iteration. However, the gradient algorithm can become trapped in in local minima or can overshoot because of inaccuracies in the linear approximation of the derivatives. Genetic Algorithm ------------------------ For the genetic algorithm, the design variables can only take on discrete values within the permitted range. Like the Monte Carlo algorithm, a user-defined number of designs is generated randomly and evaluated using the objective value function. Unlike the Monte Carlo algorithm, the genetic algorithm iteratively improves the pool of design candidates. As a discrete optimization method, the genetic algorithm is susceptible to the same problems as the gradient algorithm. The other disadvantage of the genetic algorithm is that an iteration is typically more computationally intensive than the other optimization methods. Getting Started ------------------------ ------------------------ Starting Attune ------------------------ Once Attune is properly installed, the program is run by typing "attune" at the Matlab command prompt. This will bring up the Attune's main interface. Before proceeding with correlation, Attune will require data from both analysis and test. The order in which the test and analysis data are read does not matter, except that they are read in a consistent manner. In other words, Attune will assume that the first test data file to be read in corresponds to the first analysis data file, the second test data file corresponds to the second analysis file, and so on. As soon as a set of test and analysis data for a configuration is available, test and analysis modes will automatically be matched and state variables defined. Test Data ------------------------ Attune requires test data to be read in one of three formats: I-DEAS ADF, Universal, or Nastran DMIG. The test data file contains the mode shape, frequency, and coordinate trace for each test shape. The test data is selected by pressing the "Read File" button from the Test Data area. This button brings up a standard open file dialog box. After selecting the file, you will be prompted to identify the unit system in which the file should be interpreted. Once the file is read, the filename will be listed in the Test Data area. Analysis Data ------------------------ Attune can use analysis data from both Nastran and ABAQUS. For Nastran data, Attune requires the data to be read from Nastran punch format. The ABAQUS daa is stored in a format specific to this application. The Nastran punch file contains bulk data, a reduced mass matrix, and sensitivities of the modal stiffness matrix, as well as a mode shape, frequency, and coordinate trace for each analysis shape. The ABAQUS file contains similar data with the exception of the reduced mass matrix. Preparation of this data is discussed in the next section. The analysis data is specified by pressing the "Read File" button from the Analysis Data area. This button brings up a standard open file dialog box. Once the file is read, the filename will be listed in the Analysis Data area, just as it is for the test data. Preparing Analysis Data for Nastran ----------------------------------- Attune supports analysis data produced by Nastran. It reads the required data from a Nastran punch file. There are very few changes required in the Nastran input deck to produce the proper output. An example deck is given below. The lines highlighted with asterisks represent additions to a typical Nastran design optimization input deck. The first highlighted line includes the file containing a DMAP alter required by Attune. The second highlighted line echoes the bulk data to the punch file. The final line includes a file containing USET or USET1 cards defining the "U1" set. The "U1" set should be equivalent to the TAM DOF. The reduction performed on the mass matrix will be based on this set. Note that, while Attune can process multiple configurations simultaneously, design variables must have unique identifiers. If a design variable is a member of multiple configurations, that design variable must have the same identifiers in all cases. Sample Nastran deck: SOL 200 *** INCLUDE 'attune.dmap' CEND $ TITLE = Test Case DesOpt SUBTITLE = MODES to 120 Hz $ *** ECHO = PUNCH,SORT ANALYSIS = MODES $ INCLUDE 'display_set.blk' DISP (PUNCH) = 100 DSAPRT(END=SENS) = ALL $ DCONSTR Set ID 1 DESSUB = 1 $ METHOD = 120 BEGIN BULK EIGRL 120 120.0 $ Model bulk data INCLUDE 'fem.blk' $ Include design variables INCLUDE 'fem_desvar.blk' INCLUDE 'fem_dvprel.blk' INCLUDE 'fem_statevar.blk' $ $ Define Aset DOF as U1 set *** INCLUDE 'fem_uset.blk' ENDDATA Preparing Analysis Data for ABAQUS ----------------------------------- Attune also supports analysis data produced by ABAQUS . A Design Sensitivity Analysis (DSA) analysis is performed in ABAQUS to generate the information utilized by Attune. An ABAQUS model that is set-up to perform a normal eigensolution must be slightly modified to perform the DSA analysis. Design parameters (*PARAMETER and *DESIGN PARAMETER) need to be added to the model section of the input deck to identify the variables for the sensitivity calculations. In the step section of the input file, the user must specify that a DSA analysis is to be performed on the step keyword (*STEP, DSA=YES). The other addition is to define the controls for the sensitivity calculations on the *DSA CONTROLS keyword. Finally, the user must request the design sensitivities to be written to the output database (.odb) (*OUTPUT, HISTORY) (*DESIGN RESPONSE). A portion of a sample input file with these keywords is shown in Figure 8. The required data are copied from the ABAQUS .odb file into a format specific to this application (*.a4a) by a Python script called toAttune.py . The python script is dependent on modules provided by ABAQUS. So, the recommended method for running the script is to type the following at the command prompt: abaqus python toAttune.py filename.odb The ABAQUS data does not contain a reduced mass matrix and therefore does not permit the use of cross-orthogonality in the correlation. In addition, ABAQUS data contains only the diagonal elements of the sensitivities of the modal stiffness matrix. For this reason, the analysis mode shapes cannot be updated during an Attune session. Attune will still report the correlation of the shapes using cross-MAC. But, only the frequencies will change when ABAQUS data is used. By default, the state variables associated with cross-MAC are deactivated when ABAQUS data is used. To find out how design changes affect mode shapes, the user will have to rerun ABAQUS with the updated design.