Sie sind auf Seite 1von 17

Computers and Structures 100-101 (2012) 1–17

Contents lists available at SciVerse ScienceDirect

Computers and Structures


journal homepage: www.elsevier.com/locate/compstruc

An object-oriented architecture for extensible structural design software


Rory Clune a,⇑, Jerome J. Connor a, John A. Ochsendorf a, Denis Kelliher b
a
Massachusetts Institute of Technology, Department of Civil and Environmental Engineering, Cambridge, MA 02139, USA
b
University College Cork, Department of Civil and Environmental Engineering, Cork, Ireland

a r t i c l e i n f o a b s t r a c t

Article history: This paper presents an object-oriented architecture for structural design software. The architecture’s
Received 11 July 2011 novel features are the representation of an artifact with distinct levels of idealization, a hierarchy of clas-
Accepted 13 February 2012 sification within each of these levels, and the appropriate separation of software components. These
Available online 12 March 2012
enable seamless integration of geometric modeling and structural analysis in an interactive environment,
extensibility of modeling and analysis capabilities, and integration of interactive multi-objective optimi-
Keywords: zation. The paper presents a design environment implemented on the basis of the architecture, and dem-
Structural design
onstrates the benefits of refocusing engineering software from analysis to design.
Design-analysis integration
Interactive optimization
Ó 2012 Elsevier Ltd. All rights reserved.
Software architecture
Object-oriented programming

1. Introduction system. By contrast, the geometric modeling tools typically used


by architects, such as RhinocerosÒ [3] and GenerativeComponentsÒ
In the field of structural engineering, there is a notable lack of [4], encourage creativity and exploration of the design space, but
software with a strong design sensibility. In practice, computer don’t do enough to encourage rationality, structural or otherwise,
programs which were primarily intended to perform structural of the resulting designs.
analyses are used as design software, and a sequential, iterative Often, design modifications are made in geometric modeling
approach is used in the design process. Following this approach, programs and files are copied to the analysis software to evaluate
an initial form is defined, typically by an architect, and an engineer design performance. In an industry where designers have limited
conceptualizes potential structural systems on the basis of intui- time to work on a given problem, this cumbersome approach limits
tion and past experience. The engineer then models and analyzes the extent to which they can explore the range of possible designs
these systems using structural analysis software, and assesses in pursuit of better solutions and better understanding of the prob-
the results in order to evaluate and modify the design. After design lem at hand.
modification, the analysis is explicitly run again, and the iterative Furthermore, although analysis software provides feedback
process continues until an acceptable solution is reached. such as deflections or internal stresses, it does not propose struc-
The design process using these commercially available tools, tural forms to be analyzed. In response, the field of structural opti-
which are the prevalent norm in structural engineering practices mization has seen some limited application in design. Among
today, is fundamentally the same as it was when computational others, the work of Shea et al. [5] and Von Buelow [6] has made
mechanics first impacted structural engineering fifty years ago. notable progress towards using optimization as a source of design
Two examples of analysis software packages widely used in prac- creativity. The use of structural optimization in design, however,
tice are ABAQUSÒ [1] and SAP2000Ò [2]. These programs run in has been restricted for a number of reasons. Among them are the
batch mode, where the computer executes a series of sequential perceived inflexibility of existing optimization tools and an impli-
operations without any manual intervention. Though unquestion- cit lack of recognition that structural engineering design problems
ably useful for simulating and evaluating a finalized design, such are always multi-objective, and almost always involve subjective
tools do virtually nothing to encourage the pursuit of better design, goals such as aesthetics and constructability which are inherently
and often restrict design exploration by making it tedious and time difficult to express mathematically.
consuming to significantly change and reanalyze a structural
1.1. Desirable features of design software

⇑ Corresponding author. Address: 77 Massachusetts Avenue, Room 5-332A, In order to achieve a strong engineering design sensibility,
Cambridge, MA 02139, USA. Tel.: +1 617 470 6939. software should combine the strengths of geometric modelers
E-mail address: clune@mit.edu (R. Clune). and analysis software, allowing creativity to flourish while

0045-7949/$ - see front matter Ó 2012 Elsevier Ltd. All rights reserved.
doi:10.1016/j.compstruc.2012.02.002
2 R. Clune et al. / Computers and Structures 100-101 (2012) 1–17

