What is the most straightforward technique for prediction of internal combustion engine (ICE) performance?
Historically, first successful techniques capable to predict engine charging were those accounting for wave motion phenomena in engine ducts in 1D unsteady gasdynamical formulation. Even without detailed modeling of complex multidimensional flow usual for engine working process, this technique may occasionally give quite accurate simulation results (that is especially true in cases for which obvious limitations of 1D formulation are not appear). Usage of conservative and monotone numerical methods for ducts gives numerical solutions that converge closely to exact solutions of problems in 0D-1D formulation.
Similarly, among the Horsepower Lab software components, models of 0D thermo- and 1D gas dynamics were built up first and then has developed to the considerable level of perfection.
Such models are incorporated in "Horsepower Lab 1D" -- the simulation package that is now ready for production use.
Component is such kind of module that contains the fluid (generally, any resource or conserved quantity) and is responsible for updating the flow parameters. Examples are: Atmosphere component that simply contains an ambient parameters, Vessel that accounts for thermodynamics of open vessel with gaseous fluid, component Duct that models unsteady flow of gaseous mixture in duct, Cylinder that can simulate processes in engine's combustion chamber and so on.
To better simulate unsteady flow in Duct, which evolves in space and in time, high resolution numerical scheme is used. This method approximates 1D gas dynamics conservation laws to higher order of accuracy and gives monotone solutions.
Connector -- another kind of module -- serves to evaluate instantaneous interactions between components (in general, connectors compute fluxes of resources). Connectors types (implemented to date in hpl1d) are Restriction (with 3 sub-types: Diaphragm, Valve and Window) and Splitter (with 2 sub-types: Triple and Chink).
Connector Restriction links one component to another, whereas the (flow) Splitter interconnects 3 gasdynamic components.
Models incorporated in connectors are those based on a generalized Riemann problem. Model of this class meets the requirement to ensure correctness of the internal boundary conditions for Duct component, when linked to it. The only exception is Window connector, which is not linked to any Duct, and for which the model of quasi-stationary discharge is required and used.
Almost all package's components are written in C and so it can be easily compiled and run under virtually any computer platform. Solver starts with reading initial data from human-readable input file and performs several outputs into different specified file streams. It can simulate 2- and 4-stroke engines with single or multiple cylinders, along with non-engine pipeline-like installations.
All operation is done on projects that consist of specific engine (or, possibly, another installation) setup and additional data such as the thermodynamic properties of gaseous working fluids and some data tables of properties of connectors, etc.
Numerical scheme used for solver (simulator) approximates differential equations of the model's dynamics with the 2nd order of accuracy in time, and the 1D unsteady gas dynamic conservation laws are discretized by quasi-3rd-order in space monotone conservative finite-volume numerical scheme.
GUI to the package is now (as of v. 0.96) provided by standalone program hpl1dw.exe (written in C using pure Win32 API). GUI helps much to manage the projects (see Fig. 1).
Older versions (e. g., hpl1d, v.0.91) had their own GUIs (prototyped on Linux). Click here and here to get an idea on what hpl1d looked like under Linux (KDE2 desktop environment). That prototype was written in Java, using AWT widget set (as of year 2000). Another outdated example shows another prototype of GUI for this package, written in C using Gtk+ widget set
(click here).

Fig. 1. Tuned-pipe 4-stroke engine project in hpl1d.

(a)

(b)
Fig. 2. Parameters: (a) at some locations and (b) along the ducts.
The simplest tuned-pipe design of the four-stroke engine is shown on Fig. 1. Wave action in its intake and exhaust ducts is taking place in usual way: exhaust pulse forms a finite-amplitude wave that travels to the open end of the exhaust duct, then it reflects as wave of opposite sign and travels back to the exhaust valve and can pull out the leftovers of residual gases. Piston then goes down, generating a rarefaction wave in the intake duct, that, in turn, travels to the open end. This wave reflects as a compression wave and "supercharges" the cylinder provided it comes to the intake valve prior to its closure.
Some data produced by the solver can be plotted (see Fig. 2): time-dependent parameter curves at some locations or along the duct or some arbitrarily specified path. For example, the plot with white background -- Fig. 2, (a) -- shows three pressures: in the intake duct close to the valve (black), in the cylinder (blue) and in the exhaust duct close to the valve (red). Valve opening curves are shown as well.
On the another plot, with black background -- Fig. 2, (b) -- parameters along the engine ducting are plotted (or, rather, represented as animated solution history). These parameters are: pressure (white), temperature (red), gas velocity (yellow) and mass fraction of fresh charge -- air -- (green). From this plot, in particular, one can see that a tiny portion of fresh charge is passing through the cylinder to the exhaust.
It is also possible to view and save integral engine performance parameters, per each engine cycle.
A screenshot below gives an idea that hpl1d can model 2-stroke engines too, Fig. 3 illustrates such an assembly, with opposed-piston 100cc tuned 2-stroke.
Click here to view animated parameter plots for a similar 2-stroke engine.

Fig. 3. Assembly layout for 2 stroke opposed-piston engine.
A screenshot below gives an idea how hpl1d can handle multi-cylinder engines. On Fig. 4 one can see an assembly layout for some simple 4-cylinder 4-stroke engine simulation project.

