You are on page 1of 16

1

CURTIN UNIVERSITY OF TECHNOLOGY

ENGINEERING FOUNDATIONS; DESIGN AND PROCESSES

COMPUTERS AND DESIGN

INDEX
Page
Quotations 2

Introduction 3

The nature of computers 3

Computers and engineering design 8

What CAD cannot do 11

People + Processes + Technology = advanced engineering capability

Define the problem Human values


Define the concept Technical feasibility
Define the solution Viability
2

Murphy’s laws of computing:

When computing, whatever happens, behave as though you meant it to  
happen.

When you get to the point where you really understand your computer,  
it's probably obsolete.

The first place to look for information  is in the section of the manual  
where you least expect to find it.

When the going gets tough, upgrade.

For every action, there is an equal and opposite malfunction.

To err is human... to blame your computer for your mistakes is even more  
human, it is downright natural.

He who laughs last probably made a back­up.

If at first you do not succeed, blame your computer.

A complex system that does not work is invariably found to have evolved  
from a simpler system that worked just fine.

The number one cause of computer problems is computer solutions.

A computer program will always do what you tell it to do, but rarely  
what you want to do.
Anon

The   single   biggest  problem   in   product  data   management   is   accommodating  


uncertainty in the data. CAD tools require exact dimensions.
George G. Dodd ( Head, Analytic Process/CS , General Motors )

Programming   today   is   a   race   between   software   engineers   striving   to   build  


bigger   and   better   idiot­proof   programs,   and   the   universe   trying   to   produce  
bigger and better idiots. So far, the Universe is winning.
 Rich Cook 
3

Software and hard drugs are the only two professions that refer to their
customers as 'users'.
Anon
4

INTRODUCTION

The computer is the most important device created in the 20th century; it has and 
will continue to profoundly change society. Computers influence engineering in 
four key areas:

* Design
The   role   of   the   computer   in   design   varies   according   to   the   field   of 
engineering. In some – such as most areas based on electronics and in 
aerospace – the computer dominates every aspect of design and indeed 
it would now be impossible to design except by computer. In others, the 
computer is only used in particular areas of the design process.

* Implementation
Almost every production unit sold for manufacturing is now computer 
controlled in some way. Further, the process itself is usually computer 
controlled, especially in the process industries such as mining, chemical 
production,   much   food   production   and   so   forth.   In   addition,   almost 
every instrument used in any form of engineering now includes one or 
more computers.

* Information management
Computers  have a role in managing the information of a project and 
archiving that information. However, they allow other services. Once 
designers consulted handbooks for design data and what suppliers had 
on offer. Increasingly, this is moving to the Internet. 

* Project management
The   computer   is   ideal   for   managing   any   project   by   keeping   track   of 
events, costs and related data.

THE NATURE OF COMPUTERS

In spite of their ubiquity, computers are still misunderstood:

* A computer is an integrated structure of hardware and software. 

* The hardware provides performance to the structure; it determines how 
fast the software executes, how much can be stored and the connections 
to external systems.
5

* The software provided the functionality of the structure; it determines 
what it can do and how well it does it.

The hardware of a computer consists primarily of three key abstract elements:

* Processor
This   executes   the   software.   Physically   it   is   now   a  microprocessor;   a 
single chip.
* Memory
Memory is where programs and data are stored. Memory in a modern 
computer is a hierarchy; there is a small high speed cache between the 
processor   and   main  RAM  (   Random   Access   Memory   )   and   backing 
those is a  hard disk  ( so­called as once there were soft or removable 
floppy disks ) .

* I/O ( Input/Output )
Useful devices such as printers, communications interfaces and the like. 
Increasingly these connect to the rest of the system via a standard bus 
such as USB ( Universal Serial Bus ) or firewire.

At present, there are three types of computer hardware structures:

* Stand­alone systems
What   most   people   assume   is   a   computer;   a   box   with   keyboard   and 
screen intended to run a variety of applications. They have a very good 
I/O section including a good human interface.

* Embedded controllers
These   are   computers   embedded   into   another   system   to   provide 
functionality,   control   or   monitoring   and   usually   just   execute   one 
software   application.   Their   presence   is   rarely   obvious.   For   example, 
very   few   people   are   aware   they   are   in   remote   control   units,   engine 
management   systems   in   vehicles,   DVD   players,   washing   machines, 
most electronic instruments and so forth. They are sometimes termed 
microcontrollers; a single chip offering a processor, memory and some 
peripherals.

* Information Appliances
To some degree a mixture between embedded and stand­alone. Often it 
is a device that is not obviously computer­based – a mobile phone or 
MP3   player   for   example   –   but   they   can   execute   a   narrow   range   of 
6