maintaining a strong focus on engineering rationality as both a The logical organization of a well-designed object-oriented
constraint and a goal. Integration of these mostly disparate types code, and the benefits of the reusability of such code, make the ob-
of programs is therefore desirable. This integration has previously ject oriented approach valid for the architecture of an extensible
been sought through the development and promotion of interoper- software framework. C# is the language chosen for this work,
ability standards and common data models [7] or through more and the majority of the architectural concepts are presented in
fundamental integration of programs, which typically occurs when Unified Modeling Language (UML) diagrams [17]. A full discussion
a smaller software company and its products are bought by a larger of the fundamental OOP concepts used in this work, which include
company [8,9]. A number of software architectures have been pro- inheritance, polymorphism, interface implementation, and event
posed to address integration [10]. Despite these efforts, the lack of publishing and subscription, can be found in Booch et al. [18].
software integration and interoperability remains a major obstacle Since the 1990’s, much of the published work in the field has fo-
to a more efficient workflow in engineering offices and to the cused on extending the architecture of existing Finite Element
development of design-centric structural engineering programs. Method (FEM) programs for use in design, as reviewed in Mackie
We envisage an architecture for engineering design software [19]. As FEM is the dominant analysis method used in modern
which will allow for the seamless integration of analysis and mod- structural software, this is unsurprising. Heng and Mackie [20]
eling software. Rather than seeking to integrate existing packages, thoroughly review useful software design patterns from the litera-
as has been the goal of much research in this area, this work ad- ture. In order to be applicable to the type of design software of
dresses the question of how engineering software should be devel- interest to this work, however, the object-oriented approach to
oped in the future to enable seamless integration. structural mechanics needs to become more than just an extension
As part of an effort to create software with a stronger design or a reworking of existing FEM analysis software which does not
sensibility, there has been significant interest in developing ‘live’ enable significant new functionality for conceptual design.
or ‘real-time’ structural analysis applications in which user interac- This paper does not provide a comprehensive review of the field
tion, visualization and computation appear to occur simulta- of structural software architecture; the previously mentioned re-
neously. Examples include the Dr. Software [11] range of views serve that purpose well in the context of FEM software for
products, Arcade [12] and Active Statics [13]. This type of software structural engineering. In addition, Mocko et al. [10] provide a
environment, in which analysis capabilities are seamlessly inte- thorough review of research towards integration of design and
grated, allows the user to develop an intuition for the effects that analysis components, examining a broad range of proposed soft-
design modifications have on structural performance. Although ware architectures. The features that address integration of analy-
such currently available programs represent a move towards better sis and design components serve as precedents. The more recent
design software, each has its limitations, ranging from a lack of approach of Delalondre et al. [21] to formalizing the relationships
real-world applicability to various constraints on the freedom of between multiple models of a given artifact at various fidelities
exploration and an inability to propose structural forms. and scales is also noteworthy. The work of Daubi and Dagli [22]
In order to gain real traction in the design industry, this goal on extensible software architectures is also of interest, though
should be pursued in a way that will allow other analysis and mod- the focus is somewhat different than that of this work.
eling methods to integrate to a system after the initial connections
and channels of communication between software components
1.3. Structure of paper
have been established. A program developed under such an archi-
tecture becomes an extensible framework whose default function-
Section 2 motivates and describes the principal features of the
ality can easily be added to.
developed software architecture which enable integration of mod-
In addition to real-time analysis capabilities, this work sees the
eling and analysis components, generation of real-time analysis re-
inclusion of optimization methods as important to the develop-
sults, and extensibility of software developed using the
ment of an interactive design environment. Most existing struc-
architecture. Section 3 describes the implementation of a design
tural optimization applications typically seek to deliver a single
tool based on the architecture, proving the feasibility of the pre-
optimal solution to the user, rather than harness the power of opti-
sented concepts. It describes two case studies of design problems
mization as a tool for exploration of design alternatives. The fact
that illustrate the software’s advantages compared to currently
that real-world design problems are almost always multi-objective
available engineering software. Section 4 describes the extension
[14] and, especially in the case of the design of civil structures, ill-
of the architecture and the developed design environment to in-
defined [15] motivates the use of multi-objective techniques and
clude interactive optimization, and presents a case study that uses
an exploration of ways in which designers can be given control
optimization as part of the solution to a truss design problem. Fi-
over the pursuit of ill-defined objectives. We explore the use of
nally, Section 5 summarizes the main contributions of the work
optimization as a guide to design exploration, seamlessly embed-
and draws conclusions.
ded in a flexible design environment implemented on the basis
of the developed software architecture.
2. Proposed software architecture
1.2. Important software architecture precedents
This section presents the features of the proposed software
With the emergence in the early 1990’s of Object-Oriented Pro- architecture that enable seamless integration of modeling and
gramming (OOP) as a widely accepted approach for software analysis components, real-time response generation, and extensi-
development, a number of researchers described the benefits of bility. The novel features of the architecture that enable this func-
rethinking the conventional approach to the architecture of struc- tionality are the establishment and clear separation of three
tural analysis software. Notably, Miller [16], reflecting on several abstract levels of representation of structures and the particular
years of research on the topic, envisaged a ‘‘comprehensive rede- hierarchy within each level of representation, which groups com-
velopment of structural engineering software’’ which would take mon functionality and communication between components at a
advantage of existing and emerging features of OOP to develop base class level. The section presents the details of these architec-
‘‘unified software tools applicable at all stages of the creation of tural features, their novelty compared to previous work, and the
a structure’’. This comprehensive redevelopment has yet to occur functionality they enable, which is further explored and demon-
in a way that has had a meaningful impact on design in practice. strated in Section 3.
R. Clune et al. / Computers and Structures 100-101 (2012) 1–17 3

2.1. Seamless integration of modeling and analysis components hierarchy of inheritance within each level of abstraction. Artifact,
Structural Model, and Mathematical Model are abstract base classes,
The proposed architecture addresses the challenge of integrat- and contain all attributes and methods common to their types. The
ing modeling and analysis capabilities through its unique struc- functionality specific to actual models is contained in derived clas-
ture, which combines varying abstractness of representation with ses which inherit common functionality from base classes. The
hierarchies which group common functionality and communica- power of this approach is that communication and integration be-
tion between levels of abstraction at a base class level. tween the Artifact, Structural Model, and Mathematical Model classes
This varying abstraction of representation is a reflection of the can be established at the base level. In order to seamlessly inte-
fact that good design software must integrate independent model- grate with the rest of the software, a particular derived class need
ing and analysis capabilities, and that the level of representation only establish a connection to the relevant base class. This archi-
required for geometric modeling is less abstract than that required tecture accomplishes this using inheritance and by forcing derived
for performing structural analysis. Clearly structuring the architec- classes to implement interfaces.
ture to reflect this reality is the first step towards facilitating inte- Fig. 2 shows the essence of this approach to the design of struc-
gration. Fig. 1 shows the increase in abstraction, first pictorially, tural software. Particular types of Structural Model and Mathemat-
and then on a UML diagram. ical Model classes are connected at a base class level in the
The first and least abstract of the three levels of representation hierarchy, and functionality and attributes specific to a particular
is the Artifact class, containing information relating to the physical modeling type exists at the derived class level. By contrast, the
makeup of the structure, such as dimensions, materials and con- conventional approach to software integration shown in Fig. 3
nection details. Eventually, a fully developed Artifact class should groups functionality and attributes of a particular abstraction level
contain enough information to enable physical realization of the in a single class, and makes direct connections between modeling
structure. and analysis components without the establishment of a strict
The next level of representation of an artifact, Structural Model hierarchy.
classes, contains an idealized model, or abstraction, of a real arti- In reality, there are several layers of abstract base classes in the
fact. The Structural Model abstracts the Artifact class as an aggrega- hierarchy of the architecture; Fig. 2 presents a simplified represen-
tion of understood and analyzable components, such as beams, tation. For example, Fig. 4 shows a slice through the hierarchy of
plates, and supports. Many different types of Structural Model can Mathematical Models, with interfaces defined for the abstract base
be used to abstractly represent an artifact. A discrete tessellated classes at all levels in the hierarchy. To elucidate the points of key
structural artifact could, for example, be modeled either as a pin- importance to component integration, some of the less relevant
jointed truss or as a rigid-jointed frame. members of classes have been omitted from this figure. By conven-
The most abstract types of representation considered, Mathe- tion, the names of interfaces begin with the letter ‘i’ in order to dis-
matical Model classes, contain the mathematical methods required tinguish them from classes. All classes other than the derived class
to analyze Structural Models, and are treated in the architecture as (DirectStiffnessMethod2D in this case) are abstract, and interfaces
mathematical abstractions of Structural Models. They consist of the are defined for each of the intermediate abstract classes.
mathematical formulations (equations, matrices, etc.) that describe A derived class inherits the functionality of all its base classes,
a Structural Model, and the methods to manipulate and solve these and is compelled to implement all of the interfaces associated with
formulations in order to predict the artifact’s behavior. A number these base classes in order to conform to the architecture. Methods
of Mathematical Models can analyze a single Structural Model, and which must be implemented by derived classes are defined in the
a single type of Mathematical Model could potentially be used to relevant base class as abstract, which mandates derived classes to
analyze multiple Structural Models. provide an implementation.
The second key feature of the architecture which allows the The derived class, DirectStiffnessMethod2D, is thus forced to pro-
integration of analysis and modeling capabilities is the use of a vide definitions for methods and attributes that the other compo-

