Engineering and manufacturing
From SME Guide
ASCEND
ASCEND is a flexible modelling environment for solving hard engineering and science problems. It offers an object-oriented model description language for describing your system, an interactive user interface that allows you to solve your model and explore the effect of changing the model parameters, and a scripting environment that allows you to automate your more complex simulation problems. ASCEND was originally written at Carnegie Mellon University in the 1980s and includes powerful and reliable solver routines that analyse the structure of your model and can solve thousands of simultaneous nonlinear equations in a few seconds on everyday computer hardware. It is under active development and is licensed under the GNU General Public License ensuring that it is free software and will remain free.
The included solvers are LA (linear algebraic), NLA (non linear algebraic), ODE, DAE and NLP (non-linear programming).
Axiom
http://wiki.axiom-developer.org/FrontPage FLOSSMETRICS link: http://melquiades.flossmetrics.org/projects/axiom
Axiom is a general purpose system for doing mathematics by computer. It is especially useful for symbolic calculations, mathematical research and for the development of new mathematical algorithms. Axiom has a strongly-typed high-level programming language for expressing abstract mathematical concepts. Over 1,000 mathematical domains and categories are collected in the Axiom Library.
AXIS
http://axis.unpythonic.net/index.cgi/about
Axis is a graphical interface on the EMC2 CNC (Computerized Numerical Control) system. AXIS provides interactive preview and backplot. It is implemented primarily in Python, with the user interface rendered by Tk and OpenGL. It is mostly keystroke-compatible with tkemc and mini, and runs well on machines without hardware OpenGL acceleration.
CalemEAM
http://www.calemeam.com/ FLOSSMETRICS link: http://melquiades.flossmetrics.org/projects/calemeam FLOSSMETRICS quality evaluation: http://melquiades.flossmetrics.org/projects/calemeam/quality
A complete Enterprise Asset management and maintenance management system. It provides modules for work orders, assets, inventory, requisition and purchase, administration and scheduling, RCM, associate document and training, inspection and budget.
CODE*ASTER
Code_Aster offers a full range of multiphysical analysis and modelling methods that go well beyond the standard functions of a thermomechanical calculation code : from seismic analysis to porous environments via acoustics, fatigue, stochastic dynamics, etc. Its modelling, algorithms and solvers are constantly undergoing work to improve them and add to them (1,200,000 lines of code, 200 operators). Resolutely open, it is chained, coupled and encapsulated in numerous ways. The domains:
- Mechanical: Static, quasi-static, linear or otherwise; Dynamic, linear or otherwise, on a physical or modal basis, Fracture, damage and fatigue, Soil-Structure, Fluid-Structure and Soil-Fluid-Structure interactions
- Thermal: Stationary, transient, linear or otherwise, Fixed or moving reference coordinate system
- Associated phenomena: Acoustics, Metallurgy, Hydration and drying
- Multiphysical: Internal chainings with thermics, Hydration, drying, Metallurgy
- Internal chainings with mechanics: Thermal, Metallurgy, Hydration and drying
- Internal coupling: thermo-hydro mechanical, fluid-structure
It is used internally by EDF, and is also available in a certified version.
ELMER
Elmer is an open source multiphysical simulation software developed by CSC. Elmer development was started 1995 in collaboration with Finnish Universities, research institutes and industry. Elmer includes physical models of fluid dynamics, structural mechanics, electromagnetics, heat transfer and acoustics, for example. These are described by partial differential equations which Elmer solves by the Finite Element Method (FEM).
EMC
http://www.linuxcnc.org FLOSSMETRICS link: http://melquiades.flossmetrics.org/projects/emc
EMC (the Enhanced Machine Control) is a software system for computer control of machine tools such as milling machines and lathes. EMC is free software with open source code. Current versions of EMC are entirely licensed under the GNU General Public License, (GPL and LGPL,) and older versions of the software are available in the public domain. EMC provides:
- a graphical user interface (actually several interfaces to chose from)
- an interpreter for "G-code " (the RS-274 machine tool programming language)
- a realtime motion planning system with look-ahead
- operation of low-level machine electronics such as sensors and motor drives
- an easy to use "breadboard" layer for quickly creating a unique configuration for your machine
- a software PLC programmable with ladder diagrams
- It can simultaneously move up to 6 axes and supports a variety of interfaces.
- The control can operate true servos (analog or PWM) with the feedback loop closed by the EMC software at the computer, or open loop with "step-servos" or stepper motors.
- Motion control features include: cutter radius and length compensation, path deviation limited to a specified tolerance, lathe threading, synchronized axis motion, adaptive feedrate, operator feed override, and constant velocity control.
- Support for non-Cartesian motion systems is provided via custom kinematics modules. Available architectures include hexapods (Stewart platforms and similar concepts) and systems with rotary joints to provide motion such as PUMA or SCARA robots.
- EMC runs on Linux using real time extensions. Support currently exists for version 2.4 and 2.6 Linux kernels with real time extensions applied by RT-Linux or RTAI patches.
Extrema
http://exsitewebware.com/extrema
Extrema is a mature and robust data analysis application, originally developed in the fields of nuclear and particle physics. The demanding nature of these disciplines ensures that Extrema is capable of handling diverse analysis and graphing challenges from practically any field. With its roots at a particle physics laboratory (TRIUMF), Extrema was designed first and foremost to be of the greatest practical use to researchers. The legacy of this design approach is a data analysis and visualization package that is both extremely powerful and easy-to-use. The average user can be doing productive work within one hour of first starting the program, yet it's features and functionality are nearly inexhaustible! Earlier versions of Extrema have also been released under the product name Physica. The switch from Physica to Extrema is effortless, and there are many new features to be gained.
KRATOS
Kratos is a Methodology and Computing Structure to Built Finite Element Programs: an open source framework with object-oriented structure intended to provide the tools for finite element programmers in different fields and connect them in term of solving coupled multi-physics problems. Kratos is a environment to work at Different Implementation Levels. It consist in a set of classes and methods for programmers to provide the ability to handle multiphysic, adaptive meshing and optimisation problems. Kratos should help to built a numerical application in C++ from the easiest formulation (conduction problem) to the most complex ones (optimisation techniques). The approach can be from the user-developer point of view, considering their contribution as requirements of the Kratos system as well as plug in extensions, but also from the user-application interests, using the already existing finite element programs as calculation engine. ratos is MULTI-PHYSIC. One of the main topics in engineering nowadays is the combination of different analysis (thermal, fluid dynamic, structural) with optimising methods in one global software package with just one user interface and, even more, the possibility to extend the implemented solution to new problems. Kratos is FINITE ELEMENT METHOD (FEM) based. Many problems in engineering and applied science are governed by Partial Differential Equations (PDE), easily handled by computer thanks to numerical methods. The FEM is one of the most powerful, flexible and versatile existing methods.
Maxima
http://maxima.sourceforge.net/ FLOSSMETRICS link: http://melquiades.flossmetrics.org/projects/maxima FLOSSMETRICS quality evaluation: http://melquiades.flossmetrics.org/projects/maxima/quality
Maxima is a system for the manipulation of symbolic and numerical expressions, including differentiation, integration, Taylor series, Laplace transforms, ordinary differential equations, systems of linear equations, and vectors, matrices, and tensors. Maxima produces high precision results by using exact fractions and arbitrarily long floating point representations, and can plot functions and data in two and three dimensions. Maxima is a descendant of Macsyma, the legendary computer algebra system developed in the late 1960s at the Massachusetts Institute of Technology. It is the only system based on that effort still publicly available and with an active user community, thanks to its open source nature. Macsyma was revolutionary in its day, and many later systems, such as Maple and Mathematica, were inspired by it.
OpenCascade
Open CASCADE Technology is software development platform freely available in open source. It includes components for 3D surface and solid modeling, visualization, data exchange and rapid application development. Open CASCADE Technology can be best applied in development of numerical simulation software including CAD/CAM/CAE, AEC and GIS, as well as PDM applications. It is composed of several modules:
- Foundation classes
- Modeling data
- Modeling algorithms
- Mesh
- Visualization
- Data Exchange (standardized)
- Application framework (OCAF)
- GUI framework
- Development tools
It provides read/write support for 3D data as IGES format (5.3) and STEP format (AP203, AP214 and AP209) , for 3D geometry and topology, Colors and Names, Assembly structures, Layers, Validation Properties. OpenCascade has shape healing, complex 3D kernel functionalities,
OpenFoam
http://www.opencfd.co.uk/openfoam/
The OpenFOAM (Open Field Operation and Manipulation) CFD Toolbox can simulate anything from complex fluid flows involving chemical reactions, turbulence and heat transfer, to solid dynamics, electromagnetics and the pricing of financial options. OpenFOAM is produced by OpenCFD Ltd, is freely available and open source, licensed under the GNU General Public Licence. The core technology of OpenFOAM is a flexible set of efficient C++ modules. These are used to build a wealth of: solvers, to simulate specific problems in engineering mechanics; utilities, to perform pre- and post-processing tasks ranging from simple data manipulations to visualisation and mesh processing; libraries, to create toolboxes that are accessible to the solvers/utilities, such as libraries of physical models. OpenFOAM is supplied with numerous pre-configured solvers, utilities and libraries and so can be used like any typical simulation package. However, it is open, not only in terms of source code, but also in its structure and hierarchical design, so that its solvers, utilities and libraries are fully extensible. OpenFOAM uses finite volume numerics to solve systems of partial differential equations ascribed on any 3D unstructured mesh of polyhedral cells. The fluid flow solvers are developed within a robust, implicit, pressure-velocity, iterative solution framework, although alternative techniques are applied to other continuum mechanics solvers. Domain decomposition parallelism is fundamental to the design of OpenFOAM and integrated at a low level so that solvers can generally be developed without the need for any ’parallel-specific’ coding. Among the standard solvers:
- ’Basic’ CFD
- Incompressible flows
- Compressible flows
- Multiphase flows
- DNS and LES
- Combustion
- Heat transfer
- Electromagnetics
- Solid dynamics
- Finance
Additional models are available for Turbulence, Large-eddy simulation (LES), Transport models, Thermophysical models, Lagrangian particle tracking, Chemical kinetics. It is a product used in production environments like Audi, Airbus, Bayer, Danone, Daimler, Delphi, Honda, Mitsubishi, Obayashi, SKF, Shell, Toyota, Tokyo Gas, Volkswagen; and many academic institutions like Imperial College London, King’s College London, Chalmers University, University of Exeter, University of Strathclyde, Utah State University, University of Guelph, Tohoku Universty, Hirosaki Universty, Tokyo Institute of Technology.
OpenModelica
http://www.ida.liu.se/~pelab/modelica/OpenModelica.html
The goal of the project is to create a complete Modelica modeling, compilation and simulation environment; Modelica is a language for modeling and simulation of physical processes. Modelica is an object-oriented, domain-specific modeling language designed to allow convenient, component-oriented modeling of complex systems, e.g., systems containing mechanical, electrical, electronic, hydraulic, thermal, control, electric power or process-oriented subcomponents. The project provides a Modelica compiler, runner and a development environment extension for the Eclipse IDE.
myCMMS2
myCMMS is a Web-Based Computerized Maintenance Management System. myCMMS is intended to be used by smaller maintenance organization that cannot invest in a bigger commercial package and that need a low learning curve. It is entirely web-based, meaning that no software needs to be loaded on your computer. The myCMMS Base System contains the following functionality:
- Workorders : creating, editing, planning, feedback ...
- WebCalendar has moved to the Options
- Tasks : repetitive jobs
- Spare parts : managing of a spare part warehouse
- Purchasing : managing the purchase of external parts or services
The available extensions are fault follow-up (in development), RCM, criticality and webcalendar.
Norfello
NorfelloCMMS is a powerful CMMS application. It enables organizations to easily manage labor, equipment and service requests via web based interface. NorfelloCMMS OS is targeted to any organization that handles maintenance tasks or has equipment to track. From heavy industry maintenance management to managing computer network equipment, NorfelloCMMS can be customized to meet the requirements of various different domains. It features:
- Access control: NorfelloCMMS enables administrators to manage the users right from it's web based interface. Every action and every piece of information can be denied for some users or group of users. Access control in NorfelloCMMS is based on keys and keyrings. For each function in NorfelloCMMS there is a key associated to it. Keyrings are collections of keys, which can be handed to users. A user has all keys, which belong to keyrings the user ownes. NorfelloCMMS's access control policy is restrictive by default. This means that access to a function is denied unless user has the key associated to the function. Asset permissions provide access control for asset data saved in the NorfelloCMMS database. Asset permissions define which assets users can view and edit, and what kind of data users can create to assets.
- Reports: NorfelloCMMS offers a possibility for the end users to customize collected information by themselves. Creating report templates is really easy, just use Openoffice.org to make the report look like you want it to look, add couple of variables and you are ready to use it in the software. NorfelloCMMS reads variables from ODT-files and creates database tables for collected information. This means that all of the content is separated from presentation. Therefore it is possible to search information easily and to present it in various formats.
- Assets: Almost everything in NorfelloCMMS is associated to an asset. Assets are concrete things - for example in IT system administration - servers, switches and UPSes. In some other domain like facility maintenance assets can be things air conditioning units, elevators and so on. The common denominator is that maintenance tasks and information are associated to assets. This information however differs a lot depending on which domain we are operating in. Therefore all of the information can be customized.
- Work orders: Work order is like a piece of paper with a task on it. Only one can user have the same task at time. If many people are working on the same task one of them is the owner and the rest are workers. As a piece of paper also the work order can be handed over from one user to another. Every time the status of a work order changes, it can be seen on the work order view. When the task is completed the work order closes. It will be archived in the system but it's not active anymore.
Octave
http://www.gnu.org/software/octave/ FLOSSMETRICS link: http://melquiades.flossmetrics.org/projects/octave FLOSSMETRICS quality evaluation: http://melquiades.flossmetrics.org/projects/octave/quality
GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab. It may also be used as a batch-oriented language. Octave has extensive tools for solving common numerical linear algebra problems, finding the roots of nonlinear equations, integrating ordinary functions, manipulating polynomials, and integrating ordinary differential and differential-algebraic equations. It is easily extensible and customizable via user-defined functions written in Octave's own language, or using dynamically loaded modules written in C++, C, Fortran, or other languages.
ProView
Proview is probably the first Open Source system for process control in the world. Originally developed in Sweden by Mandator and SSAB Oxelosund as a process control system based on standard computers, the system has become a fully-fledged, integrated and low-cost solution that is running on standard PC's with Linux as operating system. PROVIEW/R is a modern, powerful and general process control system. It contains all functions normally required for successful sequential control, adjustment, data acquisition, communication, supervision, etc. The configuration of a PROVIEW/R system is done graphically, making the application adaptation simple, reliable, and flexible. PROVIEW/R is a distributed system, which means that the system consists of several computers, connected via a network . Via the network computers exchange data with each other. In this way, for instance, the measuring signals will be known on all the process - and operator stations of a PROVIEW/R system. Programming is possible both with a graphical PLC-editor and with high level programming languages (such as C, Java or FORTRAN). The concept of Proview is based on a soft-PLC solution which runs on standard computers with Linux as operating system.
Ptolemy
http://ptolemy.eecs.berkeley.edu/ptolemyII/index.htm
Ptolemy II is a software framework developed as part of the Ptolemy Project. It is a Java-based component assembly framework with a graphical user interface called Vergil. Vergil itself is a component assembly defined in Ptolemy II. The Ptolemy project studies modeling, simulation, and design of concurrent, real-time, embedded systems. The focus is on assembly of concurrent components. The key underlying principle in the project is the use of well-defined models of computation that govern the interactions between components. A major problem area being addressed is the use of heterogeneous mixtures of models of computation.
Ptolemy II includes a growing suite of domains, each of which realizes a model of computation. It also includes a component library, in which most components are domain polymorphic, in that they can operate in several of the domains. Most are also data polymorphic, in that they operate on several data types. The domains that have been implemented are listed below. Domains that are reasonably mature:
- CT: continuous-time modeling
- DDF: dynamic dataflow
- DE: discrete-event modeling
- FSM: finite state machines and modal model
- PN: process networks with asynchronous message passing
- Rendezvous: process networks with synchronous message passing
- SDF: synchronous dataflow
- SR: synchronous reactive
- Wireless: wireless
Domains that are still experimental:
- CI: component interaction (push/pull)
- CSP: communicating sequential processes
- DDE: distributed discrete events
- DT: discrete time
- Giotto: periodic time-driven
- GR: 3-D graphics
- HDF: heterochronous dataflow
- PSDF: parameterized synchronous dataflow
- TM: timed multitasking
Ptolemy II includes a number of support packages, such as graph, providing graph-theoretic manipulations, math, providing matrix and vector math and signal processing functions, plot, providing visual display of data, data, providing a type system, data encapsulation and an expression parser, etc.
R project
R is a language and environment for statistical computing and graphics. It is a GNU project which is similar to the S language and environment which was developed at Bell Laboratories (formerly AT&T, now Lucent Technologies) by John Chambers and colleagues. R can be considered as a different implementation of S. There are some important differences, but much code written for S runs unaltered under R. R provides a wide variety of statistical (linear and nonlinear modelling, classical statistical tests, time-series analysis, classification, clustering, ...) and graphical techniques, and is highly extensible. The S language is often the vehicle of choice for research in statistical methodology, and R provides an Open Source route to participation in that activity. One of R's strengths is the ease with which well-designed publication-quality plots can be produced, including mathematical symbols and formulae where needed. Great care has been taken over the defaults for the minor design choices in graphics, but the user retains full control. R is available as Free Software under the terms of the Free Software Foundation's GNU General Public License in source code form. It compiles and runs on a wide variety of UNIX platforms and similar systems (including FreeBSD and Linux), Windows and MacOS. Several graphical interfaces are available to simplify the user interaction, like Rkward (http://rkward.sourceforge.net)
Salome
http://www.salome-platform.org
SALOME is a free software that provides a generic platform for Pre and Post-Processing for numerical simulation. It is based on an open and flexible architecture made of reusable components available as free software. Based on OpenCascade, salome allows for:
- Create/modify, import/export (IGES, STEP), repair/clean CAD models
- Mesh CAD elements, check mesh quality, import/export mesh (MED, UNV, ASCII)
- Handle physical properties and quantities attached to geometrical items
- Perform computation using one or more external solvers (coupling)
- Display computation results (scalar, vectorial)
- Manage studies (creation, save, reload)
The geometry module allows for:
- Visualization of models in 3D viewers: shading, Wireframe modes, Pre-highlighting (detection), Selection, Changing the color of a model, Display/Erase a model
- Import/Export CAD models in the following formats: IGES 5.3, STEP AP203/214 schemas, BREP (Open CASCADE internal format)
- Creation of basic geometrical objects: Point, Line, Circle, Ellipse, Arc, Vector, Plane
- Creation of 3D primitives: Box, Cylinder, Sphere, Torus, Cone
- Modeling operations: Extrusion, Revolution, Filling, Pipe creation, Offset
- Basic Sketcher
- Creation of topological objects: Vertex, Edge, Wire, Face, Shell, Solid/CompSolid, Compound
- Explode topological objects
- Boolean operations: Fuse, Common, Cut, Section
- Transformation operations with objects: Translation, Rotation, Mirror, Scaling, Multi-translation, Multi-rotation
- Advanced partition/gluing algorithm with support of material assignment
- Creation of planes using the Archimedean law
- Local operations: Fillets, Chamfer
- Shape healing functions: Sewing, Change face orientation, Suppress a hole, Suppress a face
- Topological information and dimensions: Basic properties (length, surface area, volume), Center of gravity , Axis of inertia, Bounding box, Minimal distance, Tolerance of the shape, Validity of the shape, Topological information
SALOME integrates also a MESH module, a pre/post processor with MED import, 3D map generation, dataflow support, coupling between different computing modules.
SCILAB
Scilab is a scientific software package for numerical computations providing a powerful open computing environment for engineering and scientific applications. Scilab is an open source software. Since 1994 it has been distributed freely along with the source code via the Internet. It is currently used in educational and industrial environments around the world. Scilab is now the responsibility of the Scilab Consortium, launched in May 2003. There are currently 25 members in Scilab Consortium. Scilab includes hundreds of mathematical functions with the possibility to add interactively programs from various languages (C, C++, Fortran…). It has sophisticated data structures (including lists, polynomials, rational functions, linear systems...), an interpreter and a high level programming language. A number of toolboxes are available with the system:
- 2-D and 3-D graphics, animation
- Linear algebra, sparse matrices
- Polynomials and rational functions
- Interpolation, approximation
- Simulation: ODE solver and DAE solver
- Scicos: a hybrid dynamic systems modeler and simulator
- Classic and robust control, LMI optimization
- Differentiable and non-differentiable optimization
- Signal processing
- Metanet: graphs and networks
- Parallel Scilab
- Statistics
- Interface with Computer Algebra: Maple package for Scilab code generation
- Interface with Fortran, Tcl/Tk, C, C++, Java, LabVIEW
- And a large number of contributions for various domains.
Taverna
http://taverna.sourceforge.net/ FLOSSMETRICS link: http://melquiades.flossmetrics.org/projects/taverna
The Taverna workbench is a free software tool for designing and executing workflows, created by the myGrid project, and funded through OMII-UK. The Taverna Workbench provides a desktop authoring environment and enactment engine for scientific workflows expressed in Scufl (Simple Conceptual Unified Flow language). The Taverna enactment engine is also available separately, and other Scufl enactors are available including Moteur. The myExperiment social web site supports finding and sharing of workflows and has special support for Scufl workflows. The Taverna workbench, myExperiment and associated components are developed and maintained by the myGrid team, in collaboration with the open source community.
