• Nenhum resultado encontrado

Multi-Disciplinary Analysis and Optimization

3.8 Structures Module

solver. The second sub-part is here the user can define the design parameters for the airflow model.

These properties are the Mach number, the air density, speed of sound and angle of attack. Air speed and dynamic pressure are calculated from the defined properties. The third sub-part sets theTripanload case and handles the solution of the aerodynamic analysis using the implicit GMRES method. The last sub-part handles the outputs. The possible outputs are the surface solution, the wake, the aerodynamic loads, the lift distribution (semi-span) and the sectional pressure coefficient.

3.8.2 Structural Analysis

Structures represent the second discipline in the proposed MDO. The methods and tools chosen to perform the structural analysis followed the most recent studies published by Kennedy and Martins (2010), Kennedy (2011) and Kenway et al. (2010). In these, structural analysis was performed by a finite-element code developed by Graeme J. Kennedy of UoT. This code, called Toolkit for the Analysis of Composite Structures (TACS), has been tested and it has been developed to have an easy coupling with aerodynamic codes for MDAs. This reason made it the elected tool for the structures module.

TACSwas designed for the analysis of stiffened, thin-walled, composite structures using either linear or geometrically non-linear strain relationships. It can use higher-order finite-elements to enhance the stress prediction capability. The residuals of the structural governing equations are expressed as

S(u, w) =Sc(u)−F(u, w), (3.15) where whereuis a vector of displacements and rotations (structural state variables),w is a vector of aerodynamic state variables,Sc are the residuals due to conservative forces and internal strain energy andFare the follower forces due to aerodynamic loads. The Jacobian of the structural residuals involves two terms. The first is the tangent stiffness matrix K = ∂Sc/∂u. The second is the derivative of the consistent force vector with respect to the structural displacements. These terms are computed using a matrix-free approach. Mathematically the Jacobian of the structural residuals is represented by the expression in Equation 3.16.

∂S

∂u =K−∂F

∂u. (3.16)

TACS uses the Krylov subspace method GMRES and the the Krylov method GCROT 11(Hicken and Zingg, 2010), to solve the non-symmetric, linear systems of Eq. 3.16. It handles stress constraints by applying a local failure constraint at each Gauss point in the finite-element model. These local failure constraints compute a load factor,λk, required for that point to fail. The load factor implies that the current point will fail at λk times the current stress level. For a safe-life design, the criterionmin{tk} > F sis applied, where F sis the safety factor. This method applied to an optimization has some specificities.

Instead of using the minimum value directly, a Kreisselmeier-Steinhauser (KS) constraint aggregation technique is applied to groups of these local constraints (Wrenn, 1989). Normally these groups are aggregated amongst similar structural components. InTACScode, the KS function is computed as

λKS =min{λk} − 1 σln

"N X

i=1

exp{−σ(λi−min{λk})}

#

, (3.17)

whereσis a weighting parameter that controls the degree of approximation andλKS is the aggregated KS value. This approach has the advantage that it reduces the number of constraints required in the optimization, while keeping a conservative approximation, in that λKS is a lower bound. Values of σ between 30 and 50 are recommended.

11GCROT is a Krylov method that uses Generalized Conjugate Residual with inner orthogonalization and Outer Truncation.

A final mention to the fact thatTACS, although written in C++ language, contains a Python interface.

This allows the easy modification and flexibility in building the desired finite-element models.

3.8.3 Code for the Structural Analysis

This sub-section documents the script created to test the structures module of the established MDO tool.

To achieve this objective, a simple structural analysis of a generic wing was run, in which a single point load to the tip was applied. The input structural mesh of the wing was created with the script presented in Sub-section 3.6.3. Figure 3.15 shows a representation of the script structure used to perform a structural analysis. The full transcript of the script can be found in Appendix C.

Figure 3.15: Script structure to perform a structural analysis.

The script is structured in three parts. The first part handles the importation of Python and MDO extension modules and the definition of the output directory for the results. The MDO extension modules imported are, ’TACS’, ’elements’, ’contitutive’ and ’functions’. The first one is theTACScore code, the second and the third are the extensions with the functions needed to define the finite-element class and the constitutive class. The last one handles the functions needed for auxiliary calculations.

The part 2 has an auxiliary function code to create Tecplot visualization file with the numeration of the nodes in the structural mesh. This is important as it is only when theTACSobject is created that the numeration of the nodes is done. This is required if a nodal point load is to be applied.

Part 3 is the core of the script. It starts with a sub-part used to load the structural mesh file created with the geometry module. There, the variables ’nribs’,’nspars’ and ’ncomponents’ store the number of ribs, spars and components. The second sub-part handles the set-up of the KS function domains, the definition of the design material properties and the finite-element type used in the structural mesh. Part 3.3 has the code for the creation of the TACSobject and KS functions. The first is created assigning six variables to each node, for the six degrees of freedom. Also the number of load cases that with be computed is defined. Then, the KS functions are created for each domain defined above. Part 3.4 is where the user defines the design parameters for each load case. In the example listed in Appendix C, a point load of 500 N is applied to a node at the tip of the wing-box structure. The fifth sub-part operates the setting of the parameters for the solver. Sub-part 3.6 processes the solving of the structural system.

The last sub-part is used to set up the solution files, consisting of the displacements, stresses and strains in the structure.