Fig. 4. Assembly layout for 4 stroke 4-cylinder engine setup.
Solver of hpl1d package (program hpl1ds.exe) is fast, and there is quick and easy way to compute engine working process e. g. for entire engine speed range. On Fig. 5 predicted indicated power vs. engine speed in r.p.m. are plotted (using Gnuplot), for 4-stroke 50cc engine. Step in engine speed is 100 r.p.m. This curve seems to be really smooth, what is supposed to be the case for 0D-1D problem formulation.

Fig. 5. Indicated power in kW vs. engine speed in r.p.m.
Much work is being done now to make hpl1d package capable of effective automated optimization, in terms of seeking the optimal design with respect to the user-defined variable engine design parameters. It promises to be quite feasible and robust, since the hpl1ds solver typically produces fully converged (regular) solution after 20..40 engine cycles and the solution converges so good that, e. g. for step in crank angle of 1 degree, the solution typically differs only in about 1% from an "ultimate" solution (i. e. solution extrapolated to zero step).

Fig. 6. Measured vs. simulated pressure in duct [50...150kPa].
Some experiments are being done to test the solver hpl1ds against experimental data for cases with wave motion in ducts. Result of such test -- with data obtained on a special test rig equipped with smooth duct of approx. 25 mm. in diameter and approx. 3.5 m. in length -- are shown on Fig. 6. For the typical case two pressure curves -- one measured and another one produced by hpl1ds -- are plotted. Pressure range is from 50 kPa to 150 kPa, duration is 100 msec. For the test case shown on Fig. 6, the isolated rarefaction wave issued from the vessel passes the duct and reflects as compression wave from the open end and so on.
Pressure curves shown on Fig. 6 seem to be quite close.
Air flow for cold rotated engine was also simulated quite well. On the firing engine much is dependent on the adopted scavenging/combustion models -- see
subsection on hpl3d below.
Click here to view more screenshots of the current version of hpl1d.
Commercial version of hpl1d is now available (Windows 32-bit only). Click here to download the latest release/update and here -- to register it (to buy a per-computer license). At its current pre-release status a special price ($85) is set.
There is a mailing list -- Hpl1d News, it is used now mainly for announcements of "Horsepower Lab 1D" updates. To subscribe for this mailing list, please send an (empty) e-mail to hpl1d-news-subscribe@horsepowerlab.com.

Fig. 7. Win32 GUI front-end to hpl2d package.
Shown on Fig. 8 are sample plots of Mach number field and pressure field -- for the steady state [supercritical] flow through configuration that models engine-specific cylinder-port-valve local flow restriction.

Fig. 8. 2D flowfield in a valve-like domain.
Click here to view more screenshots of the current version of hpl2d.Trial version of hpl2d (Windows 32-bit only) can be downloaded from here. Please check this link for updates. Turning trial version of the program to production mode is possible after ordering and registration; that can be done from here. At its current pre-release status a special price is set: $55.
There is a mailing list -- Hpl2d News, it is used now mainly for announcements of "Horsepower Lab 2D" updates. To subscribe for this mailing list, please send an (empty) e-mail to hpl2d-news-subscribe@horsepowerlab.com.
hpl3d package is the most heavy-weight one in the Horsepower Lab software set. Its purpose is to do detailed simulations of 3D (three-dimensional, including reactive) flows of gases in complex configurations with moving boundaries -- the usual industrial and engine-like environments. So the requirements for computational power are considerable. Written for use in parallel environments, hpl3d package uses MPI as an inter-process communication model.
Following example illustrates how hpl3d helps in finding possible improvements to scavenging ports design in case of the certain small opposed-piston prototype engine.
Turbulent flow of the mixture in complex 3D domain with more than 900000 cells was simulated on a Beowulf cluster -- 24 Pentium III 1000MHz processors were used. On Fig. 9 one can see the very poor quality of scavenging for the baseline prototype. Fig. 10 shows scavenging flow pattern for some improved layout of transfer ports; it is achieved by using 12 small slightly inclined ports, that gives much more fine scavenging. Click here to view animated flowfield for the case on Fig. 6. (that simulation was done using 3 million finite volumes).
Fig. 9. Scavenging flow in the opposed-piston engine (base line).

Fig. 10. Scavenging flow in the opposed-piston engine (improved design).
To compare different engine designs quantitatively, the integral scavenging curves were obtained from these simulations -- see Fig. 11. From the curves one can judge on the comparative scavenging quality. Scavenging curves are routinely used as the input data for the scavenging model in simulations done by hpl1d package. For this case, simulations readily predict baseline engine's poor performance, enormous mixture flow rate and specific fuel consumption. The improved scavenging scheme, as the simulations indicate, has shown much better predicted power output and more acceptable specific fuel consumption.
Fig. 11. Two scavenging curves.
Click here to view more screenshots of hpl3d.
No hpl3d release for end-users is available for now. Its 3D solver is being completely re-written for higher scalability.
|
Page URL: www.horsepowerlab.com/products.html
Last updated: January 5, 2007 Back to home page |
|