Fig. 1. Abstraction of the representation of the actual artifact increases from an Artifact class to a Mathematical Model class.
4 R. Clune et al. / Computers and Structures 100-101 (2012) 1–17

Fig. 2. A high-level UML classification of the proposed architectural approach, based on abstraction and inheritance.

Fig. 3. In contrast to Fig. 2, the conventional architectural approach contains all functionality and attributes in a single class, making direct connections without establishing a
strict hierarchy.

Fig. 4. Inheritance and interface implementation at each hierarchical level within the Mathematical Model representation.
R. Clune et al. / Computers and Structures 100-101 (2012) 1–17 5

nents of the software expect it to provide. For example, when a mance class. In future work, the Performance class will be extended
Structural Model calls the Analyze() method of its Mathematical to enable it to interrogate Structural Models and Mathematical Mod-
Model, the fact that all Mathematical Models implement the iMath- els to automatically extract their available performance measures,
ematicalModel interface, which requires a definition of the Ana- and to enable individual designers to create custom Performance
lyze() method, provides an implicit guarantee that this Analyze() objects consisting of parameters of interest.
method exists. This is the strategy by which the low-level model- The design-centric functionality enabled by these architectural
ing and analysis components of the software seamlessly integrate features and the benefits they offer designers compared to conven-
to the high-level framework of the architecture. tional analysis software are demonstrated and discussed in the
The proposed approach allows for multiple Structural Model and case studies of Sections 3.2 and 3.3.
Mathematical Model representations of a given artifact, and lays the
framework for future extensions beyond the realm of structural 2.3. Extensibility
design. In the same way that Structural Models abstractly represent
an Artifact, model types specific to different engineering disciplines A key feature that the proposed architecture brings to structural
could provide different abstract representations of the same design software is the possibility of extending software after its
Artifact. initial development, by adding new modeling and analysis capabil-
These features of the architecture draw inspiration from the ities in the form of Structural Model and Mathematical Model clas-
software design pattern of Model-Analysis Separation identified in ses. Extensible software developed using the architecture allows
Heng and Mackie [20], but the introduction of the Artifact layer new analysis or modeling software developed to the specifications
of idealization and the particular structure of the hierarchy ex- of the architecture to seamlessly integrate with existing compo-
pands the software beyond the FEM programs of that research. nents. Such software becomes a framework, whose default behav-
Although the architectural approaches summarized in Mocko ior can be overridden or extended. This is a strategy for addressing
et al. [10] are somewhat similar, a significant difference is that the problem of achieving software interoperability and integration
the proposed architecture, rather than integrating existing pack- in the engineering world.
ages via data transfer, requires all components to be implemented A general feature of the architecture, which enables this exten-
as derived classes of an appropriate Structural Model or Mathemat- sibility, is component separation. A strict separation is maintained
ical Model base, or to expose an API to such a derived class. between the user interface components of the software and the
modeling and analysis components. In the particular implementa-
2.2. Real-time response generation and performance measurement tion of the architecture developed as part of this work, shown in
Fig. 5, the Environment class contains all the code necessary for
The proposed software architecture enables the responsive sim- manipulating and rendering models. The Artifact is an attribute of
ulation of a structure in a real-time design environment, where the Environment object, and the Structural Model and Mathematical
structural analyses can be run and results visualized automatically Model classes are accessed by the Environment via this reference to
in response to design changes. The structural analysis packages the Artifact. This is essentially the Model-UI Separation pattern
typically found in design offices require an intermediate step, identified in Heng and Mackie [20], and it provides the benefits
where the designer issues an explicit command to run an analysis of flexibility and reduced complexity identified in that work.
after modifying a structural model. The architecture dramatically More importantly, because of the separation of the levels of
alters the way in which designers interact with software. It allows abstraction, a developer can write a particular type of modeling
them to generate and analyze far more design alternatives in a gi- class which implements the relevant interfaces specified by the
ven period of time than they could do with existing analysis soft- architecture and inherits the functionality and attributes of the ab-
ware, and allows them to gain a more intuitive understanding of stract base classes. In extending the architecture to include new
structural behavior and the effect of design changes. mathematical or structural modeling methods, developers decide
The seamless integration of modeling and analysis components which base class represents the most appropriate category for their
enables this automatic generation of analysis results from which intended model class. They develop a class with new modeling or
performance measures can then be extracted. This enables respon- analysis capabilities, and the use of existing attributes and provi-
sive simulation of a structure in a real-time simulation environ- sion of certain methods in implementing the interfaces ensures
ment, and is naturally managed using events and event handling the new class seamlessly integrates with the rest of the software
in OOP. The event-related features of the C# language make it a to extend its functionality. For example, a new Mathematical Model
natural one to develop a program which can provide real-time class with analysis capabilities not present in the original software
feedback to users. could be added with minimal effort and be used in the real-time
Functionality is provided at the base class level to publish an simulation environment alongside pre-existing Structural Model
event when a model’s data is modified. An Environment object, and Artifact classes.
which contains all code related to the user interface of the soft- This draws inspiration from the approach to extensibility of
ware, subscribes to the events published by the Structural Model, Dauby and Dagli [22], though the focus is somewhat different.
and renders the model after modification. The Structural Model The proposed architecture addresses a narrower range of vertical
class also provides an event handler for these events, which calls extensibility, working entirely within the domain of engineering
an analysis by all associated Mathematical Models. The updated models. This domain-specificity makes it practical to define a set
analysis results are then available to the environment to display. of high-level base classes from which all future extensions can
Fig. 5, a UML classification diagram describing an implementation derive.
of the architecture presented in Section 3, shows these features. Unlike Delalondre et al.’s [21] important work on integrating
The Performance class is introduced to serve as an aggregator of multiple analysis and modeling methods, the approach of this
performance measures which are evaluated by implemented mod- architecture requires the user to conform to a predefined data
eling and analysis components. As shown in Fig. 5, the Performance structure by inheriting attributes and implementing interfaces
class can then be accessed by the environment, via the Artifact rather than using existing programs with data translators between
class, and used as a convenient access point to the available perfor- their native data structures. Although this general inability to di-
mance measures for the design. The optimization components of rectly integrate existing software with predefined data structures
the software, described in Section 4, also make use of the Perfor- limits immediate applicability to industry, the approach funda-
6 R. Clune et al. / Computers and Structures 100-101 (2012) 1–17