software options, usually in the form of ‘plug­ins’, that must meet rigid 
requirements. For example, games for a games console

Modern computers rarely exist in isolation. Increasingly, they are part of one or 
more  networks.   A   network   is   simply   a   set   of   computers   linked   by   some 
communications system. The physical communications system can be:

Optical fibre
Electrical cable
A public or private switched communications system

or any combination of these. Actual communication is via a specific protocol acting 
over the physical link. The most obvious is Ethernet used on the Internet and many 
private networks. However, there are others. For embedded systems for example:

* MAP ( Machine Access Protocol ) intended for industrial equipment;

* FlexRay, a new protocol for automobile networks expected to replace the 
current Lin and CAN standards.

The software structure of a computer varies according to its type. For a stand­alone 
system, there are two key elements to that structure:

* Operating system
This   controls   the   operations   of   the   computer   and   provides   four   key 
interfaces for software executing on the system:

To a virtual computer; a similar processor but fixed memory
To a graphical user interface ( GUI )
To a network
To a database or information management system

  For many areas of technical computing, a variation on Unix tends to be 
the preferred operating system, especially one of the Linux variants.

* Applications
These   work   through   the   operating   system   and   its   key   interfaces   to 
provide functionality. Most applications are  interactive, meaning they 
function via a dialogue with a human established through a GUI.
7

For an embedded controller:

* There is rarely an operating system, but if there is then it is invariably a 
real­time   operating   system.   This   simply   means   an   operating   system 
that responds to any external event in a guaranteed time. 

* There is invariably a single application although it can have multiple 
modules. It is usually  event driven. That is, it waits for some external 
condition to occur on one of its peripherals, then it acts and probably 
issues a response through another peripheral. 

A recent development in computing is the cluster. This is simply a large number of 
stand­alone machines closely coupled together in a network to perform  parallel 
computing.   They   are   targeted   at   problems   that   require   massive   computing 
performance at low cost. Currently, about eight of the ten most powerful computer 
systems in the world are clusters. They tend to be more like an embedded system 
than a stand­alone as they usually execute one task for some time. Further, they 
may not use Ethernet but a specialised protocol like Infiniband. The first clusters 
were all constructed for engineering tasks and their use here is increasing as they 
enable a number of computationally intensive tasks in areas such as aerodynamics, 
hydrodynamics, structural analysis and soil mechanics to be easily resolved. Much 
CAD ( computer­aided design ) is expected to move to clusters.
The current trends in computing are as follows:

* Since 1990, computer performance has doubled every nine months by 
doubling the speed. A modern PC has roughly twice the performance of 
a   supercomputer   of   1990.   For   various   reasons,   speed   cannot   be 
increased   above   about   2   GHz   (   gigahertz   )   hence   the   emphasis   has 
shifted to increasing the throughput via multi­core processors.

* Memory in computers is slow in comparison to processors. While the 
capacity has expanded by a factor of four about every two years, disk 
capacity has expanded at a faster rate and this looks like continuing.

* The   advent   of   digital   television   has   seen   a   move   to   cheap,   high 


definition large screens. The trend is to even larger sizes at lower cost 
and   greater   definition.   Such   screens   will   also   be   used   in   computing. 
Indeed, there is some merging of television and computing,
8

* Traditional networking has a practical problem. The extensive cabling 
behind the machines makes cleaning difficult and that raises health and 
safety issues. Hence there is a trend to wireless networks to avoid that.

* For areas like engineering, there are advantages if engineers can carry 
around a lap top/3G mobile phone and link back to their personal base 
station. Again this favours wireless networks.

In very general terms, computers perform five basic functions:

* They communicate information. This can be:

° to humans, usually through a graphical user interface ( GUI );

° to other computers.

* They store information and a vast amount at that.

* They transform data through arithmetic and/or logical processes.

* They  manipulate  information, meaning they treat data as symbols and 


can perform actions such as splitting strings of symbols, joining them, 
replacing given symbols and so forth. 

* They can control other systems through an electronic interface.

Engineering   often   needs   to   use   computers   in   an  interactive   computing  mode. 


Here, a dialogue is established between a computer and a human being. Now:

* Each uses a different language in their part of the dialogue.
* The human mainly communicates through mechanical means:

Typing text on a key board
Moving a mouse
Clicking a mouse button
Moving a stylus on a tablet

In the future this could include speech or gestures.
9

* The computer reacts to the human action and mainly communicates back 
through graphical means. In particular:

It manipulates windows
It displays menus
It draws lines or other geometry

Graphics accelerators are now integral to most stand­alone computers:

