WinSimu software started to develop in 1987, in-spired by Hopsan, a package for simulation of hydrau-lic systems. Later on, some features from other existing software packages as Bathfp and Dymola were incorporated to WinSimu. After 15 years of continuous developing WinSimu exhibits a highly accurate library of fluid power components models, which have been validated in many experiments. These fluid power models have also been adopted by ADAMS software in its ADAMS/Hydraulics module. The Lumeo software company has also made use of some of the WinSimu models to incorporate them in their simulation prod-ucts.
The WinSimu software has not been conceived as a general-purpose simulator tool. The software is more close to a designing tool addressed to engineers for studying complex particular systems. The software package does not include a graphical drag-and-drop model generator in its user interface. Instead, the software is divided in three main blocks (as Fig. 1 sug-gests): a so-called Modeller a Simulator and a User Interface.
The Modeller part consists of a pre-compiled li-brary of fluid power components. The user can built a system model by writing a FORTRAN code, which simply recalls the subroutines of the library. The library uses significantly modern features of the FORTRAN-90 standard, making the implementation of the mathematical model to follow an object-oriented methodology. In such way, fluid power components (described by modular subroutines) can be connected transmitting a two-way interaction. As a result, a model of a fluid power system consists of a network of individual fluid power components assembled in a modular way. The compilation and linking of the user-written code of the model results in a DOS-executable file (Simulator) which is then used by the WinSimu User Interface to execute the simulations.

Within the WinSimu User Interface, the user can tune the parameters of the system components, perform different types of simulations and visualize the simulation results. In such way, the User Interface can be utilised as a design tool based on the parameterised model previously built in the Modeller.
Dividing the software in those three independent parts shows the following advantages:

Within the fluid power domain, hydraulic volumes (governed by the pressure generation equation) function as fluid node, while the fluid power components (which can be characterised by the flow resistance formula) are the interface boundaries. Figure 2 shows a schematic of a fluid power system model. Physical nodes are represented in circles while interface boundaries are the hydraulic cylinder, proportional valves, pressure relief valves, and the pump. Hierarchical and reusable properties of the modular methodology allow the building of more complex subsystems such as hydraulic cylinders and pipes by using primitive sub-systems as hydraulic nodes (H) and orifice flow interfaces. And by reusing the latter models, even more complex subsystems can be built such as cylinder drives or power units.
Other physical domains can be coupled to the fluid power system by means of mechanical nodes (M) and control nodes (C). These nodes act as an external input driving or controlling the fluid power interface. In Fig. 2, a mechanical node representing a motor is attached to the hydraulic pump, and the rod of the cylinder is connected to a mechanical node that is connected to either a boom mechanism or simply to a mass-load. Control nodes are used to set the control signals to valves and other components that need an external control.