Fig. 5. A UML classification diagram of the implemented design software, exhibiting all the architectural features described in Sections 2 and 4.

mentally redefines the underlying architecture of structural tween Structural Model and Truss2D in the hierarchy, as can be seen
software in order to better meet the requirements of the design in Fig. 5. A single class derived from StiffnessMethodMathematical-
process. It has powerful implications for the architecture’s poten- Model, named DirectStiffnessMethod2D, is included.
tial to serve as a model for future design-centric extensible The standard Direct Stiffness Method [23] performs a linear
software. analysis of the discrete structural model. Nodal displacements,
internal member forces, and support reactions are calculated by
3. Prototype design software and case studies the DirectStiffnessMethod2D object and returned to the Truss2D ob-
ject. The structure’s volume is determined as the sum of the cross
3.1. Implementation of prototype design software sectional areas multiplied by the lengths of each member, and
multiplied a material density to evaluate mass. Compliance is cal-
To demonstrate the validity of the developed concepts, an inter- culated as an overall indication of the structure’s deformation un-
active design environment for structures is implemented based on der a given load case.
the proposed software architecture. Although basic, it provides all Before running an analysis, stability of the structure is evalu-
the functionality described previously for the specific case of two- ated by testing for singularity of the stiffness matrix in the Direct-
dimensional truss structures. It is highly useful for developing StiffnessMethod2D class. In the case of statically determinate
structural intuition and bringing physical considerations to the ini- structures, where the axial force distribution does not depend on
tial design stages, and further encourages an exploration of design the axial stiffness of the members, the required cross-sectional
spaces. It is a fully functional teaching tool for structural design, area of a member is set by the Truss2D class so that the axial stress
useful for practicing designers to explore how simple structures in the member equals its material’s yield stress. For statically inde-
perform, and a powerful demonstration of the merits of this new terminate structures, a simple heuristic algorithm iteratively mod-
approach to structural design. ifies the cross-sections of the members and re-runs analyses until
The design tool contains a single derived-level Structural Model each member’s cross-sectional area converges subject to the mag-
class, Truss2D, which models structures as two-dimensional nitude of all axial stresses being less than or equal to a specified
trusses with pin-jointed connections. A number of layers exist be- material yield stress.
R. Clune et al. / Computers and Structures 100-101 (2012) 1–17 7

The Truss2D model implements a cost model which calculates the approximately parabolic line of the roof represent additional
the cost of the truss structure as given in Eq (1). gravity loads other than those due to the primary members.
! The environment detects the instability of the truss structure at
mj
X
n X this early stage, but still estimates its cost.
C ¼ cm V þ cc þ cF F i;j ð1Þ
The designer quickly generates a two-dimensional truss repre-
i¼1 j¼1
sentation of the roof (Fig. 7), showing the structural action and giv-
where C = cost of the truss, cm = cost of material per unit volume, ing a first-order model of the roof’s behavior. The roof is loaded
V = volume of material, n = number of connection nodes, cc = basic with self weight (green arrows) and with a point load at each of
cost of a connection, mi = number of members connected to node the nodes along the line of the arch (black arrows). Once stability
i, cF = cost of transferring a unit of axial load from a member to a is achieved, analysis results are displayed. Members colored red
connection, Fi,j = axial force in the jth member connected to node i. are in compression, and those colored blue are in tension. The
It should be noted that the cost model generates a somewhat cross-sectional thickness of the members is proportional to the
simplistic estimate of connection costs by summing the absolute magnitude of the axial force they carry, and displacements can
values of member forces in all members that meet at a connection be amplified to give designers an intuitive feel for structural action.
and multiplying this by cF. The ease of application of this approach The green meters in the bottom right of the interface display the
to any connection situation that may arise in truss modeling, how- values of mass, compliance and cost. Any design modifications to
ever, makes it an appropriate estimation of connection cost to use the structure cause analyses to run and results to be updated in
in the early stages of design. real time.
A simple bespoke modeling environment is developed in a Win- Having developed an intuition of how the structure behaves,
dows Form using built-in Microsoft .NET graphics primitives. This the user can begin to explore design alternatives. Fig. 8 shows such
environment instantiates an Artifact object through which the a modification taking place. Analyses are continually run, and re-
Structural and Mathematical Models can be accessed. The environ- sults and performance measures are automatically rendered in real
ment provides event handlers which render models in response time. The use of an appropriate background images aids in under-
to events raised by a Structural Model object, as described in Sec- standing the context of the structure during this fluid process of
tion 2.2. exploration.
The user moves the structure towards somewhat of an inver-
sion of the original concept, arrived at in Fig. 9. The original curve
3.2. Case study: Simulation and alternative design of Waterloo
between the two supports is maintained, but the rest of the struc-
International Terminal roof
ture moves either above or below this curve, in opposition to its
previous location. The resulting alternative design significantly
The developed program can import image files to serve as a con-
outperforms the initial one on the available performance mea-
venient background for the structural engineer, guiding the man-
sures. The mass of the structure is reduced by 54%, and its compli-
ual generation of structural models. This functionality allows
ance and cost are also reduced, by 81% and 40%, respectively. The
engineers to rapidly build a model on top of an architect’s imported
resulting design is lighter, stiffer, and cheaper than the original.
sketch as a means to quickly establish how a design performs,
This example is illustrative of the freedom the software gives to
without requiring the development of a detailed model. The soft-
the designer to explore alternatives, and of the design improve-
ware can also be used to easily develop a first-order understanding
ments that can result from allowing designers to explore freely.
of the structural behavior of an existing artifact, simply by import-
This is a dramatic improvement on the constraints that conven-
ing a photograph of the artifact and quickly building a model using
tional structural analysis software imposes on designers. Although
the image as a background guide.
the design alternatives presented here could certainly be explored
An image of Waterloo International Terminal in London is im-
using available tools, the nature of designers’ interaction with the
ported, as shown in Fig. 6, and the designer begins tracing the out-
software, enabled by the proposed architecture, makes it far more
line of the primary structural elements. The structure is loaded
likely that they will explore a rich variety of alternatives.
under self weight, and a point load at each of the nodes along