* Standard accelerators allow the presentation of two dimensional ( 2D ) 
images  and video. The images  can  be  anything  – pictures,  drawings, 
schematics, etc – but the quality of the result is limited by the screen 
resolution.   At   present,   that   is   about   1024x1024   pixels;   excellent   for 
pictures, but poor for anything else.

These   accelerators   often   allow   multiple   objects   on   the   screen   –   often 


termed  sprites  – and in many cases allow translucency between them. 
Thus a screen can show a background and some appearance of depth 
with   different   moving   objects   at   different   apparent   levels.   This   is 
commonly used in computer games.

* More advanced accelerators allow the presentation of three dimensional 
objects ( 3D ) and actions like rotating or scaling these. ( Many standard 
accelerators offer this, but the software may not use it. )

* The most advanced accelerators add rendering. This means a 3D scene 
can be set up and light sources introduced to show shading effects. Thus 
synthetic   images   can   be   created   that   have   considerable   realism. 
Rendering is a very computationally intensive. Thanks to the demands 
of computer gaming, inexpensive chips capable of this will probably be 
standard on all computers in a few years time

There are three physical ways that a computer can link graphically to a human:

* Via a single screen. This is by far the most common.

* Via multiple screens. A common example of this is a flight simulator to 
train pilots. Such systems are now common in many other areas.

* Via   total   immersion,   more   commonly   termed  virtual   reality  (   VR   ). 


Through special glasses or a helmet the user appears to be in the middle 
10

of   a   3D   scene.   This   is   becoming   increasingly   important.   Two 


engineering examples:

° Aircraft engineers are using VR to examine flow lines over wings. 
It is very easy to extend this to flow lines around buildings, ships 
and so forth.

° With very large chemical plant, it can be difficult for maintenance 
workers to identify pipes and so forth they need to work on. Using 
VR, they can see the plant as they walk through it, but what needs 
to be maintained is highlighted. This principle has been adopted in 
medicine where now the surgeon sees particular internal organs 
previously scanned through MRI systems or the like.

COMPUTERS AND ENGINEERING DESIGN

Recall that engineering design is a process with a number of stages. These tend to 
be quite different from one another, so the question cannot be what do computers 
offer for design, but what do they offer for the different stages of design. That is a 
very broad topic indeed, but suffice to say they offer a great deal for all stages and 
there   are   numerous   software   packages   that   can   be   used.   They   tend   to   be   all 
lumped under the one heading of computer aided engineering ( CAE ) software. 

The   key   differences   between   engineering   processes   arise   in   the   detailed 


engineering design. Computer support here is commonly termed computer aided 
design ( CAD ) and again there are numerous software packages, each more or less 
specific to a given discipline. However, even here there are variations. In simple 
terms, there are at least three stages of design; high, medium and low level. In 
some disciplines, CAD covers all three but in others just the first and possibly parts 
of   the   second.   However,   what   is   true   to   say   is   that   almost   every   branch   of 
engineering   uses   CAD   to   some   extent,   that   this   is   changing   detailed   design 
processes and the use of CAD continues to grow. The reason for that is simple; it 
reduces the cost of design and gives better results.

CAD requires software and software for engineering design in general has to allow 
a model to be created of the final design. This model can be:

* A mathematical model, meaning some set of equations using standard 
operators such as addition, multiplications, etc.

* A  logical   model,   meaning   the   operations   are   logical   operators   like 


AND.
11

* In some cases, a mixture of the two.

Then four situations can arise:

* It is known how to construct the appropriate mathematical model for 
design and form this into a software package. The hardware has the 
power to execute that software with the performance required.

* It is known how to construct a mathematical model for design and form 
this into a software package. The hardware, however, does not have the 
power to execute that software with the performance required.

* It is not known how to construct an appropriate mathematical model 
and   form   this   into   a   software   package.   However,   if   it   was   then   the 
hardware should have the performance required.

* It is not known how to construct a mathematical model and even if it 
was, it is unlikely modern computers have the performance needed.

Examining these:

* The first describes most CAD as it stands.

* A number of problems fit the second category. In some cases it is just a 
minor lack of performance – an issue with speed or memory – that will 
probably   be   overcome   in   time.   However,   there   are   also   some   very 
computationally intensive problems well beyond the capabilities of any 
current computer. Many areas of engineering are interested in fluid or 
gas   flows.   Calculating   a  static  flow   is   challenging   but   can   be   done. 
However, computing how water flows down a channel after a sluice 
gate is lifted, for example, is very difficult indeed. It can be done, but 
even with a very powerful cluster not in real time. The most intensive 
computational   problem   known   at   present   is   simulating   chemical 
reactions  at the  molecular  level. They  can  also  be  computed  by  very 
powerful systems – but only over some weeks.

