Software for Fluid Power Technology
The purpose of the Software Review section of the Journal is to present information to the reader about engineering software, including simulation programs, to highlight their specific features and their "fitness to purpose" in the unique field of fluid power and motion control. It is, of course, impossible to establish evaluation criteria matching the needs of all readers, therefore readers should not look for absolute ratings but more or less "fuzzy" opinions of the reviewer. A software program is like a wrench, just a tool to solve problems. It is good to solve some problems and not so good for others and this depends on both the nature of the problem and the users' attitude - and generally when we review software we do not know either. A software tool can be highly specialised and great for a some applications but not so well suited for others, on the other hand another software tool can be more flexible and generally applicable but without outstanding features. It is impossible, and even misleading, to say which one is better. What we hope to accomplish is to give the reader information necessary to take his/her own decision.
Mechatronic System Simulation using
In a previous software review (see Vol. 2, No. 2, pp. August 2001) the simulation tool ITI-SIM was presented. In 2001, ITI has launched SimulationX, its new software generation. A great number of new features make this tool an ideal choice for modeling and simulation of mechatronic systems. This new features include on one hand new model libraries (for example 3D mechanics, electronics and magnetics), but on the other hand also new functionalities such as online 3D animation and visualization, integrated development environment for user-specific models based on Modelica. All ITI-SIM libraries have been completely revised and enhanced. For example, the hydraulics library does not only calculate pressure and volume flow in each component, but optionally also temperature, enthalpy, and heat flow as well as undissolved and dissolved gas fraction. However, the most obvious advantage of SimulationX remains, like in ITI-SIM, its graphical user interface with flexible and intuitive working methods. Dialogs and windows are well-structured, comfortable and easy to understand, units are available for each parameter or variable, algebraic and/or logical expressions can be used for any parameter, model objects can be grouped together easily to form new objects, additional ports can be assigned to any standard element etc.
The general concept of SimulationX is
to provide one homogeneous platform for modeling and simulation of complex mechatronic systems (comprising 1D/2D/3D mechanics, hydraulics, pneumatics, thermodynamics, electronics, electromagnetics, control etc.) without any need for co-simulation or code export/import, and
to use the most convenient way of modeling in each engineering domain, which is signal blocks in the control domain, circuit diagrams in the electronic, magnetic and fluid domain, functional sketches in 1D mechanics, and 3D geometrical structures with visualization and animation in 3D mechanics.
Of course all modeling methods can be used simultaneously within one model. Alternatively, the user user may describe its model (or rather components of it) in the Modelica language. In this way, models can be created very fast and intuitively from the existing standard model libraries. Special non-standard components can be implemented in Modelica.
Another important point is object-orientation. It means basically, that each element (called component) in a model belongs to a certain type (or class, in other words). The types are defined in the library tree. The user-defined types are a sub-tree of the global library tree. A model thus consists of a hierarchical tree of components. Each component (model object) may contain parameters, variables and further (sub-) components. The advantage of this mechanism is, that each model component, parameter or variable can be referenced by its unique hierarchical name. Such references can be used within parameter expressions (for example, to define the load force of a cylinder as a function of its stroke or of the time), but also to access the simulation model through the Windows COM interface (using a Windows VB Script, for example).
The numerical solver of SimulationX is based on the BDF method. For 3D mechanical applications, a special solver (MEBDF) is available. Basically, it is not the intention of the software to confuse the user with a wide range of numerical solvers. The BDF solver has been tailored to meet the needs of 95% of all users. Changes to the solver parameters are normally not necessary. The BDF method is especially useful for DAE systems (up to index 1) as well as for stiff systems. For non-stiff ODE systems, more efficient methods exist, but are not available yet.
The flexible parameter concept of SimulationX may sometimes lead to implicit equations and algebraic loops. By default, implicit state variables are introduced automatically to resolve algebraic loops. If the user is interested, he can check the model for such implicit equations. However, the standard user will not notice the presence of implicit variables. From this point of view, the high modeling flexibility might be regarded as a risk, since careless and inexperienced users can create models which are numerically difficult to solve. On the other side a tracing tool allows to analyse the calculation process.
New Features and Libraries
The user is offered an enormous variety of hierarchical model libraries, ranging from the rather "traditional" ITI-SIM libraries (like linear/rotational 1D Mechanics, Hydraulics, Pneumatics, Powertrain and Transmission, Motors and Engines, Thermics, Discrete and Continuous Signals), to completely new libraries (see Fig. 1):
3D Mechanics (bodies, joints, forces, sensors, interface elements)
Magnetics (based on the magnetic reluctance the-ory)
Electronics (analog, digital, complete SPICE li-brary and SPICE interface)
Thermodynamics (for air conditioning and cooling applications)
Fig. 1: Model libraries of SimulationX
Fig. 2: Model of an excavator bucket with hydraulic circuit
Even the "traditional" model libraries have been enhanced and revised. For example, the hydraulics library comes with a lot of new features:
new models for complex spool valve geometries
new line models
new fluid models
more accurate pressure calculation, especially during aeration and cavitation
optional: calculation of temperature and heat transport (optional for the entire circuit)
calculation of air release (dynamic model) and air transport (optional for the entire circuit)
Furthermore, the concept of "Fluid Propagation" ensures, that one uniform fluid type is used for each fluid circuit (hydraulic, pneumatic, or thermal-fluid). The circuit lines (called "Connections") carry a certain fluid type. A dialog box can be opened for each Connection, and a fluid type can be selected from a list. (The list includes many pre-defined fluid types. For user-defined fluids, a special "FluidDesigner" is available.) Immediately, the selected fluid is propagated through the entire circuit. This mechanism ensures automatically, that one uniform fluid type is used in each circuit.
Of high importance for mechatronic system simulation is the 3D Mechanics library. Like in the 1D Mechanics library, 3D elements (bodies, joints, forces etc.) can be dragged & dropped from the library and connected graphically on the sketch. Additionally, each 3D element is visualized immediately in the 3D window. Thus, the physical structure of the 3D mechanism is defined and shown in the sketch window, and the graphical view is visualized in the graphics window. Apart from simple 3D bodies, complex 3D bodies can be imported from any CAD tool using the common STL format. During the import, the mass matrix information as well as the center of gravity coordinates are calculated automatically. Figure 2 shows a model of an excavator bucket with 2 bucket cylinders and a hydraulic circuit. The hydraulic cylinders are directly connected with the 3D force elements. Since the model includes a kinematic loop (at the bucket kinematics), implicit equations must be solved.
The Modelica language was chosen to provide a platform to develop user-defined models in SimulationX. However, not the complete language is supported. Instead, the focus was put on the modification of existing element types and the development of new element types. It is not possible, for example, to define new domains, port types, parameter and variable types, etc.
In general, user-defined element types can be defined in SimulationX in 3 different ways:
Modification: Any existing element type (even the built-in standard element types) can be used as a basis for enhancement (inheritance). It is possible to add new parameters, variables, ports and equations. However, it is not possible to remove any property of the basic type.
Compound: An existing model structure (or only a part of a model structure) can be used to define a new element type. The user creates a new icon, defines the ports, parameters and variables of the new type. The compound becomes thus part of the user library tree.
New type: Here, everything is defined from scratch. An intuitive graphical user interface (TypeDesigner) - see Fig. 3 - supports each individual step. The large number of available parameter types (real, integer, logical, enumeration, 1D/2D/3D tables, text, string, …) gives a lot of flexibility. The behavior itself can be defined in 2 different ways: algorithm and/or equations. While an algorithm is somehow similar to conventional C programming, equations are a-causal, which means that the user does not care in which form the equations are formulated (explicit or implicit). In general, equations are symbolically processed before the simulation starts, which always gives the minimum of necessary state variables. From this point of view, algorithms are not really necessary anymore, but possible.
Fig. 3: The TypeDesigner, the tool for development of user-specific element types
SimulationX provides many interfaces with external programs for several different purposes:
Co-simulation: In spite of the fact, that co-simulation is neither necessary with SimulationX nor a good solution at all, a standard interface exists for Matlab/Simulink. Furthermore, a general co-simulation library is available, which provides general-purpose blocks which can be tailored to almost any other simulation tool by TCP/IP.
Scripting: A comprehensive COM interface allows the communication between SimulationX and other Windows applications. Almost any functionality, which can be done interactively, can be done by a script. This feature is useful for user-defined batch runs, parameter studies or optimization.
Model import: Import filters are available for data import (1D/2D/3D tables), CAD import (3D bodies) or SPICE import (electronic circuit models). Moreover, external functions can be included in terms of a dll.
Model export: Currently, the model export functionality includes the linearized system export (state-space model). In the future, the entire model will be exported as stand-alone executable, Simulink S-function, or C-file.
SimulationX is a commercial software tool with focus on modeling and simulation of mechatronic systems. The tool is unique in terms of library integration, modeling comfort and flexibility. Professional support and maintenance is provided by the ITI team. The model libraries are being developed in close cooperation with numerous industrial partners and research institutes. It's a relatively young software, which means also, that not every detail is completely finished yet. However the concept is very promising, so one can expect that this tool will become more and more perfect and thus successful in the next years.
Uwe Grätza and Tri Anders
Adress: Webergasse 1, 01067 Dresden, Germany
Email: firstname.lastname@example.org, email@example.com
Phone: +49 351 260 50 200
Fax: +49 351 260 50 155
Platforms: WinNT, Win2000, WinXP
Educational Version: Yes
Power Net All rights reserved. Disclaimer