Fig. 6. An imported image of Waterloo International Train Terminal guides manual generation of designs.
8 R. Clune et al. / Computers and Structures 100-101 (2012) 1–17

Fig. 7. A two-dimensional truss model of the existing three-hinge arch structure is easily developed.

Fig. 8. Modification of a truss model by the designer in the fluid interactive environment, with real-time update of analysis results and performance parameters.

Fig. 9. The resulting alternative (user-generated) design – an inversion of the original three-hinged arch concept.
R. Clune et al. / Computers and Structures 100-101 (2012) 1–17 9

3.3. Case study: Truss design problem 3.4. Case study: Extensibility of software

The previous case study showed the software being used to As a test of the extensibility of the developed software dis-
quickly develop a model of an existing structure and explore alter- cussed in Section 2.3, the prototype design environment is com-
native designs. Next, the software is used to explore solutions to piled to a dynamic-link library (DLL) and given to the fourth
the design problem shown in Fig. 10. The five point loads must author of this paper, who played no direct role in the prototype
be carried by a truss structure to the two green pin supports on software’s implementation and who did not have access to its
the right. The position of the supports and the lateral distance of source code. To enable this, several methods in the Artifact class
each load from the supports remain constant, but the vertical coor- are publicly exposed, which allow a developer to add additional
dinates of the point loads can vary. Once stability is achieved by modeling and analysis functionality to the pre-existing compo-
the Warren truss shown in Fig. 11, analysis results are displayed. nents. These methods accept Structural Model or Mathematical
All fourteen designs shown in Fig. 12, and the initial design Model objects as arguments, and perform the necessary steps to
shown in Fig. 11, were generated by a designer in less than five integrate them to the environment.
minutes total. At first, the designer maintains the parallel top In this case, a new Mathematical Model class is written and con-
and bottom chords of the truss, and varies the configuration and nected, via the abstract base classes, to the Truss2D class. The ob-
topology of the web members. The lightest of these parallel-chord ject instantiated from this new class calculates natural
designs is the modified K-truss (Fig. 12(c)). The conventional K frequencies and mode shapes of a truss, a significant extension to
truss (Fig. 12(d)) is the stiffest, and the through Warren truss the original functionality, and displays the results in the
(Fig. 12(a)) is the cheapest under the assumed cost model. environment.
The designer varies the shape of the top and bottom chords while The stiffness matrix stored in the DirectStiffnessMethod2D class
maintaining the Pratt truss arrangement of the web members, and can be accessed by the new class via Truss2D and be used to per-
then varies the web members. These designs (Fig. 12(f)–(h)) gener- form an eigenvalue calculation. The mode shapes are represented
ally perform no better than the parallel-chord designs, although as nodal displacements in the environment, and access to a text
they may be considered more aesthetically pleasing. The design box is provided to display the modal frequencies. As with the orig-
moves towards a likeness of the well-known Michell truss. A very inally present functionality, responses from the analysis run in the
close approximation of the theoretical Michell truss is shown in NaturalFrequency2D class are generated and displayed in real time.
Fig. 12(l). It is the lightest of all the designs, and by far the stiffest. The DirectStiffnessMethod2D class is used, as before, to perform a
Due to the large number of connections present, however, it is sub- linear static analysis and determine the mass, compliance, and cost
stantially more expensive than all the other designs. The ability to of the structure.
track multiple performance parameters in real time enables design- Fig. 13 shows a UML representation of the classes used in this
ers to account for and understand the complex tradeoffs and inter- extension. As the figure shows, the current implementation of the
actions between often conflicting goals in a real-world design software requires new classes derived from Mathematical Models to
exercise. implement only the iMathematicalModel interface (i.e. to provide
Finally, a modification of the near-Michell truss leads the de- definitions for Analyze() and Detect Stability() methods) in order to
signer to a cantilevering cable-stayed bridge, a relatively cheap, conform to the architecture, even if the abstract base class which
although heavy and flexible, design (Fig. 12(n)). A comparison of the new class inherits sits at a lower level in the hierarchy than the
the performance measure of the generated designs is provided in Mathematical Model class. Although this is sufficient to demonstrate
Table 1. the applicability and merits of the approach, future implementations
This example illustrates the unprecedented freedom that a de- will make more specific demands of new classes depending on the
signer has to explore the design space in an intuitive way. A broad level of the hierarchy from which the classes inherit.
range of very different structural forms are easily generated in a Fig. 14 shows a design for a cable-stayed bridge generated using
short space of time, showing the software’s potential to encourage the software’s original functionality. The extension is then imple-
broad yet rational exploration at the conceptual stages of struc- mented, and the Analyze() method of both the original and the
tural design. new Mathematical Models are called in sequence. The designer