* The third category of problems is an issue now but research should find 
a   way   around   them   sometime   in   the   future.   There   are   a   surprising 
number   of   common   engineering   problems   that   fit   this   category. 
Consider metalworking. In the past, a skilled tradesman would know 
from experience how to adjust the speed of a lathe to compensate for 
12

tool wear and metal properties. There was never a need to develop a 
mathematical   model   of   the   process,   and   even   if   one   was   created   it 
would   not   offer   anything   of   practical   benefit.   To   have   a   computer 
control a lathe, though, does require having a mathematical model of 
this   machining   process.   Equally,   to   have   CAD   that   investigates 
machining   options   needs   such   a   model.   Creating   one   is   far   more 
difficult than it sounds and it took some years to develop models that 
were moderately useful. Even so, current models are far from perfect 
and so various actions have to be taken to avoid their deficiencies. 

* Again,   the   fourth   category   of   problems   is   not   as   rare   as   might   be 


thought.   In   a   number   of   areas   of   engineering   simplified   models   are 
quite   easy   to   create   and   are   used   in   the   initial   design   stages,   but   a 
detailed model is beyond current understanding. That may change in 
the future, but there is no guarantee of that. 

Then one way of categorising engineering would be by the type of modelling used. 
Two stand out.

Computing,   computer   engineering,   digital   electronics   and   much   of 


communications   deal   with  logical   models.   Here,   computers   can   do   almost 
everything in design. Indeed, in areas like digital electronics it is not possible to 
undertake a modern design process without computers. The major problem here is 
scale; designing a chip with one billion gates is very different to designing one 
with 5,000. Thus design in this area is currently software constrained.

A number of branches of engineering have  geometry  at the core of their actions. 


For example, much of mechanical engineering. Here CAD offers the following:

* The computer can easily construct that geometry as:

a wireframe model
a solid model

* It   is   possible   to   define   an   assembly   of   geometrical   structures   and   to 


display the assembly, parts of the assembly, slices through the assembly.

* It   is   possible   from   such   geometric   models   to   calculate   simple 


information such as their volume, mass, centre of gravity and so forth.
13

* It   is   possible   to   create   a   library   of   standard   geometrical   designs   – 


usually parts – and use them over and over in later work.

* Given   a   design,   it   is   usually   easy   to   modify   it   slightly   to   meet   an 


adjustment of specifications and to do so very quickly. That is, it is easy 
to customize a design service.

* It can be easy to verify a design meets a number of specifications and to 
check standard in­house or required design rules have been followed.

* It is often possible to simulate a design. In this case this means causing a 
structure   to   move   subject   to   the   assembly   connectivity.   That   in   turn 
allows issues such as clearances to be resolved.

* It   allows   bills   of   materials   to   be   easily   drawn   up   and   costs   to   be 


estimated.

* It   allows   each   part   of   the   design   to   be   directly   transmitted   to   the 


appropriate automated production machinery.
WHAT CAD CANNOT DO

Two problems with all forms of CAD:

* A   very   major   problem   is   that   the   more   a   CAD   package   can   do,   the 
longer   it   takes   to   learn   it.   One   consequence   of   that   is   once   an 
organisation settles on a particular CAD package, the less likely it will 
change even if the package does not do all that it requires.

* A   more   serious   problem   is   that   many   CAD   packages   use   their   own 
proprietary file formats for storing data. It can be surprisingly difficult 
translating   these   to   another   format   and   in   the   process   some   key 
information can be lost. A particular issue in the past was how a given 
geometric package handled curves. The result could be that surfaces did 
not properly match up. These problems have meant that over the last 
few   years   much   effort   has   been   put   into   standardised   data   storage 
formats so that such problems do not arise.

More serious concerns tend to be specific to given engineering areas. However, 
some reasonably general issues are the following:

* There is an issue of precision. All computers essentially use the same 
arithmetic processes and therefore a result computed on one computer 
14

should exactly match that of another. However, arithmetic is based on 
the   word   size   of   the   machine.   Most   machines   are   32   bit,   but   an 
increasing   number   are   64.   There   will   be   a   difference   between 
computations as the 64 bit word size machine has greater precision.

The more important issue here is that a computer has only a finite word 
size. When it multiplies or divides two numbers, then the result may not 
be exact. Rather, there may be a small round off or truncation error. If 
there are a very large number of such operations, then that error can 
become significant unless action was taken to prevent it. That may not 
be possible in all cases, hence a given package may only be suitable for a 
given level of complexity of problems. That is, as the problem scales, the 
computational errors increase.

