3.4 Implementation of the methodology for size, shape and topology RBDO
3.4.1 Implementation of the Deterministic Optimization phase
The deterministic optimization phase is carried out directly in Altair Optistruct, taking advantage of the highly efficient algorithms implemented on it. This software allows to optimize accurately complex engineering structures in competitive computational times by building intermediate approximation models that speed up the optimization process. Moreover, they can deal with a large number of design variables and have proven to be suitable for industry-like optimization problems. The FE models in Altair Optistruct have the extension .fem. Altair Optistruct is based on NASTRAN language, and therefore the structure of the code is quite similar, being divided in three different sections:
1. I/O Options Sections. This section manages the general options of the anal- ysis or optimization, such as the type, format and frequency of the output, the type or run, etc.
2. Subcase Information Section. This section contains specific information about the subcases of the analysis or optimization process, such as the boundary conditions and loads applied in each subcase. It also defines the type of analysis
required (linear static, modal, buckling, frequency response...). In an optimiza- tion process it also contains information about the structural responses that are defined as objective function and constraints.
3. Bulk Data Section. This section contains all the information about the FE model (grids, elements, nodes, coordinate systems, loads, materials and bound- ary conditions). It also defines the elements required to build the optimization problem such as design variables, structural responses, constraints and the rela- tionship between the design variables and the properties of the FE model. The Bulk Data Section allows to separate all this information in different text files or “include files” that are called by the main NASTRAN file, making easier to manage the information that is susceptible of suffering variations or merely to facilitate the organization of the FE model.
The first cycle of the RBDO problem uses the mean values of the random variables as the MPP, as well as the optimization parameters desired in the optimization pro- cess. This is done in MATLAB by creating strings containing such information that is printed later in separate text files. In this research two different types of “include files” are used, one including the information of the optimization parameters and others with the updated information of the random variables. The optimization parame- ters such as the maximum number of iterations, tolerance requirements or the initial fractional move for the design variables are included in an “include file” denoted as “IncludeP arams.txt”. The random variables can be stored in a single or in separate “include files”, depending on their nature. In this research the random variables con- sidered are the loads and material properties, therefore there are two different files that are denoted as “IncludeLoads.txt” and “IncludeM aterials.txt”, one for each type of random variable. Other properties such as geometry dimensions might be considered as random variables, but given the reasonably high quality of the manufacturing pro- cesses in aerospace industry they tend to be less important in RBDO problems as their reduced uncertainty would probably lead to low effects in the performance functions. Moreover in size and shape optimization problems geometry dimensions are somehow considered as design variables.
The static loads in Altair Optistruct (Li) are defined as concentrated forces, moments or pressures and afterwards are collected in a LOAD card P, which defines a linear combination of loads that is applied to a specific subcase through the expression:
P = S n X
i=1
SiLi (3.4)
where S is the global scale factor and Si are the scale factors for each Li. On the other hand, the materials definition requires the mechanical properties such as the Young’s module E, shear module G, Poisson’s ration ν or mass density ρ. An example of the cards modified in Altair Optistruct files is presented below:
• LOAD,100,1,1.0,10,1.0,20,1.0,30 • MAT1,200,74000.0,27000,0.3,2.81e-9
where the fields bolded are the true random variables of the problem and therefore the parameters that vary from one to another DO step.
The steps required to perform the deterministic optimization following this approach are written in a MATLAB code denoted as “Optistruct-Optimization.m”. The first step is to modify the values of the random variables and optimization parameters in their respectively text files. Afterwards Altair Optistruct is executed in the HPCC thanks to the system statement in MATLAB, which calls the GNU system command qsub in order to run the Altair Optistruct job in the HPCC queue, whose information is included in a text file denoted as lanzador-optistruct. Therefore the statement used to call Altair Optistruct from MATLAB is:
“system (qsub lanzador-optistruct)”
The text file lanzador-optistruct includes information about the name of the job, num- ber of cores, amount of memory and the node of the HPCC where the user wants to run the job. Moreover, it gives an unique ID to each job and contains the GNU system order to execute the optimization in Altair Optistruct, which is:
“optistruct FILENAME.fem -outfile FILENAME-jobID.out”
where FILENAME denotes the name of the job and jobID is the unique ID of the job in the HPCC queue system. The code “Optistruct-Optimization.m” needs to manage the start and end of each optimization run, as well as sleep during the time the job is running. This is done through the creation of temporary files that are automatically deleted when the external code finishes the optimization process.
Then the code retrieves from the output file .out the values of the objective function, constraints and number of iterations, and writes them in separate text files. This infor- mation will be useful in further steps of the RA loop. Figure3.4shows a flowchart that details the steps followed by the code “Optistruct-Optimization.m” to manage a de- terministic optimization that is performed in an external software (Altair Optistruct).