Fig. 10. A design problem to be solved in the environment.


10 R. Clune et al. / Computers and Structures 100-101 (2012) 1–17

Fig. 11. A stable cantilever structure, in the form of a Warren truss.

now has the modal frequencies and mode shapes of the bridge 4.1. Extension of software architecture
available in the real-time simulation environment.
Modifications to the design reveal that changes in the backstay The underlying approach to the extension of the developed
angle of the bridge have the most significant impact on the funda- architecture treats the optimization algorithm as a user of the
mental modal frequency of the structure. Fig. 15 shows a change of system, just like the human designer. The algorithm, via an Optimi-
the backstay angle which caused a dramatic drop in the fundamen- zation Object, modifies the Structural Model, which triggers an auto-
tal frequency, from 14.9 Hz (a) to 4.3 Hz (b). The first mode shape matic analysis by the Mathematical Model via the events described
of the structure is shown in each case, with the dashed lines show- in Section 2.2. The performance parameters of potential interest in
ing the undeformed geometry. structural optimization have already been logically aggregated in
Although a somewhat basic first step, this exercise demon- the Performance object described in Section 2.2, and these are used
strates the ease with which software developed using this architec- to form the objective function. The Optimization Object can also di-
ture can be extended, making it an extensible framework whose rectly access the analysis results produced by the Mathematical
default functionality can be added to after development. The addi- Model, should the parameters provided in the Performance object
tion of natural frequencies and mode shapes increases the richness prove insufficient. Fig. 16 shows the classes from which these ob-
of the design environment, encouraging the designer to consider a jects are instantiated in a section of the overall UML classification
broader range of performance measures at the earliest stages of diagram of the architecture.
conceptual design. The Optimization Object serves as a convenient link between an
algorithm and the analysis, modeling and visualization compo-
4. Extension to include interactive optimization nents of the software, facilitating the future extension of the soft-
ware to include new algorithms by making them easily replaceable
A tool that allows designers to conveniently experiment with discrete parts of the software. The overall architecture, extended to
modifying and applying an optimization problem would encourage include optimization capabilities, is shown in Fig. 17.
creativity in structural design, and would better enable those with
little optimization training to understand the significance and 4.2. Extension of software prototype
effects of varying optimization problem statements. Recognizing
the difficulty inherent in transferring the often ill-defined notions A sequential quadratic programming algorithm [24] is con-
of what exactly constitutes a good design to a precise problem state- nected to the other components of the software via the Optimiza-
ment, the proposed software architecture is extended to integrate tion Object. The algorithm is part of the IMSL C# Numerical
optimization algorithms in the interactive design environment. Library [25]. In the current implementation, the algorithm is used
This enables the development of interactive optimization soft- to optimize the geometry of the Truss2D model. The two-dimen-
ware, where optimization is seen as a flexible tool that can be sional nodal coordinates and the cross-sectional area of each truss
called upon as part of a fluid design process rather than the stand- member are the design variables, and they form the design vector
alone automated solution to a design problem typically pursued in x. The available performance metrics – mass, compliance and cost
the optimization literature. This allows the designer to exert an – are the potential objective functions fi(x) for optimization. The
appropriate amount of control over the design process, accounting weighting method of multi-objective optimization [15] is used to
for aspects of the design problem that cannot be adequately mod- combine multiple objectives into one. Relative weights wi are as-
eled in the mathematical optimization problem statement. signed to each of the i objective functions to form an overall objec-
It should be emphasized from the outset that none of the math- tive function given by Eq. (2).
ematical optimization theory or optimization algorithms presented
in this section are themselves novel. Nor is the optimization prob- X
k

lem solved in Section 4.3’s case study, or any of the truss designs min wi fi ðXÞ ð2Þ
x
obtained, novel. What is instead novel about this work is the i¼1

way in which the designer interacts with the optimization pro-


gram, and the architectural features that enable this. The benefits The optimization problem is constrained by setting upper and lower
of this type of interaction will be identified in reflecting on the case bounds on each design variable resulting in the problem statement
study. of Eq. (3).
R. Clune et al. / Computers and Structures 100-101 (2012) 1–17 11

Fig. 12. Fourteen designs manually generated in less than five minutes by a designer using the interactive environment.

X
k where xlb and xub are vectors of lower and upper bounds on the
min wi fi ðXÞ design variables.
i¼1
ð3Þ
The user is given control in the graphical user interface (GUI)
subject to xlb  x  xub over the relative weighting of each of the components. Fig. 18
12 R. Clune et al. / Computers and Structures 100-101 (2012) 1–17

Table 1 Design variables can be constrained in the GUI directly, allow-


Performance measures of user-generated designs. ing the designer to control the geometry of the resulting design
Mass (kg) Compliance (N mm) Cost ($) to as close a degree as desired. This is achieved either numerically
Fig. 11 135 2160 6040 or by drawing graphical exclusion and inclusion zones, which are
Fig. 12(a) 119 1810 5380⁄ then converted to upper and lower bounds by the software. Spec-
Fig. 12(b) 119 1810 6180 ified elements of the structure must lie either outside or inside of
Fig. 12(c) 114 1560 6040 these zones. The current implementation allows for these zones
Fig. 12(d) 120 1470 6200
Fig. 12(e) 137 2290 5900
to be associated only with nodes. Fig. 18 also shows the graphical
Fig. 12(f) 139 2490 5950 specification of an inclusion zone in the GUI of the implemented
Fig. 12(g) 148 3100 6240 design program. In this simple example, the top node of the truss
Fig. 12(h) 156 2670 6480 is constrained to lie inside the space enclosed by the rectangle dur-
Fig. 12(i) 148 2260 6250
ing optimization.
Fig. 12(j) 130 1720 5700
Fig. 12(k) 131 1830 5740
Fig. 12(l) 108⁄ 780⁄ 8250 4.3. Case study: Geometry optimization of a simply supported truss
Fig. 12(m) 137 1360 6010
Fig. 12(n) 158 2860 5750
In this example, the designer starts with a typical Pratt truss
*
indicates lowest (best) value attained. with parallel top and bottom chords. The truss is subjected to
downward-acting vertical point loads at each of the nodes in its
shows a series of track bars in the GUI which are used to modify top chord, as shown in Fig. 19. The implemented SQP algorithm
the relative weighting of components of the objective function. described in Section 4.2 is then used to optimization the geometry