* Engineering drawings in the past were a method of  visualisation  and 


communication.   Computers   offer   much   better   approaches   than 
drawings for both of these, but many still wish to produce drawings. 
This can be done, but the equipment needed is very expensive if the 
results are to be precise. Thus it fits into a category of ‘can but should 
not do’.

* If the basis of CAD is a mathematical model, then ultimately the value 
of the CAD is dependent on the quality of that model. That raises some 
important issues:

° Who   developed   the   model?   Was   it   experienced   designers   or 


software engineers or recent graduates in the field with software 
development experience?

° What validation has been or can be done of the model? It would be 
expected   any   commercial   software   can   cover  standard  design 
work, but what about extremes? What certainty can be given that 
the results are correct?

This   suggests   that   models   might  be   best   subject   to   a   standardisation 


process   and   that   some   CAD   packages   at   least   undergo   third   party 
verification, but so far there are few steps in this direction.

* Many areas of engineering design use a process that is essentially one of 
framing an initial estimate of the solution, then subjecting that to a series 
of   refinement   stages.   It   can   be   very   difficult   to   encapsulate   this   into 
15

software. Hence this raises questions of whether the design process that 
CAD might impose is appropriate or even the best for a given task.

Many of the more specific issues are difficult to discuss in any detail. However, 
two   selected   areas   highlight   some   more   general   issues.   To   begin,   consider 
structural engineering:

* A structure is an assemblage of elements. Each of those elements will be 
subject to forces where these derive directly or indirectly from gravity, 
wind and the like. Those forces can be a bending force, a compressive 
force,  a  stress  or  a  twisting   force  and   they   can   be   static  –  fixed   ­  or 
dynamic – varying with time.

* Consider these forces in more detail:

° If   an   element   is   stressed   then   it   elongates.   When   the   stress   is 


removed, it returns to its original length. However, if the stress is 
too   great  then   it will   not  and  indeed  the  element   may  keep   on 
stretching until it fractures. Similarly, if an element is subject to 
cyclic   stresses,   then   a   point   may   be   reached   where   it   again 
continues to elongate and this stress level is much lower than the 
single stress test value.

° If an element is compressed, then a point may be reached where it 
suddenly changes shape and again, it might fracture. Again, if the 
compressive force is cyclic then this may occur at a lower force 
level.

° The same applies to bending and twisting. 

* This type of behaviour – a different response to a different type of force 
and a change in behaviour at particular levels – is termed  nonlinear. 
Clearly,   to   include   this   in   a   CAD   model   is   vital,   but   it   is   equally 
extremely difficult. Because of the number of computations involved, it 
also becomes difficult to take into account events like wind gusts. The 
temptation for the CAD software designer is to approximate and that 
could introduce errors.

* In   designing   a   structure   like   a   multi­story   building,   it   is   not   just 


important to know if an element fails, but what happens  after  that. Is 
16

there catastrophic failure and the entire structure collapses or does it 
reach   an   equilibrium.   An   important   part   of   the   design   process   is 
determining how to minimise the impact of such an event. Again, this is 
very, very difficult to capture.

Structural   engineering   and   indeed   a   number   of   other   areas   of   engineering   are 


characterised by what is termed assembly design. That is to say, the basic elements 
of design – parts or materials – are designed and produced elsewhere and in this 
design process it is a question of linking them in some way to form systems. Then 
each   of   these   elements   has  tolerances.  There   may  be  some  nominal  or  average 
value but an  actual  element will have attributes  that fall within some statistical 
distribution about that average. Clearly, a first step in design is to use such an 
average to ensure  the system functions as  required.  However,  as the structural 
engineering problem illustrates, it is just as important to know in many cases what 
is likely to happen if the parameters should be extremes. 

There   is  a long­standing  technique  that  can  resolve this  problem;  Monte Carlo 


Analysis.   Knowing   that   the   parameters   of   the   parts   do   have   a   tolerance,   then 
basically what is involved is to use a random number generator to produce a likely 
value for each parameter, and then recompute the design. This is done many times 
– statistics may be used to determine the number to achieve some given level of 
confidence in the results – and if the design succeeds on all occasions, then it is 
clearly sound. If not, then some further design work is needed. 

While in terms of gaining a result this is satisfactory, having to repeat the design 
process over and over is computationally expensive. For complex tasks, this can 
take weeks. A cluster can help, but not in all cases. Then in cases like these it is 
often   necessary   to   build   a   physical   model   and   test   that.   This   may   be   time 
consuming and a little costly, but it still can be more attractive than a computer 
analysis.

You might also like