Topic 8
Topic 8
Topic 8
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
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 backup.
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
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.
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 ( socalled 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:
* Standalone 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 standalone. Often it
is a device that is not obviously computerbased – a mobile phone or
MP3 player for example – but they can execute a narrow range of
6
software options, usually in the form of ‘plugins’, 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 standalone
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
realtime 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
standalone 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 standalone 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 ( computeraided 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 multicore 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.
* 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 can control other systems through an electronic interface.
* 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 standalone 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.
* 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.
° 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.
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.
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.
* 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.
Then one way of categorising engineering would be by the type of modelling used.
Two stand out.
* The computer can easily construct that geometry as:
a wireframe model
a solid model
* It can be easy to verify a design meets a number of specifications and to
check standard inhouse 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.
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.
* 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:
° 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?
* 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 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.
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.
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.