Fig. 13. UML diagram of software extension showing the added natural frequency solver which enriches the design environment’s functionality.

Fig. 14. Design of a cable-stayed bridge using original functionality only.


R. Clune et al. / Computers and Structures 100-101 (2012) 1–17 13

Fig. 15. Modification of bridge design using results from natural frequency and mode shape solver, which give additional insight. Fundamental frequency drops dramatically
from (a) to (b).

Fig. 16. Optimization object and performance object in the UML classification diagram.
14 R. Clune et al. / Computers and Structures 100-101 (2012) 1–17

Fig. 17. UML classification diagram of the entire software framework, including optimization and performance objects.

Fig. 18. Intuitive graphical control of the optimization problem statement.

and member sizing of the truss. The design variables are the described in Section 4.2. These are aggregated in the Structural
geometric coordinates of all nodes, except for those at support Performance #1 class shown in Fig. 16. The mass of the structure
locations, and the cross-sectional areas of the truss members. is given a relative weight of 8, compliance a relative weight of 2,
The design variables can be manually constrained, as shown in and cost a relative weight of 1.
Fig. 20. The designer right-clicks on a node, opening a contextual The optimization is run, and the result is shown in Fig. 21. The
window in which bounds on geometry are set. The node is set to top nodes move to form an approximation of a parabolic top chord,
‘fixed’, which removes its coordinates from the optimization de- with the side nodes moving outwards and closer to the supports.
sign vector, preventing it from moving during optimization. In this The three available performance measures for the truss are com-
example, the nodes of the lower chord are fixed in space. The top pared in Table 2. The mass of the truss is reduced by 26.7%, and
nodes are bounded to remain within a square equal to the size of the compliance is dramatically reduced by 30.4%. The reduction
one of the initial truss bays, centered on their starting location. in mass of material used is primarily responsible for the 26.5%
This prevents the algorithm from causing two members to cross reduction in cost, although the reduction of forces at nodes also
each other, which would be physically infeasible, and from locating contributes.
two nodes at the same point, which could generate a member of Once an optimization has been run, the user is free to continue
zero length causing division by zero in the stiffness matrix. to modify the structure in the design environment. This represents
The relative weights in the multi-objective function are set a significant advantage over precedent structural optimization
using the track bars in the GUI. Mass, compliance and cost are packages. The result of the optimization is not a static snapshot
the available objectives for minimization, following the model of a finalized design, to be accepted or discarded by the designer.
R. Clune et al. / Computers and Structures 100-101 (2012) 1–17 15

Fig. 19. Starting point: A user-designed simply supported truss with diagonal bracing.

Fig. 20. Setting of optimization-related parameters for nodes in a pop-up window.

Fig. 21. Result of geometry optimization using multi-objective SQP. Mass, compliance, and cost are all reduced.

Rather, it exists in the live environment and can be freely modified, exploration. Fig. 22 shows a result that the user has modified.
and optimization is fluidly integrated into the process of design The horizontal coordinates of the nodes along the top chord are
16 R. Clune et al. / Computers and Structures 100-101 (2012) 1–17

Table 2 Table 3
Comparison of performance measures of truss design before and after optimization. Comparison between performance measures of truss design at starting point and after
user modification.
Mass (kg) Compliance (N mm) Cost ($)
Mass (kg) Compliance (N mm) Cost ($)
Starting point – Fig. 19 2390 6280 73,800
After optimization– Fig. 21 1750 4370 54,600 Starting Point – Fig. 19 2390 6280 73,800
User-modified – Fig. 22 1970 6060 61,180
Change 26.7% 30.4% 26.5%
Change 17.5% 3.5% 17.1%

modified to restore the verticality of the web members. In addition,


the height of these nodes is modified to make the four outer (top design space and offers three distinct and important advantages
chord) members the same length. Both of these steps make for a to designers compare to typically available structural analysis
more practical, easily constructible structure – objectives which software.
the optimization algorithm did not consider. The designer finds a The first of these is the fluid nature of the interaction with the
practical solution which is still close to the mathematical optimum software, where system responses are generated and usefully em-
recommended by optimization. ployed in real time in response to design changes, without the need
As expected when handing control from the algorithm to the for the designer to explicitly run an analysis and enter a results
designer, the improvements in performance measures (shown in visualization mode. This type of interaction in enabled by the
Table 3) are less than those originally achieved by the optimization seamless integration of separately developed modeling compo-
algorithm alone. The additional merits of the user-modified design, nents (Structural Model objects) and analysis components (Mathe-
however, which the optimization did not consider, may well make matical Model objects). The benefits of this type of interaction to
this a worthwhile tradeoff. the designer are discussed in Sections 3.2 and 3.3.
This example is illustrative of the proposed way of thinking The second advantage offered to designers is the extensibility of
about optimization as an integrated part of design exploration in- the software beyond its initial functionality. By developing soft-
stead of a standalone solution to a design problem. By allowing the ware on the basis of the proposed architecture, where components
designer to use engineering judgment and intuition alongside respecting object-oriented interfaces are implemented as objects
mathematical optimization, subjective evaluation criteria such as derived from a set of integrated base classes, new modeling and
constructability and practicality, which are crucial in structural analysis components can be added to the integrated design envi-
engineering but difficult to express in an objective function, can ronment without disrupting the original functionality.
be considered in an optimization-aided design process. In this This extensibility, and the resulting scalability, of the environ-
way, the proposed architecture addresses the perceived impracti- ment hold the key to its potential for commercial development
cality of using optimization in structural design. and application to industry. Section 3.3 demonstrates the ease of
extension of analysis capabilities beyond those initially provided;
5. Conclusion the same extension of structural modeling capabilities is equally
feasible. This easily extensible approach makes the software partic-
The software architecture presented here is a primary contribu- ularly appealing to users in small and medium-sized design prac-
tion of the work. The most important novel features of the archi- tices. They need not invest in a package with levels of
tecture are the establishment and clear separation of three sophistication that will likely never be required. Instead, they can
abstract levels of representation of structures and the particular specify what types of modeling and analysis they want for their
hierarchy within each level of representation, which groups com- specific line of business, and extend if this changes or expands in
mon functionality and inter-level communication at a base class the future. It is this ease of extension that ensures that users with
level. Previous software architectures, and the way in which the programming ability will be able to add separate analysis, modeling
proposed architecture differs from these, are discussed in Sections and optimization methods.
1.2 and 2. The third and primary advantage that the developed software of-
The intellectual concepts of the architecture have been tested fers to designers is the ability to use optimization in a fluid, simula-
and proven in the development of a fully scalable virtual environ- tion-based, fully extensible design environment unlike any other
ment which allows an efficient and extensive exploration of the available today. Optimization is integrated as a flexible tool that

