1.1 Computation and The Structural Engineer
1.1 Computation and The Structural Engineer
1.1 Computation and The Structural Engineer
Computational engineering |1
1 Introduction
“I think there is a world market for maybe five computers.”
Thomas Watson, president of IBM, 19434
2 August 2012 saw the first track cycling event at the London 2012 Games. Rather than a more conventional frame
the engineers chose to make the Velodrome roof a hyperbolic paraboloid constructed of cables. Careful computer
analysis to find the best form of the roof, along with a stiff substructure to provide the prestress, enabled them to
reduce the weight to one tenth that of the adjacent venues5. In recognition of its accomplishment, the Velodrome
won the IStructE’s Supreme Award for Engineering Excellence in 2011.
The common theme between these two projects is the application of computerised design: one bad and one good.
Computers have also revolutionised other parts of the design office: where before there may have been five drafters
for every engineer, there are now five engineers for every 3D CAD technician. Engineering design teams have
become more productive and used that power to create more efficient and complex structures. Without doubt
engineering is changing, construction is changing, the environment is changing, new materials and technologies are
changing our industry and we need to understand how best to make use of these new methods and options.
What is the role of an engineer in the modern day? Where Artificial Intelligence programs use Machine Learning
to produce a structure, FEA programs analyse them, optimisation programs hone them to the ideal, and
knowledge-based systems check them against the regulations, why do we still need humans if everything can be
done better and faster by machine? The answer is that machines can do some things well, such as maths or
checking hundreds of options to see which is best, but they are terrible at other tasks. Computers do what they
are told, but they do not understand. They can explore possibilities, but they cannot invent. They can check for
things that have been problems in the past, but not for things that have not been problems until now, and it will
be a long time before a computer can attend a site meeting, discuss the issues with the contractor, and suggest
a solution!
This left a marked impression on me, as it rightly highlighted the responsibility that an engineer has. But it is also a
negative view on what civil engineers do, so I would like to propose a revision:
Civil engineering has the power to improve the quality (and therefore length) of people’s lives. The work of
engineering hero Joseph Bazalgette saved the lives of countless thousands with the creation of the London sewers
in the 19th century. Water engineers today continue that vital work, whether supplying clean and safe drinking water
or taking away the foul. Transport engineers check that station platforms do not become overcrowded (the only way
out is onto the tracks). Fire engineers ensure that people can escape from a burning building in time. And so on.
With structures the main work is indeed ensuring that it does not collapse and that it functions in useful ways,
but there is more that we do to positively affect the world. Bridges and tunnels allow people to cross wide rivers;
giving access to food, medicine, business and society. Buildings provide shelter from cold, heat, rain and wind —
and provide safe places to live, learn and work.
Likewise, engineers do not make structures, we make models of structures. These models can be in many forms:
they can (and should) be mental models of how the building, bridge etc. will behave, physical models† and, of
course, computer models of the structural behaviour and physical detail.
Unlike manufacturing, construction is very inefficient. Some of this is because of unknowns that are out of our
control, such as the weather. Some unknowns are hard to resolve in advance, such as ground conditions —
boreholes can only tell us a little about the site. And some is the difficulty in automation on yet another unique
project.
While engineering is an art, it is a technological one. It has, at its core, a principal tool called mathematics.
Mathematical ability is viewed as an important attribute of any engineer, but the modern computer is far, far better at
maths than we are. They are faster, more accurate, and tireless. They are also stupid to the point that they cannot
do anything at all without being told to do so first. It is true that computers can now learn, but only because we tell
them how. They cannot think, they cannot imagine, but they can explore possibilities far faster than we can.
When Big Blue beat Garry Kasparov, the world chess champion, it did so by testing millions of possible moves to
choose the most promising one. Kasparov, on the other hand, always considered just one move — the right one7.
Kasparov won the first round, but he lost the second: the age of Artificial Intelligence had finally arrived. While AI
then went on to conquer the game of ‘Go’8, which is several orders of magnitude more complex than chess, it is not
all-conquering. Although the best AI beats the best humans at games, they are both trounced by centaurs: humans
and AI working together in partnership.
Arguably, structural engineering design is more complex than games like Go; it is certainly less structured††.
Engineering is an art, a science, an invention, and an application of technology. It has the rigour of the mathematician
and the inspiration of the sculptor. And structural engineering is at its best when human and machine work together,
using the talents of each to bring out their maximum potential.
†
Though not so much today. Physical models were useful in the past, especially for form finding, and are making a comeback thanks to
3D printing.
††
Ironically.
The Institution of Structural Engineers
Computational engineering |3
One of the big problems facing engineers is that we can solve only the simplest of structures by hand because
the mathematical process rapidly becomes too complex. This means that we need techniques such as FEA
working on computers to solve them for us. Our job is to produce good answers, and we do that by putting
good data into appropriate software. But how do we know what is good data and good software? This is where
‘validation’ and ‘verification’ come in. These terms have several definitions, mostly depending on what you are
trying to do.
Validation asks whether the software does the right thing. For developers of the software this means whether it does
what it is supposed to do; this often means whether it gives the right answers to standard questions. For engineers,
the question is more whether the software is appropriate for this particular problem: Is it geared to give me the
answers that I need, or should I use something else?
Verification asks whether the output matches reality: are the answers correct? This is tricky as we are using the
program to find the answers! You need to have a good idea of the approximate answer and use the computer
program to find the numbers. For a structural problem, you should know what the deflected shape and bending
moments, etc. should look like in advance.
Of course, there will be times when you want to use the FEA program as a sandbox: to run experiments. When
I was a graduate, I had a debate with my boss about how reciprocal structures worked†. We eventually
resolved it when I created an FEA model of an example that we were happy with. Experiments like this can be
particularly useful, but are to be used with care, especially if they are on a live project rather than just a
theoretical exercise.
So, good answers are ones you expect, and bad answers are often ones you do not. Answers that do not match
your expectations are usually because:
Modelling errors are the most common source of bad answers. They might come from the wrong sign on loads,
the wrong units being chosen, errors on calculating the input, typos, and many other factors. Errors in FEA models
have led to structural collapses, so we will look deeper into this important topic later.
Having wrong expectations is an interesting problem: you think that you know how things work but you are still
learning. Well get used to that, because to work in engineering is to experience a lifetime of learning. For example,
I once worked on an asymmetric portal frame that always swayed the same way despite the wind direction. Despite
my expectation that a structure always sways with the wind, this one defied that thinking because of its unusual roof
geometry. Likewise, there are examples of multi-storey structures published in The Structural Engineer where a push
on the first level resulted in a deflection of the upper levels in the opposite direction10,11. If in doubt talk to your more
experienced colleagues.
†
Reciprocal structures can lack robustness, so are not suitable for all situations, but can be very elegant.
4
| The Institution of Structural Engineers
Computational engineering
As for bad software, anyone who has programmed knows it is easy to make mistakes, but professional commercial
software writers also know that and put their programs through banks of tests. They will have validated and verified
their software to the best of their ability, but it is possible that you might have found a bug that slipped through. It is
most likely to be your mistake but do speak to them if you have exhausted possibilities 1 and 2, as professional
programmers are always striving to perfect their programs.
In summary: assume that you are wrong until proven correct, and if in doubt, ask.
The maths involved in engineering design has seen several ‘revolutions’ over its time (Figure 1.1). First, slide rules†
meant that we did not have to look up logarithms in tables. They did not stop engineers from working, quite the
reverse. Instead they automated the drudgery of multiplying large numbers — allowing the engineer to concentrate
more on the engineering and less on the maths.
I still have my father’s slide rules and they are beautiful and tactile things, though I find calculators considerably faster
and more adaptable. These quickly replaced slide rules, though there were grumbles from traditionalists more familiar
with mechanical calculations. True that there was no scope to “bend the wire to get the right answer” as one senior
colleague told me, but also there was less scope for getting the order of magnitude of the answer wrong.
When I was at school we were constantly told of the importance of mental arithmetic as we “would not have a
calculator in our pockets”. With the advent of the smart phone, that is no longer true.
†
Analogue mechanical computers, sometimes known as ‘slipsticks’.
The Institution of Structural Engineers
Computational engineering |5
That said, the ability to solve approximate sums in your head is still incredibly useful, whether in the supermarket or
the design office, at least as a check.
Pocket calculators replaced slide rules because they could do more and do it faster and more accurately. And
programmable computers do more tasks faster than calculators. At base level, they are both doing the same thing:
adding up zeros and ones very quickly (and not even that if you speak to electronic engineers) but computers can
add layers of control and meaning to the numbers to make them easier for us to work with. The numbers can
represent a load, a beam, a floor, or a bridge; more numbers can show us on the screen what the structure looks
like or how it will behave.
Computers are tools to take some of the drudgery out of engineering tasks and allow us to concentrate more on the
engineering. Of course, the tools do require some attention as well, but a good tool delivers more savings and
efficiency than it takes. A saw might need sharpening occasionally, but it will cut a lot quicker and easier if you invest
that time (or money getting someone else to sharpen it for you). Likewise, computer tools need some maintenance,
whether the hardware or the software, commercial or self-written.
Figure 1.2: Time spectrum on a project for a typical structural engineering designer14
Imagination Innovation Construction Details Sums Drawings
Concept Models Materiality Connections Iteration Compliance
Ideas Sketches Holistic design Modelling More sums Even more sums
Exploration Parametric des. Collaboration Sustainability Codes Checking of sums
Some tasks involve calculation, many do not. For those that do, much will involve building models in commercial
software, some creating programs to work with or within commercial software, and (only occasionally) require writing
a standalone program. In general, computers are involved more as the project progresses, whether for calculation or
communication.
Modelling with commercial software requires little maths skill, other than that required to ensure you have the right
inputs. If you want to program computers to do engineering tasks, say setting up a parametric model, then that
requires good understanding of the principles involved. Programming tasks, such as writing FEA solvers or creating
optimisation macros, does require a deep understanding of mathematics.
The maths that you need to program a computer is often simple but needs breaking down into tiny steps.
Computers do exactly what you tell them, but even the Artificial Intelligence programs have no knowledge or
understanding. We can take shortcuts and remember answers (such as: “What is 5 × 5?”). We know the answer and
can repeat it as many times as we are asked, but a computer will calculate it every single time no matter how often
it is asked that question.
In the early days, if you wanted to run an analysis program you had to write it yourself first. Then came the
multi-purpose commercial programs, and the ‘engineer-programmer’ became a rarity. Today the tide is turning again
as the commercial programs become platforms for your scripts and code. You might not write a FEA solver, but you
are likely to write a program to generate the geometry that the FEA program will analyse. The commercial programs
may have section-sizing tools, but your macro may work with it to optimise the section choice over the whole
building. Many consulting engineers, and some contractors, expect their graduates to have some programming skills.
6
| The Institution of Structural Engineers
Computational engineering
Besides, programming is not only a useful skill, it also teaches you about sequencing and creating instructions such
that anyone can follow them, even a computer.
We are now also seeing Machine Learning and Artificial Intelligence programs being used for structural engineering.
While these too are not going to replace engineers, or indeed our existing analysis programs, they are going to make
our work more efficient. ML techniques are providing new opportunities for engineers to focus more on the important
things by prefiltering information and making recommendations. AI programs might not be trusted to make life-safety
decisions, they are too vulnerable to bad data, but they may act as assistants.
Might a computer program one day be able to pass our own Turing Test and take the IStructE Chartered
Membership exam? I believe it’s possible, even if not in the short term, but such a program would still not be able
to attend a client or site meeting. Engineers are creative problem-solvers, computers are lightning-fast calculators;
each has strengths and weaknesses. The best engineers recognise both and use the computer to find the optimum
answers, explore options, react to changes, and minimise rework faster than they could by themselves.
CO2 is a greenhouse gas that is contributing to global warming. 40% of all global energy-related emissions are due
to buildings and construction15. About half of a reinforced concrete structure is there to support its self-weight, yet
we usually just pick a beam or column size and make it work. Simply choosing the best section size could make a
significant difference to the environment; reducing CO2 emissions, sand and gravel extraction for aggregate,
limestone for the cement, timber for the shuttering, and so on.
It was once thought that 75% of the energy use of a building came from its operation, but this is no longer the case.
Operational energy usage has plummeted thanks to better insulation, energy-efficient heating, renewable energy
production, and so on. Now it is the other way around, with nearly 70% of the energy used embodied in the
structure16. This means that it is even more important today to optimise our structures, and not just pick a size and
make it work.
While we must never under-design, over-design is being increasingly seen as an industry-wide problem. Studies have
found that structural engineers regularly over-design, with much of a structure working at about 50% utilisation17,18
and most structural material is only at about 10% utilisation19. There is much to be done in the overall design of
structures to make them more efficient, in choosing the correct section size for the load, and ensuring that the
section shape is also the most efficient. If we can design the structures better, then together we can have a
significant impact on climate change.
So, what are the roles of the engineer and the computer in this digital age?
Computers are fast, powerful, and will give the right answers if given the right information and algorithms; and will
give the wrong answers just as fast if the information they’re given is incorrect. The engineer’s role is to choose the
data and the method, then to judge the answer. All engineers must know the answers, at least approximately, before
they run any analysis or design.
But how do you spot errors and how do you predict the answers when you need the computer to calculate them?
There are techniques and heuristics to create good models, predict the answers, and to track down errors.
The Institution of Structural Engineers
Computational engineering |7
Knowledge of the inner workings of the program might not be as important as understanding structures, but it
can help.
How might you create a perfect model then? Alas, perfection is not possible as:
“… all models are wrong; some, though, are more useful than others…”
McCullagh & Nelder21,†
You cannot model all the possible imperfections and tolerances, the exact loadings, and the actual materials used
that may be in the final structure. The aim of the structural analysis is not to work out how the structure will stand
up, but to ensure that it will not fail or otherwise misbehave, while still being economical and efficient. You need to
work out all the loads that the structure is likely to experience and ensure that there is sufficient strength to cope,
plus a bit extra as we can never be entirely sure. But there are also some risks that are so unlikely/insignificant that
they are not worth designing for. In the UK for example, we do not design for earthquakes††. Similarly, it is generally
only government, military, and some industrial buildings that are designed for explosions.
While there may be a correct answer to an analysis, design often has no definitive answers, only better and worse
ones. In these situations, the computer can quickly explore different alternatives and quantify some of the
advantages and disadvantages of the options. Engineering is the art of getting the answer near enough, with failure
not being an option. The definition of failure can vary though. A structure might be said to have not failed during an
earthquake because everyone was able to escape safely, even though it needs demolition afterwards; for another
structure, such as a hospital, non-failure means that it can be used immediately after an earthquake. Cars are
designed to protect occupants in the event of an accident by absorbing the damage itself. All models are wrong,
but is your model near enough?
†
The origin of this quote is in some dispute — although it is commonly attributed to George Pelman Box22.
††
In the UK, seismic design is mostly confined to nuclear power stations.