All the presented topology of the modelling based on the connection of physical nodes by means of interfaces is internally checked by the algorithm, which reduces possibilities of programming errors. The internal checking feature also outputs a report file containing the system connection.
As stated in the previous section fluid power components are modelled according to two main primitive models: hydraulic volume models and flow resistance models. Actuators, pipes, accumulators, hoses and junctions are built of subsystems of hydraulic volume components. Pressures in such hydraulic volumes are determined by the pressure generation equation, derived from the continuity law. A detailed modelling description can be found in (Esqué and Ellman, 2002), where the pressure generation equations as systems of ordinary differential equations (ODEs) have been derived for a fixed volume, a hydraulic cylinder and a short pipeline. Flow resistance primitive models are used in the modelling of fluid power components which behave as the orifice flow resistance formula (Ellman and Piché 1996). Such components - proportional valves, pressure and flow valves, check valves, etc. - are usually semi-empirical in nature and the models are consequently formulated according to their characteristic curves or parameters.
Using the WinSimu library of components, the user can build a system model by recalling the subroutines associated to each component in a FORTRAN-90 language environment. An example is shown in the following code, where the system shown in the sche-matic of Fig. 2 is coded.
% Control node generating the input signal to
% proportional valveCALL INPUTS('INPUT_SIGNAL,Control_S,Input_S)
% Mechanical node connected to cylinder
CALL MECH_NODE('MECH_CYL',Cylinder_S, Mech_C)
% Mechanical node connected to pump
CALL MECH_NODE('MECH_PUMP',Pump_s, Mech_P)
% Cylinder model
CALL CYLINDER('CYL',Mech_C,Vol_Pl,Vol_Mi, & & Cylinder_S)
% Semi-empirical inertial Pipes
CALL PIPE_IS('PIPE_PL',Vol_Pl,Vol_A,Pipe_PL)
CALL PIPE_IS('PIPE_MI',Vol_Mi,Vol_B,Pipe_MI)
% Proportional valve
CALL DCV43_PRO('DCV',Control_S,Vol_Sup,VOL_A &
& ,Vol_B,Vol_tank, DCV_S)
% Pressure relief valve
CALL PRV('PRV',Vol_Sup,Vol_tank,PRV_S)
% Constant size volume in supply line
CALL JUNCTION('VOLUME_1',Vol_Sup)
% Constant pressure volume
CALL TANK('TANK', Vol_tank)
Figure 3 illustrates the structure of a system model from the lower level (primitive models) to the final complete machine system model. The user can also define new components by making use of the primitives or any other existing component of the library. It is also possible to create subsystems by grouping components, as Fig. 3 suggests. When the system model is completely coded, next it is compiled and linked to the library and to the numerical integration solver, becoming a DOS executable file which is then executed from the WinSimu User Interface.

Differential equations arising from interface boundaries such as valve spool dynamics or Lagran-gian equations of motion of boom mechanism can be integrated efficiently using a simple trapezoidal method. However the ODEs arising from pressure generation equations in the fluid fields are generally stiff and hence special numerical methods suitable for stiff systems must be employed. Although most of the popular codes for solving stiff systems are based on the multi-step backward differentiation formulas, they present poor stability performance as order of accuracy increases. Another drawback is that the complexity of the formula makes its coding implementation expensive and also reduces the computational efficiency of the integration. Simpler algorithms can be used in order to solve the problem of stiff systems. WinSimu uses a single-step two-stage second-order algorithm belonging to the family of semi-implicit Runge-Kutta methods (SIRK) (Krus, 1986). The motivation behind this approach is to obtain a method with A-stability properties maintaining computer efficiency. The method has shown to be reliable in many simulations of mobile hydraulics applications, even in the ones that presented strong discontinuities. A Rosenbrock method derived from the SIRK method is currently being developed and tested by the author for its final implementation in the WinSimu software. The new formula is L-stable and it is implemented with an estimator of the local truncation error and a predictor of the step size. The method has been shown (Esqué et al, 2002) to have important advantages in terms of stability and efficiency when solving systems of ODEs of individual fluid power components.
In order to prevent simulation crashes and to assist the user during the parameterisation of the models, the numerical integration algorithm has been implemented with several internal error checking subroutines. The checking is made over the parameter values provided by the user. The algorithm checks that all the inputted parameters of the fluid power components are within a range of physically reasonable values. The error checking ensures as well that all the components have been assigned with their corresponding number of parameters. Any error detection stops the simulation process and pops-up a message window informing about the type of error, its localization and hints about how to avoid it. These internal error checking subroutines have been showed to be very effective in detecting typing errors especially for novice users when setting the parameter values of the components.
Edit Tool
This tool allows the user to access a table containing all the parameters of each components of the system (stored in the ‘parameter file’). From this tool the user can check and set the values of these parameters before executing a simulation. The Edit Tool is also used to load and save all the files (see Fig. 5) involved in a simulation such as simulation configuration files, plot configuration files, data files, documentation, etc. From the Edit Tool the user can also prepare bat-files for batch use in order to execute a serie of simulations consecutively.
Graph Tool
The Graph Tool window is used to control and follow the development of the simulation as well as the post-process editing of graphical plots of the simulation results. Properties dealing with appearance of the graph, scaling, layout distribution and labelling are also set up in this panel. The Graph Tool also allows the storage and retrievals of ‘plot configuration files’. This feature, allows a fast retrieval of stored plots of simulation results and the possibility of having different plots from the same data.
Data Tool
The data tool shows and stores the numerical results of the simulation. Results are tabulated in row vectors ordered by simulation time. In order to compare results of different simulations, the data tool can be loaded with four sets of different simulation results, which can be plotted simultaneously in the Graph Tool. Simula-tion results can also be transferred to other software applications such as Excel and Matlab by means of the import and export functions of the Data Tool.

Project Viewer
As Fig. 5 shows, the Project File groups all the files and data regarding the simulation of a system. In total, there are five main files constituting the content of a project. Dealing with different files, instead of a single one to define a project, has several advantages: since the project is divided in functional parts, the definition and edition of a project becomes more flexible.
By grouping all the files involved in a simulation case, the project file allows portability of a system simulation between different computers or different storage folder paths. When the user loads a project file into the WinSimu User Interface, the executable model, the parameterisation of the model, simulation results data, plot configurations, etc. is retrieved automatically in the same state as it was previously stored.
All the files included in the project file and their content are accessible from the Project Viewer panel (see Fig. 4). The panel shows a list of all the previously mentioned items involved in the project. The user, by selecting an object from the panel is redirected either to the Edit Tool or Graph Tool or Data Tool, from where he/she will visualize or edit the entry required. Another feature included in the Project Viewer is called Docu-mentation. The Documentation folder is an OLE-supported folder where the user can link any kind of electronic documents regarding the simulation such as drawings, schematics, manufacturers’ catalogues, coding of the models, etc. Therefore, for each project the user can have a simple and direct access from the Proj-ect Viewer to the documentation related to the system under study.
Instead of becoming a commercial software package, the lack of a graphical model builder and the need of code writing has lead WinSimu to be addressed principally to users with experienced skills in fluid power and programming. The software is widely used in university for educational and research purposes. Due to its high quality model library and user-friendliness of the User Interface have several companies adopted WinSimu as a tool in their virtual prototyping techniques.
Esqué, S. and Ellman, A. . 2002. Pressure build-up in volumes. Bath Workshop on Power Transmission & Motion Control, University of Bath, United Kingdom, pp. 25-38.
Ellman, A. and Piché, R. 1996. A modified orifice flow formula for numerical simulation. Fluid Power Systems and Technology, Collected papers of 1996 ASME IMECE, Atlanta, pp. 59-63.
Krus, P. 1986. Simulation of fluid power systems with complex load dynamics. International Journal of Modelling and Simulation, Vol. 2, pp. 52-57.
Esqué, S., Ellman, A. and Piché, R. 2002. Numerical integration of pressure build-up volumes using an L-stable Rosenbrock method. Proceedings of the 2002 ASME International Mechanical Engineering Congress and Exposition, New Orleans, Louisiana, USA.
SE AE
| Vendor & Location | Institute of Hydraulics and Automation Tampere University of Technology Korkeakoulunkatu 6, P.O.Box 589, FIN-33101 Tampere, Finland |
| Contact Person | Salvador Esqué |
| Phone | +358 3 3115 2264 |
| Fax | +358 3 3115 2240 |
| salvador.esque@tut.fi | |
| Educational Version | Yes (free of charge) |
| Platforms | Windows NT, 2000, XP |