Fig. 22. User modification of optimization result in the live environment, resulting in a more practical design.
R. Clune et al. / Computers and Structures 100-101 (2012) 1–17 17

can be combined with human experience, intuition, and preference [4] Bentley Systems. BIM and Beyond-Generative Design: GenerativeComponents.
url: http://www.bentley.com/en-US/Products/GenerativeComponents.
in addressing a design problem, unlike the standalone automated
Accessed: 10-Jun-2011.
solution of design problems traditionally pursued by the optimiza- [5] Shea K, Aish R, Gourtovaia M. Towards integrated performance-driven
tion community. In this way, the work brings increased relevancy generative design tools. Automat Const 2005;14(2):253–64.
and rejuvenation to the field of structural optimization by proposing [6] Von Buelow P. Suitability of genetic based exploration in the creative design
process. Digit Creat 2008;19(1):51.
solutions to identified limitations in the field’s application to the [7] Bazjanac V, Crawley DB. The implementation of industry foundation classes in
conceptual design of structures and by demonstrating a real simulation tools for the building industry. Lawrence Berkeley National
implementation of these ideas in a developed piece of software. Laboratory; 1997.
[8] Autodesk. Autodesk – Robobat Acquisition. url: http://usa.autodesk.com/adsk/
The paper describes the architectural features required to servlet/item?siteID=123112&id=10466421 Accessed: 10-Jun-2011.
include optimization in such structural design software, and out- [9] Dassault Systèmes. Dassault Systèmes Completes the Acquisition of ABAQUS
lines a clear methodology, via the Optimization Object, for research- Inc. url: http://www.3ds.com/company/news-media/press-releases-detail/
release//single/965/ Accessed: 10-Jun-2011.
ers wishing to incorporate new or existing algorithms into the [10] Mocko GM, Fenves SJ, N. I. of Standards and T. (US), A Survey of Design-
framework. The ease of integration of optimization algorithms Analysis Integration Issues. Citeseer, 2003.
and analysis methods for response generation is an important fea- [11] Dr. Software, Dr. Software - Real-Time Engineering Analysis Software. url:
http://www.drsoftware-home.com/. Accessed: 10-Jun-2011.
ture of this architecture, and is a marked improvement over the ad [12] Martini K. Non-linear structural analysis as real-time animation: borrowing
hoc methods currently used to achieve such necessary integration. from the arcade. In Proceedings of the computer-aided architectural design
This architecture is a significant step towards the long-pursued futures 2001 conference, 2001. p. 643–56.
[13] Greenwold S. ‘‘Active Statics,’’ 2003. url: http://acg.media.mit.edu/people/
goal of bringing structural engineering into the conceptual stage of
simong/statics/. Accessed: 10-Jun-2011.
the design process, encouraging greater integration of design [14] Ray T. Applications of multi-objective evolutionary algorithms in engineering
teams. The creativity and freedom of form exploration associated design. Applications of multi-objective evolutionary algorithms 2004;1:29.
with geometric modeling is combined with the rationality and con- [15] Coello CAC. A comprehensive survey of evolutionary-based multiobjective
optimization techniques. Know Informat Syst 1999;1(3):129–56.
straint of engineering analysis. This is a unique and original ap- [16] Miller GR. An object-oriented approach to structural analysis and design.
proach to the problem, representing a major change in the way Comput Struct 1991;40(1):75–82.
structural design software is built. If widely adopted, the approach [17] Larman C. Applying UML and patterns: an introduction to object-oriented
analysis and design and the unified process. Prentice Hall; 2002.
could significantly change the way design is performed in practice [18] Booch G, Rumbaugh J, Jacobson I. Unified modeling language user guide. The
and enable the development of flexible design software which can (Addison-Wesley Object Technology Series). Addison-Wesley Professional;
easily be extended after initial development. 2005.
[19] Mackie RI. Object oriented programming for structural mechanics: a review. in
Civil and structural engineering computing: 2001. Saxe-Coburg Publications;
Acknowledgements 2001.
[20] Heng BCP, Mackie RI. Using design patterns in object-oriented finite element
programming. Comput Struct 2009;87(15–16):952–61.
This work was supported in part by the Singapore-M.I.T. Alli- [21] Delalondre F, Smith C, Shephard MS. Collaborative software infrastructure for
ance Fellowship in Computational Engineering. adaptive multiple model simulation. Comput Meth Appl Mech Eng
2010;199(21–22):1352–70.
[22] Dauby JP, Dagli CH. Using extensible modeling in systems engineering and
architectural search. In: 2009 3rd annual IEEE systems conference, 2009. p.
References
426–430.
[23] Turner MJ. The direct stiffness method of structural analysis. Boeing Airplane
[1] Simulia. Abaqus FEA. url: http://www.simulia.com/products/abaqus_fea.html. Company; 1959.
Accessed: 10 Jun-2011. [24] Spellucci P. An SQP method for general nonlinear programs using only equality
[2] Computers and Structures. SAP2000 Overview | CSI Website. url: http:// constrained subproblems. Mathematical Programming 1998;82(3):413–48.
www.csiberkeley.com/sap2000. Accessed: 10-Jun-2011. [25] Rogue Wave, ‘‘IMSL Numerical Libraries,’’ 2011. url: http://
[3] McNeel. Rhinoceros: Modeling tools for designers. url: http:// www.roguewave.com/products/imsl/. Accessed: 10-Jun-2011.
www.rhino3d.com/. Accessed: 10-Jun-2011.

Das könnte Ihnen auch gefallen