A framework for multidisciplinary design optimization using isogeometric analysis Austin J. Herremaa , Nelson M. Wieseb , Adarsh Krishnamurthya , Baskar Ganapathysubramaniana , Ming-Chen Hsua,∗ a Department of Mechanical Engineering, Iowa State University, 2025 Black Engineering, Ames, IA 50011, USA b Departments of Physics & Mathematics, Central College, 812 University, Pella, Iowa 50219, USA Abstract While isogeometric analysis (IGA) fundamentally seeks to bridge the gap between engineering design and high-fidelity computational analysis by using CAD-based spline functions as finite element bases, additional computational design paradigms must be taken into consideration to ensure that engineering designers can take full advantage of IGA. In this work, we develop a multidisciplinary design optimization framework that takes advantage of IGA while still abiding by the design paradigms of parameterization, consistent topology within families of designs, and interactivity. In addition to performing parametric design and isogeometric analysis, the framework also utilizes a novel methodology for efficient, high-fidelity result visualization. The entire design lifecycle utilizes a consistent geometry description and is contained within a single software platform: the Grasshopper visual programming interface for Rhinoceros 3D. Due to this unified workflow, multidisciplinary, heuristic design optimization is a natural and relatively simple endeavor. We demonstrate the framework’s design optimization capability on both an internally pressurized tube and a wind turbine blade design, highlighting its applicability across a spectrum of design complexity. In addition to inherently featuring the advantageous characteristics of IGA, the elegant nature of the workflow instantiated in this framework diminishes the obstacles traditionally encountered when performing design optimization based on finite element analysis results. Keywords: Isogeometric analysis; Parametric design; Multidisciplinary design optimization; Rhino and Grasshopper 3D; Visual programming; Wind turbine blade 1. Introduction One of the originally identified advantages of isogeometric analysis (IGA) [1, 2] is its ability to integrate high-fidelity finite element analysis [3] with the engineering design workflow. In ∗ Corresponding author Email address: jmchsu@iastate.edu (Ming-Chen Hsu) Preprint submitted to Computer-Aided Design March 18, 2016 traditional design-and-analysis workflows, approximately 80% of the overall design lifecycle is devoted to finite element mesh generation and creation of analysis-suitable models; only 20% of the remaining lifecycle is spent on performing analysis [4]. The core concept of IGA is the utilization of the geometric basis functions of models in computer-aided design (CAD)—usually non-uniform rational B-splines (NURBS)—directly as the finite element interpolation functions, eliminating the need to generate an additional, geometrically-approximated finite element mesh. These basic principles of IGA theoretically allow designers to analyze, and subsequently redesign and optimize, mechanical components more easily and quickly. The efficient creation of analysis-suitable models of realistic engineering designs, however, remains a barrier even to a design lifecycle that makes use of IGA. This is mainly due to the significant restrictions many isogeometric methodologies place on the design of analysis-suitable CAD models. Thus, while the intent of IGA is to improve efficiency, the tedious process of mesh generation is often merely replaced with another the similarly tedious process of generating analysis-suitable models. Hence, further exploration of the design paradigms surround model generation is required to truly translate the benefits of IGA to the engineering world. There have been previous attempts to improve design-and-analysis frameworks to incorporate IGA. An isogeometric design-through-analysis concept was previously explored in Schillinger et al. [5] based on hierarchical refinement of NURBS and T-splines using the finite cell method [6– 10]. Breitenberger et al. [11] presented an Analysis in Computer Aided Design (AiCAD) concept using NURBS-based boundary representation (B-rep) models for nonlinear isogeometric shell analysis, which included enhancements such as the ability to perform analysis on trimmed surfaces and the use of the penalty method for patch coupling. The AiCAD concept was implemented in CAD software packages such as Rhinoceros 3D (Rhino) [12] and Siemens NX [13]. Additionally, the present work is an extension of our earlier effort [14], where we developed an analysis platform directly within the Rhino CAD environment, utilizing Rhino’s visual programming interface, Grasshopper 3D [15], as the geometry engine. Because IGA offers tight coupling between geometry and analysis, it can be directly extended to perform shape optimization. Wall et al. [16] and Fußeder et al. [17] presented frameworks for structural shape optimization of basic two-dimensional geometries using isogeometric structural analysis and dervitive-based optimization methods, and Moysidis and Koumousis [18] performed shape optimization of plane-stress structures in the context of a hysteric formulation for IGA. Julisson et al. [19] used IGA and Powell’s free-derivative optimization algorithm to perform structural shape optimization of three-dimensional, thin shell structures. Cho and Ha [20], Qian [21], Ha et al. [22], and Kiendl et al. [23] used shape sensitivity analysis to recover optimal shapes through structural analysis, with the latter doing so in three dimensions and Ha et al. [22] utilizing Tsplines. In each of these cases, the locations of designated control points of interest (and control 2 point weights, in some cases) were used as the design variables. Additionally, isogeometric shape optimization has been used to address problems of electromagnetic scattering [24], vibrating membranes [25], heat conduction [26], fluid mechanics [27], and the design of magnetic actuators [28] and other mechanical components [29]. A notable departure from the optimization of the locations and weights of individual points is found in Kostas et al. [30], in which design parameterization is a primary focus and an IGA-based boundary element method provides the basis for optimizing the wave resistance of a T-spline ship hull. In many realistic, large-scale engineering design contexts, multiple analyses from multiple disciplines must often be performed in order to quantify the effectiveness of a particular design. Additionally, the parametric inputs for these designs may be more complex than simple geometric parameters. Martins and Lambe [31] surveyed various methods encountered within the field of multidisciplinary design optimization (MDO), a field of research that studies the application of numerical optimization techniques to the design of engineering systems. Multidisciplinary design optimization is often used to address engineering design problems (see, e.g., [32–39]). Some such problems use traditional finite element analyses and are forced to script mesh generation procedures and manage separate geometry descriptions. While important work has been done in both uniting IGA with CAD software platforms and recognizing the natural ability of IGA to facilitate design optimization, additional work must be done to demonstrate that IGA is relevant and beneficial in the context of modern CAD paradigms. For example, virtually all engineering design software—SolidWorks [40] is a prevalent example— is designed to facilitate parametric design. Many isogeometric design-through-analysis frameworks are based on Rhino, in part because it uses a NURBS-based geometry kernel. However, Rhino does not natively facilitate parametric design. In addition, many CAD platforms incorporate a model feature tree1 , and can intelligently update child design features due to changes to a parent feature, another capability not found in native Rhino. This enables consistent design topology. Modern CAD platforms also prioritize interactivity throughout the design process. Thus, a design-and-analysis workflow that achieves parametric design using design-specific, syntax-heavy, compilation-dependent code, while technically parametric, is not sufficiently interactive for extensive use in many engineering design contexts. The central goal of this work, therefore, is to construct a computational framework that takes advantage of the attractive features of IGA while incorporating the modern CAD paradigms of parametric design, consistent design topology, and interactivity, and facilitates IGA-based, multi1 The feature tree is used to keep track of the different features that are used to model the geometry in CAD. A feature can give rise to new geometric entities such as faces, which can then be used by a child feature to continue the modeling. This also serves as a design history in the sense that certain features can be rolled back or suppressed to make design changes. 3 Parameter Input Design Analysis Post-Processing Visualization Optimization*Toolbox Optimization Figure 1: Overall structure of the isogeometric MDO framework laid out in Grasshopper 3D, a visual programming plugin for Rhino. Optimization procedures can be performed either inside or outside of the Grasshopper environment using various optimization toolboxes, e.g. MATLAB [42], Dakota [43], NLopt [44], Galapagos [15], etc. disciplinary design optimization. The framework is designed to reside within a single software platform to promote workflow consistency, efficiency, interactivity, and cost-effectiveness—in terms of both time and money—of the engineering design process. Rhino is used as the basis for our isogeometric MDO framework since it has a NURBS-based geometry kernel, OpenNURBS [41], and also since it features Grasshopper, a visual programming interface that facilitates parametric, feature-based design in the Rhino environment. The framework is also designed to enable seamless, heuristic design optimization based on IGA results. This paper is outlined as follows. In Section 2, we describe the structure of the design optimization framework, highlighting the salient features of the design, analysis, visualization, and optimization procedures. In Section 3, we demonstrate the benefits and capabilities of the framework by first optimizing a simple tube structure. We then optimize a wind turbine blade design in Section 4 to demonstrate the framework’s ability to promote analysis-driven design of realistic, industrial-scale engineering solutions. In Section 5, we give our concluding remarks. 2. Isogeometric design optimization framework This work is an extension of the work presented in Hsu et al. [14], which took a traditional approach to the model generation and analysis workflow. The work in Hsu et al. [14] required the user to interact with the model within both Grasshopper and the Rhino viewport and to invoke analysis and post-processing procedures via a series of button clicks. The current workflow alternatively resides within the Grasshopper visual programming interface; it prioritizes predominant CAD paradigms, seamless automation of design-and-analysis iteration, and design optimization. 2.1. Overview The general structure of the isogeometric MDO framework can be seen in Figure 1, which demonstrates the cycle of model construction based on parametric input, model analysis, and visualization, all of which are governed by an optimization algorithm. As previously discussed, the 4 platform is based on the CAD software called Rhino [12]. Rhino uses NURBS geometry descriptions and features a variety of numerically stable and efficient algorithms for creating and modifying the NURBS geometry. Rhino’s open-source software development kit (SDK) [45] enables enhanced interaction with and employment of CAD functions. Rhino also features a plugin called Grasshopper 3D [15], a visual programming interface that enables explicit control over Rhino objects as well as both component- and language-based scripting. In the overarching context of the isogeometric MDO framework, Grasshopper is used to create or link geometry algorithms, analysis codes, post-processing operations, and result visualization. Each of these operations can be packaged into a single Grasshopper “cluster”, all of which are shown within the Grasshopper interface in Figure 1. Subsequent sections will explain the contents of each of the relevant components shown in Figure 1. Remark 1. Some readers might correctly recognize that the workflow in Figure 1 looks quite similar to those made possible by ANSYS Workbench [46]. This suggests the present value of such design loops in the real world. Additionally, the present framework presents advantages over Workbench, including a consistent software platform, consistent geometry descriptions, and other inherent advantages of IGA (see Section 2.5.1 for more detail). 2.2. Design The contents of the “Design” cluster in Figure 1 are different for unique design-and-analysis applications. We discuss the elements of engineering model design that we have paid specific attention to in the context of building an optimization-capable IGA framework. Modern CAD platforms have a few characteristics, such as parametric design, maintenance of design topology, and interactivity, which are considered indispensable for efficient model development but which are not sufficiently addressed by most isogeometric design-through-analysis platforms. 2.2.1. Parametric design The ability to establish direct control over parameters is critical to most engineering designers. When using the popular CAD software SolidWorks [40], for example, designers are allowed to directly alter model-defining dimensions such as line length or arc radius as well as geometric constraints such as straightness or tangency. Changing any of these values causes the position and size of the relevant geometric entities to be automatically recalculated such that all user-defined constraints are satisfied. The technical term for this is constraint-based modeling. This simplifies model construction, especially when the model is based on engineering drawings which use relative dimensioning almost exclusively. Rhino is often used to prepare models for IGA because it is built upon a NURBS-based geometry kernel and has been used within the IGA community in the past. However, Rhino does not 5 natively feature these parametric design capabilities, forcing the designer to calculate the absolute position or size of geometric entities themselves. Subsequent model adjustment must be performed in a similar fashion, rather than by the adjustment of relevant model constraints or relations. In the context of IGA, this hinders the extent to which a designer can change an engineering design based on analysis results, a fundamental goal of IGA. In our framework, we utilize the Grasshopper visual programming interface which, among other things, enables parametric control of models within the Rhino software environment. Grasshopper allows the designer to graphically develop an algorithm to create a model using linkages of efficient functions or “components.” The algorithms in our framework are developed such that the desired inputs are the parameters of interest, effectively establishing direct parametric control of the NURBS objects within Rhino. The notion of parametric design can be abstracted using an expression Θ(x), in which x is the vector of parametric design variables and Θ(x) is the algorithmic2 process that generates the design model based on given design variables. In this sense, the general expression Θ(x) might be thought of as a “family of designs.” Some common design variables, especially in the context of IGA, are the NURBS control point locations and weights. So an example design vector xe can be defined as k = 1, 2, . . . , n , xe B {Pk ,Wk }, (1) where P and W denote the control point location and weight, respectively, boldface indicates a spatially dimensioned vector, and n is the total number of control points. We could then establish an algorithm, Θe (xe ), for a particular design application. The use of different sets of design variables and generative algorithms corresponds to different design scenarios. For example, the family of tube designs investigated in Section 3 and the Grasshopper algorithm Θt (xt ) for generating these designs is shown in Figure 2. Additionally, the family of wind turbine blade designs investigated in Section 4 and the Grasshopper algorithm Θb (xb ) for generating those designs is shown in Figure 3. More information on the design variables used in these cases is discussed in the corresponding example sections. 2.2.2. Consistent design topology Engineering designers that routinely use CAD software platforms have also come to rely on their ability to retain particular relationships within a model such that design topology is maintained regardless of the parametric input. This enables a designer to make design changes easily or to generate new designs while maintaining design intent, which is critical for any platform for which rapid or automatic design-and-analysis iteration is the goal. One of the most common ways 2 In this context, we use the word “algorithmic” to refer to a set of generative or manipulative geometric or otherwise programmatic functions which, when executed in sequence, produce a particular engineering design model. 6 2. k-refinement, loft 1. Construct NURBS curve 3. Duplicate/rotate patch, build bending strips Figure 2: Family of tube designs (bottom) and associated Grasshopper generative algorithm, Θt (xt ) (top). software platforms achieve this is by allowing the designer to roll back a model’s construction history or feature tree to edit a particular step in the construction process. All steps that were performed after that particular step are then re-executed relative to the edits made in the prior step. This capability is common in platforms like SolidWorks but is not featured in Rhino. An alternative strategy for maintaining design topology is to explicitly edit the underlying algorithm used to construct a particular model. In the algorithmic model construction paradigm, rather than rolling back to and editing a particular step, the geometric algorithm itself is modified to achieve the desired changes. Rhino does not natively feature this capability either. The Grasshopper plugin for Rhino, however, is designed entirely around the notion of algorithmic design, and model manipulations are implemented through the restructuring of the respective generative algorithm itself. Design topology can therefore be intentionally defined by the designer. The difference between a platform that does maintain consistent design topology and one that does not is further emphasized in Figure 4. While this distinction may seem trivial, it is critical to the designer for maintaining design intent while editing complex constraint- and parameter-based 7 1. Format and distribute input 3. Loft curves 2. Interpolate, move, scale, and twist curves Figure 3: Family of blade designs (bottom) and associated Grasshopper generative algorithm, Θb (xb ) (top). models. Remark 2. For the example in Figure 4, the design topology can be maintained algorithmically by building the tube (surface one) first, and then building the flange (surface two) based on the lower edge of the tube. Any time a parametric design change is made, such as a new tube radius, the entire algorithm recomputes in the same manner. Thus, a new tube (surface one) with a new radius is built, and the flange (surface two) is rebuilt based on the new lower edge of the tube. This ensures that the two surfaces will be coincident at this edge; thus the topology of the design remains consistent regardless of dimensions (as in the bottom case in Figure 4). If these surfaces are constructed separately without regard to topology, changing the size of the tube would not change size of the flange (as in the top case in Figure 4). 2.2.3. Interactivity Interactivity is important in the engineering design process not only because it improves the designer’s aesthetic experience, but also because immediate visual feedback and intuitive inter8 1 2 1 2 1 2 Figure 4: Illustration of the different designs achieved when design topology is maintained (top case) versus when design topology is not maintained (bottom case). faces improve the efficiency of the design process. This is yet another reason why we choose to design our computational framework around Grasshopper; rather than providing precise, robust parametric design through syntax-heavy code, as is done in other works, the visually programmed generative algorithms are simple to edit, provide visual feedback, and do not require compilation. This point may also seem trivial, but it is important to consider if we intend to abide by the original spirit of IGA. In essence, IGA and the notion of interactivity in the design context serve the same purpose: to improve both the quality of design-based feedback and to deliver such feedback efficiently. Thus, to focus on IGA without considering the interactive design context may not result in a net improvement in the overall design-and-analysis workflow. Remark 3. Geometry is generally the primary design focus within the IGA community. Geometry is only one aspect of a complete engineering design definition, however, and other characteristics, such as material properties, should also be considered. When we apply this framework to wind turbine blade design in a future section, for example, the composite layup of the blade is also fully parametric. While the details of this particular aspect of wind turbine blade design are not the focus of this paper and will not be discussed further, we emphasize the importance of considering all aspects of design when it comes to the development of application-specific parametric modeling algorithms. 2.3. Analysis Having established the utilization of a platform that is both NURBS-based and facilitates efficient model design, we incorporate IGA into the overall workflow as is indicated by the “Analysis” cluster in Figure 1. The overall procedure in Grasshopper recognizes new parametric input, constructs the model, outputs the relevant information such as control point locations and knot vectors, 9 and automatically calls the relevant analysis code through a customizable C# scripting component. The applications currently of interest to the authors are relatively thin structures. For this reason, the rotation-free Kirchhoff–Love thin shell variational formulation is utilized for both the pressurized tube and the wind turbine blade applications in Sections 3 and 4. The isogeometric Kirchhoff–Love thin shell formulation was first proposed by Kiendl et al. [47] and further refined in Kiendl et al. [48] to handle regions where the mapping reduces to the C 0 level using the bending strip approach. The formulation was reformulated for composite shells in Bazilevs et al. [49] and was shown to accurately capture the dynamic kinematic behavior of wind turbine blades in Korobenko et al. [50] and Bazilevs et al. [51]. The formulation may be stated as: find the displacement of the shell midsurface y ∈ Sy , such that for all test functions w ∈ Vy , Z Γ0s w · hth ρ0 ! Z Z d2 y ε ε κ κ ε κ · + K · + K − f dΓ + δε K dΓ + δκ K dΓ coup bend exte coup dt2 Γ0s Γ0s Z Z w · h dΓ = 0 , + δκκ · Kbestκ dΓ − Γb0 (2) (Γ0s )h where Sy and Vy denote the trial and test function spaces, respectively, for the structural mechanics problem, Γ0s and Γb0 denote the shell midsurface and bending strip domain in the reference configuration, respectively, hth is the shell thickness, ρ0 is the through-thickness-averaged shell density, ε and κ are the membrane strain and curvature change of the midsurface, respectively, written in the local Cartesian system, δεε and δκκ are their variations, h is the prescribed traction on (Γ0s )h , f denotes body forces, Kexte , Kcoup , and Kbend are the extensional, coupling, and bending stiffnesses, respectively, calculated using laminated plate theory [52], and Kbest is the bending stiffness of the bending strips. We denote this weak form of the system of partial differential equations that describe the physics as B(y) = 0. We emphasize that it would be entirely possible to replace the Kirchhoff–Love shell variational formulation used here with many other isogeometric methods, such as isogeometric shell formulations [53–57], implementations of the boundary element method [58–61], and finite cell [5, 8, 9] or immersogeometric techniques [62–64]. Much of the work in achieving such implementations would consist merely of ensuring that the IGA solver can recognize new geometries and communicate analysis results to the Grasshopper environment. It is also feasible to perform isogeometric analysis on solid volumetric geometries, as was done with a gas turbine in Hsu et al. [14] modeled using trivariate NURBS. Because Grasshopper and Rhino do not support trivariate splines natively, this is achieved through unique surface construction techniques and preprocessing that builds three-dimensional designs based on a network of two-dimensional surfaces. This points to a rich and fruitful avenue of future research and development. 10 2.4. Visualization Visualization procedures, contained within the “Visualization” cluster in Figure 1, are performed within Grasshopper such that solution fields are visualized in Rhino using the same visualization mesh methodology discussed in Hsu et al. [14], although the implementation has been streamlined and is explained here in more detail. While post-processing and visualization of analysis results would generally be considered a mere matter of implementation in a finite element context, visualizing and quantifying IGA results—which are commonly defined as coefficients for each control point—across the entire solution surface presents some challenge. This is especially relevant if, within the design optimization loop, a discretely defined result, such as maximum inplane strain, is to be used as an optimization constraint or objective. Grasshopper features visualization meshes for the display of color contours on geometries. A color can be assigned to each mesh point, defined by parametric (u, v) coordinates. Thus, we wish to evaluate a particular solution parameter, such as maximum in-plane strain, at each mesh point location defined by parametric (u, v) coordinates. Also, we note that, in IGA, solution coefficients may be assembled to each control point; we denote these solution coefficients Ki, j , where i and j correspond to the index of the control point in the u and v directions, respectively. A NURBS surface of degree p in the u direction and degree q in the v direction has the form S(u, v) = mc nc X X Ri,p,qj (u, v)Pi, j , (3) i=1 j=1 where the basis function Ri,p,qj (u, v) is defined over the (u, v) parametric space, nc and mc are the total number of control points in the u and v directions, respectively, and a net of control points is given by Pi, j . Further details regarding the calculation of Ri,p,qj (u, v) can be found in Piegl and Tiller [65], and an overview of NURBS in the context of IGA is given by Hughes et al. [1]. Rhino’s C# programming library [66], which can be referenced by the C# scripting components in Grasshopper, contains a function for the construction of a NURBS surface, S(u, v), given the constituents of the basis function Ri,p,qj (u, v) (such as knot vectors, surface degrees, and control weights) and the control points Pi, j . Because we seek to evaluate our solution, rather than the geometry’s physical location, at the mesh points, we can utilize these same C# functions to construct not a physical surface, S(u, v), but a mapping of our solution variable: U(u, v) = mc nc X X Ri,p,qj (u, v)Ki, j , (4) i=1 j=1 where Ri,p,qj (u, v) is exactly the same as in the case of the physical surface, but the solution coefficients, Ki, j , are used in place of the control points Pi, j . This process constructs a solution “surface”, 11 Figure 5: Grasshopper implementation of visualization methodology. U(u, v), which may be evaluated for each mesh point. Having obtained a result value for each mesh point, the values are assigned a color according to a relative color scale and then visualized in the Rhino viewport via a visualization mesh. The Grasshopper implementation of this process is shown in Figure 5. The solution mapping, U(u, v), is constructed within the C# scripting component in the top left, whereas it is evaluated at the mesh point coordinates in the components in the upper right. The solution mesh is constructed in the components in the bottom left of the figure and is then colorized according to the evaluated solution values using the bottom right components. This colorized solution mesh is then displayed in the Rhino viewport. The density of the visualization mesh can also be varied within the Grasshopper definition since U(u, v) itself is evaluated within the definition. 2.5. Optimization The “Optimization” block in Figure 1 indicates the use of an optimization toolbox to drive the iterative design-and-analysis process. In the introduction of this paper we discussed the notion that, although the fundamental integration of CAD and CAE paradigms using IGA suggests a more significantly more iterative approach to engineering design and analysis, practical limitations have hindered the establishment of IGA-based design-and-analysis workflows, and thus, effective optimization of design parameters. One of the key goals of creating a parameterized design model in a design-through-analysis framework is to allow the designer to understand the influence of familiar design parameters on derived design values of interest that are often obtained through computational analysis. This can be done, and is often still done, manually; the designer performs analysis, views the result, adjusts the design, and repeats as necessary until the desired result 12 is achieved. If the design-and-analysis workflow is made completely seamless using IGA and parametric design techniques, however, as is the case with the presented framework, we can further leverage computational power using automated optimization methods which perform design-andanalysis iteration. Rather than writing our own optimization code or using the limited and non-transparent optimization packages offered through Grasshopper, we link the design-through-analysis platform with MATLAB, allowing us to make use of the many optimization techniques incorporated into MATLAB’s optimization toolbox [42]. Alternative optimization techniques, including techniques native to Grasshopper, could also be used. MATLAB provides input parameters, allows the designthrough-analysis framework to build a model and perform analysis, and then retrieves relevant output values from Grasshopper to inform future iterations. This process is entirely automated and enables the optimization algorithm to search within a parameterized family of designs, Θ(x), freely. Importantly, both local—gradient, and gradient-free—optimization methods as well as global—meta-heuristic, and multi-start—optimization methods can be seamlessly integrated into this paradigm. 2.5.1. Advantages of IGA in optimization As discussed previously, one traditional barrier to analysis automation in the finite element context is the difficulty associated with generating finite element meshes for complex geometries, especially curved shell geometries, a problem that is usually solved through the careful scripting of mesh generation procedures. A key benefit of a design optimization framework that makes use of IGA is that such meshing can be avoided entirely, assuming the generative algorithm is designed carefully such that analysis suitability is ensured. The geometry can then be directly referenced for analysis. Isogeometric analysis also reduces the computational time required for the analysis of a given design. The benefits of this time reduction are especially important in the context of design optimization, where the reduction of a single function evaluation by a minute can translate to saving hours of optimization time. Isogeometric analysis is capable of more quickly producing results that are equally accurate to those produced by traditional finite element methods. This was established when Benson et al. [55] demonstrated that analysis of a roof using 450 quadratic NURBS elements could produce results in 2.90 CPU seconds that are approximately the same as those produced by an analysis using 4,512 linear Belytschko-Tsay elements, requiring 10.5 CPU seconds. It is therefore apparent that IGA is an apt tool in the context of MDO, where limiting analysis time—without unnecessarily sacrificing analysis accuracy—is critical. 13 3. Tube profile optimization In order to demonstrate the effectiveness of the isogeometric MDO framework, we first optimize a design with a known solution: the cross-sectional geometry of an internally pressurized tube. 3.1. Formulation of fitness function We seek to solve the general optimization problem that is encoded in a cost functional Jt (y; xt ). The cost functional depends explicitly on the displacement field variables, y, which are evaluated via solving the PDE, B(y) = 0. Additionally, the cost functional depends implicitly on the design variables (usually via the field variables y(xt )). The resulting PDE-constrained optimization problem is posed as follows: minimize Jt (y; xt ) subject to B(y; xt ) = 0 , and xt ∈ Ωt . Jt (y; xt ), defined below, is calculated for each design-and-analysis iteration; xt is the vector of design variables, defined in the succeeding section; and Ωt is the vector of allowable ranges for each design variable. Recall, for the family of tube designs, we employ the generative algorithm Θt (xt ), shwon in Figure 2, which acts as a preprocessor for the analysis of each design producing the values that allow Jt (y; xt ) to be calculated. For many structural analyses, as is the case here, it is reasonable to minimize the maximum strain in a design because, for isotropic materials in particular, strain is directly related to many popular failure criteria. In the isogeometric Kirchhoff–Love thin shell formulation [47, 67], the Green–Lagrange strain, E, is separated into a constant part, due to membrane action, and a linearly varying part, due to bending, as follows: E = ε + ξ3κ (5) where ε denotes the membrane strain of the midsurface, κ denotes the change in curvature of the midsurface due to bending, and ξ3 is the through-thickness coordinate. For this example the expected optimal cross-sectional shape is a circle because it is capable of supporting the entirety of the internal pressure load with only in-plane (membrane) stretching and zero bending action. We can therefore minimize Jt (y; xt ) = κ max (y; xt ) , 14 (6) Figure 6: Design variable r definition. where y is the displacement and κ max (y; xt ) is the maximum component of the maximum curvature change present in the design generated by the design variables xt . 3.2. Definition of design parameters Much isogeometric shape optimization literature focuses on the optimization of control point locations. While this is reasonable for small-scale problems like this one, it is desirable to reduce the number of design variables in order to produce only designs within a particular design space of interest. For the internally pressurized tube case we wish to constrain the design space such that it contains only tubes with a uniform cross-section and that are symmetric about two perpendicular planes. Therefore, as Figure 6 illustrates, we create one quarter of the cross-section using a NURBS √ curve featuring three control points with weights of {1.0, 22 , 1.0}. The two end control points are fixed at a radial distance of one unit from the origin, and the middle control point is allowed to move radially towards or away from the origin. Therefore, for this problem, the design variables are defined xt B {r}, (7) where r is the radial distance from the origin to the second NURBS control point as illustrated by Figure 6. This parameterization allows both square and circular cross-sections to be generated by varying a single design variable. The planar curve is then extruded in the perpendicular plane to generate a surface; the surface is duplicated and rotated to create the remaining three quarters of the tube. The four quarters, each a single patch, are coupled using the bending strip method [48]. This generative geometric procedure, Θt (xt ), is shown in Grasshopper in Figure 2. 15 1 2 Current Best 5max (y; xt ) 1.6 0.6 reference r = p 2 1.4 0.4 1.2 0.2 1 0 -0.2 0 Design Variable r 1.8 0.8 reference 5max (y; xt ) = 0 0.8 5 10 15 0.6 20 Iterations Figure 7: Design variable r and current lowest maximum curvature change versus number of pattern search iterations. 3.3. Simulation setup and solution strategies Isogeometric analysis mesh density is selected using k-refinement3 (degree three in the u and v parametric directions) so as to balance the need for accuracy and the desire to maintain low analysis time, a critical factor for heuristic optimization techniques. A thickness of 2 cm is used with a Young’s modulus of 0.4 GPa and Poisson’s ratio of zero. The non-variable portions of the cross-sectional radius are fixed at 1 m and the height of the tube is 3 m. An internal pressure of 10 kPa is applied and a single control point is fixed to constrain the structure. We directly apply Newton–Raphson iterations to converge the residual of this static problem. For each Newton–Raphson iteration, used to converge geometric nonlinearities, the linear system is solved using an iterative, diagonally preconditioned, conjugate gradient solver. Note that, in this case, there is only one design variable, and thus, the fitness function is one dimensional. Any one dimensional function minimization method in MATLAB can be used. For consistency with the next design problem, we utilize the pattern search algorithm. We choose pattern search methods because they are gradient free, have rigorous convergence qualities, and because they generally require fewer function evaluations than global methods to achieve at least a local minimum [42]. 3.4. Results and discussion The problem is run using 16 GB RAM and a single core of a 2.2 GHz Intel Core i7 processor. A total of 35 designs are evaluated; each function evaluation takes about 25 seconds, yielding a total optimization time of about 15 minutes. This process could theoretically be expedited by 3 The processes of knot insertion (h-refinement) and order elevation (p-refinement) do not commute. k-refinement, proposed in Hughes et al. [1], elevates the order of the original curve and then inserts a unique knot value. This process maintains the elevated-order continuity of the curve at the newly inserted knot. 16 Iteration Undeformed Deformed Iteration Undeformed Deformed max(! ") 0 4 1 20 Figure 8: Undeformed and deformed shapes of current best tube design at selected optimization iterations. Color contour denotes maximum component of curvature change. parallelizing structural analysis, optimization procedures, or both. Figure 7 shows the design variable r plotted versus the fitness function, the maximum curvature change at any point in the design, for this problem. It is clear that throughout optimization the √ design variable r converges towards the reference solution of 2, the control point radial position at which a perfectly circular cross-section is achieved. Additionally, the maximum curvature change, κ max (y; xt ), converges to approximately zero. These results are corroborated by Figure 8, which shows the strain contours on the undeformed and deformed geometries of the current best design at various points throughout the optimization process. Note that the maximum curvature change occurs in the initial, perfectly square crosssection, whereas after the last iteration, iteration 20, there is zero curvature change even after loading. The results are in good agreement with the expected values and demonstrate the framework’s ability to optimize simple parametric designs using IGA and heuristic optimization techniques. 4. Wind turbine blade example The chord profile of the NREL 5MW wind turbine blade is optimized using the isogeometric MDO framework, fully demonstrating its potential applicability to actual engineering designs. More specifically, we use the NREL 5MW wind turbine blade [68] as a benchmark and then optimize the variation of a subset of its design parameters. 17 4.1. Formulation of fitness function The optimization problem is posed as follows: minimize subject to Jb (y; xb ) B(y; xb ) = 0 , xb ∈ Ωb C(y; xb ) ≤ 0 where Jb (y; xb ) is the fitness function, defined below, which is calculated for each design-andanalysis iteration, xb is the vector of design variables, Ωb is the vector of allowable ranges for the design variables, and C(y; xb ) is a set of inequality constraints that the optimized design must satisfy. It can be difficult and complicated to formulate a meaningful cost function for some complex engineering designs, although function formulation is critical to the quality of the optimization results. In the case of wind turbine blades, various quantities that stem from the creation and multidisciplinary analysis of a computational model may be of interest to the designer. An effective fitness function unites these values in a logical and meaningful way, essentially ranking the many design alternatives according to designer-defined objectives. For the sake of demonstration, we optimize wind turbine blade design variants on the basis of the following relation, a relatively common measure used in the wind energy community: SP = CC , AAR (8) where CC is the total capital cost of the machine, AAR is the average annual return, and S P is the simple payback period for the machine [69]. The simple payback period, as implied by this definition, is the amount of time that it takes for a wind turbine’s total revenue production to match its original capital investment. A reduction of payback period indicates that a turbine will be able to produce profit over a larger portion of its useful life. Rather than computing the full numerical capital cost and average annual return for every blade design, we can instead quantify the effect a particular variation of a baseline design would have on the simple payback period. We consider the following equation, defined for each blade design variant: S P(xb ) = CC0 + VCC (xb )(CC0 ) 1 + VCC (xb ) = C0 , AAR0 + VAAR (xb )(AAR0 ) 1 + VAAR (xb ) (9) where the subscript zero on CC and AAR indicates reference values that are obtained from analysis of the original 5MW blade design, VCC (xb ) indicates the fractional variation of the capital cost as 18 a result of design variation, and VAAR (xb ) indicates the fractional variation of the average annual return as a result of design variation. The constant C0 entails all components of the original capital cost, CC0 , and original average annual return, AAR0 , which are unaffected by the blade design variation xb . The values that most directly influence the simple payback period that are outputs of blade model analysis are the blade’s mass and power output; mass is related to VCC (xb ) in the numerator of Eq. (9) and power is related to VAAR (xb ) in the denominator. We first consider the numerator and the influence of mass variation. In IRENA [70] the International Renewable Energy Agency (IRENA) states that, for 5MW applications, the blades make up 22.2% of the cost of the machine itself. It further states that 51% of the total capital costs of offshore wind turbine installations is made up by the cost of the machine; we therefore surmise that 11.32% of the total installation capital cost is due to the blades. We recognize that other sources may cite varying percentages, but the value of 11.32% is sufficient for this example. If we assume that the mass of the blade is proportional to its cost, we can formulate the variation in the capital cost due to blade variation as follows: ! M(xb ) − M0 , (10) VCC (xb ) = 0.1132 M0 where M(xb ) indicates the mass of a blade variant and M0 indicates the original NREL 5MW design’s mass. We now consider the denominator of Eq. (9), containing AAR. The average annual return, AAR, is equal to Ea De where Ea is the annual energy production and De is price obtained for electricity. We may further recognize the annual energy production Ea is the product of the nameplate capacity of a machine, P, and the capacity factor, CF. Thus, AAR = (P)(CF)(De ). Because we are considering blade design variants that might be used interchangeably in the same operating environment, we consider De and CF to be constant and lump them into C0 , allowing us to formulate the variation in average annual return due to blade variation as VAAR (xb ) = P(xb ) − P0 . P0 (11) Substituting Eqs. (10) and (11) into Eq. (9) we are left with S P(xb ) = C0 1 + 0.1132 1+ M(x )−M b M0 P(xb )−P0 P0 0 . (12) Because we desire to minimize Eq. (12) and because C0 , a constant, is proportionally related to the rest of the equation, we can finally define our fitness function as the non-constant portion of 19 Eq. (12), or Jb (y; xb ) = 1 + 0.1132 1+ M(x )−M b M0 P(xb )−P0 P0 0 . (13) The value of Jb (y; xb ) will correspond to the fractional value of the original payback period; the original 5MW blade design will have a Jb (y; xb ) of 1.0 or 100% the reference payback period. The right-hand side of Eq. (13) does not incorporate the displacements, y, of the blade explicitly since we consider the displacements as part of the constraints in this particular example. This is the final fitness function we minimize according the the design parameters defined in the following section. Remark 4. We note that the simple payback period (S P) is not the only metric used to judge overall cost efficiency of wind turbines. Other more sophisticated metrics include the cost of energy (COE) and levelized cost of energy (LCOE), and could be used in a similar fashion. S P was used as a simple demonstration of a multidisciplinary objective. Remark 5. In our efforts to limit the scope of this optimization problem we ignore certain factors which would not be superfluous in an actual blade design context. Such factors include the effect of blade design on power production across the entire possible range of wind speeds, the effect of blade mass on tower cost, the actual loads that may be incurred due to differing geometries and wind conditions, etc. 4.2. Definition of design parameters and constraints While simple geometries are usually described using control point locations and weights, such fundamental geometry descriptions are intractable as primary descriptors of more complex models. More highly abstracted parametric relations are established for this reason. Wind turbine blades are generally constructed according to a set of design parameters which are defined at discrete locations along the blade. The geometric parameters are usually the radial location of the section along the blade, the chord length, airfoil shape, and twist degree. The Grasshopper algorithm for generating wind turbine blades is show in Figure 3. For this simple optimization problem we focus on a single parameter, the chord length, which has definite implications for both blade mass and power production. As can be seen in Jonkman et al. [68] the original 5MW blade has nineteen locations, or “stations”, at which the design parameters are defined, corresponding to nineteen chord lengths along the blade span. Rather than use these nineteen chord lengths as the design parameters for our optimization problem (this would still be a relatively large number of dimensions), we use intelligent parameterization to reduce the dimensionality of the design space. We do this by creating a variation profile constructed from a quadratic B-spline of six control points evenly spaced along the 20 Chord Length Initial Profile Profile Variation New Profile P2 P4 P1 P3 Blade Span Figure 9: Demonstration of strategy for variation of chord profile using reduced number of parameters. Internal control points of a quadratic B-spline are moved and the variation profile is added to the original profile. Original blade geometry is shown in black (second from bottom) and new blade geometry is shown in blue (bottom). blade span as shown in Figure 9. Varying the four internal control points in the direction of chord profile size allows semi-local control over the chord profile. The value of the variation profile at each of the nineteen cross-sectional locations along the blade span is added to the original profile to generate a new profile. The design variables for this example are therefore defined: xb B {Pi }, i = 1, . . . , 4, (14) where Pi is the vertical movement in Figure 9 of each of the four internal control points. The generative algorithm Θb (xb ), excluding the algorithm for chord profile variation, is shown in Figure 3. The blades in Figure 3 were generated using this variation approach. An additional consideration for many optimization problems is a set of constraints. While the fitness function Jb (y; xb ) provides an explicit relationship between blade mass and power production, it does not take into account other potential constraints such as stress and strain—which are the reason for performing structural analysis in the first place—or global kinematics. Because we are performing our optimization on the basis of design variation, we introduce such constraints in the form of penalties, or an arbitrary value of sufficient size which is added to the fitness function if a constraint is violated. In our studies we consider two such constraints: the maximum tip deflection of the blade, which is associated with tower clearance, and maximum in-plane strain. Two constraint cases are optimized and discussed: 1) tip deflection is equal to or less than original design’s tip deflection and 2) tip deflection is equal to or less than original design’s tip deflection 21 Figure 10: Simplified composite layup used for wind turbine optimization. Green color (top) indicates base unidirectional carbon across entire blade, blue color (middle) indicates root buildup of SNLTriax, and purple color (bottom) indicates spar cap region made up of additional uni-directional carbon. and maximum in-plane strain is equal to or less than original design’s maximum in-plane strain. 4.3. Simulation setup and solution strategies Structural analysis is performed on the NREL 5MW wind turbine blade [68] and design variants Θb (xb ) as follows. A uniform flapwise traction of 250 Pa is applied in the reference configuration. While this a considerable simplification of the actual aerodynamic loads the blades might experience, this approach mimics some fundamental trends such as higher loads on wider blades. A simplified composite layup is used and consists of some of the materials found in Sandia National Laboratory’s composite layup definition for the NREL 5MW blade [71]. Basic material zones—base layup, root, and spar cap—of uniform thickness are defined, shown in Figure 10. A primarily carbon structure is developed; the entire blade surface consists of uni-directional carbon with additional uni-directional carbon in the spar cap region and SNLTriax added to the root. Material properties can be seen in Resor [71]. Zone thicknesses are chosen such that a reasonable mass and structural response are produced. Additionally, because the geometry of wind turbine blades is also critical to the machine’s power production capability, we use Grasshopper to incorporate an additional analysis code, NREL’s aero-elastic engineering tool called FAST [72], which will allow us to approximately calculate P(xb ) for a given design. FAST uses a sophisticated implementation of blade element momentum theory (BEM) to quickly produce an aerodynamic torque prediction for a realistic 5MW setup. The code is based on purely parametric input, so it is easily incorporated into our framework. We base our FAST analyses on a standard 5MW setup described in Jonkman et al. [68] with a no-shear wind speed of 12 m/s, the speed at which the turbine should be operating at rated power. As in the previous example, IGA mesh density is selected using k-refinement (degree three in the u and v parametric directions) so as to balance the need for accuracy and the desire to reduce analysis time. Of course, if a higher degree of accuracy for each function evaluation is required, the mesh density can be increased, also increasing overall optimization time. For this dynamic 22 Table 1: Summary of results of interest for original and optimized designs. Only tip deflection is constrained for the first case, whereas both tip deflection and maximum strain are constrained for the second case. The overall payback period is reduced in both cases although, as expected, constraining maximum strain does temper the improvement. Design Original Case 1 Case 2 Func. Evals 289 141 Tip Defl. (m) 1.11 1.11 0.96 Max. Strain 0.00163 0.00213 0.00163 Mass (kg) 16,557 19,588 18,160 Power (kW) SP 5,521 100.00% 5,902 95.69% 5,650 98.79% problem, the algebraic problem is addressed by a direct application of Newton–Raphson iterations to converge the residual at each time step. As before, for each Newton–Raphson iteration, used to converge geometric nonlinearities, the linear system is solved using a diagonally preconditioned conjugate gradient method. The fitness function is again minimized using MATLAB’s generalized pattern search (GPS) algorithm with positive 2N basis and mesh tolerance of 0.01. 4.4. Results and discussion As in the previous example, the problem is run using 16 GB RAM and a single core of a 2.2 GHz Intel Core i7 processor. Each design evaluation takes approximately 5.4 minutes. In the first constraint case, a total of 289 designs are evaluated yielding a total optimization time of about 26 hours. In the second constraint case, a total of 141 designs are evaluated yielding a total optimization time of about 12.7 hours. Again, this process could be expedited by parallelizing structural analysis, optimization procedures, or both. Tabular results of solution values of interest are shown in Table 1. Graphs demonstrating both the optimization history of the fitness function value for each constraint case and the optimized chord profiles for each constraint case are shown in Figure 11. The original and optimized blade geometries and strain distributions are shown side by side in Figure 12. Table 1 shows that both optimizations yielded a design with a theoretical payback period of slightly lower than the original payback period: a reduction of approximately 4.3% for the first constraint case and approximately 1.2% for the second constraint case. The difference between these two results is reasonable since the second case takes maximum strain, a potentially important factor depending on the exact design scenario, into account. Both optimized designs tend towards larger overall profiles, increasing both mass and potential power output. Because power input increase is inversely related to the payback period in the fitness function, Eq. (13), and because it is weighted more heavily than mass, it is reasonable that an increase in both would be justifiable from a cost perspective. The right side of Figure 11 provides greater insight into the salient design trends in these scenarios. The first optimized design has an increased chord length across the majority of the wind turbine blade’s span, creating greater potential for aerodynamic torque production. In terms 23 1 1st Constraint Case 2nd Constraint Case 0.99 Chord Length (m) Current Best Jb (y; xb ) 5 0.98 0.97 0.96 0.95 1st Constraint Case 2nd Constraint Case Original Design 6 4 3 2 1 0 0 10 20 30 40 50 Iterations 0 10 20 30 40 50 60 Blade Span (m) Figure 11: Iterative history of best fitness function value for each constraint case (left) and chord profiles of original and final optimized designs (right). of the fitness function, the corresponding increase in blade mass is easily offset by the improved aerodynamic torque and power production. Although there is a greater amount of force across the entirety of the blade, the tip deflection is the same as the original because greater stiffness is achieved geometrically. The maximum strain, however, near the transition zone between the root and the aerodynamic portion of the blade, is higher, which may be undesirable. The maximum in-plane strain is also constrained for the second optimization. The second optimized design, like the first optimized design, is generally wider to increase energy capture. However, rather than being wider across the entire span, the second optimized profile is larger primarily from 20 m to 40 m. The larger size in this zone enables higher aerodynamic torque production without producing the significant bending moment that a larger outer chord size would have the potential to produce. Relative strain distributions and blade shapes are shown in Figure 12; we emphasize the second optimized design’s similarity to the original design in regards to strain distribution. The wind turbine blade example clearly demonstrates the benefits of using high-fidelity IGA and optimization in the design context. Without giving special attention or apriori “knowledge” to the system about particular design concepts that might be intuitive to human designers, the system is able to produce designs that align with human judgment—such as increasing chord size where energy capture potential is high or varying root size according to strain specifications—but in a more precise and less laborious way. 24 Original Design 1st Constraint Case 2nd Constraint Case Figure 12: Comparison of original and optimized blade shapes (shown in their most deformed state) and strain distributions. The principal in-plane strain with the highest absolute value between the upper and lower shell surfaces is plotted. 5. Concluding Remarks We presented a computational framework for multidisciplinary design optimization using isogeometric analysis. In Section 2 we summarized the principal features of the computational framework, emphasizing the importance of considering predominant design paradigms when attempting to bridge the gap between CAD and CAE. The framework is based on Grasshopper 3D, a visual programming interface that abides by and uniquely frames a number of important design philosophies, and also contains simple and flexible geometry manipulation functions that enable the parametric generation of models suitable for IGA. The framework also features the implementation of a novel method for high-fidelity result visualization within Rhino 3D. In the context of this unified design framework, which features consistent geometry descriptions throughout design and analysis, heuristic design optimization is a natural and beneficial addition. In Section 3 we demonstrate the framework’s capability to accurately optimize a standard pressurized tube design, a design parameterized using the standard IGA notion of control point locations. In Section 4 we consider a more realistic design scenario with more highly abstracted design parameters: the design of a wind turbine blade. Such extension does not require fundamental restructuring of the isogeometric MDO framework and instead merely requires the development of the Grasshopper design algorithm Θb (xb ) for wind turbine blades, a relatively simple task for experienced designers, selection of an appropriate IGA methodology. We optimize the theoretical payback period of a 5MW wind turbine according to a variation of the wind turbine blade design. Under the given assumptions we showed that the payback period could be reduced by approximately 1.2% in the most conservatively constrained optimization case. Even this small percentage improvement could yield an additional profit on the order of 12.5 million dollars over the life of a 25 large-scale, offshore wind farm4 . The optimization also reveals analysis-based trends which might be useful to the designer. Overall, this framework demonstrates how the benefits of IGA can be leveraged in the engineering design context to generate optimized designs and design alternatives based on high-fidelity structural analysis, reducing designer labor. One of the fundamental goals of computational analysis and design is, simply stated, to achieve optimized designs before experimentation or production even begin. In actual practice, however, the state of the modern engineering work flow is a significant barrier to the realization of this goal. This work directly addresses the problems of not merely analysis and geometry, which are well addressed by much of the work being done in IGA, but analysis and the design environment itself. Addressing these issues eases the overall process of high-fidelity, multidisciplinary design optimization. Acknowledgements A.J. Herrema was supported by the U.S. National Science Foundation (NSF) Grant No. DGE1069283 which funds the activities of the Integrative Graduate Education and Research Traineeship (IGERT) in Wind Energy Science, Engineering and Policy (WESEP) at Iowa State University. N.M. Wiese was supported by the NSF Grant No. EEC-1263243 which funds the activities of Research Experiences for Undergraduates (REU) in the area of Microscale Sensing, Actuation and Imaging (MoSAIc) at Iowa State University. M.-C. Hsu was partially supported by the ARO grant No. W911NF-14-1-0296. This support is gratefully acknowledged. References [1] T. J. R. Hughes, J. A. Cottrell, and Y. Bazilevs. Isogeometric analysis: CAD, finite elements, NURBS, exact geometry, and mesh refinement. Computer Methods in Applied Mechanics and Engineering, 194:4135–4195, 2005. [2] J. A. Cottrell, T. J. R. Hughes, and Y. Bazilevs. Isogeometric Analysis: Toward Integration of CAD and FEA. Wiley, Chichester, 2009. [3] T. J. R. Hughes. The Finite Element Method: Linear Static and Dynamic Finite Element Analysis. Dover Publications, Mineola, NY, 2000. 4 This dollar value is calculated using the Thornton Bank offshore wind farm, made up of 60 turbines with a 5 MW capacity, as a reference [73]. An offshore wind farm capacity factor of 42.4% is used [74] with an assumed price of electricity of 0.11 $/kWh. 26 [4] Y. Bazilevs, V. M. Calo, J. A. Cottrell, J. A. Evans, T. J. R. Hughes, S. Lipton, M. A. Scott, and T. W. Sederberg. Isogeometric analysis using T-splines. Computer Methods in Applied Mechanics and Engineering, 199:229–263, 2010. [5] D. Schillinger, L. Dedè, M. A. Scott, J. A. Evans, M. J. Borden, E. Rank, and T. J. R. Hughes. An isogeometric design-through-analysis methodology based on adaptive hierarchical refinement of NURBS, immersed boundary methods, and T-spline CAD surfaces. Computer Methods in Applied Mechanics and Engineering, 249–252:116–150, 2012. [6] J. Parvizian, A. Düster, and E. Rank. Finite cell method. Computational Mechanics, 41(1): 121–133, 2007. ISSN 0178-7675. doi: 10.1007/s00466-007-0173-y. URL http://dx.doi.org/ 10.1007/s00466-007-0173-y. [7] A. Düster, J. Parvizian, Z. Yang, and E. Rank. The finite cell method for three-dimensional problems of solid mechanics. Computer Methods in Applied Mechanics and Engineering, 197(45–48):3768–3782, 2008. [8] E. Rank, M. Ruess, S. Kollmannsberger, D. Schillinger, and A. Düster. Geometric modeling, isogeometric analysis and the finite cell method. Computer Methods in Applied Mechanics and Engineering, 249-252:104–115, 2012. [9] D. Schillinger, M. Ruess, N. Zander, Y. Bazilevs, A. Düster, and E. Rank. Small and large deformation analysis with the p- and B-spline versions of the Finite Cell Method. Computational Mechanics, 50(4):445–478, 2012. [10] D. Schillinger and M. Ruess. The Finite Cell Method: A review in the context of higher-order structural analysis of CAD and image-based geometric models. Archives of Computational Methods in Engineering, 22(3):391–455, 2015. [11] M. Breitenberger, A. Apostolatos, B. Philipp, R. Wüchner, and K.-U. Bletzinger. Analysis in computer aided design: Nonlinear isogeometric B-Rep analysis of shell structures. Computer Methods in Applied Mechanics and Engineering, 284:401–457, 2015. [12] Rhinoceros 3D. http://www.rhino3d.com/. Accessed 23 February 2016. [13] Siemens NX. https://www.plm.automation.siemens.com/en us/products/nx/. Accessed 23 February 2016. [14] M.-C. Hsu, C. Wang, A.J. Herrema, D. Schillinger, A. Ghoshal, and Y. Bazilevs. An interactive geometry modeling and parametric design platform for isogeometric analysis. Computers and Mathematics with Applications, 2015. 27 [15] Grasshopper 3D. http://www.grasshopper3d.com/. Accessed 23 February 2016. [16] W. A. Wall, M. A. Frenzel, and C. Cyron. Isogeometric structural shape optimization. Computer Methods in Applied Mechanics and Engineering, 197:2976–2988, 2008. [17] D. Fußeder, B. Simeon, and A.-V. Vuong. Fundamental aspects of shape optimization in the context of isogeometric analysis. Computer Methods in Applied Mechanics and Engineering, 268:313–331, 2015. [18] A. N. Moysidis and V. K. Koumousis. A hysteric formulation for isogeometric analysis and shape optimization of plane stress structures. In 8th GRACM International Congress on Computational Mechanics, Volos, Greece, 2015. [19] S. Julisson, C. Fourcade, P. de Nazelle, and L. Dumas. A novative optimal shape design based on an isogeometric approach: Application to optimization of surface shapes with discontinuous curvature. In 11th World congress on structural and multidisciplinary optimization (WCSMO-11), Sydney, Australia, 2015. [20] S. Cho and S.-H. Ha. Isogeometric shape design optimization: exact geometry and enhanced sensitivity. Structural and Multidisciplinary Optimization, 38:53–70, 2009. [21] X. Qian. Full analytical sensitivities in NURBS based isogeometric shape optimization. Computer Methods in Applied Mechanics and Engineering, 199:2059–2071, 2010. [22] S.-H. Ha, K. K. Choi, and S. Cho. Numerical method for shape optimization using T-spline based isogeometric method. Structural and Multidisciplinary Optimization, 42:417–428, 2010. [23] J. Kiendl, R. Schmidt, R. Wüchner, and K.-U. Bletzinger. Isogeometric shape optimization of shells using semi-analytical sensitivity analysis and sensitivity weighting. Computer Methods in Applied Mechanics and Engineering, 274:148–167, 2014. [24] D. M. Nguyen, A. Evgrafov, and J. Gravesen. Isogeometric shape optimization for electromagnetic scattering problems. Progress in Electromagnetics Research B, 45:117–146, 2012. [25] N. D. Manha, A. Evgrafov, A. R. Gersborg, and J. Gravesen. Isogeometric shape optimization of vibrating membranes. Computer Methods in Applied Mechanics and Engineering, 200: 1343–1353, 2011. [26] M. Yoon, M.-J. Choi, and S. Cho. Isogeometric configuration design optimization of heat conduction problems using boundary integral equation. International Journal of Heat and Mass Transfer, 89:937–949, 2015. 28 [27] P. Nørtoft and J. Gravesen. Isogeometric shape optimization in fluid mechanics. Structural and Multidisciplinary Optimization, 48(5):909–925, 2013. [28] S.-W. Lee, J. Lee, and S. Cho. Isogeometric shape optimization of ferromagnetic materials in magnetic acuators. IEEE Transactions on Magnetics, 52, 2015. [29] K. Li and X. Qian. Isogeometric analysis and shape optimization via boundary integral. Computer-Aided Design, 43:1427–1437, 2011. [30] K. V. Kostas, A. I. Ginnis, C. G. Politis, and P. D. Kaklis. Ship-hull shape optimization with a T-spline based BEM-isogeometric solver. Computer Methods in Applied Mechanics and Engineering, 284:611–622, 2015. [31] J. R. R. A. Martins and A. B. Lambe. Multidisciplinary design optimization: a survey of architectures. AIAA journal, 51(9):2049–2075, 2013. [32] J. R. R. A. Martins, J. J. Alonso, and J. J. Reuther. High-fidelity aerostructural design optimization of a supersonic business jet. Journal of Aircraft, 41(3):523–530, 2004. [33] S. Kodiyalam, R. J. Yang, L. Gu, and C. H. Tho. Multidisciplinary design optimization of a vehicle system in a scalable, high performance computing environment. Structural and Multidisciplinary Optimization, 26(3-4):256–263, 2004. [34] E. K. Park, L. F. da Luz, and A. Suleman. Multidisciplinary design optimization of an automotive magnetorheological brake design. Computers & Structures, 86(3-5):207–216, 2008. [35] A. L. Marsden, J. A. Feinstein, and C. A Taylor. A computational framework for derivativefree optimization of cardiovascular geometries. Computer Methods in Applied Mechanics and Engineering, 197(21-24):1890–1905, 2008. [36] C. C. Long, A. L. Marsden, and Y. Bazilevs. Shape optimization of pulsatile ventricular assist devices using FSI to minimize thrombotic risk. Computational Mechanics, 54(4):921–932, 2014. [37] G. K. W. Kenway and J. R. R. A. Martins. Multipoint High-Fidelity Aerostructural Optimization of a Transport Aircraft Configuration. Journal of Aircraft, 51:144–160, 2014. [38] T. Ashuri, M. B. Zaaijer, J. R. R. A. Martins, G J. W. van Bussel, and G. A. M. van Kuik. Multidisciplinary design optimization of offshore wind turbines for minimum levelized cost of energy. Renewable Energy, 68:893–905, 2014. 29 [39] A. L. Marsden. Optimization in cardiovascular modeling. Annual Review of Fluid Mechanics, 46:519–546, 2014. [40] SolidWorks. http://www.solidworks.com/. Accessed 23 February 2016. [41] OpenNURBS. https://www.rhino3d.com/opennurbs. Accessed 23 February 2016. [42] Mathworks. Global optimization toolbox user’s guide, 2015. [43] Dakota. https://dakota.sandia.gov/. Accessed 23 February 2016. [44] NLopt. http://ab-initio.mit.edu/wiki/index.php/NLopt/. Accessed 23 February 2016. [45] Rhino Developer Tools. http://wiki.mcneel.com/developer/home. Accessed 23 February 2016. [46] ANSYS Workbench. http://www.ansys.com/Products/Workflow+Technology/ANSYS+ Workbench+Platform. Accessed 23 February 2016. [47] J. Kiendl, K.-U. Bletzinger, J. Linhard, and R. Wüchner. Isogeometric shell analysis with Kirchhoff–Love elements. Computer Methods in Applied Mechanics and Engineering, 198: 3902–3914, 2009. [48] J. Kiendl, Y. Bazilevs, M.-C. Hsu, R. Wüchner, and K.-U. Bletzinger. The bending strip method for isogeometric analysis of Kirchhoff–Love shell structures comprised of multiple patches. Computer Methods in Applied Mechanics and Engineering, 199:2403–2416, 2010. [49] Y. Bazilevs, M.-C. Hsu, J. Kiendl, R. Wüchner, and K.-U. Bletzinger. 3D simulation of wind turbine rotors at full scale. Part II: Fluid–structure interaction modeling with composite blades. International Journal for Numerical Methods in Fluids, 65:236–253, 2011. [50] A. Korobenko, M.-C. Hsu, I. Akkerman, J. Tippmann, and Y. Bazilevs. Structural mechanics modeling and FSI simulation of wind turbines. Mathematical Models and Methods in Applied Sciences, 23(2):249–272, 2013. [51] Y. Bazilevs, A. Korobenko, X. Deng, and J. Yan. Novel structural modeling and mesh moving techniques for advanced fluid-structure interaction simulation of wind turbines. International Journal for Numerical Methods in Engineering, 102(3-4):766–783, 2014. [52] Y. Bazilevs, K. Takizawa, and T. E. Tezduyar. Computational Fluid–Structure Interaction: Methods and Applications. Wiley, Chichester, 2013. 30 [53] D. J. Benson, Y. Bazilevs, M.-C. Hsu, and T. J. R. Hughes. Isogeometric shell analysis: The Reissner–Mindlin shell. Computer Methods in Applied Mechanics and Engineering, 199: 276–289, 2010. [54] N. Nguyen-Thanh, J. Kiendl, H. Nguyen-Xuan, R. Wüchner, K.U. Bletzinger, Y. Bazilevs, and T. Rabczuk. Rotation-free isogeometric thin shell analysis using PHT-splines. Computer Methods in Applied Mechanics and Engineering, 200:3410–3424, 2011. [55] D. J. Benson, Y. Bazilevs, M.-C. Hsu, and T. J. R. Hughes. A large deformation, rotationfree, isogeometric shell. Computer Methods in Applied Mechanics and Engineering, 200: 1367–1378, 2011. [56] D. J. Benson, S. Hartmann, Y. Bazilevs, M.-C. Hsu, and T. J. R. Hughes. Blended isogeometric shells. Computer Methods in Applied Mechanics and Engineering, 255:133–146, 2013. [57] J. Kiendl, M.-C. Hsu, M. C. H. Wu, and A. Reali. Isogeometric Kirchhoff–Love shell formulations for general hyperelastic materials. Computer Methods in Applied Mechanics and Engineering, 291:280–303, 2015. [58] R. N. Simpson, S. P. A. Bordas, J. Trevelyan, and T. Rabczuk. A two-dimensional Isogeometric Boundary Element Method for elastostatic analysis. Computer Methods in Applied Mechanics and Engineering, 209-212:87–100, 2012. [59] M. A. Scott, R. N. Simpson, J. A. Evans, S. Lipton, S. P. A. Bordas, T. J. R. Hughes, and T. W. Sederberg. Isogeometric boundary element analysis using unstructured T-splines. Computer Methods in Applied Mechanics and Engineering, 254:197–221, 2013. [60] A. I. Ginnis, K. V. Kostas, C. G. Politis, P. D. Kaklis, K A Belibassakis, Th. P. Gerostathis, M. A. Scott, and T. J. R. Hughes. Isogeometric boundary-element analysis for the waveresistance problem using T-splines. Computer Methods in Applied Mechanics and Engineering, 279:425–439, 2014. [61] T. M. van Opstal, E. H. van Brummelen, and G. J. van Zwieten. A finite-element/boundaryelement method for three-dimensional, large-displacement fluid-structure-interaction. Computer Methods in Applied Mechanics and Engineering, 284:637–663, 2015. [62] D. Kamensky, M.-C. Hsu, D. Schillinger, J. A. Evans, A. Aggarwal, Y. Bazilevs, M. S. Sacks, and T. J. R. Hughes. An immersogeometric variational framework for fluid–structure interaction: Application to bioprosthetic heart valves. Computer Methods in Applied Mechanics and Engineering, 284:1005–1053, 2015. 31 [63] M.-C. Hsu, D. Kamensky, F. Xu, J. Kiendl, C. Wang, M. C. H. Wu, J. Mineroff, A. Reali, Y. Bazilevs, and M. S. Sacks. Dynamic and fluid–structure interaction simulations of bioprosthetic heart valves using parametric design with T-splines and Fung-type material models. Computational Mechanics, 55:1211–1225, 2015. [64] M.-C. Hsu, C. Wang, F. Xu, A. J. Herrema, and A. Krishnamurthy. Direct immersogeometric fluid flow analysis using B-rep CAD models. Computer Aided Geometric Design, 2016. doi: 10.1016/j.cagd.2016.02.007. [65] L. Piegl and W. Tiller. The NURBS Book (Monographs in Visual Communication), 2nd ed. Springer-Verlag, New York, 1997. [66] RhinoCommon Plug-in SDK. http://wiki.mcneel.com/developer/rhinocommon/. 2014. [67] J. Kiendl. Isogeometric Analysis and Shape Optimal Design of Shell Structures. PhD thesis, Lehrstuhl für Statik, Technische Universität München, 2011. [68] J. Jonkman, S. Butterfield, W. Musial, and G. Scott. Definition of a 5-MW reference wind turbine for offshore system development. Technical Report NREL/TP-500-38060, National Renewable Energy Laboratory, 2009. [69] J.F. Manwell, J.G. McGowan, and A.L. Rogers. Wind Energy Explained: Theory, Design and Application. Wiley, second edition, 2009. [70] IRENA. Renewable energy technologies: Cost analysis series, wind power. Technical report, International Renewable Energy Agency, 2012. [71] B. R. Resor. Definition of a 5MW/61.5m wind turbine blade reference model. Technical Report SAND2013-2569, Sandia National Laboratories, 2013. [72] J. M. Jonkman and M. L. Buhl Jr. FAST user’s guide. Technical Report NREL/EL-50038230, National Renewable Energy Laboratory, Golden, CO, 2005. [73] B. Snyder and M. J. Kaiser. Ecological and economic cost-benefit analysis of offshore wind energy. Renewable Energy, 34:1567–1578, 2009. [74] C. Moné, T. Stehly, B. Maples, and E. Settle. 2014 cost of wind energy review. Technical Report NREL/TP-6A20-64281, National Renewable Energy Laboratory, 2015. 32