Engineers use a wide variety of tools to determine the design of a project, record the design and other information in formats that can be shared with other people, or for use by computers and machines as input. For simple or early stage work, some reference books, a scientific calculator, and a pad of graph paper may be all that is needed. For the bulk of the work as done today a set of computers and specialized software is normally used.
No engineering design can be done without input data of some form. It can be determined internally, but more usually obtained from outside sources. Types of data include:
- Standards and Design Codes - These are documents that specify accepted or required methods or features for a design. For example, building codes embody accumulated experience in how to design and build safe and sound buildings. Adoption of building codes by governments gives them the force of law - they must be followed. Material standards for the composition and strength of steel do not have the same force of law, but allow steel suppliers and engineers to work together because both know what is expected from a given alloy grade. Large engineering organizations may develop their own internal design standards based on their experience, so that more consistent results are obtained and new staff can be trained.
- Handbooks and Monographs - Handbooks are compilations of useful information in a particular engineering field. They are often written by multiple contributors and updated periodically. Monograph means "one writer", books written by one or a few authors. These range from introductory textbooks like this wikibook to very specialized ones covering the latest ideas in a narrow field. There are a vast number of such books covering every engineering topic.
- Supplier Data - One of the basic rules of efficient design is to not design something that someone else already has. Many designs will incorporate parts or subsystems that already exist and are made by someone else. The suppliers of such items have literature and documentation about what they supply.
Historically engineers worked at large drawing tables or desks where they could produce the drawings and documents that represented a design. Such methods have been largely replaced by computer workstations for several reasons. Computer systems can communicate changes much faster than paper-based methods. They can represent designs in three dimensions, which was difficult on two-dimensional paper. And finally, computers can perform analysis and simulation of a design vastly better than hand methods. At one point mainframes and engineering workstations were specialized and expensive equipment. Today a basic workstation can be no different in hardware than an ordinary desktop computer, although more powerful computers are still used for intensive calculations. Just as important as the workstation hardware is the specialized software which runs on them, and the networks which connect them to each other, production and test areas, and the outside world.
- Workstations - Today an engineering workstation is merely an ordinary computer of sufficient specifications to run engineering software or to remotely access higher performance clusters. The higher end ones may have dual processors with 6 cores each and up to 4 graphics cards or parallel compute cards based on graphics technology. Typically multiple large monitors are used, and relatively large amounts of memory and hard drive storage. More moderate workstations will have specifications similar to modern gaming systems, because game graphics and engineering computations both rely on making large numbers of calculations. Even relatively powerful workstations are not expensive relative to an engineer's salary (the software they run is a different matter), so the choice of hardware will be driven more by ability to run the needed software than by cost.
- Storage Servers - When working on complex projects, the amount of data involved can exceed what can be stored on individual workstations, and backups should be made in case of accidental deletion or hardware failure. A storage server's main job is store the extra data where it can be accessed by anyone on the project team who needs it. That would include a history of older versions of the design, and test and simulation data, which can be voluminous.
- High Performance Clusters - Some types of engineering calculations require more speed than can be reasonably installed in an individual workstation. High performance clusters, or Supercomputers as they are sometimes called, group many processor cores into racks with high speed data connections between them. They run specialized software designed to make use of the many cores, and the fastest such clusters represent the most powerful single computers in existence. When the the need for high speed transfer between cores is not as great, the Distributed Computing method can be used. This harnesses the excess computing power of the network of workstations, either off-shift or by using whatever extra processing ability is not needed by the primary user of the workstation.
- Networks - Networks are almost universally used in modern engineering to transfer data both within a project and with the rest of the world. Since installing a network is like adding new utilities to a building, forethought should be given to making it easy to upgrade and putting in enough network capacity that it does not need to be upgraded too often. Networking protocols and hardware change constantly like most computer-related things. Currently the most common method involves the Internet Protocol and routers. The protocol defines how addresses for each destination and data packets to be sent are constructed. Routers are the devices which look at the address on a packet, and send it towards the destination. There are many methods of transmitting the data between locations, ranging from Ethernet, to fiber, to wireless. In some cases it is faster and cheaper to send large amounts of data in the form of tapes or hard drives, because of their enormous storage capacity in a small package.
As mentioned above, engineers typically use specialized software to help with their work. The particular software will vary according the task being done. Software usually evolves rapidly, so we will discuss it in terms of categories and give some examples. If working on an actual project, a designer should find out what is the best software and most up-to-date versions available at the time. In some cases, no existing software is completely suitable, and modified or completely new software would be needed.
Analysis and Simulation SoftwareEdit
Historically numerical analysis relied on manual methods with devices like slide rules and tables of performance. With the advent of digital computers special purpose programs were written in mathematically oriented languages such as FORTRAN. These performed calculations much faster than by hand, but the limited processing speed and memory capacity of early computers placed limits on the complexity of the physical models of what was being analyzed. The fastest available processors in 2012, which have evolved from mainframes to supercomputers with many parallel cores, are up to a billion times faster than FORTRAN era mainframes, and even desktop workstations are up to a million times faster. The physical models of a design can be much more detailed and smaller time steps or more iterations of the analysis can be run. Parametric analysis allows varying parameters of the design or simulated conditions over a range of values. Since this requires multiple runs of the calculations, they have become more feasible with faster computers.
What started as individual special purpose programs is evolving into integrated general purpose suites. This reduces the need for re-entry of model data. Often the data can be used directly from the original design software, or the analysis results can be fed back to the design program directly. For some projects, custom software may still be needed where general purpose software is not adequate.
- Numerical Analysis - This category includes spreadsheets (for simpler analysis), general numerical calculators, such as Mathworks MATLAB for more complex analysis, computer algebra software, such as Wolfram Software's Mathematica or Maplesoft's Maple for symbolic problems, and more specialized programs written for particular fields.
- Simulation - This software category analyzes the behavior of a design with respect to time or changing conditions. They can cover a single type of behavior, such as mechanical stress, or multiple ones, which are called Multiphysics tools. These can do multiple analyses in series from the same source model, or in some cases a combined effects analysis all at once.
- Multiple Programs
- Open Source Aerospace Software Community - Website with software downloads, forum, and tutorials.
- Public Domain Aeronautical Software - Website with many downloads of programs, source code, and documentation.
- Aerospace Software Tool Library - A list of links to commercial, government, and free software, sorted by category.
- Open Channel Foundation - Hosts nearly 300 mostly technical software applications, including a COSMIC Collection contributed by NASA.
- Aircraft Design
- CEASIOM - Software package for airplane design. Download with registration.
- Space Simulators
- Celestia 1.6.1 - A 3D space simulator which can be used as a planetarium or for mission visualization.
- Celestia Motherlode - A collection of add-ons for Celestia.
- Celestia Wikibook - An online guide to the Celestia software.
Design and Manufacturing SoftwareEdit
These are the modern replacement for drafting tables. They include 2D and 3D drafting, 3D modeling, and illustration programs, and software to feed manufacturing data direct to factory machines or to vendors. Modern graphics cards and processors allow direct visualization and manipulation of the design in real or near real time. As noted above, the design and analysis software categories are becoming more integrated. This category is also called Computer-Aided Design or CAD. When use of computer workstations and mainframes was new, the phrase distinguished it from the traditional drafting table type of design. Today design on paper is a rarity, so saying it is done with computers is mostly redundant. Instead we will discuss the types of software in terms of function.
2D and 3D DraftingEdit
This category produces a set of drawings, which in turn consist of a set of lines, curves, and text or attached notes. They are distinguished from 3D models by the drawing elements existing independent of each other, and not forming more complex entities with attached non-drawing properties. Nowadays only lower-tier software such as AutoCAD LT is restricted to 2D.
This category defines the shape of an object in terms of a linked set of points, lines, curves, surfaces, or volumes. In addition to the shape, a wide range of other parameters may be associated with the object. Often basic shapes, called Primitives, such as boxes, cylinders, or spheres, are used as starting points, and then various operations are performed to modify or join them into more complex shapes. Examples of 3D modeling programs include:
- Autodesk Products - Originally developer of Autocad, a 2D drawing program, this company, through acquisitions and development of new software, now has a vast range of overlapping and linked products. The tendency is to offer more integrated suites of compatible programs rather than individual ones.
- Solidworks suite by Dassault Systemes. - This is a high end commercial software set for design, simulation, and data management.
- FreeCAD is an open source 3D modeling program.
Modern factories use extensive computer control for their operation, which in turn requires software. As each factory is different, the software is often customized for a given application. The category is often called Computer Numerical Control, or CNC for short. This was to distinguish it from the earlier manual control of factory equipment. Some examples include:
- LinuxCNC - Open source software for direct control of production machines.
- cnc4free - Tutorials and links to free software for CNC fabrication.
These are tools to help make software. Many end products today require sensors, data transfer, and internal decision making and control which requires custom software to operate. Naturally enough, software is developed on computers using Integrated Development Environments (IDE) such as the Microsoft Visual Studio suite. Special test rigs and test software may be required to test how it functions with the final hardware, or a close mockup of the final hardware.
Planning and Management SoftwareEdit
Complex projects have to track more than just the engineering design. They have to coordinate the work of many people, do advance planning, track production and costs, etc. This category of software is designed to help with these tasks. Both planning and management and documentation can use general office software suites, or specialized programs for accounting, scheduling, inventory tracking, etc.
This category is used to record all the data created in a project so it can be found, shared, updated, and used.