+$#>Theory – Overview

The aim of this section is to provide the user with detailed notes on some of the engine simulation input options and to describe some of the theory behind the structure and operation of the simulation program. As far as is possible the variable names used in the description of the Data Module have been maintained.

The theory notes are arranged under the following sub-headings:

·	Pipes
·	Governing Equations of Gas Flow
·	Numerical Method
·	Pipe Wall Friction
·	Pipe Wall Heat Transfer
·	Pipe Bends
·	Tapered pipes
·	Junctions
·	Cylinders and Plenums
·	Gas Properties
·	Fuel Properties 
·	Fuel / Combustion Systems
·	ACombustion Models
·	In-Cylinder Heat Transfer
·	Cylinder Scavenging
·	Plenum Heat Transfer
·	Ports
·	Valves
·	Turbochargers
·	Superchargers
·	Charge Coolers
·	Mechanical Links
·e DynamicsTHEORY_ENG_DYNAM
·	Friction

+$#>Theory - Pipes

Pipes are one-dimensional elements, the properties of which vary as a function of space and time. The modelling of these elements is perhaps the most crucial aspect of ensuring simulation robustness and accuracy. It is essential for the simulation engineer to understand the limitations and assumptions of the models which are being applied therefore an extensive description of the pipe governing equations and solution technique is presented here. 

The pipe theory section is split into the following sections:

·	Governing Equations of Gas Flow
·	Numerical Method
·	Pipe Wall Friction
·	Pipe Wall Heat Transfer
·	Pipe Bends
·	Tapered pipes

Each of these sections provides basic theory related to its particular topic. For more detailed information the user should consult Refs. 1-4.

A pipe is defined by specifying its diameter at various points along its length and some information about its wall properties.  In this way, complex pipe shapes can be defined (see the Pipe Data section).

Note: It is important to note that the governing equations of one-dimensional flow are valid only when the fluid adheres to the walls of the duct considered. When separation occurs over extended sections of the duct the one-dimensional assumption is invalid. Separation will occur in pipes with severe increases in area in the downstream direction, or at any geometrical discontinuity. In these cases boundary models, such as sudden enlargements or contractions, should be used to mimic the flow behaviour.

References:

1. Winterbone, D.E. and Pearson, R.J.,  Design techniques for engine manifolds.  Wave action methods for I.C. engines. Professional Engineering Publications, 1999 (ISBN 1-86058-179 X).

2. Winterbone, D.E. and Pearson, R.J., Theory of Engine Manifold Design.  Wave action methods for I.C. engines. Professional Engineering Publications, 2000 (ISBN 1-86058-209 5).

3. Benson, R.S., The thermodynamics and gas dynamics of internal combustion engines (Volume 1),  Clarendon Press, 1982. (ISBN 0-19-856210-1)

4. Horlock, J.H. and Winterbone, D.E., The thermodynamics and gas dynamics of internal combustion engines (Volume 2), Clarendon Press, 19862. (ISBN 0-19-856212-8)

+$#>Theory – Pipes: Governing Equations of Gas Flow

If the pressure wave phenomena which exist in engine manifolds, and have a strong influence on the engine performance, are to modelled then pipe models must include at least one spatial dimension. In fact, since waves in pipes rapidly become plane after encountering geometrical discontinuities, one-dimensional model of pipe gas dynamics, provide a good compromise between solution accuracy and computer run-time.

The conditions within pipe elements are calculated at each time step (calculation crankangle) by solving a set of conservation equations for mass, momentum and energy. The following section describes how these equations are derived. By following this process the user can gain an understanding of the limitations of the pipe model and this provides a sound foundation to the successful modelling of manifold systems as equivalent one-dimensional pipe networks. Further information on gas flows in the manifolds of internal combustion engines can be found in Refs. 1 and 2. 

Conservation Laws
The fundamental equations of fluid mechanics are mathematical statements that define the conservation of mass, momentum, and energy for a control volume. A conservation law asserts that the rate of change of a conserved flow property in a fixed volume is the result of the net effect of the flux of the property across the boundary of the volume and the change in that property due to internal sources. Consider the flow of a compressible fluid through an infinitesimal section of pipe in which the area of the cross-section perpendicular to the axis of the pipe varies, as shown in Fig. 1. If the area variation is gradual the fluid properties are approximately uniform across any cross-section and can be taken as functions of x and t only - the flow is then said to be quasi-one-dimensional.

{bmc bm0.bmp}
Fig. 1. Fluid control volume in duct.

The Continuity Equation
Conservation of mass dictates that its rate of change within the control volume shown in Fig. 1 is equal to the net mass flow rate through the element. If the length of the duct element is dx and its cross-sectional area is F  then the rate of change of mass within the control volume is {bmc bm1.wmf}. The term {bmc bm2.wmf}represents the gradient of the mass flux and the product of this quantity with the length dx gives the net mass flow across the element. Thus the continuity equation can be expressed as

			{bmc bm3.wmf}.					(1)

The Momentum Equation
The momentum equation embodies the requirement that the sum of the pressure forces and the shear forces acting on the surface of the control volume is equal to the sum of the rate of change of momentum within the control volume and the net efflux of momentum out of the control volume. The resultant force on the control volume is caused by the pressure difference between the end faces and the component, in the x-direction, of the pressure on the sides of the volume. The difference in the pressure forces across the end faces of the control volume is given by the product of the gradient of the force with the length of the element,
			{bmc bm4.wmf},							(2)
and the pressure on the sides of the control volume produces a force in the x-direction of 
			{bmc bm5.wmf}.							(3)
Note that the presence of the minus sign in the term (2) arises from the convention that the forces are regarded as positive in the x-direction. For flows in engine manifolds the pipe walls can be assumed to be non-distensible so that the pipe area is a function of x alone.

The shear forces on the control volume arise due to the friction between the moving fluid and the stationary duct walls and can be modelled simply as a shear stress, w , opposing the fluid motion, as shown in Fig. 1. For the infinitesimal control volume shown the surface force is given by 
			{bmc bm6.wmf},							(4)
where D is an equivalent, or hydraulic, diameter of the duct. Expressing the shear stress in terms of the pipe wall friction coefficient, f, as
			{bmc bm7.wmf},		 					(5)
enables the surface force on the control volume to be represented as
			{bmc bm8.wmf}.						(6)
In one-dimensional models of the gas dynamic processes in engine manifolds the inclusion of this term is usually the only concession to recognizing the presence of fluid viscosity; the character of the governing equations remains essentially inviscid. 

The rate of change of momentum within the control volume is given by 
			{bmc bm9.wmf}							(7)
and the net efflux of momentum from the control surface is 
			{bmc bm10.wmf}.							(8)

Hence the momentum equation is given by
	{bmc bm11.wmf}.		(9)

The Energy Equation
The energy equation can be derived by applying the first law of thermodynamics to the control volume shown in Fig. 1, in the form 
			{bmc bm12.wmf},					(10)
where E0 is the total stagnation internal energy of the control volume and H0 is the total stagnation enthalpy. The first term on the right-hand side of eqn (10) can be written in terms of the specific stagnation internal energy as
			{bmc bm13.wmf},							(11)
where e0 is defined as 
			{bmc bm14.wmf}.							(12)

The second term on the right-hand side of eqn (10) represents the net efflux of stagnation enthalpy across the control surface and is given by 
			{bmc bm15.wmf},							(13)
where h0 is the stagnation enthalpy of the gas, which is related to the stagnation internal energy via the equation
			{bmc bm16.wmf}.							(14)
Radial heat transfer from the gas to the manifold wall, or vice versa, is easily incorporated into the energy equation. If the heat transfer rate per unit mass of gas is denoted as q then the total heat transfer rate from / to the control volume is, using the convention that heat transfer is positive into the control volume, 
			{bmc bm17.wmf}.							(15)

The work done by or on the system, {bmc bm18.wmf}, is zero for gas flow in a pipe element of an engine manifold.

In terms of the above quantities the energy equation takes the form 
			{bmc bm19.wmf}.				(16)

The governing equations for the one-dimensional flow of a compressible fluid in a pipe with area variation, wall friction, and heat transfer are thus:

Summary

continuity
			{bmc bm20.wmf};						(17)
momentum
 			{bmc bm21.wmf};		(18)
energy
			{bmc bm22.wmf}.				(19)
These relationships are a set of non-linear hyperbolic partial differential equations.

Equations in Conservation Law Form
Expanding and re-arranging eqns (17) - (19) gives

			{bmc bm23.wmf};					(20)

{bmc bm24.wmf}			{bmc bm25.wmf};			(21)

			{bmc bm26.wmf},			(22)
where
			{bmc bm27.wmf},						(23)
and the term {bmc bm28.wmf} is used to ensure that the pipe wall friction always opposes the fluid motion.

Equations (20) - (22) can be written in symbolic vector form as 

			{bmc bm29.wmf}					(24)
where

{bmc bm30.wmf},         {bmc bm31.wmf},     {bmc bm32.wmf}.		(25)

When there is no pipe area variation, wall friction, or heat transfer the equations reduce to 

{bmc bm33.wmf}						(26)

and are known as the one-dimensional Euler equations. This presentation of the equations is referred to as the Weak Conservation Law Form since the equations can be obtained directly from the integral conservation equations of mass, momentum, and energy applied to the fixed control volume shown in Fig.1. 

Equations (17) to (19) can be expressed in a manner which enforces more directly the conservation of the fluid properties when the flow in pipes with area variation is considered.  By retaining the pipe cross-sectional area in the differential terms the governing equations become
			{bmc bm34.wmf}					(27)
where

{bmc bm35.wmf}        {bmc bm36.wmf},         {bmc bm37.wmf}. 		(28)

The continuity equation is now strictly homogeneous (since it contains no source terms) and if there is no fluid friction or heat transfer the source vector contains only a term representing the extra pressure force arising from the change of area across the control volume. This form of the governing equations is known as the Strong Conservation Law Form.

In Lotus Engine Simulation it is possible to use either the Strong Form. (equation 28) or the Weak Form (equation 25) of the governing equations. The strong form of the governing equations can give benefits in mass conservation in pipes of varying cross-sectional area when numerical methods employing flux limiter functions are used in order to achieve second-order accuracy (as in Lotus Engine Simulation). The weak form of the governing equations can increase the calculation stability in the region of changes in pipe wall gradient.

In tapered pipes in which there is initially no flow or disturbance due to pressure wave excitation it may be found that a small amount of spurious information is generated when using the strong form of the governing equations. This is due to the inclusion of the pipe cross-sectional area term in the solution vector, W, in equation (28). The flux limiter function is calculated using differences in the value of the solution vector along the pipe. For quiescent conditions the density and stagnation internal energy along the pipe do not vary, and the velocity is zero, but because the cross-sectional area, F, varies down the pipe the solution vector varies, and therefore the flux limiter will modify the solution very slightly. The amplitude of this ‘noise’ is generally very small compared with that of, say, the pressure waves once they reach the pipes concerned but if the user wishes to eliminate it the weak form of the governing equations should be used.

The Source Term Splitting option provides an approach where the flux limiter function is applied only to the homogeneous form of the governing equations (weak conservation law form without source terms) so that new extrema introduced by the source term are not directly limited.

It is important to note that the governing equations of one-dimensional flow are valid only when the fluid adheres to the walls of the duct considered. When separation occurs over extended sections of the duct the one-dimensional assumption is invalid. Separation will occur in pipes with severe increases in area in the downstream direction, or at any geometrical discontinuity. In these cases boundary models, such as sudden enlargements or contractions, should be used to mimic the flow behaviour.

References:

1. Winterbone, D.E. and Pearson, R.J.,  Design techniques for engine manifolds.  Wave action methods for I.C. engines. Professional Engineering Publications, 1999 (ISBN 1-86058-179 X).

2. Winterbone, D.E. and Pearson, R.J., Theory of Engine Manifold Design.  Wave action methods for I.C. engines. Professional Engineering Publications, 2000 (ISBN 1-86058-209 5).

+$#>Theory – Pipes: Numerical Method

A shock-capturing finite volume scheme is used to solve the governing equations of gas flow in pipes. A significant amount of background theory is required to present a numerical method in a proper context. Only a brief description of the underlying theory is given here. The interested user should refer to References 1 and 2, at the end of this section, for a full account of numerical methods for gas dynamics in engine manifolds.

The numerical method used in the Lotus Engine Simulation program is based on the two-step Lax-Wendroff scheme, used in conjunction with a symmetric non-linear flux limiter, giving second-order spatial and temporal accuracy. This scheme is a member of the class of shock-capturing finite difference schemes which are capable of handling shock waves and super-sonic flows that can occur in the manifolds of high-performance engines. The flux limiter, which is based on the total variation diminishing (TVD) criterion (TVD) (see later), helps to prevent the occurrence of spurious oscillations in the solution when shock waves and contact discontinuities are encountered. 

The Two-Step Lax-Wendroff (Richtmyer) Method
The two-step Lax-Wendroff method is a space-centred scheme based on the computational stencil shown below in Fig. 1.

{bmc bm38.bmp}
Fig. 1. Computational stencil for two-step Lax-Wendroff scheme.

The set of equations used to characterise the flow in engine manifolds can be expressed in symbolic vector notation as (see section on Governing Equations of Gas Flow)

			{bmc bm39.wmf}.					(1)

The first step of the scheme uses a space-centred differences about the points [(i+1/2)x,nt] and [(i-1/2)x,nt]  whilst the second step is a calculation which uses a time difference centred about the point (ix, (n+1/2)t). Thus the scheme can be expressed in the form

	{bmc bm40.wmf};	(2)
{bmc bm41.wmf}		(3)
and

	{bmc bm42.wmf}.	(4)

The Godunov Theorem (see Ref. 2) states that all second-order schemes having constant coefficients will generate spurious oscillations at discontinuities such as shock waves and contact surfaces. This obstacle to the development of numerical methods for hyperbolic equations can be circumvented by the construction of non-linear difference schemes in which the coefficients of the scheme are functions of the solution itself. One approach to constructing non-linear difference schemes is based on the total variation diminishing (TVD) criterion which is a measure of the variation of the solution at any given time step, given by
			{bmc bm43.wmf}.				(5)
In order to prevent the occurrence of spurious oscillations the total variation of the solution must satisfy the condition
			{bmc bm44.wmf}.					(6)
This criterion can be utilised in a numerical scheme in the form of a ‘smoothness monitor’ which tests the sign of consecutive gradients of the solution between pipe meshes. 

The two-step Lax-Wendroff scheme can be modified to fulfil the TVD criterion by appending the term

{bmc bm45.wmf}{bmc bm46.wmf}	(7)

after the second-step, where

		{bmc bm47.wmf}					(8)
and
{bmc bm48.wmf}	.		(9)
This approach to producing a symmetric TVD scheme was proposed by Davis (see Refs. 3 and 4). 

The local Courant number is defined as 

			{bmc bm49.wmf}					(10)

where {bmc bm50.wmf}is given by

			{bmc bm51.wmf}.				(11)

The flux limiter can be defined the flux limiter as 

			{bmc bm52.wmf}{bmc bm53.wmf}				(12)

This limiter constrains the Courant number of the scheme to 0.7.

The interface between the intra-pipe gas dynamic calculations and the boundary conditions is dealt with by using the Mesh Method of Characteristics – this well-established technique is covered comprehensively in Refs. 2 and 5. 

Mesh Length and the Courant-Friedrichs-Lewy Stability Condition
In setting up the computational domain for any problem the value of the mesh size, x, is determined by the user, or the programmer (when ‘automatic’ mesh generation is requested) by establishing criteria which fixes the compromise between accuracy and computational speed. The upper limit for the mesh length is dictated by the size of the smallest pipe element in the system: this gives the model with the lowest possible spatial accuracy for a given numerical method for non-linear waves. The value of the time step, t, however is subject to constraints imposed through stability considerations which arise from the well known criterion of Courant, Friedrichs, and Lewy (CFL) (see Ref. 6). This criterion requires that information (in the form of disturbances, or waves) cannot travel more than one mesh length in one calculation time increment, and this is expressed through the equation

			{bmc bm54.wmf} 						(13)
where
			{bmc bm55.wmf},							(14)

and {bmc bm56.wmf}represents the largest wave speed present is the entire solution domain at time level n. The parameter CCFL is known as the Courant, or CFL, number and clearly the time marching procedure will be most efficient when the value of this parameter is close to 1. 

The method of characteristics is based on a transformation of the governing equations which enables the paths of disturbances to be tracked explicitly as they propagate through the flow field. For this technique it is clear that the physical interpretation of the case CCFL=1 corresponds to a situation where, in at least one computational cell, a wave starts from [(i-1)x, nt] or [(i+1)x, nt] and reaches [ix,(n+1)t]. It is only strictly safe to use a Courant number of 1 if the wave maximum wave speed, {bmc bm57.wmf}, does not increase as the wave travels across the cell. When the flow field is non-homentropic, however, the wave speed will not be constant over the cell and a more cautious (i.e. lower) value of CCFL should be used. The TVD scheme used in the Lotus Engine Simulation code dictates a Courant number of 0.7.

For non-linear waves {bmc bm58.wmf}can be estimated using the relationship

				{bmc bm59.wmf}.				(15)

The number of meshes used in the pipes will determine the accuracy of the pipe flow calculations. It is difficult however to generalise on the mesh requirements. The stability requirement imposed on the calculations is that a wave cannot traverse a mesh in one time step. Mesh lengths of between 15-20 mm for inlet pipes and 25-30 mm for exhaust pipes is usually sufficient. It should be noted that the speed of simulation will slow dramatically with increasing mesh density. In general simulation run times increase with mesh density to the power of 1.5. The Pipe Auto-Mesh facility (activated from the Data menu on the Toolbar) gives a good compromise between accuracy and computer run-time.

{bmc bm60.bmp}
Fig. 2. Pipe graphical display

The meshes within a pipe can be visualised together with the pipe geometry by clicking the ‘Pipe Graphical Display’ icon in the Pipe Property Sheet. Fig. 2 shows a complex pipe geometry which forms part of the exhaust system of a two-stroke motorcycle. The numbers in black (along the top of the pipe) and the black ‘circles’ indicate the sections at which the user has specified the pipe equivalent diameter. The red ‘circles’ indicate the position of the mesh points within the pipe. For accurate definition of the pipe geometry there should be more mesh points than sections at which the pipe geometry is defined.

Additional pipe meshes may improve computational stability, especially in pipes containing severe Tapers.  The Lotus Engine Simulation features Automatic Mesh Refinement.

References:

1. Winterbone, D.E. and Pearson, R.J.,  Design techniques for engine manifolds.  Wave action methods for I.C. engines. Professional Engineering Publications, 1999 (ISBN 1-86058-179 X).

2. Winterbone, D.E. and Pearson, R.J., Theory of Engine Manifold Design.  Wave action methods for I.C. engines. Professional Engineering Publications, 2000 (ISBN 1-86058-209 5).

3. Davis, S.F. TVD finite difference schemes and artificial viscosity. NASA CR 172373, 1984.

4. Davis, S.F. A simplified TVD finite difference scheme via artificial viscosity.  SIAM J. Sci. Stat. Comput., 8, 1, 1-18, 1987.

5. Benson, R.S., The thermodynamics and gas dynamics of internal combustion engines (Volume 1),  Clarendon Press, 1982. (ISBN 0-19-856210-1)

6. Courant, R., Isaacson, E., and Rees, M. On the solution of non-linear hyperbolic differential equations by finite differences. Commun. Pure Appl. Math. 5, 243-249, 1952.

+$#>Theory – Pipes: Automatic Mesh Refinement

The size of the pipe meshes used in the simulation represent a compromise between the accuracy and speed of the calculation – See the Numerical Method section. In regions of the model where the wave speed is not constant over the solution domain, the solution may become unstable. This is especially true in strong tapers, where the source terms relating to the area variation can have a destabilising effect on the calculation. The Lotus Engine Simulation features an automated mesh refinement routine which can yield significant benefits in model robustness, whilst not necessarily causing the computational penalty of defining finer meshes for the base model.

Refinement Criteria
When the Automatic Mesh Refinement option is enabled, the simulation checks the spatial and temporal variation in pressure and density. The variation in density and pressure between each pipe mesh point and the adjacent mesh point is checked for the current time level. Additionally, the variation in density and pressure between each pipe mesh point at the current time level, with those at the previous time level are checked. If the variation in density or pressure is found to be above the refinement limit, the number of meshes in that particular pipe is doubled. The current time-step is re-evaluated for all of the pipes in the model. The user can limit the how many times the number of pipe mesh points is doubled. If the variation in the parameters for all of the meshes in a given pipe are below the de-refinement limits and that pipe is currently at a higher state of refinement than the base model, then the number of meshes in that pipe will be halved. 

The number of times a given pipe can be refined in any time-step is only limited by the user definable refinement level limit, or by the maximum allowable number of meshes in a pipe. Pipes are only allowed to de-refine once per calculation time-step. 

{bmc bm61.bmp}
Automatic Mesh Refinement Parameter Variation Gradient User Area Valve Properties Menu

The refinement criteria are all normalised by dividing the variation in the parameter by the previous time-step value for the mesh point under consideration, such that the test for variation in pressure becomes:
Pressure variation for mesh point x{bmc bm62.wmf}

The pressure variation value obtained from the relationship above is tested against the user specified pressure refinement and de-refinement parameters. If the pressure variation at any mesh point is found to be greater than the refinement parameter, the pipe is refined. This is repeated for the density variation parameter, which is evaluated in the same way as the pressure variation parameter. Once the pipe has been refined, the current time-step calculation is repeated. If the pressure and density variations for all of the mesh points in the pipe is below the de-refinement limit then the pipe may be de-refined.

Refining a single pipe still has a significant impact on the calculation run time, as the calculation time-step is based on the shortest time that information (in the form of disturbances, or waves) can travel one mesh length in one calculation time increment – See the Numerical Method section.

+$#>Theory – Pipes: Wall Friction

The pipe wall friction factor, f, is defined as (English – not US - definition) 
			.{bmc bm63.wmf} 					(1)
It is common practice, in wave-action simulations, to use a constant value of f in the region of 0.004-0.01; in pipes containing bends higher values are often used. In fact the curve on the Moody diagram for a smooth pipe (surface roughness k 2.5 m) gives values in the range 0.0035-0.008 for Reynolds numbers in the range 1104-5105.

As described in the Pipe Data Variables section there are three ways to define the pipe wall friction factor in the Lotus Engine Simulation code. The first of these methods is to specify the wall friction factor directly. This requires some experience on the part of the user, and some knowledge of the cycle-averaged Reynolds numbers in the manifold pipes. The other two options set the pipe wall friction factor indirectly, either based on a value of the pipe wall surface roughness specified by the user, or by using a default value for the pipe wall surface roughness based on the material type of the pipe wall which has been specified by the user. In the latter case the default values for the material surface roughness are given in Table 1.

Table 1. Surface roughness values for different pipe materials in program.
{bmc bm64.bmp}

For Reynolds numbers in the range 3.5103Re108, and relative roughness values in the range 10-6(k/D)10-2, the program uses the equation		
	{bmc bm65.wmf},				(2)

(see Ref. 1) to evaluate the pipe wall friction factor, where D is the pipe diameter. Reynolds number in this equation is given by 
				{bmc bm66.wmf}						(3)
The gas viscosity, , is a function of its temperature and is evaluated by the code. For Reynolds numbers less than 3500 the flow is assumed to be laminar and the pipe wall friction factor is given by the expression

				{bmc bm67.wmf}.						(4)

Equations (2) and (4) can be applied to give either a value for f at every mesh point and time step of the calculation, or to give an average value for each pipe section comprising the manifold. In the interests of maintaining reasonable computer run times the latter course is followed in the Lotus Engine Simulation code. 

Values for the friction factor calculated for each pipe over each engine cycle are printed in the .MRS file.

References

1. Swamee, P.K. and Jain, A.K., Explicit equations for pipe-flow problems. J. Hydraulic Div. Proc. ASCE, pp. 657-664, May 1976

2. Winterbone, D.E. and Pearson, R.J., Theory of Engine Manifold Design.  Wave action methods for I.C. engines. Professional Engineering Publications, 2000 (ISBN 1-86058-209 5).

+$#>Theory – Pipes: Wall Heat Transfer

The heat transfer term, q, in the energy equation presented in the section on the Governing Equations of Gas Flow) is used to represent simple convective heat transfer in the radial direction from the gas to the pipe.

An approximate treatment for convective heat transfer, due to Benson (see Refs. 1 and 2), is adopted in the Lotus Engine Simulation code. The approach is based on the assumption that the analogy between heat and momentum transfer in steady flow can be extended to non-steady flow. This assumption is not strictly true. In addition to the fact that the Reynolds analogy oversimplifies the mechanism of turbulent heat transfer, it also ignores the existence of any laminar sub-layer. The approach, however, is reasonable as a first approximation and is described below. The heat transfer rate per unit mass is
{bmc bm68.wmf}					(1)
where h is the convective heat transfer coefficient and Tw and Tg are the temperatures of the pipe inner wall and gas, respectively. Reynolds' analogy gives the convective heat transfer coefficient as
{bmc bm69.wmf},						(2)
where f is the pipe wall friction factor (which can be set independently of the value used in the wall friction term in the momentum equation). Equation (1) then becomes
{bmc bm70.wmf},					(3)
and, for an ideal gas,
{bmc bm71.wmf}.				(4)

At the end of each cycle the total heat transferred to the walls at all the meshes in the pipe is summed and used to perform a simple one-dimensional heat transfer calculation to determine the pipe inner wall temperature that should be used for the next cycle. Thus it is necessary to specify the pipe wall thickness, material type and method of cooling in the Pipe Data Variables.

The assigned wall material properties for the default option are given in Table 1.

Table 1. Pipe material properties.
{bmc bm72.bmp}

Note - the density and specific heat are only used in a thermal transient simulation – this facility is not available in the current version of the Lotus Engine Simulation code. 

The air gap pipe data was drawn from a finite element and CFD model of an exhaust pipe of 35 mm ID 50 mm OD and employing a 3mm air gap (Ref. 3).

The default external cooling properties are given in Table 2.

Table 2. Pipe coolant data.
{bmc bm73.bmp}

References:

1. Benson, R.S., The thermodynamics and gas dynamics of internal combustion engines (Volume 1),  Clarendon Press, 1982. (ISBN 0-19-856210-1)

2. Winterbone, D.E. and Pearson, R.J., Theory of Engine Manifold Design.  Wave action methods for I.C. engines. Professional Engineering Publications, 2000 (ISBN 1-86058-209 5).

3. Sandford, M.H., and Jones, R.D., Powerplant systems and the role of CAE - Part 1 Exhaust Systems. SAE paper no. 920396, 1992.

+$#>Theory – Pipe Bends

Pipe bends are handled in the model in essentially the same way as a conventional pipe. The pipe bend angle and radius are specified as properties of the pipe (see Pipe Data Variables) and empirical data, based on Ref. 1, is used in order to infer an equivalent pipe-wall friction factor that mimics the pressure-loss effects of the bend on the gas flow. 

The length of the pipe, {bmc bm74.wmf}, which forms the bend is required – if this value is less than the product of the bend radius and angle {bmc bm75.wmf}, the value of the bend radius is reduced to give the correct length. If the specified pipe length exceeds the product of the bend radius and angle the bend is placed in the centre of the pipe and the inlet and outlet pipe length surrounding the bend are set equal to half the difference {bmc bm76.wmf}.

The pressure-loss due to the secondary flows and separated regions within the bend, and the redevelopment of the flow downstream of it, can be expressed as (see ref. 1)
			{bmc bm77.wmf}, 					(1)
where Kb is the bend loss coefficient. Considering the shear stress developed over a length of pipe x enables the pipe wall friction factor, defined as (see theory on Pipe Wall Friction)
 			{bmc bm78.wmf},					(2)
to be expressed in the form
			{bmc bm79.wmf}, 						(3)
and combining this with eqn (1) gives
			{bmc bm80.wmf}.						(4)

Miller (Ref. 1) gives data for the ‘basic’ loss coefficient, Kb*, as a function of bend angle and the radius-to-pipe diameter (r/D) ratio at a Reynolds number of {bmc bm81.wmf}. This basic loss coefficient is then modified to give the corrected loss coefficient as 
			{bmc bm82.wmf}					(5)
where the C values are correction factors which account for variations in Reynolds number (CRe), outlet pipe length (Co), and surface roughness (Cf). In this way the pipe friction factor may be increased by a factor of 3 or 4 in pipe bends.

Fig. 1 below shows the variation of the basic loss factor, Kb*, with pipe bend angle and r/D ratio for Re ={bmc bm83.wmf}. The surface roughness correction factor, Cf, for bends of {bmc bm84.wmf} and {bmc bm85.wmf}is given by 

			{bmc bm86.wmf}						(6)

where fsmooth is the friction factor for a hydraulically smooth pipe and frough is the friction factor obtained using the assumed pipe and bend roughness.  For {bmc bm87.wmf} and {bmc bm88.wmf}the value of Cf is obtained from eqn. (6) using {bmc bm89.wmf}. 

{bmc bm90.bmp}
Fig. 1. Variation of Kb* with bend angle and bend radius / diameter ratio for Re = 106.

The outlet pipe length correction factors used in conjunction with the basic loss-coefficient Kb* are shown in Fig. 2. For precise details of the way in which this, and the other correction factors are used see Ref. 1.

{bmc bm91.bmp}
Fig. 2. Variation of outlet correction factor with outlet length / diameter.

Values for the equivalent pipe-wall friction factor calculated for each pipe over each engine cycle are printed in the .MRS file.

Reference

1. Miller, D.S., Internal flow systems. Second Edition. BHR Group Ltd., 1990.

+$#>Theory – Tapered Pipes

Tapered pipes are handled in the model in essentially the same way as the pipe bends. The pipe diameter at various distances along the pipe can be specified as properties of the pipe (see Pipe Data Variables). The equations presented in the Numerical methods section assume that the gas flow uniformly fills the entire pipe.  Thus, secondary flow losses caused by flow separation in steep diffuser sections, are not accounted for. Empirical data, based on Ref. 1, has been used to develop a relationship which is used to infer an equivalent pipe-wall friction factor that mimics the pressure-loss effects of the diffuser sections on the gas flow. 

{bmc bm92.bmp}
Fig. 1. Schematic of diffuser.

The pressure-loss due to the secondary flows and separated regions within the diffuser, and the redevelopment of the flow downstream of it, can be expressed as (see ref. 1)
			{bmc bm93.wmf}, 					(1)
where Kd is the diffuser loss coefficient. Considering the shear stress developed over a length of pipe x enables the pipe wall friction factor, defined as (see theory on Pipe Wall Friction)
{bmc bm94.wmf},					(2)
to be expressed in the form
			{bmc bm95.wmf}, 						(3)
and combining this with eqn (1) gives
			{bmc bm96.wmf}.						(4)

The diffuser loss can be expressed as 
{bmc bm97.wmf}.					(5)
The function c(q) can be approximated as
{bmc bm98.wmf}.				(6)

A Reynolds number correction factor, cRe, can be applied to the diffuser loss. This can be approximated by
			{bmc bm99.wmf}.					(7)

The Lotus Engine Simulation applies the diffuser loss on a mesh-wise basis.  The length of the diffuser, {bmc bm100.wmf}, is taken as the pipe mesh length. Areas A1 and A2 are the area at the upstream and downstream nodes respectively. The diffuser angle, q, is simply a geometric function of A1, A2 and l.

Values for the equivalent pipe-wall friction factor calculated for each pipe over each engine cycle are printed in the .MRS file.

Reference

1. Miller, D.S., Internal flow systems. Second Edition. BHR Group Ltd., 1990.

+$#>Theory – Pipe Junctions
When pipes are connected together the program checks the junction type. If only two pipe ends are connected and the diameters of both pipes at the junction are the same then as smooth transition (equal area junction) is modelled and there is no pressure discontinuity at the junction. If the two pipes have different diameters then a step change in area is modelled and a pressure discontinuity will be produced by the requirement for mass and momentum continuity. In this case the sudden enlargement and sudden contraction models detailed in Ref. 1 are used. 

If more than two pipe ends are connected at the junction then a constant pressure junction is modelled. A constant pressure junction can be transformed into a pressure-loss junction by ‘dropping’ the pressure-loss junction icon on the pipe junction concerned.

The propagation of pressure waves through junctions in engine manifolds is an intrinsically multi-dimensional phenomenon.  The modelling of such junctions within a one-dimensional simulation presents a major challenge, since the geometry of the junction cannot be fully represented and can have a significant influence on the pressure waves that propagate through them. 

Variations of two boundary models have been most widely used in wave action engine simulations for dealing with multi-pipe junctions: the constant pressure junction, and the pressure-loss junction approaches.  With both of these junction models it is necessary to assume that the flows entering and leaving the junction are one-dimensional, and that the physical dimensions of the junction are negligible compared with the overall dimensions of the pipe network.  

In turbocharged diesel engines the assumption of constant-pressure junctions is often acceptable because the flow velocities are quite low. The situation is changed if ‘pulse converter’ junctions (see Fig. 1) are fitted because these are basically junctions which have been designed to give high pressure losses in preferential directions.  In petrol (or gasoline) engines the gas flow velocities are substantially higher and then it becomes increasingly important to take account of these flow losses, since they can have an affect on the volumetric efficiency of the engine.

{bmc bm101.bmp}
Figure 1 – Schematic of a pulse converted exhaust system.

References

1. Benson, R.S.  The thermodynamics and gas dynamics of engine manifolds. Vol. 1, Eds. J.H. Hor-lock and D.E. Winterbone, Oxford University Press. 1982.

+$#>Theory – Pipe Junctions: Two-Pipe Equal Area Junctions

When two pipes if the same cross-sectional area are joined together they form an equal area junction which produces no pressure-loss effects on the gas flow through it. The boundary equations for this type of junction can be calculated using either the Method of Characteristics or the two-step Lax-Wendroff method – these options can be selected from the Data menu. In the former case identical algorithms to those described for a pipe interior mesh calculation in references 1 and 2 are used. In the latter case a special computational stencil for the two-step Lax-Wendroff method is constructed in order to cope with different mesh sizes in the pipes which are joined. Figure 1 shows how a virtual mesh point is introduced in the largest mesh adjacent to the boundary. The gas properties at this mesh point are interpolated from the values at the surrounding mesh points and then used in the finite difference calculation which is carried out over equally-spaced meshes.

The finite difference option will handle transonic and supersonic flow conditions more robustly than the method of characteristics option.

{bmc bm102.bmp}
Figure 1 – Creation of virtual mesh point at equal area junction.

References

1. Benson, R.S.  The thermodynamics and gas dynamics of engine manifolds. Vol. 1, Eds. J.H. Hor-lock and D.E. Winterbone, Oxford University Press. 1982.

2. Winterbone, D.E. and Pearson, R.J., Theory of Engine Manifold Design.  Wave action methods for I.C. engines. Professional Engineering Publications, 2000 (ISBN 1-86058-209 5).

+$#>Theory – Pipe Junctions: Constant Pressure Junctions

The simplest method of dealing with a multi-pipe junction is to assume that the static pressure at all of the pipe ends comprising the junction is uniform, so that

 			{bmc bm103.wmf} , 						(1)

where the suffix N refers to the number of the pipe end at the junction (see Fig. 1).  This is based on the assumption that for small wave flow, the pressure drops across a junction are negligible.

{bmc bm104.bmp}
Figure 1 – Junction Schematic.

The characteristics of such junctions are fully defined by the geometric areas of the pipes forming the junction and hence there is no necessity to provide any extra data, as is required with the pressure-loss junction model.

To obtain the entropy levels of the pipe ends at the junction the following assumptions were made (see Ref 1): 

·	For pipe ends in which the flow is towards the junction the entropy level in the pipe is used.

·	It is assumed that the stagnation entropy levels for the outgoing flows are all equal to the averaged entropy level of the incoming flows.  This is based on the assumption (see Ref 2) that the flows which enter the junction become mixed before leaving the junction.

When a pressure wave interacts with a constant pressure junction it experiences an area change, simply because it ‘sees’ all the pipes which join at the junction.  Hence, the interaction of a wave at the junction is similar to that of a wave at a sudden enlargement.  This feature of the interaction is used to improve the tuning of engine intake and exhaust manifolds, and a junction can be used to generate a rarefaction wave in response to a pressure wave.  This is considered in more detail in Ref 3, where the application of junctions in manifolds is discussed.

For a comprehensive and detailed description of the models used for calculating the flow in multi-pipe junctions see Ref 4.

References

1. Benson, R.S.  The thermodynamics and gas dynamics of engine manifolds. Vol. 1, Eds. J.H. Hor-lock and D.E. Winterbone, Oxford University Press. 1982.

2. Corberán, J.M. A new constant pressure junction model for N-branch junctions. Proc. I.Mech.E., Vol. 206, Part D, pp.117-123, 1992.

3. Winterbone, D.E. and Pearson, R.J., Design techniques for engine manifolds – wave action methods for IC engines.  Professional Engineering Publishing Ltd, London. 1999. ISBN 1 86058 179 X.

4. Winterbone, D.E. and Pearson, R.J., Theory of engine manifold design – wave action methods for IC engines.  Professional Engineering Publishing Ltd, London. 2000. ISBN 1 86058 209 X.

+$#>Theory – Pipe Bundles

The pipe bundle is a simple mechanism for representing a group of similar pipes by a single pipe. It is useful for the modelling of exhaust catalyst bricks or charge-cooler passages.  

{bmc bm105.bmp}
Pipe Bundle

The pipe bundle element has identical properties to the Pipe Element, except that it includes a count multiplier. The count multiplier simply represents the number of instances that a pipe having the same attributes occurs (for example the number of passages in a catalyst brick) and is simply used to multiply the pipe bundles contribution at each end.

+$#>Theory – Pipe Junctions: Pressure Loss Junctions

All junctions result in pressure losses, these losses are more significant in some junctions than in others.  In order to allow inclusion of geometry induced effects, a new pressure loss junction model was developed.  This requires data, particular to the junction, relating the pressure drop across the junction for various flow configurations to the pressure ratio, mass flow ratio, and mass flow rate.  This data is usually expressed in terms of steady-flow pressure loss coefficients.  Ref. 1 provides a source of these for many three-pipe junction configurations.  

The use of steady-flow pressure loss coefficients in wave action simulations is based on the assumption that the pressure drop between any two branches of a junction, when experiencing an unsteady flow field, is instantaneously equivalent to the pressure drop between the branches when subjected to a steady flow.  This forms the basis of the quasi-steady assumption which is normally used in the boundary models of engine simulation codes, for a more detailed discussion see Ref. 2.

In the Lotus Engine Simulation, a generalised technique is used for evaluating the instantaneous pressure loss between the branches of the junction.  A detailed description of this model can be found in Ref. 3.  This generalised technique is based on consideration of the fluid momentum and has the advantage that it allows junctions formed by any number of branches to be considered.  The only additional data required by this model, over the constant pressure junction model, is the angular relationship between the various branches which form the junction.  See the pressure-loss junction data page for details.

Definition of the Pressure Loss Coefficient
The pressure loss junction model requires data, particular to the junction, relating the pressure drop across the junction for various flow configurations to the pressure ratio, mass flow ratio, and mass flow rate.  This data is expressed in terms of a steady-flow pressure loss coefficients, which can be expressed in terms of the stagnation pressure drop, as
{bmc bm106.wmf}  .			(1)
Here Ki represents any loss coefficient, and the subscripts ‘up’ and ‘down’ are used to denote the upstream and downstream branches between which the loss coefficient applies and ‘com’ denotes the branch which carries the entire flow passing through the junction. 
Twelve separate coefficients are required to characterise even a simple three-pipe junction. The loss coefficients must either be obtained from steady flow tests (eg. Miller (1)), or from empirical (see Ito and Imai (4)) or simplified analytical formulations (eg Bassett et al. (5)).  A description of the procedure for measuring the steady-flow pressure-loss coefficients of a junction is given in Ref. 2.  These loss coefficients simply express the stagnation pressure drop caused as the flow passes between two branches of the junction and can be incorporated into the junction boundary equations, which are then solved using an iterative process, which is described fully in Ref. 2.
It may be anticipated that the pressure-loss junction model would perform poorly in unsteady flow situations, as it employs steady-flow pressure-loss data.  However, Bassett et al. (6) have demonstrated that it can perform well, even in flows which contain shock waves.
Estimation of the Loss Coefficient
Expressions relating the pressure drop between the various branches of the junction are required. It may be argued that when more than one pipe contains flow towards the junction, that the pressures at the ends of each of those pipe ends must be equal. In the pressure-loss model built into the Lotus Engine Simulation code, the junction branch which contains the largest mass-flow rate towards the junction at any given time-step is identified and set as the datum branch for the time-step under consideration. Thus, only a relationship for estimating the pressure loss between the branch designated as the datum branch and the branches with flows away from the junction is required.  

Consider a junction formed by n-branches; at any given instant, some of these branches will contain fluid flowing towards the junction, and others will contain fluid flowing away from the junction. It can be shown (see Ref. 3) that an expression can be obtained for the pressure loss coefficient between the datum branch (denoted ‘dat’) and any other branch, j, containing flow away from the junction, as

{bmc bm107.wmf}  ,				(2)

where the area ratio between the datum branch and any other branch is defined as 
{bmc bm108.wmf}  .							(3)
and the mass flow ratio is defined as
{bmc bm109.wmf}  .							(4)
{bmc bm110.bmp}
Figure 1 - Variation in the loss coefficient with branch angle, and mass flow ratio, for a fixed area ratio of unity.

Figure 1 shows the solution obtained from equation (2) for a range of branch angles, q, and mass flow ratios, q, when y=1. It is clear that the loss coefficient is a strong function of both branch angle and mass flow ratio. Inspection of equation (2) reveals that the area ratio term, y, will have an equivalent influence on the loss-coefficient to the mass flow ratio term, q.

Examples, comparing simulation results performed using both the constant pressure junction model and the pressure loss junction model are given in Ref. 2.

References

1. Miller, D.S., Internal flow systems. Second Edition. BHR Goup Ltd., 1990.

2. Winterbone, D.E. and Pearson, R.J., Theory of engine manifold design – wave action methods for IC engines.  Professional Engineering Publishing Ltd, London. 2000. ISBN 1 86058 209 X.

3. Bassett, M.D., Pearson, R.J., Fleming, N.P., Winterbone, D.E., A Multi-pipe Junction Model for One-dimensional Gas-dynamice Simulations.  SAE Paper No. 2003-01-0370.

4. Ito, H., Imai, K., Energy losses at 90° pipe junctions.  Am. Soc. Civil Engrs., J. Hyd. Div., HY9, pp.1353-1368, 1973.

5. Bassett,M.D., Winterbone, D.E., Pearson, R.J., Calculation of steady flow pressure loss coefficients for pipe junctions.  Proc. I.Mech.E., Vol. 215C,  pp.861-881, 2001.

6. Bassett, M.D., Winterbone, D.E., Pearson, R.J., Modelling engines with pulse converted exhaust manifolds using one-dimensional techniques. SAE Paper No. 2000-01-0290.

+$#>Theory - Cylinders and Plenums

Cylinders and plenums are so-called zero dimensional elements in that they have properties of mass, pressure, temperature and volume but NOT length. The conditions within these elements are calculated at each crank angle by solving the energy equation in the form

{bmc bm111.wmf}					(1)

The solution procedure is summarised as follows;

Calculate heat release due to combustion {bmc bm112.wmf}
Calculate enthalpy change due to gas flows {bmc bm113.wmf}
Calculate heat transfer using old cylinder temperature {bmc bm114.wmf}

Estimate change in cylinder pressure due to energy and volume changes
{bmc bm115.wmf}
where:
mcyl	 = 	cylinder mass
cv	 = 	specific heat at constant pressure
Tcyl	 = 	cylinder temperature at previous increment
dV 	 = 	change in volume during increment
Vcyl	 = 	cylinder volume.at previous increment
{bmc bm116.wmf}	=	ratio of specific heats

Estimate displacement work
{bmc bm117.wmf}
where
pcyl 	= cylinder pressure at previous increment

Estimate temperature change
{bmc bm118.wmf}

(1) Enter iteration loop to converge on cylinder temperature

{bmc bm119.wmf}

Calculate cylinder pressure
{bmc bm120.wmf}
where
pnew	 = new cylinder pressure
Vnew 	 = new cylinder volume
Rcyl 	 = Universal gas constant for gases in the cylinder.

Calculate displacement work
{bmc bm121.wmf}

Recalculate heat transfer based on mean gas temperature during increment. 

Calculate energy change due to this gas temperature

{bmc bm122.wmf}

Calculate internal energy change due to change in cylinder temperature.

{bmc bm123.wmf}

Where Enew and Ecyl are the internal energies of the gas in the cylinder at this and the previous time steps respectively.

Calculate the error in temperature due to the mismatch in changes in internal energies

{bmc bm124.wmf}
If dT is greater than 0.01 K repeat calculations from (1).

When converged on temperature recalculate all conditions within the cylinder.

The above methodology is the most simple approach to solving the energy equation for zero dimensional elements. Other programs use more complex “predictor - corrector” algorithms which can be more computationally efficient. The authors have tested these but found the above approach to be the most robust.

In order to ensure stability under all test conditions the crank angle increments are limited to ensure that the change in mass of a zero dimensional element does not exceed 25% of the current mass in a particular time step. This is performed by assuming that the rate of change in mass from the previous step will also apply to the current step. This limit is most often invoked on high compression ratio four stroke engines at TDC overlap.

Much of the zero-dimensional element theory was derived and adapted from the following publications.

References:

1. The Thermodynamics and Gas Dynamics of Internal Combustion Engines (Volume 1) R.S.Benson (section 1.3.3 pp 36 & section 4.9 pp 182) (ISBN 0-19-856210-1)

2. The Thermodynamics and Gas Dynamics of Internal Combustion Engines (Volume 2) J.H.Horlock & D.E.Winterbone (section 10 pp 583 & section 18 pp 1016) (ISBN 0-19-856212-8)

3. Internal Combustion Engines (Volume 2) R.S.Benson & N.D.Whitehouse (chapter 8 pp 271 & chapter 9 pp 303) (ISBN 0-08-022720-1)

4. Turbocharging the Internal Combustion Engine. N.Watson & M.S.Janota (section 15.5 pp 528) (ISBN 0-333-24290-4)

+$#>Theory - Gas Properties

Gas is transferred to all elements as a mixture of 11 gases plus fuel. The properties of the individual gases are calculated as functions of temperature with these properties being averaged as molar fractions to give the overall properties of the mixture. The main benefit of this approach is that a wide range of fuels and air fuel ratios can be accurately simulated. With the effects of gas composition on parameters such as the speed of sound in exhaust systems being correctly calculated.

The properties calculated for each gas mixture are;

Enthalpy  H  (J)
Internal Energy  U  (J)
Heat Capacity @ const p   (J/K)
Heat Capacity @ const V   (J/K)
Specific Enthalpy  h  (J/kg or J/kmole)
Specific Internal Energy  u  (J/kg or J/kmole)
Specific Heat Capacity @ const p  Cp (J/kg.K or J/kmole.K)
Specific Heat Capacity @ const V  Cv (J/kg.K or J/kmole.K)
Gamma

The gas species considered are;

CO2
CO
N2
H2O
O2
H2
C8H18
C12H26
CH4
H
N
NO
O
OH

The gas property model is based on polynomial curve fits to thermodynamic data for each species. 

For each species i at temperature T the enthalpy and specific enthalpy are given by;

{bmc bm125.wmf}

{bmc bm126.wmf}

The internal energy and specific internal energy are given by;

{bmc bm127.wmf}
{bmc bm128.wmf}

The heat capacity and specific heat capacity at constant pressure (cp & scp) are given by; 

{bmc bm129.wmf}

{bmc bm130.wmf}

The heat capacity and specific heat capacity at constant volume (cv & scv) are given by; 

{bmc bm131.wmf}

{bmc bm132.wmf}

The ratio of specific heats

{bmc bm133.wmf}

The constants for the polynomials are;

{bmc bm134.bmp}

T given in Kelvin. The units the polynomials are kJ/Kmol or kJ/Kmole/K. The molecules C8H18 and C12H26  are fuels which are assumed to be semi perfect gases, although only second order fits are used in these cases due to the limited amount of data on which they are based.

Similar property tables are found in references 1 and 2

References:

1. The Thermodynamics and Gas Dynamics of Internal Combustion Engines (Volume 1) R.S.Benson (section 1.3.1 pp 25) (ISBN 0-19-856210-1)

2. Internal Combustion Engine Fundamentals J.B.Heywood (section 4.7 pp 130) (ISBN 0-07-028637-X)

+$#>Theory - Fuel Properties

Default values for calorific value, relative density, hydrogen carbon ratio and molecular weight for each fuel option are provided. These are;

Fuel	Calorific
Value
kJ/kg	Relative
Density	H/C Ratio	O/C Ratio	Molecular Weight	Mal-
Distribution	
1: Gasoline	43000	0.75	1.8	0.0	114.23	1.0	
2: Diesel	42700	0.84	1.9	0.0	170.0	1.0	
3: Methane	46280	0.7373E-3	3.87	0.0	17.423	0.0	
4: Methanol	20000	0.79	4.0	1.0	32.04	1.0	

The user is free to specify any of the fuel properties. The simulation will automatically adjust the combustion chemistry and heat release rates as appropriate. The combustion chemistry employed is described in detail in reference 1 with corrections for CO and O2 as decried below.

The maldistribution factor

The use of full chemical kinetics combustion models is not appropriate for the majority of simulation work as the models are computationally expensive on computer resources. An alternative method of catering for the dissociation effects on effective heat release has therefore been developed through the use of a so called maldistribution factor. The maldistribution factor is incorporated to allow for a reduction in effective calorific value of the fuel due to poor charge mixing and dissociation. A factor of 0.0 implies almost perfect mixing and a high effective calorific value for the fuel. If a factor of 1.0 is used, a reduction in %CO2 and increase in %CO and %O2 is used to re-calculate the effective calorific value of the fuel.

The effective calorific value is defined as the calorific value minus the effects of combustion to CO (rather than CO2) and to H2 (rather than H2O). The assumed energy release rates are;

·	 C to CO2	32760 kJ/kg
·	 C to CO 	9100 kJ/kg
·	H2 to H20	120000 kJ/kg

A typical gasoline engine would have a maldistribution factor of between 1.0 and 3.0. Values less than 1.0 imply better combustion and may be appropriate for gas fuelled engines. The effective calorific value calculated by the program is provided in the .MRS output file.

The relative proportions of CO2, CO and O2 produced by different maldistribution factors are shown on the Eltinge chart (see below)

References

1. Internal Combustion Engine Fundamentals J.B.Heywood (section 4.2 pp 130) (ISBN 0-07-028637-X)

2. Fuel-Air Ratio and Distribution from Exhaust Gas Composition  L.Eltinge SAE 680114

{bmc bm135.bmp}
Eltinge Chart  (Fuel H/C ratio = 1.8, Water Constant = 3.5)]

+$#>Theory - Fuel / CombustionSystem

Four combustion systems are catered for in the Lotus Engine Simulation code – these are:
·	 Carburetted
·	 Port Injected
·	 Direct Injected
·	 Indirect Injected
The combustion system option performs two functions. Firstly it controls the method by which fuel is introduced to the model and secondly it sets the defaults for the combustion models and heat transfer options

If the carburettor option is selected then fuel is mixed with the air prior to introduction to the model at the “inlet” boundary. It is recognised that this is restrictive and this option will be improved in future versions of the program.

The port-injected model introduces fuel to the cylinder as air flows through the inlet valve. The model assumes that the fuel is fully evaporated and it thus displaces fresh charge that might other wise flow into the cylinder.

The direct and indirect-injection options are identical with respect to the way by which fuel is introduced to the cylinder. Fuel is assumed to be introduced to the cylinder at the same rate as it is combusted. The only effect of specifying and indirect injection combustion system is to change some of the default combustion and heat transfer settings.

Fuelling
Three fuelling options are provided. However not all are available with each combustion system type. The fuelling options are;

·	User specified trapped air fuel ratio (DI & IDI)
·	User specified equivalence ratio (CARB & PI)
·	User specified fuelling (DI & IDI)

The trapped air fuel ratio option uses the amount of oxygen in the cylinder at the beginning of compression to calculate the quantity of fuel that is to be injected. This option is particularly useful when the predicted performance at a limiting air fuel ratio is required. Users should however be aware that it can sometimes cause instabilities in the simulation when small variations in fuelling cause significant changes in airflow. For example on turbocharged engines the modulation in fuelling from one cycle to the next can cause a similar modulation in turbocharger speed and hence airflow.

The equivalence ratio option is used to specify the quantify of fuel that should be mixed with fresh charge when it flows through an inlet boundary or inlet port. The flow routines have been developed to ensure that over-fuelling does not occur with reverse flow. 

Users should note the difference in definition between equivalence ratio and lambda.

{bmc bm136.wmf}

The fixed fuelling option simply injects the same quantity of fuel into the cylinders irrespective of air flow. If the air fuel ratio become too rich a warning will be issued.

+$#>Theory - Combustion Models

The program employs a single zone heat release model. This means that during combustion the heat released is used to heat the whole of the combustion space. The main implication of this assumption is that the bulk gas temperature is generally lower than the core combusted gas temperature behind the flame front. This may have an effect on detailed in-cylinder heat transfer, however since the semi-empirical heat transfer models make gross assumptions regarding heat transfer coefficient and wall temperature the effects of this assumption are small. The program will be extended in future versions to allow the use of a two zone combustion model.

The heat release rate can be defined either using one of two empirical heat release functions or to be defined explicitly by the user in the form of an angle verses heat release rate curve. The empirical heat release functions are derived from the Wiebe equation (reference 1) and adapted to diesel combustion characteristics by the addition of a pre-mixed combustion phase by Watson & Pilley (reference 2)

Wiebe Function

The Wiebe function define the mass fraction burned as 

{bmc bm137.wmf},

where

A 	= 	A coefficient in Wiebe equation

M 	= 	M coefficient in Wiebe equation

{bmc bm138.wmf}	= 	actual burn angle (after start of combustion)

{bmc bm139.wmf}b	 = 	total burn angle (0-100% burn duration)

Two Part Wiebe Function

The two part Wiebe function defines the mass fraction burned in the premixed combustion period as

{bmc bm140.wmf}

The mass fraction burned during the diffusion combustion period is defines as

{bmc bm141.wmf} 

{bmc bm142.wmf},

where,

A 	= 	A coefficient in Wiebe equation

M	= 	M coefficient in Wiebe equation

C1	= 	“cp1” coefficient in Watson & Pilley equation

C2 	=	 “cp2” coefficient in Watson & Pilley equation

{bmc bm143.wmf}	= 	fraction of premixed combustion to total combustion

{bmc bm144.wmf}	= 	delay angle between premixed and diffusion combustion

{bmc bm145.wmf}	= 	actual burn angle (after start of combustion)

{bmc bm146.wmf}b 	= 	total burn angle (0-100% burn duration)

The main advantage of the Wiebe functions are that they are normalised by the combustion duration. Thus the user may quickly change the total combustion duration and be confident of achieving a realistic heat release rate.

Wiebe Function Defaults

The single part Wiebe function is used by default for all combustion systems. The model coefficients are set as a function of the fuel type. The default coefficients are;

Fuel	A	M	
1 – Gasoline	10.0	2.0	
2 – Diesel	6.9	0.5	
3 – Methane	5.0	2.2	
4 – Methanol	10.0	2.0	

At present there are no defaults for the two part heat release equation. Typical values for the constants for a turbocharged DI diesel engine are however;

	A = 10.0

M = 0.4

	C1= 2.0

	C2 = 5500

	{bmc bm147.wmf}= 0.05

	{bmc bm148.wmf}= 0.0

Combustion Duration

The definition of the combustion duration is a function of the type of fuel being used. It is notoriously difficult to reliably measure both the start and end of combustion in spark ignited gasoline and methanol fuelled engines. An approach has therefore been adopted by which the combustion duration of these engines is defined as the number of crank degrees between 10% and 90% mass fraction burnt. For diesel (and some gas) engines however the start and end of combustion are more easily obtained. Thus for all other engines the combustion duration is defined as the number of crank degrees between 0 and 100% mass fraction burned.

Default combustion duration’s are available for several fuel / combustion system combinations. These are mainly intended to allow the user to quickly develop a new model and should not be relied upon for accurate modelling of each combustion system / fuel type combination. The available defaults are;

Fuel	Carburettor	Port Injected	Direct Injection	Indirect Injection	
Gasoline	Eqn.1	Eqn.1	Eqn.1	Eqn.1	
Diesel			Eqn 2	Eqn 3	
Methane					
Methanol	Eqn.1	Eqn.1	Eqn.1	Eqn.1	

11	With the default combustion duration’s defined by;

Eqn.1
{bmc bm149.wmf}

Eqn.2
{bmc bm150.wmf} 

Eqn.3
 {bmc bm151.wmf}

Combustion Phasing

The definition of the combustion phasing is a function of the type of fuel being used. It is notoriously difficult to reliably measure both the start of combustion in spark ignited gasoline and methanol fuelled engines. An approach has therefore been adopted by which the combustion phasing of these engines is defined as the number of crank degrees after TDC firing at which 50% of the fuel has been burnt. (Note a negative combustion phasing value for these engines implies an angle of 50% burn before TDC). For diesel (and some gas) engines however the start and end of combustion are more easily obtained. Thus for all other engines the combustion phasing is defined as the number of crank degrees before TDC at which combustion starts. (Note a negative combustion phasing value for these engines implies a start of combustion timing after TDC).

0	Default combustion phasings are available for several fuel / combustion system combinations. These are mainly intended to allow the user to quickly develop a new model and should not be relied upon for accurate prediction of performance or maximum cylinder pressure. The available combustion phasing defaults are;

Fuel	Carburettor.	Port Injected	Direct Injection	Indirect Injection	
Gasoline	A50%-10.atdc	A50%-10.atdc	A50%-10.atdc	A50%-10.atdc	
Diesel			SOC-
5	5.btdc	SOC-
6	0.btdc	
Methane
					
Methanol	A50%-10.atdc	A50%-10.atdc	A50%-10.atdc	A50%-10.atdc	

{bmc bm152.bmp}
Definition of Heat Release Angles

Maximum Cylinder Pressure Targets (IHRPHO,TPMAX)

Some simulation studies require that performance is predicted at a specified maximum cylinder pressure or that cylinder pressures are limited so as not to exceed a specified limits. Both of these options are provided through the IHRPHO and TPMAX input data. The two options are described as;

·	Target PMAX 
·	PMAX retard 

With target PMAX the simulation program will automatically adjust the heat release phase in order that the predicted maximum cylinder pressure matches that specified by the user. The heat release phase will be either advanced or retarded as required. An algorithm by which the simulation rapidly converges on the required phasing is used, however there are no explicit convergence checks that prevent the program from stopping if the maximum cylinder pressure does not match that required by the user.

The PMAX retard option is similar to the target PMAX option but in this case the heat release phase may only be retarded. This means that if the maximum cylinder pressure does not achieve the target then the heat release phasing remains unchanged. If the maximum cylinder pressure is found to exceed the target then the heat release phase is retarded until the target maximum cylinder pressure is achieved. This option is particularly useful when trying to mimic the effects of knock in gasoline engines. An assumption is usually made is that at a given engine speed, knock will always occur at the same maximum cylinder pressure. Thus in a simulation study, if the changes in engine specification produce an increase in volumetric efficiency, then the increase in predicted performance is limited by the imposition of heat release retard.

Test results have shown that the combustion duration increases with ignition retard. Thus if the PMAX retard option is used in conjunction with any of the wiebe functions, then the 10-90% burn duration is automatically increased by 3.75 degrees per degree of retard.

The above model provides an approximation to the effects of knock. It is however only an approximation and the detailed response of every engine to knock and ignition retard will differ. In fact on some gasoline engines the maximum cylinder pressure achieved with lower volumetric efficiency can be higher that that achieved with high volumetric efficiency.

	User Specified Combustion

This option enables the user to specify the burn curve with a series of angle, mass fraction burnt ordinate pairs. The first angle burn angle and the first mass fraction burnt must equal 0.0. The last angle entered is taken as the burn angle (0-100%) and should be accompanied by a mass fraction burnt figure of 1.0. The user must check that the mass fraction burn curve is monotonically increasing (i.e. there are no negative rates). This check is NOT performed by the program. When deriving this type of data from measured cylinder pressure data it is strongly recommended that the cylinder pressure data is first smoothed. This will help to ensure a smooth mass fraction burn curve.

References

1. Habempirische Formel fur die Verbrennungsgeschrwindigkeit Verlag der Akademie der Wissenschaften der VdSSR  I.Wiebe Moscow (1956)

2. A Combustion Correlation for Diesel Engine Simulation. N.Watson, A.D.Pilley & M.Marzouk. SAE 800029.

+$#>Theory - Cylinder Heat Transfer

Heat transfer to and from the cylinder gases are calculated at every crank angle increment. These calculations require a knowledge of the wall area, wall temperatures and surface heat transfer coefficient.

Cylinder Wall Area

The cylinder surface areas are calculated via the default or user specified surface area to bore area ratios. Where;

{bmc bm153.wmf}

The default surface to bore area ratios are a function of the combustion system, as given below:

Combustion System	Head/Bore Area Ratio	Piston/Bore Area Ratio	
Carburetted	1.2	1.1	
Port Injected	1.2	1.1	
Direct Injected	1.0	1.4	
Indirect Injected	2.0	1.0	

The liner area is calculated at each increment by summing the piston displacement from TDC with the bump clearance. The default bump clearance is calculated from the compression ratio and assuming the cylinder employs a disk combustion chamber.

Cylinder Wall Temperatures

The cylinder wall temperatures are either specified explicitly by the user or calculated via a simple one dimensional heat transfer calculation for the cylinder head and liner walls.

The cylinder walls are assumed to have a wall thickness that is a directly proportional to the bore diameter;

·	Head flame face thickness = 0.13 x Bore
·	Liner thickness = 0.07 x Bore

The thermal conductivity of the walls is specified by the material index. The assigned wall material properties are;

Material	Conductivity(W/m/K)	
Cast Iron	45	
Aluminium	150	
Steel	48	
Zirconium	4.1	

The coolant temperature is assumed to be 100 oC and the coolant connective heat transfer coefficients are assumed to be 10000 W/m2/K, for the cylinder head and 8000 W/m2/K for the liner.

Thus from a knowledge of the heat transfer rate the gas side wall temperature may be calculated.

{bmc bm154.wmf}

The heat transfer rate for the first cycle is estimated from the fuel flow rate. On subsequent cycles it is obtained from the previous cycles heat transfer results.

0	The heat transfer rate for the liner wall temperature calculation is assumed to be 44% of the heat transfer rate to the cylinder head. This approach is adopted because of the changing liner surface area and the subsequent difficulty in deriving a meaningful heat transfer rate per unit area.

The mean surface temperature of a cylinder head on most modern four stroke engines is heavily dominated by the valve temperatures. Valve head temperatures are calculated for both inlet and exhaust valves as a function of fuel type and air fuel ratio.

For gasoline and methanol engines;

AFR < 11.5

	Inlet Valve (oC) 		=  5.8.AFR + 367.6

	Exhaust Valve (oC)  	= 25.7.AFR + 418.5

11.5 < AFR < 18.0

	Inlet Valve (oC)		 = -0.5 .AFR3 + 19.1.AFR2 - 236.5 AFR + 1389.8

	Exhaust Valve (oC)	= -0.89.AFR3 + 31.6.AFR2 - 344.1.AFR + 1860.1

18.0 < AFR < 26.0

	Inlet Valve (oC)		 = -38.25.AFR + 1094.5

	Exhaust Valve (oC)	= -69.50 AFR + 1907.0

26.0 < AFR

	Inlet Valve (oC)		 = 100.0

	Inlet Valve (oC)		=  100.0

For diesel engines;

AFR < 25.0

	Inlet Valve (oC)		= -4.1 AFR + 504.2

	Exhaust Valve (oC)	= -4.2 AFR + 663.0

25.0 < AFR < 80.0

	Inlet Valve (oC)		= -4.1 AFR + 504.2

	Exhaust Valve (oC)	= -0.003.AFR3+0.611.AFR2-41.92.AFR + 1260.1

80.0 < AFR < 200.0

	Inlet Valve (oC)		= -0.635.AFR + 227

	Exhaust Valve (oC)	= -1.667 AFR + 433.6

200.0 < AFR

	Inlet Valve (oC)		 = 100.0

	Exhaust Valve (oC)	=  100.0

For gas engines;

 Equivalence Ratio (EQV) > 1.27

Inlet Valve (oC)		= 84.7 / EQV + 367.6

	Exhaust Valve (oC)	= 375.2 / EQV + 418.5

1.27 < EQV < 0.81

	Inlet Valve (oC)		 = -1556/EQV3 + 4071/EQV2 - 3453/ EQV + 1389.8

	Exhaust Valve (oC)	= -2770/EQV3 + 6736/EQV2 - 5023/.EQV + 1860.1

0.81 < EQV < 0.56

	Inlet Valve (oC)		= -558.5/EQV + 1094.5

	Exhaust Valve (oC)	= -1015/EQV + 1907.0

0.56 < EQV

	Inlet Valve (oC)		 = 100.0

	Exhaust Valve (oC)	=  100.0

The cylinder head temperature is calculated as the area average of the wall temperature and the valve temperature.

The piston temperature is assumed to equal to the area averaged cylinder head temperature. This is a gross assumption, however, it is the only one that can reasonably be made given the wide variety of piston geometry’s and materials.

Users who do not wish to use the above valve temperature and piston assumptions but do wish to employ the simple one dimensional model may specify the conductance for the head, piston and liner. Where

{bmc bm155.wmf}

The one dimensional calculation is performed individually for the head, piston and liner thus giving a greater flexibility to the wall temperature model.

Cylinder Heat Transfer Models

The heat transfer models proposed by Annand (reference 1), Woschni (reference 2) and Eichleberg (references 3 & 4) are provided in the program. All these models have been derived from a basic Nusselt Number / Reynolds Number correlation for flow in pipes. Each model employs coefficients that have been developed to best reproduce the heat transfer results obtained by experiment. The coefficients used by the program may either be the default values or may be tuned by the user to best suit the engine being studied.

Annand

The connective heat transfer model proposed by Annand is defined as;

	{bmc bm156.wmf}

where 

h 	= 	heat transfer coefficient

A 	=	 Annand open or closed cycle A coefficient

B 	= 	Annand open or closed cycle B coefficient

k	 = 	thermal conductivity of gas in the cylinder

Dcyl  	 = 	cylinder bore

Re 	 = 	Reynolds number based upon mean piston speed and the engine 

bore.The density is that calculated for the cylinder contents at each crank angle.

Thus the heat transfer per unit area of cylinder wall is defined as;

{bmc bm157.wmf}

where;
dQ/F 	 = 	heat transfer per unit area

C	 = 	Annand closed cycle C coefficient.

The first part of the heat transfer equation is the connective heat transfer and the second part the radiative heat transfer. Radiative heat transfer is only modelled during combustion. Thus C is only required for the closed cycle model.

Default coefficients are provided for the Annand model. The choice of coefficients being a function of the combustion system type.

Open Cycle Coefficients are;

Combustion System	A	B	
Carburetted or Port Injected	0.2	0.8	
Direct or Indirect Injected	1.1	0.7	

Closed Cycle Coefficients are;

Combustion System	A	B	C	
Carburetted Port Injected	0.12	0.8	4.29E-9	
Direct or Indirect Injected	0.45	0.7	3.271E-8	

The radiative heat transfer term should more correctly be a function of the fuel type with a higher number being used for diesel fuel and the lower for the other fuel types.

Often it is necessary to tune the coefficients of the in-cylinder heat transfer model to achieve good correlation both for volumetric efficiency and heat transfer. It is recommended that only the A coefficient is tuned with the B coefficient being set at 0.8. Typical values for A range between 0.1 and 0.3. (see Ref. 5).

Woschni

The connective heat transfer model proposed by Woschni is defined as;

{bmc bm158.wmf},

where 

h	= 	heat transfer coefficient

A 	= 	Woschni open or closed cycle A coefficient

B 	= 	Woschni open or closed cycle B  coefficient 

C 	= 	Woschni open or closed cycle C coefficient 

D 	= 	Woschni closed cycle D coefficient 

p	 = 	Cylinder pressure 

T	= 	Cylinder temperature 
	
V 	= 	Cylinder volume

Dcyl	 = 	Cylinder bore

{bmc bm159.wmf}	= 	Mean piston speed

{bmc bm160.wmf}	 = 	Mean swirl velocity

Tsoc	 = 	Cylinder gas temperature at start of combustion

psoc	 = 	Cylinder gas pressure at start of combustion

Vsoc	 = 	Cylinder volume at start of combustion

pmotor 	= 	Motoring cylinder pressure

The mean swirl velocity is given by;

{bmc bm161.wmf}		(i.e. half periphery gas speed)

Srat 	= 	Woschni open or closed cycle swirl ratio
0	N	=	Engine speed [rev/min]

The motoring cylinder pressure is given by;

{bmc bm162.wmf}
where
G	 =	 Woschni ratio of specific heats.

The last term (factored by D) in the Woschni model is a so called combustion term and is thus used only during the closed cycle.

The heat transfer per unit area of cylinder wall is defined as;

{bmc bm163.wmf}

0	Default coefficients are provided for the Woshni model. The choice of coefficients being a function of the combustion system type.

Open Cycle Coefficients are;

Combustion System	A	B	C	Srat	
Carburetted or Port Injected	3.26	9.12	0.834	0.0	
Direct or Indirect Injected	3.26	6.18	0.417	0.0	

Closed Cycle Coefficients are;

Combustion System	A	B	C	D	G	Srat	
Carburetted or Port Injected	3.26	4.56	0.616	0.00324	1.33	0.0	
Direct or Indirect Injected	3.26	2.28	0.308	0.00324	1.33	0.0	

Note the default coefficients provided for the direct and indirect injection engines are the same as those reproduced by Heywood (reference 6), with the same units being employed by the equations as shown in that text. The coefficients used for the carburetted and port injected engines are those which have been found to best match the measured performance and heat transfer results from test engines at Lotus.

Often it is necessary to tune the coefficients of the in-cylinder heat transfer model to achieve good correlation both for volumetric efficiency and heat transfer. It is recommended that the B and C coefficients are tuned. An inexperienced user may find it more convenient to tune the swirl ratio term only.

Eichelberg

The convective heat transfer model proposed by Eichelberg is defined as;

{bmc bm164.wmf}
where 

h	= 	heat transfer coefficient

A 	=	 Eichelberg open or closed cycle A coefficient

B 	=	 Eichelberg open or closed cycle B coefficient 

{bmc bm165.wmf}	= 	mean piston speed

p	 = 	Cylinder pressure 

T 	=	 Cylinder temperature 

The heat transfer per unit area of cylinder wall is defined as;

{bmc bm166.wmf}

Default coefficients are provided for the Eichelberg model.

 Open Cycle Coefficients are;

Combustion System	A	B	
All Combustion Systems Types	2.43	0.5	

Closed Cycle Coefficients are;

Combustion System	A	B	
All Combustion Systems Types	2.43	0.5	

This was the first and most simple of the published heat transfer correlation’s. The user is recommended to tune the A coefficient as required.

References

1. Heat Transfer in the Cylinder of Reciprocating Internal Combustion Engines. W.J.D.Annand (Proc.I.Mech.E 177.973 (1963))

2. Experimental Investigation of Instantaneous Heat Transfer in the Cylinder of a High Speed Diesel Engine. K.Sihling & G.Woshni. SAE 790833

3. Investigation of Internal Combustion Engine Problems. G.Eichelberg “Engineering Oct 1939 Vol 148, 463 & 547”

4. Unsteady Heat Transfer in Engines. V.D.Overbye et al. SAE Transactions NY 1961 461

5. The Thermodynamics and Gas Dynamics of Internal Combustion Engines (Volume 2) J.H.Horlock & D.E.Winterbone (section 12.4.3 pp 767) (ISBN 0-19-856212-8)

6. Internal Combustion Engine Fundamentals J.B.Heywood (section 12.4.3 pp 678) (ISBN 0-07-028637-X)

+$#>Theory - Cylinder Scavenging

The in-cylinder scavenging model controls the way by which charge gas is mixed with the gas that is currently in the cylinder prior to the cylinder gas being exhausted. There are four scavenging models available. These are described as;

·	Perfect Mixing
·	Perfect Displacement
·	Brandham Benson Displacement Mixing Model
·	Blair Stripping Scavenging Model

It is important to note that all the published scavenge models assume an isobaric, isothermal, constant volume flow process. This is very different to the conditions found in the internal combustion engine. The scavenge models have been implemented in such a way that when the simulation model is constructed to simulate an isobaric, isothermal constant volume flow process then the classical scavenging response is obtained. In more conventional simulations the instantaneous scavenging response at each crank angle increment is assumed to be that defined by the scavenge model under isobaric, isothermal constant volume conditions. The overall scavenging response however is often very different to that produced by the classic models. 

The definitions of the scavenging terms used in the program are as follows;

0	Scavenging efficiency
{bmc bm167.wmf}							(1)

0	Scavenging Ratio

{bmc bm168.wmf}							(2)

0	Charging Efficiency

{bmc bm169.wmf}							(3)

0	Trapping Efficiency

{bmc bm170.wmf}							(4)

0	In the above equations the terms are defined as:

	{bmc bm171.wmf}	=	mass of air trapped in the cylinder;
	{bmc bm172.wmf}	=	mass of residual gas trapped in the cylinder;
	{bmc bm173.wmf}{bmc bm174.wmf}	=	mass of air supplied to the cylinder;
	{bmc bm175.wmf}	=	mass of air in cylinder at bdc and reference conditions.

Note the use of the reference mass as the denominator in the scavenge ratio equation in a cycle simulation program produces an incorrect scavenging response due to significant changes in both cylinder pressure and volume.

Perfect Mixing Model

With the{bmc bm176.wmf} perfect mixing model the assumption is made that any charge gas entering the cylinder is instantaneously, homogeneously mixed with the gas currently in the cylinder. Thus the subsequent transfer of gas to the exhaust will cause some of the charge gas to be removed from the cylinder. This is the default scavenging model for all cylinders and results in the most pessimistic performance results.

Perfect Displacement Model

With the perfect displacement model the assumption is made that any charge gas entering the cylinder is NOT mixed with the gas currently in the cylinder. The subsequent transfer of gas to the exhaust will cause only residual exhaust gas to be removed from the cylinder. Under prolonged scavenging a point comes at which all the residual gas has been exhausted. Following this fresh charge air must be exhausted. This scavenging model produces the most optimistic results as the least amount of residual gas remains in the cylinder.

The perfect displacement scavenging model is used for all non-cylinder simulation elements. This ensures that if a reverse flow of cylinder gas to an inlet plenum is produced then that reverse flowed gas is first returned to the cylinder before any fresh charge air is flowed.

Displacement Mixing Model

Benson and Brandham (reference 2) suggested a hybrid scavenging model by which the initial part of the scavenging process exhibited perfect displacement scavenging up to a defined scavenge ratio (SCRA) at which the gas in the cylinder is assumed to instantaneously homogeneously mix. Subsequent scavenging produces perfect mixing results. Despite the period of displacement scavenging this model still tends to under predict the scavenge efficiency of ported cylinders at high scavenge ratios.

Stripping Model

Blair (reference 3) adapted and refined the displacement mixing model by proposing what this author has called the gas stripping model. The basic principal of the model is that the gas in the cylinder is contained in two discrete volumes, a so called perfect displacement volume and a so called mixing volume. As a packet of air enters the cylinder a proportion M is stripped off and homogeneously mixed with the residuals in the mixing volume. The remaining portion 1.0-M is placed in the displacement volume. The transfer of gas to the exhaust system draws gas from the mixing volume only, up to the point where there is no mixing charge remaining in the cylinder.

The key to this model is that the proportion of mixed air M is a continuous function of scavenge ratio.

{bmc bm177.bmp}
Definition of parameters used in stripping scavenge model

The phases of the scavenging may be defined as follows. At small delivery ratios, up to a scavenge ratio SCRA, the scavenging process is mainly displacement scavenging and only a small fraction of the incoming charge SCRC is stripped off and placed in the mixing volume. For scavenge ratios between SCRA and SCRB the fraction of incoming charge that is stripped off increases linearly from 0.0 at a scavenge ratio of SCRA to 1.0 at SCRB. For scavenge ratios above SCRB all of the incoming charge is stripped off and placed in the mixing volume.

Note SCRC is always 0.0 in Blairs published model.

While validating the model with results from a single-cycle scavenging rig Blair found it necessary to include a short-circuiting term in his model. Short-circuiting however is virtually impossible to implement in programs where any cylinder can have a multitude to inlets and exits. The effects of short-circuiting were therefore mimicked by the inclusion of the SCRC term. 

The addition of the SCRC term and the elimination of the short circuiting term required re-correlation of the scavenge model against the single cycle scavenge rig results.

The summary of this correlation work provides guidelines as to the required scavenge model constants.

Table 1. - Stripping Scavenge Model Constants
{bmc bm178.bmp}

References

1. Internal Combustion Engines (Volume 2) R.S.Benson & N.D.Whitehouse (section 7.4 pp 215 & chapter 9 pp 303) (ISBN 0-08-022720-1)

2. A method for obtaining a quantitative assessment of the influence of charge efficiency on two stroke engine performance. R.S.Benson & P.J.Brandham. Int.J.Mech.Sci.11.303 (1969)

3. The correlation of theory and experiment for scavenging flow in two-stroke cycle engines. G.P.Blair. SAE 881265

+$#>Theory - Plenum Heat Transfer

Heat transfer in plenums is calculated using the connective heat transfer coefficient supplied by the user. For the majority of simulations the heat transfer coefficient may be set to 0.0. The following notes however provide a guide as to how a heat transfer coefficient of the correct order of magnitude may be calculated by the user.

The Nusselt number/Prandtl number/Reynolds number correlation usually applied to turbulent flow in pipes is;
{bmc bm179.wmf}
where
{bmc bm180.wmf}
{bmc bm181.wmf}
{bmc bm182.wmf}
and
h	=	heat transfer coefficient 		(W/m2/K)

k	=	gas conductivity 		(W/m/K)

cp	=	specific heat capacity 		(kJ/kg/K)

{bmc bm183.wmf}	=	gas density 			(kg/m3)

v	=	gas velocity			 (m/s)

{bmc bm184.wmf}	=	dynamic viscosity 		(kg./ s.m)

d	=	characteristic length		 (m)

Re arranging the above equation and assuming that the Prandtl number remains constant at around 0.7 yields
{bmc bm185.wmf}

The following table provides typical air properties over a range of temperatures;

{bmc bm186.bmp}

The typical gas velocity may be estimated by calculating the mean inlet gas velocity and factoring this by the number of the cylinders feeding the plenum. Subsequently more accurate data may be obtained from the simulation output.

It is important to note that the heat transfer coefficients calculated from the above equation will produce heat transfer rates of the correct order of magnitude. If measured plenum gas temperatures are available then the heat transfer coefficients can be freely adjusted in order to match the measurements.

+$#>Theory - Ports

0	Modelling of Intake and Exhaust Ports
1	In modelling the intake and exhaust ports of engines the geometry of the port should be included in the pipe model, as the port element contains no length, it merely contains data relating to the valve flow coefficient at various valve lifts. 

2	Modelling the Flow Through a Valve
3	When gas flows through a valve the development of separation and recirculation regions gives rise to a vena-contracta where the actual cross-sectional area of the gas stream (effective area) is less than the geometric area of the orifice. This phenomenon cannot be simulated directly using a one-dimensional model and has to be characterised using empirical data. Data giving measured effective valve areas, or flow coefficients ({bmc bm187.wmf}), are required as input values to Lotus Engine Simulation. There are several other boundary features which require similar information or data giving the variation of pressure drop with mass flow rate across the device (for example Throttles).

5	The effective area of a valve is a hypothetical concept which enables the mass flow through the valve to be evaluated for a given pressure difference across it. A mathematical model of the flow through the valve is developed, from which the ‘effective’ area of the valve throat can be derived from the measured values of pressure across the valve and the mass flow rates. The value of effective area obtained is dependent on the particular mathematical model (Woods and Khan [1]) and therefore if the data is to supplied to a wave-action simulation program it is imperative that the model used to analyse the steady-flow data matches that employed in the boundary model of the computer program.  In this way the use of effective flow area measured using a steady-flow rig enables the mass flow rate obtained in the experiments, for a particular valve lift and pressure difference across it, to be reproduced by Lotus Engine Simulation. The Port Flow Tool Section describes the measurement procedure in detail.

6	Calculation of the Effective Area, {bmc bm188.wmf}
8	The purpose of this section is to outline general principles and not to review the details of various models for predicting the flow of gas through a valve. The specific example of subsonic flow through an exhaust valve will be used to develop an expression for the effective flow area of the valve. The form of the final expression giving the mass flow rate as a function of pressure ratio and effective flow area is identical for subsonic flow through an inlet valve into a cylinder. In the latter case, the static pressure in the intake pipe is used as the upstream pressure and the stagnation pressure in the cylinder, {bmc bm189.wmf}, is the downstream pressure value.

10	Consider a single-cylinder engine, as shown below, where the flow exits from the cylinder through a single valve into an exhaust port/pipe of constant cross-sectional area. 

{bmc bm190.bmp}
0	T-s Diagram for Subsonic Flow Through a Valve

0	The suffices c, t, and p represent conditions in the cylinder, the valve throat, and the pipe respectively. For subsonic flow the fluid can be assumed to follow the state changes shown above, where the gas undergoes an isentropic pressure drop across the valve from c to t and then diffuses at constant static pressure to the pipe conditions at p: the lines {bmc bm191.wmf} and {bmc bm192.wmf} are isobars.

3	In what follows, an expression giving the mass flow rate of gas through the valve will be derived and this will then be re-arranged to produce an equation which enables the effective area, and hence {bmc bm193.wmf}, of the valve to be calculated. 

5	Mass continuity between the cylinder and the valve throat can be written as 
			{bmc bm194.wmf} ,					(1)
7	where {bmc bm195.wmf} is the actual cross-sectional area occupied by the fluid at the vena contracta in the throat of the valve.

9	For adiabatic flow of a gas through an orifice the steady flow energy equation reduces to 
			{bmc bm196.wmf} ,					(2)
11	where {bmc bm197.wmf} represents the stagnation enthalpy in the cylinder. When the fluid is considered to be a perfect gas with constant specific heat capacities the enthalpy of the gas can be expressed in terms of the speed of sound as 
			{bmc bm198.wmf} ,				(3)
14	so that eqn (2) can be written as 
			15	 {bmc bm199.wmf} .					(4)
17	The pressure and density either side of the valve can be isentropically related by the equation 
			{bmc bm200.wmf} .					(5)
19	The speed of sound of the fluid in the cylinder and at the valve throat can be defined as 
			{bmc bm201.wmf}; and {bmc bm202.wmf} .				(6)
22	Note that since {bmc bm203.wmf} in eqn (4) represents the stagnation speed of sound and, therefore, the pressure and density used in eqn (6) should be the stagnation pressure, {bmc bm204.wmf}, and density, {bmc bm205.wmf}, in the cylinder. Combining these definitions with eqns (1),(4) and (5) gives 
			{bmc bm206.wmf} ,		(7a)
27	or, since {bmc bm207.wmf}
			{bmc bm208.wmf} .		(7b)
30	Equation (7a) expresses the dependence of the mass flow rate through the valve on the stagnation pressure and temperature upstream of the valve, the static pressure downstream of the valve, and the actual flow (effective) area occupied by the stream of gas at the valve throat. Hence it is clear that if the mass flow rate is measured, along with the pressures on either side of the valve, and the gas temperature at the upstream location, the effective area of the valve can be determined from the equation
			{bmc bm209.wmf} .			(8)
32	It is clear that in order to predict the correct value for the mass flow rate through a valve using the model described above, eqn (7) must be used with the value for the effective flow area obtained by analysing data from steady-flow tests using eqn (8). 

33	Equation (7.10) can be generalised to give the effective area for flow in either direction through the a valve by denoting the upstream stagnation pressure as {bmc bm210.wmf}, and the downstream static pressure as {bmc bm211.wmf} so that 
			{bmc bm212.wmf} .			(9)
37	Several workers (Woods and Khan [1]; Woods and Khan [2]; Fukutani and Watanabe [3]; Blair and Dronin [4]) have shown that the effective flow area is a function of the pressure ratio across the valve.

38	Flow Coefficient, {bmc bm213.wmf}
40	In the Lotus Engine Simulation program flow coefficients ({bmc bm214.wmf}) for valves are used in order to represent the results of a steady-flow test instead of stating directly the values of the valve effective area. Representing eqn (7a) as 
			{bmc bm215.wmf}					(10)
43	the {bmc bm216.wmf} can be used as 
			{bmc bm217.wmf} ,				(11)
46	so that 
			{bmc bm218.wmf} .						(12)
48	In eqns (11) and (12) the parameter {bmc bm219.wmf} represents a reference area which may be constant (Woods and Khan [1]) or may be a function of the valve lift (Kastner et al. [5]). Kastner et al [5] defined a number of different flow regimes which are dependent on the valve lift; this enabled them to define a limiting geometric area which is a function of valve lift. For the presentation of steady flow data for use in engine modelling, a flow coefficient which varies with valve lift is unnecessarily complicated. It was proposed by Woods and Khan [1] that a simpler approach to defining the coefficient of discharge is to use the cross-sectional area of the port as the reference area in eqn (12). This has the advantage that the discharge coefficient increases monotonically with valve lift. If the assumption is made that the gas flow profile is similar between two valves then the effective area can be evaluated using the same set of coefficients of discharge.

50	Flow Rig Design
51	Equation (9) gives the effective area of a device through which the flow is steady, or can be considered to be instantaneously (quasi-) steady. If an experiment is performed in which the mass flow rate through, and pressure drop across a device are measured, then the value given by eqn (9) represents the effective area, {bmc bm220.wmf}, of the section of the device lying between the upstream and downstream pressure tappings.

{bmc bm221.bmp}
0	Schematic Layout of an Exhaust Valve Flow Rig

0	The schematic above shows the flow through an exhaust valve into an exhaust port with a diverging section immediately downstream of the valve. Some way further downstream of the valve an orifice plate is used to measure the mass flow rate of air. If the downstream static pressure is taken as {bmc bm222.wmf} and used in eqn (9) then the effective area obtained represents the flow resistance presented by the physical system between the valve and the section. On the other hand, if the downstream static pressure in eqn (9) was taken as {bmc bm223.wmf} then the resulting value of effective area represents the combined flow resistance of the valve and the section of pipe up to A.  Given that the pipe diameter at section A is larger than the diameter at section B it is obvious that {bmc bm224.wmf}, neglecting the pressure drop due pipe friction. For the same mass flow rate measured at the orifice plate, and the same upstream stagnation pressure, {bmc bm225.wmf}, using {bmc bm226.wmf} as the downstream pressure in eqn (9) would give a smaller pressure ratio {bmc bm227.wmf}, and therefore, a greater effective area than if {bmc bm228.wmf} was used as the downstream pressure.

8	This example illustrates the importance of ensuring that the data obtained from a steady flow rig represents the pressure ratio-mass flow characteristics of the system being modelled. In a wave-action code, such as Lotus Engine Simulation the pipe system would be modelled from the valve down the pipe, including the area variation, and so a flow rig intended to obtain values of effective areas valves should be designed to ensure that the pressure values measured are representative of those in its immediate vicinity. Note that it is important to model the area variation of ducts as such features produce wave reflections. It would not be correct to use an effective area based on steady flow measurements made using {bmc bm229.wmf} and to model the pipe section between A and the cylinder as a duct of constant cross-section. 

10	Flow rigs have two generic types: ‘blowing’ rigs and ‘suction’ rigs. In the former type of rig a high pressure gas supply is connected upstream of the device to be tested; in vacuum rigs the flow is sucked through the device. For flow out of a reservoir (cylinder) through a valve, the type of flow rig used (blowing or suction) has no effect on the way in which the pressures are measured. 

11	When flow into a cylinder through an intake valve is to be measured a configuration similar to that used for the exhaust valve (as shown above) can be used, with the air supplied from a compressor and forced through the system in the opposite direction to that shown above for the exhaust valve. The problem is then how to determine the stagnation pressure at the upstream pressure location. The usual approach is to measure the static pressure and temperature at section B, say, and to use the temperature to give the gas density at B, which, since the pipe area is known, enables the velocity to be calculated from the mass flow rate; the stagnation pressure is then easily obtained. 

12	Using a suction rig (shown below) can obviate the requirement to calculate the velocity in order to determine the upstream stagnation pressure for flow into a cylinder. If a short section of intake pipe is used, with a well-designed bell-mouth, the stagnation pressure at section A can be taken to be equal to the reservoir, or ambient, pressure {bmc bm230.wmf}. The static pressure in the cylinder, {bmc bm231.wmf}, should be measured close to the valve. 

{bmc bm232.bmp}
0	Schematic Layout of an Inlet Valve Flow Rig

0	Port Elements
1	The Port Element allows the user to specify the flow characteristics of both inlet and exhaust ports as a function of valve lift / valve throat diameter ratio (L/D). As discussed above, this data usually obtained from steady state rig tests.

2	The assumption is made that the flow coefficients obtained from the flow rig are applicable to the whole range of pressures encountered in the internal combustion engine. Several sensitivity studies have shown this to be valid. 

3	It is also usually assumed that the flow coefficients derived with flows in the normal direction are equally applicable to reverse flows. For engines which exhibit significant reverse flows this assumption should be confirmed with rig tests. Lotus Engine Simulation allows the user to specify both forward and reverse flow data for the ports.

4	Default port flow coefficient curves are provided for both inlet and exhaust ports. These are derived from curve fits of the Lotus poppet valve port flow data base. The default characteristics differ for inlet and exhaust port.

5	Inlet Ports
6	The Lotus Engine Simulation code allows the user to specify either a good or poor inlet port flow coefficient curve. These default curves are derived from the Lotus port flow database in which it was found that the inlet port flow coefficients at each valve lift / throat diameter ratio (L/D) are a function of the valve throat to bore area ratio. The default port flow coefficients are summarised in as contour maps of flow coefficient plotted against valve throat to bore area ratio and valve lift to throat diameter in the figure below.

{bmc bm233.bmp}
0	Default Good & Poor Inlet Port Flow Coefficients

0	For each port the simulation calculates the valve throat to bore area ratio and interpolates either a good or poor port flow characteristic from the flow coefficient maps.

1	The option also exists for the user to specify the port flow coefficient at 0.3 L/D. With this option the program interpolates (and extrapolates) between the default good and poor port flow coefficient curves in order to generate a flow characteristic that achieves the required flow coefficient at 0.3 L/D. 

2	The most accurate method of specifying the flow characteristic of an inlet port is to provide the measured port flow rig data. It is most important that the valve throat diameter specified for the port is the same as the diameter used to generate the flow coefficients from the rig data (i.e. the reference area, {bmc bm234.wmf}, is consistent).

4	Exhaust Ports
5	The program allows the user to specify either a good or poor exhaust port flow coefficient curve. These default curves are derived from the Lotus port flow database. At present the default curves are independent of any other design variable. There is some evidence from recent flow rig tests that exhaust port flow is improved with increasing exhaust exit / exhaust throat area ratio. However there is insufficient data at present to derive a reliable correlation. The default port flow coefficients are shown below.

{bmc bm235.bmp}
0	Default Good & Poor Exhaust Port Flow Coefficients

0	The exhaust port flow options force the simulation to either use a good or poor port flow characteristic.

1	The option also exists for the user to specify the port flow coefficient at 0.3 L/D. With this option the program interpolates (and extrapolates) between the default good and poor port flow coefficient curves in order to generate a flow characteristic that achieves the required flow coefficient at 0.3 L/D. 

2	The most accurate method of specifying the flow characteristic of an exhaust port is to provide the measured port flow rig data. It is most important that the valve throat diameter specified for the port is the same as the diameter used to generate the flow coefficients from the rig data.

3	References
4	1.	Woods, W.A. and Khan, S.R. An experimental study of flow through poppet valves. Proc.I.Mech.E. Vol. 18 No.32, (1965-66).
5	2.	Woods, W.A and Khan, S.R. Discharge from a Cylinder Through a Poppet Valve. Proc.I.Mech.E., Part 3H, pp.137-144, (1967-78).
6	3.	Fukutani, I. And Watanabe, E. An Analysis of the Volumetric Efficiency Characteristics of Four-Stroke Cycle Engines using Mean Inlet Mach Number, {bmc bm236.wmf}, SAE Paper No. 790484 (1979).
8	4.	Blair, G.P. and Dronin, F.M.M. Relationship between Discharge Coefficients and Accuracy of Engine Simulation, SAE Paper No. 96257 (1996).
9	5.	Kastner, L.S., Williams, T.J., and White, J.B. Poppet Inlet Valve Characteristics and their Influence on the Induction Process. Proc.I.Mech.E. Vol. 178, pp.955-975 (1963).
10	6.	Lotus Port Flow Analysis Program PFLOW Users Guide (including the Lotus Port Flow Database). M.H.Sandford   LTR 2416/93

+$#>Theory - Valves

0	Valves may be specified by one of five options;

·	Poppet valve
·	Self acting reed valve
·	Disc valve
·	Piston port
·	User specified angle area curve

	Poppet Valves

The valve lift profiles may be specified by one of four options;

·	Default fast lift polynomial
·	Default slow lift polynomial
·	User specified polynomial
·	User specified angle/lift ordinate data

With each of the options the valve lift duration is specified by the number of crank degrees between valve opening (AVO) and valve closing (AVC). When the user specified angle/lift ordinate data option is used the lift profile data are linearly scaled so that the lift duration matches that specified with AVO and AVC. The advantage of this scaling is that the user may specify one generic valve lift profile and perform valve timing sensitivity studies by changing only one or two numbers (ie AVO and AVC) in the input data file.

With each of the lift profile options the maximum valve lift is specified by the maximum valve lift AVLM. When the user specified angle/lift ordinate data option is used the lift profile is linearly scaled so that the maximum valve lift matches that specified with AVLM. Users who wish to perform valve timing sensitivity studies should be aware that the maximum achievable valve lift reduces with reducing lift duration. Thus in order to generate realistic valve timing trade-offs the maximum lift should be adjusted with the valve lift duration.

	Polynomial Lift Curves

The default lift curves employ a polynomial consisting of four coefficients and four exponents. The nature of the polynomial is such that the sum of the coefficients is -1.
The coefficients of the default lift curves are;

Fast Lift	Slow Lift	
Coefficient	Exponent	Coefficient	Exponent	
-1.2423	2	-1.507928	2	
0.2553	12	0.541945	7	
-0.1148	68	-0.048289	30	
0.1019	70	0.014273	40	

These are shown below

The default and user specified polynomial lift options allow the user to input a maximum lift dwell angle. This is the number of degrees at which the valve remains at maximum lift after the opening before starting to close. The dwell angle should not be a negative number.

{bmc bm237.bmp}
Polynomial Valve Lift Curves

User Specified Angle/Lift Ordinates

The user specified angle/lift ordinate data option allows the user to provide the actual cam design data as input to the simulation. This data is specified in crank angle / valve lift ordinate pairs. The first crank angle should be 0.0 and the last the lift opening duration (although the duration may be subsequently scaled as described above). The first and last valve lift ordinates should be 0.0. The figure above compares the a Lotus designed direct acting 235 cam valve lift ordinate curve with those generated by the default slow and fast lift curves generated for the same to of ramp duration and maximum lift. The most significant difference between the cam design curve and the fast lift polynomial is during the ramp at the beginning and end of lift.

It is recommended that not all of the ramps are included in the angle/lift ordinate data. Experience has shown that best simulation results are achieved when angle/lift ordinate data are included for approximately 10 crank degrees before the top of the opening ramp and after the top of the closing ramp. The most appropriate extensions to the lift curve will change from engine to engine depending on the tappet clearance and flexibility of the valve train. The strategy employed to convert cam design data into valve lift ordinate data for input to the simulation is summarised as follows;

{bmc bm238.bmp}
Cam Profile Corrections

Self Acting Reed Valves

A relatively simple self acting reed valve model is employed in the program. The model shown schematically below, employs a spring mass representation of the valve/reed that is forced to move between the valve seat and the lift stop by the pressure on either side of the valve and the area over which this pressure acts.

{bmc bm239.bmp}
Self Acting Reed Valve Model

The force on the valve is given by
	{bmc bm240.wmf}				(1)
where
	{bmc bm241.wmf}	=	area of petal;
	{bmc bm242.wmf}	=	the stiffness of the valve;
	{bmc bm243.wmf}	=	valve lift;
	{bmc bm244.wmf}	=	mass of the valve;
	{bmc bm245.wmf}	=	acceleration of the valve.

The valve velocity is integrated as 
	{bmc bm246.wmf}							(2)
and the valve displacement is then calculated from the equation
	{bmc bm247.wmf}.							(3)
The valve lift can then be integrated using the equation
	{bmc bm248.wmf}.							(4)
Finally, the flow area is evaluated as
	{bmc bm249.wmf}
where
	{bmc bm250.wmf}	=	the geometric flow area available;
	{bmc bm251.wmf}	=	the discharge coefficient of the passage.

The model assumes that there is no valve bounce on either the valve stop or the valve seat. This implies that the self-acting valve is well matched to the application.

Disc valve

The disc valve model calculates the flow area of a port which is covered and uncovered by a disc which rotates at crankshaft speed. The model is shown diagramatically below,.

{bmc bm252.bmp}
Disc Valve Model

The flow area is calculated from the area of the port that is uncovered by the disc valve and the disc valve discharge coefficient. The discharge coefficient is assumed to reduce with increasing area from 1.0 to the value for the fully uncovered port provided by the user.

Piston Ported Valve

The piston ported valve model calculates the flow area of a port which is covered and uncovered by moving piston. The model is shown diagramatically below.

{bmc bm253.bmp}
Piston Ported Valve Model

The flow area is calculated from the area of the port that is uncovered by the piston and the port discharge coefficient. The discharge coefficient is assumed to reduce with increasing area from 1.0 to the value for the fully uncovered port provided by the user.

+$#>Theory - Throttles

The throttle option specifies the characteristics of constant area flow devices that are used to connect one element to another. Note that only one pipe, plenum, or other element can be connected to each side of a throttle.

Essentially two items of data are required by the throttle element: geometric flow area and flow coefficient ({bmc bm254.wmf}). The product of the geometric flow area and the {bmc bm255.wmf} value then gives the effective flow area of the throttle.

Geometric Area
Throttles may be specified as one of the following types:
·	Simple Area
·	Butterfly
·	Slide Plate
·	Slide Valve
·	Barrel Valve

Lotus Engine Simulation calculates the geometric area at a given throttle position, normal to the direction of flow, for each of these throttle types. 

The throttle flow coefficient can be supplied to Lotus Engine Simulation directly, however, it is important to ensure that the throttle area option selected is consistent with the way in which the throttle {bmc bm256.wmf} data has been processed, (i.e. so that the reference area, {bmc bm257.wmf}, is consistent - See Ports).

Effective Flow Area
When gas flows through a throttle valve the development of separation and recirculation regions gives rise to a vena-contracta where the actual cross-sectional area of the gas stream (effective area,{bmc bm258.wmf}) is less than the geometric area of the orifice. This phenomenon cannot be simulated directly using a one-dimensional model and has to be characterised using empirical data. Data giving measured effective throttle valve areas, or flow coefficients ({bmc bm259.wmf}), are required as input values to Lotus Engine Simulation. There are several other boundary features which require similar information or data giving the variation of pressure drop with mass flow rate across the device (for example Ports).

The effective area of the throttle is a hypothetical concept which enables the mass flow through the throttle to be evaluated for a given pressure difference across it. A mathematical model of the flow through the throttle is developed, from which the ‘effective’ flow area of the throttle can be derived from the measured values of pressure across the throttle and the mass flow rate through it. In this way the use of effective flow area measured using a steady-flow rig enables the mass flow rate obtained in the experiments, for a particular throttle opening and pressure difference across it, to be reproduced by Lotus Engine Simulation. The measurement procedure for throttles is described briefly below. The Port Flow Tool Section describes the measurement procedure in detail for poppet vavles.

Steady Flow Test
If an experiment is performed in which the mass flow rate through, and pressure drop across, a device are measured, then the effective flow area, {bmc bm260.wmf}, of the section of the device lying between the upstream and downstream pressure tappings can be evaluated.

{bmc bm261.bmp}
Schematic Layouts of Throttle Flow Rigs

The schematics above show simple steady flow test rigs which could be used to evaluate the effective flow areas of throttles. The static pressures are measured upstream and downstream of the throttle, denoted {bmc bm262.wmf} and {bmc bm263.wmf} respectively. These measurements should be obtained in a portion of the flow rig where the flow is fully developed (i.e in a straight portion of pipe, some distance away from the throttle under test, or any other area variation – see ISO 5167-1). An orifice plate is used to measure the mass flow rate of air. The ambient temperature is also required.

Flow rigs have two generic types: ‘blowing’ rigs and ‘suction’ rigs. In the former type of rig a high-pressure gas supply is connected upstream of the device to be tested; in suction rigs the flow is sucked through the device. For flow through a throttle, the type of flow rig used (blowing or suction) has no effect on the way in which the pressures are measured. The only difference is a minor variation in the processing of the flow data. For a ‘suction’ rig it can be assumed that, provided that a reasonable entry bellmouth is used and there are no significant pressure losses between the entry and the throttle, the upstream stagnation pressure is equal to the reservoir, or ambient, pressure, {bmc bm264.wmf}. In a ‘blowing’ rig, the upstream static pressure needs to be converted into a stagnation pressure, thus the flow area at the measurement location is required, so that the fluid velocity can be evaluated.

It can be shown (see the Ports section) that the effective flow area of the throttle (for subsonic flows) can be evaluated using 
			{bmc bm265.wmf} ,			(1)
where the upstream stagnation pressure is denoted as {bmc bm266.wmf}, and the downstream static pressure as {bmc bm267.wmf}.

Flow Coefficient, {bmc bm268.wmf}
The flow coefficient, {bmc bm269.wmf}, can be defined as
			{bmc bm270.wmf} .							(2)
In eqn (2) the parameter {bmc bm271.wmf} represents a reference area which may be constant or may be a function of the throttle position (this is the geometric area data described above). If a {bmc bm272.wmf} value is being specified by the user it is essential that the reference area, {bmc bm273.wmf}, supplied to the code (i.e. the throttle-type and dimension data) is consistent with that used to evaluate the {bmc bm274.wmf}.

The throttle {bmc bm275.wmf} can be specified, within Lotus Engine Simulation, in a number of ways: 
·	CF Fixed Value
·	CF 1D Spline
·	CF 2D Map
·	Mass Flow 1D Spline
·	Mass Flow 2D Map
Each of the methods for specifying the throttle geometric data (simple area, butterfly, slide plate, slide valve, or barrel) can be used with any of the methods for specifying the throttle {bmc bm276.wmf}.

·	The CF Fixed Value option allows the user to enter a single number for the flow coefficient.  

·	The CF 1D Spline option allows the user to specify a flow coefficient which varies with the throttle opening.

·	The CF 2D Map option allows the user enter a complete flow coefficient map for the throttle, which can vary with both throttle area and the pressure ratio ({bmc bm277.wmf}1	 in eqn (1)) across the throttle.  The graph below shows the results of measurements taken by Pursifull et al. [1], for a butterfly throttle. It can be seen that the throttle {bmc bm278.wmf}2	 measured by Pursifull et al. [1] is a strong function of throttle opening angle, but is relatively insensitive to the pressure ratio, especially when one considers that it is extremely difficult to evaluate the {bmc bm279.wmf}3	 as the pressure ratio approaches unity.

{bmc bm280.bmp}
Flow Coefficient Map for a Butterfly Throttle

·	The Mass Flow 1D Spline option allows the user to specify mass flow rate data verses throttle opening, for a given pressure drop. Lotus Engine Simulation will then convert the mass flow rate / pressure drop data into an effective flow area. The advantage of this approach is that it ensures that a consistent reference area, {bmc bm281.wmf}1	, is used. For a ‘sucking’ rig it is assumed that the upstream stagnation pressure, {bmc bm282.wmf}2	, is equal to the ambient pressure, {bmc bm283.wmf}3	. For a ‘blowing’ rig it is assumed that the downstream static pressure, {bmc bm284.wmf}4	, is equal to the ambient pressure, {bmc bm285.wmf}5	. Thus:

·	The Mass Flow 2D Map option is similar to the Mass Flow 1D Spline, but additionally allows the user to include the effects of pressure ratio variation.

References

1. Throttle Flow Characterisation.  R.Pursifull, A.J.Kotwicki, S.Hong, SAE Paper No. 2000-01-0571.

+$#>Theory - Turbochargers

Turbochargers are modelled as compressors and turbines on a common free spinning (or compounded) shaft. The general approach is the same as that published in references 1, 2 and 3, with the instantaneous compressor and turbine performance being derived from non dimensionalised characteristic maps. 

The input data structure has been designed to be as similar as possible to that published in the SAE J1826 turbocharger gas stand test recommended practice. The provision of mass flow, pressure ratio, speed and efficiency scaling factors to allow the user to scale a base map to fine tune a particular compressor / turbine characteristic to a given engine application. The compressor and turbine routines are designed to be very robust. Thus smoothing and extrapolation of test data is not essential prior to input to program. The extrapolation assumptions made within these routines are described in the following sections.

The accurate simulation of free spinning turbochargers demands that the simulation converge on a shaft speed that provides an exact work balance between compressors and turbines. Convergence is judged to have been achieved when the turbine work is within 2% of the compressor work. At the end of each cycle the simulation examines the shaft work balance and automatically increases or decreases the shaft speed as appropriate. Within each cycle the shaft speed is permitted to fluctuate in response dynamic imbalance between compressor and turbine work. The amplitude of this imbalance is controlled by the compressor and turbine inertia’s.

Compressors

Compressor maps must be defined as a series of constant speed lines defining mass flow, pressure ratio and efficiency. The speed lines must each employ the same number of mass flow points per curve and must be monotonically increasing in order. The input data order is summarised by the following diagram.

{bmc bm286.bmp}
Compressor Map Data Entry Order

A typical compressor map would be similar to that shown below.

At each crank angle increment the mass flow rate and efficiency of the compressor are calculated from the current corrected shaft speed and the instantaneous pressure ratio across the device. The calculation procedure is to interpolate a constant speed line from the map data. (see below). From this line the mass flow and efficiency defined by the current pressure ratio are interpolated. Where more than one solution exists the pressure ratio closest to the previous mass flow rate is selected. 
{bmc bm287.bmp}
Typical Compressor Map

In order to cover all possible pressure ratio conditions the speed line is extrapolated as shown below. The most common problem experienced by the simulation is when the current pressure ratio is above that permitted by the constant speed line. If this occurs as warning is issued and a mass flow rate that is 80% of that calculated for the previous crank angle is used. This tends to force the pressure ratio back to within the allowable range. The extrapolation of the efficiency curves was chosen to ensure that the efficiencies always remained within the measured range. This prevents extrapolation to negative efficiencies.

{bmc bm288.bmp}
Extrapolated Constant Speed Line

Turbines

Turbine characteristics must be defined as a series of constant speed lines defining mass flow, pressure ratio and efficiency. The speed lines must each employ the same number of mass flow points per curve and must be monotonously increasing in order. The input data order is summarised by the following diagram.

{bmc bm289.bmp}
Turbine Map Data Entry Sequence

A typical turbine map would be similar to that shown below.

{bmc bm290.bmp}
Typical Turbine Map

At each crank angle increment the mass flow rate and efficiency of the turbine are calculated from the current corrected shaft speed and the instantaneous pressure ratio across the device. The calculation procedure is to interpolate a constant speed line from the map data. From this line the mass flow and efficiency defined by the current pressure ratio are interpolated.

In order to cover all possible pressure ratio conditions the speed line is extrapolated as shown below.

{bmc bm291.bmp}
Extrapolated Constant Speed Line

The extrapolation of the efficiency curves was chosen to ensure that the efficiencies always remained within the measured range. This prevents extrapolation to negative efficiencies.

The maximum theoretical power which can be extracted practically from the exhaust gas can be obtained via the pipe output summary data in the .MRS file or the .PRS file. This parameter, called turbine work function, is used in preference to availability or exergy since the latter two parameters require the use of a device operating on a ‘bottoming cycle’. Turbine work function is defined as

				{bmc bm292.wmf}				(1)

where {bmc bm293.wmf} is the specific stagnation enthalpy of the gas at the location under consideration and {bmc bm294.wmf}is the specific stagnation enthalpy at the reference pressure (taken as the ambient pressure in LES) obtained by expanding the gas isentropically to this pressure, as indicated in the diagram below:

{bmc bm295.bmp}
Enthalpy / entropy diagram showing definition of turbine work function

+$#>Theory - Superchargers

The Model

The objective of the supercharger model in Lotus Engine Simulation is to calculate the pressure and temperature rise of the gas, and its mass flow rate as it passes through the device. Fig. 1 shows the variation in the state values, upstream and downstream of the compressor, on a T-s diagram. 

{bmc bm296.bmp}
Fig. 1. Temperature – entropy diagram for flow through compressor

Supercharger compressors are positive displacement devices and the volume flow rate through them can therefore be calculated from the equation
		{bmc bm297.wmf},							(1)
where {bmc bm298.wmf} is the volumetric efficiency of the compressor, {bmc bm299.wmf} is the volume displaced per revolution of the rotors, and {bmc bm300.wmf}is the compressor speed. The mass flow rate can then simply be obtained from the expression
		{bmc bm301.wmf},							(2)
where p1 and T1 are the upstream pressure and temperature respectively, which are known from the pipe network calculation. 

Now the temperature, {bmc bm302.wmf}, due to isentropic compression is given by
		{bmc bm303.wmf}	.							(3)
The isentropic efficiency of the compressor is defined as the ratio of the work required to compress the gas isentropically across the particular pressure ratio considered, to the actual work required, so that 
		{bmc bm304.wmf}.				(4)
Re-arranging equation (4), and substituting equation (3), enables the actual outlet gas temperature to be evaluated as
		{bmc bm305.wmf}.						(5)

The compressor adiabatic efficiency, {bmc bm306.wmf}, is used in order to calculate the power requirement of the compressor. Adiabatic efficiency has the same nominal definition as isentropic efficiency – the two quantities are differentiated by the way in which they are measured. Adiabatic efficiency values are obtained by measuring the actual power requirement of the compressor and calculating the isentropic power requirement from the expression
		{bmc bm307.wmf}.							(6)
In Lotus Engine Simulation, the adiabatic efficiency values are known and the problem is to evaluate the actual compressor power requirement – this is achieved using the equation
		{bmc bm308.wmf}.		 						(7)

It is important to note that the isentropic and adiabatic efficiencies are used for calculating different quantities.

Defining the Input Data 
In light of the definitions given above the following strategies should be adopted when setting up data defining supercharger performance in the program:

If only adiabatic efficiency values are available:

Set both the adiabatic and isentropic efficiencies to the same value and set the drive gear efficiency to 1.

If only isentropic efficiency values are available – 
Set both the isentropic and adiabatic efficiencies to the same values and set the drive gear efficiency to the appropriate value.

If both isentropic and adiabatic efficiency values are available – 
Set the isentropic and adiabatic efficiencies to their respective values and set the drive gear efficiency to 1.

Note that measured adiabatic efficiencies should be lower than measured isentropic efficiencies since the former include the drive gear efficiency. Therefore when using measured adiabatic efficiency values the drive gear efficiency should be set to 1. Isentropic efficiency is obtained by measuring the inlet and outlet gas temperatures and does not, therefore, include the drive gear efficiency. 

+$#>Theory - Expanders

The Model

The objective of the expander model in Lotus Engine Simulation is to calculate the pressure and temperature drop of the gas, and its mass flow rate as it passes through the device. Fig. 1 shows the variation in the state values, upstream and downstream of the expander, on a T-s diagram. 

{bmc bm309.bmp}
Fig. 1. Temperature – entropy diagram for flow through expander

The volume flow rate through a positive displacement expander can be calculated from the equation
		{bmc bm310.wmf},							(1)
where {bmc bm311.wmf} is the volumetric efficiency of the device, {bmc bm312.wmf} is the volume displaced per revolution of the rotors, and {bmc bm313.wmf}is the expander speed. The mass flow rate can then simply be obtained from the expression
		{bmc bm314.wmf},							(2)
where p1 and T1 are the upstream pressure and temperature respectively. 

Now the temperature, {bmc bm315.wmf}, due to isentropic expansion is given by
		{bmc bm316.wmf}	.							(3)
The isentropic efficiency of the expander is defined as the ratio of the work obtained by expanding the gas across the particular pressure ratio considered, to the work which would be obtained if the gas was expanded isentropically. This can be expressed as 
		{bmc bm317.wmf}.			(4)
Re-arranging equation (4), and substituting equation (3), enables the actual outlet gas temperature to be evaluated as
		{bmc bm318.wmf}.						(5)

The expander adiabatic efficiency, {bmc bm319.wmf}, is used in order to calculate the power output of the expander. Adiabatic efficiency has the same nominal definition as isentropic efficiency – the two quantities are differentiated by the way in which they are measured. Adiabatic efficiency values are obtained by measuring the actual power generated by the expander and calculating the power which could be generated by an insentropic expansion from the expression
		{bmc bm320.wmf}.							(6)
In Lotus Engine Simulation, the adiabatic efficiency values are given as input values and the problem is to evaluate the actual expander power output – this is achieved using the equation
		{bmc bm321.wmf}	 						(7)

It is important to note that the isentropic and adiabatic efficiencies are used for calculating different quantities.

Defining the Input Data 
In light of the definitions given above the following strategies should be adopted when setting up data defining expander performance in the program:

If only adiabatic efficiency values are available:

Set both the adiabatic and isentropic efficiencies to the same value and set the drive gear efficiency to 1.

If only isentropic efficiency values are available – Set both the isentropic and adiabatic efficiencies to the same values and set the drive gear efficiency to an appropriate value.

If both isentropic and adiabatic efficiency values are available – Set the isentropic and adiabatic efficiencies to their respective values and set the drive gear efficiency to 1.

Note that measured adiabatic efficiencies should be lower than measured isentropic efficiencies since the former include the drive gear efficiency. Therefore when using measured adiabatic efficiency values the drive gear efficiency should be set to 1. Isentropic efficiency is obtained by measuring the inlet and outlet gas temperatures and does not, therefore, include the drive gear efficiency. 

+$#>Theory - Charge Coolers

Charge coolers provide a means by which heat is subtracted from (or supplied to) the gas in the engine simulation model. The characteristics of the charge cooler are supplied in the form of pressure loss, coolant temperature and effectiveness verses mass flow rate ordinate data. At each instant the simulation program calculates the mass flow across the charge cooler flow device from the instantaneous pressure drop. The accompanying coolant temperature and effectiveness data similarly derived.

The provision of mass flow information should more correctly be in the form of a volume flow rate ordinate data from which the mass flow rate could be calculated from the inlet conditions. However mass flow data appears to be more readily available and is therefore used. If required alternative forms of charge cooler input data could be provided.

The principal assumption of the charge cooler model is that the effectiveness and coolant temperature characteristics within the engine cycle are quasi static. This implies that the charge cooler has no thermal inertia.

The charge cooler effectiveness, {bmc bm322.wmf}, is defined as

{bmc bm323.wmf}

where
{bmc bm324.wmf}=Charge cooler gas inlet temperature
{bmc bm325.wmf}=Charge cooler gas outlet temperature
{bmc bm326.wmf}= Charge cooler coolant temperature

+$#>Theory - Mechanical Links

Compressor and turbines are linked to shafts via a specified gearing and mechanical efficiency. The mechanical efficiency is that efficiency by which work is transmitted to or absorbed from the shaft. This may be used to model the bearing losses in a turbocharger. 

The inertia’s specified are for the compressor of turbine wheel only. The inertia referred to the shafts by the gearing is automatically calculated within the program.

Both compressors and turbines may be linked to the crankshaft. This causes the flow devices to operate at one speed only. The power absorbed by or transmitted from these flow devices is added to the “TOTAL” engine performance and economy results printed in the .MRS file.

References:

1. The Thermodynamics and Gas Dynamics of Internal Combustion Engines (Volume 1) R.S.Benson (section 9 pp 479) (ISBN 0-19-856210-1)

2. Internal Combustion Engines (Volume 2) R.S.Benson & N.D.Whitehouse (chapter 10 pp 339) (ISBN 0-08-022720-1)

3. Turbocharging the Internal Combustion Engine. N.Watson & M.S.Janota (section 15 pp 517) (ISBN 0-333-24290-4)

+$#>Theory – Engine Dynamics

Simulation of engine transient performance requires the calculation of the engine mechanism dynamics. The engine dynamics can be calculated in LES based on cycle-averaged values of brake torque and engine inertia so that the engine speed is updated once per cycle. Alternatively the intra-cycle variation of torque and inertia can be considered so that the engine speed is updated at every calculation time step.

The basic equation for calculating the engine acceleration is 

			{bmc bm327.wmf},				(1)

where {bmc bm328.wmf}is the engine speed in rev/sec, {bmc bm329.wmf}is the brake torque, {bmc bm330.wmf}is the load torque, {bmc bm331.wmf} is the total engine inertia referred to the crankshaft, {bmc bm332.wmf}is the load inertia, and {bmc bm333.wmf}is the engine speed. The brake torque is given by 

			{bmc bm334.wmf}	,				(2)

where {bmc bm335.wmf}is the torque generated by the gas pressure forces, {bmc bm336.wmf}is the resisting torque generated by the engine friction, and {bmc bm337.wmf}is torque generated by the engine inertia forces at any particular crank position and is given by

{bmc bm338.wmf}										(3)

The engine inertia referred to the crankshaft varies as a function of crank angle and is given by

{bmc bm339.wmf},	(4)

where {bmc bm340.wmf}is the rotational inertia of the crankshaft about its centreline, {bmc bm341.wmf}is the rotational inertia of the valvetrain system, {bmc bm342.wmf}is the rotational inertia of the engine accessaries, {bmc bm343.wmf}is the need of the valvetrain system relative to the crankshaft, and {bmc bm344.wmf}is the speed of the accessary drive relative to the crankshaft.

In equations (3) and (4) the quantity {bmc bm345.wmf}represents the reciprocating mass of each piston / cylinder assembly (including a contribution from the connecting rod mass – see below). The parameter {bmc bm346.wmf}represents the rotating component of the connecting rod mass, {bmc bm347.wmf}is the distance from the crankshaft centreline to the piston-pin centre, {bmc bm348.wmf}is the crank throw, {bmc bm349.wmf}is the connecting rod length, {bmc bm350.wmf}is the crank angle with respect to TDC, {bmc bm351.wmf}is the angle between the connecting rod and the cylinder / crank axis, {bmc bm352.wmf}is the inclination of the cylinder / crank axis from the vertical, {bmc bm353.wmf}is the acceleration due to gravity. 

The term {bmc bm354.wmf}represents the residual inertia of the two-mass representation of the connecting rod. Using this approach simplifies the engine dynamics calculations by lumping the mass of the connecting rod at its extremities (large- and small-end centres). The two lumped masses obey the relationships

			{bmc bm355.wmf}						(4)

and

		{bmc bm356.wmf};			{bmc bm357.wmf}.			(5)

In these equations {bmc bm358.wmf}and {bmc bm359.wmf}are the distances of the rotating and reciprocating mass components from the centre of gravity (C of G) of the connecting rod, shown in Fig. 1. This two-mass representation of the connecting rod requires the addition of a residual inertia component in order to generate the actual inertia of the connecting rod using the two lumped masses from the equation

			{bmc bm360.wmf}				(6)

where {bmc bm361.wmf}is the actual inertia of the connecting rod about its centre of gravity in an axis parallel to the axis of the crankshaft centreline. The residual inertia can also be expressed as a function of the radius of gyration of the connecting rod in the form

				{bmc bm362.wmf}				(7)

The input data variables related to the quantities in the above equations are described in the Input Data Section of this Help File.

{bmc bm363.bmp}

Figure 1. Two-mass representation of connecting rod for calculation of engine dynamics.

Note that when the engine speed calculation is updated every cycle, rather than every time step, the {bmc bm364.wmf} term in equation (2) is zero and the {bmc bm365.wmf} term reduces to

{bmc bm366.wmf}.				(8)

+$#>Theory - Friction

The mechanical friction of the engine may be either, calculated using one of four simple empirical correlation’s or specified explicitly by the user in the form of a friction mean effective pressure or a mechanical efficiency. Note that the input data is the mechanical friction only and should not include pumping losses as these are calculated by the program. Thus unadjusted motoring loss data cannot be used as input data.

The available friction models are summarised as

Modified Barnes-Moss 

(reference 1)

{bmc bm367.wmf},

where	

N	 =	 engine speed [rev/min]

{bmc bm368.wmf}	 =	 mean piston speed [m/s].

Modified Millington & Hartles DI 

(reference 2)

{bmc bm369.wmf}

where

CR 	= 	Compression ratio

Chen & Flynn Model for Large Engines

(reference 3)

{bmc bm370.wmf},

where
{bmc bm371.wmf}	=	Maximum cylinder pressure [bar]

The recommended procedure is to calculate the engine friction using a modified version of the Patton & Heywood model (reference 4) that requires crankshaft and camshaft configuration and bearing dimensions. This model is coded into the Lotus Friction Tool and data can be written directly from this code into the input data of a Lotus Engine Simulation model. 

References

1. A Designers Viewpoint. H.W.Barnes-Moss. I.MECH.E C343/73

2. Frictional Losses in Diesel Engines. B.W.Millington & E.R.Hartles.
   SAE 680590 (1968)

3. Development of a single cylinder compression ignition research engine.     
   S.K.Chen & P.F.Flynn. SAE 650733

4. Development and Evaluation of a Friction Model for Spark Ignition Engines. K.J.Patton, R.G.Nitschke & J.B.Heywood SAE 890836

+$#>Theory – Silencer Modelling and Noise Prediction

The approach to modelling silencer elements in the Lotus Engine Simulation code follows the theoretical approach described by Onorati in Ref. 1. Two types of silencer element can be modelled using the ‘built in’ Silencer Super-Elements within Lotus Engine Simulation, these are simple reactive silencer elements and perforate/resistive elements.

Modelling Simple Reactive Silencers
Reactive silencers achieve the abatement of sound pressure levels by reflecting the acoustic power, carried by pressure waves, back to the noise source. They exploit the mechanism of reflection and transmission of sound waves at geometrical discontinuities (abrupt area changes, junctions of pipes, etc.) to control the acoustic power generated by the source and transmitted downstream along the pipe-system, through the interaction between the engine noise source and the silencing device. These silencers are distinct from absorptive, or dissipative, devices, which make use of sound-absorptive material to dissipate the acoustic energy as heat when pressure waves travel along the ducts of the acoustic element. 

The simplest reactive silencer configurations that may be introduced in intake and exhaust pipe systems are expansion chambers, and Helmholtz and column side (quarter-wave) resonators. The correct calculation of the acoustic characteristics of these elements is very important, since they represent the fundamental elements used to build up more complex silencers through acoustically equivalent schemes.

Expansion chambers, shown generically in Fig. 1a, have a broad-band attenuation, which approaches zero for the resonant, or transparency, frequencies of the system: these frequencies are given by 

		{bmc bm372.wmf}							(1)

where n = 1, 2, 3,..… Resonators have a narrow-band action, with intense attenuation only at the resonant frequencies. The frequency of a Helmholtz resonator, shown in Fig. 1b, is 

		{bmc bm373.wmf},						(2)

where F and ln are the cross sectional area and the length of the neck respectively, V is the volume of the chamber. The resonant frequency of a column (or quarter wave) resonator, shown in Fig. 1c, is

 		{bmc bm374.wmf} , 							(3)

where lr is the column resonator length and n=1, 3, 5, ...)

{bmc bm375.bmp}
Fig. 1.a				Fig. 1b					Fig. 1c

The gas dynamic modelling of these components is relatively simple, and can be based on existing elements and boundary conditions described in this Help File. The abrupt area changes of the expansion chamber, shown in Fig. 1a, can be treated by the sudden enlargement-contraction model, as can the abrupt area change of the Helmholtz resonator at the interface between the neck and the volume.  The cavity of the Helmholtz resonator has to be represented by an equivalent cylindrical duct with the appropriate volume and geometrical length to avoid the limitations of a lumped parameter approach and to enable all the resonant frequencies of the system to be captured. If the shape of the resonator is particularly amorphous the volume could be represented by a lumped-volume but his is not generally recommended.

The closed end boundary condition is used for the end wall of both the cavity and the column resonator. The T - junction, arising in both of the resonators at the interface with the tube, can be satisfactorily described by the constant pressure junction model.  Since the mean flow in the side ducts of the Helmholtz and quarter-wave resonators is zero the pressure losses in the junction are not significant, however a pressure loss model for the junction may provide a more accurate prediction of the resonator attenuation. 

Corrections must be used at each geometrical discontinuity to take account of the end effects – the default values for various end corrections are given in the section which describes the data variable for Silencer Super Elements.  The lengths of the Helmholtz resonator neck, ln , and of the column resonator, lr, must be measured from the interface between the main tube and the duct of the resonator, and not from the tube centreline.

Modelling Perforate/Resistive Silencers
Perforate/Resistive silencers are formed by a perforated duct surrounded by a cavity, as depicted in the Figure below. These silencers often make use of sound-absorptive material, which is packed into the cavity, to dissipate the acoustic energy as heat when pressure waves travel along the ducts of the acoustic element.  The advantage of this type of silencer is good attenuation over a large frequency band, but the disadvantages are the poor attenuation at low frequencies and the erosion of the absorptive lining due to the high mean flow velocities that can prevail in these devices. 

{bmc bm376.bmp}

The Lotus Engine Simulation code incorporates for modelling perforate silencers both with and without any resistive packing in the cavity.  

Silencer Super Elements
Silencer Super Elements allow the user to develop models of more complex intake or exhaust silencer components than those described above. Silencer elements are generally composed of a number of ducts and volumes that need to be systematically interpreted as equivalent one-dimensional pipe network model. The rationale of Silencer Super Elements is to enable the user to define the geometry of a relatively complex element in a direct way through an interface in which all the essential component dimensions are represented and can be edited. A screen shot of one of these interfaces is shown in the section describing the Silencer Super Element Data Variables. 

The figure below shows the Silencer Super Elements available. The images on the left-hand side show the schematic of the element whilst those on the right-hand side show the equivalent acoustically equivalent models. Note that the Super Elements may all be converted into their acoustically equivalent models within the interface by selecting the ‘Convert to Pipes’ option from the menu generated by a right-mouse-button click when the particular super element is in focus. It is, of course, possible to create all the models represented by the list of Super Elements by using the Network Builder – the rationale of the Super Element concept is to reduce user effort and keep the representation of the engine model as simple as possible.

The first element is a simple expansion chamber and thus the acoustically equivalent model is a single large diameter pipe that represents the chamber itself. When pipes are inserted into the chamber the effect is to introduce a three-pipe junction at each end of the chamber. In this case the pipes forming the left-hand junction are the insertion pipe, the pipe representing the expansion chamber, and the pipe surrounding the insertion pipe which constitutes the left-hand end of the expansion chamber. This latter pipe can be modelled as a closed-end pipe with a cross-sectional area equal to that of the expansion pipe minus the insertion pipe. 

In the third element shown below an extra pipe is added to represent the central baffle, whilst the fourth element introduces considerably more complexity in to the acoustically equivalent model due to the over lapping central pipe. In this case there are two pipes with closed ends on each side of the baffle. 

The fifth and sixth elements shown both represent perforate silencers.  The fifth element has no resistive material in the expansion cavity.  The perforates are represented by a series of pipe bundle elements.  The length of these bundle elements is extremely short – representing the length (which is the wall thickness of the perforated tube) and end effect of each of the perforates.  This has a significant impact on the simulation run times.  In an attempt to address this, an alternative model (named intra-nodal) is available, where the perforate holes are not explicitly modelled.  The nodes of the perforate pipe and the pipe representing the cavity are connected via virtual perforate elements. 

The sixth element shown in the figure represents a perforate silencer with resistive material packed into the cavity volume.  Throttles located in the cavity represent the absorptive influence of the resistive material on the pressure waves.  The diameter of these throttles is set based on a resistivity parameter entered into the super-element interface. No intra nodal model is available for resistive silencers.

In all cases the interface automatically calculates the equivalent pipe diameters and lengths, including end corrections, and creates the connections required to build the model. 

{bmc bm377.bmp}

Prediction of Intra-Pipe and Tailpipe Noise Spectrum
The open terminations of the manifold system are modelled using simple quasi-steady boundary conditions.  In the case of subsonic outflow, it is assumed that the static pressure at the “vena contracta” is constant and equal to the ambient pressure.  Experience confirms the validity of this assumption for a steady flow, but it has been shown that for unsteady flow, pressure pulses also occur after the termination, even if the pulse magnitude is so small that the assumption of constant atmospheric pressure is acceptable. In the case of inflow from ambient conditions, a quasi-steady isentropic expansion from the ambient pressure is used, and a boundary condition based on the ellipse of energy is adopted. At the exit of the exhaust system, the calculated pressure is almost constant because the outflow is almost continuous, except for sporadic inversions of the flow.  At the intake the calculated pressure exhibits only small departures from the constant atmospheric pressure.  Thus, the pulse noise radiated from the open terminations cannot be calculated from predicted pressure trend.

The sound field generated around the outlet cross-section may be evaluated satisfactorily from the predicted trace of flow velocity. It can be shown that (see Ref. 2) for small perturbations, if the outlet is considered to be a monopole source which radiates spherical waves, the pressure field, p(r,t), at a distance, r, from the open end may be related to the derivative of the velocity with time, d[u(t)]/dt, by the equation:

			{bmc bm378.wmf}				(1)
where F is the area of cross-section of the termination , 0, a0 are density and sound velocity in the surrounding medium, and C is a constant which equals 4 for spherical radiation, and 2 for hemispherical radiation. This formula is valid as long as the wavelength of the sound {bmc bm379.wmf} >> D, where D is the tailpipe diameter. 

The predicted velocity at the open end is available in the form of a set of discrete values versus crankangle (generally the crank angle step is in the range 1 to 5°). After the decay of a relatively short transient wave motion, which tends to last for 3 to 10 engine cycles (or more) depending on the engine and duct system configuration, the velocity, pressure, temperature, etc. are periodic in time. The Discrete Fourier Transform (DFT) is can be used to evaluate the spectral content of a periodic set of discrete values and the Fast Fourier Transform (FFT) is the fastest algorithm to perform the DFT. 

The spectral content of radiated noise calculated from eqn (1) is determined in the following way.  First, because the sound pressure level is related to the derivative of the velocity with respect to time, it is necessary to interpolate the set of velocity values in time domain using as cubic splines to get a continuous function which can be differentiated in the time domain.  Secondly, the velocity derivative corresponding to discrete values in time (or crank angle) domain may be evaluated, to produce the set of values which may be analyzed by the FFT algorithm.  Once the amplitudes of the spectral components have been determined, the r.m.s. values of these components, {bmc bm380.wmf} can be calculated, to get the spectral components of the pressure field at a distance, r, from the tailpipe outlet:
		{bmc bm381.wmf}			(2)
Finally, the components of tailpipe noise spectrum at each frequency fn  can be determined in terms of the sound pressure level, Lp as
			{bmc bm382.wmf}				(3)
where the harmonics fn  (for a four-stroke engine) are given by:
			{bmc bm383.wmf}		(4)
and  f0  is the fundamental frequency, T the period of the signal, N  the engine speed in rev/min.

The computation of the sound pressure level spectrum within the engine ducts is simpler. Once the predicted pressure trace has been evaluated as a set of n values versus crank angle, the FFT gives the amplitudes pn  of the spectral components of the pressure, so that the corresponding r.m.s. values are {bmc bm384.wmf}and the sound pressure level spectrum is given by:
			{bmc bm385.wmf}				(5)

References:

1. Winterbone, D.E. and Pearson, R.J.,  Design techniques for engine manifolds.  Wave action methods for I.C. engines. Professional Engineering Publications, 1999 (ISBN 1-86058-179 X).

2. Landau, l.d. and Lifshitz, E.M., Fluid Mechanics, Pergamon Press, 1959.

+$#>Combustion Analysis Tool –  Overview

The Combustion Analysis Tool is essentially a stand-alone combustion analysis program.  However, it also allows the user to quickly create user-defined heat release phase and period combustion data for use in the test conditions section of the Lotus Engine Simulation code models.

The program uses a simple ‘heat release’ approach to analyse cylinder pressure / crank angle data and calculates the burn duration, phase, and mass fraction burned, which can be used as input data for the Lotus Engine Simulation code combustion model.  (See Data module – Heat release –phase or period)

The program also calculates the rate of pressure rise and heat release and enables graphical display of these quantities.

The Combustion Analysis Tool can also be used in conjunction with a database.

+$#>Combustion Analysis Tool – Opening the Combustion Analysis Tool

There are three methods of opening the Combustion Analysis Tool:

Firstly, after loading the Lotus Engine Simulation code, if the Start Wizard is active, then the user is able to select the ‘Combustion Analysis Tool’ option directly from the wizard.

However, if the start wizard had been disabled or the user is already working within the Lotus Engine Simulation code, they must select either Tools / Combustion Analysis Tool from the main menubar or click on the Combustion Analysis Icon near the top of the window.

+$#>Combustion Analysis Tool – Closing the Combustion Analysis Tool

In order to close the Combustion Analysis Tool, either click on the Close Icon at the top right of the window or select File / Close from the combustion analysis tool menubar.

On the Combustion Analysis File menu, there is another ‘close’ option named Close (make current), as shown below.  This also closes the Combustion Analysis program but at the same time, also copies the calculated data into the relevant sections of the current Lotus Engine Simulation code model.

{bmc bm386.bmp}

+$#>Combustion Analysis Tool – Entering the Data

When opened, the Combustion Analysis Tool will show the “General Data” section.  This is indicated by the depressed “General Data” button in the upper left of the window.  

Data must be entered into two areas within the Combustion Analysis Tool.  The first is the “General data” section and the second is the “Pressure values” section.

The General Data section of the Combustion Analysis Tool is comprised of six sections and these are as follows:

1.	The first section contains a box in which the Title of the combustion analysis file may be entered.

1.	The second section contains two data boxes: Cycle Type and Speed (rpm).  The cycle type can be set to Two, Four or Six Stroke.  This is done by clicking on the down arrow at the right of the relevant entry box and then clicking on the required option.  The speed should be set to correspond to the engine speed at which the cylinder pressure data was obtained.

It should be noted that each set of combustion analysis data corresponds to one specific test engine speed, therefore, if the user has entered multiple test points in the test conditions section of the Lotus Engine Simulation code, then they will need to perform combustion analysis for each test speed.

1.	The third section contains five entry boxes for engine data.  These are bore, stroke, rod length, piston pin offset and compression ratio.  To enter these variables, click on the relevant box and type in the data.

1.	The fourth section concerns clearance volume options.  The user is able to select either ‘Calculate’ or ‘User defined’.  If ‘Calculate’ is selected then the code will calculate the clearance volume itself and if the ‘User defined’ option is selected, the box to the right of the section will become active and will require the user to enter the clearance volume.

1.	The next section contains options for the pressure data offset option.  This option sets the reference pressure from which the pressure data was taken.   Again, if the ‘Calculate’ option is chosen then the code will predict the pressure data offset automatically and if the ‘User defined’ option is selected, the box to the right of the section will become active and require the user to enter an offset value.  For an engine with forced induction the ‘User defined’ option must be used.

1.	The final section requires the entry of valve and ignition timing.  The relevant data should be entered into the boxes.  For the ignition timing, a positive value represents the number of degrees before top dead centre, that ignition takes place.  The conventions for the valve timings follow that used in the Lotus Engine Simulation, see Valves Data.

The “Pressure Values” section requires the user to enter a list of measured crank angle vs cylinder pressure data.  In order to do this, the user must first of all copy the data cylinder pressure data into the Windows clipboard.  Then, after typing in the number of data rows into the relevant box, the user must select the top left-hand cell in the spreadsheet display using the left mouse button, then press the right mouse button and select ‘paste’, from the pop-up menu, with the left button.

+$#>Combustion Analysis Tool – Solving

Once all required data has been entered, it can be solved by selecting File / Solve Update from the Combustion Analysis Tool menubar, as shown below.  This will produce results, which can be viewed through the Text Results and Graphical Results sections.

{bmc bm387.bmp}

+$#>Combustion Analysis Tool – Updating the Lotus Engine Simulation Model

After solving the data and producing results, it is possible to transfer the calculated data to the current Lotus Engine Simulation code model.  This is done by left-clicking on File / Close (Make Current), as shown below.
  
{bmc bm386.bmp}

+$#>Combustion Analysis Tool -  Viewing Text Results

Once the data has been solved, it is possible to view the text results file.  This is done by clicking on the ‘Text Results’ button, as shown below, and using the standard windows scroll bar at the right of the display to view the entire file.

The text results file consists of three main sections.  The first section gives a listing of all of the input data.  Also included in the first section are a few calculated values such as clearance and swept volume.  The second section provides the user with the main combustion results.  These results include mass fraction burn angles, mean effective pressures and combustion noise data.  The third and final section provides a list of crank angle results which include cylinder volumes, pressures as well as the mass fraction burnt and the rate of burn.

{bmc bm388.bmp}

+$#>Combustion Analysis Tool - Printing Text Results

In order to print the text results file, the user must select Text Results / Print from the main Combustion Analysis Tool menubar, as shown below.  This will initiate the standard windows print dialogue box.  The whole text file will be printed using this method.

{bmc bm389.bmp}

+$#>Combustion Analysis Tool - Setting the Print Font Type

In order to change the font in which the text file is printed, the user should select Text results / Print Font from the Combustion Analysis Tool menubar, as shown below, and then select the required font type.  There are three options for font type:  

Fixed pitch, although less attractive, forces each character to be the same width, therefore making sure that all columns in tables line up correctly.

Proportional Sans Serif font characters do not have a fixed width.  They have a more attractive appearance than the fixed pitch font type but may not always line up correctly.

Proportional Serif characters are simply a slight variation on the Proportional Sans Serif font type. 

{bmc bm390.bmp}

+$#>Combustion Analysis Tool - Setting the Print Font Size

In order to alter the print font size, the user must click on Text Results / Print Font Size within the Combustion Analysis Tool menubar, as shown below, and then click on the required standard font size (available sizes 6 – 16).  A check mark will appear next to the chosen font size.

{bmc bm391.bmp}

+$#>Combustion Analysis Tool - Saving Text Results to File

Text results can be saved to file by clicking on Text results / Save to File.  This will bring up the standard windows browser dialogue box, allowing the user to select the file name and directory of their choice.

+$#>Combustion Analysis Tool - Viewing Graphical Results

Graphical results can be viewed by left-clicking on the Graphical Results button, as shown below.  This will display the graphical results window which contains a graph on the left hand portion of the window and a display control section on the right hand side of the display.

{bmc bm392.bmp}

+$#>Combustion Analysis Tool - Changing the Graphical Display

There are two parts within the control section and these are ‘Select X-axis’ and ‘Set Y-axis visabilities’.  

From the X-axis section, the user must select one of the three x-axis options (crank angle, volume or log volume).  This can be done by clicking in the check box next to the appropriate option.  Only one option can be selected at any one time.

The Y-axis section allows the user to display or hide each of the six possible graphs.  The graphs include rate of burn, mass fraction burn, pressure rise, log corrected cylinder pressure, corrected cylinder pressure and original cylinder pressure.  Graphs can be shown and hidden in any combination by clickiing in the check box next to the appropriate graph, as shown below.

{bmc bm393.bmp}

+$#Combustion Analysis Tool - Copying Graphs to the Clipboard

If the user wished to transfer a graph to an external application then this is done by copying the graph to the clipboard and then pasting the graph into the target application.  In order to copy the graph to the clipboard, select Graphical results / Copy to Clipboard from the main Combustion Analysis Tool menubar, as shown below.

{bmc bm394.bmp}

+$#>Combustion Analysis Tool - Printing Graphs

In order to print the currently displayed graph, select Graphical results / Print Graph from the main Combustion Analysis Tool menubar, as shown below.  This will initiate the standard Windows printing dialogue box.

{bmc bm395.bmp}

+$#>Combustion Analysis Tool - Autoscaling Graphs

Autoscaling the currently displayed graph automatically sets the scales of the graph so that the graph lines are all displayed clearly within the axes.  In order to instruct the Combustion Analysis Tool to perform this function, select Graphical results / Autoscale from Combustion Analysis Tool menubar, as shown below.

{bmc bm396.bmp}

+$#>Combustion Analysis Tool - Zooming Graphs

To zoom in on a particular section of the displayed graph, begin by selecting Graphical results / Zoom from the Combustion Analysis Tool menubar.  This will initiate cross hairs which will appear when the mouse pointer is moved over the graph area.  To select the required zoom area, position the cross hairs at the top left hand corner of the zoom area, left-click at that point, and release the mouse button.  Next, move the cross hair to the right and down, dragging the selection box over the zoom area, then left click the mouse again.  This will scale to complete the zoom procedure. 

+$#>Combustion Analysis Tool - Listing Graph Values

If the user wishes to accurately read off particular values from the displayed graph, then they should firstly select Graphical Results / List from the Combustion Analysis Tool menubar.  When this has been done, cross-hairs will appears as the user moves the mouse pointer over the graph area.  To list a graph value, click on the graphical display at the point of interest.  X axis (Engine RPM) and Y axis (from whichever graph is selected) values will be displayed at the bottom of the graph area, as shown below.  The colour of the text indicates which graph values are being displayed.  The value displayed will relate to the point at which the vertical cross-hair crosses the line which is closest to the cross point of the cross-hairs. Click with the cross-hair cross point as close as possible to the point of interest.  To remove the cross hairs when finished listing values, click the right mouse button.

{bmc bm397.bmp}

+$#>Combustion Analysis Tool - Graph Setup

If the user wishes to manually set the scales, titles etc. of the results graphs, they should select View / Setup from the Results Graph Window menubar.

There are three sections within the Results Graph Setup window, shown below.  These are Plot Text and X Axis and Y Axis.

‘Plot text’ allows the axes titles, fonts, colours and grid types to be specified by left-clicking on the relevant box and selecting the required option from the pop-up list or typing in the text / value as appropriate.  Other options such as ‘Auto Position’ and ‘Scale Text With Page’ can also be switched on and off by left-clicking on the appropriate check-box.

‘X Axis’ allows the user to alter the minimum and maximum  X Axis scale values as well as the interval and number of decimal places.  This is done in the same way as for the first section.

‘Y Axis’ allows the properties of each plot line to be altered.  These include line colour, line type, symbol colour and symbol type.  These options can be changed by clicking on the relevant box and selecting the required option from the pop-up list.  Specific lines and symbols can be made visible or invisible by left-clicking in the check box to the right of the line or symbol options of interest.

Graph Axes (1-6) can be cycled through by left-clicking on the back and forwards arrows at the top left of the relevant section.  The current Axis is displayed between these arrows.

{bmc bm398.bmp}

+$#>Combustion Analysis Tool - Refreshing the Graph

If an option has been changed and the graph has not changed to reflect the chosen option, then it is necessary to Refresh the graph.  This is done by selecting Graphical Results / Refresh from the Combustion Analysis Tool menubar, as shown below.

{bmc bm399.bmp}

+$#>Combustion Analysis Tool - Database Structure

Each entry in the Combustion Analysis Database is obtained from an actual file, stored in the combustion sub-folder of the database directory.  Each file contains the actual combustion text file data, which can be loaded into a Lotus Engine Simulation code sim file.

If each data file had to be loaded and combustion results calculated each time the user wished to list the database entries, it would take an unacceptable amount of time.  This problem has been solved with the use of a scratch file.

The scratch file contains a limited number of the data variables and results calculated from the actual combustion files.  This scratch file is then used to list the database entries rather than directly calculating the results each time a list is required, cutting down waiting time.  The scratch file is saved automatically within the Lotus Engine Simulation code working directory.

When an entry is selected from the scratch file list and needs to be loaded into the Combustion Analysis Tool, the actual combustion file in the database directory is directly loaded up and calculations performed.

If new files are introduced into the database directory then a new scratch file has to be built in order to update the listing.

It should be noted that before the database facility can be used, the Database Folder must be specified.  This must be done from the builder interface.  The user must select Setup / Database Folder from the main menu and then enter the path of the folder in which all database files are stored.

+$#>Combustion Analysis Tool - Listing Database Entries

When there is data stored in the database scratch file (see Database Structure) then it is possible to list the stored database entries.  This is done by selecting Database / List Entries from the Combustion Analysis Tool menubar, as shown below.  After performing this task, a window will appear with a spreadsheet-style layout of the database data.  Particular entries can be highlighted by clicking on them with the left mouse button. 

{bmc bm400.bmp}

+$#>Combustion Analysis Tool - Rebuilding Database Scratch File

If there is currently no scratch file or if the user wishes to update the database data, then the Database Scratch File must be Rebuilt.  The user must select ‘Database’ and then ‘Rebuild Database Scratch File’ Combustion Analysis Tool menubar, as shown below.

{bmc bm401.bmp}

+$#>Combustion Analysis Tool - Loading Database Entry into Combustion Analysis Tool

In order to load a database entry into the Combustion Analysis Tool, the user must first of all list the database entries and select an entry with the left mouse button which will highlight the selected record.  When this is done, the user must press the right mouse button with the mouse pointer over the selected entry and select Load Entry as Data File, as shown below.  This will load the combustion data file into the Combustion Analysis Tool.

{bmc bm402.bmp}

+$#>Combustion Analysis Tool - Shuffling Columns

If the user wishes to list the database entries by number order in a certain column then they should first of all list the database entries and then press the left mouse button, with the pointer positioned over the required column heading.  This will highlight the entire column in black if done correctly.  The user must then press the right mouse button with the mouse pointer over the highlighted column heading.  This will bring up a pop-up menu from which either Shuffle Selected Column by Highest or Shuffle Selected Column by Lowest can be selected depending on the user’s preference, as shown below.

{bmc bm403.bmp}

+$#>Combustion Analysis Tool - Reverting to Original Database Order

In order to return the database order back to it’s original order, when the database listing has been displayed, press the right mouse button whilst the mouse pointer is positioned anywhere on the database listing and select Revert to Original Order from the pop-up menu, as shown below.

{bmc bm404.bmp}

+$#>Combustion Analysis Tool - Showing and Hiding Database Entries

If the user wishes to plot their data against only a portion of stored database data, this can be done by hiding all entries which are not of interest.

In order to hide an entry, highlight it by clicking on it with the left mouse button and then press the right mouse button, whilst the mouse pointer is on the selected entry and select Hide Selected Entries from the pop-up menu, as shown below.

To hide several adjacent entries at once, left-click on the first target entry and then hold down the left mouse button and drag the mouse across the rest of the target entries until they are highlighted in yellow.  When this is done, release the left button, and then press the right mouse button and select Hide Selected Entries from the pop-up menu.

In order to show all the entries again, with the mouse pointer positioned anywhere on the database listing, press the right mouse button and then select Show All Entries, from the pop-up menu.

To switch between hidden and shown entries, with the mouse pointer positioned anywhere on the database listing, press the right mouse button and then select Swap Show/Hide Entries, from the pop-up menu.

{bmc bm405.bmp}

+$#>Combustion Analysis Tool - Clipping Columns

An alternative method of hiding certain database entries is to clip columns.  This allows the user to hide the entries above, below or on either side of specific column values.  In order to do this, position the mouse pointer over the column heading of interest and then press the left mouse button to select the column.  Then press the right mouse button to bring up the pop-up menu.  From the listing, select either High Clip Selected Column (To hide entries with column values above a certain value), Low Clip Selected Column (To hide entries with column values below a certain value) or Pass Clip Selected Column (To hide entries above and below certain values).  After selecting the type of clip, a dialogue box will appear, requesting the relevant column value(s).  Enter the value(s) to complete the procedure, as depicted below.

{bmc bm406.bmp}

+$#>Combustion Analysis Tool - Combustion Analysis Theory

Cylinder pressure verses crank angle data offers the designer / developer a crucial insight into the combustion phenomena occurring within internal combustion engines.  The combustion analysis tool is based on the simple analysis of pressure / volume data described below.

Cylinder pressure changes varies with crank angle due to the following phenomena:

·	Cylinder volume change
·	Combustion
·	Heat transfer to chamber walls
·	Flow in and out of crevice regions
·	Leakage

The cylinder volume change and the combustion are the major contributors to the cylinder pressure variation around the cycle.  Hence these are the factors directly considered by the heat release analysis program.

The figures given below show ‘cylinder pressure verses crank angle’, ‘cylinder pressure verses cylinder volume’ and ‘log cylinder pressure verses log cylinder volume’ graphs for a typical automotive, inline, 4-cylinder, 2.0-litre, spark ignition engine operating at 6000 rev/min.

{bmc bm407.bmp}
Cylinder pressure verses crank angle

{bmc bm408.bmp}
Cylinder pressure verses cylinder volume

{bmc bm409.bmp}
Log cylinder pressure verses Log cylinder volume

Since the compression of unburned mixture prior to ignition and expansion of burned gases following the end of combustion are close to adiabatic, isentropic processes (for which {bmc bm410.wmf}= constant;{bmc bm411.wmf}= Cp / Cv), the observed behaviour is as expected.  More extensive studies show that the compression and expansion processes are well fitted by a polytropic relation:

pVn = constant

The exponent n for the compression and expansion processes is 1.3 (+/- 0.05) for conventional fuels.  It is comparable to the average value of {bmc bm412.wmf}u for the unburned mixture over the compression process, but is larger than {bmc bm413.wmf}b for the burned gas mixture during expansion due to heat loss to the combustion chamber walls.

Log p – Log V plots as shown above, approximately define the start and end of combustion, but do not provide a mass fraction burned profile.  One well-established technique for estimating the mass fraction burned profile from the pressure and volume data is that developed by Rassweiler and Withrow.

In any crank angle interval {bmc bm414.wmf}, the actual pressure change {bmc bm415.wmf}is assumed to be made up of a pressure rise due to combustion {bmc bm416.wmf} and a pressure change due to volume change {bmc bm417.wmf}:

{bmc bm418.wmf}

The pressures and volumes at the start and end of the interval {bmc bm419.wmf}, in the absence of combustion, are related by:

pi Vin = pj Vjn

Hence:
{bmc bm420.wmf}

Assuming that the mass of charge burned in the internal {bmc bm421.wmf}is proprtional to the pressure rise due to combustion, the mass fraction burned at the end of the i’th interval is given by:

{bmc bm422.wmf}

where N is the total number of crank angle intervals.

 #Combustion Analysis Tool Icon {bmc bm423.bmp}

+$#>Concept Builder – Overview

What is the Lotus Engine Simulation code Concept Builder?

The Lotus Engine Simulation code Concept Builder is a powerful tool allowing the user to quickly gain an appreciation of the parameters associated with a particular engine configuration. It considers the dimensions of and gas flow through, the intake system, cylinders and the exhaust system.  The Lotus Engine Simulation code Concept Builder can be used in isolation from the simulation program as a ‘stand-alone’ analysis tool, or it can be used to quickly generate the basis of a pipe network model for a simulation. It uses established theory combined with Lotus Engineering engine knowledge to produce an engine model that can provide a starting point for the engine development process.

+$#>Concept Builder – Starting the Concept Builder

The Concept Builder can be accessed in three ways. The Concept Builder can be entered from the wizard which appears when the simulation code is started up. It can be activated by clicking on the appropriate icon  at the top of the Network Builder screen. Alternatively, the Concept Builder can be accessed by clicking ‘Concept Tool’ within Network Builder’s ‘Tools’ menu.

+$#>Concept Builder – Layout of the Concept Builder

The Concept Builder tool consists of a single interface window. Fundamental engine parameters including the number of cylinders, total swept volume and the maximum power speed are located at the top of the window. Directly below are the pressures and temperatures at the inlet and the exhaust respectively. Default values are used within Concept Builder for these, but user defined values can be entered.

The central regions of the window display the boxes associated with all the basic dimensions of the intake system and the exhaust system. An outline diagram of the engine system indicates each dimension graphically.

The final section of Concept Builder is highlighted in blue and includes all non-dimensional parameters calculated by the Concept Builder code. These include valve and valve timing details, tuning speeds, gas flow parameters and the mean piston speed.

The parameters which have notepad symbols next to them in the Concept Builder interface window allow the user to define how the values of the parameter are calculated from a given list of other parameters. In this way the user is able to over-ride the Lotus devised criteria for the determination of many of the Concept Builder parameters.

The Extended Data section enables the user to modify some of the criteria which are used to specify the intake and exhaust options.

+$#>Concept Builder – Running the Concept Builder

The simplest way to run the Concept Builder is by entering only the No. of Cylinders, Swept Volume and the Maximum Power Speed for the desired engine. The Concept Builder will run automatically when ‘enter’ is pressed. It should be noted that these three values must always be entered in order to run the Concept Builder.

Each of the parameter boxes has a padlock icon next to it. By activating this icon the user will fix any value that has been entered into the box. This feature allows the user to fix parameters relating to the engine. The Concept Builder will then calculate all the other parameters based these values. Fixed values are highlighted in purple.

Lotus Engineers have specified working ranges for the values within Concept Builder. The ranges recommended include all reasonable parameter values according to Lotus knowledge. If a value is entered that is outside of this range, or if a value is calculated that is outside of this range, the relevant box or boxes will be highlighted in red, as shown in the screen-shot below.

{bmc bm424.bmp}

+$#>Concept Builder – Specifying Cylinder Connectivity

The Concept Builder initially defines the geometry of a modular cylinder unit. If more than one cylinder is specified in the initial data there is a requirement to select how the cylinders are connected together. Clicking on the ‘Intake / Exhaust’ option from the toolbar generates a window from which the intake and exhaust system geometry may be selected by toggling through the alternatives and selecting the appropriate configuration. An example of one of the options is shown below.

{bmc bm425.bmp}

+$#>Concept Builder – System Dimensions

System Dimensions

Dimensional data relating to the intake and exhaust systems within the Concept Builder engine is calculated according to limits and ratios dictated by Lotus Engineering. These limits and ratios have been found to provide the most desirable engine performance characteristics. 

Calculations Performed

·	Bore (1) is initially calculated by assuming a Bore/Stroke ratio of 1:1.

·	Maximum stroke is calculated using the maximum engine speed and assuming a maximum permitted piston speed of 20ms-1. For the purposes of this calculation, Bore(1) is used.

·	Actual stroke is calculated for the engine to achieve the specified swept volume. If this stroke exceeds the maximum stroke calculated, its value will be re-set to the limited value.

·	Actual Bore is calculated from the Actual Stroke. This value replaces the Bore(1) value calculated previously.

·	Inlet throat diameter is calculated from the bore diameter. The throat area is taken as 23% of the bore area.

·	Inlet throat gas velocity is calculated using the continuity equation. This considers the expanding volume of the cylinder as the piston moves down and calculates the corresponding velocity of the gas through the throat, assuming that the gas is an incompressible fluid. If the gas flow speed exceeds 80ms-1, Concept Builder changes the throat diameter to that which will result in a maximum gas velocity of 80ms-1.

·	Exhaust throat diameter is calculated as a proportion of the inlet diameter. Lotus Engineering guidelines dictate that the exhaust throat area is 70% of the inlet throat area.

·	Inlet port diameters are calculated according to a throat/port area ratio of 1: 0.8

·	Inlet port gas velocity is calculated using the standard continuity equation. If the calculated gas velocity exceeds 110ms-1, the port diameter is set to a value that will limit the gas flow to this maximum value.

·	Exhaust port diameters are calculated according to a throat/bore area ratio of 1: 0.9

+$#>Concept Builder – Tuning Equations & Theory

It is critical that within an engine both the intake system and the exhaust system are tuned so that the desired torque and power curves can be realised. Engine tuning considers the propagation of pressure waves through the system and their reflection. Pressure waves can be used to enhance the volumetric efficiency of the intake system and to aid the removal of residual exhaust gas in the exhaust system. Concept Builder uses two basic tuning equations.

The intake system is tuned using the Helmholtz resonator equation. Concept Builder sets the Helmholtz tuning speed as Max Power Speed – 1500 rev/min, although a user defined value can be set. The Helmholtz speed is the point of maximum volumetric efficiency and is therefore the point of maximum torque - See Concept Builder Theory – Helmholtz resonator method.

The exhaust system is tuned using a simple wave propagation equation based on the wave propagation speed in the gas. The calculation is performed on the basis of the blow-down pulse being reflected as a rarefraction wave at the end of the exhaust primary pipe and this wave returning to the exhaust valve within a crank angle period of 120. This aims to ensure the reflection of the peak of the blow down pulse during the valve overlap period to assist scavenging.

Concept Builder Theory - Exhaust Tuning.

Concept Builder Theory

Helmholtz Resonator Method 

The Concept Builder uses the Helmholtz Resonator method to calculate the intake pipe dimensions required to achieve a desired tuning speed. The tuning speed of an engine is the speed at which the induction process matches the natural frequency of the combined pipe and cylinder system.

The Helmholtz Resonator method considers the gas within the intake pipe as a finite incompressible mass. The volume of gas is considered as a spring with no inertia. Deceleration of the gas plug causes a peak in pressure at BDC. 

Concept Builder can be used in a number of ways in relation to the tuning speed.  It can either be used to calculate the Helmholtz speed directly, or it can be used to calculate the exhaust length required to provide tuning at a user defined engine speed. The user can set a specified engine speed by entering a value in the Helmoltz engine speed box and activating the locking device indicated by the padlock icon.

Helmoltz Resonator Equation

{bmc bm426.wmf}

where 	N  = engine speed (rev/min)
Fp = Pipe cross sectional area
Lp = Pipe length (m)
Vc = Mean cylinder volume = 0.5 * cylinder swept volume + clearance volume.

a  =  speed of sound = {bmc bm427.wmf}    

where   	 = Ratio of specific heats
           	 R = Gas constant
           	 T = Temperature (K)

N.B  - The values of Fp and Lp are modified to take into account the tapering of the intake pipe.

Tuned Exhaust Speed

Concept Builder uses a standard wave propagation equation to calculate the exhaust length for a user specified maximum power speed. Alternatively Concept Builder can be used to determine the tuning speed for a specified exhaust length.

Concept Builder calculates the necessary exhaust pipe length by first calculating the speed of sound for the fluid. It then determines the theoretical distance travelled by the wave during a 120 period. By multiplying this time duration by the speed of sound, the wave propagation distance may be calculated. The exhaust length is half the total distance calculated. 

Calculation of engine speed from a user defined exhaust length is calculated using a rearrangement of the same equation.

Exhaust Tuning Equation

Time for blow down and pulse return {bmc bm428.wmf} 
where 	N = engine speed (rev/min)

Exhaust Length = Time for blow down and pulse return * speed of sound * 0.5

Gulp Factor

The volumetric efficiency is a ratio of the mass of air trapped in a cylinder to the mass of air that could be trapped within the swept volume if the air was at inlet manifold density. This efficiency must be high in order to maximise the performance of an engine. If all other parameters remain constant, the mean effective pressure is directly proportional to it. 

The Concept Builder calculates the so-called Gulp Factor of the system to indicate the limitation of the breathing system. Firstly Concept Builder takes a default Lotus valve lift profile. This profile can be scaled to suit a user specified valve lift duration if required. Next it pescribes a flow coefficient curve corresponding to the bore/stroke ratio for the engine in question. From this curve the flow coefficient at each individual valve lift point can be determined.

A mean effective valve area for the duration of the valve open period is determined by integration of the valve lift curve.  Finally the Gulp Factor is calculated. 

The Gulp Factor is in effect the Mach Index for the fluid, although the Mach Index does not take into account the flow coefficient. The Mach Index is the average Mach Number over the entire valve open period and it is proportional to the ratio of the bore area to the mean inlet valve area. Increasing Mach number beyond a threshold value corresponds to decreasing volumetric efficiency. This trend is a consequence of the flow within the inlet valve approaching sonic speeds and thus choking. 

Inlet Gas Velocity/ (Mean Flow Coefficient * Mach Number) = Gulp Factor

{bmc bm429.wmf} = Mach Index

{bmc bm430.wmf} = Bore Area
{bmc bm431.wmf}= Piston Speed
{bmc bm432.wmf} = Mean Inlet Valve Area
{bmc bm433.wmf}  = Speed of sound in gas = {bmc bm434.wmf}

+$#>Concept Builder – Editing Equations and Functions

The func tions and empirical relationships used within the concept tool are based on a combination of Lotus Engineering Experience and fundamental gas dynamics. All of these relationships are expressed in terms of Fortran syntax that the user can edit and replace the default settings with their own. These changes are saved to the users ini file.

To identify whether a variables relationship can be changed look for the edit icon next to the data field. The example sectional screen shot below shows several data fields with the function editor adjacent to them, (ringed).

{bmc bm435.bmp}
Example Screen shot showing Edit Icon

Selecting the edit icon for the required variable will open the function editor dialogue box, displaying the current setting, the default as shipped setting, the available data fields and the available Fortran functions. (see below).

{bmc bm436.bmp}
Function Editor

To change the user function, type the required function into the ‘User Defined Fortran String’ text box. To use an engine geometry data variable within the function select it by field No. from the available fields list. You can either type in the ‘Fn’ characters directly or select it from the list and press the insert field button. A similar process can be adopted for the Fortran functions.

To test the validity of the entered function select the ‘Test String’ button, this will use ‘unity’ for all the variable fields and check the syntax of the entered string.

+$#>Concept Builder – Extended Data Setting

Some of the model network geometry values can be changed via the ‘Extended Data’ tab on the concept tool. This employs the same user Fortran function method as with the main data fields.

{bmc bm437.bmp}
Extended Data Setting

#>Concept Builder Icon {bmc bm438.bmp}

#>Concept Builder Edit Icon {bmc bm438.bmp}

+$#>Data Checking Tool - Overview
Overview

The data checking wizard provides a tool that allows the user to check the validity and quality of the current data. A large number of checks are performed and a list is given for each data section, of the number of Errors, Warnings and Comments found in the current data. A message is given for each item in the list that identifies the particular data variable at ‘fault’.

The data checking wizard is run in one of two modes, either directly as a interactive window, or indirectly as a summary message dialogue.

The data checking wizard is run directly through the menu item Tools / Data-check Wizard. 
This displays a window that shows the list of messages in a scrollable text region adjacent to the appropriate data section icon.

The data checking wizard is run indirectly every time a calculation is performed, the data values are checked and if any discrepancies identified a simple summary of the number of errors, warnings and comments is displayed.

{bmc bm439.bmp}
Data Checking Tool Window

The Display Connectivity Errors, Element Summary, Sim Connections Summary and Sim Model Data Summary tools also provide useful means of checking the data integrity of a model.

+$#>Data Checking Tool – Data Checking Fail Types

Data Checking Fail Types

Three types of message are displayed by the data checker, these are Error, Warning and Comment. Due to the complexity of the data requirements and the inter dependency it is not always clear cut as to the appropriateness of a particular value or flag setting. Some solution types will use different data values and thus adds further vagaries to their validity.  

The first category of Error is used when a data value(s) or type is felt to be in error in all possible scenarios. Typical examples of this are failure to enter a value for a compulsory variable, or incorrectly entered, negative or out of range numbers.

{bmc bm440.bmp}
Data Checking Tool - Error

The second category of Warning is used when a data value(s) or type is considered incorrect or not set, but that in some solution cases is not used and could therefore be acceptable. Typical examples of this are when a data value is not entered and therefore contains a zero value.    

{bmc bm441.bmp}
Data Checking Tool - Warning

The third category of Comment is used when a data value(s) is outside of the normal range. Where appropriate a data value will have a minimum and maximum value that set this normal range. Currently only the default set of ranges is available, but it is envisaged that later releases will also employ a user definable set of ranges.

{bmc bm441.bmp}
Data Checking Tool - Comment

Finally, if the data value(s) pass all of the checks described above the it will be denoted by a tick.

{bmc bm442.bmp}
Data Checking Tool - Pass

+$#>Data Checking Wizard – Opening the Data Checking Wizard

Opening the Data Checking Wizard

To open the data checking wizard select the menu Tools / Data-check Wizard from the main window menubar. Alternatively the Data Checking Icon can be selected. Whilst the wizard is open the icon remains indented and the pull down menu item is ‘ticked’.

{bmc bm443.bmp}
The Data Checking Wizard Icon

When the wizard is initially opened, it checks the current data for discrepancies: any that are found are identified by either the question mark or cross icons being displayed next to the scrollable text region for that data section. Data sections being identified by their appropriate icon. If no discrepancies have been identified in a data section the tick icon is displayed.

+$#>Data Checking Wizard – Updating the Data Checking Wizard Display

Updating the Data Checking Wizard Display

If the data checking wizard window has been left open whilst changes have been made to data, its display will potentially no longer reflect the true No. of errors, warnings and comments. To update the display select Functions / Update from the wizard menubar. The current data will then be checked and the wizard display updated. 

+$#>Data Checking Wizard – Closing the Data Checking Wizard

Closing the Data Checking Wizard

To close the data checking wizard select either the ‘close’ icon at the top right corner of the wizard window, the wizard window menu at the top left, the menu item Functions / Close from the wizard menubar, or alternatively the Data Checking Icon can be un-selected.

+$#>Input Data - Overview

The Lotus Engine Simulation interface allows the user to enter data, read in, save models, create new models, and adjust data in existing models.  Data entered via the interface is written to an input data file which has the extension .sim. This file is read by the program Solve Module when the calculation begins.

Icons representing the various model elements are associated with property sheets which allow the user view and edit the data for that element. Graphical features allow the user to view the result of changes to some of the specific data-sets and adjust data. The network builder interface gives a visual representation of the engine model. More detailed descriptions of the models used by the program can be found in the Theory section of this help file. 

Data Sub-Components

The sub-components of the engine model are:

·	Base Engine Data
·	Fuel and Fuel System Data
·	Combustion and Heat Transfer Data
·	Scavenge Model Data
·	Ports and Valves Data
·	Pipes and Plenums Data
·	Throttle Data
·	Turbocharger and Compressor Data
·	Inlet Data
·	Exit Data
·	Intake/Exhaust Super Elements
·	Test Conditions Data

When an element is placed on the builder is selected the relevant property sheet is displayed which enables the user to edit the properties associated with the element. Some property sheets spawn subsidiary windows in which the user can enter more detailed information related to a particular sub-model. Property sheets may also contain spreadsheets. Certain functions can be performed on elements from the Right Mouse Button menu, e.g. pipes can be automatically split at a nominated point.

0	Note that when editing property sheets variables are held in memory after editing when the user selects another elements or submits the data to be run.

0	Model Structure

Simulation models of the engine system are created through defining elements. Six element types are provided:

·	Cylinders (zero-dimensional elements with combustion, work and heat transfer);
·	Plenums (zero dimensional elements with work (optional) and heat transfer);
·	Pipes (one-dimensional elements with wall friction and heat transfer);
·	Inlets (infinite source of inlet gas at specified pressure and temperature);
·	Exits (exhaust boundary specified pressure);
·	Closed end (special element used for pipes end connections).

These elements are connected by so called ‘flow devices’ which regulate the flow of gas between the elements. The currently available flow devices are;

·	Valves (both cam operated valves, piston-ported valves, reed-valves and disc valves);
·	Throttles (defines a flow area and discharge coefficient);
·	Compressors (full turbocharger compressor map model);
·	Turbines (full turbocharger turbine map model);
·	Charge Coolers (flow device with pressure loss and heat transfer);

Each element may be connected to another via any flow device with the exception of a multi-pipe junction. Two pipe junction models are available: 

·	the Constant Pressure model – produced by simply connecting together pipe ends;
·	the Pressure-Loss model – produced by placing an icon over an existing constant pressure junction an supplying junction pipe branch angles.

The pressure-loss model is particularly suited to modelling junctions in high-speed engines and those with pulse-converter manifolds.

+$#>Input Data – The Sim File

The Lotus Engine Simulation model data is stored in an ASCII text file, with a key word based structure that allows individual data sections to be identified by the applications file reader. Historically the structure of this file was relatively simple and fully documented in the help file, such that experienced users were able to edit the file using the viewing/editing tools provided, to perform model data changes.

With the introduction of a fully functioning ‘drag and drop’ style interface the use for direct editing as a user technique has become restricted and is no longer recommended. The sim file format is no longer documented in the help file.

With future updates it is anticipated that the inclusion of protected data sections in the file and indeed whole file encryption will remove direct editing of the sim file as an end-user function.

The current release include two tools for viewing and editing the sim files, but the support for these as end-user features will be withdrawn at a future release.

The sim file viewer can be opened from the File / File View menu item, whilst the sim file editor can be opened from the File /File Edit menu item. These two text viewers are identical in function with the exception that the user cannot edit the text in the viewer. The most useful commands with these tools are the File / Get Current and File /Make Current options.

+$#>Input Data - Parameter Limits

The Lotus Engine Simulation code employs parameterisation of practically every array within the program. This means that the limits can be easily changed upon request. For example the maximum number of cylinders is parameterised as 20. If a user wished to model 24 cylinders then a one number change in an include file and a recompilation would facilitate this. 

The parameter limits can be found in the Element Summary.

{bmc bm444.bmp}
Element Summary Window

+$#>Input Data - How to Create a Model

To create a new model, select the file new icon at the far left of the main window tool-bar or File / New from the menu-bar, as shown below. The user is prompted to confirm this action since any current data will be lost. If this is done a new untitled model is created and the user is free to begin entering data.

{bmc bm445.bmp}
New File Menu Option

+$#>Input Data - How to Load a Model

To load a previously created model or one of the supplied examples, select the file open icon from the main window, or File/Open from the menu-bar. This brings up the standard windows file-browser.

As an alternative to the standard file browser the File/Open (preview) main menu item can be used to scan through folders to locate and graphically preview any located model files without the need to load them into the interface.

{bmc bm446.bmp}
File Open (preview) Dialog Box

The preview box can identify and display not only the standard *.sim model files but also it will extract and display the model file from any *.mrs files. The file filter setting can be set to either *.sim, *.mrs or *.* to assist in identifying specific file types. If a selected files format is not recognised no image will be displayed instead the prompt ‘No Preview Available’ is shown.

Once the required model is located and selected selecting the open button will load the selected file (including the extract from *.mrs if relevant) replacing the existing model.

+$#>Input Data - How to Extract a Model from an *.mrs File

Models can be extracted from previously created *.Mrs results files.  Select File/Extract Model from .mrs File from the menu-bar, as shown below. This brings up the standard windows file-browser.

{bmc bm447.bmp}
Extracting Files from the *.mrs File

+$#>Input Data - How to Save a Model
To save a model, select the file save icon from the main window tool-bar or the menu-bar option File/Save, as shown below. If no change has been made to the model, this automatically brings up the browser to add a new file-name. Otherwise the file is overwritten.

To save the current model unchanged or otherwise, select File/Save As from the menu-bar or the file save as from the main window tool-bar. This will automatically bring up the browser and prompt the user to enter a new filename. If the same or another used filename is entered the user is prompted to accept overwriting of that file.

{bmc bm448.bmp}
File/Save Menu

+$#>Input Data - How to Change a Variable
To change a variable in any of the data windows, use the mouse or tab key to select the relevant value box, and type in the new number.

Value boxes support standard ‘select’, ‘cut’, ’copy’ and ’paste’ functionality via the right mouse menus options. In addition the standard, ‘delete’, ‘home’ and ‘end’ keys functions are fully supported.

{bmc bm449.bmp}
Right Mouse Editing Functions

+$#>Input Data - How to Change an Option
To change an option, for instance the type of fuel burnt in the engine (Data/Fuel and Fuel System/Fuel Type), use the mouse to select the arrow at the right of the display box. This presents the available options and allows selection from the list.

{bmc bm450.bmp}
Editing Options

+$#>Input Data - How to Use Spreadsheets
To manipulate data in a spreadsheet, for instance the valve lift data, first ensure that a map is available. If not enter a value for the number of points, as shown below, and then press <RETURN> 

{bmc bm451.bmp}
Changing the Number of Points in a Spreadsheet

To copy a section of data, drag the pointer across the section and with the area highlighted, press the right button. This calls a pointer pop-down menu to access the copy option, as shown below. Then moving to the desired cell, select it and repeat the menu selection procedure choosing paste. Note that the number of data lines in the spreadsheet may need to be increased by the amount of cells to be pasted: in the above example this would be done by increasing the number of entered in the No. of Values field by the number of data points to be copied and pasted.

{bmc bm452.bmp}
Copying data from a Spreadsheet

The data import tool can be used to load data for pasting into spreadsheets from ascii text files.

+$#>Input Data – Data Import Tool
Selecting Data/Manage Data Import from the main window tool-bar, as shown below, opens the Data Import Tool.
{bmc bm453.bmp}
Opening the Data Import Tool

The Data Import Tool can be used loading data from ascii text files.  The data can be manipulated in the spreadsheet window of the tool, shown below.  Manipulating data in the spreadsheet is described in the How to use spreadsheets page. 

{bmc bm454.bmp}
Data Import Tool Window

+$#>Input Data - How to Use User Subroutines
Introduction

A number of data elements within the simulation model can make use of user subroutines to perform specific calculations, either to replace the default algorithm contained in Lotus Engine Simulation or to extend the simulation capability.

The components that currently have user subroutine options are;

·	Sensors and Actuators - 1D Control Element
·	Sensors and Actuators - 2D Control Element

·	Cylinder – Piston Motion
·	Cylinder – Open Cycle Heat Transfer
·	Cylinder – Closed Cycle Heat Transfer

·	Test Conditions – Friction Mean Effective Pressure

For details on how to use them see, User Subroutines

+$#>Input Data - Base Engine Data - General

The base engine data that is required by Lotus Engine Simulation can be broken down into the following categories:

Cycle Type

This data is entered using the Data/Cycle Type menu on the tool bar. This enables the user to specify the cycle type of the engine. 

Engine Geometry

Data such as bore, stroke and connecting rod length are entered via the property sheet associated with each Cylinder element in the builder.

Engine Inertia

For Transient Calculations data on the mass and inertia of various components needs to be specified. This is again done from the property sheet associated with each Cylinder element in the builder.

Cylinder and Valve Event Phasing

The timing of each cylinder with respect to TDC of cylinder 1 needs to be specified.  Again this is done from the property sheet associated with each Cylinder element in the builder. The timing of the valves is specified via the property sheet associated with each Valve.

The Cylinder Timing Display can be used to view the relative phasing of the cylinder motion and valve events.

+$#>Input Data - Base Engine Data Variables

Bore: Cylinder bore [mm]

Stroke: Cylinder stroke [mm]

Cyl Swept Volume: Displays the swept volume of the current cylinder based on the cylinder dimensions (bore and stroke) entered. This field is provided for information only and is not a user definable property.

Total Swept Volume: Displays the total swept volume of all of the cylinders in the current model. This field is provided for information only and is not a user definable property.

Con-rod length: Length of connecting rod from centre of little-end to centre of big-end [mm].

Pin Off-Set: Piston pin off-set [mm]. Positive towards ant-thrust side of piston.

Compression Ratio: Compression ratio – must be greater than 1.0. (Clearance vol.+swept vol.)/(clearance vol.).

Combustion and Heat Transfer: The Combustion and Heat Transfer data section is concerned with defining the types of models to be used for representing the combustion and heat transfer processes and the surface areas and temperatures of various components within the cylinder. 

Phase: Phasing of cylinder firing with respect to TDC firing of cylinder 1 [deg.].

Note that the Cylinder Phase Display button can be used to visualise the firing the firing-order (and Valve Lift Profiles Valve) of the cylinders which have been included in the model, as shown below:

{bmc bm455.bmp}
Cylinder Phase Display Window

Transient Data: The transient data section of the cylinder property sheet allows the user to specify the mass and inertia of various components – see the Theory section for more details. This data is required for Transient simulations. The transient cylinder properties are listed below. They are not required for steady state analysis runs.

Cyl Axis Angle: The angle of the cylinder bore to the vertical [deg]

Piston Mass: The mass of the piston assembly, including rings and clips (but not piston pin see below, unless piston pin is entered as zero) [kg]

Piston-Pin Mass: The mass of the piston pin, (set to zero if lumped in with item above) [kg]

Con-Rod Rot Mass: The mass of the equivalent rotating portion of the connecting rod, should include the big end bearing shells and big end bolts (typically 80 to 70% of the complete rod mass)  [kg]

Con-Rod Recip Mass: The mass of the equivalent reciprocating part of the connecting rod, should include any small end bushes (typically 20 to 30% of the complete rod mass) [kg]

Con-Rod Inertia: The inertia of the connecting rod about its centre of gravity [kg.m2]

Piston Motion: Two options are available for the piston motion : 
·	Std Crank Slider: If this option is selected, then the motion of the piston will be calculated based on the data entered for bore, stroke, connecting rod length, pin off-set. The clearance volume is calculated based on the compression ratio.
·	User Sub: If this option is specified, then the calculation will use the instantaneous cylinder volume returned by the User Subroutine. Note that it is still necessary to provide the simulation with reasonable bore, stroke, connecting rod length and compression ratio data to allow the calculation to initialise. Also, the clearance volume passed to the user subroutine by the simulation will be based on the cylinder geometry supplied to these fields.

Harness Connector: See Sensors and Actuators.

+$#>Input Data - Cylinder Timing Display

The cylinder timing display is used to show cylinder position and associated valve lifts, through the engine cycle. It can be used purely from the Data Entry Module as a visual data checking tool, or it can also be opened from the Results Module as a post processing tool.

The display opened from the data entry module will be similar to the display shown below. This has the timing ‘rose’ diagram in the bottom left of the screen, the scaled 2d view of the cylinder in the centre and the relevant data to the right of the display. The example shown is for a single intake valve element and a single exhaust valve element. (This can be identified either from the fact that the rose diagram has only one line for inlet and one for exhaust, or from the data widgets the second column of which is ‘greyed’ out).

{bmc bm456.bmp}

To open the display from the builder module select the required cylinder, then with this cylinder in focus select from the property sheet the graphical icon illustrated below.

{bmc bm457.bmp}

To open this display tool from the results module, again select the required cylinder then with it in focus use the right mouse button of the graphs and select the ‘Display cylinder graphic’ menu item, (see below).

{bmc bm458.bmp}

If this menu item is greyed out then either no .prs files have been loaded or the element in focus is not a cylinder.

Once open, the user can choose to display any of the other cylinders in the model via the top selection box.

The displayed angle can either be changed directly by typing the required value (0° – 720°) into the crank angle data box at the bottom of the data list. The user can choose to animate through the cycle, stopping and stepping as you go, by using the four ‘video’ control icons in the top toolbar.

The visibility of the valve timing rose diagram can be toggled on and off by clicking the mouse pointer on the next toolbar icon, and its size set as either large or small (default) via the ‘View’ pull down menu.

The display can be manipulated in the usual way, via the translate, scale, step zoom in, step zoom out, autoscale and zoom options either as pull down menu options, through the toolbar icons or on the right mouse menu.

When viewed from the Builder module the data variables can be edited from this display, this will change the values in the model for the currently selected cylinder’s valve(s). When viewed from the result’s module data values are greyed out, as modifying the data is inappropriate for this module. The only data display variable that can’ be edited in either case is the incremental valve lift, which is a display only variable.

{bmc bm459.bmp}

When opened from the results module the coloured contour fill can be switched on and will display the currently selected graph as the colour fill, (note this may not necessarily be pressure and the user should be careful to check the displayed variable). All contour levels, colours etc are controlled by the prs graph display and if required be set through the normal prs graph setup menus.
The displayed graphics can be printed or copied to the clipboard via the ‘file’ pull down menus or using the last two toolbar icons.

{bmc bm460.bmp}

If the user has model two intake valves (or exhaust) as separate components then the display will show them separately, (note that more than two inlet or two exhaust cannot currently be correctly displayed). This includes the possibility then to display separate valve timing/lift on each valve and will include in the results viewer separate results colour fill for each port portion. An example of separate valves is shown below, having been opened from the builder module.

{bmc bm461.bmp}

+$#>Input Data - Cylinder Transient Data Variables

Transient Data : The transient data section of the cylinder property sheet allows the user to specify the mass and inertia of various components. This data is required for Transient simulations components – see the Theory section for more details. The transient cylinder properties are listed below. They are not required for steady state analysis runs.

Cyl Axis Angle: The angle of the cylinder bore to the vertical [deg]

Piston Mass: The mass of the piston assembly, including rings and clips (but not piston pin see below, unless piston pin is entered as zero) [kg]

Piston-Pin Mass: The mass of the piston pin, (set to zero if lumped in with item above) [kg]

Con-Rod Rot Mass: The mass of the equivalent rotating portion of the connecting rod, should include the big end bearing shells and big end bolts (typically 80 to 70% of the complete rod mass)  [kg]

Con-Rod Recip Mass: The mass of the equivalent reciprocating part of the connecting rod, should include any small end bushes (typically 20 to 30% of the complete rod mass) [kg]

Con-Rod Inertia: The inertia of the connecting rod about its centre of gravity [kg.m2]

{bmc bm462.bmp}
Cylinder Element and Transient Property Sheet Section

+$ #Input Data - Fuel and Fuel System Data - General

This data is accessed using the Fuel and Fuel System element on the builder interface.

The Fuel and Fuel System data section is concerned with defining the method of introducing the fuel in to the engine (i.e. the combustion system) and specifying the type of fuel to be burnt. 

Gasoline, Diesel, Methane, and Methanol fuels can be simulated. The manner by which fuel is introduced to the model is closely linked to the specified combustion system type. For all direct injection / indirect injection engines, fuel is introduced to the cylinder at the same rate as it is combusted. For other combustion system types the fuel is either port injected, where fuel is mixed with the fresh charge flowing through the inlet valves, or added via a carburettor, were fuel is pre-mixed with charge air before being introduced via an “inlet”.

The properties of each fuel type are displayed but are only editable if the type of fuel selected is User Defined. The fuel types are limited to those composed of C,H, and O atoms only.

+$#>Input Data - Fuel and Fuel System Data Variables

Fuel System: Combustion / fuel delivery system type:

·	Carburettor
·	Port-Injection
·	Direct Injection
·	Indirect Injection

Fuel Type: Type of fuel to be burnt in the engine:

·	Gasoline
·	Diesel
·	Methane
·	Methanol
·	User defined

If the fuel type is User Defined  the following data needs to be supplied:

Calorific Value: Calorific value (specific heating value) of  fuel [kJ/kg]

Relative Density: Relative density of fuel

Hydrogen / Carbon Ratio of Fuel: Ratio of number of hydrogen atoms (moles) to number of carbon atoms (moles) in fuel. 

Oxygen / Carbon Ratio of Fuel: Ratio of number of oxygen atoms (moles) to number of carbon atoms (moles) in fuel. 

Fuel Molecular Mass: Mass per kilo-mole of fuel.

Maldistribution Factor: This factor is used to allow for a reduction in the effective calorific value of the fuel due to running rich, dissociation effects, and poor charge mixing. Suggested values for this parameter are: 1.0 for gasoline, diesel, or methanol, and 0.0 for methane. Further information can be obtained in the Theory section. 

+$#>Input Data - Combustion and Heat Transfer Data - General

Combustion and Heat Transfer data is accessed through the cylinder property sheet.

The Combustion and Heat Transfer data section is concerned with defining the types of models to be used for representing the combustion and heat transfer processes. Wiebe functions are used to define the heat release rates. 

The first window to appear allows direct editing of the Combustion Data. The Heat Transfer data is accessed from the bottom half of this window and is sub-divided into the categories of

·	Open cycle
·	Closed cycle
·	Component Surface Areas
·	Component Surface Temperatures

These options are selected using buttons from the lower portion of the main window.

+$#>Input Data - Combustion and Heat Transfer Data - Combustion Model 

The option of single or two-part Wiebe functions is available; the two-part Wiebe function should only be used for simulating diesel combustion systems as the second ‘part’ of the function models the diffusion burning process. For more information on the combustion models used in the Lotus Engine Simulation code see the Theory section.

Data Variables

Type: Type of model for heat release rate:

·	Single Wiebe function
·	Two-part Wiebe function – for diesel combustion systems only

Single Wiebe
Wiebe A: Coefficient A in Wiebe equation (see Theory section)

Wiebe M: Coefficient M in Wiebe equation (see Theory section)

Two-Part Wiebe
Wiebe A: Coefficient A in Wiebe equation (see Theory section)

Wiebe M: Coefficient M in Wiebe equation (see Theory section)

CP1: Coefficient CP1 in Wiebe equation (see Theory section)

CP2: Coefficient CP2 in Wiebe equation (see Theory section)

Fract: Fraction of premixed combustion (between 0 and 1) (see Theory section)

Delay: Delay angle between first and second parts of Wiebe function [deg.] (see Theory section) 

Default and User Defined options are available for both single and two-part Wiebe models. The option not selected is ‘greyed out’. 

+$#>Input Data - Combustion and Heat Transfer Data - Heat Transfer Model

Heat transfer data is accessed via the menu options ‘Open cycle HT’ and ‘Closed cycle HT’ which appear in the cylinder property sheet on the righthand-side of the builder interface when a cylinder element is clicked on.

A choice of the Annand, Woschni, or Eichelberg models is available for in-cylinder heat transfer in both the open and closed periods. All three models generate values for the convective heat transfer coefficient in the cylinder; the closed period Annand model includes a term for radiative heat transfer. 

The same model is used for all cylinders.

For further information on the heat transfer models used in the Lotus Engine Simulation code see the Theory section.

Data Variables

The variables below are entered for both the open and closed period parts of the cycle, unless indicated otherwise.

Annand Model
A: Annand A coefficient (see Theory section) 
B: Annand B coefficient  - exponent of Reynolds number (see Theory section)
C: Annand C coefficient  - for radiation term in closed period only (see Theory section)

Woschni Model
A: Woschni A coefficient  (see Theory section)
B: Woschni B coefficient  - mean piston speed factor  (see Theory section)
C: Woschni C coefficient – Swirl speed factor (see Theory section)
D: Woschni D coefficient  - factor for closed period pressure differential (see Theory section)
G: compression / expansion index – closed period (see Theory section)
SR: swirl ratio 

Eichelberg
A: Eichelberg A coefficient (see Theory)
B: Eichelberg B coefficient – exponent of product of cylinder pressure and temperature (see Theory)

Default values for all the above coefficients are provided by the interface but it is often necessary to ‘tune’ these values to achieve a good correlation for both volumetric efficiency and heat transfer.  For the Annand model it is recommended that only the ‘A’ coefficient is tuned. For the Woschni model it is recommended that the ‘B’ and ‘C’ coefficients are tuned, but an experienced user may wish to adjust only the swirl ratio term. For the Eichelberg model it is suggested that the ‘A’ coefficient should be adjusted. 

An essential element in modelling the heat transfer in an engine is the specification of the component surface areas and temperatures. The data windows for this information are described below.

+$#>Input Data - Combustion and Heat Transfer Data - Component Surface Areas 

Component surface area data is accessed through the cylinder property sheet.

Because the detailed combustion chamber geometry is not entered as data it is necessary to provide other means of defining the relevant areas for heat transfer calculations. This is done simply by defining the cylinder head and piston surface areas as factors of the cylinder bore area. 

Default values can be selected for surface area ratios or can be defined by the user. If the user defined option is selected the required data is entered into a spreadsheet. This data can be assigned as being common to all the cylinders or can be defined for each individual cylinder. 

Note that in order to enter data into the spreadsheet the correct number of cylinders must first be set in the Base Engine data window.

Data Variables

Head / Bore: Ratio of cylinder head area to cylinder bore cross-sectional area

Piston / Bore: Ratio of piston surface area to cylinder bore cross-sectional area

Exp. Liner: Length of liner exposed by piston at TDC [mm].

{bmc bm463.bmp}
Cylinder Component Surface Area Data Entry Window

+$#>Input Data - Combustion and Heat Transfer Data - Component Surface Temperatures 

This data is accessed through the cylinder property sheet.

The heat transfer calculation requires values for the gas-side surface temperatures of the combustion chamber. This can be achieved by entering the component temperatures directly or by specifying the material type and coolant properties or the thermal resistance of the cylinder head / piston crown / cylinder liner wall. The data required by the various options is described below. Information on the thermal network model itself is given in the Theory section. The simulation calculates the gas-side wall temperature using a one-dimensional heat flux calculation. 

‘Define material and coolant properties’
This option enables the user to select a material type from a drop-down menu. If the material type desired does not feature on the list a ‘user defined’ material type may be created by entering the thermal conductivity in the appropriate value box. The data can be defined as common to all cylinders, or can be defined on an individual basis. Arrow buttons are used to toggle through the number of cylinders. 

As part of the thermal network calculation it is necessary to specify a coolant temperature, a wall / coolant heat transfer coefficient, and a component wall thickness. Default values (given in the Theory section) are available or user may specify these values directly. The data can be defined as common to all cylinders, or can be defined on an individual basis. Arrow buttons are used to toggle through the number of cylinders. 

‘Define overall thermal resistance and coolant temperatures’
It is possible to define the overall thermal resistance for the transfer of heat from the cylinder to the coolant using this option. The respective coolant temperatures are also required – default or user defined values may be specified.

‘Define inner wall temperatures for components’
This option enables the user to enter the component surface temperature directly. 

Note: Some values for the piston are difficult to define and in the cases where data for the piston is not requested the heat transfer rate though this component is calculated as a ratio of that through the cylinder head.

Data Variables

Cylinder head / Piston / Liner: material properties (thermal conductivity [W/m/K]) / coolant properties (temp. [oC]; wall / coolant heat transfer coefficient [W/m2/K]; wall thickness [mm]), or thermal resistance [mm2/K/W] and coolant temperature [oC].

+$#>Input Data - Scavenge Model Data - General

This data is accessed via the cylinder property sheet.

The Scavenge Model Data is used to define the way in which the in-coming charge to the cylinder is mixed with the cylinder contents. These models affect the values of volumetric efficiency predicted by the code. 

The simplest model is the Perfect Mixing model and this assumes that any gas entering the cylinder is instantaneously and homogeneously mixed with the gas in the cylinder. This is the default scavenging model for all cylinders and results in the most pessimistic performance predictions because it releases some intake charge to the exhaust in the gas exchange process as soon as any inflow to the cylinder has occurred. 

In the Perfect Displacement model assumes that any charge gas entering the cylinder does not mix with the gas currently held within it. This ensures that any gas flowing out of the exhaust valve during the valve overlap period is composed entirely of combustion products until all the residual gas has been removed.

The Benson and Brandham model is a hybrid of the perfect mixing and perfect displacement models in which a pre-defined portion of the scavenging process is characterised by the perfect displacement model, after which the perfect mixing model takes over.  

For further details of these and the Blair model see the Theory.

No additional variables are required by the Perfect Mixing and the Perfect Displacement models. The Blair model requires additional data that is empirically derived. 

+$#>Input Data - Scavenge Model Data Variables

Constant A: Scavenge ratio up to which displacement scavenging is used in Benson / Brandham model, or Constant A in Blair model (see Theory). 

Constant B: Constant B in Blair model (see Theory section).

Constant C: Constant C in Blair model (see Theory section).

+$#>Input Data - Port Data - General

This data is accessed via property sheets associated with the port element in the builder interface.

The Port Data property sheet allows the user to specify the port flow characteristics obtained from steady flow rig tests. This data is then used in conjunction with valve lift data in order to calculate the effective flow area of port and valve assemblies at any crank angle in the engine cycle. Note that a port data should only be used in conjunction with a poppet valve element in the builder.

Ideally the user should be in possession of flow rig data measured for the port / valve assembly concerned (User Cf curve ..). If this data is not available Default Good and Default Poor port data can be selected which are derived from curve fits of the Lotus port flow data base. The default characteristics differ for intake and exhaust ports.

The option also exists for the user to specify the port flow coefficient at 0.3 L/D (User Cf at 0.3 L/D). With this option the program interpolates between (and extrapolates beyond) the default good and poor flow curves in order to generate a flow characteristic that achieves the required flow coefficient at 0.3 L/D.

For further information on the heat transfer models used in the Lotus Engine Simulation code see the Theory section.

+$#>Input Data - Port Data Variables

{bmc bm464.bmp}
Port Element Data Sheet

Label: Text entered here serves only as a reminder for the user and appears as a comment line in the *.sim file.

No. of Valves: Number of valves per port.

Valve Throat Dia.: Diameter of valve throat [mm]. This should be the same dimension as used to process the L/D data – see Port Flow Analysis Tool.

Port Type: Used to specify the data that will be entered in the Port Data spreadsheet.  There are seven possible port types:
Default Good Port
Default Poor Port
User CF at 0.3 L/D
User Curve (common)
User Curve (fwd/rev)
User Map (common)
User Map (fwd/rev)

+$#>Input Data - Valve Data - General

This data is accessed via property sheets associated with the port element in the builder interface 

The user may select any one of the following valve element options:
 
·	Poppet valve;
·	Self-acting reed valves;
·	Disc valves;
·	Piston port;
·	User specified angle area curve.

These options are selected from the element list menus on the left of the builder interface. Any combination of valve types can be used on an engine. Note that port data should only be used in conjunction with the poppet valve option. 

A description of the data variables required by each valve type can be seen by clicking on the links above. 

More detailed descriptions of the models can be found in the Theorysection

+$#>Input Data – Valve Data - Poppet Valve Lift Options

The valve lift profiles may be specified by one of four options:
·	Default fast lift polynomial;
·	Default slow lift polynomial;
·	User specified polynomial;
·	User specified angle / lift data

With each of the options the valve lift duration is specified by the number of crank degrees between valve opening (AVO) and valve closing (AVC). Valve timings can be modified either directly by changing the opening and closing timings or by changing the MOP (maximum opening point) value – this enables the user to advance or retard the cam timing and maintain the period by adjusting only a single number. Note that if the opening and closing timings are being edited the MOP value box is greyed-out and is modified automatically. Conversely, if the MOP value is edited the opening and closing value boxes are greyed out and are modified automatically.

When the user specified angle/lift ordinate data option is used the lift profile data are linearly scaled so that the lift duration matches that specified with AVO and AVC. The advantage of this scaling is that the user may specify one generic valve lift profile and perform valve timing sensitivity studies by changing only one or two numbers (ie AVO and AVC) in the input data file. 

With each of the lift profile options the maximum valve lift is specified by the maximum valve lift AVLM. When the user specified angle/lift ordinate data option is used the lift profile is linearly scaled so that the maximum valve lift matches that specified with AVLM. Users who wish to perform valve timing sensitivity studies should be aware that the maximum achievable valve lift reduces with reducing lift duration. Thus in order to generate realistic valve timing trade-offs the maximum lift should be adjusted with the valve lift duration. 

It should be noted that the Lotus Concept Valvetrain tool can be used to generate actual cam profiles which can be downloaded directly into the poppet valve lift data using the ‘Close Make Current’ option. 

Polynomial Lift Curves
The default lift curves employ a polynomial consisting of four coefficients and four exponents. The nature of the polynomial is such that the sum of the coefficients is -1.
The coefficients of the default lift curves are given in the Theory section.

The default and user specified polynomial lift options allow the user to input a maximum lift dwell angle. This is the number of degrees at which the valve remains at maximum lift after the opening before starting to close. The dwell angle should not be a negative number.

{bmc bm465.bmp}
User Specified Angle/Lift Ordinate Data Entry Window

User Specified Angle/Lift Ordinates
The user specified angle/lift ordinate data option in the ‘Lift Option Data’ spreadsheet allows the user to provide the actual cam design data as input to the simulation. This data is normally specified in crank angle / valve lift ordinate pairs. The first crank angle should be 0.0 and the last the lift opening duration (although the duration may be subsequently scaled as described above). The first and last valve lift ordinates should be 0.0. The ‘Angle’ column in the ‘Lift Option Data’ spreadsheet does not necessarily have to be based on  cam or crankangle values.

It is recommended that not all of the ramps are included in the angle/lift ordinate data. The tappet clearance should be subtracted from the ramps. This can be done by increasing the valve lash values entered in the Poppet Valve Data Section.

The angle/lift ordinate data can be typed directly into the ‘Lift Option Data’ spreadsheet or pasted from the clipboard, the data import tool can be used to assist with this.  Alternatively, the angle/lift ordinate data can be loaded directly from an ascii text file, as shown below.

{bmc bm466.bmp}
Importing Valve Angle/Lift Ordinate Data

+$#>Input Data - Valve Data - Poppet Valve Data Variables

{bmc bm467.bmp}
Poppet Valve Properties Menu

Label: Text entered here serves only as a reminder for the user and appears as a comment line in the *.sim file.

The following variables are specific to the poppet valve option:

Valve Open: Valve opening timing – see below 		[deg. CA]

Valve Closed: Valve closing timing – see below		[deg. CA]

	valve opening:	two-stroke: 	BBDC
				four-stroke:	BTDC (overlap) – inlet valve 
				four-stroke:	BBDC (exhaust) – exhaust valve

	valve closing:	two-stroke: 	ABDC
				four-stroke:	ABDC (intake) – inlet valve
				four-stroke:	ATDC (overlap) – exhaust valve

{bmc bm468.bmp}
Poppet Valve Inlet and Exhaust Timing Diagram

Dwell at Max: Dwell angle at maximum lift 	 [deg. CA]

Max Lift: Maximum valve lift   			 [mm]

MOP: Maximum opening point			 [deg CA] (datum is TDC - gas exchange) 

Valve Lift Option: Method of specifying valve lift data – see Poppet Valve Options and the Theory section. 

Lift Option Data: If a Polynomial has been selected for the Valve Lift Option, then the user can edit the coefficent and exponent data used to define the valve lift profile:
Coefficient: Valve lift polynomial coefficients	
Exponent: Valve lift polynomial exponents.
If User Specified Valve Lift option has been selected, then the user can enter the valve lift verses angle data.  See the Poppet Valve Options Section. 

Data Action: This can be set as either Fixed or Scale. If Scale is selected, then the valve opening and closing timings and maximum valve lift can be altered. The valve lift profile is then scaled to meet the specified timings and lift. If fixed is selected the only parameter that can be changed is the MOP timing, all other parameters are then set by the valve lift profile.

Opening Lash (mm): The value entered for the Lash will be deducted from the instantaneous valve lift profile. The Closing Lash value is specified separately. This allows effects such as hydraulic tappet leakage to be accounted for. The value deducted from the valve lift, at any instant is simply a linear interpolation between the value entered for the opening and closing lash, as shown below.

Closing Lash (mm): The value entered for the Lash will be deducted from the instantaneous valve lift profile. The opening Lash value is specified separately. This allows effects such as hydraulic tappet leakage to be accounted for. The value deducted from the valve lift, at any instant is simply a linear interpolation between the value entered for the opening and closing lash, as shown below.

{bmc bm469.bmp}
Opening and Closing Lash

Harness Connector: See Sensors and Actuators.

+$#>Input Data – Valve Data - Self Actuating Reed Valves

A relatively simple self acting reed valve model is employed in the Lotus Engine Simulation code. The model employs a spring mass representation of the valve/reed that is forced to move between the valve seat and the lift stop by the pressure on either side of the valve and the area over which this pressure acts. It is assumed that there is no valve bounce on either the valve stop or the valve seat. This implies that the self-acting valve is well matched to the application. For details of the reed valve model see the Theory section. 

{bmc bm470.bmp}
Reed Valve Properties Menu

Data Variables

Label: Text entered here serves only as a reminder for the user and appears as a comment line in the *.sim file.

The following variables are specific to the self actuating reed valve option:

Reed Valve Lift Option: Quasi-static lift – no valve dynamics; dynamic lift – lift calculated using valve dynamics.

Number of Petals: Number of in reed block.

Mass of Petal: Moving petal only (one petal only). 	[g]

Reed petal stiffness: Stiffness of reed valve petal.[N/mm]

Area of Reed Petal: Area of reed petal over which pressure differential acts (used to calculate force on reed petal) 	[mm2]

Petal Passage Length: Passage length of reed petal: multiplied by flow coefficient and number of petal to give effective flow area. [mm]

Max. Lift Cd Coeff: Discharge coefficient of reed block at maximum lift. (Assumed to decrease linearly with lift from 1.0 at 0.0 mm lift).

Reed Maximum Lift: Maximum lift of reed valve [mm]

Harness Connector: See Sensors and Actuators.

+$#>Input Data – Valve Data - Disc Valves

The disc-valve model calculates the flow area of a port which is covered and uncovered by a disc which rotates at crankshaft speed. The flow area is calculated from the area of the port that is uncovered by the disc-valve and the disc-valve discharge coefficient. The discharge coefficient is assumed to reduce with increasing area from 1.0 to the value for the fully uncovered port provided by the user. For further details of the disc-valve model see the Theory section.

{bmc bm471.bmp}
Disc Valve Properties Menu

Data Variables

Label: Text entered here serves only as a reminder for the user and appears as a comment line in the *.sim file.

The following variables are specific to the disc valve option:

Disc valve diameter: Diameter of disc valve 			[mm]

Disc valve port diameter: Diameter of port containing disc valve	[mm]

Opening Timing: Disc valve opening timing – ATDC firing		[deg.]

Closing Timing: Disc valve closing timing – ATDC firing		[deg.]

Max. Port Area Cd Coeff.: Discharge coefficient of disc valve at maximum port area (assumed to reduce linearly with area from 1.0 at 0.0 area). 

Harness Connector: See Sensors and Actuators.

+$#>Input Data – Valve Data - Piston Ported Valves

The piston ported valve model calculates the flow area of a port which is covered and uncovered by moving piston. The flow area is calculated from the area of the port that is uncovered by the piston and the port discharge coefficient. The discharge coefficient is assumed to reduce with increasing area from 1.0 to the value for the fully uncovered port provided by the user. For further details of this model see the Theory section.

{bmc bm472.bmp}
Piston Ported Valve Properties Menu

Data Variables

Label: Text entered here serves only as a reminder for the user and appears as a comment line in the *.sim file.

The following variables are specific to the piston ported option:

Port Width: Width of port					[mm]

Maximum Port Height: Maximum port height			[mm]

Stroke of Crank-Slider: Stroke of crank-slider mechanism controlling piston ported valve								[mm] 

Rod Length of Crank-Slider: Length of rod of crank-slider mechanism controlling piston ported valve							[mm]

Port Opening Timing: Openening point of port 	- ATDC firing	[deg. CA]

Max. Port Area Cd Coefficient: Discharge coefficient of port at maximum area (assumed to decrease linearly with increasing area from 1.0 at 0.0 area. 

Harness Connector: See Sensors and Actuators.

+$#>Input Data - Valve Data - User Specified Angle Area Ordinates

{bmc bm473.bmp}
User Area Valve Properties Menu

Data Variables

Label: Text entered here serves only as a reminder for the user and appears as a comment line in the *.sim file.

The following variables are specific to this option

Valve Open: Valve opening timing				[deg. CA]

Valve Closed: Valve closing timing				[deg. CA]

Max. Valve Area: Maximum valve area 				[mm2]

Number of Points: Number of points on angle / area curve

Angle: Crank angle position					[deg. CA]

Eff. Area: Effective flow area at crank angle position		[mm2]

Harness Connector: See Sensors and Actuators.

+$#>Input Data - Pipe Data - General

The data defining the pipe geometry, material type, and surface roughness is entered in the property sheet associated with each pipe. Four basic types of pipes exist which can be picked directly from the tool-kit on the lefthand-side of the builder interface: pipes, virtual pipes, pipe bundles, and bends. 

Pipes
The normal type of pipe included in a model is assumed to have a straight centre-line so that no flow losses associated with turning flows other are characterised. For more information on this model see the Theory section.

Virtual Pipes
The second pipe in the ‘Pipes’ tool-kit (depicted by a dashed green line) represents a ‘virtual’ pipe which is simply a means of connecting one point in a model to another – eg the end of a pipe to a plenum. Virtual pipes have no properties associated with them but are useful in laying out the schematic of an engine model.

Pipe Bundles
The pipe bundle is a simple mechanism for representing a group of similar pipes by a single pipe. It is useful for the modelling of exhaust catalyst bricks or charge-cooler passages.  
The pipe bundle element has identical properties to the Pipe Element, except that it includes a Count Multiplier, which is used to multiply the pipe bundles contribution at each end.

The 1-D Assumption
The flow of gas within pipe elements is assumed to be one-dimensional, inviscid, compressible, and unsteady. Disturbances generated by the periodic nature of the engine operating cycle propagate as plane waves in the pipe elements and reflect at geometrical discontinuities such as pipe junctions, plenums, and valves, and at thermodynamic discontinuities such as contact surfaces and shock waves. Tapered pipes can be defined by specifying different diameters at the pipe ends; these elements produce gradual reflections of waves which pass through them. Secondary flow losses in these tapers can be accounted for – See the Theory section.

Pipe Mesh Points
Pipes are spatially discretized by defining a number of meshes within them. This can be done manually, or by using the automatic mesh generator. Mesh lengths of between 1 and 2 cm for inlet pipes and 2 and 3 cm for exhaust pipes are recommended if the pipes are meshed manually. The user should be aware that the optimum mesh-size is engine speed dependent. Setting the mesh size effectively fixes the absolute time step of the calculation. At higher engine speeds this time can encompass several degrees crankangle. This means that relatively large changes in the conditions within a cylinder, for example, may occur over one time step and this affects the accuracy of the simulation. Although various checks are implemented in sub-models to prevent excessive time steps, the pipe mesh size should be reduced for very high engine speeds. (Note that if the Pipe Auto Meshoption is set to ON, and additional, higher speed test points are added, or the highest speed points are removed, then the number of meshes in the pipes will be automatically be reset – this may prevent previously saved *.Prs files from loading correctly – See *.Prs Results). The options for setting pipe mesh data are accessed from the Data menu on the toolbar.

Automated Mesh Refinement
The pipe mesh can be allowed to automatically refine during the calculation. This can be activated by selecting Pipe Mesh Auto-Refine from the Data menu on the toolbar. When the pipe mesh auto-refine is Enabled, the simulation checks the spatial and temporal pressure and density variation. If the non-dimensional pressure or density variation at any mesh point is greater than the refinement limit, the Auto Mesh refine routine will double the number of meshes in that pipe – See the Theory section.

Pipe Dimensions
Pipes with continually varying cross-sectional area can be defined by specifying the equivalent pipe diameter at up to 20 points along their centre-line. The pipe geometry is defined in the spreadsheet generated via the ‘All dimensions’ button and can be visualised either by clicking on the graphical display button in this spreadsheet or by using the more powerful ‘Pipe graphical display’ button. The latter option allows the user to view the position of the specified diameters and the pipe mesh points within the pipes. Note that the equivalent diameter should be based on the pipe cross-sectional area and not the pipe wetted perimeter (i.e. the hydraulic diameter).

The pipe geometry which has been specified can be visualised using the ‘Pipe Graphical  Display’ facility on the pipe data property sheets. The mesh points within the pipe can be displayed on the same diagram by clicking on the icon represented by the red circles. From this display the user can also view any up and downstream pipes which are attached to the pipe in focus.

Note that abrupt changes in pipe cross-sectional area should not be modelled using a single pipe – the pipe should be split at this point.

{bmc bm60.bmp}
Pipe geometry and mesh points.

Pipe Wall Material
Specifying the pipe wall material from the available list sets default values for the thermal conductivity, density, specific heat capacity and surface roughness (if the appropriate option in the ‘Friction Factor’ menu is selected). A user-defined pipe wall material may be established by specifying the values of the properties delineated above.

Pipe Wall Friction Factor
The pipe friction factor is used in the momentum equation and the energy equation where the Reynolds Analogy is employed to model pipe wall heat transfer. This quantity can be set in three different ways:
·	The value of the friction factor can be set directly.
·	The friction factor can be inferred from the specified pipe surface roughness using a curve-fit to the Moody diagram.
·	The default value of the surface roughness can be selected based on the pipe material type. The friction factor is then inferred from this as above.

The Reynolds number can either be evaluated on an instantaneous basis, or the cycle averaged Reynold number can be applied. This is switched using the Pipe Wall Friction Setting Option. For more information on the evaluation of pipe wall friction factors see the Pipe Theory section.

Heat Transfer
In order to calculate the heat transfer through the pipes it is necessary to know the pipe interior wall temperature. This data is difficult to obtain or estimate accurately so a simple thermal network calculation is used to determine it.

In order to set up the thermal network model the wall thickness, and temperature of the medium surrounding the pipe is required, together with the pipe external wall / coolant heat transfer coefficient. These two parameters can be set to default values (see Theory section) for air-cooled and water-cooled (eg. inlet and exhaust ports) pipes or can be specified directly using the ‘User defined temp. and HTC’ option. 

The further option of specifying a pipe number which surrounds the current pipe is available. This option assigns the cycle-averaged gas temperature in the designated pipe to the temperature of the media surrounding the pipe; a pre-defined heat transfer coefficient is used. In this way it is possible to model pipes in silencer systems manually. Note that when Silencer Super Elements are used the pipes surrounding the internal ducts which constitute the silencer element are automatically designated.

For more detailed information on the models used in calculating the pipe internal gas dynamics and heat transfer see the Theory section or see refs. 2 and 3.

References
1. Miller, D.S., Internal flow systems. Second Edition. BHR Group Ltd., 1990.

2. Winterbone, D.E., and Pearson, R.J., Theory of engine manifold design – wave action methods for IC engines. Professional Engineering Publishing Ltd, London. 2000. ISBN 1 86058 209 5

3. Winterbone, D.E., and Pearson, R.J., Design techniques for engine manifolds – wave action methods for IC engines. Professional Engineering Publishing Ltd, London. 1999. ISBN 1 86058 179 X

+$#>Input Data - Pipe Data Variables

{bmc bm474.bmp}
Pipe Properties Menu

Label: Text entered here serves only as a reminder for the user and appears as a comment line in the *.sim file.

All Dimensions: Spreadsheet for defining pipe geometry. Requires the following parameters:
            No. of Values: Number of pipe cross-sections at which diameter is specified (max 20)
            Length: Distance of section from nominal upstream end of pipe (end 1) 	[mm]
            Diameter: Equivalent diameter at section position defined by Length	[mm]

Dimension Summary: Summary of pipe geometry defined in All Dimensions:
            Total Length: Total pipe length (last length – first length)			[mm]
            Start Diameter: Pipe diameter at nominal upstream end (end 1)		[mm]
            End Diameter:  Pipe diameter at nominal downstream end (end 2)	[mm]

Pipe Volume: Displays the pipe volume based on the pipe dimension (lengths and diameters) entered. This field is provided for information only and is not a user definable property.

Surface Area: Displays the surface area based on the pipe dimension (lengths and diameters) entered. This field is provided for information only and is not a user definable property.

No. of Meshes: Number of meshes into which the pipe is descretized.
1.	Set manually
1.	Set automatically (via the Data/Pipe Auto-Mesh menu)
           No. of Meshes: Number of meshes in pipe (option 1).

Note that the pipe geometry specified can be viewed and edited using the ‘Pipe Graphical Display’ facility, as shown below.

{bmc bm475.bmp}
Pipe as viewed from Pipe Graphical Display facility

Pipe Wall Thickness: Value to be used in thermal network calculations		[mm]

Cooling Type: Cooling medium external to pipe:
1.	Air cooled;
1.	Water cooled with engine coolant (e.g. port)
1.	External pipe temp – specify pipe number surrounding pipe;
1.	User defined coolant temperature and heat transfer coefficient.
            Pipe No.: Pipe number providing temperature of surrounding medium (option 3).
            Temperature: Temperature of cooling medium (option 4)			[oC]
            Ext. HTC: Heat transfer coefficient between the pipe outer wall and coolant medium (option 4) [W/m2/K]

Pipe Wall Material: Material of pipe wall (for use in thermal network calculation):
1.	Cast iron;
1.	Aluminium;
1.	Steel;
1.	Twin wall air pipe with air gap.
1.	Plastic (polyamide)
1.	Magnesium (AS21)
1.	Cordierite (KER 410)
1.	Alumina (Al2O3)
1.	User Defined
            Density: Density of pipe material (option 9)				[kg/m3]
            Thermal Cond: Thermal conductivity of pipe wall material (option 9)	[W/m/K]
            Specific Heat Cap: Specific heat capacity of pipe wall material (option 9)	[J/kg/K]

Wall Fric Factor Type: Method of determining pipe wall friction factor:
1.	Friction factor - (usually in range 0.02-0.005)
1.	Surface roughness
1.	Default surface roughness – based on material type.
            Surface Roughness: Pipe inner wall surface roughness (option 2)	[mm]
(See – Pipe Wall Friction Setting)

Int. Wall HT Factor Type: Method of setting coefficient used in Reynolds Analogy for pipe wall heat transfer calculation.
1.	By Scale: scales pipe wall friction factor value.
1.	By Value: sets actual value to be used.
1.	Def. Value: uses the default value (0.005).

Int. Wall HT Scale / Value: Value entered based on above selection.

Diffuser Loss: Toggle for switching on or off the effects of secondary flow losses caused by pipe area variation – See the Theory section. The secondary flow losses are incorporated into the simulation by augmenting the wall friction term, thus the Pipe Wall Friction Setting will influence the effect of the diffuser loss.

+$#>Input Data - Pipe Bundle Data Variables

The Pipe Bundle is a simple mechanism for representing a group of similar pipes by a single pipe. It is useful for the modelling of exhaust catalyst bricks or charge-cooler passages.  

The pipe bundle data variables are identical to those of the Pipe Element, except that it includes a count multiplier. The count multiplier simply represents the number of instances that a pipe having the same attributes occurs (for example the number of passages in a catalyst brick – See Catalyst Super Elements) and is simply used to multiply the pipe bundles contribution at each end.

When replacing a group of identical pipes with a single pipe bundle element, the pipe bundle element should be given the same pipe length, diameter and wall roughness properties as one of the pipes being replaced. The count multiplier should be set to the number of identical pipes that the bundle element is being used in place of. 

+$#>Input Data - Pipe Bend Data Variables

Pipe bends (the third type of pipe element) can be included in the engine model by selecting the element which lies second from the bottom of the ‘Pipes’ tool-kit. These elements differ from the standard pipe type by the requirement to supply the additional two properties of bend angle and bend radius. The additional flow losses produced by these elements are included in the model by the use of steady flow data (taken from ref. 1) which enables the effective pipe wall friction factor to be calculated based on the Reynolds (either the instantaneous or cycle averaged – depending upon the Pipe Wall Friction Setting) number through the bend. For more information on this model see the Theory section.

Pipe Bend Angle: Angle through which pipe turns.				[deg]

Bend Radius: Radius of pipe bend (average)					[mm]

Note that the bend geometry specified can be viewed and edited using the ‘Pipe Graphical Display’ facility, as shown below.

{bmc bm476.bmp}
Pipe Bend as Viewed from Pipe Graphical Display Facility

+$#>Input Data - Pressure-Loss Junction Data Variables

Pipe junctions are formed in the model by linking together pipe ends. This normally forms a constant pressure junction. A special pipe junction model, which accounts for the effects on the flow caused by the angles at which the pipes forming the junction meet can be used by dropping the element at the bottom of the pipe tool-kit list onto a conventional junction. The model enables the user to specify the angular displacement of the pipes which is used by the code to calculate flow losses in the junction.

This type of model is especially appropriate for junctions in high-speed engines. For more information on the model itself, and junctions in general, see the Theory section.

{bmc bm477.bmp}
Pressure Loss Junction Properties Menu

Loss Junction Label : Text entered here serves only as a reminder for the user and appears as a comment line in the *.sim file. 

No. of Pipes : Indicates the number of pipes which are connected to the junction.  The maximum allowable no. of pipes connected to a loss junction is 20.

Ref1 Pipe : Allows the user to select which of the pipes connected to the junction will act as reference pipe no. 1 in the Angle Data entry menu.  

Ref2 Pipe : Allows the user to select which of the pipes connected to the junction will act as reference pipe no. 2 in the Angle Data entry menu

Angle Data : Spread sheet for defining angles of pipes forming the junction.

Angle Ref1 (deg) : Angle of given pipe with respect to reference pipe 1.  Reference pipe 1 lies in the X-Y plane, parallel to the X-axis, then the angle entered will rotate the given pipe in the X-Y, plane as shown below. (Angle Ref1 is always zero for reference pipe 1)

{bmc bm478.bmp}
Rotation with Respect to Reference Pipe 1

Angle Ref2 (deg) : Angle of given pipe with respect to reference pipe 2.  The angle entered will rotate the given pipe about reference pipe 2 in the X-Z plane, as shown below. (Angle Ref2 is always zero for reference pipe 1 and reference pipe 2)

{bmc bm479.bmp}
Rotation with Respect to Reference Pipe 2

Pipe Angle Display : Enables the user to display a wire frame model of the pipe junction, which can be rotated, to allow the interspatial representation of the various junction branches to be checked, as shown below.

{bmc bm480.bmp}
Pipe Angle Display

+$#>Input Data -  Stop Ends

Stop Ends are used in order to blank off the ends of any pipes or resonator tubes that are added to the intake. They can also be added to plenum ends. They do not have any properties that can be altered other than an identifying label, since they simply seal the ends of tubes.

{bmc bm481.bmp}
Stop End Element and Property Sheet

+$#>Input Data -  Plenum Data - General

The data defining the plenums in the pipe network is entered in the property sheet associated with each plenum element. 

Plenum elements have no spatial discretisation so that a single value represents the gas properties (pressure, temperature etc.) at any instant within them. The gas velocity in a plenum is zero so that the volume stagnates any gas flowing into it. In-flows and out-flows of gas ‘pump up’ and ‘pump down’ the element hence, although it has no spatial representation, the presence of the element introduces a phase shift into the gas property variation through the pipe network.

Heat transfer from the plenum wall to the gas, and vice-versa, can be modelled if the plenum wall surface area, temperature, and heat transfer coefficient are specified as input data. If the plenum wall heat transfer coefficient is set to zero the model will run but heat transfer in the plenum is neglected.

Both constant and varying volume plenums can be represented. In the latter case, data defining the kinematics of the volume variation are required. This model can be used to represent a crankcase compression element of a two-stroke engine. Note that the work transfers for this device are taken from / to the engine crankshaft in this version of the code.

+$#>Input Data - Plenum Data Variables

{bmc bm482.bmp}
Constant Volume Plenum Properties Menu

Label: Text entered here serves only as a reminder for the user and appears as a comment line in the *.sim file. 

For constant volume plenum

Plenum Volume: Volume of plenum. 						[litres] 

Surface Area of Plenum: Surface area of plenum. 				[mm2]

Wall Temperature of Plenum: Inner surface temperature of plenum – used in heat transfer calculation. [oC]

Plenum HTC: Cycle-averaged heat transfer coefficient 				[W/mm2/oC]

Harness Connector: See Sensors and Actuators.

For varying volume plenum:

Equiv. Bore: Equivalent bore of varying volume plenum				[mm]

Equiv. Stroke: Equivalent stroke of varying volume plenum			[mm]

Equiv. Rod. Length: Equivalent con. rod length of varying volume plenum	[mm]

Equiv. Comp. Ratio: Equivalent compression ratio of varying volume plenum

Angle of TDC: Angle of TDC (minimum volume) of varying volume plenum	[deg. CA]

Wall Temperature of Plenum: Inner surface temperature of plenum – used in heat transfer calculation. [oC]

Plenum HTC: Cycle-averaged heat transfer coefficient 				[W/mm2/oC]

Speed Ratio: Ratio of shaft speed for varying volume to crankshaft speed.

Harness Connector: See Sensors and Actuators.

+$#>Input Data - Throttle Data

The data defining the throttles in the pipe network is entered in the property sheet associated with each throttle element.

The throttle option specifies the characteristics of flow devices, having known flow area, which are used to connect one element to another. The throttle element can be used to provide restrictions in the exhaust an inlet systems to provide an additional source of pressure loss in the model (e.g. to reduce inlet depression, or increase exhaust back-pressure). Note that only one pipe, plenum, or other element can be connected to each side of a throttle.

The throttle element essentially requires two items of data, geometric flow area and flow coefficient ({bmc bm483.wmf}). The product of the geometric flow area and the {bmc bm484.wmf} then gives the effective flow area of the throttle. Different data can be supplied for flow in the nominal forward and reverse directions. See the Theory section for more details.

Throttle Type
Throttles may be specified as one of the following types:
·	Simple Area
·	Butterfly
·	Slide Plate
·	Slide Valve
·	Barrel Valve

These throttle types are used to define the geometric fluid flow area, normal to the direction of flow.

Discharge Data Type
The definition of the throttle flow coefficient, {bmc bm485.wmf}, is defined in the Theory section. {bmc bm486.wmf} data can be supplied to Lotus Engine Simulation in a number of ways:
·	CF Fixed Value
·	CF 1D Spline
·	CF 2D Map
·	Mass Flow 1D Spline
·	Mass Flow 2D Map
Each of the methods for specifying the throttle geometric data can be used with any of the above options. 

Note that it is possible to specify different sets of data for forward and reverse flow directions by selecting the appropriate options from the Discharge Directionality menu shown below.

{bmc bm487.bmp}
Throttle Discharge Directionality Menu

The ‘Forward’ and ‘Reverse’ directions are implied by the nominal flow-direction arrow on the throttle element.

CF Fixed Value
This option allows the user can enter a single value for the flow coefficient, in the Discharge CF dialogue box, as shown below.  

{bmc bm488.bmp}
CF Fixed Value Parameter Menu

CF 1D Spline
This option allows the user to specify a flow coefficient which varies with the throttle opening. When this option is selected throttle CF values for various throttle openings can be entered into a spread sheet menu, as shown below.

{bmc bm489.bmp}
CF 1D Spline Parameter Spreadsheet Menu

The throttle opening metric shown in the spreadsheet menu will correspond to the type of throttle selected for Throttle Type. The data entered in this spreadsheet can be plotted to aid data checking, as shown below.

{bmc bm490.bmp}
CF 1D Spline Graph

CF 2D Map
This option allows the user enter a complete flow coefficient map for the throttle, which can vary with both throttle area and the pressure ratio across the throttle.

{bmc bm491.bmp}
CF 2D Map Parameter Spreadsheet Menu

The throttle opening metric shown in the spreadsheet menu will correspond to the type of throttle selected for Throttle Type. The data entered in this spreadsheet can be plotted to aid data checking, as shown below.

{bmc bm492.bmp}
CF 2D Map Graph

Mass Flow 1D Spline
This option allows the user to specify mass flow rate data verses throttle opening, for a given pressure drop. The Lotus Engine Simulation will then convert the mass flow rate / pressure drop data into an effective flow area. When this option is selected throttle mass flow rate values for various throttle openings can be entered into a spread sheet menu. Additional data, concerning the flow rig and test conditions are required, as detailed below.

Data Variables
Ambient Pressure :	Taken to be the upstream or downstream pressure, dependant on the Flow Rig Type selected. For a ‘sucking’ rig it is assumed that the upstream stagnation pressure, {bmc bm493.wmf}, is equal to the ambient pressure, {bmc bm494.wmf}. For a ‘blowing’ rig it is assumed that the downstream static pressure, {bmc bm495.wmf}, is equal to the ambient pressure, {bmc bm496.wmf}. Note that if the rig used has settling plenums rather than drawing/discharging from the atmosphere, then the pressure in this plenum should be used. See the Theory section.
Ambient Temperature :	Temperature used in calculation of the throttle effective flow area. Strictly this should be the upstream stagnation temperature – See the Theory section.
Test Pressure Ratio :	This is the ratio of the pressures across the throttle.  It should entered as the ratio of static pressures, {bmc bm497.wmf}. This means that the test pressure ratio should always be expressed as a value between 0 and 1.
Flow Rig Type :	Either ‘Sucking’ or ‘Blowing’.
Flow Area of Meas :	If the Flow Rig Type is set to ‘Blowing’, then the flow area at the upstream static pressure measurement location is required. This is used to calculate the upstream stagnation pressure.

{bmc bm498.bmp}
Throttle Mass-flow Rate Rig Data

Mass Flow 2D Map
This option is similar to the Mass Flow 1D Spline, but additionally allows the user to include the effects of pressure ratio variation. When this option is selected throttle mass flow rate values for various throttle openings and test pressure ratios can be entered into a spread sheet menu. The throttle opening metric shown in the spreadsheet menu will correspond to the type of throttle selected for Throttle Type. The data entered in this spreadsheet can be plotted to aid data checking, as shown below. Additional data, concerning the flow rig and test conditions are required, as detailed above for the Mass Flow 1D Spline option above.

+$#>Input Data - Simple Area Throttle

This throttle geometry option allows the user to specify directly the geometric flow area of the throttle.

Data Variables
Minimum C.S.A. :	Cross sectional area of the throttle. This value can be entered directly, or an equivalent diameter can be entered.
Eqiv. Diameter :	Can be entered in place of the cross-sectional area.

{bmc bm499.bmp}
Simple Area Throttle Data Entry Menu

Note that it is possible to specify different data for forward and reverse flow directions by selecting the appropriate options from the Discharge Directionality menu. The ‘Forward’ and ‘Reverse’ directions are implied by the nominal flow-direction arrow on the throttle element.

+$#>Input Data - Butterfly Throttle

This throttle geometry option allows the user to enter geometry data specifically related to a butterfly type throttle from which Lotus Engine Simulation will calculate the geometric flow area of the throttle.

{bmc bm500.bmp}
Schematic of Butterfly Throttle Parameters

Data Variables
Throttle Dia. :	Diameter of the throttle bore. Denoted D in the schematic shown above.
Closed Angle :	The angle of the throttle blade when  closed against the throttle bore. Denoted by {bmc bm501.wmf} in the schematic shown above.
Throttle Angle :	The angle of the throttle blade. Denoted by {bmc bm502.wmf} in the schematic shown above.
Spindle Diameter :	The throttle shaft diameter, Denoted by d in the schematic shown above.

{bmc bm503.bmp}
Butterfly Throttle Data Entry Menu

Note that it is possible to specify different data for forward and reverse flow directions by selecting the appropriate options from the Discharge Directionality menu. The ‘Forward’ and ‘Reverse’ directions are implied by the nominal flow-direction arrow on the throttle element.

+$#>Input Data - Slide Plate Throttle

This throttle geometry option allows the user to enter geometry data specifically related to a slide plate type throttle from which Lotus Engine Simulation will calculate the geometric flow area of the throttle.

{bmc bm504.bmp}
Schematic of Slide Plate Throttle Parameters

Data Variables
Hole Dia. :	Diameter of the throttle bore. Denoted D in the schematic shown above.
Exposed Distance :	The distance between the centre of the of the throttle bore and the hole in the slider plate. Denoted by h in the schematic shown above. When h=0 the throttle is fully open and when h=D the throttle is fully closed.

{bmc bm505.bmp}
Slide Plate Throttle Data Entry Menu

Note that it is possible to specify different data for forward and reverse flow directions by selecting the appropriate options from the Discharge Directionality menu. The ‘Forward’ and ‘Reverse’ directions are implied by the nominal flow-direction arrow on the throttle element.

+$#>Input Data - Slide Valve Throttle

This throttle geometry option allows the user to enter geometry data specifically related to a slide valve type throttle from which Lotus Engine Simulation will calculate the geometric flow area of the throttle.

{bmc bm506.bmp}
Schematic of Slide Valve Throttle Parameters

Data Variables
Pipe Dia. :	Diameter of the throttle bore. Denoted D in the schematic shown above.
Lift Distance :	The distance that the slider is lifted from the fully closed position. Denoted by h in the schematic shown above.

{bmc bm507.bmp}
Slide Valve Throttle Data Entry Menu

Note that it is possible to specify different data for forward and reverse flow directions by selecting the appropriate options from the Discharge Directionality menu. The ‘Forward’ and ‘Reverse’ directions are implied by the nominal flow-direction arrow on the throttle element.

+$#>Input Data - Barrel Throttle

This throttle geometry option allows the user to enter geometry data specifically related to a barrel type throttle from which Lotus Engine Simulation will calculate the geometric flow area of the throttle.

{bmc bm508.bmp}
Schematic of Barrel Throttle Parameters

Data Variables
Inlet Pipe Dia. :	Diameter of the throttle bore. Denoted D in the schematic shown above.
Angle :	The angle of the barrel. Denoted {bmc bm509.wmf} in the schematic shown above.
Barrel Dia. :	Diameter of the rotating barrel. Denoted {bmc bm510.wmf} in the schematic shown above.

{bmc bm511.bmp}
Barrel Throttle Data Entry Menu

Note that it is possible to specify different data for forward and reverse flow directions by selecting the appropriate options from the Discharge Directionality menu. The ‘Forward’ and ‘Reverse’ directions are implied by the nominal flow-direction arrow on the throttle element.

+$#>Input Data - Compressor, Turbine, Supercharger and Charge Cooler Data - General

Turbochargers
Turbocharging equipment is modelled by selecting a turbocharger element from the ‘Machines’ tool-kit. Data for compressors, turbines, and charge coolers is entered in separate sections. 

Turbochargers are modelled as compressors and turbines on a common free-spinning shaft. The instantaneous compressor and turbine performance is derived from non-dimensionalized characteristic maps. 

The input data structure has been designed to be as similar as possible to that published in the SAE J1826 turbocharger gas stand test recommended practice. The provision of mass flow, pressure ratio, speed and efficiency scaling factors to allow the user to scale a base map to fine tune a particular compressor / turbine characteristic to a given engine application. 

Scaling factors can be applied to compressor and turbine speeds, mass flows, pressure ratios, and efficiencies by clicking on the Scale Factors option on the Tool Bar for the compressor/turbine data sheet. This generates a menu with options to set the scale factors for the compressor and turbine data. Once a selection has been made a table appears into which the relevant scale factors are entered. 

The Tool Bar also offers the facility to copy a set of characteristics from one compressor/turbine/cooler to another. This saves much repetitive data entry if multiple turbochargers are used which are identical. 

Further details of the approach used to simulate turbocharged engines can be found in the Theory section.

Turbines
In addition to turbines which comprise part of turbocharger assemblies, individual turbines can be added to the model, using the turbine element. This element is intended to represent a device for the conversion of exhaust gas energy into work for an auxiliary power system. The work produced is not added to the engine crankshaft work.

Compressors
In addition to compressors which comprise part of turbocharger assemblies, individual compressors can be introduced into the model, using the compressor element, and can be assigned as either being driven from the engine crankshaft or an electric motor. In the former case the compressor work is subtracted from the engine crankshaft directly; in the latter case the compressor work is calculated but is not subtracted from the crankshaft work. 

Superchargers
Positive displacement superchargers are modelled by selecting the supercharger element from the ‘Machines’ toolkit.  The power required to drive the supercharger element is subtracted from the available crankshaft power.  For further details on modelling supercharged engines see the Theory section.

Expanders
Positive displacement expander element can be modelled by selecting the expander element from the ‘Machines’ toolkit.  The expander element can be considered as a supercharger working in reverse.  The user can specify if the power generated by the expander is fed to the crankshaft or not. 

Charge-coolers
Charge coolers provide a means by which heat is subtracted from (or supplied to) the gas in the engine simulation model. Charge-coolers can be modelled by selecting the charge-cooler element from the ‘Machines’ toolkit. The characteristics of the charge cooler are supplied in the form of pressure loss, coolant temperature and effectiveness verses mass flow rate ordinate data, see the Theory section .  

Alternatively, depending upon the geometry of the device and the data available, it may appropriate to model a charge-cooler using the pipe bundle mode. 

Wastegates
Turbochargers fitted with wastegates can be modelled by using the appropriate combination of pipes and throttles to by-pass the turbocharger turbine. A pre-built group of elements exists in the model builder tool-kitwhich also contains the relevant control elements necessary to actuate the wastegate.

+$#>Input Data -  Compressor Data Variables

{bmc bm512.bmp}
Compressor Properties Menu

Label: Text entered here serves only as a reminder for the user and appears as a comment line in the *.sim file. 

Compressor Type: In the current version of the Lotus Engine Simulation code this is restricted to ‘Full Map’ only.

Inlet Dia.: Inlet diameter of compressor – this variable does not affect any of the compressor calculations [mm].

Outlet Dia.: Outlet diameter of compressor – this variable does not affect any of the compressor calculations [mm].

Rotating Inertia: Rotating inertia of compressor [kg.m²].
(The inertia of the device will effect the inter-cycle speed variation, and thus influence the time required for a converged solution to be achieved.)

Gear Ratio to Shaft: Gear ratio between compressor and the shaft to which it is attached (usually = 1.0)

Drive Gear Mech Eff: Mechanical efficiency of compressor drive gear [fraction]. (Usually equal to 1.0)

Harness Connector: See Sensors and Actuators.

Compressor Map Data: The compressor map is entered via a series of menu screens, as described below.

{bmc bm513.bmp}
Compressor Map Data Entry Menu

Data Display: This option enables the user the display either the scaled or the un-scaled data. The values in the column containing the data which has been scaled will change when moving between these options. Scaling factors can be applied to compressor and turbine speeds, mass flows, pressure ratios, and efficiencies by clicking on the appropriate Scale Factor (at the bottom of the data screen) in the data entry menu shown above. 

No. of Speeds: Number of constant speed lines used to define compressor map (maximum = 20) (param). Data for each compressor speed can be displayed by using the arrow keys next to the value entry box. Map consists of mass flow versus pressure ratio and mass flow versus efficiency values entered in box on right of sheet.

Speed: Corrected compressor speed for speed line (is) [rev/min] currently displayed in data table on right of window, defined as
{bmc bm514.wmf}				(1)
Note that the corrected speed is entered for every speed, mass flow, pressure ratio set. However only the first speed of each speed line is used within the code. (i.e. all the other speeds on a speed line are assumed to be the same) Note also that the compressor speed lines MUST be in ascending order.

No. of Points: Number of data points at which pressure ratio and efficiency are specified (maximum = 30) (param). 

Mass Flow: Corrected compressor mass flow rate for mass flow point (im) and speed line (is) (kg/s) , defined as
{bmc bm515.wmf}		(2)
Note compressor data must be defined such that the first mass flow rate on the speed line is the smallest and the last is the greatest. (i.e. the first mass flow rate is on the compressor surge line and the last is the choked (maximum) flow point). There are no checks within the program to ensure that this rule is obeyed. Thus it is up to the user to check the consistency of the compressor data. 

Pressure Ratio: Compressor pressure ratio for mass flow point (im) and speed line (is) (ratio), defined as
{bmc bm516.wmf}			(3)

Efficiency: Compressor isentropic efficiency (fraction), defined as
{bmc bm517.wmf}		(4)

Viewing Map: Once all the compressor map data has been entered the compressor map may be viewed by clicking on the graph icon. The default compressor map is shown below.

Individual Compressors (centrifugal superchargers)

This type of compressor can be driven from the engine crankshaft or via an external source. The differences in data requirements are:

Drive Type: Specification of drive mechanism (crankshaft or electric motor).

Drive Ratio Data: When the Drive Type specified is ‘Crankshaft’ the Drive Ratio data consists of a table of Engine Speed vs Ratio. When the Drive Type specified is ‘Electric Motor’ the Drive Ratio data consists of a table of Engine Speed vs Motor Speed (compressor wheel speed).

{bmc bm518.bmp}
Compressor Map Viewer

+$#>Input Data - Turbine Data Variables

{bmc bm519.bmp}
Turbine Properties Menu

Label: Text entered here serves only as a reminder for the user and appears as a comment line in the *.sim file. 

Turbine Type: In the current version of the Lotus Engine Simulation code this is restricted to ‘full map’ only. 

Inlet Dia.: Inlet diameter of turbine – this variable does not affect any of the turbine calculations [mm].

Outlet Dia.: Outlet diameter of turbine – this variable does not affect any of the turbine calculations [mm].

Rotating Inertia: Rotating inertia of turbine [kg.m²]

Gear Ratio to Shaft: Gear ratio between turbine and the shaft to which it is attached (usually equal to 1.0)

Drive Gear Mech Eff: Mechanical efficiency of turbine drive gear [fraction]. (Usually equal to 1.0)

Harness Connector: See Sensors and Actuators.

Turbine Map Data: The turbine map is entered via a series of menu screens, as described below.

{bmc bm520.bmp}
Turbine Map Data Entry Menu

Data Display: This option enables the user the display either the scaled or the un-scaled data. The values in the column containing the data which has been scaled will change when moving between these options. Scaling factors can be applied to compressor and turbine speeds, mass flows, pressure ratios, and efficiencies.

No. of Speeds: Number of constant speed lines used to define turbine map (maximum = 20) (param). Data for each turbine speed can be displayed by using the arrow keys next to the value entry box. Map consists of mass flow versus pressure ratio and mass flow versus efficiency values entered in box on right of sheet.  

Speed: Corrected turbine speed for speed line (is) [rev/min/sqrt(K)] currently displayed in data table on right of window , defined as
{bmc bm521.wmf}				(1)
Note that the corrected speed is entered for every speed, mass flow, pressure ratio set. However only the first speed of each speed line is used within the code. (I.e. all the other speeds on a speed line are assumed to be the same) 

No. of Points: Number of data points at which pressure ratio and efficiency are specified (maximum = 30) (param). 

Mass Flow: Corrected turbine mass flow rate for mass flow point (im) and speed line (is) (kg K^1/2/s/kPa), defined as
{bmc bm522.wmf}		(2)
Note turbine data must be defined such that the first mass flow rate on the speed line is the smallest and the last is the greatest. There are no checks within the program to ensure that this rule is obeyed. Thus it is up to the user to check the consistency of the turbine data. 

Pressure Ratio: Turbine pressure ratio for mass flow point (im) and speed line (is) (ratio), defined as 
{bmc bm523.wmf}			(3)

Efficiency: Turbine isentropic efficiency (fraction), defined as 
{bmc bm524.wmf}			(4)

Individual Turbines

This type of turbine is intended to operate at a pre-defined speed and extract work from the exhaust gas in order to power an auxiliary system. The differences in data requirements are:

Turbine Speed: With this type of turbine the speed of the device is specified directly so that a matching calculation is not performed. A spline giving variation of Turbine Speed [rev/min] with Engine Speed [rev/min] is required.

Viewing Map: Once all the turbine map data has been entered the turbine map may be viewed by clicking on the graph icon. 

{bmc bm525.bmp}
Turbine Map Viewer

+$#>Input Data - Supercharger Data Variables

{bmc bm526.bmp}
Supercharger Properties Menu

Label: Text entered here serves only as a reminder for the user and appears as a comment line in the *.sim file. 

Supercharger Type: In the current version of the Lotus Engine Simulation code this is restricted to ‘Full Map’ only.

Inlet Dia.: Inlet diameter of supercharger – this variable does not affect any of the supercharger calculations [mm].

Outlet Dia.: Outlet diameter of supercharger – this variable does not affect any of the supercharger calculations [mm].

Rotating Inertia: Rotating inertia of supercharger [kg.m²].

Gear Ratio to Shaft: Gear ratio between supercharger and the crankshaft to which it is attached.

Drive Gear Mech Eff: Mechanical efficiency of supercharger drive gear [fraction]. See the Theory section.

Vol. Flow Per Rev: Swept volume of the supercharger [litres/rev].

Harness Connector: See Sensors and Actuators.

Supercharger Map Data: The supercharger map is entered via a series of menu screens, as described below.

{bmc bm527.bmp}
Supercharger Map Data Entry Menu

Data Display: This option enables the user the display either the scaled or the un-scaled data. The values in the column containing the data which has been scaled will change when moving between these options. Scaling factors can be applied to the supercharger speed, pressure ratio, volumetric efficiency, isentropic efficiency and adiabatic efficiency by clicking on the appropriate Scale Factors in the data entry menu shown above.

No. of Speeds: Number of constant speed lines used to define supercharger map (maximum = 20) (param). Data for each supercharger speed can be displayed by using the arrow keys next to the value entry box. Map consists of volumetric efficiency, adiabatic efficiency and isentropic efficiency versus pressure ratio.

Speed: Supercharger speed for currently displayed data.

No. of Points: Number of data points at which pressure ratio and efficiencies are specified (maximum = 30) (param). 

Pressure Ratio: Supercharger pressure ratio for which the efficiency data is entered, defined as
{bmc bm528.wmf}			(1)

Note the pressure ratio data must be defined such that the first pressure ratio entered for each supercharger speed is the smallest and the last is the greatest. There are no checks within the program to ensure that this rule is obeyed. Thus it is up to the user to check the consistency of the supercharger data. 

Volum Eff: Supercharger volumetric efficiency [fraction].

Adiabatic Eff: Supercharger adiabatic efficiency [fraction]. The supercharger adiabatic efficiency is used in order to calculate the power requirement of the supercharger. See the Theory section.

Isentropic Eff: Supercharger Isentropic efficiency [fraction]. The supercharger isentropic efficiency is used in order to calculate the temperature rise across the supercharger. See the Theory section.

Viewing Map: Once all the supercharger map data has been entered the map may be viewed by clicking on the graph icon. The default supercharger map is shown below.

{bmc bm529.bmp}
Supercharger Isentropic Map Viewer

+$#>Input Data - Expander Data Variables

{bmc bm530.bmp}
Expander Properties Menu

Label: Text entered here serves only as a reminder for the user and appears as a comment line in the *.sim file. 

Expander Type: The power generated by the expander can be returned to the crankshaft, which will augment the gross engine performance parameters (Power, Torque, BMEP) reported in the *.mrs results file, by selecting the ‘Geared to Crank’ option.  Alternatively, the power generated by the expander can be simply absorbed by the expander itself, by selecting the ‘Absorbed Load’ option.

Inlet Dia.: Inlet diameter of expander – this variable does not affect any of the expander calculations [mm].

Outlet Dia.: Outlet diameter of expander – this variable does not affect any of the expander calculations [mm].

Rotating Inertia: Rotating inertia of expander [kg.m²].

Gear Ratio to Shaft: Gear ratio between expander and the crankshaft to which it is attached.

Drive Gear Mech Eff: Mechanical efficiency of expander drive gear [fraction]. See the Theory section.

Vol. Flow Per Rev: Swept volume of the expander [litres/rev].

Harness Connector: See Sensors and Actuators.

Expander Map Data: The expander map is entered via a series of menu screens, as described below.

{bmc bm531.bmp}
Expander Map Data Entry Menu

Data Display: This option enables the user the display either the scaled or the un-scaled data. The values in the column containing the data which has been scaled will change when moving between these options. Scaling factors can be applied to the expander speed, pressure ratio, volumetric efficiency, isentropic efficiency and adiabatic efficiency by clicking on the appropriate Scale Factors in the data entry menu shown above.

No. of Speeds: Number of constant speed lines used to define expander map (maximum = 20) (param). Data for each expander speed can be displayed by using the arrow keys next to the value entry box. Map consists of volumetric efficiency, adiabatic efficiency and isentropic efficiency versus pressure ratio.

Speed: Expander speed for currently displayed data.

No. of Points: Number of data points at which pressure ratio and efficiencies are specified (maximum = 30) (param). 

Expansion Ratio: Expander pressure ratio for which the efficiency data is entered, defined as
{bmc bm532.wmf}			(1)

Note the pressure ratio data must be defined such that the first pressure ratio entered for each supercharger speed is the smallest and the last is the greatest. There are no checks within the program to ensure that this rule is obeyed. Thus it is up to the user to check the consistency of the expander data. 

Volum Eff: Expander volumetric efficiency [fraction].

Adiabatic Eff: Expander adiabatic efficiency [fraction]. The expander adiabatic efficiency is used in order to calculate the power requirement of the expander. See the Theory section.

Isentropic Eff: Expander Isentropic efficiency [fraction]. The expander isentropic efficiency is used in order to calculate the temperature rise across the expander. See the Theory section.

Viewing Map: Once all the expander map data has been entered the map may be viewed by clicking on the graph icon. The default expander map is shown below.

{bmc bm533.bmp}
Expander Isentropic Map Viewer

+$#>Input Data - Charge Cooler Data Variables

The property sheet associated with charge-cooler elements enables the specification of their operating characteristics. An tabulated list giving the pressure loss, coolant temperature and effectiveness as a function mass flow rate is used to calculate the charge cooler performance at each crank angle increment.

{bmc bm534.bmp}
Charge Cooler Properties Menu

Label: Text entered here serves only as a reminder for the user and appears as a comment line in the *.sim file. 

Properties: The charge cooler map is entered via a series of menu screens, as described below.

{bmc bm535.bmp}
Charge Cooler Data Menu

No. of Values: Number of mass flow points used to define charge cooler performance characteristic (maximum 20) (param)

Mass Flow: Mass flow rate at point i.[kg/s]. Note the first mass flow rate ordinates must be 0.0. 

Pressure Loss: Pressure loss across charge cooler at mass flow rate point. [bar]. Note the first pressure loss ordinate must be 0.0.

Coolant Temperature: Charge cooler coolant temperature at mass flow rate point. [deg. C].

Efficiency: Charge cooler effectiveness at mass flow rate point. [ratio] (typically 0.6-0.8)
{bmc bm536.wmf}				(1)

Harness Connector: See Sensors and Actuators.

+$#>Input Data – Turbo Machines- Data Conversion Tool

The modelling of turbo machines in 1d simulation is based around the use of steady state performance maps. These maps of Mass Flow, Pressure Ratio and Efficiency are normally supplied by the Turbo Machine manufacturer, the exact form and units of which tend to vary from supplier to supplier.

To assist in producing data that is in the right form and in the correct units a utility tool is available for use in the importing a manipulation of maps. The tool provides combinations of unit corrections, scale factors and reference point resetting. The tool can be opened from the data sheet menubar of the Turbocharger and the Centrifugal compressor. It is also available direct from the main menu bar Tools / Turbo Machines – Data conversion Tool.

{bmc bm537.bmp}
Turbo Machines Data Tool – Opening the Tool

The users own map data is entered into a series of spread sheets, each speed point represented by a single spread sheet. The spread sheet is split into two sections, ‘editable’ users data and the ‘display only’ converted data. Once the users data is entered set the units and reference values that are applicable to this entered data. The units and references required for the converted data are set, (for import to LES these are already set to the default required settings).

{bmc bm538.bmp}
Turbo Machines Data Tool – Default Data Settings Illustrated

The default settings for the conversion side are:

		Temperature = Kelvin
		Mass (flow rate) = kg
		Time (flow rate) = s
		Pressure = kPa
		Speed = rpm
		Efficiency = 0-1
		T(ref) on Speed = On
		T(ref) on Flow = On
		T(reference) = 298.0
		P(ref) on Flow = On
		P(reference) = 100.0

These settings can be re-set using the menu option Options / Set Conversion Settings as Default LES.

The input side can be pre-filled from any relevant existing turbo machine element in the simulation model, (including the one the tool was opened from). This data can then be used either as a start point for modify /scaling element properties or for listing out in alternative units to use externally to the LES program.

{bmc bm539.bmp}
Pre-filling from LES Model Elements

Map values can be displayed in the spread sheets in either horizontal or vertical format. Select the require layout type from the menu items Options / Horizontal Spread Sheet Layout or Options / Vertical Spread Sheet Layout. The vertical/horizontal term refers to the direction that a single map points values lie in the spread sheet.

{bmc bm540.bmp}
Vertical Spread sheet layout

{bmc bm541.bmp}
Horizontal Spread sheet layout

To aid offline review of the data and provide a standalone hard copy for distribution use the File / Print Preview, Entered Data  and File / Print Preview, Converted Data menu options. These display the relevant data in a scrollable text box from which the data can be printed, saved to file etc.

To insert additional speed lines to existing data use the Options / Insert Speed Line After… or Options / Insert speed line before… menu items. This insert an additional spread sheet table in the appropriate place. Should you at a later stage require the speed points to be shuffled into the required ascending order use the Options / Shuffle speed lines into ascending order menu item.

To assist in simple scaling of data User scale Factors are available for scaling Mass (flow rate), Pressure, Speed and Efficiency. These scale factors are applied as simple multipliers before any units conversions or re-referencing is applied.

The data, both entered and converted, can be viewed as a contour plot in the same way as for the normal turbo machine data. A distinction is made between turbine and compressor maps in how the default contours are displayed.

{bmc bm542.bmp}
Example Turbine Efficiency Map

Data Conversion

The conversion of the entered data is a two step process the data is first converted to standard SI units corrected for any reference point value or state changes and then converted to the required output settings.

+$#>Input Data - Inlet Boundary Data

The Inlet and Exit Boundary elements define the extremities of the intake and exhaust system models. The variation of the inlet air pressure and temperature with engine speed can be specified in the ‘Boundary Data’ spreadsheet for an inlet. Note that this data can also be defined via the Steady-State Test Conditions Menu. Note also that no boundary data can be entered into the spread sheet menu until the steady-state test conditions have been defined. 

{bmc bm543.bmp}
Inlet Properties Menu

Inlet  Data Variables

Label: Text entered here serves only as a reminder for the user and appears as a comment line in the *.sim file.

No. of Values: Number of engine speed points at which inlet boundary data is specified

Speed: Engine speed.								[rev./min]

Pressure: Absolute pressure level at inlet boundary				[bar]

Temperature: Temperature at inlet boundary.					[oC]

Harness Connector: See Sensors and Actuators.

{bmc bm544.bmp}
Inlet Data Menu

+$#>Input Data - Exit Boundary Data

The Inlet and Exit Boundary elements define the extremities of the intake and exhaust system
models. For an Exit the nominal downstream pressure with engine speed can be specified in the ‘Boundary Data’ spreadsheet. Note that this data can also be defined via the Steady-State Test Conditions Menu. Note also that no boundary data can be entered into the spread sheet menu until the steady-state test conditions have been defined. The exit temperature can be defined either from an initial calculation of the exhaust gas temperature of Cylinder 1 at EVO or a used defined value. The switch of using either Cyl1 EVO or user defined is a global switch applying to all exit boundaries in the model and all test points.

{bmc bm545.bmp}
Exit Properties Menu

Exit Data Variables

Label: Text entered here serves only as a reminder for the user and appears as a comment line in the *.sim file.

Exit Temperature Initialisation: Set either to use Initial exhaust gas temperature of cylinder 1 at EVO or user defined value. Global switch applying to all test points and exit boundaries.

No. of Values: Number of engine speed points at which exit boundary data is specified

Speed: Engine speed.								[rev./min]

Pressure: Absolute pressure level at exit boundary				[bar]

Temperature: Temperature at exit boundary. (Optional)				[oC]

Harness Connector: See Sensors and Actuators.

{bmc bm546.bmp}
Exit Data Menu – Cyl 1 EVO Temperature Option Selected

{bmc bm547.bmp}
Exit Data Menu – User Defined Temperature Option Selected

+$#>Input Data – Mechanical Links Data Variables

Mechanical links currently are only relevant for transient analysis where they provide a means of defining not only the connection from the cylinder to the load, (this is assumed under steady state runs), but also define the inertia properties of the crankshaft. In future releases where multiple crankshafts are supported these mechanical links will then also define connectivity order and ratios between crankshafts.

Mechanical links can only be connected to the mechanical link connection on a cylinder, (the visibility of this needs to be set to ‘on’), and the output connection to a load, (as usual virtual links can be used to ease visual placement on the network).

{bmc bm548.bmp}
Mechanical Link Component (circled) and Property Sheet

Mechanical link Variables

Label: Text entered here serves only as a reminder for the user and appears as a comment line in the *.sim file.

Rot Inertia (kg.m2): Defines the rotational inertia of the shaft. Normally this would be the crankshaft rotational inertia.

+$#>Input Data – Loads Data Variables

Mechanical links currently are only relevant for transient analysis where they provide a means of defining not only the connection from the cylinder to the load, (this is assumed under steady state runs), but also define the inertia properties of the crankshaft. In future releases where multiple crankshafts are supported these mechanical links will then also define connectivity order and ratios between crankshafts.

Mechanical links can only be connected to the mechanical link connection on a cylinder, (the visibility of this needs to be set to ‘on’), and the output connection to a load, (as usual virtual links can be used to ease visual placement on the network).

{bmc bm549.bmp}
Steady State Load Component (circled) and Property Sheet

Steady State Load Variables

Label: Text entered here serves only as a reminder for the user and appears as a comment line in the *.sim file.

Load Type: Defines whether the load is a Steady State or Transient case. This is to allow a single load (you can only have one in a model), to be switched from steady state to transient. This is the only way of identifying a run as transient or steady state, there is no ‘solver’ switch do this, (i.e the model defines the run type)

Steady State Load Data: Opens the steady state test data summary screen display for editing.

Harness Connector: See Sensors and Actuators.

{bmc bm550.bmp}
Transient Load Component (circled) and Property Sheet

Transient Load Variables

Label: Text entered here serves only as a reminder for the user and appears as a comment line in the *.sim file.

Load Type: Defines whether the load is a Steady State or Transient case. This is to allow a single load (you can only have one in a model), to be switched from steady state to transient. This is the only way of identifying a run as transient or steady state, there is no ‘solver’ switch do this, (i.e the model defines the run type)

Initial Steady State Test Point: All transient runs must start from some initial steady state test condition. This selection box defines which of the currently defined steady state test points should be used as this initial condition.

Steady State Load Data: Opens the steady state test data summary screen display for editing.

Transient Data Test Case: selection box listing the currently defined transient test cases. Specifies which of the currently defined transient test cases should be used for the analysis.

Transient Case Data: Opens the transient test data summary screen display for editing.

Harness Connector: See Sensors and Actuators.

+$#>Input Data - Intake/Exhaust Super Elements - General

At present there are two basic types of Super-elements; Silencer Super-elements and Catalyst Super-elements. 

Silencer Super-Elements
There are two basic types of silencer type: reactive silencers and resistive silencers. Simple examples of reactive silences include Helmholtz and quarter-wave resonators – these devices attempt to reflect the acoustic energy carried by the pressure perturbations, generated by the engine, back toward the noise source. They exploit the mechanism of reflection and transmission of sound waves at geometrical discontinuities in ducts to control the control the acoustic power generated by the source and transmitted along the manifold. Obviously such devices are effective only over relatively narrow frequency ranges around their natural frequencies.

Resistive (also known as dissipative or absorptive) silencers are very common, being found in most silencers, and make use of sound-absorptive material to dissipate the acoustic energy as heat. Typically a perforated duct separates the main exhaust pipe from a cavity which is filled with the absorptive material. This kind of silencer provides good attenuation over a large frequency band but gives poor attenuation at low frequencies.

The concept of Silencer Super Elements is to allow the user to develop models of complex intake or exhaust silencer components rapidly. Silencer elements are generally composed of a number of pipes and volumes. A Silencer Super Element provides a way of automatically interpreting the geometry of a multi-element component and constructing an equivalent one-dimensional pipe network model. 

A screen-shot from the Super Element interface for a reactive silencer element is shown below. 

{bmc bm551.bmp}
Silencer Super Element Data Entry Window

The diagram is to scale so that individual component sizes change in the schematic as they are edited in the property sheet or directly by clicking on the relevant part of the diagram. The cross-section of the surrounding volume may be selected from a list – this enables the equivalent diameters in the resulting pipe network to be calculated automatically. 

The figure below shows the Silencer Super Elements available. The images on the left-hand side show the schematic of the element whilst those on the right-hand side show the equivalent acoustically equivalent models. Note that the Super Elements may all be converted into their acoustically equivalent models within the interface by selecting the ‘Convert to Pipes’ option from the menu generated by a right-mouse-button click when the particular super element is in focus. It is, of course, possible to create all the models represented by the list of Super Elements by using the Network Builder – the rationale of the Super Element concept is to reduce user effort and keep the representation of the engine model as simple as possible.

{bmc bm377.bmp}
Silencer Super Elements and Equivalent Pipe Networks

Further description of the modelling of silencer elements within the program can be found in the Theory section of this Help File.

Catalyst Super Elements
There are two basic types of catalyst super elements included, within the Lotus Engine Simulation, single brick catalysts and twin brick catalysts. Neither of these catalyst super elements includes full catalyst chemistry. This feature will be added to future versions of Lotus Engine Simulation.

The concept of the Catalyst Super Elements is to allow the user to develop models of the exhaust catalyst rapidly. Catalysts are generally composed of an inlet cone section, an exit cone section and either one or two catalyst bricks in between. The catalyst brick (or monolith) is generally formed by a ceramic honeycomb, which is impregnated with the active catalytic material. The typical monolith has square section passageways with internal dimensions of roughly 1mm. Another form of catalytic converter is formed from a bed of spherical ceramic pellets which are impregnated with the active catalytic material. A Catalyst Super Element provides a way of automatically interpreting the geometry of the catalyst component and constructing an equivalent one-dimensional pipe network model.

A screen-shot from the Catalyst Super Element interface is shown below. 

{bmc bm552.bmp}
Catalyst Super Element Data Entry Window

The diagram is to scale so that individual component sizes change in the schematic as they are edited in the property sheet or directly by clicking on the relevant part of the diagram. The dimensions of the monolith are entered in terms of the outer dimensions, the cell wall thickness and the number of cells per inch. Entering the data required by the catalyst super element produces the equivalent pipe network model shown below. A description of the input data required by the catalyst Super Elements can be found in the Data Variables section.

{bmc bm553.bmp}
Catalyst Super Element Equivalent Pipe Network

This pipe network can be manipulated in the Builder Interface as a single element, represented by the graphic shown below.

{bmc bm554.bmp}
Catalyst Super Element Graphic

This graphic can be converted to the equivalent pipe network using the ‘Convert to Pipes’ option on the menu generated by clicking the right mouse button when the Super Element is in focus.

+$#>Input Data - Silencer Super Elements – Data Variables

Label: Text entered here serves only as a reminder for the user and appears as a comment line in the *.sim file.

Silencer Type: Choice of Silencer Super Element type:

·	Simple (No Inserts)
{bmc bm555.bmp}

·	Simple (Twin Inserts)
{bmc bm556.bmp}

·	Centre Baffle
{bmc bm557.bmp}

·	Centre Baffle + Tube
{bmc bm558.bmp}

·	Folded Duct	
{bmc bm559.bmp}

Graphical Data Display: Depicts all dimensions of Super Element – toggling through Section ID list shows all variables. Data variables are indicated on schematic. Variables are a function of the type of Silencer Super Element selected.

End Corrections: If set to ‘Off’ the no pipe ‘end corrections’ (additional lengths) are added to the pipe lengths of the equivalent network model. If set to ‘On’ pipe end corrections are used depending on the setting of the following parameter:

Correction Type: ‘Default’ adds pipe end corrections based on default criteria which can be viewed from the window that can opened when ‘User Defined’ pipe end corrections are used; this window is shown below.

{bmc bm560.bmp}
Silencer Super Element End Effect Window

Target Mesh Length: Allows the mesh length of the pipe network created by the super element to be specified.  This option only has any influence if the Pipe Auto-Mesh option is disabled.

+$#>Input Data - Perforate Silencer Super Elements – Data Variables

Label: Text entered here serves only as a reminder for the user and appears as a comment line in the *.sim file.

Silencer Type: Choice of Super Element type:

{bmc bm561.bmp}

Graphical Data Display: Depicts all dimensions of Super Element, as shown in the Figure below – toggling through Section ID list shows all variables. Data variables are indicated on schematic. Variables are a function of the type of Silencer Super Element selected.

End Corrections: If set to ‘Off’ the no pipe ‘end corrections’ (additional lengths) are added to the pipe lengths of the equivalent network model. If set to ‘On’ pipe end corrections are used depending on the setting of the following parameter:

Correction Type: ‘Default’ adds pipe end corrections based on default criteria which can be viewed from the window that can opened when ‘User Defined’ pipe end corrections are used.

Model Type: This option is not available for the resistive silencer.  Two options are available for the perforate silencer:
·	Pipe Bundle.
·	Intra-nodal.

With the pipe bundle model the perforates are represented by a series of pipe bundle elements.  The length of these bundle elements is extremely short – representing the length (which is the wall thickness of the perforated tube) and end effect of each of the perforates.  This has a significant impact on the simulation run times.  In an attempt to address this, an alternative model (named intra-nodal) is available, where the perforate holes are not explicitly modelled.  The nodes of the perforate pipe and the pipe representing the cavity are connected via virtual perforate elements.

The resistive silencer super element is only available using the pipe bundle model.

Target Mesh Length: Allows the mesh length of the pipe network created by the super element to be specified.  This option only has any influence if the Pipe Auto-Mesh option is disabled.

Min No. of Mid Nodes: This parameter is only applicable to the intra-nodal model and allows the number of pipe nodes between each virtual perforate element to be controlled.

{bmc bm562.bmp}
Perforate Silencer Super Element Data Entry Window

Section Id: Allows a section of the silencer to be selected. The data menu displayed in the window will change to reflect the section of the silencer selected in this box.

Centre Box
Cross Section Style: Can be set to Circular, Elliptical, racetrack or Rectangular (used for cross-sectional area calculation of the cavity).

1st Axis Dia: Diameter of the first axis (used for cross-sectional area calculation).

2nd Axis Dia: Diameter of the second axis (used for cross-sectional area calculation).

Corner Rad: radius of corners – only applicable if Rectangular cross section style selected (used for cross-sectional area calculation).

Overall Length: Length of the cavity.

Wall Thickness: Value to be used in thermal network calculations.

Wall Factor: Wall friction factor – usually in range 0.02 to 0.005.

Wall Material: Material of pipe wall (for use in thermal network calculation).

Exit Pipe
(All other pipe parameters are taken from the Inlet Pipe data)
Exit Stub Length: Length of inner pipe after to the perforated section.

Perforate Pipe
(All other pipe parameters are taken from the Inlet Pipe data)
No. of Groups: Number of groups of perforate elements.  The silencer super elements generates a series of pipe bundles to represent the perforates.  One bundle is created for every perforate group.

No. of Holes Per Group: Number of perforates per perforate group.  This value determines the number of pipe created ion each bundle element. 

Single Hole Dia: Diameter of each individual perforate.  This determines the diameter of the pipes in the bundle element.

Wall Factor: Wall friction factor – usually in range 0.02 to 0.005.

{bmc bm563.bmp}
Perforate Dimension data

+$#>Input Data - Catalyst Super Elements – Data Variables

Label: Text entered here serves only as a reminder for the user and appears as a comment line in the *.sim file.

Silencer Type: Choice of Super Element type:

·	Catalyst Single Brick
{bmc bm564.bmp}

·	Catalyst Dual Brick
{bmc bm565.bmp}

Graphical Data Display: Depicts all dimensions of Super Element – toggling through Section ID list shows all variables. Data variables are indicated on schematic. Variables are a function of the type of Silencer Super Element selected.

Target Mesh Length: Allows the mesh length of the pipe network created by the super element to be specified.  This option only has any influence if the Pipe Auto-Mesh option is disabled.

{bmc bm566.bmp}
Catalyst Super Element Data Entry Window

Section Id: Allows a section of the catalyst to be selected. The data menu displayed in the window will change to reflect the section of the catalyst selected in this box.

Inlet or Exit Cone
1st Axis Dia: Diameter of the entry to the inlet cone (the flow area at the other end of the inlet cone will be set equal to the catalyst main body – this is taken from the brick data for single brick catalysts and from the centre box data for a twin brick catalyst).

Length: Length of the inlet cone.

Wall Thickness: Value to be used in thermal network calculations.

Wall Factor: Wall friction factor – usually in range 0.02 to 0.005.

Wall Material: Material of pipe wall (for use in thermal network calculation).

Brick
(Front or Rear Brick if dual brick catalyst)
Cross Section Style: Can be set to Circular, Elliptical, racetrack or Rectangular (used for cross-sectional area calculation).

1st Axis Dia: Diameter of the first axis (used for cross-sectional area calculation).

2nd Axis Dia: Diameter of the second axis (used for cross-sectional area calculation).

Corner Rad: radius of corners – only applicable if Rectangular cross section style selected (used for cross-sectional area calculation).

Brick Length: Length of the brick.

Cell Wall Thickness: The wall thickness of the monolith element, as shown in the schematic below. (used to calculate the cross-sectional area of each passage). 

Cell Wall Factor: Wall friction factor of the monolith.

Cell Wall Material: Wall material of the monolith.

Cells per sq-Inch: Number of cells per square inch of the brick (used to calculate the cross-sectional area of each passage and the total number of passages in the brick).

Channel dist Fact: Factor used to express the flow distribution through the brick. The total number of passages in the brick will be reduced by this factor.

{bmc bm567.bmp}
Catalyst Brick Cell Wall Thickness

Centre Box
(Only applicable to dual brick catalysts)
Cross Section Style: Can be set to Circular, Elliptical, racetrack or Rectangular (used for cross-sectional area calculation).

1st Axis Dia: Diameter of the first axis (used for cross-sectional area calculation).

2nd Axis Dia: Diameter of the second axis (used for cross-sectional area calculation).

Corner Rad: radius of corners – only applicable if Rectangular cross section style selected (used for cross-sectional area calculation).

Overall Length: Distance between the two catalyst bricks.

Wall Thickness: Value to be used in thermal network calculations.

Wall Factor: Wall friction factor – usually in range 0.02 to 0.005.

Wall Material: Material of pipe wall (for use in thermal network calculation).

+$#>Input Data - Test Conditions Data - General
The test conditions define the engine operating conditions at which the simulation is to be performed. This data is accessed via the Data Menu on the toolbar. Two types of test condition can be specified: Steady-State and Transient. 

+$#>Input Data - Steady State Test Conditions Data - General

Steady state test conditions can be used to define a series of discrete fixed speed tests conditions for the engine model. A steady state operating condition also needs to be defined for the starting point of a transient test – see Transient Tests. The steady state test conditions menu is accessed via the Data Menu on the toolbar, as shown below, or by clicking on the Steady State Test Conditions - Summary Icon. The most powerful way of editing the steady state test conditions data is through the steady state test conditions summary. 

{bmc bm568.bmp}
Selecting the Steady State Test Conditions Summary

The steady state test conditions summary window is split into nine discrete menus, as listed below. The tabs at the top of the window allow access to the various data section menus. Details of the data required by each of these menus can be obtained by following the link.

·	Test Points
·	Heat - Phase
·	Heat - Period
·	Fuelling
·	Boundary Conditions
·	Friction
·	Solution
·	Plotting
·	Actuators

The Test Conditions can be set up using the Create Wizard where the engine speed range, inlet and exit boundary conditions, and fuelling are defined. Default combustion data is then adopted for all Test Conditions. 

+$#>Input Data - Test Conditions - Steady State Create Wizard

Create Wizard

The Steady State Test Conditions Create Wizard can be opened by clicking on the Data menu and then on Test Conditions, another menu will appear allow Steady State Create Wizard to be selected, as shown below.

{bmc bm569.bmp}
Opening the Steady State Test Conditions Wizard

The incremental test points can be defined in one of two ways; by No. of tests or by speed increment.  The first option will create at even speed increments the number of defined tests between the limits specified, (for this option the speed increment value is greyed out). The second option will create test points starting at the defined minimum speed up to the defined maximum speed using the defined speed step size. For the second option a test point will only be created at the maximum speed value if it is a exact speed increment from the minimum speed point.

{bmc bm570.bmp}
Test Conditions Wizard Window

An additional option is provided such that the can use any existing defined test data as a basis for the new test data. The existing data values are interpolation to provide values at the new test point speeds.

Selecting ‘apply’ will create the required test points and populate them with either the default, user defined or interpolated values as appropriate.

The ambient and inlet temperatures, pressures and humidity can be automatically set to be those specified in a number of test standards.  Clicking on the Test_Standards item in the Test Conditions Wizard Menu opens the Test Standards menu, shown below.  This allows the selection of the desired test standard from a list of options.  Once a specified standard is selected the relevant data entry fields will be ‘greyed out’ and are prefiled with the appropriate data.  Alternatively, if you wish to specify your own ambient and inlet conditions the User Defined option should be selected.

{bmc bm571.bmp}
Test Conditions Wizard Test Standards Option

+$#>Input Data - Steady State Test Conditions Data – Test Points

In the Test Points Menu it is possible to specify a range of different engine speeds at which steady state simulations are to be performed.

Test Point: Test points can be added to the list by pressing the left hand mouse button, whilst the mouse pointer is positioned over Test Point Column. A Pop-Up menu will appear, which enables test points to be created, copied or deleted.

The maximum number of user defined test conditions is currently limited to 50, but this can be increased in required.

Speed: Engine crankshaft speed (rev./min.).

Solve: Can either be set to ‘On’ or ‘Off’. Once test points have been defined, individual points can be activated or de-activated. The user should check that all points that are to be run are set to ‘On’ before a simulation is submitted.

Label: Text entered here serves only as a reminder for the user and appears as a comment line in the *.sim file. 

Case Type: Three case types are available, ‘Builder Default’, ‘Load Finder (Simple)’ and ‘Load Finder (Bounded)’. The type of calculation to be performed can be selected by pressing the left hand mouse button, whilst the mouse pointer is positioned over the Case Type Column. A Pop-Up menu will appear, which enables the test type to be selected.
·	Builder Default - the model will be run at the defined test speed, using the model geometry defined in the builder window.
·	Load Finder (Simple) – the load finder will run the model at the defined test speed and attempt to match the output of the engine to that specified for the Load Finder Value. The output of the engine will be controlled by varying the control variable of the specified control group. The model will be run for a specified number of engine cycles (No Cylces (1)) using the default value for the load finder variable. The Load Finder will modify the Load Finder Variable, using damped linear scaling, to attempt to match the engine output to the Load Finder Value, the model will run for No Cycles (2) before changing the Load Finder Value again. Note that using the simple method, the Load Finder will assume that a reduction in the Load Finder Variable will load to a reduction in engine output. It should also be noted that due to the way the Load Finder ‘seeks’ the desired engine output, the number of engine cycles before the Convergence Check should be increased significantly. 
·	Load Finder (Bounded) - the load finder will run the model at the defined test speed and attempt to match the output of the engine to that specified for the Load Finder Value. The output of the engine will be controlled by varying the control variable of the specified control group. The model will be run for a specified number of engine cycles (No Cylces (1)) using the Upper Bound value for the Load Finder Variable. The model will then be run for No Cylces (1) using the Lower Bound value for the Load Finder Variable. Subsequently the Load Finder will run the model for No Cycles (2) and evaluate the Load Finder Variable based on the Secant method. The Bounded version of the load finder is able to determine the correct direction in which to vary the Load Finder Variable in order to achieve the Load Finder Value. However, in some circumstances more engine cycles may need to be computed before convergence is achieved. Again, it should also be noted that due to the way the Load Finder ‘seeks’ the desired engine output, the number of engine cycles before the Convergence Check should be increased significantly. 

Load Finder Data
Load Finder Units: The units for the Load Finder Value can be specified by pressing the left hand mouse button, whilst the mouse pointer is positioned over Load Finder Units Column. A Pop-Up menu will appear, which enables the Load Finder units to be selected.

Load Finder Value: The engine output value that the Load Finder will attempt to converge on. The units of the Load Finder Value will be those specified in the Load Finder Units filed.

Control Group: The element group is specified – see Element Groups. The Load Finder will vary the Control Variable of this Control Group to attempt to match the engine output to the Load Finder Value.

Control Variable: The Control Variable is the parameter of the Control Group which will be actuated by the Load Finder.

Upper Bound: Only applicable if ‘Load Finder (Bounded)’ is selected for the Case Type option. The value entered in this item will be used as the initial Load Finder Value.

Lower Bound: Only applicable if ‘Load Finder (Bounded)’ is selected for the Case Type option. The value entered in this item will be used as the second Load Finder Value.

No of Cycles (1): If ‘Load Finder (Simple)’ is selected for the Case Type option, then the value entered in this item will determine the number of cycles that the model runs, using the default value for the Load Finder Variable. If ‘Load Finder (Bounded)’ is selected for the Case Type option, then the value entered in this item will determine the number of cycles that the model runs with the Load Finder Variable set at the Upper Bound, then at the Lower Bound.

No of Cycles (2): If ‘Load Finder (Simple)’ is selected for the Case Type option, then the value entered in this item will determine the number of cycles that the model is run, with a constant each Load Finder Value, subsequent to the initial period of No of Cycles (1). If ‘Load Finder (Bounded)’ is selected for the Case Type option, then the value entered in this item will determine the number of cycles the model runs, with a constant Load Finder Value, subsequent to the runs with the Load Finder Variable set at the Upper Bound and Lower Bound.

+$#>Input Data – Steady State Test Conditions Data – Heat Release Phase

The Heat – Phase Menu is used to enter the combustion heat release timing data – See Theory section for details.

Test Point: The test point numbers (defined in the Test Points Menu) appear in this column.

Speed: Engine crankshaft speed (rev./min.).

Phase Option: The option selected in this column determines the method for specifying the phasing of the heat release calculation. Pressing the left hand mouse button whilst the mouse cursor is over this column will activate a Pop-Up menu which allows the desired Phase Option to be selected. The definition of the combustion phasing is a function of the type of fuel being used. It is notoriously difficult to reliably measure both the start and end of combustion in spark-ignited gasoline and methanol fuelled engines. An approach has therefore been adopted by which the combustion phasing of these engines is defined as the number of crank degrees after TDC firing at which 50% of the fuel has been burnt. (Note a negative crankangle value implies an angle of 50% burn before TDC). For diesel (and some gas) engines, however, the start and end of combustion are more easily obtained. Thus for all other engines the combustion phasing is defined as the number of crank degrees before TDC at which combustion starts. (Note a negative crank angle value for these engines implies a start of combustion timing after TDC)

Default Heat Release Phase: Default heat release phase angles are available for all combustion systems. For Carburettor/Port Injected - Gasoline/Methanol engines the heat release phase is given as the angle of 50% burn (degrees ATDC). For all other combustion systems the heat release phase is given as the start of combustion timing (degree BTDC) - see Theory section for details.

User Defined Heat Release Phase: See above. Note that it is possible to specify this data individually or by making the values for cylinder number 1 common to all cylinders setting using the Cylinder Data option - see Theory section for details.

User Defined Initial Heat Release and Target Pmax: User defined starting heat release phase and target maximum cylinder pressure for all cylinders. With this option the heat release phase is automatically advances or retarded by the program such that the maximum cylinder pressure achieved the target maximum pressure - see Theory section for details.

User Defined Most Advanced Heat Release and Limiting Pmax: User defined most advanced heat release phase and limiting maximum cylinder pressure for all cylinders. With this option the heat release phase is automatically retarded by the program such that the maximum cylinder pressure never exceeds the target maximum pressure. This may be used as a first order correction for knock on gasoline engines - see Theory section for details. Note that it is possible to specify this data individually or by making the values for cylinder number 1 common to all cylinders by using the Cylinder Data option.

Cylinder Data: If anything other than Default Heat Release Phase is selected for the Phase Option, then the Phase Angle data and Pmax data can be set individually for each cylinder. Pressing the left hand mouse button whilst the mouse cursor is over this column will activate a Pop-Up menu which allows the desired Cylinder Data option to be selected.

Cylinder No.: If the Cylinder Data option is set to Individual the cylinder numbers will appear in this column.

Phase Angle: 50% burn point (Crank degrees ATDC). This is either set individually, or for all cylinders, depending upon the setting specified selected for Cylinder Data.

Pmax: Depending upon the selection for the Phase Option, field is used to enter the Target Pmax value or the Limiting Pmax value. 

Note that the Combustion Analysis tool can be used to analyse cylinder pressure data in order to obtain heat release data at each engine speed. The results can then be written to the simulation data file using the ‘Close Make Current’ option.

A facility which can be used to reduce the amount of data entered in the Test Conditions section is the ‘Copy Data to All Test Points’ option which copies all the data in the sheet which is open to all the engine test points.

+$#>Input Data -  Steady State Test Conditions Data – Heat Release Period

The Heat – Period Menu is used to enter the combustion heat release duration data – See Theory section for details.

Test Point: The test point numbers (defined in the Test Points Menu) appear in this column.

Speed: Engine crankshaft speed (rev./min.).

Period Option: The option selected in this column determines the method for specifying the combustion duration for the heat release calculation. Pressing the left hand mouse button whilst the mouse cursor is over this column will activate a Pop-Up menu which allows the desired Period Option to be selected. The definition of the combustion duration is a function of the type of fuel being used. It is notoriously difficult to reliably measure both the start and end of combustion in spark ignited gasoline and methanol fuelled engines. An approach has therefore been adopted by which the combustion duration of these engines is defined as the number of crank degrees between 10% and 90% mass fraction burnt. For diesel (and some gas) engines the start and end of combustion are more easily obtained. Thus for all other engines the combustion duration is defined as the number of crank degrees between 0 and 100% mass fraction burn.

Default Combustion Duration: Default heat release duration values are available for all combustion systems. These are mainly intended to allow the user to quickly develop a new model and should not be relied upon for accurate modelling of each combustion system / fuel type combination. - see Theory section for details. 

User Defined Combustion Duration: User Defined Heat Release Phase: See above. Note that it is possible to specify this data individually or by making the values for cylinder number 1 common to all cylinders by using the Cylinder Data list box - see Theory section for details.

User Defined Mass Fraction Burned Curves: With this option the user may specify the variation of mass fraction burned with crank angle in order to define the combustion duration. Note that it is possible to specify this data individually or by making the values for cylinder number 1 common to all cylinders by using the Cylinder Data list box. This data will over-ride the data entered for the Combustion Model.

Cylinder Data: If either User Defined Combustion Duration or User Defined Mass Fraction Burn Curves options are selected for the Period Option, then the data can be entered individually for each cylinder. Pressing the left hand mouse button whilst the mouse cursor is over this column will activate a Pop-Up menu which allows the desired Cylinder Data option to be selected.

Cylinder No.: If the Cylinder Data option is set to Individual the cylinder numbers will appear in this column.

Release Period: If the Period Option is set to User Defined Combustion Duration then this column is used to enter the combustion duration. The heat release phasing is set by the data entered in the Heat Release – Phase Menu. The shape of the heat release curve will be set by the data specified in the combustion model. This is either set individually, or for all cylinders, depending up the option specified in Cylinder Data.

No. of Points: If the Period Option is set to User Defined Mass Fraction Burn Curves then this column is used to enter the number of points that will be used to specify the mass fraction burn curve.

List Data: If the Period Option is set to User Defined Mass Fraction Burn Curves then this column is used, via a Pop-up menu, to toggle the display of the mass fraction burned data in the Angle and Mass Fraction columns. 

Angle: If the Period Option is set to User Defined Mass Fraction Burn Curves then this column is used to enter the angle data for the mass fraction burn curve. The mass fraction burned angle data must start at 0 degrees. This column is only visible of the List Data option is set to 'On'.

Mass Fraction: If the Period Option is set to User Defined Mass Fraction Burn Curves then this column is used to enter the mass fraction burned data. The mass fraction burned data is entered as a value between 0 and 1 and the data must start at 0 and finish at 1. This column is only visible of the List Data option is set to 'On'.

Note that the Combustion Analysis tool can be used to analyse cylinder pressure data in order to obtain heat release data at each engine speed. The results can then be written to the simulation data file using the 'Close Make Current' option.

A facility which can be used to reduce the amount of data entered in the Test Conditions section is the 'Copy Data to All Test Points' option which copies all the data in the sheet which is open to all the engine test points.

+$#>Input Data – Steady State Test Conditions Data – Fuelling

The Fuelling Menu is used to enter the fuelling data - See Theory section for details.

Test Point: The test point numbers (defined in the Test Points Menu) appear in this column.

Speed: Engine crankshaft speed (rev./min.).

Combustion Option: There are three options available for the combustion option, which can be specified using the Pop-up menu. The user can opt to specify a combustion efficiency value, a combustion efficiency value and a mal-distribution factor, or neither. 

Combustion Efficiency: Combustion efficiency, defined as the fraction of the fuel delivered to the cylinder or trapped in the cylinder that is burnt. (ratio) (normally = 1.0). This column is only activated if 'Combustion Efficiency' or 'Efficiency + Maldistribution' have been selected in the Combustion Option column.

Mal-Distribution Factor: This has the same definition as the mal-distribution factor that is provided/defined by the fuel specification, however the value specified here will override that previously defined in order to tune individual test points. This factor is used to allow for a reduction in the effective calorific value of the fuel due to running rich, dissociation effects, and poor charge mixing. Suggested values for this parameter are: 1.0 for gasoline, diesel, or methanol, and 0.0 for methane. Further information can be obtained in the Theory section.

Fuelling Option: The fuelling option is used to select how the amount of fuel added to the cylinder will be specified. Pressing the left hand mouse button whilst the mouse cursor is over this column will activate a Pop-Up menu which allows the desired Fuelling Option to be selected.

Trapped Air / Fuel Ratio: Trapped air fuel ratio specified for all or individual cylinders. This option is only available for DI or IDI combustion systems.

Equivalance Ratio: Equivalence ratio specified for all or individual cylinders. This option is only available for Carburetted or PI combustion systems. Equivalance ratio is defined as 

	{bmc bm572.wmf}

Fueling Specified: Fuelling specified (mm3/inj) for all or individual cylinders. This option is only available for DI or IDI combustion systems.

A Calculatoris provided in order to calculate the equivalence ratio from the air / fuel ratio based on the fuel type specified. This calculator also indicates the stoichiometric air / fuel ratio for the fuel. The calculator can be invoked by pressing the left hand mouse button whilst the mouse cursor is over the Fuelling Option column, this will activate a Pop-Up menu, the last option on this menu activates the calculator.

A facility which can be used to reduce the amount of data entered in the Test Conditions section is the 'Copy Data to All Test Points' option which copies all the data in the sheet which is open to all the engine test points.

+$#>Input Data – Steady State Test Conditions Data – Boundary Conditions

The Boundary Conditions Menu is used to specify the conditions at the inlet and exit boundaries.

Test Point: The test point numbers (defined in the Test Points Menu) appear in this column.

Speed: Engine crankshaft speed (rev./min.).

Humidity Option: The Humidity Option allows the user to specify how they wish to enter the ambient humidity data. Pressing the left hand mouse button whilst the mouse cursor is over this column will activate a Pop-Up menu which allows the desired Humidity Option to be selected.

Specific Humidity (kg/kg): If ‘Specific Humidity’ has been selected for the Humidity Option, then the ambient humidity can be entered in this column.

Relative Humidity (0-1): If ‘Relative Humidity’ has been selected for the Humidity Option, then the ambient humidity can be entered in this column.

Ambient Air Pressure (bar-abs): The ambient pressure should be entered in this column. This value will be used in the determination of the volumetric efficiency of the engine.

Ambient Air Temperature (°C): The ambient temperature should be entered in this column. This value will be used in the determination of the volumetric efficiency of the engine.

Inlet No.: Each of the inlet boundaries in the model will be listed in this column.

Inlet Pressure: Pressure at each of the inlet boundaries. (bar-abs)

Inlet Temperature: Temperature at each of the inlet boundaries. (°C)

Exit No.: Each of the exit boundaries in the model will be listed in this column.

Exit Pressure: Pressure at each of the exit boundaries. (bar-abs)

Note that the exit temperature is taken to be equal to the temperature of the gas that has flowed out through it.

A facility which can be used to reduce the amount of data entered in the Test Conditions section is the 'Copy Data to All Test Points' option which copies all the data in the sheet which is open to all the engine test points.

+$#>Input Data – Steady State Test Conditions Data – Friction

The Fiction Menu is used to specify the engine mechanical frictional losses at each of the test conditions. Alternatively the Friction Estimator Tool can be used to estimate the FMEP values at each engine speed. The results can then be written to the simulation data file using the ‘Close Make Current’ option.

Test Point: The test point numbers (defined in the Test Points Menu) appear in this column.

Speed: Engine crankshaft speed (rev./min.).

Friction Option: The Friction Option allows the user to specify how they wish to specify the engine mechanical losses. Pressing the left hand mouse button whilst the mouse cursor is over this column will activate a Pop-Up menu which allows the desired Friction Option to be selected. From this menu the user is able to choose from a variety of friction models available in the code. These are: 

·	H.B.Moss Gasoline Engine Friction Model
·	Millington and Hartless DI Diesel Friction Model
·	Millington and Hartles IDI Diesel Friction Model
·	Chen and Flynn Large Engine Friction Model
·	Patton and Heywood Model
·	Honda Model
·	Modified Honda Model

Details of these models can be found in the Fiction Tool Theory section.

It should be noted that the Patton and Heywood Model and both forms of the Honda Model require additional data regarding the dimensions of various engine components – this is described below.

Alternatively the user can specify the frictional loss of the engine directly using the ‘User Defined FMEP’ or the ‘User Defined Mechanical Efficiency’ options. The ‘User Subroutine’ option enables the user to dynamically pass data at runtime to an externally compiled routine, where the user can add their own friction model – See the User Subroutines section. 

Cylinder Data: If ‘User Defined FMEP’, ‘User Defined Mechanical Efficiency’, ‘Patton and Heywood Model’, ‘Honda Model’, ‘Modified Honda Model’ or ‘User Subroutine’ is selected as the Friction Option, then the data can be entered individually for each cylinder. Pressing the left hand mouse button whilst the mouse cursor is over this column will activate a Pop-Up menu which allows the desired Cylinder Data option to be selected.

Cylinder No.: If the Cylinder Data option is set to ‘Individual’ the cylinder numbers will appear in this column.

FMEP (bar): If the ‘User Defined FMEP’ option is selected in the Friction Option column, then the FMEP can be entered in this column. The FMEP is entered for each cylinder or assigned to all cylinders, depending upon the option selected in the Cylinder Data column. FMEP should not include pumping work as this is calculated by the model (bar).

User Defined Mechanical Efficiency: If the ‘User Defined Mechanical Efficiency’ option is selected in the Friction Option column, then the mechanical efficiency can be entered in this column. The mechanical efficiency is entered for each cylinder or assigned to all cylinders, depending upon the option selected in the Cylinder Data column. The mechanical efficiency is entered as a value between 0 and 1. The FMEP will then be calculated as the product of the mechanical efficiency and the BMEP.

A facility which can be used to reduce the amount of data entered in the Test Conditions section is the 'Copy Data to All Test Points' option which copies all the data in the sheet which is open to all the engine test points.

If the Patton and Heywood Model or either form of the Honda Model have been selected in the Friction Option column, then additional data regarding the dimensions of various engine components is required. The columns for entering this data can be viewed by scrolling the Fiction Menu window to the right using the slider control at the bottom of the window.

Main Bearing Type: Pressing the left-hand mouse button whilst the mouse cursor is over this column will activate a Pop-Up menu which allows the appropriate main bearing type to be selected from a list of possible options ‘In-line Default’, ‘V-Default’ or ‘V Two Cyl Per Pin Default’ which can be selected by left-clicking on the required option.  There is also a ‘User Defined’ option, which allows bearing diameter and length data to be entered into the boxes to the two columns to the right of the No. of Mains column.

No. of Mains: Allows the number of main bearings in the engine to be specified.

Main Dia: If ‘User Defined’ has been selected as the Main Bearing Type option, then the main bearing diameter is entered in this column.

Main Brg Length: If ‘User Defined’ has been selected as the Main Bearing Type option, then the main bearing length is entered in this column.

Crank Pin Type: Pressing the left-hand mouse button whilst the mouse cursor is over this column will activate a Pop-Up menu which allows the appropriate main bearing type to be selected from a list of possible options ‘In-line Default’, ‘V-Default’ or ‘V Two Cyl Per Pin Default’ which can be selected by left-clicking on the required option.  There is also a ‘User Defined’ option, which allows bearing diameter and length data to be entered into the boxes in the two columns to the right of the Crank Pin Type column.

Pin Dia: If ‘User Defined’ has been selected as the Crank Pin Type option, then the crank pin diameter is entered in this column.

Pin Brg Length: If ‘User Defined’ has been selected as the Crank Pin Type option, then the crank pin bearing length is entered in this column.

Valve Train Type: Pressing the left-hand mouse button whilst the mouse cursor is over this column will activate a Pop-Up menu which allows the appropriate valve train type to be selected from a list of possible options, which can be selected by left-clicking on the required option.

Follower Type: Pressing the left-hand mouse button whilst the mouse cursor is over this column will activate a Pop-Up menu which allows the appropriate cam follower type to be selected from a list of possible options, which can be selected by left-clicking on the required option.

Valves Per Cyl: The total number of valves (inlet + exhaust) per cylinder is entered in this column.

Max Valve Lift: The maximum valve lift is entered in this column.

Cam Brg Type: Pressing the left-hand mouse button whilst the mouse cursor is over this column will activate a Pop-Up menu which allows the appropriate cam follower type to be selected from a list of possible options, which can be selected by left-clicking on the required option. If ‘User Defined’ is selected then the cam bearing diameter and length data must be entered into the two columns to the right of the Cam Brg Type column

Cam Brg Dia: If ‘User Defined’ has been selected as the Cam Brg Type option, then the camshaft bearing diameter is entered in this column.

Cam Brg Length: If ‘User Defined’ has been selected as the Cam Brg Type option, then the camshaft bearing length is entered in this column.

Load Ratio: This column can be used to fine tune the friction values by adjusting the cylinder pressures and hence piston ring friction.

+$#>Input Data – Steady State Test Conditions Data – Solution

The Solution Menu is used to control the maximum timestep size used by the calculation and also the parameters that define when the calculation is complete.

Test Point: The test point numbers (defined in the Test Points Menu) appear in this column.

Speed: Engine crankshaft speed (rev./min.).

Step Size Option: Pressing the left-hand mouse button whilst the mouse cursor is over this column will activate a Pop-Up menu which allows the user to either specify default maximum calculation crankangle intervals to be used or specify the maximum crankangle step size that the calculation may take at given stages of the cycle. Inexperienced users are recommended to use the default option. 

Inlet + Exhaust Open: If ‘User Defined Crankshaft Maximum Angle Step Sizes’ is selected in the Step Size Option column then this column is used to specify the maximum allowable calculation crankangle increment that can be used during the valve overlap period of any given cylinder in the model. (maximum 2.0 degrees)

Inlet or Exhaust Open: If ‘User Defined Crankshaft Maximum Angle Step Sizes’ is selected in the Step Size Option column then this column is used to specify the maximum allowable calculation crankangle increment that can be used whilst either the inlet or the exhaust valves of any cylinder are open. (maximum 2.0 degrees)

All Valves Closed: If ‘User Defined Crankshaft Maximum Angle Step Sizes’ is selected in the Step Size Option column then this column is used to specify the maximum allowable calculation crankangle increment that can be used whilst all of the valves are closed. (maximum 2.0 degrees)

Cycle Limits: Pressing the left-hand mouse button whilst the mouse cursor is over this column will activate a Pop-Up menu which allows the user to choose to select default values for these parameters or set them himself. Inexperienced users are recommended to use the default option.

Before Convergence Check: If ‘User Defined Cycle Limits’ is selected in the Cycle Limits column then this column is used to specify the No. of engine cycles which will be calculated before the solution convergence is checked (must not be less than 3).

Max. No. for Simulation Run: If ‘User Defined Cycle Limits’ is selected in the Cycle Limits column then this column is used to specify the maximum number of engine cycles at which simulation will stop if not previously converged.(typically 10-25 – However for load finder runs this should be increased significantly – See Test Points Menu)

Cycle No. From Which Results Are Written: If ‘User Defined Cycle Limits’ is selected in the Cycle Limits column then this column is used to specify the cycle number above which the results at the end of every cycle are printed to the .mrs file (giving the data summary for the simulation run).

A facility which can be used to reduce the amount of data entered in the Test Conditions section is the 'Copy Data to All Test Points' option which copies all the data in the sheet which is open to all the engine test points.

+$#>Input Data – Steady State Test Conditions Data – Plotting Options

The Plotting Menu is used to specify which data is written to the *.Prs file – See the Prs Results Viewer section.

Test Point: The test point numbers (defined in the Test Points Menu) appear in this column.

Speed: Engine crankshaft speed (rev./min.).

Plotting Option: Pressing the left-hand mouse button whilst the mouse cursor is over this column will activate a Pop-Up menu which allows the user to either select either the ‘Default Plotting Options’ or ‘User Defined Plotting Options’.  If ‘Default Plotting Options’ are selected, then the remaining columns in the Plotting Menu will become ‘greyed out’ for that particular test point. If ‘User Defined Plotting Options’ is selected, then the remaining columns in the menu are used to specify which data are to be written to the *.PRS file.

Cylinder Options: Pressing the left-hand mouse button whilst the mouse cursor is over this column will activate a Pop-Up menu which allows the user to select which data, relating to the cylinders, is saved to the *.PRS file. Only data saved to the *.PRS file will be available in the Prs Results Viewer.

Plenum Options: Pressing the left-hand mouse button whilst the mouse cursor is over this column will activate a Pop-Up menu which allows the user to select which data, relating to the plenums, is saved to the *.PRS file.

Pipe Options: Pressing the left-hand mouse button whilst the mouse cursor is over this column will activate a Pop-Up menu which allows the user to select which data, relating to the pipes, is saved to the *.PRS file.

Flow Options: Pressing the left-hand mouse button whilst the mouse cursor is over this column will activate a Pop-Up menu which allows the user to select if element mass flow data is required. Note that storage of the pipe mass flow rate data is controlled via the Pipe Options.

Turbine Options: Pressing the left-hand mouse button whilst the mouse cursor is over this column will activate a Pop-Up menu which allows the user to select which data, relating to the superchargers, compressors and turbines, is saved to the *.PRS file.

A facility which can be used to reduce the amount of data entered in the Test Conditions section is the 'Copy Data to All Test Points' option which copies all the data in the sheet which is open to all the engine test points.

+$#>Input Data – Steady State Test Conditions Data – Actuators

The Actuators Menu is used to specify which actuators are enabled for each test condition – See the Sensors & Actuators section.

Test Point: The test point numbers (defined in the Test Points Menu) appear in this column.

Speed: Engine crankshaft speed (rev./min.).

Actuator: All of the actuators in the model are listed in this column. The user can select to enable or disable each of the actuators using the Option column. If an actuator is disabled, the element will revert to the properties entered for it in the element property sheet.

Option: Pressing the left-hand mouse button whilst the mouse cursor is over this column will activate a Pop-Up menu which allows the actuators to be individually switched ‘On’ or ‘Off’. Alternatively the actuators can all be switched ‘On’ or ‘Off’ for a given test point or can all be switched ‘On’ or ‘Off’. user to either select either the ‘Default Plotting Options’ or ‘User Defined Plotting Options’.

A facility which can be used to reduce the amount of data entered in the Test Conditions section is the 'Copy Data to All Test Points' option which copies all the data in the sheet which is open to all the engine test points.

+$#>Input Data - Transient Test Conditions Data - General

Transient test conditions can be used to define a series of transient test cases for the engine model. A steady state operating condition also needs to be defined for the starting point of a transient test – see Steady State Tests. The transient test conditions menu is accessed via the Data Menu on the toolbar, as shown below.

{bmc bm573.bmp}
Selecting the Transient Test Conditions Summary

The transient case conditions summary window is split into two discrete menus, as listed below. The tabs at the top of the window allow access to the various data section menus. Details of the data required by each of these menus can be obtained by following the link.

·	Test Cases
·	Actuators

+$#>Input Data - Transient Test Conditions Data – Test Cases

In the Test Cases Menu it is possible to specify a range of different engine conditions for which transient simulations can be performed.

Test Case: Test cases can be added to the list by pressing the left hand mouse button, whilst the mouse pointer is positioned over Test Case Column. A Pop-Up menu will appear, which enables test cases to be created, copied or deleted.

The maximum number of user defined transient test cases is currently limited to 20, but this can be increased in required.

Label: Text entered here serves only as a reminder for the user and appears as a comment line in the *.sim file. 

Length Type: Can either be set to ‘Time’ or ‘Cycles’. This sets the x-axis for the defined transient test case. For ‘Time’ the transient test case will be defined in terms of event against time, whilst ‘Cycle’ will mean that the cycle event is defined against no of engine cycles.

Length (s)/cycles: Defines the length of the cycle either in seconds or No. of engine cycles, depending on length type above.

Load Inertia (kg/m2): Sets the inertia applied to the engine system model to simulation the inertial load in the system for transient load case. This should include for example any crankshaft flywheel that has not been added to the mechanical link.

Update Speed: Can be either ‘By Time Step’ or ‘By Cycle’. This determines how often the crankshaft speed is re-calculated.

Event Type: Can be either ‘Load vs Time’ or ‘Load vs Cycles’. This allows the transient event’s x-axis to be defined in either time or cycles independent of the overall events duration definition.

Event Units: Sets the load units for the transient event. Select from ‘Mean Effective Pressure (bar)’, ‘Power (kw)’ or ‘Torque (Nm)’. This defines the ‘y-axis’ of the transient event case.

Trans. First Value: Sets the value of the first load point to be used in a transient calculation. ‘Always Use List’ directs the program to take all the load values used in the transient from the list defined in the input section. ‘Use Last Steady State Cycle for Start’ sets the load condition for the first cycle of the transient to the BMEP level calculated at the end of the steady state section of the calculation – subsequent values are interpolated. ‘Use Last Steady State Cycle for All’ sets the load condition for the entire transient calculation to the BMEP level calculated at the end of the steady state section of the simulation.

No of Points: Defines the number of x-y points used to define the event.

Start Point: Sets the point in the defined event that the transient event should use as its start point. This would normally be 1, i.e. start at start of event, but the option is available to start from any of the event points.

List Data: Control the visibility of the event data. Set to ‘on’ if you require to enter/edit the event data.

X -- Y: These two columns list the transient event data. The x values should be in units appropriate for the ‘Event Type’ as either seconds or cycle No., whilst the y values should be in units appropriate for the ‘Event Units’.

+$#>Input Data - Transient Test Conditions Data – Actuators

The Actuators Menu is used to specify which actuators are enabled for each test condition – See the Sensors & Actuators section.

Test Case: The test case numbers (defined in the Test Case Menu) appear in this column.

Actuator: All of the actuators in the model are listed in this column. The user can select to enable or disable each of the actuators using the Option column. If an actuator is disabled, the element will revert to the properties entered for it in the element property sheet.

Option: Pressing the left-hand mouse button whilst the mouse cursor is over this column will activate a Pop-Up menu which allows the actuators to be individually switched ‘On’ or ‘Off’. Alternatively the actuators can all be switched ‘On’ or ‘Off’ for a given test case or can all be switched ‘On’ or ‘Off’. user to either select either the ‘Default Plotting Options’ or ‘User Defined Plotting Options’.

A facility which can be used to reduce the amount of data entered in the Test Conditions section is the 'Copy Data to All Test Points' option which copies all the data in the sheet which is open to all the engine test points.

#>{bml bm574.bmp}

#>{bml bm575.bmp}

#>{bml bm576.bmp}

 #{bml bm577.bmp}

#>{bml bm578.bmp}

#>{bml bm579.bmp}

#>{bml bm580.bmp}

#>{bml bm581.bmp}

#>{bml bm582.bmp}

#>{bml bm583.bmp}

#>{bml bm584.bmp}

#>{bml bm585.bmp}

#>{bml bm586.bmp}

#>{bml bm587.bmp}

#>{bml bm588.bmp}

#>{bml bm589.bmp}

#>{bml bm590.bmp}

#>{bml bm591.bmp}

#>{bml bm592.bmp}

#>{bml bm593.bmp}

#>{bml bm594.bmp}

#>{bml bm595.bmp}

#>{bml bm596.bmp}

#>{bml bm597.bmp}

#>{bml bm598.bmp}

#>{bml bm599.bmp}

#>{bml bm600.bmp}

#>{bml bm601.bmp}

#>{bml bm602.bmp}

#>{bml bm603.bmp}

#>{bml bm604.bmp}

#>{bml bm605.bmp}

#>{bml bm606.bmp}

#>{bml bm607.bmp}

#>{bml bm608.bmp}

#>{bml bm609.bmp}

#>{bml bm610.bmp}

#>{bml bm611.bmp}

#>{bml bm612.bmp}

+$#>Input Data – Sensors and Actuators – Introduction
Overview

Sensors and Actuators provide the mechanism for manipulating the simulation model’s data and form. ‘Actuators’ are the element used to change the properties of a component in the model, whilst the ‘sensor’ element performs the function of acquiring a components current calculated result or data value.

Sensors and Actuators are linked to the simulation model in a similar way to the standard components. Connections are made via harness ‘wires’, that are attached to the relevant components ‘Harness’ point. These component harness points are normally not visible and need to be made visible before they can be used. This visibility setting is by individual component and is located in the component’s property sheet.

A typical use of a sensor and actuator would be to simulate variable valve timing, the sensor would sense engine speed pass this value to the actuator, that would then change the valve timing for the relevant valves.

In order that sensors and actuators can perform the functions required of them, it must be specified how the sensors pass the information to the various actuators and then how the actuators process that information and pass it on to the model component. 

Since an actuator can have a number of ‘sensor’ inputs we need to be able to implement the required functionality with simple element building blocks. The method employed is for sensors and actuators to have a number of control elements associated with them in a parent/child type relationship, each one of which has a specific definable function. ‘Double-clicking’ on a sensor or actuator takes you down onto the child level where the required functional response can be defined by building a control element network.

A range of 1D and 2D control elements are available direct from the toolkit, (where the ‘1’ and ‘2’ refer to the number of inputs to the control element) to build the control element network.

To avoid repetition in the network, sensors and actuators can be applied to model element groups.

+$#>Input Data – Sensors and Actuators – Adding to the Model
Adding to the Model

Sensors and Actuators are added to the simulation model in the same way as any other component, by selection from the appropriate toolkit panel with the left mouse and then dragged into position on the network display. They have their own ‘tab’ on the toolkit, labelled ‘Sensors & Actuators’. This has the five basic sensor and actuator components, (see illustration below).

{bmc bm613.bmp}
Sensors and Actuators Toolkit Panel

The convention is that sensors have green background colours, whilst actuators are coloured yellow. Harness wires are coloured brown to distinguish them from pipes and virtual links. 

The top component is the generic sensor element having two connection points, an input and an output. This sensor element is used for most sensor requirements, the exceptions being when the required sensed parameter is time.

The second component is the time sensor element, this has only one connection point for an output. This sensor can provide the analysis time for either steady state or transient runs.

The third component is the generic actuator element, this has two connection points, an input and an output. This actuator element provides all required actuator requirements.

The fourth component is the sensor plot element, whilst this is grouped with the sensor and actuator elements its function is slightly different in that the values its senses are intended for post processing only, and are passed directly to an output file. Hence this component has only one connection point, that being for input only. The output file is defined through its property sheet.

The fifth component, for which three forms are shown, is the harness wire. This is the component that is used to connect the model elements to the sensors and actuators and also to connect sensors to actuators. All connections to the model elements are made through their harness connectors.

+$#>Input Data – Sensors and Actuators – Harness Connections
Overview

Sensors and Actuators are connected to each other and in turn connected to the simulation model components through the use of harness wires. The harness wires are connected to the normal simulation model components through their harness connectors. These harness connectors are different to the normal connection points and are identified by being drawn as black squares rather than the normal connection points black circles.

{bmc bm614.bmp}
Element Connection Points

Visibility

By default all new component added to the model will have their harness connector visibility set to ‘off’. The visibility switch is set through the component’s property sheet, normally towards the bottom of the data fields.

{bmc bm615.bmp}
Example Harness Visibility Switch

To aid in connectivity checking any visible component harness connectors that do not have a harness wire connected to them will produce a warning message from the data checker. These can be ignored, (like all warnings), but do help in tracing incomplete model connections. The shortcut key combination Ctrl+k can also be used to toggle the visibility status of the harness connector.

Connectivity

The only components that can be connected to a harness connector are harness wires and virtual links, (remember that virtual links are purely spatial links and must then be connected to a harness wire).

Availability

All component types have 1 harness connection point with the following exceptions;

	No connections:
		Stop Ends
		Pipes
		Bends
		Loss Junctions
		Virtual Links

	Two connections:
		Turbochargers, (one on compressor, one on turbine)

+$#>Input Data – Sensors and Actuators – Harness Wires
Overview

Harness wires provide the connection between the normal simulation components and the sensors and actuators. They also provide the connection between sensors and actuators.

Form

The harness wires are drawn in brown and have square ends to distinguish them from the normal ‘pipe’ elements, Like pipe elements they are ‘elastic’ and can be stretched to join components together. In a similar manner to pipes they can be displayed in three forms, straight, single bend and double bend. The different forms are intended to make network layout clearer and do not imply any functional difference.

{bmc bm616.bmp}
Harness Wire Forms
Connectivity

Normally a harness wire can only be connected to an elements harness connector, a sensor or an actuator. The exception to this is when you require to sense a property of a pipe. Since pipes have no harness connectors, the connection is made through the end point of the pipe, thus if this happens to be connected to another component, (i.e. port), then the harness wire will be connected to the other components conventional connector. See illustration below.

{bmc bm617.bmp}
Harness Wire Connectivity Examples

+$#>Input Data – Sensors and Actuators – Sensors
Overview

Sensors provide the means by which a component’s property can be sensed. This property can be a physical value such as length, diameter or volume, or it can be an instantaneously calculated value such as pressure, mass flow or temperature. They are connected to components through their harness connectors using harness wires. The output from sensors are passed on to actuators.

Sensor Types

There are three basic sensors types; the generic sensor element, the time sensor and the plot sensor The generic sensor is used for most sensor activities, sensing a particular parameter and passing it on for use by an actuator. The time sensor is used specifically for sensing the current simulation time, which may be either the ‘steady state’ or ‘transient time’. The plot sensor is a mechanism by which individual sensed parameters can be output to a single ‘plot’ file.

Connecting a Sensor

To add and connect a sensor to your model first enable the harness connector for the target model element, (tip highlight the target component and go to bottom of property sheet to find ‘harness connector’ selection box). Change toolkit to show ‘Sensors and Actuators’ tab, (you will probably need to use the toolkit arrow key to step down to display this tab), select the required sensor from the toolkit using the left mouse button and drag the sensor to the required position on the network display. Now select a harness wire from the toolkit and add it to the network model connecting the input end of the sensor to the target elements harness connector, A simple example is illustrated below.

{bmc bm618.bmp}
Example Sensor Connection

Only one connection can be made to a sensors input (or upstream) end. The flow direction is identified by the arrow drawn on the element. The output end of a sensor can be used as input to a number of different actuators and thus the output (or downstream) end of a sensor can have multiple harness wire connections.

Generic Sensor Properties

The generic sensor has a number of associated properties accessed through its property sheet. The properties for a generic sensor are;
	Label – Defines the elements unique identifier label
	Sensed Parameter – Set the component parameter to be sensed.
	Sensor Group Type – Defines whether the sensed value should be taken from the single element or as a function of the elements associated group.
	Sensor Apply type (optional) – For group type sensing defines the group action, from average, minimum, maximum or sum of the group.
	Sensed Element (display only) – Identifies the sensed element through its type and position.

The example below shows the property sheet for a generic sensor having the second parameter option greyed out and empty. This is what you will see if the sensor has yet to be connected to a component.

{bmc bm619.bmp}
Generic Sensor Property Sheet – not yet connected

Once the sensor’s input has been connected to a component the Sensed Parameter option becomes enabled and the user can select from the list of available options the required parameter. The content of this parameter list is dependent on the connected element. In addition the sensed element property value fill be filled, listing the connected element in terms of its The example below shows the menu for a sensor connected to a cylinder.

{bmc bm620.bmp}
Generic Sensor Sensed Parameter Options – Cylinder

A complete list of the available Sensed Parameters for each element type is given below.

Cylinder:
Pressure (N/m2)
Temperature (K)
Volume (m3)
Mass (kg)
Gas Constant (J/kg.K)
Ratio spec. Heats
Gas Viscosity (Kg/s.m)
Crank Speed (rpm)
Crank Angle (deg)
Cycle No.
Cyl. Head Avg. Temp.(K)
Piston Avg. Temp. (K)
Liner Avg. Temp. (K)
IMEP (complete) (bar)
BMEP (bar)
Indicated Power (kW)
Brake Power (kW)
Brake Torque (Nm)
Volumetric Eff. (%)
Bore (mm)
Stroke (mm)
Throw (mm)
Swept Volume (m3)
Clearance Volume (m3)
Con-rod Length (mm)
Pin Off-Set (mm)
Compression Ratio
Phase ATDC (deg)
Cylinder Axis Angle (deg)
Piston Mass (kg)
Piston-Pin Mass (kg)
Con-Rod Rot Mass (kg)
Con-Rod Recip Mass (kg)
Con-Rod Inertia (kg.m2)
CO2 Mass Fract (Carbon Dioxide)
CO Mass Fract (Carbon Monoxide)
N2 Mass Fract (Nitrogen)
H2O Mass Fract (Water)
O2 Mass Fract (Oxygen)
H2 Mass Fract (Hydrogen)
C8H18 Mass Fract (Octane)
C12H26 Mass Fract (Cetane)
CH4 Mass Fract (Methane)
H Mass Fract (Atomic Hydrogen)
N Mass Fract (Atomic Nitrogen)
NO Mass Fract (Nitric Oxide)
O Mass Fract (Atomic Oxygen)
OH Mass Fract (Hydroxyl Radical)
CO2 Mole Fract (Carbon Dioxide)
CO Mole Fract (Carbon Monoxide)
N2 Mole Fract (Nitrogen)
H2O Mole Fract (Water)
O2 Mole Fract (Oxygen)
H2 Mole Fract (Hydrogen)
C8H18 Mole Fract (Octane)
C12H26 Mole Fract (Cetane)
CH4 Mole Fract (Methane)
H Mole Fract (Atomic Hydrogen)
N Mole Fract (Atomic Nitrogen)
NO Mole Fract (Nitric Oxide)
O Mole Fract (Atomic Oxygen)
OH Mole Fract (Hydroxyl Radical)
CO2 Mass (gms) (Carbon Dioxide)
CO Mass (gms) (Carbon Monoxide)
N2 Mass (gms) (Nitrogen)
H2O Mass (gms) (Water)
O2 Mass (gms) (Oxygen)
H2 Mass (gms) (Hydrogen)
C8H18 Mass (gms) (Octane)
C12H26 Mass (gms) (Cetane)
CH4 Mass (gms) (Methane)
H Mass (gms) (Atomic Hydrogen)
N Mass (gms) (Atomic Nitrogen)
NO Mass (gms) (Nitric Oxide)
O Mass (gms) (Atomic Oxygen)
OH Mass (gms) (Hydroxyl Radical)
OH Mass (gms) (Hydroxyl Radical)
Total Mass (gms)'
CO2 (Moles)  (Carbon Dioxide)
CO (Moles) (Carbon Monoxide)
N2 (Moles) (Nitrogen)
H2O (Moles) (Water)
O2 (Moles) (Oxygen)
H2 (Moles) (Hydrogen)
C8H18 (Moles) (Octane)
C12H26 (Moles) (Cetane)
CH4 (Moles) (Methane)
H (Moles) (Atomic Hydrogen)
N (Moles) (Atomic Nitrogen)
NO (Moles) (Nitric Oxide)
O (Moles) (Atomic Oxygen)
OH (Moles) (Hydroxyl Radical)
Total (Moles)
Heat Release Phase (deg)
Heat Release Period (deg)
Equivalence Ratio
Head Coolant Temp (C)
Liner Coolant Temp (C)
Trapped Air/Fuel Ratio
Fuelling (mm3/inj)
Annand A, Open HT
Annand B, Open HT
Woschni A, Open HT
Woschni B, Open HT
Woschni C, Open HT
Woschni SR, Open HT
Eichelberg A, Open HT
Eichelberg B, Open HT
Annand A, Closed HT
Annand B, Closed HT
Annand C, Closed HT
Woschni A, Closed HT
Woschni B, Closed HT
Woschni C, Closed HT
Woschni D, Closed HT
Woschni G, Closed HT
Woschni SR, Closed HT
Eichelberg A, Closed HT
Eichelberg B, Closed HT
Friction, FMEP
Pmax (bar)
Pmax Angle ATDC (deg)
Residuals, %
Wiebe A Combustion
Wiebe M Combustion
Wiebe CP1 Combustion
Wiebe CP2 Combustion
Wiebe Fract Combustion
Wiebe Delay Combustion

Poppet Valve, Disc Valve, Reed Valve, Piston Ported Valve, User Valve:
Valve Lift (mm)
Valve Area (mm2)
CF
L/D Ratio
MOP (deg)
Valve Open (deg)
Valve Close (deg)
Opening Lash (mm)
Closing Lash (mm)
Dwell at Max (deg)
Max lift (mm)

Port:
CF

Inlet, Exit:
Pressure (N./m2)
Temperature (K)
Mass Flow Rate (kg/s)
Velocity (m/s)

Throttle:
Min. CSA (mm2)
CF
Butterfly Angle (deg)
Slide Plate Dist (mm)
Slide Valve Lift (mm)
Barrel Angle (deg)

Plenum:
Pressure (N/m2)
Temperature (K)
Volume (m3)
Mass (Kg)
Gas Constant (J/Kg.K)
Ratio spec. Heats
Gas Viscosity (Kg/s.m)
Volume (litre)
Surface Area (mm2)
Wall Temperature (C) 
Plenum HTC (W/mm2K)
CO2 Mass Fract (Carbon Dioxide)
CO Mass Fract (Carbon Monoxide)
N2 Mass Fract (Nitrogen)
H2O Mass Fract (Water)
O2 Mass Fract (Oxygen)
H2 Mass Fract (Hydrogen)
C8H18 Mass Fract (Octane)
C12H26 Mass Fract (Cetane)
CH4 Mass Fract (Methane)
H Mass Fract (Atomic Hydrogen)
N Mass Fract (Atomic Nitrogen)
NO Mass Fract (Nitric Oxide)
O Mass Fract (Atomic Oxygen)
OH Mass Fract (Hydroxyl Radical)
CO2 Mole Fract (Carbon Dioxide)
CO Mole Fract (Carbon Monoxide)
N2 Mole Fract (Nitrogen)
H2O Mole Fract (Water)
O2 Mole Fract (Oxygen)
H2 Mole Fract (Hydrogen)
C8H18 Mole Fract (Octane)
C12H26 Mole Fract (Cetane)
CH4 Mole Fract (Methane)
H Mole Fract (Atomic Hydrogen)
N Mole Fract (Atomic Nitrogen)
NO Mole Fract (Nitric Oxide)
O Mole Fract (Atomic Oxygen)
OH Mole Fract (Hydroxyl Radical)
CO2 Mass (gms) (Carbon Dioxide)
CO Mass (gms) (Carbon Monoxide)
N2 Mass (gms) (Nitrogen)
H2O Mass (gms) (Water)
O2 Mass (gms) (Oxygen)
H2 Mass (gms) (Hydrogen)
C8H18 Mass (gms) (Octane)
C12H26 Mass (gms) (Cetane)
CH4 Mass (gms) (Methane)
H Mass (gms) (Atomic Hydrogen)
N Mass (gms) (Atomic Nitrogen)
NO Mass (gms) (Nitric Oxide)
O Mass (gms) (Atomic Oxygen)
OH Mass (gms) (Hydroxyl Radical)
OH Mass (gms) (Hydroxyl Radical)
Total Mass (gms)'
CO2 (Moles)  (Carbon Dioxide)
CO (Moles) (Carbon Monoxide)
N2 (Moles) (Nitrogen)
H2O (Moles) (Water)
O2 (Moles) (Oxygen)
H2 (Moles) (Hydrogen)
C8H18 (Moles) (Octane)
C12H26 (Moles) (Cetane)
CH4 (Moles) (Methane)
H (Moles) (Atomic Hydrogen)
N (Moles) (Atomic Nitrogen)
NO (Moles) (Nitric Oxide)
O (Moles) (Atomic Oxygen)
OH (Moles) (Hydroxyl Radical)
Total (Moles)

Turbocharger:
Comp Power (W)
Comp Speed (rpm/K^0.5/T)
Comp Mass Flow (kg/s)
Comp Press Ratio
Comp Isentropic Eff (0-1)
Comp Volumetric Eff (0-1)
Comp Adiabatic Eff (0-1)
Turbo Power (W)
Turbo Speed (rpm)
Turbo Mass Flow (kg/s)
Turbo Press Ratio
Turbo Isentropic Eff (0-1)
Comp Speed (rpm)
Turbine Speed (rpm)
Comp Mass Flow S.F.
Comp Press Ratio S.F.
Comp Isentropic Eff S.F.
Comp Inlet Diameter (mm)
Comp Outlet Diameter (mm)
Comp Rot. Inertia (kg.m2)
Comp Gear Ratio to Shaft
Comp Drive Gear Mech Eff. (0-1)
Turbine Mass Flow S.F.
Turbine Press Ratio S.F.
Turbine Isentropic Eff S.F.
Turbine Inlet Diameter (mm)
Turbine Outlet Diameter (mm)
Turbine Rot. Inertia (kg.m2)
Turbine Gear Ratio to Shaft
Turbine Drive Gear Mech Eff. (0-1)

Pipe:
	Mass Flow Rate (kg/s)
Pressure (N/m2)
Temperature (K)
Velocity (m/s)
Cycle HT Rate (kW)
Total length (mm)
Start Diameter (mm)
End Diameter (mm)
Wall Thickness (mm)
CO2 Mass Fract (Carbon Dioxide)
CO Mass Fract (Carbon Monoxide)
N2 Mass Fract (Nitrogen)
H2O Mass Fract (Water)
O2 Mass Fract (Oxygen)
H2 Mass Fract (Hydrogen)
C8H18 Mass Fract (Octane)
C12H26 Mass Fract (Cetane)
CH4 Mass Fract (Methane)
H Mass Fract (Atomic Hydrogen)
N Mass Fract (Atomic Nitrogen)
NO Mass Fract (Nitric Oxide)
O Mass Fract (Atomic Oxygen)
OH Mass Fract (Hydroxyl Radical)
CO2 Mole Fract (Carbon Dioxide)
CO Mole Fract (Carbon Monoxide)
N2 Mole Fract (Nitrogen)
H2O Mole Fract (Water)
O2 Mole Fract (Oxygen)
H2 Mole Fract (Hydrogen)
C8H18 Mole Fract (Octane)
C12H26 Mole Fract (Cetane)
CH4 Mole Fract (Methane)
H Mole Fract (Atomic Hydrogen)
N Mole Fract (Atomic Nitrogen)
NO Mole Fract (Nitric Oxide)
O Mole Fract (Atomic Oxygen)
OH Mole Fract (Hydroxyl Radical)
CO2 Mass (gms) (Carbon Dioxide)
CO Mass (gms) (Carbon Monoxide)
N2 Mass (gms) (Nitrogen)
H2O Mass (gms) (Water)
O2 Mass (gms) (Oxygen)
H2 Mass (gms) (Hydrogen)
C8H18 Mass (gms) (Octane)
C12H26 Mass (gms) (Cetane)
CH4 Mass (gms) (Methane)
H Mass (gms) (Atomic Hydrogen)
N Mass (gms) (Atomic Nitrogen)
NO Mass (gms) (Nitric Oxide)
O Mass (gms) (Atomic Oxygen)
OH Mass (gms) (Hydroxyl Radical)
OH Mass (gms) (Hydroxyl Radical)
Total Mass (gms)'
CO2 (Moles)  (Carbon Dioxide)
CO (Moles) (Carbon Monoxide)
N2 (Moles) (Nitrogen)
H2O (Moles) (Water)
O2 (Moles) (Oxygen)
H2 (Moles) (Hydrogen)
C8H18 (Moles) (Octane)
C12H26 (Moles) (Cetane)
CH4 (Moles) (Methane)
H (Moles) (Atomic Hydrogen)
N (Moles) (Atomic Nitrogen)
NO (Moles) (Nitric Oxide)
O (Moles) (Atomic Oxygen)
OH (Moles) (Hydroxyl Radical)
Total (Moles)

Supercharger, Centrifugal Compressor:
Power (W)
Speed (rpm/K^0.5/T)
Mass Flow (kg/s)
Press Ratio
Isentropic Eff (0-1)
Volumetric Eff (0-1)
Adiabatic Eff (0-1)
Speed (rpm)
Mass Flow S.F.
Press Ratio S.F.
Volumetric Eff S.F.
Adiabatic Eff S.F.
Isentropic Eff S.F.
Inlet Diameter (mm)
Outlet Diameter (mm)
Rot. Inertia (kg.m2)
Gear Ratio to Shaft
Drive Gear Mech Eff. (0-1)
Vol flow per Rev (l)

The sensor Group Type can be set either as Single or as Group. If set to Single then only the element actually connected to is used to identify the sensed value. If set to Group then all the elements in the group of the connected element are used to identify the returned sensed value. The user is given a further menu option from which you must identify whether the returned value is the Average, Minimum, Maximum or Sum of the group members. The group setting makes it simpler to carry out these sort of grouping calculations without resorting to unnecessary complex harness connections. The group menu is illustrated below;

{bmc bm621.bmp}
Generic Sensor - Group Menu Item

Time Sensor Properties

The time sensor has just two associated properties again these are accessed through its property sheet. The properties for a time sensor are;
	Label – Defines the elements unique identifier label
	Timer Type – Set the time returned by the sensor to be either the current steady state simulation time, or the current transient simulation time. In the case of a purely steady state run the transient time will always be returned as zero. For a transient run, during the initial steady state region of the run’s initialisation, the transient timer will return 0.0. During the transient portion a steady state timer will continue to increment from the start of the run and as such will return a total simulation time from the start of the run.

{bmc bm622.bmp}
Time Sensor Property Sheet

Plot Sensor Properties

The plot sensor has a number of associated properties that are accessed through the component’s property sheet. The properties for a plot sensor are;
	Label – Sensors unique label.
	File Name – The filename for the sensor output to be saved too.
	Plot for run Type – Identify if the sensed value is for the steady state or transient portion of the simulation.
	Channel Select – List the current channel to display the properties for, from the current connections on this sensor plot.
	Channel Parameter – Lists the available parameters from this element, (see list above). This will be blank if no selection has yet been made, or ‘greyed’ out if the plot sensor has yet to be connected.
	Channel Group Type – Defines whether current channel selection’s sensed value should be taken from the single element or as a function of the elements associated group.
	Group Apply type (optional) – For group type sensing defines the group action, from average, minimum, maximum or sum of the group.
	Channel Element (display only) – Identifies the sensed element through its type and position for the currently displayed channel.
	Plot Associate Type – Defines whether the plot file axis will be based on time or crank angle.
	Plot Sample Size – Sets the sample rate to store information to the plot file. A setting of zero means every calculation point will be saved to the plot file.
	Plot File Format Type – The user can choose between an ASCII file or a Binary file, (default ASCII), whilst the binary file has the advantage of being smaller it can only be read/displayed through the engine simulation interface.
	Add File Headings – Sets the option to include text headings within the plot while, (default omit).

{bmc bm623.bmp}
Sample Plot Sensor Property Sheet

Sensors – Post Processing

The input and output values associated with a sensor can be viewed on the post processor graphs like any conventional component. The graph status window has options specifically for plotting sensor input and outputs and these are selected in the same manner as for conventional component results through the .prs Result selection box.

{bmc bm624.bmp}
Graph Status window – Selecting Sensor Results

The Plot sensor is slightly different, not only can its values be viewed from the solver control window during the job run but they are also available to view once the run is complete. When selecting the plot sensor in the prs post processing module with the left mouse button a menu is presented which lists the option to open the results into the scrollable text window, open the results in a separate floating graphical display, or open the file in Excel. If Excel has not been found on your PC during the original software installation this option will be ‘greyed’ out.

{bmc bm625.bmp}
Plot Sensor post Processing Text Display

The graphical display can be manipulated to show previous and next speed lines. Control axis scales and display of axis values. The display is identical to that shown on the solver control ‘status’ window when trs output selected. It should be remembered that the trs outputs are stored as separate files from the main prs results file and thus care should be taken to not overwrite them.

{bmc bm626.bmp}
Plot Sensor post Processing Graphical Display

Sensors – Control Elements

By default a generic sensor added to a model will have two basic control elements added to the model as children of the sensor, these being an input signal boundary and an output signal boundary. In default sensors (i.e. straight from the toolkit), the input is connected straight to the output so all sensed signals are passed through unchanged. As additional wires are added to the output side of the sensor, (for multiple use of the same sensed variable), additional output signal boundaries are not added as children, since there can only ever one output route from a sensor.

To view the children of the sensor you need to drop down a layer. Layers are used to imply a hierarchical parent/child structure. To move up/down through the layers either use the menu options from the main tool bar Data / Down a Data Level and Data / Up a Data Level, or the up layer icon or the down layer icon. These icons are disabled when it is inappropriate to move up/down a level. A ‘double-click’ on a component will where appropriate also move between layers.

{bmc bm627.bmp}
Default Sensor Control Elements

A full description of using control elements is given in ‘ Sensors and Actuators – Control Elements’.

+$#>Input Data – Sensors and Actuators – Actuators
Overview

Actuators provide the means by which a component’s property can be changed. This property can be any physical value of a component such as length, diameter or volume, provided such a feature has been provided for. They are connected to components through their harness connectors using harness wires. The input to actuators are the output from sensors.

Actuators Types

There is only on actuator type; the generic actuator element. The generic actuator is used for all actuator activities, taking inputs from sensors and passing them on to the target component.

Connecting an Actuator

To add and connect an actuator to your model first enable the harness connector for the target model element, (tip highlight the target component and go to bottom of property sheet to find ‘harness connector’ selection box). Change toolkit to show ‘Sensors and Actuators’ tab, (you will probably need to use the toolkit arrow key to step down to display this tab), select the actuator from the toolkit using the left mouse button and drag the actuator to the required position on the network display. Now select a harness wire from the toolkit and add it to the network model connecting the output end of the actuator to the target elements harness connector, A simple example is illustrated below.

{bmc bm628.bmp}
Example Actuator Connection

Only one connection can be made to an actuators output (or downstream) end. The flow direction is identified by the arrow drawn on the element. The input end of an actuator can have a number of sensor input requirements and thus the input (or upstream) end of an actuator can have multiple harness wire connections.

Generic Actuator Properties

The generic actuator has a number of associated properties accessed through its property sheet. The properties for a generic actuator are;
	Label – Defines the elements unique identifier label
	Actuator Variable – Sets the component variable to be modified.
	Actuator Group Type – Defines whether the actuator value should be applied to the specific single element or to the whole group associated with the connected element.
	Actuator Apply Type – This sets whether the actuator output should be applied as a value, as a scalar or as a shift to the current property. Note that some actuator properties can only use the scale and shift operations, these are typically map/spline based properties rather than single values.
	Actuator Solve Type – Identifies the frequency of update. The actuator output can either be applied to the target element every calculation time step, or only once a cycle.

The example below shows the property sheet for a generic actuator having the second parameter option greyed out and empty and the fourth and fifth elements ‘greyed’ out. This is what you will see if the actuator has yet to be connected to a component.

{bmc bm629.bmp}
Generic Actuator Property Sheet – not yet connected

Once the actuator’s output has been connected to a component the Actuator Variable option becomes enabled and the user can select from the list of available options the required variable. The content of this variable list is dependent on the connected element. In addition the Actuator Apply Type and Actuator Solve Type property selection boxes will be enabled.The example below shows the menu for an actuator connected to an inlet boundary.

{bmc bm630.bmp}
Generic Actuator, Actuator Variable Options – Inlet

A complete list of the available Actuator Variables for each element type is given below.

Cylinder:
Bore (mm)
Stroke (mm)
Rod length (mm)
Compression Ratio
Heat Release Phase (deg)
Heat Release Period (deg)
Equivalence Ratio
Head Coolant Temp (C)
Liner Coolant Temp (C)
Trapped Air/Fuel Ratio
Fuelling (mm3/inj)
Annand A, Open HT
Annand B, Open HT
Woschni A, Open HT
Woschni B, Open HT
Woschni C, Open HT
Woschni SR, Open HT
Eichelberg A, Open HT
Eichelberg B, Open HT
Annand A, Closed HT
Annand B, Closed HT
Annand C, Closed HT
Woschni A, Closed HT
Woschni B, Closed HT
Woschni C, Closed HT
Woschni D, Closed HT
Woschni G, Closed HT
Woschni SR, Closed HT
Eichelberg A, Closed HT
Eichelberg B, Closed HT
Friction, FMEP
Pin Off-Set (mm)
Cylinder Axis Angle (deg)
Piston Mass (kg)
Piston-Pin Mass (kg)
Con-Rod Rot Mass (kg)
Con-Rod Reciprocating Mass (kg)
Con-Rod Inertia (kg.m2)
Wiebe A Combustion
Wiebe M Combustion
Wiebe CP1 Combustion
Wiebe CP2 Combustion
Wiebe Fract Combustion
Wiebe Delay Combustion

Poppet Valve:
Valve Open (deg)
Valve Close (deg)
Dwell at Max (deg)
Max Lift (mm)
MOP (deg)
Opening Lash (mm)
Closing Lash (mm)
Valve Lift (mm)

Port:
No. of Valves
Valve Throat Dia. (mm)
CF 0.3L/D or Curve

Inlet:
Pressure (bar-abs)
Temperature (C)

Throttle:
Minimum C.S.A
Discharge CF
Load Finder
Butterfly Angle (deg)
Slide Plate Distance (mm)
Slide Valve Lift (mm)
Barrel Angle (deg)

Plenum:
Volume (l)
Surface Area (mm2)
Wall Temp (C)
HTC (W/mm2K)

Turbocharger Compressor/Turbine:
Compressor Inlet Diameter (mm)
Compressor Outlet Diameter (mm)
Compressor Rot. Inertia (kg.m2)
Compressor Gear Ratio to Shaft
Compressor Drive Gear Mech Eff. (0-1)
Compressor Mass Flow (kg/s)
Compressor Pressure Ratio
Compressor Efficiency (0-1)
Turbine Inlet Diameter (mm)
Turbine Outlet Diameter (mm)
Turbine Rot. Inertia (kg.m2)
Turbine Gear Ratio to Shaft
Turbine Drive Gear Mech Eff. (0-1)
Turbine Mass Flow (kg K^1.2/s/kPa)
Turbine Pressure Ratio
Turbine Efficiency (0-1)

Charge cooler:
Mass Flow (kg/s)
Pressure Loss (bar)
Coolant Temp (C)
Efficiency (0-1)

Pipe:
	None

Exit:
Pressure (bar-abs)
Temperature (C)

Disc Valve:
Valve Dia (mm)
Port Dia (mm)
Valve Open (deg)
Valve Close (deg)
Max Area CD Coeff

Reed Valve:
No of Reed Valves
Mass of Petal (g)
Petal Stiffness (N/mm)
Area of Petal (mm2)
Passage Length (mm)
Max Lift CD Coeff
Max Lift (mm)

Piston ported valve:
Port Width (m)
Max. Port Height (mm)
Stroke (mm)
Rod Length (mm)
Valve Open (deg)
Max Area Cd Coeff

User valve:
Valve Open (deg)
Valve Close (deg)
Max Valve Area (mm2)

Plenum varying volume:
Equiv Bore (mm)
Equiv Stroke (mm)
Equiv Rod Length (mm)
Equiv Comp Ratio
TDC angle (deg)
Wall Temp (C)
HTC (W/mm2K)
Speed Ratio

Supercharger:
Inlet Diameter (mm)
Outlet Diameter (mm)
Rot. Inertia (kg.m2)
Gear Ratio to Shaft
Drive Gear Mech Eff. (0-1)
Vol Flow per Rev (l)
Pressure Ratio
Volum Eff. (0-1)
Adiabatic Eff. (0-1)
Isentropic Eff. (0-1)

Centrifugal compressor:
Inlet Diameter (mm)
Outlet Diameter (mm)
Rot. Inertia (kg.m2)
Drive Eff. (0-1)
Mass Flow Rate (kg/s)
Pressure Ratio
Efficiency (0-1)

Expander:
Inlet Diameter (mm)
Outlet Diameter (mm)
Rot. Inertia (kg.m2)
Gear Ratio to Shaft
Drive Gear Mech Eff. (0-1)
Vol Flow per Rev (l)
Expansion Ratio
Volum Eff. (0-1)
Adiabatic Eff. (0-1)
Isentropic Eff. (0-1)

The actuator Group Type can be set either as Single or as Group. If set to Single then only the element actually connected to is modified by the actuator value. If set to Group then all the elements in the group of the connected element are modified by the actuator output. The group menu is illustrated below;

{bmc bm631.bmp}
Generic Actuator - Group Menu Item

The actuator Apply Type can be set as either By Value, By Shift or Scale. If set to By Value the selected element’s variable is set to the actuator output. If set to By Shift the selected element’s variable is shifted by the actuator output and if set to By Scale then the actuator output is used to shift the selected elements current variable. The apply type menu is illustrated below;

{bmc bm632.bmp}
Generic Actuator – Apply Type Menu Item

Actuators – Post Processing

The input and output values associated with a actuator can be viewed on the post processor graphs like any conventional component. The graph status window has options specifically for plotting actuator input and outputs and these are selected in the same manner as for conventional component results through the .prs Result selection box.

{bmc bm633.bmp}
Graph Status window – Selecting Actuator Results

Currently there is a limitation on the number of actuator inputs that can be plotted in this way. Only the first two actuator inputs can be displayed.

Actuators – Control Elements

By default a generic actuator added to the model will have two basic control elements added to the model as children of the actuator, these being an input signal boundary and an output signal boundary. In default actuators (i.e. straight from the toolkit), the input is connected straight to the output so all inputs signals are passed through unchanged.

To view the children of the actuator you need to drop down a layer. Layers are used to imply a hierarchical parent/child structure. To move up/down through the layers either use the menu options from the main tool bar Data / Down a Data Level and Data / Up a Data Level, or the up layer icon or the down layer icon. These icons are disabled when it is inappropriate to move up/down a level. A ‘double-click’ on a component will where appropriate also move between layers.

{bmc bm627.bmp}
Default Actuator Control Elements

As extra inputs are connected to an actuator additional input boundaries are added as children of the actuator to match the increased number of input signals, likewise as connections are removed an inlet boundary is removed.

A full description of using control elements is given in ‘ Sensors and Actuators – Control Elements’.

Actuators – Use by Test

By default all actuators are enabled for each steady state and transient test point. It is possible to enable/disable individual actuators by test point. This provides a mechanism by which individual actuators can be used for specific test points, or different sets of actuators to be used for the steady state test points and the transient test points. These settings are controlled through the test data summary spreadsheets, Select the Actuators tab.

{bmc bm634.bmp}
Steady State Test Data – Actuator Setting

+$#>Input Data – Sensors and Actuators – Control Elements
Overview

Control elements are added as children to sensors and actuators to provide the necessary function ality in terms of processing input values through to the required output form. This could be as basic as a simple scalar function that multiplies the input signal by 2 such that the output signal is 2x the input, to more complex multiple input cases with signal combining clipping, differentiation etc.

Control elements are added from the toolkit in the same way as conventional components, through the click and drag action. They are only available from the toolkit when the interface is in the sub-level of an actuator or sensor, (to change to a components sub-level select the required sensor or actuator and use the Data / Down a Data Level, or the down a level icon, or ‘double-click’ on the component).

Control elements are divided into three basic groups, 1D, 2D and source. The ‘1’ and the ‘2’ refer to the number of input signals that the element requires, whilst sources are zero input elements. All three types produce a single output. Control elements are coloured ‘yellow’, their connection points and flow directions are indicated by the black arrow heads. Control elements are connected directly to each other or alternatively virtual links can be used to make the connections.

If a sensor or actuator is copied its associated control element children are also copied, similarly should an actuator or sensor be deleted, its control element children are also deleted.

Adding Control Elements to the Model

To add control elements to the model, select the target sensor or actuator and display its children by ‘double-clicking’ on the target component. By default the sensor or actuator will already have input signal boundaries and an output signal boundary as children. Sensors can only have one input signal boundaries whilst an actuator will have as many input signal boundaries as it has harness wire connections. The input boundaries are all identified with a connection number as part of their graphic, and their property sheet will display a description of the passed parameter.

{bmc bm635.bmp}
Standard Sensor/Actuator Control Elements

{bmc bm636.bmp}
Two Input Actuator Control Elements – Prior to Adding

Once in the child level the toolkit display changes to show the 1D, 2D and source control element tabs. The required control element can now be selected from the toolkit with the left mouse and ‘dragged’ into position on the network display.

{bmc bm637.bmp}
Control Element Toolkit Tabs

Before any additional control elements can be added to the local control network the default boundaries need to ‘dragged’ apart to enable the new control elements to be inserted between them.

Connecting Control Elements

Control elements can be connected directly to each other through the arrow head connection points, alternatively the virtual link can be used to make positioning and connecting elements easier. The arrow heads also indicate the ‘flow’ direction, values being passed from input to output. Each connection point can only have one attachment, thus the concept of ‘splitting’ signals is not available thus if the same signal is required to be used twice within the local control network it must be passed as two separate input signals. ‘Merging’ of two signals is through the use of the 2D control elements, this supports the overall concept of these local control networks that start with one or more input signals that reduce down to one output signal. A number of examples are given below indicating various connection arrangements.

{bmc bm638.bmp}
Single Pass Direct Coupling Example

{bmc bm639.bmp}
Single Pass Virtual Link Connection Example

{bmc bm640.bmp}
Twin Entry Direct Coupling Example

{bmc bm641.bmp}
Twin Entry Virtual Link Connection Example

1D Control Element Types

Fifteen 1D-control elements are currently available. A description of each is given below detailing their function and arguments.

{bmc bm642.bmp} Gain: Scales the input signal by the defined value. Output signal is the scale value x the input value.

Parameters,
	Label (char): Descriptive string.
	Gain Scalar Value (real): Value to scale signal by.

{bmc bm643.bmp} Limit: Clips the input signal to the range set by max and min. The output signal will lie between the clip boundaries such that any value greater than the maximum value will be passed as the maximum, whilst any value less than the minimum will be passed as the minimum value.

Parameter:
	Label (char): Descriptive string.
	Maximum Value (real): Value for the top clip limit.
	Minimum Value (real): Value for the bottom clip limit.

{bmc bm644.bmp} Absolute Value: Removes the sign from the input signal. Will always pass the input value as a positive value.

Parameter:
	Label (char): Descriptive string.

{bmc bm645.bmp} Derivative: Differentiates the input signal with respect to either time or crankshaft angle. To do this the previous time steps value will have been stored to get a change in the variable.

Parameter:
	Label (char): Descriptive string.
	Differentiate w.r.t (choice): Sets the differentiate type to be either with respect to time or crankshaft degrees.

{bmc bm646.bmp} User Function: A generic user defined maths function based on Fortran syntax. This can be used to perform any maths-based action on the input signal provided it can be written as a single Fortran string using the supported intrinsic functions. The input signal is represented in the string as F1. Thus a simple scalar example might be ‘2.0*F1’, whilst the use of a trigonometric function could look like ‘1.5*SIND(F1)’.

Parameter:
	Label (char): Descriptive string.
	User Function (char): String describing the required function in Fortran syntax.

The user function is edited through the user defined Fortran function editor dialogue box.

{bmc bm647.bmp} Lookup Table: A 1D lookup spline, that uses the input signal as the X value and passes the appropriate Y value as the output signal. A number of alternative lookup types are available to control not only interpolation but also extrapolation outside of the defined x-range.

Parameter:
	Label (char): Descriptive string.
	Lookup data (real): The no of points in the spline and the x and y values used for the 1d spline. The data need not be in even x increments but it should be either in increasing x or decreasing x scale.
	Lookup Type (choice): Sets the interpolation and extrapolation options, from Interpolate only, Interpolate and extrapolate or nearest point. The interpolate only option will restrict values to the defined x range such that x values greater than the defined range will return the y value associated with the maximum x value and similarly for the minimum. All Interpolation is linear. The interpolate and extrapolate will use linear extrapolation using the last two points in the range to identify values outside of the defined x-range. Nearest point will return the y value that for the nearest x point, this effectively also clips the values to the defined range.

The table data is edited through the Data Edit Table.

{bmc bm648.bmp} Delay: Adds a delay to the passed input. The input is otherwise unchanged. The delay can be defined in terms of crankshaft degrees or time. The effect of adding a delay will mean that at start up, (i.e. before the delay period as been passed), a zero value will be returned by this control.

Parameter:
	Label (char): Descriptive string.

{bmc bm649.bmp} Cycle Average: Returns the cycle average value for the input. During the first cycle the output value will be changing every calculation time step as it accumulates the first cycles values, once passed the first cycle the output value is only updated once a cycle, passing the previous cycles average.

Parameter:
	Label (char): Descriptive string.

{bmc bm650.bmp} Integrator: Integrates the input cycle over the specified period and with respect to the specified base units. The base units can be either time or crankshaft degrees.

Parameter:
	Label (char): Descriptive string.
	Integrate w.r.t (choice): Sets the integration base as either time or crankshaft degrees.
	Integral Period (real): Sets the integration period in either seconds or crank degrees depending on the above selection.

{bmc bm651.bmp} Limit Change: Limits the rate of change of the input signal by comparing the previous calculation steps values with the current ones and limiting the change to the defined rate. The rate of change can be as a function of either time (dy/dt) or crank angle (dy/d0).

Parameter:
	Label (char): Descriptive string.
	Limit change w.r.t (choice): Sets the limiting rate of change to be either a function of time or crankshaft degrees.
	Rate of Change (real): Sets the limiting change value, (dy/dt) or (dy/d0).

{bmc bm652.bmp} Min/Max: This acts as a high/low watermark control, It will pass either the highest value encountered or the lowest value depending on the required watermark.

Parameter:
	Label (char): Descriptive string.
	Select Limit: Defines whether to pass the highest value or the lowest value.

{bmc bm653.bmp} User Subroutine: Provides a link to the user subroutine dll’s. The user is then free to program their own algorithm to control how the input signal is modified and an output signal generated.

Parameter:
	Label (char): Descriptive string.
	User Sub Id No. (integer): Specifies the particular case No. to enable this control elements subroutine requirements to be uniquely identified.
	User Sub Arguments (real): A set of twenty fixed optional arguments that are passed to the user subroutine as a means of passing model based constants to the subroutines.
	User Sub Dll Type (choice): Chose whether to use the Fortran or the C version of the usersub dll’s for this particular control element instance.

For further information on the use of user subroutine see User Subroutines

{bmc bm654.bmp} Sample and Hold: Allows a parameter to be sampled at a prescribed interval and held constant at the sampled value until the next sample point occurs. Sampling can be in terms of time interval, crankshaft angle interval or for a particular crankshaft angle. The user can control the point of first sample and what value the control element should return prior to the first sampling point.

Parameter:
	Label (char): Descriptive string.
	Sample Type (choice): Defines if sampling should be on a time interval, crankshaft angle interval or for a specific crankshaft angle.
	Sample Rate/Point (real): Defines the sample interval or the sample point depending on the option selected above.
	First Sample Delay (real): Sets the delay in either (s) or (deg) from the start of the analysis to the first sample point. Not relevant to specific crankshaft angle sampling.
	Pre First Sample Use (choice): Define either the first calculation point, zero or a user value should be used as the sampled value prior to the first sampling point.
	Pre First sample Value (real): For user defined value on pre first sample this defines the value to use. Not relevant to the other two First Sample case.

{bmc bm655.bmp} Relational Operator: Provides a means of performing logical Else/IF type decisions. Four user defined Fortran syntax strings are used to set the  ‘IF’ string the ‘TEST’ string and then the ‘TRUE’ case and the ‘FALSE’ case. Each string uses Fortran syntax to use the passed signal and any relevant Fortran Intrinsic functions to modify/define the passed signal value.

Parameter:
	Label (char): Descriptive string.
	IF String (char): Defines the syntax for the IF part of the Relational operation.
	TEST String (char): Defines the syntax for the TEST part of the Relational operation.
	TRUE String (char): Defines the syntax for the output signal if the test is TRUE.
	FALSE String (char): Defines the syntax for the output signal if the test is FALSE.

{bmc bm656.bmp} PID Controller: Provides a PID (Proportional/Integral/Derivative) control element. For closed loop feedback implementation. Individual parts of the PID controller can be ‘de-activated’ by setting their value to zero.

Parameter:
	Label (char): Descriptive string.
	Proportional Value (real): Sets the magnitude of the Proportional part of the PID controller.
	Integral Value (real): Sets the magnitude of the integral part of the PID controller.
	Derivative Value (real): Setsthe magnitude of the derivative part of the PID controller.

2D Control Element Types

Eight 2D-control elements are currently available. A description of each is given below detailing their function and arguments.

{bmc bm657.bmp} User Function: A generic user defined maths function based on Fortran syntax. This can be used to perform any maths-based action on the input signals provided it can be written as a single Fortran string using the supported intrinsic functions. The input signals are represented in the string as F1 and F2. Thus a simple additon example might be ‘F 1+ F2’, whilst the use of a trigonometric function could look like ‘F2 * SIND(F1)’.

Parameter:
	Label (char): Descriptive string.
	User Function (char): String describing the required function in Fortran syntax.

The user function is edited through the user defined Fortran function editor dialogue box.

Parameter:
	Label (char): Descriptive string.

{bmc bm658.bmp} Lookup Table: A 2D lookup map, that uses the input signals as the X and Y value and passes the appropriate Z value as the output signal. A number of alternative lookup types are available to control not only interpolation but also extrapolation outside of the defined x and y ranges.

Parameter:
	Label (char): Descriptive string.
	Lookup Data (real): The no of x and y points in the map and the x,y  and z values used for the 2d map. The data need not be in even x and y increments but it should be on either increasing or decreasing scales.
	Lookup Type (choice): Sets the interpolation and extrapolation options, from Interpolate only, Interpolate and extrapolate or nearest point. The interpolate only option will restrict values to the defined x and y ranges such that x or y values greater than the defined range will return the z value associated with the maximum value and similarly for the minimum. All Interpolation is linear. The interpolate and extrapolate will use linear extrapolation using the last two points in the range to identify values outside of the defined x or y range. Nearest point will return the z value that for the nearest x-y point, this effectively also clips the values to the defined range.

The 2D map data is edited through the Map Data Edit Table.

{bmc bm659.bmp} User Subroutine: Provides a link to the user subroutine dll’s. The user is then free to program their own algorithm to control how the input signal is modified and an output signal generated.

Parameter:
	Label (char): Descriptive string.
	User Sub Id No. (integer): Specifies the particular case No. to enable this control elements subroutine requirements to be uniquely identified.
	User Sub Arguments (real): A set of twenty fixed optional arguments that are passed to the user subroutine as a means of passing model based constants to the subroutines.
	User Sub Dll Type (choice): Chose whether to use the Fortran or the C version of the usersub dll’s for this particular control element instance.

For further information on the use of user subroutine see User Subroutines

{bmc bm660.bmp} Add: Simply passes as output, the sum of the two input signals.

Parameter:
	Label (char): Descriptive string.

{bmc bm661.bmp} Product: Simply passes as output the product of the two input signals.

Parameter:
	Label (char): Descriptive string.

{bmc bm662.bmp} Subtract: Simply passes as output the difference of the two input signals.

Parameter:
	Label (char): Descriptive string.

{bmc bm663.bmp} Variable Limiter: Uses one input to continuously change the allowable maximum rate of change of the other signal. The rate of change limit can be with respect to time or crank angle. He limit can also be applied to both +ve and –ve changes or one individually.

Parameter:
	Label (char): Descriptive string.
	Limit change w.r.t (choice): Select whether limit value passed is relative to time or crankshaft angle.
	Limit Type (choice): Select whether limit value passed is to be applied to both the +ve and –ve directions, the +ve direction only or the –ve direction only.

{bmc bm664.bmp} Relational Operator: Provides a means of performing logical Else/IF type decisions. Four user defined Fortran syntax strings are used to set the  ‘IF’ string the ‘TEST’ string and then the ‘TRUE’ case and the ‘FALSE’ case. Each string uses Fortran syntax to use the passed signals and any relevant Fortran Intrinsic functions to modify/define the passed signal value.

Parameter:
	Label (char): Descriptive string.
	IF String (char): Defines the syntax for the IF part of the Relational operation.
	TEST String (char): Defines the syntax for the TEST part of the Relational operation.
	TRUE String (char): Defines the syntax for the output signal if the test is TRUE.
	FALSE String (char): Defines the syntax for the output signal if the test is FALSE.

Source Control Element Types

Six source control elements are currently available. A description of each is given below detailing their function and arguments.

{bmc bm665.bmp} Constant: Provides a fixed value for use as an input to any other control element.

Parameter:
	Label (char): Descriptive string.
	Constant Value (real): Defines magnitude of the constant

{bmc bm666.bmp} Step: Provides a two value step change constant for use as input to any other control element. The step between the two values can be in terms of time, cycle No. crankshaft angle or test No. Because of the type of control it can either step change once within a complete power curve, i.e. if change by test No. or change once with every test point i.e. if change by steady state time.

Parameter:
	Label (char): Descriptive string.
	Step Base Type (choice): Defines the reference base for the step change point. This change base can be Steady state time(s), Transient time(s), Steady state cycle No., transient cycle No., Test No., Crank angle (deg) or cumulative crank angle.
	Step Time/Cycle/Test No/Crank Angle (real/int): Defines the point at which the step should occur. Units vary depending on choice of base type.
	Initial Value (real): Defines the start value for the source, i.e. before the step change.
	Final Value (real): Defines the final value for the source, i.e. after the step change.

{bmc bm667.bmp} Uniform Random: Provides a uniformly distributed random number between two defined limits. An initial seed option for the random number function is available to provide a repeatable random number pattern.

Parameter:
	Label (char): Descriptive string.
	Minimum Value (real): Defines the minimum value that could be returned by the random number routine.
	Maximum Value (real): Defines the maximum value that could be returned by the  random number routine.
	Initial Seed (real): Sets the ‘seed’ value used in the generation of the random number sequence.

{bmc bm668.bmp} Sine Wave: Produces a sine wave form with user definable phase period, amplitude and bias. The sine wave base type can be Steady state time(s) transient time(s), crankshaft angle (deg) or cumulative crankshaft angle (deg).

Parameter:
	Label (char): Descriptive string.
	Sine Wave Base Type (choice): Defines the base type to be used for the sine wave. It can be in terms of time or crankshaft angle.
	Amplitude (real): Defines the sine wave amplitude. The bias (see below) is superimposed upon this as a shift. The amplitude is half the full scale deflection. i.e in the standard form y = a + b.sind(c) b is the amplitude.
	Bias (real): Sets the bias or shift of the sine wave. This is added to the sine wave to produce a mean offset of the sine wave. Thus in the simple formulation above, Bias is the ‘a’ term.
	Phase Shift (real): Defines the phase shift of the sine wave. Thus this value is either time in seconds or angle in crankshaft degrees that the sine function zero value is offset by..
	Period (real): Defines the wave period in terms of either seconds or crankshaft degrees depending on the current selected base type.

{bmc bm669.bmp} Pulse Generator: Produces a Pulsing type signal that has user controlled duration phase and magnitude. As with the other source elements the base type can be either seconds or crankshaft angle.

Parameter:
	Label (char): Descriptive string.
	Pulse Base Type (choice): Defines the base type to be used for the pulse wave. It can be in terms of time or crankshaft angle.
	Amplitude (real): Defines the pulse amplitude. The amplitude is the full scale deflection. Note that the pulse value varies from zero to the amplitude.
	Period (real): Defines the pulse signal period in terms of either seconds or crankshaft degrees depending on the current selected base type.
	Pulse width (real): Defines the % of the period that the signal returns the amplitude value.
	Phase Delay (real): Defines the delay of the pulse from the start of the period before switching the signal to the pulse amplitude. This value is either time in seconds or angle in crankshaft degrees depending on the currently selected base type.

{bmc bm670.bmp} Chirp Signal: Produces a Sine wave with either increasing or decreasing frequency but constant amplitude of +1 to -1. As with the other source elements the base type can be either seconds or crankshaft angle.

Parameter:
	Label (char): Descriptive string.
	Chirp Base Type (choice): Defines the base type to be used for the chirp wave. It can be in terms of time or crankshaft angle.
	Initial Period (real): Defines the chirp signal’s period in terms of either seconds or crankshaft degrees depending on the current selected base type for the start of the run.
	Target time/angle (real): Defines a point at which the chirp frequency will have linearly changed from the initial period to the new target period.
	Target Period (real): Defines the chirp signal’s period in terms of either seconds or crankshaft degrees at the target point.

+$#>Input Data – Sensors and Actuators – Examples
Example 1 – Cam Phaser (VVT)

The first example shows a simple single cylinder model that has a sensor added to the cylinder to sense engine speed, and an actuator added to the inlet valve to change the valve MOP. The actuator has been set to update the MOP value only once per cycle to avoid unnecessary calculations since we only intend to change the valve timing with speed which for this steady state case is only for each new test point. No additional control elements have been added to the sensor and one 1D look up table has been added to the actuator, being a table of engine speed on the x-axis with valve MOP on the y-axis.

{bmc bm671.bmp}
Cam Phaser Sensors and actuators Example

Example 2 – Turbocharger Wastegate

This example shows again the addition of one sensor and one actuator to the simulation model, but with significantly more control elements being required to achieve the required functionality. The sensor is used to sense pressure in the plenum attached to the outlet of the compressor, this is then passed to the actuator that controls the wastegate bypass area upstream of the turbine inlet.

The sensor has three control elements added , the first integrates the cylinder pressure over the cycle, whilst the other two perform averaging and scaling functions. An alternative approach would have been to use the cycle average element. The actuator has four elements added that convert the pressure into an area term, perform scaling and limiting to maximum area and finally limiting the range of change to represent the damping in the mechanical system.

{bmc bm672.bmp}
Turbocharger Wastegate Sensors and actuators Example

Example 3 – Variable Intake Manifold (VIM)

The final example is for a variable intake manifold system (VIM) ,where the two separate intake systems on a V6 model (exhaust side omitted) are coupled under certain speed and load conditions. The two sensors sense engine speed and bmep. The bmep is set as the average of all the cylinders. No additonal control elements have been added to the sensors. The actuator controls the area joining the two inlet systems, it is updated on a by cycle basis. Each input signal to the actuator has a user function to perform the required unit changes before being passed as inputs to the 2D map which sets the required area as a function of speed and load. The final control element on the actuator is a limit element to model the system damping.

{bmc bm673.bmp}
Variable Manifold (VIM) Sensors and actuators Example

#Generic Sensor Element {bmc bm674.bmp}

#Time Sensor Element {bmc bm675.bmp}

#Generic Actuator Element {bmc bm676.bmp}

#Sensor Plot Element {bmc bm677.bmp}

#Harness Wire {bmc bm678.bmp}

#Down Level Icon {bmc bm679.bmp}

#Up Level Icon {bmc bm680.bmp}

#User defined Fortran function editor {bmc bm681.bmp}

#1D Lookup Table Data Editor {bmc bm682.bmp}

#2D Lookup Table Data Editor {bmc bm683.bmp}

#Turbocharger element {bmc bm684.bmp}

#Turbine element {bmc bm685.bmp}

#compressor element {bmc bm686.bmp}

#Supercharger element {bmc bm687.bmp}

#Expander element {bmc bm688.bmp}

#Charge-cooler element {bmc bm689.bmp}

#Wastegate element  group {bmc bm690.bmp}

#The Default Good Port option automatically fills the port data spreadsheet with the default port flow data shown below.

{bmc bm691.bmp}
Default Good Port Flow Data

#The Default Poor Port option automatically fills the port data spreadsheet with the default port flow data shown below.

{bmc bm692.bmp}
Default Poor Port Flow Data

#When the User Cf at 0.3 L/D option is selected the flow coefficient at 0.3 L/D is entered in the box to the right of that option button and the spread sheet displays the values calculated by interpolating (and extrapolating) between (and beyond) the good and poor port flow curves.

{bmc bm693.bmp}
User Defined Cf at 0.3 L/D Dialogue Box

#If the User Cf Curve (common) option is selected, then the user will be presented with a single spread sheet window in which to enter the Flow Coeff Vs L/D data. This CF data will then be applied to both forward and reverse flows through the valve.

{bmc bm694.bmp}
User Defined Cf Dialogue Box

The following values are entered into the port flow data spreadsheet:

Number of Points: Number of pairs of data points on the valve lift / throat diameter vs flow coefficient curve. 

L/D Ratio: Ratio of valve lift / throat diameter for point on curve.

Flow Coeff.: Flow coefficient (CF) for a corresponding L/D point on curve.

#If this option is selected, then the user will be presented with two spread sheet windows in which to enter the Flow Coeff Vs L/D data, one for forward flow data and one for reverse flow data. The forward flow direction is defined as the usual flow direction for type of valve under consideration. Thus, for an inlet valve, forward flow is flow from the inlet runner to the cylinder. For an exhaust valve, forward flow is defined as flow from the cylinder into the exhaust.

{bmc bm694.bmp}
User Defined Cf Dialogue Box

The following values are entered into the port flow data spreadsheet:

Number of Points: Number of pairs of data points on the valve lift / throat diameter vs flow coefficient curve. 

L/D Ratio: Ratio of valve lift / throat diameter for point on curve.

Flow Coeff.: Flow coefficient (CF) for a corresponding L/D point on curve.

#If the User Cf Map (common) option is selected, then the user will be presented with a single spread sheet window in which to enter the port flow coefficient (Cf) data as a function of valve L/D and pressure ratio. This Cf data will then be applied to both forward and reverse flows through the valve.

{bmc bm695.bmp}
User Defined Cf Map Dialogue Box

The following values are entered into the port flow data spreadsheet:

Number of X Values: Number of valve lift / throat diameter (L/D) values to be entered in to the map for each pressure ratio. 

Number of Y Values: Number of pressure ratio data values to be entered into the map for each valve lift point. Pressure ratio value entered is the pressure ratio across the valve during the test {bmc bm696.wmf}.  Where {bmc bm697.wmf} is the upstream stagnation pressure and {bmc bm698.wmf} is the downstream static pressure.

Flow Coeff.: Flow coefficient (CF) for a corresponding L/D and pressure ratio point in map.

{bmc bm699.bmp}
User Defined Cf Map Contour Plot

#If the User Cf Map (fwd/rev) option is selected, then the user will be presented with two spread sheets (one for forward flow data and one for reverse flow data) in which to enter the port flow coefficient (Cf) data as a function of valve L/D and pressure ratio. The forward flow direction is defined as the usual flow direction for type of valve under consideration. Thus, for an inlet valve, forward flow is flow from the inlet runner to the cylinder. For an exhaust valve, forward flow is defined as flow from the cylinder into the exhaust.

{bmc bm695.bmp}
User Defined Cf Map Dialogue Box

The following values are entered into the port flow data spreadsheet:

Number of X Values: Number of valve lift / throat diameter (L/D) values to be entered in to the map for each pressure ratio. 

Number of Y Values: Number of pressure ratio data values to be entered into the map for each valve lift point. Pressure ratio value entered is the pressure ratio across the valve during the test {bmc bm700.wmf}.  Where {bmc bm701.wmf} is the upstream stagnation pressure and {bmc bm702.wmf} is the downstream static pressure.

Flow Coeff.: Flow coefficient (CF) for a corresponding L/D and pressure ratio point in map.

{bmc bm699.bmp}
User Defined Cf Map Contour Plot

+$#>Friction Estimator Tool -  Overview

The Friction Estimator is a standalone program, which allows the user to estimate the level of friction created by a variety of valvetrain and bearing configurations.  It can also be used in conjunction with the Lotus Engine Simulation code to create data for entry into the user defined friction section of ‘test conditions’.

It should be noted that the friction results produced DO NOT INCLUDE PUMPING WORK since the simulation program calculates these itself.

The friction estimator is comprised of three main sections.  Data, Text Results and Graphical Results.  The user is required to enter data into the data section and then instruct the program to solve for the results.  These results are then displayed in the text and graphical results sections for viewing.

+$#>Friction Estimator Tool - Opening the Friction Estimator Tool

There are three methods of opening the friction estimator tool:.  

Firstly, after loading the Lotus Engine Simulation code, if the Start Wizard is active, then the user is able to select the friction estimator option from the wizard.  

However, if the user is already working within the Lotus Engine Simulation program, they must either select Tools / Friction Estimator from the main menubar or click on the Friction Estimator Icon near the top of the window.

Alternatively, estimated friction can be invoked directly from the Steady State Test Conditions menu.

+$#>Friction Estimator Tool - Closing the Friction Estimator Tool

In order to close the Friction Estimator Tool, either click on the Close Icon at the top right of the window or select File / Close from the Friction Estimator menubar.  

On the Friction Estimator File menu, there is another ‘close’ option named Close (make current).  This also closes the Friction Estimator Program but at the same time, also copies the calculated data into the relevant section of the current simulation model.

+$#>Friction Estimator Tool - Entering the Data

When opened, the Friction Estimator Tool will show the Data section.  This is indicated by the depressed ‘Data’ button in the upper left of the window.

The Data section of the Friction Estimator Tool is comprised of seven sections and these are as follows:

1 – This section contains the Title and allows the user to type in the friction case they are in the process of creating.
2 – Engine dimensions / specifications including Bore, Stroke, Compression Ratio, Number of Cylinders and Number of Main Bearings are stored in this section.  To enter this data, the user must click on the required data box with the left mouse button and then type in the value.
3 – Main Bearing Type is specified in this section.  The user is able to choose this from a list by clicking on the down arrow to the right of the selection box.  This will produce a list of possible options such as In-line Default or V Two Cyl Per Pin Default which can be selected by left-clicking on the required option. .  There is also a ‘User Defined’ option, which allows bearing diameter and length data to be entered into the boxes to the right of the ‘main bearing type’ box.
4 – This section requires the Crankpin Bearing Type to be selected from a list, and the options are the same as for the ‘Main Bearing Type’ section.  There is again a ‘User Defined’ section with the same data requirements as above.
5 – This section requires Valvetrain Data including Valvetrain Type and Follower Type (Both selected from pop-up lists by left-clicking on the down arrow to the right of the box and then clicking on the required option).  Also, Valves Per Cylinder and Maximum Valve Lift are required.
6 – Cam Bearing Sizes are required for this section.  There are two options to choose from within a pop-up list (User Specified or Estimated Sizes).  The ‘User Specified’ option requires diameter and length values to be entered into the boxes to the right of the section.
7 – The final section stores Load Case Data and this includes Start RPM, End RPM and Interval.  These values are used to match the friction values to the test condition engine speeds already input into the Lotus Engine Simulation code.  If the test conditions engine speed interval is odd, then the user must enter, one at a time, the odd values into both the start and the end RPM boxes and note down the values for manual entry into the relevant test conditions (user defined) friction values.  Load Ratio is used to fine tune the friction values by adjusting the cylinder pressures and hence the piston ring friction 

+$#>Friction Estimator Tool - Solving

Once all required data has been entered, it can be solved by selecting File / Solve Update from the main Menubar.  This will produce results, which can be viewed through the Text Results and Graphical Results sections.

+$#>Friction Estimator Tool – Updating the Lotus Engine Simulation Model

After solving the data and producing results, it is possible to transfer the calculated data to the current simulation model.  This is done by left-clicking on File / Close (Make Current) and then on one of the model options.  These options include H.B.Moss (Howard Barnes Moss), Mill & H (Millington & Hartles), Pat & Hey (Patton, Nitschke, and Heywood), Honda, Modified Honda and Mean.  Each of the above models uses a different approach to solving the data and the user has to decide which one is most appropriate.  The ‘mean’ option simply takes an average of all of the other models. 

+$#>Friction Estimator Tool - Viewing Text Results

Once the data has been solved, it is possible to view the text results file.  This is done by clicking on the ‘Text Results’ button and using the standard windows scroll bar at the right of the display to view the entire file.

The text results file consists of three main sections.  The first section gives a listing of all of the input data.  The second section provides the user a breakdown of the components of friction within the engine using the Patton and Heywood method.  The third and final section gives a comparison of results calculated using a number of friction prediction methods.

+$#>Friction Estimator Tool - Printing Text Results

In order to print the text results file, the user must select Text Results / Print from the Friction Estimator main menubar.  This will initiate the standard windows print dialogue box.  The whole text file will be printed using this method.

+$#>Friction Estimator Tool - Setting the Print Font Type

In order to change the font in which the text file is printed, the user should select Text results / Print Font from the friction estimator menubar and then select the required font type.  There are three options for font type:  

Fixed pitch, although less attractive, forces each character to be the same width, therefore making sure that all columns in tables line up perfectly.
Proportional Sans Serif font characters do not have a fixed width.  They have a more attractive appearance than the fixed pitch font type but may not always line up properly.
Proportional Serif characters are simply a slight variation on the Proportional Sans Serif font type. 

+$#>Friction Estimator Tool - Setting the Print Font Size

In order to alter the print font size, the user must click on Text Results / Print Font Size within the friction estimator menubar and then click on the required standard font size (available sizes 6 – 16).  A check mark will appear next to the chosen font size.

+$#>Friction Estimator Tool - Saving Text Results to File

Text results can be saved to file by clicking on Text results / Save to File.  This will bring up the standard windows browser dialogue box, allowing the user to select the file name and directory of their choice.

+$#>Friction Estimator Tool - Viewing Graphical Results

Graphical results can be viewed by left-clicking on the Graphical Results button.  This will display the graphical results window which contains a graph on the left hand portion of the window and a display control section on the right hand side of the display.

+$#>Friction Estimator Tool - Changing the Graphical Display

There are two main Graphical Display options available to the user.  These are ‘Individual Patton and Heywood’ and ‘Comparison of Totals’.

The ‘Individual Patton and Heywood’ option allows the user to view an overlaid graph of each component’s friction, calculated using the Patton and Heywood method.  Each component graph can be switched on and off by clicking on the check box next to each option.

The ‘Comparison of Totals’ option allows the user to view an overlaid graph of the results of 5 different friction calculation methods (Howard Barnes Moss, Millington & Hatles, Patton & Heywood, Honda and Modified Honda) and the mean of the 5 methods.  Each option can be switched on and off by clicking on the box next to each option.

+$#>Friction Estimator Tool - Copying Graphs to the Clipboard

If the user wished to transfer a graph to an external application then this is done by copying the graph to the clipboard and then pasting the graph into the target application.  In order to copy the graph to the clipboard, select Graphical results / Copy to Clipboard from the main Friction Estimator menubar.

+$#>Friction Estimator Tool - Printing Graphs

In order to print the currently displayed graph, select Graphical results / Print Graph from the main Friction Estimator menubar.  This will initiate the standard Windows printing dialogue box.

+$#>Friction Estimator Tool - Autoscaling Graphs

Autoscaling the currently displayed graph automatically sets the scales of the graph so that the graph lines are all displayed clearly within the axes.  In order to instruct the friction estimator to perform this function, select Graphical results / Autoscale from the friction Estimator menubar.

+$#>Friction Estimator Tool - Zooming Graphs

To zoom in on a particular section of the displayed graph, begin by selecting Graphical results / Zoom from the friction estimator menubar.  This will initiate cross hairs which will appear when the mouse pointer is moved over the graph area.  To select the required zoom area, position the cross hairs at the top left hand corner of the zoom area, left-click at that point, and release the mouse button.  Next, move the cross hair to the right and down, dragging the selection box over the zoom area, then left click again.  This will scale complete the zoom procedure. 

+$#>Friction Estimator Tool - Listing Graph Values

If the user wishes to accurately read off particular values from the displayed graph, then they should firstly select Graphical Results / List from the friction estimator menubar.  When this has been done, cross-hairs will appears as the user moves the mouse pointer over the graph area.  To list a graph value, click on the graphical display.  X axis (Engine RPM) and Y axis (Friction (Bar)) values will be displayed at the bottom of the graph area.  The value displayed will relate to the point at which the vertical cross-hair crosses the line which is closest to the cross point of the cross-hairs. Click with the cross-hair cross point as close as possible to the point of interest.  To remove the cross hairs when finished listing values, click the right mouse button.

+$#>Friction Estimator Tool - Graph Setup

If the user wishes to manually set the scales, titles etc. of the results graphs, they should select View / Setup from the Results Graph Window main menubar.

There are three sections within the Results Graph Setup window.  These are Plot Text and X Axis and Y Axis.

‘Plot text’ allows the axes titles, fonts, colours and grid types to be specified by left-clicking on the relevant box and selecting the required option from the pop-up list or typing in the text / value as appropriate.  Other options such as ‘Auto Position’ and ‘Scale Text With Page’ can also be switched on and off by left-clicking on the appropriate check-box.

‘X Axis’ allows the user to alter the minimum and maximum  X Axis scale values as well as the interval and number of decimal places.  This is done in the same way as for the first section.

‘Y Axis’ allows the properties of each plot line to be altered.  These include line colour, line type, symbol colour and symbol type.  These options can be changed by clicking on the relevant box and selecting the required option from the pop-up list.  Specific lines and symbols can be made visible or invisible by left-clicking in the check box to the right of the line or symbol options of interest.

Graph Axes (1-6) can be cycled through by left-clicking on the back and forwards arrows at the top left of the relevant section.  The current Axis is displayed between these arrows.

+$#>Friction Estimator Tool - Refreshing the Graph

If an option has been changed and the graph has not changed to reflect the chosen option, then it is necessary to Refresh the graph.  This is done by selecting Graphical Results / Refresh from the friction estimator menubar.

+$#>Friction Estimator Tool - Database Structure

Each entry in the friction database is obtained from an actual file, stored in the friction sub-folder of the database directory.  Each file contains the actual friction text file data, which can be loaded into an input data file (.sim file).

If each data file had to be loaded and friction results calculated each time the user wished to list the database entries, it would take an unacceptable amount of time.  This problem has been solved with the use of a scratch file.

The scratch file contains a limited number of the data variables and results calculated from the actual friction files.  This scratch file is then used to list the database entries rather than directly calculating the results each time a list is required, cutting down waiting time.  The scratch file is saved automatically within the working directory of the Lotus Engine Simulation code.

When an entry is selected from the scratch file list and needs to be loaded into the friction estimator, the actual friction file in the database directory is directly loaded up and calculations performed.

If new files are introduced into the database directory then a new scratch file has to be built in order to update the listing.

It should be noted that before the database facility can be used, the Database Folder must be specified.  This must be done from either the standard or the builder interface.  The user must select Setup / Database Folder from the main menu and then enter the path of the folder in which all database files are stored.

+$#>Friction Estimator Tool - Listing Database Entries

When there is data stored in the database scratch file (see Database Structure) then it is possible to list the stored database entries.  This is done by selecting Database / List Entries from the friction estimator menubar.  After performing this task, a window will appear with a spreadsheet-style layout of the database data.  Particular entries can be highlighted by clicking on them with the left mouse button. 

+$#>Friction Estimator Tool - Rebuilding Database Scratch File

If there is currently no scratch file or if the user wishes to update the database data, then the Database Scratch File must be Rebuilt.  This is done by selecting Database / Rebuild Database Scratch File from the friction estimator menubar. 

+$#>Friction Estimator Tool - Loading Database Entry into Friction Estimator

In order to load a database entry into the Friction estimator, the user must first of all list the database entries and select an entry with the left mouse button.  When this is done, the user must right-click with the mouse pointer over the selected entry and select Load Entry as Data File.  This will load the friction file data into the Friction Estimator.

+$#>Friction Estimator Tool - Shuffling Columns

If the user wishes to list the database entries by number order in a certain column then they should first of all list the database entries and then left-click on the required column heading.  This will highlight the column in black if done correctly.  The user must then click the right mouse button with the mouse pointer over the highlighted column heading.  This will bring up a pop-up menu from which either Shuffle Selected Column by Highest or Shuffle Selected Column by Lowest must be selected depending on the user’s preference.

+$#>Friction Estimator Tool - Reverting to Original Database Order

In order to return the database order back to it’s original order, when the database listing has been displayed, right click anywhere on the listing and select Revert to Original Order from the popup menu.

+$#>Friction Estimator Tool - Showing and Hiding Database Entries

If the user wishes to cross plot their data against only a portion of stored database data, this can be done by hiding all entries which are not of interest.

In order to hide an entry, highlight it by clicking on it with the left mouse button and then right-click on the selected entry and select Hide Selected Entries from the pop-up menu.

To hide several adjacent entries at once, left-click on the first target entry and then hold down the left mouse button and drag the mouse across the rest of the target entries until they are highlighted yellow.  When this is done, release the left button, click the right mouse button then select Hide Selected Entries 

In order to show all the entries again, right click anywhere on the listing and select Show All Entries.

To switch between hidden and shown entries, right-click anywhere on the listing and select Swap Show/Hide Entries.

+$#>Friction Estimator Tool - Clipping Columns

An alternative method of hiding certain database entries is to clip columns.  This allows the user to hide the entries above, below or on either side of specific column values.  In order to do this, left-click on the column of interest then right click over the column heading to bring up the pop-up menu.  From the listing, select either High Clip Selected Column (To hide entries with column values above a certain value), Low Clip Selected Column (To hide entries with column values below a certain value) or Pass Clip Selected Column (To hide entries above and below certain values).  After selecting the type of clip, a dialogue box will appear, requesting the relevant column value(s).  Enter the value(s) and that will complete the procedure.

+$#>Friction Estimator Tool - Friction Theory Overview

The friction estimator produces six different engine FMEP values, each of which can be input into a simulation engine model.  Five of these values are obtained from different friction models and the sixth value is simply a mean of the five different model values.  The five friction models used are as follows:

1 – Patton, Heywood and Neitsche (Spark-Ignition Engines)
2 – Sandovall and Heywood (Spark-Ignition  Engines)
3 - Howard, Barnes, Moss (Spark-Ignition Engines)
4 - Millington and Hartles (DI and IDI Diesel Engines)
5 - Honda (S.I. Engines)
6 - Modified Honda (Spark Ignition Engines)

+$#>Friction Estimator Tool - Patton Nitscke and Heywood Model

The Patton, Nitschke and Heywood engine friction model is based on equations from Patton et al [1] made up of four main sections.  These are Rotating, Reciprocating, Valvetrain and Auxiliary Friction.  The total engine friction is calculated by summing these four friction values.

Rotating friction is made up of three main sub-sections - main bearing seal friction, main bearing hydrodynamic lubrication friction and turbulent dissipation to pump fluids.  These are again summed to reach a total rotating friction value.

Main bearing seal friction considers the front and rear main bearing seal friction and is calculated using the following formula:

SEAL{bmc bm703.wmf}		

Where:	Db 	= 	Main Bearing Diameter
	B 	=	Bore
	S	=	Stroke
	nc	=	Number of Cylinders

To calculate Main Bearing Hydrodynamic Lubrication friction:

LUBE{bmc bm704.wmf}

Where:	RPM 	= 	Engine speed (rpm)
	Lb 	= 	Length of main bearing
	nb 	=	Number of main bearings

Load Factor is an additional factor added to increase accuracy.  It is calculated using the following formula:

{bmc bm705.wmf}

Turbulent dissipation to pump fluid accounts for the losses due to the transport of oil through the bearings and calculated as follows:

TURB{bmc bm706.wmf}

Therefore:	Total Rotating Friction = (SEAL FMEP + LUBE FMEP+ TURB FMEP)

Reciprocating Friction contains three sub-sections.  These are Piston, Piston Ring and Connecting Rod friction.

Piston friction is calculated using the following formula:

PISTON {bmc bm707.wmf}

Where:	Sp 	= 	Mean Piston Speed
	B	=	Bore

Piston Ring Friction is divided into two sub-sections (Friction without gas loading and Additional friction due to gas loading).

Friction without gas loading can be calculated using the below formula:

RING-NO GAS LOAD {bmc bm708.wmf}

Where:	N = Engine RPM

In order to calculate the friction due to gas loading, the following formula is used:

RING-DUE TO GAS {bmc bm709.wmf}

Where:	Pi	=	Intake pressure
	Pa	=	Ambient Pressure
	Rc	=	Compression Ratio

Therefore, total piston ring friction is given by:

TOTAL RING {bmc bm710.wmf}

Con Rod Bearing friction is modelled assuming the majority of the lubrication is hydrodynamic and is calculated as shown below:

CON ROD {bmc bm711.wmf}

Where:	Db	=	Big end bearing diameter
	Lb	=	Big end bearing length
	Nb	=	Number of big end bearings
	B	=	Bore
	S	=	Stroke
	nc	=	Number of cylinders

Total Reciprocating Friction is the sum of: PISTON + TOTAL RING + CON ROD frictions.

Valve Train Friction is calculated from three sub-sections.  These are Camshaft bearing friction, Cam and Follower friction and Oscillatory valvetrain friction.  The FMEP values obtained from each of these sections are then summed to generate a total valve train friction FMEP value.

Camshaft bearing friction is calculated using a Lotus-modified Patton, Nitschke and Heywood formula.  This is shown below:

CAMSHAFT {bmc bm712.wmf}

Where:	Dcb	=	Camshaft Bearing Diameter
	Lcb	=	Camshaft Bearing Length
	nmb	=	Number of Main Bearings
	ncs	=	Number of Crankshafts

Cam and follower friction is calculated by either of two methods depending on whether the valve train uses flat followers or roller followers.

These two models are combined into one formula and constants are used to activate the required part of the formula.  This is shown below:

CAM FOLLOWER {bmc bm713.wmf}

Where:	Const 1		=	600 or 0 (Depending on type of follower chosen)
	Const 2		=	0.0227 or 0 (Depending on type of follower chosen)
	nv		=	Number of valves.

Valve train oscillatory friction is calculated in two parts.  These are ‘oscillating hydrodynamic friction’ and ‘oscillating fixed lubrication friction’.  These two parts are combined into one formula as follows:

OSCILLATING FMEP  = oscillating hydrodynamic friction + oscillating mixed lubrication friction
OSCILLATING {bmc bm714.wmf}
Where:	CONST1	= Oscillating hydrodynamic constant determined by valvetrain type.
	CONST2 	= Oscillating mixed lubrication constant determined by valvetrain type.
	LX		= Valve lift
	B 		= Bore
	S		= Stroke
	nc		= Number of Cylinders

Therefore, Total Valvetrain Friction  = Camshaft bearing friction + Cam and follower friction + Valve train oscillatory friction.

Auxiliary friction is the final friction section and is calculated using a Lotus – modified version of the Patton,  Nitschke and Heywood. The modified equation introduces a swept volume term into the equation and is as follows:

AUX {bmc bm715.wmf}

Where:	CON1 		= Lotus Constant (Acquired through experience)
	ACONST	{bmc bm716.wmf}		(Vs = Swept Volume)
	If ACONST is calculated to be less than 0.5 then it is taken as 0.5.

Total Engine Friction from the Patton, Nitschke and Heywood model is calculated by summing the friction elements as follows:

TOTAL FMEP = Rotating FMEP + Reciprocating FMEP + Valvetrain FMEP + Auxiliary FMEP

References:

1. Patton.K.J, Nitschke.R.G and Heywood.J.B. Development and Evaluation of a Friction Model for Spark Ignition Engines. SAE Paper no. 890836, 1989. International Congress and Exposition, Detroit, Michigan, Feb 27 – Mar 03, 1989.

+$#>Friction Estimator Tool – Sandoval and Heywood Model
The Sandoval and Heywood engine friction model is based on equations from Patton, Nitschke, and Heywood [1], and the update by Sandoval and Heywood [2].   The total engine friction, excluding pumping, is calculated by summing contributions from rotating, reciprocating, valvetrain and auxiliary friction approximations.  The update by Sandoval and Heywood include terms that scale the friction results to estimate the effect of changing oil viscosity.  

Oil viscosity Sandoval and Heywood introduce a viscosity scaling term to account for variation of hydrodynamic friction as a function of engine oil viscosity.  The scaling term allows investigation of the effect of oil grade and temperature on engine friction.  This scaling factor is introduced to the hydrodynamic terms for each of the rotating, reciprocating and valvetrain contributions.

Hydrodynamic scaling 
{bmc bm717.wmf}
Where {bmc bm718.wmf} is the viscosity of the oil from the test engine used to calibrate the engine friction model and {bmc bm719.wmf} is the viscosity of the oil in the engine for which friction estimates are desired.  The viscosity is calculated from the oil temperature and grade using the method outlined in Sandoval and Heywood. 

Rotating friction concerns the friction losses due to rotation of the crankshaft.  It consists of three main sub-sections; main bearing seal friction; main bearing hydrodynamic lubrication friction; and turbulent dissipation to pump fluids.  These are summed to give the total rotating friction value.

Main bearing seal friction considers the front and rear main bearing seal friction calculated using the following formula:
{bmc bm720.wmf}	(kPa)

Main Bearing Hydrodynamic Lubrication friction:
{bmc bm721.wmf}	(kPa)

Turbulent dissipation to pump fluid 
Accounts for the losses due to the transport of oil through the bearings and calculated as follows:
{bmc bm722.wmf}	(kPa)

Notation
	rpm	=	Engine speed
	{bmc bm723.wmf}	=	Length of main bearing
	{bmc bm724.wmf} 	=	Number of main bearings
	{bmc bm725.wmf}	=	Main Bearing Diameter
	{bmc bm726.wmf}	=	Bore
	{bmc bm727.wmf}	=	Stroke
	{bmc bm728.wmf}	=	Number of Cylinders
	{bmc bm729.wmf}	=	Reference viscosity of oil
	{bmc bm730.wmf}	=	Viscosity of oil for test case 

Total Rotating Friction
{bmc bm731.wmf} 	(kPa)
Reciprocating friction contains three sub-sections that approximate; piston friction under hydrodynamic and mixed friction regimes; piston ring friction due to gas loading; and connecting rod hydrodynamic friction.

Piston friction is calculated using the following formula assuming a combination of fully hydrodynamic lubrication and mixed regime lubrication:

The hydrodynamic term has been modified from the Sandoval and Heywood method so that the hydrodynamic friction is proportional to the square of mean piston speed.
{bmc bm732.wmf}	(kPa)

{bmc bm733.wmf}	(kPa)

Piston friction due to gas loading 
{bmc bm734.wmf}	(kPa)
where:	C	=	Lotus adjustment coefficient deduced from test data.

Big End Bearing friction is modelled assuming the lubrication is hydrodynamic and is calculated as shown below:
{bmc bm735.wmf}	(kPa)

Notation
	rpm	=	Engine speed
	{bmc bm736.wmf}	=	Length of big end bearing
	{bmc bm737.wmf} 	=	Number of big end bearings
	{bmc bm738.wmf}	=	Big end bearing Diameter
	{bmc bm739.wmf}	=	Bore
	{bmc bm740.wmf}	=	Stroke
	{bmc bm741.wmf}	=	Number of Cylinders
	{bmc bm742.wmf}	=	Reference viscosity of oil
	{bmc bm743.wmf}	=	Viscosity of oil for test case
	SPM	=	Mean piston speed
`	{bmc bm744.wmf}	=	Compression ratio
	{bmc bm745.wmf}	=	Inlet manifold pressure
	{bmc bm746.wmf} 	=	Atmospheric pressure

Total Recpirocating Friction
{bmc bm747.wmf}	

Valve Train Friction is calculated from three sub-sections.  These are camshaft bearing friction, cam follower friction and oscillatory valvetrain friction.  The FMEP values obtained from each of these are summed to give the total valve train friction FMEP value.  
The coefficients used here for Cff, Crf, Com, Coh have been taken from Patton, Nitschke, and Heywood[1]

Camshaft bearing friction 
{bmc bm748.wmf}

Cam follower friction
The friction arising from the cam follower is calculated using the appropriate equation for either flat or roller follower.
	
	Flat follower:

{bmc bm749.wmf}

	Roller follower:

{bmc bm750.wmf}

Oscillating components friction:

	Hydrodynamic:
{bmc bm751.wmf}
	Mixed regime:
	{bmc bm752.wmf}

Notation
	rpm	=	Engine speed
	{bmc bm753.wmf}	=	Length of big end bearing
	{bmc bm754.wmf} 	=	Number of big end bearings
	{bmc bm755.wmf}	=	Bore
	{bmc bm756.wmf}	=	Stroke
	{bmc bm757.wmf}	=	Number of Cylinders
	{bmc bm758.wmf}	=	Reference viscosity of oil
	{bmc bm759.wmf}	=	Viscosity of oil for test case
	Cff	=	Flat follower coefficient
	Crf	=	Roller follower coefficient
	Coh	=	Oscillating hydrodynamic coefficient
	Com	=	Oscillating mixed coefficient

Total Valvetrain Friction
{bmc bm760.wmf}

Auxiliary friction is given by a polynomial fit to auxiliary friction data as a function of engine speed.  The polynomial used is similar to that of the updated Sandoval-Heywood [2] method with the introduction of an adjustment coefficient:

{bmc bm761.wmf}

where
	A 	=	Lotus adjustment coefficient.

Total Engine Friction is calculated by summing the friction contributions.

{bmc bm762.wmf}

References:

1. Patton.K.J, Nitschke.R.G and Heywood.J.B.,Development and Evaluation of a Friction Model for Spark Ignition Engines. SAE Paper no. 890836, 1989. International Congress and Exposition, Detroit, Michigan, Feb 27 – Mar 03, 1989.

2. Sandoval, D., and Heywood, J.B.  SAE paper no. 2003-01-0725, International Congress and Exposition, Detroit, Michigan, 2003

+$#>Friction Estimator Tool - Howard Barnes Moss Model

This model is used for friction prediction within Spark Ignition Engines and is based upon the principle that the level of engine friction is a function of the engine speed and the mean piston speed.  Pumping work has been excluded from the equation since it is not required by the simulation program. The Lotus – modified formula is shown below:

{bmc bm763.wmf},

where:	

RPM	 =	 engine speed [rev/min]

SPM	 =	 mean piston speed [m/s]

+$#>Friction Estimator Tool - Millington & Hartles Model

This method of calculating friction values is used for both direct and indirect diesel engines The formula obtained from Barnes-Moss [2] has been modified by lotus to exclude pumping FMEP (since this is calculated within the simulation code) and also to include a compression ratio term.

The formula is as follows:

{bmc bm764.wmf}

where:	

CR	 = 	Compression Ratio

References:

1. Barnes-Moss, H, A Designer’s Viewpoint. Passenger Car Engines, Conference Proceedings, pp.133-147, Institution of Mechanical Engineers, London, 1975.

+$#>Friction Estimator Tool - Honda & Modified Honda Models
The Honda models are based on the fact that the engine FMEP varies in proportion to: 

{bmc bm765.wmf}

NDE  =>  Non-dimensional engine number

Equations used in both models are based on equations from Fujii et al [3] and Yagi, S & Ishibasi, Y [4]

Honda Model

This Model multiplies the non-dimensional engine number by a dimensional coefficient which consists of an engine speed dependant term and a constant term.  It has also been modified by Lotus in order to remove pumping losses from the equation (since they are not required to be input into the simulation).

The equation used in the code is as follows:

{bmc bm766.wmf}

Where:	FLBAR 	= 	Mean flow / Bore Area Constant - Derived from Lotus Experience
	
	CST	= 	Oil Viscosity Constant - Derived from Lotus Experience

	CMD 	=> 	Equivalent Crank Diameter = (Dmb * nmb + Dbb * nbb) / (nmb + nbb)

	Dmb	= 	Main Bearing Diameter
	Dbb	= 	Big End Bearing Diameter
	Nmb	= 	Number of Main Bearings
	Nbb	= 	Number of Big End Bearings

Modified Model

This model contains the same basic non-dimensional engine number as the standard Honda model but the dimensional coefficient has been changed and refined to provide correlation with an alternative set of engines.

The Equation used in the code is based on the modified Honda formula and is as follows:

FMEP = (2.5E-8 * RPM2 + 1.0E-4 * RPM + 1.1) * {bmc bm767.wmf}

References:

3	Isal Fujii, Shizuo Yagi, Hiroshi Sono & Hiroshi Kamiya
Total Engine Friction in Four Stroke S.I. Motorcycle Engine
0	SAE Paper no 880268, 1988

3	Shizuo Yagi and Yoichi Ishibasi
Experimental Analysis of Total Engine Friction in Four Stroke S.I. Engines
SAE Paper no 900223, 1990

 #Friction Estimator Icon {bmc bm768.bmp}

+$#>Network Builder Interface - Overview

Overview
The Lotus Engine Simulation Data Builder Interface allows the user to create a model of an engine using a graphical drag and drop method. Connections between components are made by dragging the inlet of one component to the outlet of another on the graphical display.

The Graphical Display allows the user to view all engine components in their connected state.  Each component is represented by its own symbol so that they can easily be identified and selected.  Parameters for each component can be entered via the ‘properties’ window. Components and their properties can be copied, which can aid in reducing model construction time.
– see ‘Cutting and Pasting Components ’

Note: All engine geometry data can be entered through the Network Builder but STEADY STATE TEST CONDITIONS DATA MUST BE ENTERED before a run can be performed. Test conditions are accessed from the network builder interface by selecting Data / Test Conditions / Edit Test Data from the top menu or by pressing F12.  Alternatively, the Test Conditions Wizard can be used to automatically create test conditions data and this can be initiated by selecting Data / Test Conditions / Create Wizard from the main menu, or selecting the steady state test conditions data icon.

{bmc bm574.bmp}
Steady State Test Conditions – Summary Icon

+$#>Network Builder Interface – Opening Network Builder Interface

Opening Network Builder Interface
If the user is currently working within the .PRS Results Viewer then the Network builder interface can be accessed by clicking on the Network Builder Icon. 

{bmc bm769.bmp}
Network Builder Interface Icon

+$#>Network Builder Interface – Component Descriptions

Component Descriptions
On each component, there is an arrow, which indicates the direction of flow (intake to outlet). The connection points are represented by black dots and ‘Adding Components / Allowable Components’ can be connected to these. 

All engine components are located within the ‘toolkit’ menu at the left-hand side of the window.  

Click HERE to view the toolkit and descriptions of components. 

+$#>Network Builder Interface – Adding Components

Adding Components
Components may be added to Network Builder’s workspace in a number of ways. The preferred method is to drag the desired component from the ‘Toolkit’. Click the left mouse button over the item and then position it on the workspace with another click of the left mouse button.

A second method of retrieving components is to drag them across from the ‘Allowable Elements’ box, which is located at the lower right corner of the Network Builder screen, in the same manner. 

The ‘Allowable Elements’ box lists only those components that can be positioned upstream or downstream of the item currently selected, for example a plenum cannot be connected directly to a cylinder.
{bmc bm770.bmp}
Allowable Element Connections Display

A third way of positioning components is to use the ‘Add’ option within Network Builder’s ‘Edit’ menu.

{bmc bm771.bmp}
Adding Elements from the Builder Interface Menubar

+$#>Network Builder Interface –Manipulating Pipes

Manipulating Pipes
Pipes are added to the Network Builder screen in the same way that other components are added. However it is possible for the user to specify the way in which pipes are dropped onto the on the workspace. This is done by clicking on one of three options available when ‘Add pipe by’ is selected within Network builder’s ‘Edit’ menu. The three options available to the user are:

Drop + Pick End
When this option is activated a pipe is dropped in a static state onto the workspace. The user can only reposition the pipe by re-clicking on it.

Drop + Drag End 1
When this function is activated a pipe is dropped onto the workspace and End 1 remains ‘live’, thus enabling the user to drag the it around the workspace ad re-position it as required.

Drop + Drag End 2.
When this function is activated a pipe is dropped onto the workspace and End 2 remains ‘live’, thus enabling the user to drag it around the workspace ad re-position it as required.

Clicking the right mouse button while a pipe is selected activates a number of manipulating functions specific to pipes. Using these functions will not affect the properties of the pipe in any way, but can be used to construct a clear engine model diagram.

{bmc bm772.bmp}
Builder Interface Right Mouse Button Menu 

Functions

Nudges		
Nudge Up	Nudge the selected element up.	
Nudge Down	Nudge the selected element down.	
Nudge Left	Nudge the selected element to the left.	
Nudge Right	Nudge the selected element to the right.	
		
Rotate C/W	Rotate the selected element clockwise.	
Rotate A-C/W	Rotate the selected element anti-clockwise.	
		
Flip Flow Direction	Reverse the flow direction of the selected element.	
		
Pipe Conversion		
Convert Pipe to Bend	Convert pipe to a bend – with bend losses.	
Convert Bend to Pipe	Convert bend to a straight pipe.	
Merge Pipes	Merge two pipes (will average diameter at join if discontinuous).	
Split Pipes at Length	Split selected pipe at a specified length, to create two pipes.	
		
Straight 	Convert pipe to straight – for visual purposes only.	
Single Bend       	Convert pipe to bend – for visual purposes only.	
Double Bend    	Convert pipe to double bend – for visual purposes only.	
		
Shorten Offset      	Reduces the distance between the bends in a double bend pipe.	
Lengthen Offset    	Increases the distance between the bends in a double bend pipe.	
		
Reduce Radius	Reduces the bend radius of a curved pipe (for display only)	
Increase Radius	Increases the bend radius of a curved pipe (for display only)	
		
Cut	Cut the selected element from the model	
Copy	Copy the selected element	
Paste	Paste a copied or cut element into the model	
Delete	Delete the selected element	
		
Copy Data From	Copy element data from another element to the selected element	
Copy Data To	Copy element data from the selected element to another element	
		
Delete All	Deletes all the elements in the current model!	

+$#>Network Builder Interface –Viewing the Graphical Pipe Display

Overview
The pipe graphical display allows the user to view either a two-dimensional or three-dimensional graphical representation of pipes within an engine model.  Pipe diameters, centres and connections can all be viewed easily, allowing the user to more easily visualise the pipe data they have input into the model.  

{bmc bm773.bmp}
Pipe Graphical Display Window

Opening / Closing the graphical Pipe Display
The pipe graphical display window can only be accessed from the Network Builder Interface.  Once the user is working within Network Builder, they must left-click on a pipe in order to select it.  On the right hand side of the screen, pipe data-entry boxes will appear as usual.  To open the graphical pipe display, click on the Graphical Pipe Display Icon.

In order to close the graphical pipe display, click on the standard ‘Close’ Button at the top right hand corner of the window.

Mesh point Visibility
If the user wishes to view the mesh points along the pipe length, then they should click on the Mesh Point Visibility Icon.  The mesh points can also be removed by clicking on the same icon a second time.

Centre Line Visibility
The centre line of the pipe will be shown on the graphical display if the user clicks on the Centre Line Visibility Icon.  To remove the centre line, click on the same icon again.

Pipe Diameters Visibility
The diameters of the sections of the displayed pipe can be viewed by clicking on the Pipe Diameters Visibility Icon.  There are again removed by clicking on the icon a second time.

2-Dimensional / 3-Dimensional Display
The graphical display can be toggled between 2D and 3D by clicking on the 2D/3D Icon.

Connected Pipes Display
If the user wishes to view the pipes which are connected to either side of the selected pipe, they must click on the Connected Pipes Display Icon.  These can be removed by clicking again on the same Icon.

Dynamic Translate View
To move the graphical display around within the graphical pipe viewer window whilst retaining the scale of the display, click on the Dynamic Translate View Icon and then left - click on the display, hold the button down and drag the display around the window with the mouse.  Once the desired location has been reached, release the mouse button to set the display in that position.

Dynamic Scale View
To scale the graphical pipe display about it’s current position, click on the Dynamic Scale Icon, press and hold down the left mouse button over the display and drag the mouse either backwards or forwards until the desired scale is achieved.  When satisfied with the sacle, let go of the button to set the scale.

Zoom In / Out
To Zoom either in or out by a small amount, click on either the Zoom in Icon or the Zoom out Icon as appropriate and click on the display to zoom.

Autoscaling
To make the pipes fit the screen automatically, click on the Autoscale Icon.

Picking a Zoom Area
To pick a specific area on the pipe display to zoom into, click on the Zoom Area Pick Icon, click the upper left hand corner of the rectangular area of interest, drag the selection box over the required area and left-click again to select the area.  The view will then zoom into the selected area.

Printing the graphical pipe Display
To print the graphical pipe display, click on the Print Icon.  This will call up the standard windows printing dialogue box.

Copying the Graphical Pipe Display to the Clipboard, 
To copy the pipe display to the clipboard, Click on the Copy to Clipboard Icon.

+$#>Network Builder Interface – Selecting Components

Selecting Components
Focus Previous/Next (F2/F3)
The focus option allows the user to highlight a desired component or mesh point on the Network Builder engine model.  Data relating to the component selected is displayed in the information box at the right of the screen. If the ‘ Pipe Visibility’ option is switched on, the ‘Focus’ option can also be used to move between mesh points. It should be noted that mesh point data can only be viewed within the results viewer section of Network Builder.

Pick Single
The ‘Pick Single’ function allows the user to select a single component at a time. The option is displayed at the top of Network Builder by a mouse pointer icon. Clicking on the component with the mouse will select it, allowing further manipulation. 

Pick Area
The ‘Pick Area’ function is a way of selecting multiple components simultaneously for manipulation.  The icon relating to the option is at the top of the Network Builder screen, to the right of the ‘pick single’ white arrow icon. Clicking the icon will bring up a set of cross hairs on the screen. The cross forms one corner of a rectangle and is positioned at a desired location by a further click of the mouse. A rectangle will appear on the screen, the area of which should be dragged over the components that are to be manipulated. A final click of the left mouse button will lock the rectangle into position. Only components lying entirely within the boundary of the rectangle will be selected. 

Pick Lasso
The ‘Pick Lasso’ function is essentially the same as ‘Pick Area’, allowing multiple components to be selected for manipulation. The icon representing this function is at the top of he Network Builder screen. Once activated, the left mouse button is held down and the cursor is dragged around the components required. In order to select a component using the lasso function, the entire component must lie within the area of the lasso.

+$#>Network Builder Interface – Moving Multiple Components

Moving Multiple Components
Using the ‘Pick Single’ function denoted by the white arrow icon at the top of the Network Builder screen, it is possible to move components around the workspace. The user can specify the number of components that are moved at a time by selecting one of three options.  These options are available either within the ‘Move by’ section in Network Builder’s ‘Edit’ menu, or by clicking the appropriate icon at the top of the screen.
Move element singularly icon

Selecting this option results in just one element being moved at a time.
Move element and 1st Children icon

Selecting this option will allow the component selected by the cursor to be moved and any additional components to which it is directly connected. Connections between the 1st children and further components to which they are connected will be broken.
Move element and Family icon

Selecting this option will allow the component selected by the cursor to be moved, any directly attached components (1st Children) and any further components to which the 1st Children are connected (family). Connections between the family and additional components to which the family members are connected will remain in tact.

+$#>Network Builder Interface – Cutting and Pasting Components

Cutting & Pasting Components

Cut
Selected items may be cut from the Network Builder model in one of two ways. Either the item is cut by clicking on the appropriate reference within Network Builder’s ‘Edit’ menu, or the Ctrl+x key combination is used.

Copy
Selected items may be copied in one of two ways. Either the item is copied by clicking on the appropriate reference within Network Builder’s ‘Edit’ menu, or the Ctrl+c key combination is used.

Copying Display to Clipboard
Using the ‘copy display to clipboard’ command, the entire Network Builder display can be copied to the main clipboard, from which the display can be accessed by different working environments.

Paste
Components can be pasted form the clipboard onto the Network Builder workspace in one of two ways. Either the paste command is activated by clicking on the appropriate command within Network Builder’s ‘View’ menu, or the Ctrl+v key combination is used.

+$#>Network Builder Interface – Deleting Components

Deleting Components
All components on the Network Builder workspace can be deleted at the same time by clicking ‘Clear All’ within the ‘Edit’ menu. Selected components can be deleted individually either by using the delete key on the keyboard, or by clicking the right mouse button and selecting ‘delete’ from the options menu.

+$#>Network Builder Interface – Viewing Toolbars / Menus

Viewing Toolbars / Menus
Toolkit
The ‘toolkit’ is the list of component icons on the left side of he Network Builder screen. The toolkit can be activated or de-activated by clicking on the relevant option within Network Builder’s ‘View’ menu.

{bmc bm774.bmp}
Toolkit Visibility Toggle

Properties
The properties box can be activated or de-activated by clicking on the relevant option within Network Builder’s ‘View’ menu. Activation of this option displays the box on the right side of the Network Builder screen. Parameters included within the box are specific to the component highlighted on the engine model diagram.

Toolbars
The visibility of each of the toolbars can be activated or de-activated by clicking on the relevant option within Network Builder’s ‘View’ menu, as shown below.

{bmc bm775.bmp}
Toolbar Visibility Toggle

+$#>Network Builder Interface - Zooming

Zooming
The zooming facilities are found within Network Builder’s ‘View’ menu. Placing the cusor pointer above the ‘Control’ menu item invokes the zoom menu. Clicking on either the ‘zoom in’ option or the ‘zoom out’ option will scale the engine diagram by a fixed proportion. 

The standard zoom option may by used to zoom in on a user specified workspace area. Clicking on this option brings up two cross hairs. The cross forms one corner of a rectangle and can be positioned by the user in the desired location. A further click of the mouse button will activate a rectangle, which can be resized by dragging the mouse. The area enclosed by the rectangle is the zoom area. A final click of the mouse button will scale the desired area so that it fills the Network Builder workspace.

+$#>Network Builder Interface – Scaling the View

Scaling the View
Dynamic Scale
The Network Builder workspace can be scaled by selecting the ‘Dynamic Scale’ option within the ‘View’ menu. Alternatively the option can be activated using the appropriate icon at the top of the screen. Holding down the left mouse button and dragging the mouse will scale the view correspondingly. Releasing the mouse button will fix the scale of the workspace. 

Autoscale
‘Autoscale’ is a function that automatically scales the Network Builder workspace to a degree whereby the model under construction fills the screen. ‘Autoscale’ can be activated in two ways. The first method is to click on the ‘Autoscale’ option within the ‘View’ menu.  Alternatively the CTRL-a key combination can be used. The builder display can be set to autoscale automatically when a model is loaded. This option can be found within the ‘Setup’ menu.

{bmc bm776.bmp}
Autoscale Option in the View Menu

+$#>Network Builder Interface – Moving the View

Moving the View
Pick Centre
The Network Builder workspace can be repositioned by the user as desired. ‘Pick Centre’ enables the user to define a point on the construction diagram, the program will then translate the view so that this point becomes the centre of the screen. ‘Pick Centre’ can be enabled through the ‘View’ menu. Clicking on ‘Pick Centre’ brings up a set of cross hairs that can be used to identify the new centre. Clicking on the left mouse button will activate the new centre.

Translating the View
The Network Builder workspace can be translated by selecting the ‘Dynamic Translate’ option within the ‘View’ menu, or by clicking on the appropriate icon at the top of the Network builder screen. Holding down the left mouse button and dragging the mouse, will translate the workspace correspondingly.

+$#>Network Builder Interface – Visibility Options

Visibility Options
The ‘Visibilities’ menu can be found within the ‘View’ menu, as shown below.

{bmc bm777.bmp}
Visibilities Menu

Full Label Visibility
The ‘Full Label Visibility’ option can be activated by clicking on the appropriate reference within Network Builder’s ‘Visibilites’ menu. Each component is labelled using its full title on the engine diagram. See – ‘Abbrev. Label Visibility’ and ‘Pipe Type Visibility’

Abbrev. Label Visibility
The ‘Abbrev. Label Visibility’ option can be activated by clicking on the appropriate reference within Network Builder’s ‘Visibilities’ menu. An abbreviated title is used for each component, an attribute that may be appropriate in cases where the model diagram could easily become cluttered. See – ‘Full Label Visibility’ and ‘Pipe Type Visibility’

Grid Visibility
The ‘Grid Visibility’ option can be activated by clicking on the appropriate reference within Network Builder’s ‘View’ menu. This option determines whether a grid is displayed behind the engine model diagram or not.

Pipe Mesh Visibility.
The ‘Pipe Mesh Visibility’ option can be activated through Network Builder’s ‘Visibilities’ menu. Selecting this option introduces coloured points on the engine diagram representing each of the separate mesh points along a pipe length. Data calculated for separate mesh points can be viewed through the ‘results viewer’ section of Network Builder. It should be noted that data is only be available for each individual mesh point if the user has previously specified that all pipe data is to be stored, within the test conditions section. To access this, click on ‘Data’ at the top of Network Builder, followed by ’Test Conditions’. Selecting the ‘Edit Data’ option will bring up a window detailing the conditions for a specific engine speed. Click on the ‘Plotting’ tab, followed by ‘User defined plotting options’.  Finally the ‘All pipe data stored’ option should be specified within the ‘Pipe Options’ box.  The user must set this option for each of the engine speeds within their associated boxes.

Pipe Arrow Visibility.
The ‘Pipe Arrow Visibility’ option can be activated through Network Builder’s ‘Visibilities’ menu. Selecting this option introduces arrows on the engine diagram that show the orientation of the pipes. This is especially useful for viewing pipes which contain a diffuser or taper, as it is necessary to know which end of the pipe is the start and which is the end, when entering the diameter data in the pipe properties menu. The arrows on the pipes point from the start of the pipe towards the end of the pipe.

Pipe Type Visibility.
The ‘Pipe Type Visibility’ option can be activated through Network Builder’s ‘Visibilities’ menu. Selecting this option introduces changes the colour of the text used for the pipe labels, to allow exhaust pipes to be easily distinguished from intake pipes.

+$#>Network Builder Interface – Cycle Type

Cycle Type
The engine cycle type can be defined as two stroke or four stroke. The cycle is defined by clicking on the ‘Data’ menu and then on ‘cycle type’, as shown below. 

{bmc bm778.bmp}
Selecting Cycle Type

+$#>Network Builder Interface – Pipe Auto-Mesh

Pipe Auto-Mesh
The pipe mesh size can be specified individually for each pipe, or a criteria can be specified to globally generate the pipe meshes automatically. Automatic pipe meshing can be selected or deselected by clicking on the ‘Data’ menu and then on ‘Pipe Auto-Mesh’, a menu will appear with the three options for specifying the pipe meshes, as shown below. 

{bmc bm779.bmp}
Pipe Auto-Mesh Menu

If ‘Off’ is selected, then the number of meshes in each pipe is specified individually for each pipe. The number of meshes is entered in the Pipe Property Sheet.

If ‘On – Auto’ is selected, then the size of the meshes in all of the pipes within the model are automatically set. The size of the pipe meshes will be determined such that the maximum calculation crank-angle increment will be limited to a specified value. The maximum calculation crank angle increment can be edited value entered by clicking on the ‘Data’ menu and then on ‘Pipe Auto-Mesh’, then selecting ‘Edit Auto Max Angle’. A dialogue box will appear, as shown below. The desired maximum calculation crank angle increment can be entered in this box. Note that the calculation time-step increment is limited by the CFL criterion – See the Theory section, thus the number of meshes in each pipe is set to give the specified maximum crank-angle increment at the highest engine speed set in the Steady State Test Conditions menu. Note that if the maximum engine speed is altered in the steady state test conditions menu, the number of meshes with the pipes of the model may alter, previously stored *.PRS files will no longer be compatible with the *.SIM file – see the Graphical Resultssection.

{bmc bm780.bmp}
Pipe Auto-Mesh Maximum Crank-Angle Dialogue Box.

If ‘On – User Defined’ is selected, then the size of the meshes in all of the pipes within the model are automatically set to a specified size. The size of the pipe meshes can be edited value entered by clicking on the ‘Data’ menu and then on ‘Pipe Auto-Mesh’, then selecting ‘Edit User Def Size’. A dialogue box will appear, as shown below. The desired mesh size can be entered in this box.

{bmc bm781.bmp}
Pipe User Auto-Mesh Dialogue Box.

+$#>Network Builder Interface – Pipe Mesh Auto-Refinement

Pipe Mesh Auto-Refinement
The pipe mesh auto-refinement can be selected or deselected by clicking on the ‘Data’ menu and then on ‘Pipe Mesh Auto-Refine’, a menu will appear, as shown below. 

{bmc bm782.bmp}
Pipe Auto-Refine Menu

The pipe mesh auto-refinement settings can be edited by clicking on the ‘Data’ menu and then on ‘Pipe Mesh Auto-Refine’, then selecting ‘Edit settings’, the Pipe Mesh Auto-Refine Settings window will then appear, as shown below.

{bmc bm783.bmp}
Pipe Auto-Refine Settings Window

Mesh Auto-Refinement Settings
A detailed description of the pipe mesh auto-refinement option can be found in the Theory section.

Pressure Refine Tolerance – default setting = 0.5
If the pipe auto-refinement is enabled and the instantaneous normalised temporal or spatial variation in pressure at a given pipe mesh point exceeds the pressure refine tolerance the number of meshes in the pipe will be doubled. The number of meshes in the pipe won’t be increased if doubling the number of meshes in the pipe will exceed the maximum allowable meshes in a pipe (currently set at 500).

The user can limit the how many times the number of pipe mesh points is doubled using the Refinement Level Limit option. If the pipe has reached its refinement level limit it will not be refined any further.

Density Refine Tolerance – default setting = 2.5
If the pipe auto-refinement is enabled and the instantaneous normalised temporal or spatial variation in density at a given pipe mesh point exceeds the density refine tolerance the number of meshes in the pipe will be doubled. The number of meshes in the pipe won’t be increased if doubling the number of meshes in the pipe will exceed the maximum allowable meshes in a pipe (currently set at 500). 

The user can limit the how many times the number of pipe mesh points is doubled using the Refinement Level Limit option. If the pipe has reached its refinement level limit it will not be refined any further.

Pressure De-Refine Tolerance – default setting = 0.2
If the pipe auto-refinement is enabled and the instantaneous normalised temporal or spatial variation in pressure at all of the mesh points within a pipe is below the pressure de-refine tolerance the number of meshes in the pipe will be halved. The number of meshes in the pipe won’t be reduced if the pipe is already at the default state. The default state being the number of meshes specified for the pipe in the *.SIM file. The pipe will only de-refine once in any given calculation time-step.

Density De-Refine Tolerance – default setting = 1.2
If the pipe auto-refinement is enabled and the instantaneous normalised temporal or spatial variation in density at all of the mesh points within a pipe is below the density de-refine tolerance the number of meshes in the pipe will be halved. The number of meshes in the pipe won’t be reduced if the pipe is already at the default state. The default state being the number of meshes specified for the pipe in the *.SIM file. The pipe will only de-refine once in any given calculation time-step.

Refinement Level Limit – default setting = 0
The refinement level limit allows the user to specify how many times the pipe mesh auto-refinement routine can double the number of mesh points in a pipe. The default setting of 0 corresponds to unlimited refinement. However, the pipe mesh can only be increased until the number of meshes in the pipe equals 500. Thus, even for a pipe containing only a single mesh, the pipe can only be refined eight times before the mesh limit prevents further refinement.

+$#>Network Builder Interface – Pipe Wall Friction Setting

Pipe Wall Friction Setting
The pipe wall friction factor can be evaluated based on a cycled averaged pipe Reynolds Number, or based on an instantaneous mesh-wise Reynolds number – see the Theory section of further details.

The pipe wall friction factor setting can be selected by clicking on the ‘Data’ menu and then on ‘Pipe Wall Friction Setting’, a menu will appear, allowing either ‘By Cycle’ or ‘By Time Step’ to be selected, as shown below.

{bmc bm784.bmp}
Pipe Wall Friction Setting Menu

+$#>Network Builder Interface – Pipe Loss Junction Setting

Pipe Loss Junction Setting
The pipe loss junction setting option is used to enable the latest update of the pressure-loss junction model to be used in the calculation.  The default setting is for this option to be enabled.  The provision to disable it is only provided for backwards compatibility and it is not recommended that the option be disabled. 

The pipe loss junction setting can be selected by clicking on the ‘Data’ menu and then on ‘Pipe Loss Junction Setting’, a menu will appear, allowing the ‘Use Updated Loss Junction Model’ option to be selected (indicated by a tick) or unselected.

{bmc bm785.bmp}
Pipe Loss Junction Setting Menu

+$#>Network Builder Interface – Pipe Governing Equations

Pipe Governing Equations
The pipe governing equation type used in the calculations can be specified by clicking on the ‘Data’ menu and then on ‘Pipe Governing Equations’, a menu will appear, allowing the selection of the desired form of the governing equations used in the calculations, as shown below.

{bmc bm786.bmp}
Pipe Governing Equations Setting Menu

For further information about the pipe governing equations see the Theory section.

+$#>Network Builder Interface –  Two-Pipe Equal-Area Junction

Two-Pipe Equal Area Junction
The type of calculation method used in the two-pipe equal-area junction model can be specified by clicking on the ‘Data’ menu and then on ‘Equal Area Junction’. A menu will appear allowing the selection of the desired form of calculation scheme, as shown below.

{bmc bm787.bmp}
Menu for calculation type in two-pipe junction model.

For further information about the two-pipe equal-area junction calculation see the Theory section.

+$#>Network Builder Interface – Test Conditions

Test Conditions

Test Data Wizard
The Test Data Wizard is a facility allowing the user to specify all the steady-state test conditions for the simulation model in a single step. The user is able to enter the minimum and maximum engine speeds and the number of test points. The Wizard then creates these steady-state test conditions. The Wizard uses mostly default options for combustion, fuelling, boundary conditions, friction, plotting and solution control. The ‘Create Wizard’ is activated by clicking on the ‘Data’ menu and then on ‘Test Conditions’, a menu will appear, allowing ‘Create Wizard’ to be selected, as shown below. 

{bmc bm788.bmp}
Opening the Steady State Test Data Wizard

Edit Steady State Data
‘Edit Steady State Data’ can be activated through the Data / Test Conditions menu at the top of Network Builder.  Clicking on this option allows the user to edit the parameters relating to specific steady state engine test points. See – Steady State Test Data Summary.

Steady State Test Data Summary…
The ‘Steady State Test Data Summary’ can be activated through the Data / Test Conditions menu at the top of Network Builder. Clicking on this option opens an editable spreadsheet, which contains the same data as displayed in the ‘Edit Steady State Data’ menu. It additionally contains a summary showing which actuators are enabled for each test point. See – Steady State Test Data.

Transient Test Data Summary…
The ‘Transient Test Data Summary’ can be activated through the Data / Test Conditions menu at the top of Network Builder. Clicking on this option opens an editable spreadsheet, which contains the transient test data. See – Transient Test Data.

+$#>Network Builder Interface – Connectivity Errors

Connectivity Errors

Connectivity errors between components will prevent the simulation from running. Components may overlap but not necessarily connect with one another, making it difficult to spot the error. The ‘show connectivity errors’ option highlights components that are not connected properly by colouring them in red.  This facility can be activated by clicking on the appropriate reference within Network Builder’s ‘View’ menu, as shown below.

{bmc bm789.bmp}
Viewing Connectivity Errors

The Data Checking Wizard, Element Summary, Sim Connections Summary and Sim Model Data Summary tools also provide useful means of checking the data integrity of a model.

+$#>Network Builder Interface – Element Summary

Element Summary

The element summary provides a means to quickly allow the user to check the number of each component type contained within the current model 

To open the element summary window select the Data / Element Summary… from the main window menubar. 

{bmc bm790.bmp}
Opening the Element Summary Window

Once opened the element summary window lists the number of each element type contained within the current model.  The maximum allowable number of each element type is also displayed.

{bmc bm444.bmp}
Element Summary Window

The Display Connectivity Errors, Data Checking Wizard, Sim Connections Summary and Sim Model Data Summary also provide useful means of checking the data integrity of a model.

+$#>Network Builder Interface – Sim Connections Summary

Data / Sim Connections Summary

A summary spread sheet is available through the Data / Sim Connections Summary menu that lists the connections as interpreted by the solver. This list does not include sensor and actuator type connections, which are handled in a more direct way, but only lists those model components associated with the actual gas transport, i.e. pipes, plenums, valves etc.

{bmc bm791.bmp}
Viewing Simulation Connections

The selected connection is highlighted in the list and the associated components are indicated on the model using the normal ‘in-focus’ type flashing boxes. This function is primarily intended as a user debug tool, to enable the solvers connection interpretation of the ‘drag and drop’ model. To change the displayed connection line simply select the required entry from the list. (Note that you cannot edit the connections by hand, connections are always implied by element position).

{bmc bm792.bmp}
Example Connection

The Display Connectivity Errors, Data Checking Wizard, Sim Connections Summary and Sim Model Data Summary also provide useful means of checking the data integrity of a model.

+$#>Network Builder Interface – Model Data Summary

Model Data Summary

A summary spreadsheet is available through the Data / Sim Model Data Summary menu that lists the data for key model elements.  The tool presents the data for cylinder element, the port and valve elements and the first pipe connected to each port element in a tabulated form. This enables the rapid checking of the consistency of the data entered for these elements.

{bmc bm793.bmp}
Sim Data Summary Window

When the Highlight Element Differences option is enabled any differences between components of the same type in red. This can be useful for checking, for example, that all cylinders in the model have the same bore. Displayed element properties can be edited directly in this display and this can be a quick approach to editing when the properties of several elements need to be amended.

{bmc bm794.bmp}
Toggling the Highlight Element Differences Option

The Display Connectivity Errors, Data Checking Wizard, Sim Connections Summary and Sim Connections Summary also provide useful means of checking the data integrity of a model.

#>Test Conditions Icon {bmc bm795.bmp}

#>Pick Single Icon {bmc bm796.bmp}

#>Pick Area Icon {bmc bm797.bmp}

#>Pick Lasso Icon {bmc bm798.bmp}

#>Move Singularly Icon {bmc bm799.bmp}

#>Move 1st Children Icon {bmc bm800.bmp}

#>Move Family Icon {bmc bm801.bmp}

#>Dynamic Scale Icon {bmc bm802.bmp}

#>Dynamic Translate Icon {bmc bm803.bmp}

#>Network Builder Icon {bmc bm804.bmp}

#>Graphical Pipe Display Icon {bmc bm805.bmp}

#>Mesh Points Visibility Icon {bmc bm806.bmp}

#>Centre Line Visibility Icon {bmc bm807.bmp}

#>Pipe Diameters Visibility Icon {bmc bm808.bmp}

#>2D/3D Display Icon {bmc bm809.bmp}

#>Connected Pipes Display Icon {bmc bm810.bmp}

#>Dynamic Translate View {bmc bm811.bmp}

#>Dynamic Scale View {bmc bm812.bmp}

#>Zoom In Icon {bmc bm813.bmp}

#>Zoom out Icon {bmc bm814.bmp}

#>Autoscale Icon {bmc bm815.bmp}

#>Zoom Area Pick Icon {bmc bm816.bmp}

#>Print Graphical Pipe Display Icon {bmc bm817.bmp}

#>Copy to Clipboard Icon {bmc bm818.bmp}

+$#>Network Builder Interface – Cylinder Components

Click on icons and tabs to show component descriptions

{bmc bm819.shg}

+$#>Network Builder Interface – Inlet Components

Click on icons and tabs to show component descriptions

{bmc bm820.shg}

+$#>Network Builder Interface – Exhaust Components

Click on icons and tabs to show component descriptions

{bmc bm821.shg}

+$#>Network Builder Interface –Pipe Components

Click on icons and tabs to show component descriptions

{bmc bm822.shg}

+$#>Network Builder Interface – Machine Components

Click on icons and tabs to show component descriptions

{bmc bm823.shg}

+$#>Network Builder Interface – Intake Super-Element Components

Click on icons and tabs to show component descriptions

{bmc bm824.shg}

+$#>Network Builder Interface – Exhaust Super-Element Components

Click on icons and tabs to show component descriptions

{bmc bm825.shg}

+$#>Network Builder Interface – Mechanical Link Components

Click on icons and tabs to show component descriptions

{bmc bm826.shg}

+$#>Network Builder Interface – Load Components

Click on icons and tabs to show component descriptions

{bmc bm827.shg}

+$#>Network Builder Interface – Sensor and Actuator Components

Click on icons and tabs to show component descriptions

{bmc bm828.shg}

+$#>
Cylinders provide a starting point for the construction of an engine model.  Each cylinder has 4 intake and 4 exhaust connection points allowing multiple valves with different properties to be connected. More information on Cylinder Data.

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
Intake Poppet Valves have one inlet and one exhaust connection and must be connected to the cylinder either directly or via a ‘virtual pipe’.  Properties such as valve open, close, dwell and lift are stored for this component. More information on Poppet valves

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
Intake Ports must be connected either directly, or via a ‘virtual pipe’ to a poppet valve. Data such as number of valves, port type and valve throat diameter are stored for this component. More information on Ports

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
One or more Inlets must always be used and are connected upstream of all components since they only have one connection. The inlet boundary pressure and temperature should be specified for this element. More information on Inlets

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
Intake Throttles can be used between intakes, pipes and plenums and contain data the minimum cross-sectional area and discharge coefficient. More information on Throttles

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
Intake plenums can be placed almost anywhere in the chain of elements and contains data such as Volume, Surface Area and Heat Transfer Coefficient.  They must be placed at either side of any ‘machines’ in order to provide boundary conditions for them and can be used in multi-cylinder model pipe junctions in order to represent manifold plenums or air boxes. More information on Plenums

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
Stop Ends are used in order to blank off the ends of any pipes or resonator tubes that are added to the intake.  They do not have any properties that can be altered since they simply seal the ends of tubes. More information on Stop Ends

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
Intake Disc Valves are 2-stroke options and must be attached upstream of a variable plenum to control the air/fuel mixture flow into the crankcase. More information on Disc Valves

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
Intake Reed Valves are 2-stroke options and must be attached upstream of a variable plenum to control the air/fuel mixture flow into the crankcase. More information on Reed Valves

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
Piston Ported Intake Valves are used for 2-stroke applications and simulate the opening and closing of the intake port with piston movement. More information on Piston Ported Valves

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
User Area Intake Valves are mostly used in two stroke applications to simulate any valve area not covered by the other valve options.  They are predominantly used in association with the cylinder, but they can be used elsewhere in the engine system. More information on User Area Valves

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
The Lotus Engine Simulation code 3 uses Variable Intake Plenums to represent the crankcase volume in a 2-stroke engine. More information on Plenums

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
Exhaust Poppet Valves have one inlet and one exhaust connection and must be connected to the cylinder either directly or via a ‘virtual pipe’.  Properties such as valve open, close, dwell and lift are stored for this component. More information on Poppet valves

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
Exhaust Ports must be connected either directly or via a ‘virtual pipe’ to a poppet valve.  Data such as number of valves, port type and valve throat diameter are stored for this component. More information on Ports

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
One or more Exits must always be used and are connected downstream of all components. The exit boundary pressure should be specified for this element. More information on Exits

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
Exhaust Throttles can be used between exits, pipes and plenums and contain minimum cross sectional area and discharge coefficient data. More information on Throttles

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
An Exhaust Plenum can be placed almost anywhere downstream from the cylinder and contains data such as Volume, Surface Area and Heat Transfer Coefficient.  They must be placed at either side of any machines in order to provide boundary conditions for them and can be used in multicylinder model pipe junctions in order to represent collector cones. More information on Plenums

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
Exhaust Stop Ends are used in order to blank off the ends of any resonator tubes that are added to the exhaust.  They do not have any properties that can be altered since they simply seal the ends of tubes. More information on Plenums

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
Piston Ported Exhaust Valves are used for 2-stroke applications and simulate the opening and closing of the intake port with piston movement. More information on Piston Ported Valves

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
User Area Exhaust Valves are mostly used in two stroke applications to simulate any valve area not covered by the other valve options.  They are predominantly used in association with the cylinder, but they can be used elsewhere in the engine system. More information on User Area Valves

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
Variable volume exhaust plenums can be connected to most elements within the builder. More information on Plenums

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
Pipes are shown as solid black lines and are used to model the actual pipes in the intake and exhaust system.  A number of diameters can be specified along the length of each pipe and the data such as the pipe material, cooling type, thickness etc. can be entered.  There are three possible types of standard pipe available – straight, single ‘bend’ and double ‘bend’.  The ‘straight pipes’ are used for connections, which are not obscured by other components and the single and double ‘bend’ pipes are used in order to negotiate other components and also to tidy the display – they do not imply any pressure drop effects due to bends.  The properties of these three types of pipe are exactly the same and are simply there to provide more flexibility in the graphical construction of engine models. More information on Pipes

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
Virtual links are simply a means of connecting different components of an engine model together when it is not possible to do so, due to the layout of the graphical display.  For example, if four exhaust ports were required to be joined to one exhaust plenum without any pipes in-between, this would not normally be physically possible to achieve with the graphical display and would therefore require the use of virtual links. The Straight pipes are used for connections, which are not obscured by other components and the single and double bend pipes are used in order to negotiate other components and also to tidy the display.  None of these three types of virtual link have any properties. More information on Pipes

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
Turbochargers are modelled as compressors and turbines on a common free spinning (or compounded) shaft.  A plenum must be connected either side of both the compressor and the turbine (4 plenums in total). Note: For more information on turbochargers see ‘ Theory – Turbochargers’. , Compressor Data Variables or Turbine Data Variables

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>

Charge coolers are placed between turbochargers / superchargers and the cylinder.  Plenums must be attached to either side of a charge cooler in order to provide boundary conditions.  More Information on Charge Coolers

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
Superchargers are modelled as a single compressors on the intake side of the model and its operation depends on engine speed. More information on Plenums

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
The Pipe Bundle is a simple mechanism for representing a group of similar pipes by a single pipe. It is useful for the modelling of exhaust catalyst bricks or charge-cooler passages.  More information on Pipe Bundles

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
These elements differ from the standard pipe type by the requirement to supply the additional two properties of bend angle and bend radius.. More information on Pipe Bends

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
Pipe junctions are formed in the model by linking together pipe ends. This normally forms a constant pressure junction. A special pipe junction model, which accounts for the effects on the flow caused by the angles at which the pipes forming the junction meet can be used by dropping the element at the bottom of the pipe tool-kit list onto a conventional junction. The model enables the user to specify the angular displacement of the pipes which is used by the code to calculate flow losses in the junction. More information on Pressure Loss Junctions

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
Axial compressor. More information on Axial Compressors

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
The concept of Silencer Super Elements is to allow the user to develop models of complex intake or exhaust silencer components rapidly. Silencer elements are generally composed of a number of ducts and volumes. A Silencer Super Element provides a way of automatically interpreting the geometry of a multi-element component and constructing an equivalent one-dimensional pipe network model.  More information on Super Elements

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette. 
+$#>
The concept of Silencer Super Elements is to allow the user to develop models of complex intake or exhaust silencer components rapidly. Silencer elements are generally composed of a number of ducts and volumes. A Silencer Super Element provides a way of automatically interpreting the geometry of a multi-element component and constructing an equivalent one-dimensional pipe network model. More information on Super Elements

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
The concept of Silencer Super Elements is to allow the user to develop models of complex intake or exhaust silencer components rapidly. Silencer elements are generally composed of a number of ducts and volumes. A Silencer Super Element provides a way of automatically interpreting the geometry of a multi-element component and constructing an equivalent one-dimensional pipe network model. More information on Super Elements

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
The concept of Silencer Super Elements is to allow the user to develop models of complex intake or exhaust silencer components rapidly. Silencer elements are generally composed of a number of ducts and volumes. A Silencer Super Element provides a way of automatically interpreting the geometry of a multi-element component and constructing an equivalent one-dimensional pipe network model. More information on Super Elements

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
The concept of Silencer Super Elements is to allow the user to develop models of complex intake or exhaust silencer components rapidly. Silencer elements are generally composed of a number of ducts and volumes. A Silencer Super Element provides a way of automatically interpreting the geometry of a multi-element component and constructing an equivalent one-dimensional pipe network model. More information on Super Elements

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette. 
+$#>
The concept of Silencer Super Elements is to allow the user to develop models of complex intake or exhaust silencer components rapidly. Silencer elements are generally composed of a number of ducts and volumes. A Silencer Super Element provides a way of automatically interpreting the geometry of a multi-element component and constructing an equivalent one-dimensional pipe network model. More information on Super Elements

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
The concept of Silencer Super Elements is to allow the user to develop models of complex intake or exhaust silencer components rapidly. Silencer elements are generally composed of a number of ducts and volumes. A Silencer Super Element provides a way of automatically interpreting the geometry of a multi-element component and constructing an equivalent one-dimensional pipe network model. More information on Super Elements

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
The concept of Silencer Super Elements is to allow the user to develop models of complex intake or exhaust silencer components rapidly. Silencer elements are generally composed of a number of ducts and volumes. A Silencer Super Element provides a way of automatically interpreting the geometry of a multi-element component and constructing an equivalent one-dimensional pipe network model. More information on Super Elements

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
The concept of Silencer Super Elements is to allow the user to develop models of complex intake or exhaust silencer components rapidly. Silencer elements are generally composed of a number of ducts and volumes. A Silencer Super Element provides a way of automatically interpreting the geometry of a multi-element component and constructing an equivalent one-dimensional pipe network model. More information on Super Elements

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
The concept of Silencer Super Elements is to allow the user to develop models of complex intake or exhaust silencer components rapidly. Silencer elements are generally composed of a number of ducts and volumes. A Silencer Super Element provides a way of automatically interpreting the geometry of a multi-element component and constructing an equivalent one-dimensional pipe network model. More information on Super Elements

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
The concept of Silencer Super Elements is to allow the user to develop models of complex intake or exhaust silencer components rapidly. Silencer elements are generally composed of a number of ducts and volumes. A Silencer Super Element provides a way of automatically interpreting the geometry of a multi-element component and constructing an equivalent one-dimensional pipe network model. More information on Catalysts

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
The concept of Silencer Super Elements is to allow the user to develop models of complex intake or exhaust silencer components rapidly. Silencer elements are generally composed of a number of ducts and volumes. A Silencer Super Element provides a way of automatically interpreting the geometry of a multi-element component and constructing an equivalent one-dimensional pipe network model. More information on Catalysts

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
Mechanical Link provide the connection between cylinders and loads. They are primarily associated with transient load conditions, as their inertial properties are not used in steady state runs. More information on Mechanical Links

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
Steady state loads are normally not added to models, since their existence is assumed. Potentially as multi-shaft models become solvable the steady state load will be required to imply shaft connections. More information on Steady State Loads

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
Transient load elements identify the inertial properties for a transient analysis, they also identify the connection point for a cylinder to the load. More information on Transient Loads

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
Generic Sensors provide the means by which a component’s property can be sensed. This property can be a physical value such as length, diameter or volume, or it can be an instantaneously calculated value such as pressure, mass flow or temperature.More information on Sensors

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
Time Sensors provide the means by which an analysis run can access the steady state or transient run time. More information on Sensors

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
Actuators provide the means by which a component’s property can be changed. This property can be any physical value of a component such as length, diameter or volume, provided such a feature has been provided for.. More information on Actuators

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
Plot file Sensors provide a means by which model parameters can be user selected and saved to a file during the analysis run. The created file can then be viewed or exported to Excel. More information on Sensors

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>
Harness wires provide the connection between the normal simulation components and the sensors and actuators. They also provide the connection between sensors and actuators.. More information on Harness wires

The elements which can be connected up and downstream of this element are displayed in a group below the property sheet. Elements can be added to a model directly from this palette.

+$#>Program Overview - Introduction

{bmc bm829.bmp}

Introduction

The Lotus Engine Simulation program is an in-house code developed by LOTUS ENGINEERING since the late 1980’s. The aim of the program is to predict the gas flows, combustion and overall performance of internal combustion engines. 

The wide range of engine types and features which can be simulated is summarized below: 

·	two-stroke or four-stroke engines;
·	arbitrary cylinder arrangements and firing intervals;
·	DI or IDI diesel, or SI combustion systems;
·	combustion rates via 1 or 2 part Wiebe functions or user profiles;
·	turbocharger & supercharger devices;
·	scavenging systems of  two-stroke engines;
·	heat transfer and friction phenomena;
·	port/poppet and reed valves.

The program structure is generalised so that models of engine systems may be easily generated and simple control structures may be implemented.

Validation of global performance parameters of power, volumetric efficiency and fuel consumption has been performed on a wide range of current production engines. Detailed validation of many of the sub-models for predicting cylinder pressure, combustion, heat transfer, and inlet and exhaust system gas dynamics has also been performed. 

The Lotus Engine Simulation program is designed to run on a desktop PC with Windows NT/98/XP/2000 (see System Requirements). The interactive pre- and post-processors facilitate both rapid creation and modification of engine models and clear presentation of the simulation results. The user interface is based on the standard LOTUS software ‘look-and-feel’ and offers the same intuitive approach as popular Windows applications.

+$#>Program Overview – Program Structure

0	Introduction

0	The Lotus Engine Simulation program can be conceptualised as comprising three discrete modules:

·	The Data Module – data entry and model generation.
·	The Solver Module – solution of the equations representing the physical processes.
·	The Results Module - analysis of calculated results. 

The Data Module and the Results Module are only notionally split and are actually a single unit which, together with the Solver Module (which is essentially an external unit), form a single ‘seamless’ application.

+$#>Program Overview - Data Module

The Builder Interfaceallows the user to build and view their engine model via a graphical method.  Components can be added to the display and joined together in a graphical manner, allowing the user to construct a visual representation of the model.  Each component can be added, selected and manipulated and all component data can be entered through this interface.  

Data Sub-Components

The sub-components of the engine model are

·	Base Engine Data
·	Fuel and Fuel System Data
·	Combustion and Heat Transfer Data
·	Scavenge Model Data
·	Ports and Valves Data
·	Pipes and Plenums Data
·	Throttle Data
·	Turbocharger and Compressor Data
·	Inlet Data
·	Exit Data
·	Silencer Super Elements
·	Mechanical Links
·	Loads
·	Sensors and Actuators
·	Test Conditions Data

When an element is selected, the relevant data entry window is displayed on the righthand side of the builder screen.

Model Structure 

Simulation models of the engine system are created through defining a number of elements. Six element types are provided:

·	Cylinders (zero-dimensional element with combustion and heat transfer);
·	Plenums (zero-dimensional element with heat transfer);
·	Pipes (one-dimensional element with wall friction and heat transfer);
·	Inlets (infinite source of inlet gas at specified pressure and temperature);
·	Exists (exhaust boundary specified pressure);
·	Closed end (special element used for pipes with a closed end).

0	These elements are connected by so called flow devices which regulate the flow of gas between the elements. The currently available flow devices are;

·	Valves (both cam operated valves and self acting valves);
·	Throttles (of specified flow area and discharge coefficient);
·	Compressors (full turbocharger compressor map model);
·	Turbines (full turbocharger turbine map model);
·	Charge Coolers (flow device with pressure loss and heat transfer);

In addition to the basic element types described Super Elements can be used which are composite elements. These elements provide a pre-defined template which enable the user to define relatively complex combinations of basic elements and flow devices in order to model certain components.

0	The model components described above are all fluid flow elements/devices. The rotating elements/devices may be connected to each other, or Loads, via Mechanical Links.

1	There is also a suit of Control Elements that may be used to vary the properties of the model components.

+$#>Program Overview - Solve Module

The engine is modelled by a set of differential equations which characterise the physical and chemical processes occurring within it. The ‘solver’ provides an algorithmic mechanism for solving these governing equations, which are essentially provided with boundary conditions and constraints by the model constructed by the input data set.

0	Engine Simulation Solution Procedure

The primary function of the program is to predict the flows between the elements of the model and to solve the energy, momentum and continuity equations as appropriate within  each element to obtain the thermodynamic state variables and flow velocity at each crank angle throughout the engine cycle. The solution procedure is ‘time marching’ and a number of engine cycles are simulated in order to obtain a converged (cyclically repeatable) solution. Convergence is automatically checked for mass flow into and out off each cylinder, plenum and pipe. When the difference in cycle-averaged mass flow over successive cycles for all elements falls below the defined convergence limits, the simulation is judged to have converged and no further calculations are performed.

0	Initial Conditions

The program automatically estimates the initial conditions of pressure, temperature and mass, for each element. This ensures that the results of any simulation do not rely on initial estimates made by the user and that consistent results will be obtained for a given data-set.

Sub-Models

To simulate an engine the processes are broken down in such a way that a number of discrete sub-models can be formulated. The main sub-models are listed below. A summary of each model can be obtained by clicking on the title. More detailed information regarding these models can be found in the main section describing the Data Module and the Theory

·	Thermodynamic Properties
·	Fuel and Fuel System
·	Combustion
·	Heat Transfer
·	Scavenging
·	Valves
·	Unsteady Gas Dynamics
·	Turbochargers
·	Friction

+$#>Program Overview - Results Module
The Lotus Engine Simulation program is structured so that up to 50 steady state engine speed and load conditions, or 20 transient test cycles, can be specified with any one simulation model. At the end of each simulation cycle, averaged results for airflow, volumetric efficiency, fuel flow, indicated and brake power, fuel consumption and heat transfer are printed to an ASCII (*.MRS) results file.  The *.MRS results file may be viewed either directly through the *.MRS Text Results Viewer or the *.MRS Graph Viewer.

0	For steady state tests, details of the element conditions and flows at each crank angle may be stored in a binary plot file (*.PRS) for subsequent post processing. These results include in-cylinder pressures, temperatures, volumes and fuel mass fractions burned and can be viewed in a variety of ways using the *.PRS Results Viewer.

1	The status of the model components during a steady state or transient test can be written to a binary or ASCII file (*.TRS). The values written to the *.TRS Results File may be plotted while the simulation is running, or viewed after the simulation has finished.  

+$#>Program Overview - Additional Features
Also accessible through the Lotus Engine Simulation program are a number of tools, which can be used to create accurate values for use within simulation models.  These tools are essentially stand-alone programs developed by Lotus which have been adapted for use within the simulation environment. The tools are:

The Data Checking Wizard provides a tool which allows the user to check the validity and quality of the current data.

The Concept Tool allows the user to study, in a limited way, the parameters which affect the performance of a particular engine configuration and can be used to generate an engine simulation model quickly, using minimal input data. Simple analytical and empirical expressions, such as the Helmholtz resonator equation, are used to size the valves / ports, and intake and exhaust runners. In this way a ‘unit-cylinder’ is produced which can be duplicated and connected to generate a multi-cylinder engine.

The Friction Estimator Tool provides a method of estimating the level of friction created by a specific engine configuration at a variety of engine speeds and also comparing it with a database of existing engines.  This tool can be used either separately or in conjunction with Engine Simulation to quickly create user defined FMEP values which can be used directly in an Engine Simulation model.

The Combustion Analysis Tool is a combustion analysis program that analyses a cylinder pressure curve in order to calculate the ‘heat release’ rates. It also allows the engineer to quickly create user-defined combustion data which can be loaded directly in an Engine Simulation model.

The Port Flow Analysis Tool, like the other tools, can be used to post-process measured flow bench results independently to obtain the flow coefficient of a port. These flow results or the associated database values can also provides the user with the port flow data for entry into the ‘user defined’ option within the Engine Simulations ports and valves data section. 

The Lotus Concept Valve Train, is an analysis tool intended to assist in the initial design and layout of a camshaft profile, from the layout of the segmented polynomial lift curve through to valve train static analysis and valve spring design. Specific templates pre-fill the designs with default data allowing the user to quickly produce a ‘basic’ design, then using some of the interactive editing and ‘joggle’ facilities changes can be made to improve and refine the design. Cam profiles produced can be exported in a number of ways to support other external applications like Adams Valve Train, or copied into a current engine simulation model.

+$#>Program Overview -  Thermodynamic Properties

0	The program tracks the flow of Gas, as a mixture of 11 molecular species plus gaseous fuel. The 11 species considered are CO, CO2, H, H2, H2O, N, NO, NO2, O, O2, and OH. For combustion any C/H/O type of fuel can be specified. The thermodynamic properties of the gaseous fuel are however assumed to be equivalent to either C8H18 (octane/gasoline), C12H26(dodecane/diesel) or CH4 (methane).

The effect of gas temperature on gas properties such as cp, cv and viscosity are calculated for the individual gas species and then ‘averaged’ using the Gibbs-Dalton relationships. Thus gas properties change appropriately with both gas composition and temperature.

+$#>Program Overview - Fuel and Fuel System

Gasoline, Diesel, Methane, and Methanol Fuels can be simulated. The manner by which fuel is introduced to the model is closely linked to the specified combustion system type. For all direct injection / indirect injection engines, fuel is introduced to the cylinder at the same rate as it is combusted. For other combustion system types the fuel is either port injected, where fuel is mixed with the fresh charge flowing through the inlet valves, or added via a carburettor, were fuel is pre-mixed with charge air before being introduced via an “inlet”.

The fuelling rate can be specified by one of several options. For direct injection / indirect injection engines the fuelling may be specified as either the raw fuelling rate [mm3/inj] or as the trapped air fuel ratio. With the latter the fuelling rate is automatically adjusted with changes in air flow from one cycle to the next. For spark-ignition engines the operating equivalence ratio is specified.

+$#>Program Overview - Combustion

A single zone combustion model is employed. The combustion rate can be defined via either a one or two part Wiebe function, or via a user defined heat release diagram. Default combustion durations are available for most combustion system types including estimates for the premixed and diffusion fractions for DI diesel engines. Users are, however, encouraged to specify combustion duration derived from test results from engines similar to those being modelled.

Full chemical kinetics models are not employed in this version of the program. Dissociation effects (CO generation) are modelled through curve fits to the Eltinge diagram, which relates combustion products of CO and O2 to user specified parameters of air-fuel ratio and mal-distribution. This is approach avoids the computationally expensive chemical rate calculations. 

Several options are available to control combustion timing. The first is to use a fixed combustion timing. The second is to allow the program to automatically adjust the combustion timing in order to achieve a user specified maximum cylinder pressure. The third is an extension of the second but in this option the combustion timing is only permitted to retard. This third option is particularly useful for simulating the effects of knock in gasoline engines where as a first approximation the maximum cylinder pressure at a given engine speed will remain fixed with changes in volumetric efficiency.

+$#>Program Overview - Heat Transfer

Heat transfer is modelled in all elements. Within cylinders one of three empirically derived heat transfer correlation’s may be selected. The available In-cylinder Heat Transfer correlation options are;

·	Woshni;
·	Annand;
·	Eichleberg.

Default constants are provided for each model, however the user may freely tune any constant in the correlation to best suit the engine being modelled.

A simple connective heat transfer model is available for plenums. The user must supply the heat transfer coefficient and surface area. The heat transfer coefficient is assumed to be constant throughout the cycle.

Heat transfer within pipes is based on Benson’s treatment of the Reynolds analogy, where instantaneous heat transfer is a function of the local gas and pipe wall temperatures, gas velocity and pipe wall friction factor.

The heat rejected or acquired by each element is summed throughout the cycle and can be obtained as output so that the user can fully understand the energy exchanges within the engine system.

+$#>Program Overview - Scavenging

Four Scavenging Models are available for the cylinder elements. These are:

·	Perfect Mixing Model
·	Perfect Displacement Model
·	Benson-Brandham Displacement/Mixing Model
·	Blair Stripping Scavenging Model
	
The default model for cylinders is the perfect mixing model.

The manner by which reverse flows are handled by any simulation program has a significant effect on the predicted performance. Within Lotus Engine Simulation all elements other than cylinders are assumed to exhibit perfect displacement scavenging.

+$#>Program Overview - Unsteady Gas Dynamics

The accurate simulation of high-speed engines requires the use of one-dimensional Pipe Elements in order to predict the unsteady gas dynamic effects on performance. One-dimensional unsteady flow in the pipe elements is modelled using a shock-capturing finite volume scheme.  This scheme is capable of handling the large gradients in flow properties encountered in high-speed flows and is based on the two-step Lax-Wendroff method with a total variation diminishing (TVD) flux limiter (see ref. 1 below). 

0	A Pipe Bend model and a Diffuser Loss model are provided in order to account for the additional flow losses produced by the separation regions and secondary flows in such elements. 

1	Pipe boundary calculations are performed using the non-homentropic method of characteristics. This technique deals with boundary interactions in a physically correct manner to ensure accurate predictions of wave reflection and transmission characteristics.

2	Reference 1. Winterbone, D.E., and Pearson, R.J., Theory of engine manifold design – wave action methods for IC engines. Professional Engineering Publishing Ltd, London. 2000. ISBN 1 86058 209 5

+$#>Program Overview - Valves

Elements may be linked by one or more of several types of flow device, the most important of which is the Poppet Valve. Within Lotus Engine Simulation the user is requested to supply both the valve lift profile and the port flow coefficient curve. This avoids the use of cumbersome angle flow area curves that require regeneration each time the port design or valve lift profile are changed. The data structure for valve events is extremely flexible to allow parametric studies of these design parameters to be easily performed. A valve event may be modified by a single number change to the input file and the profile is automatically scaled to reflect the new lift duration or lift.

+$#>Program Overview - Turbochargers

Turbocharged engines may be modelled using either simple pressure sources and nozzles or by full modelling of the compressor and turbine devices.

The simplest approach is to specify an “inlet” element for which the user defines the required boost pressure and temperature. The turbine may be modelled by the use of a nozzle (throttle) in the exhaust system. The main drawback of this approach is that work required to provide the boost pressure is not provided by the exhaust nozzle. 

A flexible approach to full modelling of turbomachinery has been adopted. The user may specify any number of compressors and turbines (within the dimensions of the program) and link these devices together via a specified gearing. The devices may also be linked to the crankshaft. Thus many strategies such as, sequential turbocharging, parallel turbocharging and/or turbocomponding may be studied. Successful simulation of a turbocharged engine requires the convergence of the turbocharger shaft speed and shaft power of the turbine. The turbocharger speed correction strategy has been tested on several systems to provide the most rapid convergence towards the steady state solution. It is however not uncommon for a large number of engine cycles (>20) to be required for convergence on a turbocharged engine. 

The input data required for both compressors and turbines are the non-dimensional characteristic maps of mass flow and efficiency verses pressure ratio and speed. The data is expected in the format specified by the SAE standard to avoid cumbersome re-organisation of the data. A facility has been added by which maps may be scaled allowing compressor and turbine matching simulations to be easily performed. Variable geometry compressors and turbines are not catered for at present.

+$#>Program Overview - Friction

The user may either specify the engine friction or select one of four empirically derived Friction Models provided by the program. The models available are;

·	Modified H.B.Moss Formula for Gasoline Engines
·	Modified Millington & Hartles DI Diesel Correlation
·	Modified Millington & Hartles IDI Diesel Correlation
·	Chen & Flynn Large Engine Correlation

Other friction models are included in the Friction Modelling Tool.

+$#>Program Overview - Mechanical Links

Rotating devices may be linked using Shafts via a specified gearing and mechanical efficiency. The mechanical efficiency is that efficiency by which work is transmitted to or absorbed from the shaft. This may be used to model the bearing losses in a turbocharger. 

The inertia’s of the shaft can also be specified. The inertia referred to the shafts by the gearing is automatically calculated within the program.

+$#>Program Overview - Loads

Loads may be applied to the engine. The loads form two basic types Steady State and Transient. Loads are added to the model as elements and connected to the cylinders via mechanical links. To run conventional steady state load simulations it is not necessary to add a load as this is implied and the additional inertia data has no effect as the analysis is performed at constant crankshaft speed.

+$#>Program Overview - Sensors & Actuators

The Sensors & Actuators elements allow the user to control the operating parameters of components within a model whilst the model is running. The sensors & actuators incorporate a simple control elements which enable the control of component parameters based directly on the instantaneous or cycle averaged properties of other components. Thus, complex control strategies can be applied to turbocharger waste-gates, variable geometry induction systems, cam phaser mechanisms etc.. This is done directly from the Lotus Engine Simulation drag and drop environment.

+$#>Parametric / Optimizer Tool -  Overview

The Parametric / Optimizer Tool essentially allows the user to run a series of tests without having to modify the initial engine model.  Groups of components are created and the attributes of all the components within a group can be changed automatically using the Parametric Tool.  The Parametric Tool allows the user to perform 1-D or 2-D parametric studies.

The Optimization Tool works in the same way as the parametric tool, except that the full matrix of tests will not necessarily be performed.  The optimzation tool will attempt to converge on the ‘best’ solution, based on a scoring system defined by the user.

Before the Parametric / Optimization Tool can be invoked, the user must specify the engine test conditions and define element groups.

+$#>Groups - Creating a Group

Two types of group can be created with the Lotus Engine Simulation builder interface:
·	Single element type groups;
·	Mixed element type groups.

Single element type groups contain elements which are all of the same generic type, i.e. all pipes or all plenums.  Mixed element groups can be formed which contain a variety of element types.  The classification of any group will automatically be assigned based on the element types within the group.  

In-order for a group to be available for use in the Parametric/Optimizer Tools then it must be a single element group.

To create a group select Groups from the Lotus Engine Simulation menubar.  Then select New from the menu to create a new group.  A pop-up window will appear for the user to enter an identifying label for their group, as shown below.

This new group will contain no elements.  Elements must be added to the group.

{bmc bm830.bmp}
Creating a Group

Any created group can be added to the toolkit for future use - see Adding User Groups to Toolkit for more details.  Additionally, complete folders containing user defined groups maybe added to the toolkit – see Adding User Group Folders to Toolkit for more details.  A default element group set is installed with the software - see Default Groups for more details. 

+$#>Groups - Adding Elements to a Group

Before elements can be added to a group, the group must be created.  

To add elements to an existing group requires the following three steps to be performed, these are also indicated in the screen-shot below:

·	The user must click on the Rectangle Area Pick icon with the left mouse button.  This icon is located in the edit control toolbar which appears above the Lotus Engine Simulation builder window, shown below.  

·	Once this icon has been depressed the elements to be added to the group can be selected from the builder window by dragging a box around then, as shown below.  The box position is controlled with the mouse pointer, using the left button to select the location of the diagonally opposed corners.

·	To add the selected elements to the group select Groups from the Lotus Engine Simulation menubar.  Then select Add to Group from the menu.  A pop-up window will appear enabling the user to select an existing group to add the elements to, as shown below.

If the group is to be used within the  Parametric/Optimizer Tools then the elements contained with a group must all be of the same generic type, i.e. all pipes or all plenums.

{bmc bm831.bmp}
Adding Element to a Group

+$#>Groups - Deleting Elements from a Group

The procedure for deleting elements from a group is identical to that of adding elements to a group.  

To delete elements from an existing group requires the following three steps to be performed:

·	The user must click on the Rectangle Area Pick icon with the left mouse button.  This icon is located in the edit control toolbar which appears above the Lotus Engine Simulation builder window.  

·	Once this icon has been depressed the elements to be deleted from the group can be selected from the builder window by dragging a box around then, as shown below.  The box position is controlled with the mouse pointer, using the left button to select the location of the diagonally opposed corners.

·	To delete the selected elements from the group select Groups from the Lotus Engine Simulation menubar.  Then select Remove from Group from the menu.  A pop-up window will appear enabling the user to select an existing group to remove the elements from.

+$#>Groups - Deleting a Group

To delete a group select Groups from the Lotus Engine Simulation menubar.  Then select Delete from the menu.  A pop-up window will appear listing all of the current groups.  The user must select which group to delete from this list, as shown below.

{bmc bm832.bmp}
Deleting a Group

+$#>Groups - Viewing the Elements within a Group

The elements contained within a group can be viewed by selecting Groups from the Lotus Engine Simulation menubar.  Then select Current from the menu.  A pop-up window will appear listing all of the current groups.  The user must select which group to display from this list, as shown below.  Once a group has been selected, the builder window display will switch from displaying the current model, to displaying the contents of the selected group.

To revert the builder display to show the entire model, select Groups from the Lotus Engine Simulation menubar.  Then select Cancel from the menu.

{bmc bm833.bmp}
Viewing a Group

+$#>Groups - Renaming a Group

To rename an existing group, the Lotus Engine Simulation builder interface view needs to be switched from displaying the entire model network to displaying the contents of the group to be renamed.  See Viewing the Elements within a Group for details on how this is achieved.  

Once the builder window has been switched to display the contents of the group to be renamed, select Groups from the Lotus Engine Simulation menubar.  Then select Rename from the menu.  A pop-up window will appear for the user to enter a new identifying label for their group, as shown below.

{bmc bm834.bmp}
Renaming a Group

+$#>Groups - Saving a Group

The group save feature allows the user to develop a personalised library of components.  For example, it is possible to create a mixed group of components that represent a particular cast manifold.  This group can then be saved for future use in other models.  By creating a directory structure segregating components by specific criteria, a database of components can be generated.

To save an existing group, select Groups from the Lotus Engine Simulation menubar.  Then select Save Group to File from the menu. This will automatically bring up the file browser window and prompt the user to enter a new filename. The file browser can be used to select which directory the group is saved to. If a file with the same filename already exists in the directory selected the user is prompted to accept the overwriting of that file or not.

{bmc bm835.bmp}
Saving a Group

+$#>Groups - Loading a Group

To load a previously saved group, select Groups from the Lotus Engine Simulation menubar.  Then select Add group from file or Add group from file (preview) from the menu. This will automatically bring up the file browser window and prompt the user to select a file.  The file browser can be used to select which directory the group is loaded from.

If the name of the saved group matches an existing group within the model the user will be automatically prompted to alter the name of the group being loaded.

{bmc bm836.bmp}
Loading a Group

+$#>Groups – Default Groups

A folder containing a set of predefined element groups is included to the Lotus Engine Simulation installation. The ‘Default Groups’ are stored in a directory named ‘Default_groups’ which is created as a sub-directory of the directory into which the software was installed (the default location being C:\Lesoft). A number of element groups are included in the default groups.  These have data prefilled or are a set of components likely to be required when building certain models.

A ‘Default Groups’ tab is included on the toolkit, however, no items are placed in this tab after installation.  The default groups are located within the other relevant tabs in the toolkit

{bmc bm837.bmp}
‘Default Groups’ toolkit tab.

For example, a waste-gate group is included in the Machines tab.  This predefined group includes the compressor, turbocharger, upstream and downstream plenum elements, a ‘waste-gate’ throttle element and the control structure to limit the boost pressure, as shown in the Figure below.

{bmc bm838.bmp}
Default Waste-gate Group.

Any element group may be added to the toolkit for future use - see Adding User Groups to Toolkit for more details.  Additionally, complete folders containing user defined groups maybe added to the toolkit – see Adding User Group Folders to Toolkit for more details.

+$#>Groups – Adding User Group to Toolkit

To add a currently defined group to the toolkit the view must switched to viewing the elements within that group by selecting Groups from the Lotus Engine Simulation menubar, then selecting Current from the menu.  A pop-up window will appear listing all of the current groups.  The user must select which group to display from this list.  Once a group has been selected, the builder window display will switch from displaying the current model, to displaying the contents of the selected group.

Once the display has been switched to the element group, the group can be added to the toolkit.  Select Groups from the Lotus Engine Simulation menubar, then selecting Save Group to Toolkit from the menu. .  A pop-up window will appear listing all of the current toolkit tabs.  The user must select, from this list, which toolkit tab to save the group to, as shown below.

{bmc bm839.bmp}
Adding a User Group to the Toolkit

The element group will then appear in the toolkit to which it has been saved, as shown below.

{bmc bm840.bmp}
User Group in the Toolkit

When a user group is added to the toolkit a group file is automatically created in the Default Goups directory.  This enables the user group to be automatically loaded into the toolkit when the Lotus Engine Simulation is subsequently restarted.  For details on how to remove the user group from the toolkit see Removing a User Group from Toolkit.

+$#>Groups – Removing User Group from Toolkit

To remove a group from the toolkit simply right mouse click on the group within the toolkit.  A pop-up menu will appear allowing the Delete Group from Toolkit option to be selected, as shown below.

{bmc bm839.bmp}
Adding a User Group to the Toolkit

When a user group is removed from the toolkit the group file which was created in the Default Goups directory is automatically deleted.

If the deleted group resides in a User Group Folder which has been added to the toolkit, then deleting a group from that folder in the toolkit will also delete the group from the user directory.

+$#>Groups – Adding User Group Folder to Toolkit

The contents of a directory containing element groups can be displayed in a user definable toolkit tab.  To create a new tab select Groups from the Lotus Engine Simulation menubar.  Then select Add User Group Folder to Toolkit from the menu. This will automatically bring up the file browser window and prompt the user to select the required directory.

{bmc bm841.bmp}
Adding a User Group Folder to the Toolkit

Another window will then appear allowing a label to be specified for the tab.  The tab label consists of two lines of text, as shown below.

{bmc bm842.bmp}
Specifying a name for the User Group Folder Tab

For details on how to remove the user group folder from the toolkit see Removing a User Group Folder from Toolkit.

+$#>Groups – Removing User Group Folder from Toolkit

To remove a user group folder from the toolkit select Groups from the Lotus Engine Simulation menubar.  Then select Remove User Group Folder from Toolkit from the menu. This will then bring up a list of the currently defined user group folders.  Simply select the folder you wish to remove from toolkit from this list, as shown below.

{bmc bm843.bmp}
Removing a User Group Folder from the Toolkit

+$#>Parametric / Optimizer Tool - Defining a Scoring System

When the Parametric / Optimization Tool is invoked the user will be presented with the Gates menu screen, shown below.

To aid the optimisation procedure and the analysis of results a scoring system has been devised:

·	Gates of any performance metric (torque, BMEP, vol. eff.) are specified at selected engine speeds. 

·	Gates can be defined as:
-	a existing performance characteristic;
-	a target performance characteristic.

·	Weighting coefficients multiply difference in the actual and gate values at each speed to produce a score:
-	Bonus and penalty weightings are applied.

{bmc bm844.bmp}
Parametric Tool Scoring window

The performance parameter used for the gate values can be altered by clicking the left mouse button, whilst the mouse pointer is positioned on the down arrow by the Gate Variable menu item, as shown below.  A list of seven parameter will appear, the desired parameter can be high-lighted with the mouse pointer and selected with the left mouse button.

{bmc bm845.bmp}
Gate Variable menu

The number of gates which appear in the Gate Settings table correspond to the test points specified in the test conditions data section.

The values entered in the Gate Value column usually correspond to the target performance or the current performance characteristic of the engine.  If the current engine performance is desired then these can be filled automatically.  This is done by selecting Gates from the Parametric / Optimization Tool menu, then selecting Run Baseline to fill Gates, as shown below.

{bmc bm846.bmp}
Auto-fill Gate Value option

Scores can then be added to the Score Over and Penalty Under columns.  These scores are used by the Optimzer tool.  They also provide a useful means of displaying the results from a parametric run.  Gate values and Scores can be altered after a parametric calculation has been performed, without the need to re-run the calculation.

Once the Gates menu screen has been completed, the user is then ready to move on to the Parameters menu screen.

+$#>Parametric / Optimizer Tool - Parameters

The Parameters menu screen is accessed by clicking on the Parameters Tab in the Parametric / Optimizer Tool window.  The Parameters menu screen is shown below.

Up to 10 parameters can be defined.  This is specified in the No. of Parameters box.  To change the number of parameters specified, simply position the mouse pointer over this box and press the left mouse button.  Then type in the number of parameters to be defined.

If more than one parameter has been specified, then the parameters can be stepped through using the two horizontal arrow icons which appear in the Parameter Settings portion of the Parameters menu screen.  Three pieces of information have to be entered for each parameter:

1.	Each parameter is required to be associated with an element group, see Creating a Group.  The group that the parameter is associated with is selected by clicking on the down arrow next to the Group Id box.  A list of all of the current groups will appear, simply click on one of these to select it. 

1.	Once a group has been associated with the parameter, then the variable associated with that parameter must be selected.  This is the variable that will be automatically changed by the parametric tool and will be applied to all of the elements within the selected group.  To select the variable which is to be changed clicking on the down arrow next to the Variable box.  A list of all of the variables associated with the group currently selected will appear, simply click on one of these to select it.

1.	The final data required for each parameter is the range over which the parameter is to be varied, and the step size of the variation.  There are four ways in which this can be input, these are Value, Shift, Scale or By List and are selected by clicking on the appropriate button.  The mode of operation of each of these four methods of parameter variation are :

i.	Value – The minimum and maximum values for the parameter can be simply entered.  The Parametric Tool will then perform simulation runs with the parameter set to the minimum specified value (entered by the user in the in the Min. box) and then incrementally increase it by the specified step size (entered by the user in the Step box) until the final run which will be at the value specified as the Maximum (entered by the user in the Max. box).  The current value of the variable can be found by clicking on the yellow question mark icon.  

ii.	Shift – Works in a similar way to the Value option, except that the values entered in Max., Min. and Step boxes are simply added to the current value for the variable.

iii.	Scale – This option also works in a similar way to the Value option.  In this case the values entered in Max., Min. and Step boxes are used as a multiplying factor to the current value for the variable.

iv.	By List – When this option is selected the Max., Min. and Value boxes will become greyed out.  Values for the variable to be set to, during the parametric test, are entered in the form of a list.  This is done by clicking on the note-pad icon.  A window will appear.  The user can then specify the number of values to be entered.  These values must then be entered into the table.  The values entered into this list can be in the form of a Value, a Shift or a Scale, these functions have the same effect as described in Ii, ii and iii above.  The Variable will be set to each of the entered values in turn. 

Once the parameter data has been entered the parametric calculation can be performed.

{bmc bm847.bmp}

+$#>Parametric / Optimizer Tool - Performing a Parametric Calculation

To perform a parametric calculation, the Solve menu is accessed by clicking on the Solve Tab in the Parametric / Optimizer Tool window.  Before a parametric calculation can be performed a scoring system must be defined and the parameters must be set.

Four types of parametric calculation can be performed, a 1-D Parametric, a 2-D Parametric, an n-D Parametric, or an Optimizer calculation.  These are selected by clicking on the appropriate button.  Once the type of calculation has been selected, the calculation is initiated by clicking on the launch icon.  If the calculation type selected is either 1-D Parametric, 2-D Parametric or n-D Parametric, then a pop-up window will appear allowing the user to specify which of the previously defined parameters to vary during the calculation.

The scores achieved by each run can be written to a text file by clicking on Solve in the Parametric / Optimizer Tool window menu, then Write Scores to File.  A pop-up window will appear to enable a file name to be entered.  Once the parametric has finished the results can be viewed, or saved to a file.  To save the results to a file select File then Save Current Results from the Parametric / Optimizer Tool window menu.  A pop-up window will appear to enable a file name to be entered.  The saved results can be reloaded into the Parametric / Optimization Tool by selecting File then Load Current Results from the Parametric / Optimizer Tool window menu. .  A pop-up window will appear to enable the required file to be selected.

The current Lotus Engine Simulation model can be updated with the values of the parameters from the ‘best’ run or a selected run. A run can be ‘picked’ using the two horizontal arrow icons in the Solve menu window.  The details of the current ‘picked’ run appear in the text box above the launcher icon.

{bmc bm848.bmp}

+$#>Parametric / Optimizer Tool - Optimizer Tool

Before running the Optimizer Tool, a scoring system must be defined and the parameters must be set.  The scoring system enables an automated optimisation procedure to be implemented.

In an automated optimisation procedure several parameters can be analysed sequentially.  A multi-dimensional (up to 10 parameters can be specified) parametric calculation can be performed, without the need to run the full matrix of tests.

After setting up parameters, limits and step-sizes (see parameters):

·	the minimum, middle, and maximum values of each are run;

·	and the best combination (highest score – see scoring system) of these initial runs is used as the next starting point;

·	most sensitive parameter is then stepped through at the step size specified until a maximum point is passed (the no of sensitivity steps to run for each parameter can be altered by selecting Solve then No. of sensitivity steps from the Parametric / Optimizer Tool window menu.  A pop-up window will then appear for the user to enter the number of sensitivity steps to perform);

·	this fixes the value for the start of the sweep of the next most sensitive parameter.

The order of the solution sequence can be altered.  The user can specify that the optimizer tool solves in terms of most sensitive parameter, or in the order in which the parameters have been specified.  To switch between these two sequences select Solve then Optimizer Solve Order from the Parametric / Optimizer Tool window menu, the order in which the optimizer solves can then be selected by clicking on the desired option.  A tick mark will appear next to the selected solution sequence.

The user can also specify the optimizer solution type by selecting Solve then Optimizer Solve Type from the Parametric / Optimizer Tool window menu.  The two solution options are Half Wave or Full Wave.  These are selected by clicking on the desired option.  A tick mark will appear next to the selected solution type.  The Half Wave solver assumes that the solution domain is monotonic, which allows a more rapid optimization procedure than that used by the Full Wave solver.

The scores achieved by each run can be written to a text file by clicking on Solve in the Parametric / Optimizer Tool window menu, then Write Scores to File.  A pop-up window will appear to enable a file name to be entered.  Once the parametric has finished the results can be viewed, or saved to a file.  To save the results to a file select File then Save Current Results from the Parametric / Optimizer Tool window menu.  A pop-up window will appear to enable a file name to be entered.  The saved results can be reloaded into the Parametric / Optimization Tool by selecting File then Load Current Results from the Parametric / Optimizer Tool window menu. .  A pop-up window will appear to enable the required file to be selected.

The current Lotus Engine Simulation model can be updated with the values of the parameters from the ‘best’ run or the ‘picked’ run.  A run can be ‘picked’ using the two horizontal arrow icons in the Solve menu window.  The details of the current ‘picked’ run appear in the text box above the launcher icon.

+$#>Parametric / Optimizer Tool - Viewing Parametric Results

Graphical results are displayed during the parametric calculation.  The graph attributes can be altered after the calculation.  They appear in the upper right-hand portion of the Solve window, but can be made to fill the entire Solve window by selecting Graph then Size from the Parametric / Optimizer menu-bar.  The graph display can then be toggled between Small and Large by selecting either option from the menu.

The engine performance metric that is displayed in this graph can be altered by clicking on Graph then Display from the Parametric / Optimizer Tool menu-bar.  There is a choice of seven engine parameters, four heat transfer variables, the curve gate score as well as a ‘more options’ that provides access to a further 127 options (see below), these are selected by high-lighting the desired parameter using the mouse pointer and pressing the left mouse button.  The selected parameter will be indicated by a tick mark.  If the parameter selected is the same as that used to define the scoring gates, these ‘gates’ will also appear on the graph.  The baseline engine performance will be displayed in green, the run with the highest ‘score’ will appear in red, and the current ‘picked’ run will be displayed in yellow.  Other runs will appear in dark grey. 

{bmc bm849.bmp}
Selecting the Display Parameter in the Results Graph

The ‘more options’ produces a separate dialog box from which to select the required option. Each variable is presented as either ‘Sum’, ‘Min’, ‘Max’ or ‘Mean’ (where relevant). 

{bmc bm850.bmp}
Selecting from ‘more options’ Display Parameter in the Results Graph

If Curves Gate Score is selected as the parameter to display, the graph will not be presented in terms of engine speed.  This is because the ‘score’ is accumulated over the entire test speed range, and thus a single value is calculated for each engine configuration tested.  If a 1-D parametric calculation has been performed the score will be plotted on the Y-axis and the value of the parameter will form the X-axis.  If an Optimizer calculation has been performed the X-axis will show the run number.  If a 2-D parametric calculation has been performed then the first parameter will be displayed on the X-axis and the second parameter will be displayed on the Y-axis.  The ‘scores’ will then be displayed as a contour plot, as shown below.

For a 1D parametric analysis the display can be a curve, where the x-axis is engine speed and the y-axis is the display variable, or it can be a contour plot where the x-axis is engine speed and the y-axis is the parametric variable. The 1D display setting is ignored if the y display variable is curve gate score, as for a 1D analysis this will always have the parametric variable on the x-axis and the score on the y-axis.

{bmc bm851.bmp}
1D Display Options

An additional menu option has been added that pertains specifically to 1D parametric runs. The 1d data points can be saved directly to an ASCII two-column text file for use by other 
applications. Use the Graph / List 1D points to File’ menu option.

The scoring system has the benefit of allowing the results from a 2-D parametric simulation to be presented, for all test speeds, simultaneously on a single graph.

{bmc bm852.bmp}
Gate Sores Contour Plot

If a 2-D parametric calculation has been performed the results can be displayed as a curve, a series of single speed contour plots, or a contour plot containing the results for all engine speeds.  The graph type displayed is selected by clicking on Graph and then 2D Display from the Parametric / Optimizer Tool menu-bar.  A choice of three graph types is then presented, as shown below, the graph type is selected by positioning the mouse pointer over the desired option to high-light it and then pressing the left mouse button.  The selected option will be indicated by a tick mark.

{bmc bm853.bmp}
Selecting the Graph Type for Displaying 2-D Parametric Results

The contour plots can be displayed as either contours or filled contours.  Selecting Graph and then clicking on Filled Contours from the Parametric / Optimizer Tool menu-bar toggles this.  If filled contours have been enabled a tick mark will appear next to the menu item.  If All Speeds Contours has been selected as the graph type, the contour fill will obscure all but the top most graph.

The test points can be displayed on the contour plot.  Selecting Graph and then clicking on Contour Data Points from the Parametric / Optimizer Tool menu-bar toggles this.  If Contour Data Points have been enabled a tick mark will appear next to the menu item.

Contour values can be displayed on the contour plot.  Selecting Graph and then clicking on Contours Values from the Parametric / Optimizer Tool menu-bar toggles this.  If Contour Values have been enabled a tick mark will appear next to the menu item. 

Controlling the Appearance of Contour Plots

The appearance of the contour plots can be controlled by the user.  The figure below shows the Contour Levels Display Setup menu.  This menu enables the number of contour levels to be specified.

The maximum and minimum values for the contour range can be automatically set to the maximum and minimum values encountered in the current results, or the maximum and minimum values for the contour range can be specified manually.  This enables the same contour values to be used to view results from different parametric runs. Alternatively the user can specify the level for each of the contours

The Fit Power/0.9 Knee option allows the user to specify a non-linear scale for the contour levels between the max and min values.  An input of 1.0 in this field will result in a linear contour scale.

{bmc bm854.bmp}
The Contour Levels Display Setup Menu

The Contour Annotation Display Setup menu, shown in the figure below, allows the user to specify the appearance of the contour labels.

{bmc bm855.bmp}
The Contour Annotation Display Setup Menu

Saving/Loading Parametric Results

Because of the potential long run times associated with parametric analysis jobs, users should be aware of the option to save completed parametric analysis runs to a *.par file. This retains the calculated settings and results to enable further post processing activities to be carried out at a later date. The ‘save current results’ and ‘load saved results’ options are given under the File menu. In addition the last five par files used are held at the bottom of the file menu.

It is possible to load a par file that does not match the current model. If this is detected certain menu options are deactivated and the user informed of this action.

 #Parametric / Optimizer Tool Icon {bmc bm423.bmp}

+$#>Port Flow Analysis Tool - Overview

Overview

The input data requirements of the Lotus port flow test data analysis program, Port Flow, are presented. The equations employed within this program are presented for the users reference.  In addition to this the majority of the data from the Lotus port flow database is presented in order to allow the test results from any port flow development program to be compared with those of other engines. This is extremely useful when judging the potential improvements to be gained from any further port development work. 

+$#>Port Flow Analysis Tool –  Port Flow Testing

The layout of Lotus port flow rig when measuring flow, swirl and tumble is shown schematically below.  All tests should be performed to the Lotus Air Flow Test procedure 4000-001. This procedure is described in Port Flow Test & Procedures. In the air flow bench, air is drawn through the cylinder head inlet ports, into the machine, through a measuring orifice and exits via the blower motor.  Swirl is measured using a rotating vane supported in the cylinder bore between the cylinder head and the air flow bench.  A schematic of the swirl rig is shown below.  The average speed at which the vane rotates is the raw measurement of swirl.  Tumble is measured in a rig that is supported between the cylinder head and the air-flow bench.  A schematic is shown below.  The rig is designed to allow tumble motion to be measured rotating vanes in the side tubes of the rig.  The average speed at which the vanes rotate is the raw measurement of tumble.

Lotus employs a test pressure drop equal to 635 mm (25”) of water. Both Ricardo and AVL use a pressure drop of 254 mm (10”) of water. While these lower limits may be a result of a limitation in the apparatus, they do represent a significant difference in test conditions. 

{bmc bm856.bmp}

+$#>Port Flow Analysis Tool – Opening the Port Flow Analysis Tool

There are several ways to open the Port Flow Analysis Tool:

Firstly, after loading the Lotus Engine Simulation, if the Start Wizard is active, then the user is able to select the Port Flow Analysis option from the wizard.  

However, if the start wizard had been disabled or the user is already working within the Lotus Engine Simulation, they must either select Tools / Port Flow Analysis from the main menubar or click on the Port Flow Analysis Icon near the top of the window.

+$#>Port Flow Analysis Tool – Closing the Port Flow Analysis Tool

In order to close the Port Flow Analysis Tool, either click on the Close Icon at the top right of the window or select File / Close from the Port Flow Analysis menubar.  

On the Port Flow Analysis File menu, there is another ‘close’ option named Close (make current), as shown below.  This also closes the Port Flow Analysis Program but at the same time, also copies the calculated data into the relevant section of the current Lotus Engine Simulation model.

{bmc bm857.bmp}

+$#>Port Flow Analysis Tool – Entering the Data

When opened, the Port Flow Analysis Tool will show the Data section.  This is indicated by the depressed ‘General Data’ button in the upper left of the window.  

The General Data section of the Port Flow Analysis Tool, shown below, is comprised of six sections and these are as follows:

1.	The first section contains a box for entry of the title of the port flow file.  To enter this, simply left-click in the box and type in the title.

1.	The second section contains five option boxes, allowing the user to specify the type and details of the rig used. 

.	The type of rig can be set to ‘Superflow’ or ‘Old’. New users will only require the ‘Superflow’ option since this is now the standard port flow rig used at Lotus.  The ‘Old’ option is used for database entries where Lotus has previously measured port flow data using other rigs.  The flow rig type selected alters the calculations used in the code as appropriately.

.	Valve type can be set to ‘Intake’ or ‘Exhaust’.

.	Valve pressure drops can be set to either ‘default’ or ‘defined’.  The ‘default’ option sets the pressure drop to the standard Lotus setting of 635 mm (25”) of water.  The ‘defined’ option allows the user to enter alternative pressure drops appropriate to their test rig set-up.

.	Options of ‘None’, ‘Swirl’ or ‘Tumble’ can be selected from the next option box.  These define whether or not either swirl or tumble will be measured in the rig.  For more information on the superflow swirl and tumble rigs, see Port Flow Analysis Overview.  When either ‘swirl’ or ‘tumble’ are selected, the ‘swirl data’ section is activated and must be completed (see item 5 below).

.	The final option box in the Rig Type section is Valve lift.  Either ‘Default’ or ‘Defined’ can be chosen.  Default sets the valve lift increment to the standard Lotus value of 1mm and ‘defined’ allows the user to change this interval to suit their measurements.

1.	The third section of the General Data window contains data-entry boxes for a variety of engine data. The to be entered are bore, stroke, con rod length, number of valves, throat diameter and seat angle.  These values are required in order for the code to calculate results such as Gulp factor.

1.	The fourth section requires the entry of ambient air conditions (pressure and temperature) and can be entered by positioning the mouse pointer over the appropriate box and then pressing the left mouse button to select it, the values can then simply be entered via the keyboard.

1.	The fifth section concerns swirl data and, as described above, this section is only activated when either swirl or tumble options are specified in section 2 (item iv).  When activated, rig bore and meter constant must be entered in order to specify the characteristics of the rig.

1.	The final section is only activated when the ‘Superflow’ option is specified in section 2 of the General Data window.  When activated, this section requires the entry of the number of orifice plates (1-11) used within the rig and also the orifice factor for each orifice.  An orifice factor is simply the orifice flow at 100% flow (cubic feet per minute).

{bmc bm858.bmp}
The General Data Window

Once the user has completed the General Data section, they can then begin entering data into the Flow Values window.  This window is accessed by clicking on the ‘Flow Values’ tab near the top of the Port flow analysis tool window.

This window, which is shown below, contains a spreadsheet table into which the user must enter the data they have acquired from their test rig.  Before doing this, the user must enter the number of lift values they have taken into the ‘Number of values’ box.  There are also data-entry boxes at the top of the window for ‘Orifice factor’, ‘Reference Pressure Factor’ and ‘Pressure Drop factor’.  The orifice factor only applies when ‘Old’ is selected for flow rig type and appears ‘greyed out’ if ‘Superflow’ has been selected.  The pressure factors are simply multiplication factors applied to the pressure values entered, and thus allow the user to enter the pressure drops in any units and convert them to mmH2O automatically.  They also provide a quick means of changing the sign of the pressure drops.

Within the Spreadsheet, six data values can be specified for each increment of valve lift and these are as follows:

1.	Orifice Pressure Drop is the drop in pressure caused by the orifice plate used within the rig.

1.	Orifice Number specifies the allocated number for the orifice that is used at a particular valve lift.  More than one orifice may need to be used over the lift range.  This is because, as valve lift increases, so does the flow rate and since it is recommended that the Reynolds Number of the air moving through the orifice plate is kept within a certain range, more than one size of orifice plate may be required to do this.  This column appears ‘greyed out’ if the flow rig type ‘Old’ has been selected in the General Data Window.

1.	Test Pressure for the Superflow rig is the pressure drop across the valve / port assembly and is the difference between the downstream and upstream pressures.  This value was measured differently when previous Lotus port flow measurements were taken using the ‘Old Rig’.  However, since new users will only be concerned with the Superflow Rig, this value can be assumed to be equal to the Valve Pressure Drop (see item 5 below).  N.B. for inlet port flow tests these pressure drops should be entered as –ve values.  For exhaust port flow tests these values should be +ve.

1.	Temperature is taken downstream of the port and compared to ambient temperature within the code.

1.	Valve Pressure Drop is simply the pressure drop across the valve and, for the Superflow Rig, should contain the same values as the Test Pressure column.

1.	Vane Speed values only need to be entered if either swirl or tumble measurements are taken.  The vane speed is simply the speed at which the vanes in the rig turn at (RPM).

{bmc bm859.bmp}
The Flow Values Window

The Lift Values window is accessed by clicking on the ‘lift Values’ tab near the top of the Port Flow Analysis Tool Window.  This window, which is shown below, contains data-entry boxes, which require the user to enter Valve Timing and Manifold Conditions data.  To the right of the window, there is a spreadsheet table, which requires the entry of crank angle lift values.  These can be typed or pasted in once the number of crank angle values have been entered into the ‘Number of Values’ box.  There is also a box at the top of the window, allocated for the filename of the lift curve.

{bmc bm860.bmp}
The Lift Values Window

+$#>Port Flow Analysis Tool – Solving

Once all required data has been entered, it can be solved by selecting File / Solve Update from the Port Flow Analysis menubar, as shown below.  This will produce results, which can be viewed through the Text Results and Graphical Results sections.

{bmc bm861.bmp}

+$#>Port Flow Analysis Tool – Updating the Lotus Engine Simulation Model

After solving the data and producing results, it is possible to transfer the calculated data to the current Lotus Engine Simulation model.  This is done by left-clicking on File / Close (Make Current), as shown below.

{bmc bm857.bmp}

+$#>Port Flow Analysis Tool – Viewing Text Results

Once the data has been solved, it is possible to view the text results file.  This is done by clicking on the ‘Text Results’ button and using the standard windows scroll bar at the right of the display to view the entire file.

The text results file consists of two main ‘pages’.  The first page provides results for use within the Lotus Engine Simulation ‘port’ section and the second page contains mainly database-related calculated values, enabling the user to compare the port flow characteristics of different engines.

At the top of the first page, there is a summary of the input data for the engine, including such variables as bore, stroke, maximum valve lift and ambient conditions.

Below the summary, there is a table containing all of the input valve lift data, which has been input into the Flow Values section of the Port Flow Analysis Tool.  The table includes orifice pressure drop, upstream pressure, temperature, valve pressure drop and volume flow rate.

The last section on page 1 contains a list of output data.  This is listed against non-dimensional valve lift (L/D) and can be used for the port flow user defined input of a Lotus Engine Simulation model.  This table contains Flow Coefficient, Discharge Coefficient and Measured Mass Air Flow.  Flow and Discharge coefficients are defined below:

Discharge Coeffiecient ={bmc bm862.wmf} = {bmc bm863.wmf}
where:

Qactual = Measured Flow Rate

{bmc bm864.wmf}	and	{bmc bm865.wmf}

n = Number of inlet valves
D = valve throat diameter
L = Valve Lift
{bmc bm866.wmf}= Valve Seat Angle

Flow Coeffieiect = {bmc bm867.wmf}

where:

A = {bmc bm868.wmf}

Page 2 of the text results file again starts with a summary of all engine input data and ambient conditions and then continues with a results summary.  These results are non-dimensional and are for use with the database so that the port flow characteristics of different engines can be compared.  Results included are as follows:

Throat / Bore Ratio – This represents the ratio of the port throat area to the cylinder bore area.  The throat area does not vary with valve lift.

 Mean Inlet Gas Velocity – Inlet gas velocity will vary depending on the valve lift.  The given value is an average of the gas velocities over the valve open period.

Flow Coefficient at 0.3 L/D and 0-0.3 L/D – The value of 0.3 L/D is a standard representative value and can be input into the port flow section of the Lotus Engine Simulation if a full curve is not required / available.  The 0-0.3 L/D value is an average value of the flow coefficient over that lift range.

Flow Area / Bore Area for 0.3 L/D and 0-0.3 L/D – This is a non-dimensionalised flow area at and over the respective non-dimensionalised valve lifts. 

Mean Flow Coefficient over Valve Lift – As the valve lift changes, so does the nature of the flow over the valve and therefore, the flow coefficient varies throughout the valve-open period.  The value given is a mean value over the lift period.

Mean Flow Area / Bore Area over Valve Lift – Since the bore area remains constant and the flow area varies with valve lift, this ratio also varies over the valve-open period.  The value given is the mean of this non-dimensional ratio over the valve open period..

Integrated Angle Area – This is the integrated value of the valve area over the opening event and is a representation the total valve area available per cycle.

Gulp Factor - This is the Mach Index for the fluid, which is the average Mach number.  The Mach Index is the average Mach Number over the entire valve open period and it is proportional to the ratio of the bore area to the mean inlet valve area. Increasing Mach number beyond a threshold value corresponds to decreasing volumetric efficiency. This trend is a consequence of the flow within the inlet valve approaching sonic speeds and thus choking. 

The remainder of the second text results page contains piston motion dependant results for the default / user-defined lift curves.  These represent mean values obtained over the piston stroke and hence differ from the valve event-based values.  The results given are as follows:

Mean Flow Coefficient over Stroke - 
Mean Flow Area / Bore Area over Stroke - 
Gulp Factor (at maximum power engine speed)

+$#>Port Flow Analysis Tool – Printing Text Results

In order to print the text results file, the user must select Text Results / Print from the Port Flow Analysis main menubar, as shown below.  This will initiate the standard windows print dialogue box.  The whole text file will be printed using this method.

{bmc bm869.bmp}

+$#>Port Flow Analysis Tool – Setting the Print Font Type

In order to change the font in which the text file is printed, the user should select Text results / Print Font from the Port Flow Analysis menubar and then select the required font type, as shwon below.  There are three options for font type:  

Fixed pitch, although less attractive, forces each character to be the same width, therefore making sure that all columns in tables line up correctly.

Proportional Sans Serif font characters do not have a fixed width.  They have a more attractive appearance than the fixed pitch font type but may not always line up correctly.

Proportional Serif characters are simply a slight variation on the Proportional Sans Serif font type. 

{bmc bm870.bmp}

+$#>Port Flow Analysis Tool – Setting the Print Font Size

In order to alter the print font size, the user must click on Text Results / Print Font Size within the Port Flow Analysis menubar and then click on the required standard font size (available sizes 6 – 16).  A check mark will appear next to the chosen font size.

{bmc bm871.bmp}

+$#>Port Flow Analysis Tool – Saving Text Results to File

Text results can be saved to file by clicking on Text results / Save to File.  This will bring up the standard windows browser dialogue box, as shown below, allowing the user to select the file name and directory of their choice.

{bmc bm872.bmp}

+$#>Port Flow Analysis Tool – Viewing Graphical Results

Graphical results can be viewed by left-clicking on the Graphical Results button, as shown below.  This will display the graphical results window which contains a graph on the left hand portion of the window and a display control section on the right hand side of the display.  On first opening of the graphical display window, the graphs may need to be Autoscaled.

{bmc bm873.bmp}

+$#>Port Flow Analysis Tool – Changing the Graphical Display

To the right of the graphical display there is a control panel on which there are a number of options.  These allow the user to specify which variables are plotted on each axis.  

On the x-axis, either ‘Valve Lift’ or ‘Non-dimensional Lift (L/D)’ can be selected.  This is done by left-clicking in the check box next to the appropriate option. 

On the y-axis, there are six possible variables which can be plotted either on their own or in combination with any number of the other variables.  All y-axis variables must share a common x-axis variable.  To select or de-select a y-axis variable, left-click in the appropriate check box to add or remove the check mark, as shown below. 

{pflow_graph_change.bmp}

+$#>Port Flow Analysis Tool – Copying Graphs to the Clipboard

If the user wished to transfer a graph to an external application then this is done by copying the graph to the clipboard and then pasting the graph into the target application.  In order to copy the graph to the clipboard, select Graphical results / Copy to Clipboard from the main Port Flow Analysis menubar, as shown below.

{bmc bm874.bmp}

+$#>Port Flow Analysis Tool – Printing Graphs

In order to print the currently displayed graph, select Graphical results / Print Graph from the main Port Flow Analysis menubar, as shown below.  This will initiate the standard Windows printing dialogue box.

{bmc bm875.bmp}

+$#>Port Flow Analysis Tool – Autoscaling Graphs

Autoscaling the currently displayed graph automatically sets the scales of the graph so that the graph lines are all displayed clearly within the axes.  In order to instruct the Port Flow Analysis to perform this function, select Graphical results / Autoscale from Port Flow Analysis menubar, as shown below.

{bmc bm876.bmp}

+$#>Port Flow Analysis Tool – Zooming Graphs

To zoom in on a particular section of the displayed graph, begin by selecting Graphical results / Zoom from the Port Flow Analysis menubar.  This will initiate cross hairs which will appear when the mouse pointer is moved over the graph area.  To select the required zoom area, position the cross hairs at the top left hand corner of the zoom area, left-click at that point, and release the mouse button.  Next, move the cross hair to the right and down, dragging the selection box over the zoom area, then left click again.  This will scale complete the zoom procedure. 

+$#>Port Flow Analysis Tool – Listing Graph Values

If the user wishes to accurately read off particular values from the displayed graph, then they should firstly select Graphical Results / List from Port Flow Analysis menubar.  When this has been done, cross-hairs will appears as the user moves the mouse pointer over the graph area.  To list a graph value, click on the graphical display at the point of interest.  X axis (Engine RPM) and Y axis (from whichever graph is selected) values will be displayed at the bottom of the graph area, as shown below.  The colour of the text indicates which graph values are being displayed.  The value displayed will relate to the point at which the vertical cross-hair crosses the line which is closest to the cross point of the cross-hairs. Click with the cross-hair cross point as close as possible to the point of interest, as shown below.  To remove the cross hairs when finished listing values, click the right mouse button.

{bmc bm877.bmp}

+$#>Port Flow Analysis Tool – Graph Setup

If the user wishes to manually set the scales, titles etc. of the results graphs, they should select View / Setup from the Results Graph Window menubar.

There are three sections within the Results Graph Setup window, shown below.  These are Plot Text and X Axis and Y Axis.

‘Plot text’ allows the axes titles, fonts, colours and grid types to be specified by left-clicking on the relevant box and selecting the required option from the pop-up list or typing in the text / value as appropriate.  Other options such as ‘Auto Position’ and ‘Scale Text With Page’ can also be switched on and off by left-clicking on the appropriate check-box.

‘X Axis’ allows the user to alter the minimum and maximum  X Axis scale values as well as the interval and number of decimal places.  This is done in the same way as for the first section.

‘Y Axis’ allows the properties of each plot line to be altered.  These include line colour, line type, symbol colour and symbol type.  These options can be changed by clicking on the relevant box and selecting the required option from the pop-up list.  Specific lines and symbols can be made visible or invisible by left-clicking in the check box to the right of the line or symbol options of interest.

Graph Axes (1-6) can be cycled through by left-clicking on the back and forwards arrows at the top left of the relevant section.  The current Axis is displayed between these arrows.

{bmc bm398.bmp}

+$#>Port Flow Analysis Tool – Refreshing the Graph

If an option has been changed and the graph has not changed to reflect the chosen option, then it is necessary to Refresh the graph. This is done by selecting Graphical Results / Refresh from the Port Flow Analysis menubar, as shown below.

{bmc bm878.bmp}

+$#>Port Flow Analysis Tool – Database Structure

Each entry in the friction database is obtained from an actual file, stored in the friction sub-folder of the database directory.  Each file contains the actual friction text file data, which can be loaded into a Lotus Engine Simulation .sim file.

If each data file had to be loaded and port flow results calculated each time the user wished to list the database entries, it would take an unacceptable amount of time.  This problem has been solved with the use of a scratch file.

The scratch file contains a limited number of the data variables and results calculated from the actual friction files.  This scratch file is then used to list the database entries rather than directly calculating the results each time a list is required, cutting down waiting time.  The scratch file is saved automatically within the Lotus Engine Simulation working directory.

When an entry is selected from the scratch file list and needs to be loaded into the Port Flow Analysis, the actual Port Flow file in the database directory is directly loaded up and calculations performed.

If new files are introduced into the database directory then a new scratch file has to be built in order to update the listing.

It should be noted that before the database facility can be used, the Database Folder must be specified.  This must be done from either the standard or the builder interface.  The user must select Setup / Database Folder from the main menu and then enter the path of the folder in which all database files are stored.

$#>Port Flow Analysis Tool – Listing Database Entries

When there is data stored in the database scratch file (see Database Structure) then it is possible to list the stored database entries.  This is done by selecting Database / List Entries from the Port Flow Analysis menubar, as shown below. After performing this task, a window will appear with a spreadsheet-style layout of the database data. Particular entries can be highlighted by clicking on them with the left mouse button. 

{bmc bm879.bmp}

+$#>Port Flow Analysis Tool – Rebuilding Database Scratch File

If there is currently no scratch file or if the user wishes to update the database data, then the Database Scratch File must be Rebuilt.  This is done by selecting Database / Rebuild Database Scratch File from the Port Flow Analysis menubar, as shown below. 

{bmc bm880.bmp}

+$#>Port Flow Analysis Tool – Loading Database Entry into Port Flow Analysis Tool

In order to load a database entry into the Port Flow Analysis, the user must first of all list the database entries and select an entry with the left mouse button, which will highlight that entry.  When this is done, the user must right-click with the mouse pointer over the selected entry and select Load Entry as Data File, as shown below.  This will load the selected file data into the Port Flow Analysis Tool.

{bmc bm881.bmp}

+$#>Port Flow Analysis Tool – Shuffling Columns

If the user wishes to list the database entries by number order in a certain column then they should first of all list the database entries and then press the left mouse button, with the pointer positioned over the required column heading.  This will highlight the entire column in black if done correctly.  The user must then press the right mouse button with the mouse pointer over the highlighted column heading.  This will bring up a pop-up menu from which either Shuffle Selected Column by Highest or Shuffle Selected Column by Lowest can be selected depending on the user’s preference, as shown below.

{bmc bm882.bmp}

+$#>Port Flow Analysis Tool – Reverting to Original Database Order

In order to return the database order back to it’s original order, when the database listing has been displayed, press the right mouse button whilst the mouse pointer is positioned anywhere on the database listing and select Revert to Original Order from the popup menu, as shown below.

{bmc bm404.bmp}

+$#>Port Flow Analysis Tool – Showing and Hiding Database Entries

If the user wishes to plot their data against only a portion of stored database data, this can be done by hiding all entries which are not of interest.

In order to hide an entry, highlight it by clicking on it with the left mouse button and then press the right mouse button, whilst the mouse pointer is on the selected entry and select Hide Selected Entries from the pop-up menu, as shown below.

To hide several adjacent entries at once, left-click on the first target entry and then hold down the left mouse button and drag the mouse across the rest of the target entries until they are highlighted in yellow.  When this is done, release the left button, and then press the right mouse button and select Hide Selected Entries from the pop-up menu.

In order to show all the entries again, with the mouse pointer positioned anywhere on the database listing, press the right mouse button and then select Show All Entries, from the pop-up menu.

To switch between hidden and shown entries, with the mouse pointer positioned anywhere on the database listing, press the right mouse button and then select Swap Show/Hide Entries, from the pop-up menu.

{bmc bm405.bmp}

+$#>Port Flow Analysis Tool – Clipping Columns

An alternative method of hiding certain database entries is to clip columns.  This allows the user to hide the entries above, below or on either side of specific column values.  In order to do this, position the mouse pointer over the column heading of interest and then press the left mouse button to select the column.  Then press the right mouse button to bring up the pop-up menu.  From the listing, select either High Clip Selected Column (To hide entries with column values above a certain value), Low Clip Selected Column (To hide entries with column values below a certain value) or Pass Clip Selected Column (To hide entries above and below certain values).  After selecting the type of clip, a dialogue box will appear, requesting the relevant column value(s).  Enter the value(s) to complete the procedure, as depicted below.

{bmc bm406.bmp}

+$#>Port Flow Analysis Tool – Port Flow Test Procedures

1.0 	OBJECTIVES

1.1	To measure air flow, swirl and tumble on a steady state flow bench. 

1.2	At each stage of an engine development program one needs to be confident that 
the port air flow meets the design requirements. 

1.3	At the start of a project when no cylinder heads are available, a port model is usually made for testing on the air flow bench. When cylinder heads are available they are tested on the air flow bench. 

2.0	EQUIPMENT

2.1	An air flow bench. The air flow bench used at Lotus is a Superflow 600.

2.2	Cylinder heads or port models are mounted onto the flow bench with a cylinder adapter. The adapter consists of a tube (usually 100 mm long) of the same bore 
(+/-I.5 mm) as the engine. The lower flange is bolted to the flow bench and the upper flange is bolted to the cylinder head or port model. The flanges must be flat or gasketed to make an airtight seal. Special features of the adapter tube may be specified by the engineer, e.g. pressure tappings to measure pressure drop across valves, tapered bore etc. 

2.3	Other parts of the engine inlet or exhaust may be built onto the cylinder head or port model at the request of the engineer. 

2.4	The cylinder head or port model must have a method for opening and closing the valves by a measured amount. 

2.5	When testing on the intake side of the cylinder head radiused entries are needed (minimum 12 mm radius) to break the sharp edge around the port opening. Exhaust flow may emit directly from the cylinder head. 

2.6	For swirl measurements, the cylinder head or port model is mounted onto the flow bench using an adapter, which incorporates a rotating vane, eg. swirl rig, see Port Flow Overview.

2.7	For tumble measurements the cylinder head or port model is mounted onto the flow bench using a more complicated rig which uses rotating vanes, eg. tumble rig (also see port flow overview – as above). The bore of the rig is usually equal to the engine bore (+/-I.5 mm). 

2.8	A hand held tachometer is needed to measure the speed of vane rotation in either the swirl or tumble rigs. 

3.0	PREPARATION

3.1	Carry out air flow bench calibration checks.

·	Install only the standard test orifice plate onto the SuperFlow. Lift the 
flow range locking knob and rotate the flow range selector to #1. Set the flow direction levers to "Intake" and “Intake Below 150 cfm". Close the intake and exhaust flow control knobs lightly against their seats. 

·	Zero the vertical test pressure meter and level and zero the inclined flow meter. With only the small 0.312" diameter test orifice open turn on the motor and slowly open the intake flow control until the test pressure reaches 25.0" of water. The flow meter should now read approximately 18% on the # 1 range. Multiplying 0.18 times the # 1 intake flow scale value, shown on the calibration card for your machine, yields a flow of approximately 7 cfm. If flow is within 1 cfm of this reading, the machine is working properly. 

·	Now turn on the SuperFlow and change to the #4 flow range and to "Intake Above 150 cfm". Open both the 0.312” and 1.875' diameter holes in the test orifice. Turn on the machine again, and adjust the intake flow control until the test pressure reads 25.0”. Multiply the flow meter reading times the #4 intake flow scale value to obtain the test orifice flow.  It will be approximately 238 cfm under standard conditions. 

·	Prepare an "Airflow Test Sheet" This is a standard format used to record details of the test and test results. 

4.0	PROCEDURE

4.1	For a "flow test" the cylinder head or port model is mounted onto the flow bench with a Cylinder adapter of the correct bore size. 

4.2	The test is carried out as follows:- 

Zero the vertical test pressure meter and zero and level the inclined flow meter. Close the intake and exhaust flow control valves tightly against their seats (do not force or they will be damaged). Turn the flow direction levers to "Intake" and "Intake below 150 cfm" and the flow range to 1. Open the intake valve to the first lift point (usually 1 mm). Turn on the machine and open the intake flow control valve to bring up the test pressure. If the flow manometer reading exceeds 100% before you reach a 25” test pressure, shut off the machine and select the next higher range. Restart the machine, adjust to 25” test pressure and read the flow percentage on the inclined flow manometer. 

Record the valve lift, flow percentage, flow range number, test pressure, air temperature and pressure drop across the valves (if requested by the Development Engineer).

Continue the test at all required valve lifts. For greatest accuracy use an orifice (flow range) which gives a flow between 50-100%.

To test the exhaust port repeat this procedure (4.2) with this difference:- turn the flow direction lever to "Exhaust" and close the intake flow control valve.

4.2	For swirl tests the cylinder head or port model is mounted onto the flow bench using a swirl rig.

Carry out the test as section 4.2 but record vane speed, max and min, at each valve lift.  Vane speed is measured with an optical tachometer.

4.3	For tumble tests the cylinder head or port model is mounted onto the flow bench using a tumble rig.

Carry out the test as section 4.2 but record vane speed, left and right, max and min, at each valve lift. Vane speed is measured with an optical tachometer.

4.5	A diary should be kept listing each test and notes of the reason for each test along with details of modifications etc. This should be filed together with the test results.

4.6	For all tests of the engine inlet or exhaust may be built onto the cylinder head or port model at the request of the engineer.

5.0	EVALUATION

5. 1	The data from the air flow bench tests is recorded on the "Air Flow Test Sheet".

This data is usually entered into the Lotus Port Flow Analysis programme for air flow 
calculations. The output includes corrected volume flow, flow coefficient, discharge coefficient.

Graphs can be plotted to give easy comparisons of results from different tests. The data can be used in engine performance simulations.

6.0	SIGN-OFF CRITERIA

6.1	Test results must be evaluated in relation to design targets.

7.0	REPORTING

7.1	A test report should be written in accordance with the Lotus Recommended Practice.

7.2	Relevant calculations and results should be presented in graphical and / or tabular form together with assumptions and references.

 #Port Flow Analysis Icon {bmc bm883.bmp}

+$#>Quick Start Guide - Introduction

Introduction

The three basic steps necessary to create and run an engine simulation are;

Step 1 Generate the model data using (1) the Concept Tool; (2) entering data using the drag and drop builder; (3) loading and modifying an existing data file.

Step 2 Make sure that the Test Conditions section of the data reflects the operating condition at which the engine is to be simulated and launch the simulation using the Solve facility.

Step 3 Load the simulation results as either textual or graphical displays to review the calculated data.

+$#>Quick Start Guide - Startup Wizard

When the application is opened, the first dialog box displayed is the Startup Wizard, shown below.

{bmc bm884.bmp}

This window consists of three main panels, each panel containing a number of options. The wizard provides access the Lotus Engine Simulation and Lotus Vehicle Simulation environments and a number of other Lotus Engineering Simulation Tools. It should be noted that only the codes for which the user is licensed can be selected. An item ‘greyed out’ indicates that that program or tool is not currently licensed.

The Simulation environment panel allows the user to chose between opening the main application at either the Engine Simulation or the Vehicle Simulation environment level. When an option is selected (identified by the toggle being shown in white) the second panel will display file options relevant to that environment level. If you are not licensed for either Engine Simulation or Vehicle Simulation the second panel will not be visible.

For the Engine Simulation environment there are two file options available in the second panel, (Lotus Engine Simulation);

The first option is ‘Open an Existing .sim File’.  This option should be selected if the user has previously saved a Simulation model and wishes to load it into the interface.  If this option has been chosen then the standard Windows file browser will be displayed and will use the *.sim filter, allowing the user to select the correct data file.

The second option is ‘New Blank .sim File’ and should be selected if no simulation models have yet been constructed or if the user wishes to create a new model.

For the Vehicle Simulation environment there are also two file options available in the second panel, (Lotus Vehicle Simulation);

The first option is ‘Open an Existing .car File’.  This option should be selected if the user has previously saved a Simulation model and wishes to load it into the interface.  If this option has been chosen then the standard Windows file browser will be displayed and will use the *.car filter, allowing the user to select the correct data file.

The second option is ‘New Blank .car File’ and should be selected if no simulation models have yet been constructed or if the user wishes to create a new model.

The third panel of the Startup Wizard (Simulation Tools) allows the user to select one of the integrated program tools. These can be used either in conjunction with The Engine/Vehicle Simulation programs to aid in the accurate modelling of an engine and vehicle or they can be used independently to perform a specific analysis task. 

A common feature that all the tools share is the capability to use databases to save, extract and compare data. These databases, which contains Lotus measured data for a variety of engines and allow the cross plotting of the user’s data against existing engine data, provide a useful source of model data when the specific values are not available. (Please contact your Lotus Software Supplier for details of these databases). The tools are described individually below;

The Concept Tool allows the user to study, in a limited way, the parameters which affect the performance of a particular engine configuration and can be used to generate an engine simulation model quickly, using minimal input data. Simple analytical and empirical expressions, such as the Helmholtz resonator equation, are used to size the valves / ports, and intake and exhaust runners. In this way a ‘unit-cylinder’ is produced which can be duplicated and connected to generate a multi-cylinder engine.

The Friction Estimator Tool provides a method of estimating the level of friction created by a specific engine configuration at a variety of engine speeds and also comparing it with a database of existing engines.  This tool can be used either separately or in conjunction with Engine Simulation to quickly create user defined FMEP values which can be used directly in an Engine Simulation model.

The Combustion Analysis Tool is a combustion analysis program that analyses a cylinder pressure curve in order to calculate the ‘heat release’ rates. It also allows the engineer to quickly create user-defined combustion data which can be loaded directly in an Engine Simulation model.

The Port Flow Analysis Tool, like the other tools, can be used to post-process measured flow bench results independently to obtain the flow coefficient of a port. These flow results or the associated database values can also provides the user with the port flow data for entry into the ‘user defined’ option within the Engine Simulations ports and valves data section. 

The Lotus Concept Valve Train, is an analysis tool intended to assist in the initial design and layout of a camshaft profile, from the layout of the segmented polynomial lift curve through to valve train static analysis and valve spring design. Specific templates pre-fill the designs with default data allowing the user to quickly produce a ‘basic’ design, then using some of the interactive editing and ‘joggle’ facilities changes can be made to improve and refine the design. Cam profiles produced can be exported in a number of ways to support other external applications like Adams Valve Train, or copied into a current engine simulation model.

Once the required selection has been made selecting ‘Ok’ or pressing ‘return’ will close the start-up wizard and open the application into either the appropriate simulation environment or tool. Selecting ‘exit’ or pressing the ‘escape’ key will simply close the start-up wizard and return the user to Windows.

+$#>Quick Start Guide - File Formats

Lotus Engine Simulation uses four file types for the storage of data and results. These are:

	*.sim :  Contains the engine model data 
	*.mrs : Text results file detailing modelled specification and simulation results
	*.prs : Binary plot data file containing crankangle resolved pressure, temperature, and mass flow data for last cycle of a steady state simulation
	*.trs : Binary or ASCII file containing data for a specific element over the entire duration of a transient or steady state simulation

The *.mrs file and the *.prs file can be viewed using the Results Module from the User Interface.  The *.trs file can be exported to a text file viewer or MS Excel.

+$#>Quick Start Guide - Generating a Model

Generating a model is the process by which the user identifies the modelling options required and sets the relevant data values. Each data element has its own property sheet that can be edited to reflect the component being modelled. Components are added by selecting them from the toolbar at the side of the window and then dragging them onto a workspace where components can be joined together, manipulated, selected and data can be entered for each individual component. A list of elements which may be connected to the element currently in focus is given at the bottom right-hand side of the interface. 

Once entered in a property sheet, data values are retained even when that sub-section’s window is closed; this data is only overwritten if a different data file is ‘loaded’ or the ‘new’ file option is selected. The ‘new’ file option returns all modelling option settings to default values.

A number of the data variables can be selected from a ‘combi-box’, this presents a fixed list of the available choices and helps to minimise data entry errors. The validity of the current defined data can be checked using the Data Checking Wizard which identifies by section, any data irregularities.

Spread sheet type forms are used for Port and Valve flow data, Compressor, Turbine and Intercooler maps, some Scavenge model options, and some of the Test Condition options, such as Heat Release, Fuelling, Boundary Conditions, and Friction. The spread sheets support ‘cut and paste’ type functionality via the right mouse button, which can be used to speed up repetitive data entry. If the individual cells of a spread sheet are ‘greyed out’ this implies that either the relevant option is ‘off’ or that the necessary spread sheet dimension(s) variable has not been set. Where multiple curves or maps are employed ‘arrow’ icons are used to step through the defined data sets. Where appropriate the graph icon can be used to open the graphical display of the data for viewing, listing, printing etc.

Existing data files can be loaded using either the file open icon, or by using the pull down menu options. Since the ‘*.sim’ data files are ASCII text files and can thus be edited direct, two tools are provided within the Lotus Engine Simulation code to allow the user to either view the file or view and edit the data file. A direct link exists between these tools and the model data windows to allow data to be transferred between them without having to write and load data files.

+$#>Quick Start Guide - Solving a Model

The quickest route to initiating a simulation run is to click on the Solver Control icon on the tool Bar or the Solver Control option in the drop-down menu under Solve. Both these actions open the Solver Control window, ensure the ‘ Submit Job’ panel is displayed by selecting this panel tab. This panel allows the input data file name and results file names to be defined and the job submitted.

The simulation is initiated by clicking on the ‘launch’ icon at the bottom of the window. The run status is displayed on the Dialogue Progress Bar. Note that the calculation cannot be started until names for the results files have been defined.

Selecting the ‘Job Status’ tab displays the status panel which summarizes the progress of the simulation. 

Selecting the ‘Job Messages’ tab displays the messages panel which lists the solver messages for the selected job and the summary results for any completed test points.

Selecting the ‘Settings’ tab displays the settings panel which enables the user to specify the location of the solver executable file and other solver settings.

+$#>Quick Start Guide - Viewing Results

The *.PRS Results Viewer is an alternative interface which allows the user to view crank angle – related results via a graphical method.  These results are created for each test point, every time a run is performed and consist of instantaneous crank angle predictions of temperature and pressure values within each component of the engine.

The Results File Viewer is a scrollable, resizable text window that allows the user to load, read and print the Lotus Engine Simulation text result file (the *.mrs file). The *.mrs file contains a summary of the input data and the major results pertinent to the solution run.

The Result Graph Viewer is a resizable graphics window that allows the user to load, plot and print results from the *.prs and *.mrs files. 

Within the window a maximum of four graphs can be plotted, either as individual plots or overlaid on a single graph. All graphs are plotted against a single common x-axis variable. Cross plotting of up to five graphical results can be employed to enable rapid presentation of trends and differences to be performed.

Once the calculation is complete the results either textual or graphical can be loaded into the appropriate window. 

For text results open the text results file viewer and load the required text results file, selecting load current will load the last runs text results.

For graphical results open the graph viewer and load the required graphical results file, selecting load current will load the last runs graphical results. Note that the Autoscale facility (accessed via the menu generated by the right mouse button) should be used when new data is displayed.

If the variables displayed need to be changed, open the specify graph axes window and set the required axes. The Autoscale. Zoom and Axis Scales functions can be used to manipulated the actual displayed area.

Additional functionality can be used to cross plot the results against a previous run, list point values and generate hard copies of the graphs.

+$#>Quick Start Guide - System Operating Requirements

The code has been developed for windows 98/NT 32bit only, on a range of machine specifications, and has shown reasonable speed on machines down to only 8MB of RAM and 75 MHz processor speed. It must be remembered that solver run times are directly proportional to processor speed and processor speeds of 500mHz should be considered the workable minimum. Whilst it is possible to run the application with the intra cycle results files turned off or set to a minimum, any serious use of the code will require the saving of these intra cycle (.prs) files. These .prs files can run to over 10mb per speed point for complex models with pipe intermediate results values being saved. Thus available hard disk space should also be reviewed.

The windows display settings that work best with this program is 'Small fonts', 'high colour 16 bit/24 bit' and min 800 x 600 desktop area, (256 colour mode will work with some loss of graphics). The use of 'large fonts' has been known to cause some graphics displacement and would not be recommended for use with this product.

+$#>Quick Start Guide - Licensing Errors

This application uses FLEXlm for its licensing. The necessary license file is not supplied with any installation CD, the license file being provided separately for security reasons. The password file is normally called ‘lotuspass.lic’ and should be saved to the same folder that the software has been installed to.

You will have one of three types of licence depending on your particular licence requirements/agreement.

1. Demo licence file, uncounted, time bombed
2. Node locked, uncounted, time bombed
3. Floating licence, counted, time bombed

{bmc bm885.bmp}

The first type is normally only issued for short evaluation periods as it is not restricted to a particular node. No special system installation is required for this type of licence. Simply save the licence file in the application folder, (normally c:\lesoft).

{bmc bm885.bmp}

The second type is the normal single non-server based installation, (i.e. single user’s PC). This again requires no special system installation, simply save the licence file to the application folder, (normally c:\lesoft). This node locked license requires the physical address of the host PC. The procedure for this is given below;

Windows NT Machines
Open the Command Prompt environment (DOS window) from the Start/Programs menu and, from the C: prompt, type:

	cd C:\WINNT\SYSTEM32 
Then type
	ipconfig /all > filename.txt

This will produce a text file named ‘filename.txt’. The physical address can be located in this created file.

Windows 98 Machines
Open a DOS window from the Start/Programs menu and, from the C: prompt, type:

	cd C:\WINDOWS
Then type
	ipconfig /all > filename.txt

The details required to produce the password file are contained in the file produced.

{bmc bm885.bmp}

The third licence type is a server based counted licence. Whilst this allows for network wide access to the licence files the creation of the server daemons requires system privileges and would thus need to be installed by the relevant IT support person. A floating licence will require the Server name and the Server name and the server id.

More information on using FLEXlm licensing as an end user can be found on http:/www.globetrotter.com web site under ‘enduser downloads’.

+$#>Text Results - Text Results Viewer - Overview 

The Results File Viewer is a scrollable, resizable text window that allows the user to load, read and print the text results files.  These text results files contain a summary of the input data, results data for each input operating condition and a tabulated performance summary.

Text results files have the form *.mrs where * is the Test No, or string supplied by the user.

When a simulation is performed, the results files are automatically written but are not loaded into the viewer.  This is unless the user specifies so by selecting the relevant option from the box which appears after the solver has completed it’s analysis.

A specific file can be loaded through the open command that uses the conventional file browser dialogue box, alternatively, if the results of the latest run are required, a specific command allows the current results to be loaded directly without requiring file browser.

The currently displayed text results files can be printed directly from the viewer window menu options using the standard Windows printer dialogue boxes.

The entire contents or a portion of the viewer display can be copied into another application such as Word or Notepad by use of the right mouse button functionality.

+$#>Text Results - Opening the Text Results File Viewer 

To open the text results file viewer, select Results / *.MRS Results / Results Viewer from the main menubar.  Alternatively the Text Results Viewer Icon can be selected from either the top toolbar or the side panel, depending on the data module set-up.

When the viewer is open, the icon remains indented and the pull-down menu item is ticked.

On initially opening the viewer, no text results are displayed.  These must be loaded into the display (see Loading a Text results File and Loading the Latest Text Results File).

+$#>Text Results - Closing the Text Results File Viewer

To close the text results file viewer, select either Results / *.MRS Results / Results Viewer from the main menu, the close icon at the top right corner of the viewer or the results file viewer window menu at the top left.  Alternatively the Text Results Viewer Icon can be un-selected from either the top toolbar or the side panel, depending on the data module set-up 

Closing the results file viewer does not lose the display contents.  Upon re-opening the viewer, the original text and position is retained.

+$#>Text Results - Loading a Text Results File

To load a specific text results file into the viewer, with the viewer open select the File / Open option from the viewer window menubar.  This will bring up the standard file browser with the default file filter being *.MRS.

Browse for the required file and select ‘open’, this file is then loaded into the viewer and will replace the existing components.

+$#>Text Results - Loading the Latest Text Results File

To load the latest text results file into the viewer, with the viewer open select the File / Load Latest option from the viewer window menubar.  If this menu option is ‘greyed’ out, it means that no solution had been run since the application was opened.

The current file is then loaded into the viewer and will replace the existing contents.

+$#>Text Results - Printing the Text Results File

To print the displayed text results file, with the viewer open select the File Print option from the viewer window menubar.  If this menu option is ‘greyed’ out it means that no text results file has been loaded into the viewer.

The standard Windows print dialogue boxes are then employed to perform the printing task.

+$#>Text Results - Copying the Text Buffer to External Applications

The entire contents or a portion of the currently displayed text results file can be copied and pasted into other external applications via the right mouse button functionality.

To copy the entire text results file from the viewer, with the viewer open and the required file loaded, click on the viewer with the right mouse button and chose Select All.  This will highlight the entire file and now when clicking on the viewer with the right mouse button the Copy option is available, select Copy.  The file is now held in the copy / paste buffer and changing to the target application the buffer can be pasted in using the appropriate application specific commands.

To copy a portion of a text results file from the viewer, with the viewer open and the required file loaded, click on the viewer with the left mouse button next to the required portion of text and holding the left button down, drag the mouse to highlight the portion.  Let go of the mouse button and this will select the highlighted region.  Next, click on the highlighted portion with the right hand mouse button and select Copy from the pop-up menu.  This then stores the highlighted portion of the text file in the buffer and can be pasted in using application specific commands.

Typical external Windows applications that this works with are Word, Powerpoint, Exchange and Notepad.

+$#>Text Results - Text File Data Contents

The text results file contains 4 main sections:

-	A Summary of Input Data for the Model,
-	Results Data for Each Test Condition,
-	A Tabulated Engine Performance Summary.
-	An echo of the input model.

0	The summary of input data shows all major data and options input into the model.

1	Results data sections are shown after brief test conditions descriptions.  The results data depends on the components of the model but generally the following sections are given:

-	Gas flow data is given and includes such data as air mass flows per cycle, scavenge ratios and efficiencies.
-	Fuelling data includes mass per cycle and equivalence ratio.
-	Trapped conditions data gives in-cylinder pressures, temperatures residuals and phase angles.
-	Performance data includes mean effective pressures, efficiencies and power.
-	Consumption Data gives Specific fuel consumption and thermal efficiency values.
-	Heat Transfer Data includes heat loss rate and fraction of fuel energy (both per cylinder).

At the end of the text results file, there is a Performance summary table.  This saves the user from having to list each performance curve every time performance values are required in a spreadsheet.  Instead, the table can be copied and pasted straight into the required application (see Copying the Text Buffer to External Applications)

+$#>Text Results - Extracting the Model File from the mrs File

The mrs results file now contain an echo of the input data appended to the bottom of the file. This provides a method of data integrity and allows for a model to be extracted from a specific results file.

This extraction can be performed either from the Results file viewer (acting on the currently loaded file), or directly from the main menu bar option ‘File / Extract Model from .mrs File’. In the case of the main menu bar option the user will be presented with the standard file browser to locate the required mrs file, you will then be warned of the potential loss of data as any existing stored model will be overwritten, before the model is extracted and loaded into the interface. The extraction from the currently displayed mrs viewer is identical except that there is no need for the file browser.

+$#>Text Results - Manipulating the mrs Text Display

Buffer Limit

The mrs results text display (along with a number of the multi-line text entries used in the application) has a buffer limit imposed on them. Should this buffer limit be exceeded users will find that the entire file may not be loaded, or in the case of editable multi-line entries, they will not be able to edit the text unless they first remove some text. This buffer limit can be manually increased through the main menu option ‘Setup ./ Text Displays -  Max Lines…’.

Coloured Display

The text in the mrs text results display can be coloured to help identification of the main results text, the summary results and the echo of the model file. Normally all of the file is displayed in black text. If the ‘Coloured Display’ option is set from the text viewer menu bar, then the summary results are coloured red and the model file is coloured green. This aids in identifying the relevant sections of the file as you scan through it.

Go to Summary

The user can jump to the concise summary listing in the mrs text results display by using the ‘Display / Go to Summary’ menu option. This saves the user from scanning through the text to locate this information.

Find /Find Next

The menu options ‘Display / Find’ and ‘Display/ Find Next’ can be used by the user to search for particular text fields within the mrs text display. The search is case sensitive.

+$#>Text Results - Extracting Summaries into Excel

mrs Text Result File Viewer

The concise summary information can be extracted from the currently displayed text file and loaded directly into Excel. This presumes that Excel is installed on your machine and that the path to it has been correctly initiated. The menu item ‘File / Extract Summary Results into Excel’ will not be available if the application was unable to locate Excel when first installed. This search for installed components can be re-run from the set-up menu if Excel has been subsequently installed or moved. Alternatively the path to Excel can be specified directly through the main set-up menu.

Provided the correct path has been supplied selecting the ‘File / Extract Summary Results into Excel’ menu will open a new excel worksheet containing the concise summary data extracted from the currently displayed mrs text file.

{bmc bm886.bmp}
Example Export of Data to Excel

#>Text Results Viewer Icon {bmc bm887.bmp}

+$#>ACycle Averaged Results (MRS) - Overview

Overview

The Results Graph Viewer is a resizable graphics window that allows the user to load, plot and print the graphical results files that contain up to 79 calculated variables. Within the window a maximum of four graphs can be plotted, either as individual plots or overlayed on a single graph. All graphs are plotted against a single common x-axis variable. Cross plotting of up to five graphical results can be employed to enable rapid presentation of trends and differences to be performed.

Graphical results files have the form ‘*.MRS’ here; ‘*’ is the Test No. string supplied by the user, it is displayed in the vehicle data window.

If a plot file with the same test number already exists, then the user will be asked if it is OK to overwrite the existing file.

When a Carps solution is performed, the results files are automatically written and when the run is complete, the option of loading the MRS or PRS files into the viewers.  If the user requires to view the graphical results and has not already specified this when asked at the end of the run, the graph viewer must be opened and the appropriate graph results file loaded. These can be loaded as ‘exclusive’ (i.e. the only results file), or into a selected position, from 1 to 5, within the cross plot status.

A specific file can be loaded through the Load Results (exclusive), the Load Results (shuffle) or the Load Results (position) commands that use the conventional file browser dialogue box.  Alternatively if the results of the latest run are required, a specific command allows the current results to be loaded directly without requiring the file browser.

All currently displayed graphs can be printed directly from the viewer window menu options, using the standard Windows printer dialogue boxes, whilst the data values can also be saved into an ASCII column file using the Column Write Wizard.

The axis settings for the graphs can be set individually by the user, or the autoscale and zoom functions used to define the graph settings.

The appearance of fonts, colours, line types etc within the plot can be modified by the user using the Setup option.

Apart from the graph viewer window, control of the graphs and their display uses three other set-up windows. These include the Specify Graph window to define the axes variables, the Axis Scales window to set the axis minimum and maximum values and finally, the Cross Plot Status window to control the varies files used within a cross plot.

{button ,AL(`list8',0,"",`main')} Related Topics 

+$#>Cycle Averaged Results (MRS) - Opening the Results Graph Viewer 

To open the results graph viewer, select the menu item Results / Results Graph from the main menubar. Alternatively the Results Graph Viewer Icon can be selected from either the top toolbar or the side panel, depending on the data module set-up. 

When the viewer is open the icon remains indented and the pull down menu item is ‘ticked’. 

On initially opening the viewer no graphical results are displayed, these must be loaded into the display, see Loading a graphical results file and Loading the current graphical results file.

{button ,AL(`list8',0,"",`main')} Related Topics

+$#>ACycle Averaged Results (MRS) - Closing the Results Graph Viewer 

To close the results graph viewer select either the menu item Results / Results Graph from the main menubar, the ‘close’ icon at the top right corner of the viewer, the results graph viewer window menu at the top left or alternatively the Results Graph Viewer Icon can be un-selected from either the top toolbar or the side panel, depending on the data module set-up. 

Closing the results graph viewer does not lose the display contents or setting. Upon re-opening the graph viewer the original graphs and set-up is retained. 

{button ,AL(`list8',0,"",`main')} Related Topics 

+$#>Cycle Averaged Results (MRS) - Loading a Graphical Results File 

To load a graphical results file into the results graph viewer, with the graph viewer open select from the graph viewer menubar either, File / Load Results (exclusive), File / Load Results (shuffle), or File / Load Results (position 1 -5). (note that results can also be loaded in as ‘current’ when appropriate, or through the Cross Plot Status window).

All three menu options will then proceed to display the standard file browser through which the required file may be selected, however depending on which load menu item was chosen the files data will be loaded into a different ‘cross plot’ position.

Up to five results file can be held by the graph viewer at any one time, and they are stored in positions 1 to 5.

‘Load Results (exclusive) will load the selected file into position 1, overwriting any values previously stored in position 1 and removing any data from the other positions 2 to 5.

‘Load Results (shuffle) will load the selected file into position 1, shuffling down one position any files currently held in positions 1 to 4. Any data held in position 5 is lost by this shuffling process.

‘Load Results (position) will load the selected file into the chosen position, overwriting any values currently held in that position. All other positions remain unaltered.

{button ,AL(`list8',0,"",`main')} Related Topics

+$#>ACycle Averaged Results (MRS) - Loading the Latest Graphical Results File 

To load the current graphical results file into the results graph viewer, with the graph viewer open select from the graph viewer menubar either, File / Load Latest (exclusive), File / Load Latest (shuffle), or File / Load Latest (position 1 -5). If these menu options are ‘greyed’ out it means that no solution has been run since the application was opened.

All three menu options will then proceed to load the current graphical results file data, however depending on which load current menu item was chosen the files data will be loaded into a different ‘cross plot’ position.

Up to five results file can be held by the graph viewer at any one time, and they are stored in positions 1 to 5.

‘Load Latest (exclusive) will load the current file into position 1, overwriting any values previously stored in position 1 and removing any data from the other positions 2 to 5.

‘Load Latest (shuffle) will load the current file into position 1, shuffling down one position any files currently held in positions 1 to 4. Any data held in position 5 is lost by this shuffling process.

‘Load Latest (position) will load the current file into the chosen position, overwriting any values currently held in that position. All other positions remain unaltered.

{button ,AL(`list8',0,"",`main')} Related Topics

+$#>Cycle Averaged Results (MRS) - Specifying the Graph Axes in the Results Graphs

The ‘Specify Graph’ dialogue box enables the user to select the required common x-axis and up to 4 different y-axis from the 77 results variables. In addition this dialogue box also contains ‘buttons’ to switch individual y-axes ‘on’ and ‘off’, switch ‘in’ and ‘out’ of overlay mode, ‘autoscale’ the plots and ‘refresh’ the displayed graphs.

To open the ‘Specify Graph’ dialogue box, select the menu item Results / Specify Graph from the main menu-bar.  Alternatively the Specify Graph Icon can be selected from either the top toolbar or the side panel, depending on the data module set-up.  If the Graphical results viewer window has been maximised to fill the screen, the Specify Graph dialog box can be opened by selecting View / Specify Graph.    

The dialogue box contains four switches to set individual y-axes as either ‘on’ or ‘off’’, these buttons cannot be set to ‘on’ until a variable has been selected from the adjacent list box.

Each axis has its own list box that the user can select the required axis variable from, these currently list 79 different calculated variables, from ‘Test No’ through to ‘Pipe Convergence (%)’.

Cross Plot

With each y-axis the user can cross plot an external data curve. This is intended for comparison with measurements etc. To add an external data cross plot enable the ss plot’ button on the ‘specify graph’ dialog box. Then choose to either load the data from a file using the browser, or enter the data in directly through the edit icon. Data loaded from a file needs to be flat ASCII column data with two columns, the first of which would be in the units of the current x-axis and the second column is the y data.

{button ,AL(`list8',0,"",`main')} Related Topics

+$#>ACycle Averaged Results (MRS) - Specifying the Axis Scales in the Results Graphs

The ‘Axis Scales’ dialogue box enables the user to control the required minimum and  maximum axis values for each individual graph, (with the restriction of a common x-axis), the No. of increments on each axis and the No. of decimal points used both on the axes and used for the list facility. In addition this dialogue box also contains ‘buttons’ to ‘autoscale’ the plots and ‘refresh’ the displayed graphs.

To open the ‘Axis Scales’ dialogue box select the menu item Results / Axis Scales from the main menubar. alternatively the Axis Scales Icon can be selected from either the top toolbar or the side panel, depending on the data module set-up.  Alternatively, the Axis scales window can be opened by selecting View / Axis scales from the MRS results graph menubar.

The dialogue box contains value entries for the minimum, maximum and increments for each axis, the user should set these to the required values. The ‘zoom’ and ‘autoscale’ functions will re-set these values as required. 

The No. of decimal places for each y-axis can also be defined this controls the number used not just on the graph axes but also the number of decimal places given when listing values.

The ‘force fit’ toggles can be used to overide the internal routines that attempt to round up the minimum and maximum axis to achieve a ‘better’ scale, such that when ‘ticked’ the axis will be set exactly as defined by the minimum/maximum/increments values, (this effectively already happens when a plot is zoomed with the exception of the no of increments).

{button ,AL(`list8',0,"",`main')} Related Topics

+$#>Cycle Averaged Results (MRS) - Using Zoom in the Results Graphs

To zoom a graph, with the graph results viewer open and the required graph displayed, select from the graph results viewer menubar the menu item View / Zoom. The cursor will change to a full screen cross-hair, then with the mouse select one corner of the required area with the left mouse button, let go and, then drag the rubber band box and select the other corner, again with the left mouse button. The display is then redrawn showing the selected area. Using the right mouse button for either of the selections cancels the zoom action.

If multiple y-axis graphs are displayed then the zoom function can be used in two different ways. Since the x-axis is common between the graphs setting the x-axis on one graph will also effect the other open graphs. In addition if the cursor picks are on both on the one graph that graphs y-axis values will be changed to reflect the zoom area picked. If the two cursor picks are on different graphs the y-axis values are ignored and only the x-axis is ‘zoomed’.

{button ,AL(`list8',0,"",`main')} Related Topics

+$#>ACycle Averaged Results (MRS) - Autoscaling the Results Graphs

To autoscale the displayed graphs select the ‘Autoscale’ option from one of the following dialogue boxes or window menus. 
		The Specify Graph dialogue box
		The Axis Scales dialogue box
		The Cross Plot Status dialogue box
	      and the Results Graph window menubar

This will autoscale all the displayed graphs and refresh the display. 

Also, the graphs can be autoscaled by pressing and holding down the ‘Control button’ and then pressing ‘A’ and releasing the ‘Control button’. 

{button ,AL(`list8',0,"",`main')} Related Topics

+$#>Cycle Averaged Results (MRS) - Controlling the Cross Plot Status in the Results Graphs 

Within the results graph viewer up to five different files can be displayed at any one time. These files could have been loaded through the graph viewer window menu, or they can be loaded into specific positions using the Cross Plot Status dialogue box.

To open the ‘Cross Plot Status’ dialogue box select the menu item Results / Cross Plot Status from the main menubar. Alternatively the Cross Plot Status Icon can be selected from either the top toolbar, the side panel or the results graph window, depending on the data module set-up. 

The cross plot status dialogue box shows the current files names loaded into the five positions. A blank entry implies no file is currently loaded. The file browser icon adjacent to each text box can be used to open the Windows file browser to locate and load the required ‘*.MRS’ file.

Currently the required filename cannot be typed directly into the text entry, but must be loaded through one of the methods identified.

The visibility of individual cross plot files is controlled by the buttons to the left of the text entries in the cross plot status dialogue box (Indented = Shown). 

Within the graphs the lines from each cross plot have a specific colour, the default colours are defined as; 
Position 1: Red  
		Position 2: Yellow
		Position 3: Green
		Position 4: Cyan
		Position 5: Blue

These settings can be re-defined by the user through the results graph set-up

The cross plot status dialogue box also contains autoscale and refresh buttons.

{button ,AL(`list8',0,"",`main')} Related Topics

+$#>ACycle Averaged Results (MRS) - Setting Up the Results Graphs

To view the Results Graph Setup window, select View / Setup from the Results Graph Window main menubar.

There are two sections within the Results Graph Setup window.  These are Plot Text and Plot Lines.  

‘Plot text’ allows the axes titles, fonts, colours, legend positions and scales to be specified by left-clicking on the relevant box and selecting the required option from the popup list or typing in the text / value as appropriate.  Other options such as ‘Auto Position’, ‘Grid Visibility’ and ‘Scale Text With Page’ can also be switched on and off by left-clicking on the appropriate check-box.

‘Plot Lines’ allows the properties of each plot line to be altered.  These include line colour, line type, symbol colour and symbol type.  These options can be changed by clicking on the relevant box and selecting the required option from the popup list.  Specific lines and symbols can be made visible or invisible by left-clicking in the cleck box to the right of the line or symbol options of interest.

Graph Axes (1-4) and Plot Lines or ‘Positions’ (1-5) can be cycled through by left-clicking on the back and forwards arrows at the top left of the relevant section.  The current Axis / position is displayed between these arrows.

+$#>Cycle Averaged Results (MRS) - Listing Points on the Results Graphs

To list the x and y value of a point displayed on a graph, with the graph results viewer open and the required graph displayed, select from the graph results viewer window menubar the View / List Point menu option. The cursor will change to a full screen cross-hair and the user can then pick the point of interest from the graphs using the left mouse button.

The actual x and y values of the nearest point to the picked screens x-position is listed at the bottom of the window for all open graphs. If more than one line is cross plotted only the values for the line in the first active position are given. 
 
The pick function remains active such that the user can continue to pick alternative points, the values for each pick overwriting the previous ones. 

To cancel the pick action use the right mouse button  

To change the Number of decimal places that are given on a list use the Axis Scales dialogue box to set the required accuracy. 

{button ,AL(`list8',0,"",`main')} Related Topics

+$#>ACycle Averaged Results (MRS) - Listing Lines on the Results Graphs

To list the x and y values of a line displayed on a graph, with the graph results viewer open and the required graph displayed, select from the graph results viewer window menubar the View / List Line(s) menu option. This will open a scrollable text window that displays the x and y values for the current graph line and position.

The currently displayed line or position can be changed by selecting from the line list menu bar the required graph and/or the required position.

If no data exists for the selected graph line  or position this is indicated on the display.

The displayed list can be ‘cut’ and ‘pasted’ using the right mouse button functionality.

This window must be ‘closed’ before you can return to the main application. 

{button ,AL(`list8',0,"",`main')} Related Topics

+$#>Cycle Averaged Results (MRS) - Using Overlay on Results Graphs

The default display method for a graph display with multiple y-axis, is that each will have its own separate graph within the viewer. These can be overlayed  such that they share a common single graph.

To switch between ‘separate’ and ‘overlay’ modes use the Overlay switch on the Specify Graph dialogue box. 

{button ,AL(`list8',0,"",`main')} Related Topics

+$#>ACycle Averaged Results (MRS) - Printing Results Graphs

To print the displayed graphs, with graph results viewer open and the required graphs displayed, select the View / Print Graph option from the graph viewer window menubar.

The standard Windows print dialogue boxes are then employed to perform the printing task. 

{button ,AL(`list8',0,"",`main')} Related Topics

+$#>Cycle Averaged Results (MRS) - Moving the Icon Toolbar

It is possible to move the icon toolbar at the top of the MRS results viewer window to any point on the screen.  This can be done by pressing and holding down the left mouse button with the pointer over the tab on the left hand side of the icon bar, then dragging the bar to the required position and releasing the mouse button.

If the user wishes to replace the icon toolbar onto the top menu, then it is necessary to press and hold down the left mouse button over the small area to the right of the icons.

#Specify Graph Icon {bmc bm888.bmp}

#Axis Scales Icon {bmc bm889.bmp}

#Cross Plot Icon {bmc bm890.bmp}

#Icon Bar Tab {bmc bm891.bmp}

#Icon Bar Area {bmc bm892.bmp}

#MRS Graph Viewer Icon {bmc bm893.bmp} 

#File Browser Icon {bmc bm894.bmp}

+$#>Crank Angle Based Results (*.PRS) - Overview

Overview

The .PRS Results Viewer allows the user to view *.PRS results files, which are created for each test point every time a run is performed.  These results consist of instantaneous crank angle predictions of temperature and pressure values within each component of the engine.  

If the ‘store all pipe data’ option in ‘Test Conditions’ has been selected before the run has been performed then it is possible to view the instantaneous crank angle results at each mesh point in the pipes.

+$#>Crank Angle Based Results (*.PRS) – Starting Results Viewer

Starting Results Viewer

In order to access .prs Results Viewer, either select ‘Module / Results Viewer’ from the main menu or click on the PRS Results Viewer Icon.  Alternatively, press Ctrl+F2 to access the .prs results viewer.

+$#>Crank Angle Based Results (*.PRS) – Exiting Results Viewer

Exiting Results Viewer

In order to exit Results Viewer and return to an alternative module, select Builder Interface from the Module menu with the left mouse button.  Alternatively click on the Network Builder Icon.

+$#>Crank Angle Based Results (*.PRS) – Viewing the Model

Viewing the Model

When in .prs Results Viewer, it is possible to view, zoom and translate the display in the same way as the Network Builder. It is also possible to select components of the system by clicking on them.  However, it is not possible to manipulate the model as is possible in Network Builder.

·	Network Builder Zooming
·	Network Builder Scaling the View
·	Network Builder Moving the View
·	Network Builder Visibility Options

+$#>Crank Angle Based Results (*.PRS) – Loading PRS Files

Loading PRS files

PRS files can only be loaded within the ‘Results Viewer’. 

Within the Results Viewer, the individual PRS file is loaded into the memory by clicking on the ‘PRS files’ option and then the ‘Add data’ option within the ‘Results’ menu. A number of PRS files can be loaded into the memory at any one time and displayed graphically. This is done by adding successive components in the same way. A complete list of components is available by clicking on the ‘PRS status’ option next to ‘Add data’.  This option also allows all stored *.PRS files to be removed and new ones to be added.

At the top of the screen there is an Open PRS Results File Status Icon and a Load PRS results file Icon which can also be used.

+$#>Crank Angle Based Results (*.PRS) – Viewing Graphs

Viewing Graphs

Once the relevant *.PRS files have been loaded (see Loading PRS Files), instantaneous crank angle graphs can be viewed for each part of the system by clicking on the component of interest.  The graphs automatically change to show the results for whichever component is selected.

Data relating to individual mesh points is available by activating the Pipe Mesh Visibility  option within the Network Builder ‘View’ menu.  Data for these points is only available if the ‘store all pipe data’ option is selected in the Test Conditions / Plotting section before the run is performed.

+$#>Crank Angle Based Results (*.PRS) – Specifying Graph Details

Specifying Graph Details 

It is possible to control the graphs displayed via the ‘.PRS Graph Status’ window.  This can be opened by either selecting Results/Graphs/Graph Status with the left mouse button, from the main Results Viewer menu or by clicking on the Open .PRS Graph Status Icon.  Alternatively, the ‘ PRS Graph Status ’ window can be opened by right clicking on the graph of interest and then selecting ‘Graph Status’ with the left mouse button.

{bmc bm895.bmp}
Graph Status Dialogue Box

In order to alter variables such as axis length, min and max values, axis decimal points, .PRS result and graph title, click on the name of the graph of interest (in the top left of the window) and then enter the required variables in the data entry boxes at the bottom.  

A number of prs variables are available for plotting, not all of which are relevant to each element type. This will lead to some elements being displayed in ‘grey’ on the builder when using shaded results display. This indicates that the selected result is not available for that particular component. An example of this would be selecting valve lift as the displayed variable resulting in only valve elements being appropriately shaded.

The following lists the available results for each element type;

	Cylinder:
Pressure
Temperature
Volume
Mass
Specific Gas Constant
Ratio of Specific Heats
Gas Viscosity
Density
Internal Energy
Combustion Energy Release Rate
Heat Transfer Rate
Displacement Work
Net Enthalpy
Cyl Head HT Rate by Unit Area
HT Coeff. Cyl Head
HT Coeff. Piston
HT Coeff. Liner
Cylinder Head Surface Temp.
Piston Surface Temperature
Liner Surface Temperature
Scavenge Ratio
Scavenge Efficiency
Trapping Efficiency
Charging Efficiency

	Valve:
Valve Lift
Valve Area
Flow CF
Poppet Valve L/D

	Port:
Flow CF

	Inlet:
Pressure
Temperature
Volume
Mass

	Throttle:

	Plenum:
Pressure
Temperature
Volume
Mass
Specific Gas Constant
Ratio of Specific Heats
Gas Viscosity
Density
Internal Energy
Combustion Energy Release Rate
Heat Transfer Rate
Displacement Work
Net Enthalpy

	Stop End:

	Turbocharger:
Turbine Power
Turbine Speed
Turbine Mass Flow
Turbine Pressure Ratio
Turbine Isentropic Efficiency
Turbine Shaft Speed
Compressor Power
Compressor Speed
Compressor Mass Flow
Compressor Pressure Ratio
Compressor Isentropic Efficiency
Compressor Volumetric Efficiency
Compressor Adiabatic Efficiency
Compressor Shaft Speed
Pressure Ratio

	Charge Cooler:

	Pipe:
Mass Flow Rate
Pressure
Temperature
Velocity
Fwd Riemann Variable
Rev Riemann Variable
Specific Stagnation Enthalpy
Fwd Comp. Pressure Waves
Rev Comp. Pressure Waves
Speed of Sound
Mach No.
Specific Stagnation Enthalpy X Mass Flow Rate

	Exit:
Pressure
Temperature
Volume
Mass

	Disc Valve:
Valve Area
Flow CF

	Reed Valve:
Valve Area
Flow CF

	Piston Ported Valve:
Valve Area
Flow CF

	User Valve:
Valve Area
Flow CF

	Varying Volume Plenum:
Pressure
Temperature
Volume
Mass
Specific Gas Constant
Ratio of Specific Heats
Gas Viscosity
Density
Internal Energy
Combustion Energy Release Rate
Heat Transfer Rate
Displacement Work
Net Enthalpy

	Supercharger:
Compressor Power
Compressor Speed
Compressor Mass Flow
Compressor Pressure Ratio
Compressor Isentropic Efficiency
Compressor Volumetric Efficiency
Compressor Adiabatic Efficiency
Compressor Shaft Speed

	Centrifugal Compressor:
Compressor Power
Compressor Speed
Compressor Mass Flow
Compressor Pressure Ratio
Compressor Isentropic Efficiency
Compressor Volumetric Efficiency
Compressor Adiabatic Efficiency
Compressor Shaft Speed

	Sensor:
Sensor Output
Sensor Input

	Actuator:
Actuator Output
Actuator Input1
Actuator Input2
Actuator Input3

+$#>Crank Angle Based Results (*.PRS) – Adding & Removing PRS Graphs

Adding & Removing PRS Graphs

In order to add a new *.PRS Graph to the display, open the ‘.PRS graph status’ window (See ‘Specifying Graph Details’) then click on the ‘Add’ button and enter the data or into the data entry boxes at the bottom of the window.  Alternatively, click on the Add .PRS File Icon at the top of the Results Viewer window and type the graph name and details into the data entry boxes.

If a graph is no longer required, once the ‘.PRS Graph Status’ window is open, click on the graph name and then on ‘remove’.  Graphs can also be directly removed from ‘Results File Viewer’ by right-clicking on the graph to be deleted and the selecting ‘Remove Selected Graph’ with the left mouse button.

To remove all graphs, select ‘Remove All’ from the ‘.PRS Graph Status’ window or ‘Remove All Graphs’ after right-clicking on any graph in the main Results Viewer window. 

+$#>Crank Angle Based Results (*.PRS) – Zooming Graphs

Zooming Graphs

The zoom option may by used to view a user specified section of the graphs. To use this option, right-click on a graph and click on ‘Zoom’ .  This brings up full screen cross-hares. The cross forms one corner of a rectangle and can be positioned by the user in the desired location on a specific graph. A click of the left mouse button will activate a rectangle, which can be resized by dragging the mouse. The area enclosed by the rectangle is the zoom area. A final click of the mouse button will scale the desired area so that it fills the graph axes.  Each of the other graphs displayed will automatically zoom to show the corresponding X-axis values.

+$#>Crank Angle Based Results (*.PRS) – Scaling Graphs

Scaling Graphs

Dynamic Scale

This option can be activated by right-clicking on a graph and then left-clicking on the ‘Dynamic Scale’ option.  Selecting this option brings up a magnifying glass symbol. Holding down the left mouse button and dragging the mouse will scale the view correspondingly. Releasing the mouse button will fix the scale of the graph display. 

Autoscale

Right-clicking on a graph makes two autoscale options available for the graph display.  ‘Autoscale Selected Graph’ automatically scales the chosen graph to fill the axes.  ‘Autoscale All graphs’ is similar to ‘Autoscale Selected Graph’ but does the same, as suggested, to all of the graphs in the display.  

+$#>Crank Angle Based Results (*.PRS) – Moving Graphs

Moving Graphs

Auto-Positioning

This option is activated by right-clicking on the graph display and then selecting either ‘Auto-Position 1 All Graphs’, ‘Auto-Position 2 All Graphs’ or ‘Auto-Position 3 All Graphs’.  The difference between these options is that Auto-Position 1 and 3 positions all graphs to totally fill the graph area and Auto-Position 2 fills the graph area with the first 2 graphs only.  

Pick Centre

The Network Builder workspace can be repositioned by the user as desired. ‘Pick Centre’ enables the user to define a point on the graph display. The interface will then translate the view so that this point becomes the centre of the screen.  To use this option, right-click on the graph display then left-click on ‘Pick Centre’.  A further click of the left mouse button will then set the centre of the graphs to the position of the mouse pointer. 

Translating the View

The graph display can be translated by selecting the ‘Dynamic Translate’ option after right-clicking on a graph.  Activation of the option will bring up a white hand on the screen. Holding down the left mouse button and dragging the mouse, will translate the graph display correspondingly.

+$#>Crank Angle Based Results (*.PRS) – Viewing Instantaneous Values

Viewing Instantaneous Values

The variation of a parameter with crank angle graph can be displayed for a particular engine component or pipe mesh point.  The component or pipe mesh point is selected by positioning the mouse pointer over the point of interest and pressing the left mouse button.  A magnifying glass icon will appear on the pipe network viewer, to indicate the selected point (two points can be viewed at once by clicking on the double magnifying glass icon and using the right mouse button to locate the second magnifying glass.  The curves for the second point will appear in grey on the graphs).  If View / Autoscale is selected form the menu-bar, the coloured contours on the pipe network viewer will scale based on the cyclic variation of the properties at the selected position.  The contours displayed in the pipe network viewer will relate to the selected property in the graph window.  A red border around the graph displaying that property indicates the property selected.  The selected property can be changed by pressing the right mouse button whilst the pointer is over the graph display.  A pop-up menu will appear and Graph Status should be selected.  The .prs Graph Status will appear and the parameter required should be selected from the list and the On Display button pressed.  Closing this window will then complete the selection procedure. 

+$#>Crank Angle Based Results (*.PRS) –  Prs Picking

PRS Picking

In its simplest form the picking on the prs results display is a mechanism by which the user selects the single component that they wish to display the chosen results for. This single picking mode is the default mode, picking being made with the Left mouse button.

The two magnifier icons on the toolbar indicate the overall prs picking status. For simple single picking, only the first icon with a single magnifier should be selected, (as illustrated below).

{bmc bm896.bmp}
Simple Single Pick Setting

The single pick position, (also referred to as focus point), is indicated on the network model by the magnifier symbol that has the handle drawn to the right. Its default colour is Red although the setting for this can be changed, (described later). The picture below shows a typical example of a simple single selection. The current graphs would thus display the results for this inlet component, (assuming that a prs file is loaded and graphs defined).

{bmc bm897.bmp}
Example Simple Single Pick Screen Shot

If the magnifier symbol does not appear either a component has yet to be selected, or the focus point visibility is set to ‘off’. To check the visibility status refer to the View / prs Focus Point menu item. This should be ‘checked’ as indicated below.

{bmc bm898.bmp}

Prs Echo Picking

The prs picking can be extended to show the results for more than one component at a time. This is termed ‘Echo’s’ and is enabled by selecting the second magnifier icon (the icon with two magnifiers on), as illustrated below.

{bmc bm899.bmp}
Echo Picking Enabled

With echo picking enabled the Right mouse button can now be used to select output from an additional component (or indeed, in the case of a pipe, a different position on the same component) and display the results for the additional component plotted together with the main ‘focus point’ component. The echo pick position is indicated on the network model by the magnifier symbol that has the handle drawn to the left. Its default colour is Green although the setting for this can be changed (described later). The picture below shows our simple example with the Echo point placed on the exhaust boundary component on the far right.

{bmc bm900.bmp}
Example Echo pick ‘on’ Screen Shot

Again the visibility of the Echo pick is controlled by the View / prs Focus Point menu item, the setting for this should be ‘checked’ if the symbol fails to appear once a selection has been made with the right mouse button.

Echo Pick Settings

The simplest form of echo picking is the single ‘fixed’ echo pick, i.e. each subsequent right mouse pick moves the echo point to the newly selected component position displaying just the main focus point and the new echo (this is the default way that echo picking is used).

It is possible to have up to 9 separate Echo’s, each with its own separate component selection. This makes for a potential total of ten traces on the prs graphs, where trace 1 is the main focus point, and traces 2-10 are the 9 potential echo positions. 

The default settings for the ‘fixed pick’ echo is to use the trace 2 index location. To change the settings of the echo picking we need to look at the ‘Echo Pick Settings’ dialogue box.

The settings dialogue box can either be opened through the ‘ Results / .prs Results / Echo Pick Settings…’ menu item or from the Echo Pick Settings… entry on the prs results graphs right mouse menu.

The Echo Pick Dialog Box

The prs Echo dialog box is shown below. It has an entry for each of the 10 pick positions, that lists its colour, its individual visibility, (this is over an above the global pick symbol visibility setting), the next pick position and a ‘zeroing’ button. This is where the colour settings for the individual echo lines/magnifier symbol can be changed (note that the colour of the magnifier symbol will match the colour of the line on the prs graph). In addition to the individual pick settings, at the bottom of the display are two toggles that switch between ‘fixed single’ and ‘rolling’ pick modes.

The example shown is for the default ‘echo’ settings, that is a single fixed pick with position 2 being the pick trace to use.

To change the next single pick to be for trace 3 (i.e. the cyan line) simply select the toggle for position 3 in the ‘pick’ column of toggles.

Had a component selection already been made with the right mouse button on pick set to trace 2, then a component selection made with it now set to trace 3 three lines on the prs graphs would be produced (assuming the graph result is valid for each picked component). The first for the main focus point, the second for the echo pick on trace 2 and the third for the new echo pick on trace 3.

Should you now wish to add another trace, change the pick to another position and select the required new component with the right mouse button.

If you now wish to remove from the display one of the previous selections, this can be done temporarily by turning that positions visibility ‘off’, or permanently by selecting the appropriate zero button. The zero button cancels the selection for that position until a pick selection is again made on that trace position.

{bmc bm901.bmp}
Default Echo Pick Settings

Rolling Pick

The rolling pick approach works in exactly the same way as with the single fixed pick, except that after each successful pick selection the pick position moves on to the next visible slot. Thus repetitive picking with the right mouse button will roll through each of the nine echo traces starting at the current pick trace position, incrementing through to position 10. When it gets to position ten it will then roll back to position 2 and repeat. The rolling pick will overwrite any previous selections made on that trace position as it rolls through. Trace positions that have their visibility set to ‘off’ are skipped during the rolling process.

You can revert back to single fixed picking at any time and any current picks will be retained and can be manipulated (i.e. zeroed, visibility changed etc), as

Animating the Contour Display

The coloured contours displayed on the pipe network can be animated.  This is done by clicking on the .prs Video Controller Visibility icon, as shown below.  The .prs Video Control window will appear.  This can be used to play, pause or step through the engine cycle.

{bmc bm902.bmp}
.prs Graph Viewer

Changing to Noise Display

The graph view can be changed to display sound pressure level / frequency spectra.

+$#>Crank Angle Based Results (*.PRS) – Sound Pressure Level Analysis

Activating the speaker icon on the .prs viewer Toolbar transforms the graphical display on the righthand side of the results display environment to show the instantaneous pressure variation with crankangle, sound pressure level (dB) / frequency spectrum, and sound pressure level / engine order spectrum at the location selected (see Theory section). Data from two points can be viewed at once by clicking on the double-speaker icon and using the right mouse button to locate the second speaker.  The curves for the second point will appear in grey on the graphs. Two additional panels will also appear giving the acoustical transfer function between the two points selected. This parameter represents the difference between the discrete sound pressure values between the two selected points.

{bmc bm903.bmp}

Placing the speaker sampling point marker over an exhaust tail-pipe or intake orifice generates a prediction of the radiated sound pressure level at a specified distance along a line projected at an angle of 45° from the pipe centreline axis. A monopole source model is used to convert the instantaneous velocity variation at the pipe end into a sound pressure level (see Theory section).

The Sound / Play Write icon on the Toolbar enables the user to listen to the noise generated at the selected point (or at the point defined beyond the tail-pipe / intake orifice). This signal can be recorded in .WAV file format. 

A screen-shot of the Sound Play / Write window is shown below. The Tail-Pipe Noise Settings window enables the user to define the location of the point at which the data is required.

+$#>Crank Angle Based Results (*.PRS) – Pipe Graphical Display (*.PRS)

Viewing Instantaneous Values Along Pipe

Once the relevant *.PRS files have been loaded (see Loading PRS Files), a window can be invoked to produce an animated display of the variation in properties along the length of the pipe, as shown below.  This window is invoked by positioning the mouse pointer over the graphs in the results module and then pressing the right mouse button.  A pop-up menu will appear and Display Pipe Graphic should be selected.  The parameter displayed along the pipe will be that displayed in the selected graph in the results module. The menu option will be greyed out unless the selected component is a pipe.

To view the results in this display the graph icon must be selected. The length and offset of the Y-axis can be controlled through the pull down menus. In addition a number of the standard prs graph functions can be accessed directly from this window. The results/display for any attached pipes can also be displayed at the same time by selecting ‘Attached pipes’ icon or using the ‘View / Visiblities’ menu. The display will need to be autoscaled to include the other pipes within the displayed region.

The animation of the display is shown below. The control consul allows the user to control the animation.

The standard print, copy and export functions are fully supported.

Users should not that the window title indicates not only the central component selected but also the result currently being displayed.

{bmc bm904.bmp}

+$#>Crank Angle Based Results (*.PRS) – Listing Line Values

Listing Line Values

In order to list the crank angle data from the results graphs, either left click on ‘Results / List Line values’ from the main Results Viewer menu or right click over a graph and select ‘List Line Values’ from the menu which appears.  

Once line values have been listed, it is possible to copy the values from the list
for use in Excel spreadsheets etc.  This is done by positioning the mouse pointer at the top left of the values of interest, pressing and holding down the left mouse button and dragging the mouse down and to the right to highlight the required values.  Once this has been done, let go of the mouse button to select the highlighted values.   

+$#>Crank Angle Based Results (*.PRS) – Printing the Results Display

Printing the Results Display

In order to print the displayed graphs, left click on ‘Results / Print Results Display’ from the main Results Viewer menu.  This will activate the standard Windows Print window. 

+$#>Crank Angle Based Results (*.PRS) – User Defined Graph Function

User Defined Graph Function

The prs graphs have a number of standard instantaneous results that can be selected from the results and displayed against crank angle, such as pressure, mass flow, temperature etc. The user can also define their own graph(s) as combinations of the other defined graphs.

To define a user function graph open the ‘.prs graph status’ dialog box. Define the ‘standard’ results that you require within your user function, for example pressure in two positions. Then add a new graph and select its result as ‘User Function’ (see example below).

{bmc bm905.bmp}

The user function can then be defined using Fortran syntax using the other graphs as data fields in the format statement. To edit the user function select the ‘Edit Function’ button on the graph status display (see below).

{bmc bm906.bmp}

The use of ‘F1’, ‘F2’ etc to represent specific lines on a defined graph should be noted. They refer not only to a particular parameter on the graph but also the particular pick instance, i.e. main focus, echo 1, echo 2 etc. The user function can be tested with unity values via the test function. Users should avoid functions that may result in a dived by zero. Once you are happy with the function select okay to create new line. This setting can be re-edited if required at a later stage via the same graph status window.

+$#>Results - File Export Facilities

The Lotus Engine Simulation code provides facilities to output data in a form compatible with third party software. Data can be exported from within the Lotus Engine Simulation environment itself, or from the Lotus Concept Valvetrain environment.

Data can be exported from within the Lotus Engine Simulation environment when the .PRS results viewer is open. The drop-down File menu on the Toolbar enables the user to select the Export Data option and this generates the window shown below:

{bmc bm907.bmp}

The option is available to write either Cam Profile or Gas Force (cylinder pressure) data in a variety of file formats. The type of data required (cam profile or cylinder pressure) is specified in the ‘Select Export Type’ box. 

Gas Force Data
If the Gas Force option is selected the user is required to specify the cylinder number from, the units in, and the number of decimal places to, which the data is required. The user then chooses a filename is able to write the data to this file using the ‘Write File’ button.

Pre-defined file formats in which the data can be written include those compatible with Adams Engine and the Lotus Concept Crank code. In addition an ASCII text file can be generated.

The .PRS file from which the cylinder pressure data is taken can be specified if more than one engine speed point has been generated in the Lotus Engine Simulation.

Cam Profile Data
If the Cam Profile option is selected the user is required to specify the valve number from, which the data is required. 

 If the Export Data facility is initiated from within the Lotus Engine Simulation environment the ‘Export Style’ menu options are limited to only writing cam angle and valve lift data. 

If the Export Data facility is initiated from within the Lotus Concept Valvetrain environment the ‘Export Style’ menu options include:

·	cam angle and valve lift data [phi_lift_data (valve)];
·	cam angle and cam lift data [phi_lift_data (valve)];
·	cam angle and cam radius data [phi_rad_data];
·	cam surface co-ordinate data [xyz_data] 

Writing the File
The user then chooses a filename is able to write the data to this file using the ‘Write File’ button.

Pre-defined file formats in which the data can be written include those compatible with Adams Engine and the Lotus Concept Crank code. In addition an ASCII text file can be generated.

#Network Builder Icon {bmc bm804.bmp}

#Open PRS Results File Status Icon {bmc bm908.bmp}

#Load PRS Results File Icon {bmc bm909.bmp}

#Add New PRS Graph Icon {bmc bm910.bmp}

#Cycling Icons {bmc bm911.bmp}

#Exit Icon {bmc bm912.bmp}

#How to store all pipe data. {bmc bm913.bmp}

#.PRS Results Icon. {bmc bm914.bmp}

#Standard Interface Icon. {bmc bm915.bmp}

#{bmc bm916.bmp}

#{bmc bm917.bmp}

#Open PRS Results File Status Icon {bmc bm918.bmp}

+$#>Solver - Overview

A simulation is set up for ‘launching’ using the Submit Job tab from the Solver dialogue box. To open the solver dialogue box select Solve/Solver Control from the drop-down menus, or the Solver Control icon on the Toolbar. This dialogue box has four tabs.

·	Submit Job
·	Job Status
·	Job Messages
·	Solver Settings

Up to 20 jobs can be submitted from the interface via the Solver Control window. When a job has been submitted its status can be monitored via the Job Status display panel.

The input data can be checked before commencement of a run by the Data-Checking Wizard which can be started from the Tools section of the drop-down menus. 

The text and graphical results can be viewed in the Results Module using ‘built-in’ post-processing options. 

+$#>Solver - Submit Job

To launch a model

·	click on the Solver Control option within the drop-down menus under Solve,
or
·	click on the Solver Control Icon from the Toolbar.

Either of these actions opens the Solver Control window, change to the Submit Job panel which provides the option to load the data currently held by the interface or to load an existing data file using the file browser icon which is located to the right of the text box. Note that loading of an existing .sim file to run from the Batch Control window will not replace the .sim file loaded in the Data Module.

Up to 20 batch files can submitted in this manner. If multiple simulations are to be set up and run concurrently it is useful to enter a label for the run in the text box at the top of the window. This label appears in the Job Status Display window.

Before the simulation can be launched the names of the results files must be entered in the appropriate text box windows. The names of the *.mrs and *.prs results files can be specified in the Batch Control window. These names can be determined by:

·	entering the desired results file names directly in the text windows;
·	assigning the same name as the *.sim file (‘Use .sim’ button)
·	assigning the same name as the Test Number specified under the Base Engine window (‘Use testno’ button);
·	using the file browser (initiated by the icon on the right of the text window) to select the name of an existing results file. Note that a warning will be issued that this option will overwrite the existing data in the file chosen.

There are options to display a prompt on the completion of a run and to display the run status in the dialogue box progress bar. The default for both these options is to be ‘on’.

Once a simulation has been launched it is possible to monitor its progress through the Job Status Display window.

+$#>Solver – Job Status

The Job Status Display window can be invoked from either the Solver Control Icon on the Toolbar or from the Solver Control option on the Solve drop-down menu. Change the display to the Job Status panel.

The number of active runs, or ‘jobs’, is displayed in this window together with, run type (steady state or transient), the label associated with the particular run, the input data file name, and the results file names. If more than one run is active at any time the top set of arrow buttons can be used to toggle between the runs.

Job progress monitors in the form of Percentage Complete, Elapsed Time (in seconds) since the start of the particular job, and an estimate of the time Remaining (in seconds) are displayed. The number of current jobs and the time remaining till the next job is expected to finish are also displayed in the bottom right-hand corner of the main GUI window.

The current Test Number, Cycle Number, and Crankangle can be monitored from this window. For each engine cylinder there the evolution of the following variables can be tracked:

·	maximum cylinder pressure (Pmax);
·	volumetric efficiency (%);
·	convergence of the cycle averaged mass flow rates through the inlet to the cylinder;
·	convergence of the cycle averaged mass flow rates through the exhaust to the cylinder;
·	start of combustion (SOC).

{bmc bm919.bmp}
Standard Status Bar Chart Display

‘Floating’ black bars show the maximum and minimum values of the above parameters and the values at the end of the previous cycle are displayed by a floating white bar. The current value of the parameter is given numerically below the ‘x co-ordinate’ of the graphs.

Data for each cylinder can be obtained by toggling using a set of arrow buttons.

{bmc bm920.bmp}

Trs Sensor Plot Files

In addition to the standard bar chart display the user can also view dynamically the output from any current model Sensor Plot TRS files on the Job Status display. The sensor plot is used to output specific user required results to a file during the complete simulation run. This can be used to monitor progress of values during the analysis. To change the display to an x-y graph of a Sensor plot pick from the ‘Select Required display’ selection box the required Sensor Plot.

If the sensor plot x-y graph display simply states ‘plot file not found or invalid’ check that the sensor plot file name has been correctly defined and is not held open by another application.

{bmc bm921.bmp}
trs file Graphical Display – Solver Status

A number of menu options are available to control the display of the sensor plot via a right mouse pop-up menu. (Tip need to click within the graph region with the right mouse button to get the menu to appear).

Legend Visibility: Controls the visibility of the legend box that identifies the individual line colours used for each plot channel.
Use High/Low Watermark: Controls the y-axis scaling arrangement. If this option is not checked then only the values currently shown on the rolling display are used in the automatic y-axis scaling. If this option is checked, then the automatic y-axis scale is based on the complete time history not just the visible portion.
Max. No. of Points to Display: Allows the user to define the maximum number of points held on the display. The default value is 5000.
Show Y-axis Values for: If you have more than one ‘Y’ channel in the plot file by default the first channels y-axis scale is displayed. The user can switch the y-axis scale between the available y-channels.
Copy to Clipboard: Copy the current graph display to the clipboard for pasting into applications.
Print Graphical Display: Print the current graph display. Opens the standard print dialog box.
Export Graphical Display: Export the current graph display. Prompts for target file name, and creates a windows metafile.
Show trs Listing: Change the display to list the actual values rather than the graphical x-y display of the trs file.
trs Listing Decimal Points: Control the number of decimal points used to display the trs values.
Show trs Graphs: When viewing the trs results in numerical form this menu item takes the display back to the x-y graph display of the trs file(s).

{bmc bm922.bmp}
trs file Numerical Display – Solver Status

+$#>Solver – Job Messages

The Job Messages Display window can be invoked from either the Solver Control Icon on the Toolbar or from the Solver Control option on the Solve drop-down menu. Change the display to the Job Messages panel.

Job Messages are used to display for a currently running job a scrollable spread sheet display showing the summary values of the currently completed test points. This lists Speed, Brake Power, Brake Torque, BMEP, BSFC and Volumetric efficiency.

A second scrollable display provides a history of any associated solver messages for the currently displayed run. If more than one job is currently running then the arrow keys can be used to toggle between the jobs.

+$#>Solver – Solver Settings

The Job Status Display window can be invoked from either the Solver Control Icon on the Toolbar or from the Solver Control option on the Solve drop-down menu. Change the display to the Solver Settings panel.

This panel provides access to a number of solver settings:

Exception Handler: By default this option is ‘checked’. This will cause the solver to trap any unforeseen solver crashes that otherwise could potentially cause Windows to ‘hang’ or ‘crash’. If this option is not checked an un-handled fail would produce a traceback statement that may be useful for debuging, but obviously with the risk of a system crash.

Executable Location: The user can point to a specific solver executable by selecting the ‘User Defined Executable File’ toggle and entering, (or browsing for), the required executable path and file name. Normally this option would be set to ‘Default Executable File’ and this would cause the GUI to look for ‘lesolve.exe’ in the same folder as the GUI was started in.

GUI / Solver Communication: The interval between the solver and the GUI attempting to communicate with each other during a job run is controlled by the two variables given here. Unless a specific problem has been encountered these should be left at the default values of 3000 for the GUI Status Update Interval and 300 for the Solver Status Write Interval.

Debug Msg Level: A feature introduced at version 5.03 which can be used to provide varying levels of solver messages. At Level 4 this provides a message at every subroutine entry. This is only intended for use by experienced users and support staff only, since the files created can be extremely large.

+$#>Solver – User Subroutines

A number of data elements within the simulation model can make use of user subroutines to perform specific calculations, either to replace the default algorithm contained in Lotus Engine Simulation or to extend the simulation capability.

The components that currently have user subroutine options are;

·	Sensors and Actuators - 1D Control Element   [21]
·	Sensors and Actuators - 2D Control Element   [22]

·	Cylinder – Piston Motion   [31]
·	Cylinder – Open Cycle Heat Transfer   [41]
·	Cylinder – Closed Cycle Heat Transfer   [51]

·	Test Conditions – Friction Mean Effective Pressure   [61]

It is envisaged that this list will be increased with future releases to allow greater user control over the solution process. The bracketed numbers are the Class ID numbers, each user subroutine having a unique class number. This number is passed to the subroutine as one of the arguments such that the required algorithm can be applied. This will be covered in more depth later.

The source for the user subroutines is all contained in two source code files that are provided with the installation of Lotus Engine Simulation. Namely Usersubs.for and Usersubsc.cpp, being the Fortran and C versions. Both are pre compiled as Usersubs.dll and Usersubsc.dll to enable the application solver to run.

The user can mix the use of both Fortran and C subroutines within a single model as each instance of a user subroutine requires not only the Class ID, but a unique Case ID number and a flag setting to use either Fortran or C.

To make use of a user subroutine requires two basic steps. Firstly the required model element must be edited through the interface to point to a user subroutine, then the users subroutine must be added to the relevant source file (usersubs.for or usersubsc.cpp) and the source file recompiled into a dll.

Because the user subroutines are contained in a separate Windows dll file, no recompilation of the main solver is required. The new dll can simply replace the default ones provided with the install. (This compatibility holds provided the main subroutine ‘External_Subs’ remains at the top of the file as the first subroutine and its argument list is not changed).

The default dll’s have been compiled with Salfords FTN95 v1.60 for the Fortran version and Windows Visual C++ 6.0 for the C version. Both are converted into dll’s using Salfords SLINK v1.28c. Users who experience problems creating their own compatible dll’s should seek assistance from their Lotus Software Agent.

Initiating a User Sub from the Model

The selection of a user subroutine within the interface varies slightly for each of the individual instances.. A description of each user subroutine initiation is given below.

The sensors and actuators user subroutines [21 and 22] are selected simply by dragging these particular control components from the relevant toolkit.

{bmc bm923.bmp}
Selecting the 1D Control Element User Sub

{bmc bm924.bmp}
Selecting the 2D Control Element User Sub

The cylinder piston motion user subroutine [31] is selected via the property sheet for the particular cylinder(s).

{bmc bm925.bmp}
Selecting the Cylinder Piston Motion User Sub

The cylinder open cycle heat transfer user subroutine [41] is selected via the open cycle heat transfer dialog box, that is opened from the property sheet for the particular cylinder(s).

{bmc bm926.bmp}
Selecting the Cylinder Open Cycle Heat Transfer User Sub

The cylinder closed cycle heat transfer user subroutine [51] is selected via the closed cycle heat transfer dialog box, that is opened from the property sheet for the particular cylinder(s).

{bmc bm927.bmp}
Selecting the Cylinder Closed Cycle Heat Transfer User Sub

Common Data Requirements:

Whilst each user subroutine will have unique specific relevant data passed to it, (see next section), they all have a common requirement in terms of user definable data. This common data is identified below.

User Sub Id number – This is the unique case number that identifies which particular instance of a Class should be used. For example you can have a number of different user friction models that are all members of the 61 class but each has it own unique case number, ie. 1001,1002 etc. The user must enter an integer number that defines the required case number.

User Sub DLL Type – This is a menu selection with two options, Fortran or C++. This will identify which of the two dll’s to call for this particular instance of the user sub. There is now requirement for all of the user subroutines in a simulation model to refer to the same type of dll, i.e you can mix Fortran and C++ user subroutine instances in one model.

User Sub Arguments – This is a list of up to twenty real constants that can be edited by the user. These are passed to the user subroutine and provide a way of not only varying values for use in the subroutine without the need to recompile, but also store those settings with the model file for subsequent re-runs. Each user subroutine argument has a description that can be edited and will be saved with the model data to aid in understanding the use of the variables either later or by others.

Individual Data Availability:

 Each user subroutine will also have a number of the simulation model data variables,  (calculated or model properties), passed to it that have been deemed potentially useful for the particular subroutine these are listed below. Data could be passed either through the double precision array or the single precision array, this will be identified for each.

Sensors and actuators, 1d user subroutine [21]
                     Single Precision
	1, The input parameter to the control element.
	2, Crankshaft speed, (rpm)
	3, Crankshaft angle (deg)
	4, Current cycle No.
	5, Current Test Point No.
	6, Cycle Time (s)
	7, Transient Time (s)

Sensors and actuators, 2d user subroutine [22]
                      Single Precision
	1, The 1st input parameter to the control element.
	2, The 2nd input parameter to the control element.
	3, Crankshaft speed, (rpm)
	4, Crankshaft angle (deg)
	5, Current cycle No.
	6, Current Test Point No.
	7, Cycle Time (s)
	8, Transient Time (s)

Cylinder piston motion, user subroutine [31]
                      Single Precision
	1, Cylinder number
	2, Crankshaft speed (rpm)
	3, Crankshaft angle (deg) 
	4, Current cycle No. 
	5, Test point No. 
	6, Angle with respect to cylinder
	7, Con rod length (m)
	8, Crank throw (m)
	9, Piston pin offset (m) 
	10, Bore (m)              
	11, Compression ratio
	12, Clearance vol (based on CR)
	13, Cylinder pressure at prev TSTEP (N/m2)
	14, Cylinder temp at previous TSTEP (K)
	15, Cylinder volume at prev TSTEP (m^3)
	16, Piston mass (kg)
	17, Piston pin mass (kg)
	18, Connecting rod mass (kg)
	19, Total reciprocating mass (kg) 

Cylinder open cycle heat transfer, user subroutine [41]
                      Single Precision
	1, Head temperature       (K)
	2, Liner temperature      (K)
	3, Piston temperature     (K)
	4, Head area              (m^3)
	5, Liner area             (m^3)
	6, Piston area            (m^3)
	7, Bore diameter          (m)
	8, Mean piston velocity   (m/s)
	9, Marker (IOPEN), 1 if open part of cycle, 0 otherwise
	10, marker (IBURN) 1 if between start of combustion and EVO, 0 otherwise 
                      Double Precision
	1, Gas temperature        (K)
	2, Gas pressure           (Pa)
	3, Gas viscosity          (kg/m.s)
	4, Gas density            (kg/m^3)
	5, Gas cp                 (J/kg.K)
	6, Time step               (s) 

Cylinder closed cycle heat transfer, user subroutine [51]
                      Single Precision
	1, Head temperature       (K)
	2, Liner temperature      (K)
	3, Piston temperature     (K)
	4, Head area              (m^3)
	5, Liner area             (m^3)
	6, Piston area            (m^3)
	7, Bore diameter          (m)
	8, Mean piston velocity   (m/s)
	9, Marker (IOPEN), 1 if open part of cycle, 0 otherwise
	10, marker (IBURN) 1 if between start of combustion and EVO, 0 otherwise 
                      Double Precision
	1, Gas temperature        (K)
	2, Gas pressure           (Pa)
	3, Gas viscosity          (kg/m.s)
	4, Gas density            (kg/m^3)
	5, Gas cp                 (J/kg.K)
	6, Time step               (s) 

Cylinder Friction mean effective pressure, user subroutine [61]
                      Single Precision
	1, Engine speed (rev/sec)
	2, Mean piston speed (m/sec)
	3, Swept volume (individual cyl.) (m^3)
	4, Bore diameter (m)
	5, Stroke (m)
	6, Compression ratio
	7, Number of cylinders
	8, Peak cylinder pressure (Pa)
                      Double Precision
	1, Instantaneous cylinder pressure (Pa)
	2, Instantaneous cylinder temperature (K)
	3, Instantaneous cylinder volume (M^3)  

Individual Returned Values:

Each user subroutine is expected to return a number of results back to the main solver routine. A description of each user subroutines required returns is given below. As for passed arguments these may need to be passed back in either the single precision array or the double precision array, this is identified below.

Sensors and actuators, 1d user subroutine [21]
                     Single Precision
	1, The single returned output from the control block.

Sensors and actuators, 2d user subroutine [22]
                      Single Precision
	1, The single returned output from the control block.

Cylinder piston motion, user subroutine [31]
                      Single Precision
	1, Piston Volume m3

Cylinder open cycle heat transfer, user subroutine [41]
                      Double Precision
	1, Heat transfer to head (J)
	2, Heat transfer to liner (J)
	3, Heat transfer to piston (J)

Cylinder closed cycle heat transfer, user subroutine [51]
                      Double Precision
	1, Heat transfer to head (J)
	2, Heat transfer to liner (J)
	3, Heat transfer to piston (J)

Cylinder Friction mean effective pressure, user subroutine [61]
                      Single Precision
	1, Friction FMEP (bar)

Example User Subroutines:

The user subroutine source code provided has examples for each of the Class instances of a user subroutine. Users should review the source files to gain a better understanding of the structure and argument lists employed.

+$#>External Interfaces - Simulink
Overview

Lotus Engine Simulation is supplied with a toolkit of control elements, whilst these are suitable for simple control operations such as Variable Valve Timing (VVT) and Variable Geometry intake systems (VG), more complex control problems such as complete closed loop engine controllers require more specialized tools. One such tool is Matlab’s Simulink, which is being widely used in all forms of engineering simulation.

To allow Lotus Engine Simulation to use this external tool a link is required that allows the two programs to co-simulate. Co-simulation uses a documented standard that allows separate applications from different vendors to run simultaneously, sharing data in a two-way communication stream.

{bmc bm928.bmp}
External Interfaces Toolkit Tab

The external interface is added to the Engine Simulation model as an element from the ‘External Interfaces’ tab on the toolkit. It can be moved and connected to the model just like any other builder element. The Engine Model treats the Simulink interface element as a separate processor that sits between sensors and actuators. Thus the only allowed connections to the simulink interface element are wires from sensors on the signal in-side the and wires to actuators on the signal out-side, as shown in the example below.

{bmc bm929.bmp}
Example Simple LES Model with Simulink Element Connected

The connection to the engine simulation model is made within the Simulink model by adding the LES link element, which is a masked S-function, to the simulink model. This element orchestrates the link between simulink and the LES solver. The Lotus Engine Simulation install will normally add these additional elements to the Simulink Library Browser. This mask is connected to the Simulink model in the normal way through a ‘mux’ and ‘demux’ block. The settings for the target LES data file, solution file names, run type and solution type are set through the properties of this mask.

{bmc bm930.bmp}
Example Simple Simulink Model with LES Element Connected

The association of the Lotus Engine Simulation (LES) sensors and actuators to the relevant connections to the ‘mux’ and ‘demux’ Simulink blocks is made within the LES interface through the ‘drag and drop’ connections dialogue box opened from the simulink interface element property sheet.

{bmc bm931.bmp}
LES view of Simulink Connection

The S-Function blocks added to the Simulink model use matlab ‘m’ files (supplied in the LES install) to create and control the co-simulation (com) link between Simulink and LES. Although these files are man-readable they should not be edited by the user. Two alternative ‘m’ files are provided to support the two alternative solution options. The solver can be run in either fixed or varying time step modes.

The co-simulation analysis is started from Simulink in the same way as a normal Simulink run. Whilst the job is running the interface solver status windows can be used to monitor the run in the same way as a normal LES job by using the ‘scan’ feature to locate the LES run log file.

The LES solver used for the co-simulation is a modification of the standard solver. An additional C++ wrapper has been added to provide the necessary interfaces and procedure entry points for the com standard. This alternative solver (filename lesolveCpp.exe) needs to be added to the system registry in-order for the executable to be identified by the com events.

The LES com interface is licensed separately from the standard solver and users wishing to use this interface should check for the relevant licensed feature, (solver-external).

+$#>Simulink – Adding Simulink to the Engine Model

To provide the Lotus Engine Simulation (LES) end of the co-simulation with Simulink the Simulink external interface element is added to the LES model. This can be located on the ‘External Interfaces’ tab of the toolkit or directly via the Edit / Add / External Interfaces pull down menu item.

{bmc bm928.bmp}
External Interfaces Toolkit Tab

Select the Simulink element from the toolkit and drag it into your model. This element has two connection points indicated by small black squares of the normal harness connection points. The arrows indicate the direction of data in to Simulink from the LES sensor outputs and data from Simulink to the LES actuator inputs.

{bmc bm932.bmp}
Connections to Simulink External Interface Element

+$#>Simulink – Adding LES to the Simulink Model

The LES external interface mask is added to the Simulink model to orchestrate the co-simulation between Simulink and Lotus Engine Simulation (LES).

The LES install should have added an additional section to the Simulink Library Browser called ‘Lotus Engine Simulation’.  This contains ‘example files’, ‘LES Solver Links S-functions’ and ‘Special S-functions’.

{bmc bm933.bmp}
Simulink Library Browser – Lotus Engine Simulation Section

If this section does not appear in the library browser the user can add them by adding the path in which they are located to the Matlab path file.  This can be done from the Matlab command line using the ‘addpath’ command. You will need to add to the front of the path definition string the path to the Lotus Engineering software install folder on your local machine and the subfolder that contains the LES supplied Simulink components. This would typically be;

		C:\Lesoft\matlab_components

Thus the Matlab path statement can be modifeied by typing the following at the Matlab commoand prompt

		addpath (‘C:\Lesoft\matlab_components’)

To check that this has modified the Matlab path file simply type ‘path’ at the Matlab command prompt. This will invoke a list of the current directories specified in the file.  The newly added directory should appear at the top of this list.

The components can also be loaded directly by opening the ‘LES_components.mdl’ file located in the LES ‘matlab_components’ sub folder.

The ‘LES Solver Links S-functions’ contains two S-function masks, one for a varying time step solution and one for a fixed time step solution, (see next section for a further discussion). With the target Simulink model open, select the required S-function and drag it into your Simulink model in the normal way.

{bmc bm934.bmp}
Simulink Library Browser – S-Functions

With the S-function mask added to your Simulink model you can connect in the normal way to the existing connections points. The default S-function has four outputs, (signals from LES sensors) and five inputs, (signals to LES actuators). It is not necessary to use all available connections nor to fill in any particular sequence, the actual connectivity is resolved later from within the LES interface.

{bmc bm930.bmp}
Simulink Model – Illustrating Partial Connectivity

If you require more connections that the default s-function provides, increase the number by opening the S-function mask (‘double clicking’ on or right mouse menu ‘Look under mask’), then selecting either the ‘mux’ or ‘demux’ as required, select from the right mouse menu ‘Block Parameters’. The number of outputs (or inputs) can now be increased as required. Additional ‘in’ and ‘out’ connection points will need to be added in the same way as the existing to provide the connections from the mask to your simulink model.  These can be simply added by ‘copying’ and ‘pasting’ the existing connections.

{bmc bm935.bmp}
Simulink Model – Editing the Number of Ports

The ‘stop’ connection to the first position on the Demux must not be removed as this allows the LES solver to control the solution run end point.

S-Function Data Setting

The S-function mask properties define a number of settings used to pass to the Lotus Engine simulation solver. These can be edited by double clicking on the mask, this opens the Block parameters box.

{bmc bm936.bmp}
Simulink Model – Editing the S-function Properties

The first parameter defines the Lotus Engine Simulation model file to use, this should include the full pathname and would normally have a *.sim extension.

The second field defines the output *.mrs file name. The full pathname is not compulsory for this field. If omitted it will be created in the same folder as the data file.

The third field defines the output *.prs file name. The full pathname is not compulsory for this field. If omitted it will be created in the same folder as the data file. As with a normal LES run if multiple speed points are calculated a *.prs file will be created for each speed with the appropriate integer number appended to the supplied file name.

The forth and fifth fields together defines which test points to run. The options include a steady-state single speed point, steady-state power curve, or transient. Obviously for a particular test to be selected it must exist in the LES model file. To run a single steady-state speed point enter the required LES test point number in field 4 and enter a zero in field 5. To run a complete steady-state speed sweep set the test point number in field 4 to zero and enter a zero in field 5. To run a transient analysis enter the required steady state start test point No. in field 4 and the required transient test case No. in field 5.

S-Function Types

Two LES S-function masks are supplied to support either ‘Fixed-Step’ or ‘Varying-Step’ solution modes, (this solution type is set from the Simulink main menu option Simulation / Simulation parameters. The two LES S-function names are ‘Lesolve_Engine_Fixed_Time’ and ‘Lesolve_Engine_Vary_Time’. These m-file S-functions are located in the ‘matlab_components’ subfolder of the LES install. It may be necessary to copy them into the same folder as your Simulink model file to ensure that Simulink will find them when it runs, (this requirement may vary depending on your particular system settings variables and matlab installation).

The fundamental difference in the operation of these two m-files is the number of times the LES solver loops through before returning values to Simulink. The LES solver does not operate with a constant calculation time-step size, the time step continuously being refined to balance run time against solution accuracy. Thus, if you choose to run Simulink in fixed time-step mode Simulink passes to the LES solver the required time at which it requires LES to next return the sensor values. LES will run till it reaches this time, modifying the LES solution time step if necessary to match the target time. In this mode Simulink controls the time-step increment at which the Simulink model is updated.

If you choose to run in variable time-step mode LES will modify its time-step as per a standalone calculation at each calculation step it will return sensor values back to Simulink and set the next time-step value based on the current LES solver time-step. Thus in this mode the Simulink Model is updated every LES solver time-step and the LES solver defines each incremental time-step size based on its internal calculation rules. Typically the ‘varying time-step’ mode takes significantly longer to run because of the increased amount of com ‘traffic’ between the two applications.

+$#>Simulink – Creating connections in LES

To make the connections to the Simulink model, first add the required Sensor and actuator connections to the Simulink external interface element in the LES builder. Your Simulink model needs to have been created with the Lotus Engine Simulation S-function block added and saved to a file.

Select the Simulink external interface in the LES builder and in its property sheet identify the Simulink model file (*.mdl). Use the browse feature if necessary to locate your saved Simulink model file.

To define the connections open the ‘Connections Edit/Display’ window from the property sheet. This will search for and read the defined Simulink model file and identify the number of connections to the LES S-function masks mux and demux blocks.

{bmc bm937.bmp}
Creating Connections in LES

Initially the display shows no connections between the identified mux/demux ports and the internal LES sensor and actuators. To make the required connections select the arrowhead of the required sensor and drag it to the required demux port. To remove a sensor to demux connection selected the connected arrowhead and move it back to the unconnected position. In this way all of the sensors can be connected to the required demux ports.

Similarly the actuator connections are made by selecting the arrowhead of the required mux port and dragging it to the required actuator connection.

It is not necessary to fill all the ports or fill in any particular order provided that you connect to the ones linked in the Simulink model.

{bmc bm938.bmp}
Completed Connections Display

Once complete exit the connections display and save your model. You must remember to save the model since Simulink runs the saved file and not that in the LES interface memory.

+$#>Simulink – LES Solver Requirements

The LES solver used for the co-simulation is a modification of the standard solver. An additional C++ wrapper has been added to provide the necessary interfaces and procedure entry points for the com standard. This alternative solver (filename lesolveCpp.exe) needs to be added to the system registry in-order for the executable to be identified by the com events.

Registring

To register the solver open the Solver Control display in LES and select the ‘Solver Settings’ tab. The executable that needs to be identified in the registry is lesolveCpp.exe. This will be in your Lesoft Install folder. Standard users will have the toggle next to ‘Default Executable File’ checked, this then allows the interface to look for the solver in the same folder that it was started from. This also allows the interface to look for the Com solver in the same way when you register it. Thus if the ‘Default Executable File’ toggle is checked simply select the ‘Register Solver’ button to carry out the Registry update. If you are using an alternative default solver location and have the ‘User Defined Executable File’ option set. Then you must first point the user executable at the required lesolveCpp.exe file.

{bmc bm939.bmp}
Registering the Solver

When you select the ‘Register Solver’ button you will be asked to check that the file name and path is correct before carrying out the Registry update. You will be informed of a successful completion. If you do not receive the ‘success’ message check with your local IT support for specific site variations and to check you have the necessary privileges. You will only need to register the solver once on a particular machine. Subsequent solver updates will need to be re-registered to be effected. This registration is only necessary if you want to use the Com interface link. The standard solver (LesolveFtn.exe) does not require to be entered into the registry as it does not support com interfaces.

{bmc bm940.bmp}
Successful Registration of the Solver

Licensing

The LES com interface is licensed separately from the standard solver and users wishing to use this interface should check for the relevant licensed feature, (solver-external). To check view your licence file (normally lotuspass.lic) in any text editor such as notepad, ensure you don’t change any of the text. The external com interface requires the FEATURE ‘solver-external’ to be present. If you are not licensed on this feature refer to your local support.

Memory Requirements

The com enabled solver requires a significantly higher machine memory than the standard solver. The recommended amount is 256 mbytes of RAM.

+$#>Simulink – Running a Simulink Co-Simulation

The standard route to creating the LES-Simulink co-simulation models has been outlined in the preceding sections;

Adding Simulink to the Engine Model
Adding LES to the Simulink Model
Adding Connections in LES
LES Solver Requirements

Having been though the steps outlined in each of these sections the co-simulation job is run from Simulink in the same way as any other Simulink model. 

Define the run time and correct type in the Simulink simulation parameters dialogue, Simulation / Simulation Parameters. Selecting either ‘Fixed-Step’ or ‘Vary-Step’ as required. The Simulation ‘Stop Time’ should be set sufficiently large that the run is stopped by the LES solver rather than by Simulink. LES uses the ‘Stop’ connection on the Demux connected to the LES S-Function mask to end the run once it has completed the speed point, speed sweep or transient run. If the Simulink ‘Stop-time’ stops the run before the LES has finished a warning is given in the Matlab command window.

{bmc bm941.bmp}
Simulink Model – Simulink Solution Parameter Setting

During the co-simulation run any warning messages generated by the Simulink S-function will be displayed in the Matlab command window. This includes any checks on data file location/existence and suitability of selected test points etc.

Once the required data file and test points have been identified, (see Adding Simulink to the Engine Model), to start the run select Simulation / Start from the top menu bar of the Simulink model window. The simulation should then proceed displaying the % complete along the bottom. Note that because of the Stop time setting being greater than the required LES run time (to ensure LES controls the end point), the % bar will not normally reach 100% before the Simulink run ends.

{bmc bm942.bmp}
Simulink Model – Example Simulink Run Model

Should your model not start to run or the run fails partway check the following;

Is the solver registered.
Are you licensed to run LES and the LES external interface.
Does the LES model run standalone, (i.e. without the Simulink co-simulation).
Can Simulink find the required S-function m-files, (try copying the ‘Lesolve_Engine_Vary_Time.m’ or ‘Lesolve_Engine_Fixed_Time.m’ files to the same folder as your data file.)
Have you defined the full pathname for the data file.
Try starting Matlab from (or ‘changing directory to’ via the Matlab command window) the same folder as your target LES *.sim file.

If the co-simulation job crashes the LES solver can sometimes be left as a live process. As only one Com version of the LES solver can run at a time subsequent attempts to run the LES Com solver will fail until the old process has been deleted. To check for this and to delete the process depends on the version of Windows being used. The example given below is for Windows NT, other versions of Windows follow similar route but with slight differences in display.

To check for a hung LES solver process, open the task manager using Ctrl + Alt + Del and selecting the ‘Task Manager’ option. Select the ‘Processes’ tab and look for ‘LESOLV~1.exe’ (or ‘lesolveCpp.exe’). If located select and using the right mouse select from the options menu ‘End Process’.

{bmc bm943.bmp}
Failed Run – Using Task Manager to End Process

+$#>Simulink – Monitoring a Co-Simulation from LES

The monitoring of a LES – Simulink co-Simulation can be carried out using the same tools in LES as for a standalone LES simulation. The ‘Job Status’ panel on the LES Solver Control display can be used to the LES side of the co-simulation using either the conventional bar chart display or any available trs plots. The ‘job Messages’ section can also be used in exactly the same way as for a standalone run.

Because the analysis is not started from within LES the ‘prompt on completion of job’ option will not function.

The LES job status monitoring uses the simulation log file to track progress. For a standalone LES run the monitoring of this log is initiated as part of the job submission. For a co-simulation run, because it is initiated by Simulink, LES does not know to start monitoring the log file. Thus to monitor a co-simulation run you need to point the interface at the log file. To do this once the job has been started from Simulink, return to the job status panel in LES and select the ‘Scan’ button. The file browser will open in your Windows ‘Temp’ folder where the log file is located. The co-simulation log file is always given the index 99 to indicate the difference between it and the standalone simulation log files that increment from ‘1’. Select the log file ‘_Engin_Batch99.log’ from the browser. The status display will now show the status of the current co-simulation job.

{bmc bm944.bmp}
Job Status – Using the Scan Feature to locate co-simulation log file

+$#>STL Viewer Overview - Introduction

{bmc bm945.bmp}

Introduction

The STL (Stereolithography) viewer tool is a utility provided as an optional add-on to the Lotus Engine Simulation (LES) program. Its purpose is to read STL data files in either Binary or Ascii format and provide a tailored 3d viewing and manipulation environment. This environment allows the user to not only measure dimensional data for use in defining element components in an engine simulation model, but also to provide a semi-automated method of directly creating these model components. Currently pipes, plenums constant pressure junctions and pressure loss junction elements can be created directly from the STL model and added to any current LES model.

Facets

The basic building block of an STL file is the triangular facet, and is supported by most major CAD packages as a standard export option. Unlike previous universal node and element type formats, (i.e. Ideas universal file), there is no nodal positions with labels and then association of facets to these nodes via their label. Each facet within an STL file is self-contained in that all three of its vertices are defined. For most standard meshes this means that a large amount of duplication exists since one vertex will normally be connected to six facets and hence defined six times.

The STL viewer can work from vertices, edges or facets to create additional facets, profiles, skin groups and then from these LES model elements such as pipes and plenums. The normal hierarchical approach is to use facets, (either from a file or created via vertex picking), to create closed profiles. These profiles are then connected to form skin groups from which pipes or plenums are created.

Profiles

This key element of ‘profile creation’ can be performed in a number of ways, from simple vertex picking, through edge picking to using defined plane cuts through the model. The plane cuts can be in a global plane, (x-y, x-z or y-z), defined by a position, or through a plane defined by three points.

Pipe Skin Group

A pipe skin group is a collection of profiles that are connected in sequence to use for creating an equivalent 1D pipe. The order of profile selection is important as it defines the assumed sequence along the pipe length. Pipe skin groups can be used in two different ways for the equivalent pipe creation. The first just takes the ‘as defined’ profiles for the pipe definition, i.e. cross section area at lengths, whilst the second option creates intermediate profiles by tracking the facets from one profile to the next and cutting at right angles to the path direction. 1D pipe elements can then be created from pipe skin groups produced via either option.

Volume Skin Group

A volume skin group is similarly created from a series of closed profiles. Grouped together they will define the boundaries of a volume in the STL model. The order of selecting is not important for creation of a volume skin group. Volume skin groups can be used to produce 0D plenums, pipe constant pressure junctions or pipe pressure loss junctions.

{bmc bm946.bmp}

+$#>STL Viewer - Quick Start Guide

Introduction

This section is intended to briefly identify the route to generating the Engine Simulation model elements from a simple STL model.

Open the STL viewer by selecting the appropriate option from the start-up screen, (or can be found under the tools menu from within Lotus Engine Simulation).

Loading Files

Normally we would use an existing STL file and create the model elements from this. For tips on successfully loading STL files see AppSetup Options. In particular large models will require the internal array size to be set to provide acceptable speed and stability, (see AppSetup / Set Memory Facet Array Limit). For this quick start we will use an internally created simple STL model.

Add Cylinder

From the Add menu, select Add / Cylinder and accept the defaults. To ensure the created faceted cylinder is visible select View / Control / Autoscale. Change the view type to depth buffered, (View / Fill Style / Depth Buffered), and rotate the view round using the View / Control / Rotate View. For tips on viewing control see View Options. If you have problems viewing the STL model in Depth Buffered mode it may be due to Hardware limitations on OpenGL support. Further information on dealing with display settings is given in View Options.

{bmc bm947.bmp}

Create Profiles

For a simple cylinder like this we can easily identify the end profiles by carrying out a free edge check, (use Create / Profile / Find Free Edges and Auto-Create Profiles), as a more general and thus relevant alternative we will use the plane through a picked point approach. Select Create / Profile / X-Y Plane, Pick Vertex Z and to create two profiles by selecting a point at each end of the pipe, (note that during a pick event like this you can modify the view by typing ‘z’ and rotating, translating and scaling views in the normal way). Creation of profiles is controlled by tolerances between points, planes etc. the settings for which can edited via AppSetup / Tolerances.

{bmc bm948.bmp}

Create Pipe Skin Group

Any facet or feature that is currently selected is drawn highlighted in ‘red’. As the profiles were created they have been added to the ‘current’ pick items list, (this pick list can be emptied via Select / Clear All Picks). With the two created profiles still highlighted we can create a pipe skin group. Select Create / Pipe Skin Group / from Current Profiles.

The created pipe skin group indicates at each end the assumed directions of the pipe elements, i.e. in our simple case they will point inwards towards each other. In more complex pipes it is possible for the auto-detection of direction to be incorrect, for example with bends having a large angle. The end directions can be set by-hand using the Modify / Skin Group End Directions.

{bmc bm949.bmp}

Create 1D pipe

The created pipe skin group can now be used to create an equivalent 1D pipe. Two basic create types are available, the first just uses the current picked profiles to define the pipe sections, whilst the second cuts intermediate profiles at a prescribed distance to add additional sections to the created 1D pipe. For this simple constant diameter example the first method would be adequate but to illustrate the ease of use of the second option we will use that. An extended visualisation option is available that deletes from the model facets that define the created equivalent 1D pipe. This provides a visual method of identify portions of the model that have been converted to the equivalent 1D (or 0D) component. It does not change the detail of the created pipe and may be switched off via AppSetup / Identify 1D Pipe Associated Facet.

To create the pipe select Create / 1D Pipe (equiv) / from Current Pipe Skin Group (add interim profiles). Set the target Section length to 20 mm and accept the remainder of the defaults. This will now proceed to cut the additional sections and remove associated facets as it goes.

{bmc bm950.bmp}

Pipe Properties

The properties of the created 1D pipe can be viewed in a property sheet , (similar to that in the main Engine Simulation interface). To turn the property sheet visibility on select View / Property Sheet option.

{bmc bm951.bmp}

Adding to Simulation Model

To add the created 1D pipe to the current engine simulation model select the option File / Make Current (close). This will copy over the created pipe properties close the STL viewer and return (or open) the main LES interface. The conversion to the LES model requires a reduction from 3D pipe end geometry down to 2D screen positions. The method used is to project the current view into a 2D plane and scale and translate these positions into LES grid co-ordinates. Thus users should manipulate the 3D view to maximise the model ‘viewability’ of the created image.

This same simple procedure can be extended to convert complete manifolds to their equivalent components usually employing the use of ‘ groups’ to provide easy stages of conversion.

+$#>STL Viewer – File Formats

The method for importing facet geometry into the STL viewer is through the STL file. Both ASCII and binary formats are supported via an auto-detection routine.

The STL File Format

The .STL (stereolithography) file is the de-facto standard CAD representation for Rapid Prototyping (RP). It was established by 3D Systems in the late 80s. The .STL format of a CAD model is a faceted surface representation, i.e. a list of the triangular surfaces with no adjacency information. This is the standard input for most RP systems. There are two format for .STL files: binary and ASCII which differs as follow:

·	Binary .STL file 
The binary .STL files format consists of an 80 bytes header used to describe the solid contained within the file, then 4 bytes represent the total number of facets in the file. A facet is described as follow: the first 12 bytes (3 x 4 bytes) represent its normal, the next 36 bytes (3 x 3 x 4 bytes) represent its (three) vertices, then two unused bytes are padded to achieve a block size of 50 bytes.

·	ASCII .STL files 
ASCII files use keywords and are self explanatory. The ASCII .stl file must start with the lower case keyword solid and end with endsolid. Within these keywords are listings of individual triangles that define the faces of the solid model. Each individual triangle description defines a single normal vector directed away from the solid's surface followed by the xyz components for all three of the vertices. These values are all in Cartesian coordinates and are floating point values. The triangle values should all be positive and contained within the building volume. The normal vector is a unit vector of length one based at the origin. If the normals are not included then most software will generate them using the right hand rule. If the normal information is not included then the three values should be set to 0.0. There is a variety of errors in ASCII files that do not appear in binary files. For instance, it happens that keywords are either skipped of extraneous, hindering the extraction of data. Here's an example of an .STL ASCII file:
solid Solidname
facet normal 9.838605e-01 3.226734e-02 1.760037e-01
  outer loop
    vertex   -1.070000e+02 0.000000e+00 1.816000e+02
    vertex   -1.060000e+02 0.000000e+00 1.760100e+02
    vertex   -1.070000e+02 1.200000e+00 1.813800e+02
  endloop
endfacet
facet normal 9.824255e-01 9.205564e-02 1.623759e-01
  outer loop
    vertex   -1.070000e+02 1.200000e+00 1.813800e+02
    vertex   -1.060000e+02 0.000000e+00 1.760100e+02
    [...]
  endloop
endfacet
[...]
endsolid
 
The file extension *.STL is assumed for both Binary and ASCII STL files.

{bmc bm952.bmp}

Work Files

Since STL files only store the Facet geometry any user created groups, profiles etc wou ld be lost on a save/re-read of an STL file. To store the complete situation within the STL file viewer a specific ‘work’ file format has been implemented. This Binary file format has the Facet information stored at the top of the file with all other graphics primitives, (such as profiles and skin groups) appended to it. The exact format is not defined here as it is specific to Lotus Engine Simulation only and changes maintained by an internal file version number.

The file extension *.wrk is used as the default file extension for files of this type.

‘Egg Crate’ Files

One use of the STL viewer is to produce a regular grid mesh of nodes from the current defined STL model. The regular grid file has been termed ‘Egg crating’ in-line with similar techniques employed by other products in the RP field. 

This file contains the x,y,z nodal positions of the created ‘Egg Crate’ followed by either a zero or a 1 to indicate whether this nodal point has an intersection with one of the original STL file facets, (1=inrtersection, 0=no intersection).

The file extension *.grd is used as the default file extension for files of this type.

{bmc bm953.bmp}

STL File Reading and Saving

STL files are loaded via the File / Open… menu item. This will remove all existing facet and related data before loading the new model. Alternatively a model contained in a STL Files can be added to the current viewed model via the File / Add… menu option. 

To save the current model to an STL file select File / Save STL As / BINARY STL… or File / Save STL As / ASCII STL… as required.

As with most Windows applications the last five STL files opened/saved are appended to the bottom of the File pull down menu. The file names are saved as part of the overall applications ini file, and enables rapid re-opening of a previous file after restarting the application.

Work File Reading and Saving

To load a previously saved work file select File / Load Local Work File… this open the standard Windows file browser, locate required file and load. To save the current model status including all created primitives, group information and facet status select, File / Work File Save As … locate required folder and enter file name.

‘Egg Crate’ File Writing

To write an ‘Egg Crate’ file select, File / Write ‘Egg Crate’ Grid File… locate target folder and enter the required file name. Note that this menu option is only enabled once the ‘Egg Crating’ has been performed.

+$#>STL Viewer – File Units

An STL file does not contain any units of length information. Thus facet vertices can be in any user defined units. To enable the conversion routine to equivalent geometry and allow property/area calculations to be performed the actual used unit of length is required. The default assumption is for all positions to be defined in millimetres. This can be changed to either metres or inches.

To change the units select File / STL Units (Length) / mm or File / STL Units (Length) / m or File / STL Units (Length) / inch as required.

+$#>STL Viewer – Closing the Viewer

The STL Viewer can be closed in a number of ways. The response to some of these closure methods can depend on how the STL viewer was opened.

If the STL viewer was opened from the StartUp Wizard then use of either of the ‘standard’ Windows closing techniques, (i.e. top left Close Alt+F4 or top right ‘x’), will close the complete application, (complete means STL viewer and the underlying Lotus Engine Simulation calling routine). In addition the ‘ESC’ key will perform a similar function and behave in a similar way when the STL viewer is opened from the StartUp wizard.

If the STL viewer had been opened from the Tools pull down menu from the main Lotus Engine Simulation window then all the above options would close the STL viewer and return to the Lotus Engine Simulation window from which the STL viewer was opened.

The following pull-down menu items have a consistent response irrespective of how the STL viewer was opened.

	File / Close (return to simulation) will close the STL viewer and return to, (or open), the main Lotus Engine Simulation (LES) builder window. If this option is ‘greyed’ out or missing then you are not currently licensed (or a license free in the case of counted licenses) for Lotus Engine Simulation. Any created 1D pipes or 0D plenum information will not be copied into the current LES model.

	Make Current (close) will close the STL viewer and return to (or open) the main LES builder window. As for the option above the availability of this menu item is subject to licence restrictions. The ‘make current’ implies that any 1D pipes or 0D plenums will be added to the current LES model, with the user being required to define the extent of the mapping between the STL viewer window and the LES builder environment.

	File / Exit will close the STL viewer and any underlying main LES window. All required data changes should be saved prior to exiting the application.

+$#>STL Viewer – Controlling the View

Introduction

The appearance of the display is controlled and enhanced via a set of menu items (and icons) found in the View pull-down menu.

The STL 3D viewer supports display options from simple wire frame through to hidden line depth buffered displays. The visibility of individual graphic entities can be switched independently of each other. Dynamic viewing is available using the mouse to translate, scale and rotate.

Although the dynamic view options can be invoked directly from the relevant menu it is useful to able to modify the view in the middle of some sequential graphical feature selection. This is done by using the ‘Z’ key to allow a single dynamic view event such as rotate to be applied, before returning to the graphical feature pick mode. Where this is available the prompt in the lower scrollable text display will indicate its availability via the ‘(Z = change view)’ prompt. The dynamic view type that it will switch temporarily to indicated by the current icon selection and can be changed at any time by selecting the required modes icon.

View Control

The displayed view can be dynamically manipulated using the following pull-down menu items;

	View / Control / Translate View Using the mouse left button press and hold down whilst moving the mouse. Translates the displayed view in the direction that the mouse is moved.

	View / Control / Scale View Using the left button press and hold down whilst moving the mouse vertically. Moving the mouse upwards reduces the size of the displayed image, (i.e. zooming out), whilst moving the mouse downwards increase the image size, (i.e. zooming in). Horizontal movement of the mouse is ignored in this control mode.

	View / Control / Rotate View The action of this mode is different depending on the cursor position when the initial left mouse button is pressed. If the cursor is towards the middle of the screen when left mouse button is pressed and held down, movement of the mouse changes the view orientation by moving the eye position whilst retaining the view target and the view up direction, (i.e. the view axis is rotate about the target point). If the cursor is towards the edge of the screen when the left mouse is pressed and held down, cursor movement rotates the view ‘up’ vector about the current view axis.

	View / Control / Pick View Centre changes the view target point by user selection of a currently visible facet vertex. This will appear as a translation of the model, but also it will place the current view target to have the x, y and z value of the selected facet vertex and hence dynamic view rotations will be about this new picked point.

	View / Control / Zoom changes the viewed region. The user must select two points to define the required reduced viewing volume. The picked region is modified to retain the correct aspect ratio that contains the picked region. The region pick can either be by two separate left mouse button presses, or via a single press and hold down to drag to the required region.

	View / Control / Autoscale resets the view scale and translation properties to ensure all visible facets appear within the viewing region. The Ctrl+A key combination acts as a shortcut to this menu item. This action will also reset the view target point to the mid point of all three directions, i.e. x, y and z.

Fill Style

The display fill style can be set to one of four available options. (note that the depth buffered option is not supported on Windows GDI type frame display, see later description under Graphics Frame Type for further information).

The fill style is changed either through the View pull down menu or the equivalent icon on the toolbar.
 
	View / Fill Style / WireFrame sets the view type to simple wire frame display. No facet fill is used.

	View / Fill Style / Filled sets the view type to filled. No depth buffering is used and thus all facet edges are visible irrespective of view depth.

	View / Fill Style / Hidden Line sets the view type to a hidden line display. This has depth buffering to hide hidden facet edges with facets filled in background colour.

	View / Fill Style / Depth Buffered (flat shaded) sets the view type to hidden line display as for the option above but the facets are filled with the defined default colour (green).

Component Visibilities

The visibility of individual graphics types can be controlled independently. These switch settings are toggled via the relevant pull down menu item under View / Visabilities. The graphics elements whose visibility can be toggled in this way are;

		Vertex
		Edge
		Facet
		Profile Points
		Profile
		Skin Groups
		1d Pipes
		0d Plenums
		Virtual Links
		Loss Junctions
		Triad
		Origin Marker
		Bounding box
		‘Egg’ Crate

Standard Views

Whilst in theory dynamic viewing allows you to view the model from any angle, it is often convenient to be able to quickly revert to a standard view. Three ‘standard’ views are available from the menus that align the viewing axis along each of the Cartesian axes.

	View / Std Views / x-y aligns the viewing axis along the z-axis such that the model is viewed in the x-y plane.

	View / Std Views / x-z aligns the viewing axis along the y-axis such that the model is viewed in the x-z plane.

	View / Std Views / z-y aligns the viewing axis along the x-axis such that the model is viewed in the z-y plane.

Free Edges

A number of modelling options rely on the ability to detect ‘free edges’. These are facet edges for which no direct connection can be identified to another facet’s edge. Because STL files contain no nodal connectivity, (instead each has its own vertex co-ordinates defined directly), the Free edge check has to be identified via a difference method based on real numbers rather than integer based nodal connectivity. Thus the free edge check uses a tolerance for identifying coincident points, (The tolerance value for free edges can be changed via the AppSetup / Tolerances pull down menu option).

Under the View pull down menu is an option to identify model free edges using the current detection tolerances. Free edges will be identified with a red circle drawn at free edge centre and the free edge itself is also highlighted.

An example of the use of free edge detection is in the direct creation of closed profiles. If a model has a number of clearly defined free tube ends, profiles can be created directly on them all in one go.

Background Colour

The default background colour can be changed to any user required setting. Users should avoid certain dark colours as this may lead to certain graphics features not appearing in the display.

{bmc bm954.bmp}

	View / Set Background Colour opens a standard Windows RGB editor that allows the background colour to be re-defined.

OpenGL vs GDI Graphics Display

By default the STL viewer uses a graphics display based around an OpenGL driver. This driver will attempt to use the available OpenGL capabilities of the hardware to improve the speed and quality of the displayed image. If the hardware is unable to support certain features of OpenGL the graphics driver defaults to software emulation. This can lead to slow redraw speeds or in severe cases missing features.

For hardware that does not adequately support OpenGL an alternative device driver is available. This GDI graphics driver will work on earlier machines but will have a slower redraw speed and does not support hidden line or depth buffered fill modes.

Users who experience display problems with the OpenGL driver should try using this alternative driver.

	View / Graphics Frame Type / OpenGL changes the display to the OpenGl driver.

	View / Graphics Frame Type / Windows GDI changes the display to the Windows GDI driver. This does not support depth buffering and will refresh slower than the OpenGL driver.

Graphics Segment Display

One of the features of the OpenGL driver is its ability to use graphics ‘segments’. This allows the facet model to be defined within a single segment which can then be redrawn far quicker as a single segment for example when the view is changed than redrawing each individual facet. By default he option to use segments is enabled. If users experience problems with the graphics display refreshing they should experiment switching this option off. 

Segment display is only applicable to the OpenGL driver, it has no effect if you are using the Windows GDI display.

To toggle the setting on the use of segments use View / Use Segment Display. When enabled this menu item is checked. With it turned off users will notice a drop off in the speed of redraw when dynamically viewing a large model.

Facet Display Options

A number of options exist related to the display (or not) of facets. As the user creates equivalent components such as pipes and plenums, facets in the model are optionally identified as being associated with these components. As these associations are added so the visibility of the facet is toggled to off. These leads to a continually reducing facet display visually indicating the stepwise conversion to equivalent components.

Facets can also be deleted from the display, either directly by picking it or alternatively as a by-product of some plane cut operation, where a single facet is replaced by a number of others to produce the required plane edge. As facets are deleted in this way they will be removed from the display although their information is retained, (at least whilst in memory and/or any subsequent saved work file).

This facet association and facet delete with data retention provides a number of possible facet display options. (The use of groups to display facet regions is an additional facet display method that is covered in the groups section).

For a picked equivalent component just the associated facets for this component can be displayed. Alternatively only deleted elements can be displayed (and then picked to undelete).

The following menus are used to control thes facet display options. 

	View / Elements for Current 1D Pipe will switch the display to just show the facets that are associated with the currently selected 1D Pipe. If more than one pipe is currently selected elements are only displayed for the last picked pipe. To cancel this mode select View / Normal View. If this menu option is greyed out this implies no 1D pipe is currently selected.

	View / Elements for Current 0D Plenum will switch the display to just show the facets that are associated with the currently selected 0D Plenum. If more than one plenum is currently selected elements are only displayed for the last picked plenum. To cancel this mode select View / Normal View. If this menu option is greyed out this implies no 0D plenums are currently selected.

	View / Deleted Elements will switch to show any facets that are currently marked as ‘deleted’. These may have been directly picked and deleted or indirectly deleted through a plane cut through the model. To cancel this mode select View / Normal View. Deleted elements although normally not visible are retained in the model data structure (and stored in the work file) since they may be referenced too by profiles and profile points that were created prior to its deletion.

	View / Normal View returns a selected display mode back to the normal mode. If this menu item is greyed out then the current display mode is already the normal mode.

Graphics Symbols

A number of graphical elements use symbols to identify their location. Examples of this include point markers, facet pick markers, 1D pipe arrows and 1D pipe ends. The size of these ‘symbols’ can either be a fixed screen size or a fixed model size. In either case the actual size can be changed via the option under AppSetup / Element Graphical Sizes, (see separate discussion under AppSetup).

The fixed screen size method implies that graphics symbols are always seen drawn at the same size on the screen irrespective of how far the model view is seen from, (thus they do not change in size with model zooming). The alternative ‘Scale Element Size’ approach has symbols drawn to a true physical size and thus their size will change as the model is zoomed in and out.

	View / Scale Element Sizes toggles between ‘fixed’ and ‘scaled’ symbol display options. When this menu item is checked the display will scale the graphical symbols as the model is zoomed.

+$#STL Viewer – Selection and Interaction

Introduction

The main method of identifying features within the model is via picking (or selection) with the mouse. Some operations require only a single pick, (such as selecting the view centre) whilst others require multiple picks, (such as creating a closed profile by edge picking). Some single pick operations can be chained together to repeat the operation, (such as facet selection), whilst even some multiple picks can be completed and then the operation repeated. The user is normally guided through these potential multiple pick operations by prompts displayed in the command window.

The Command Window

The command window is displayed across the bottom of the window and is a scrollable record of both user entries and application prompts. As a user moves through the menu options the command window prompt changes to indicate the current position in the menu structure. Thus if the user selects from the pull down menus View / Control / Scale View the command prompt will change to View, Control, Scale View>> 

The command window can also be used to navigate through the menus and run menu commands from the keyboard. The keyboard input uses a first two-character recognition method. For example to change the image to one of the standard views the pull down menu option View / Std Views / x-y can be typed as vi st xy, note the use of spaces between each pair of characters to indicate a new menu level.

The command window will display prompts to guide you through a particular operation and will indicate the required input to complete an operation such as selecting D (for done) on a multiple chained pick operation such as facet delete. The command window will also list properties as you pick, so that operations such as vertex picking will list the x, y and z co-ordinates of the picked vertex. The command prompt will also indicate the availability of changing the view during the chained pick with the (Z=change view) prompt.

Multiple Selection

A number of operations can be performed in two ways, the first requires you to pick the necessary features as part of the operation, whilst the second will perform the operation on the features currently selected. This allows for rapid progression through a series of operations, as the output of one operation can include adding the resultant created feature to the current pick list. So avoiding the need for the user to pick it before moving on.

To pre pick a feature the Select pull down menu provides options to select singularly or by area individual feature types. A similar menu option allows for individual feature types to be un-selected. Selected features are highlighted normally in red.

The menu options for the individual features in the Select and Un-Select list are greyed out when that particular feature is not available for selection or none selected for un-selection respectively.

The last picked item can be un-selected using the short cut key Ctrl+Z, this can be repeated to remove successive last picks from the selected features.

The selected items do not need to be limited to one particular feature type, such as edges. But most operations only work on groups of one feature type so whilst it is possible to mix selected feature types it currently presents no obvious use.

Some operations will clear all current selection as part of their action. It is often convenient to manually clear all the current selections and this can be done via the pull down menu option Select / Clear All Picks.

Selection Menus

The following menus are used for feature selecting.

	Select / Pick / Vertex changes to select facet vertex (corner) mode
	Select / Pick / Edge changes to select facet edge mode
	Select / Pick / Facet (Single) changes to select a single facet mode
	Select / Pick / Facet (Area Pick) changes to select all facets from a selected area mode
	Select / Pick / Facet (All Visible) selects all visible facets
	Select / Pick / Profile Point changes to select profile point mode
	Select / Pick / Profile changes to select profile mode
	Select / Pick / Skin Group changes to select skin group mode

	Select / Pick / 1d Pipe changes to select 1d pipe mode
	Select / Pick / 0d Plenum changes to select 0d plenum mode
	Select / Pick / Loss Junction changes to select loss junction mode
	Select / Pick / Virtual Link changes to select virtual link mode

	Select / Pick / ‘Egg Crate’ Grid changes to select ‘Egg Crate’ grid mode

The following menus are used for feature un-selecting.

	Select / Un-Select / Vertex changes to un-select facet vertex (corner) mode
	Select / Un-Select / Edge changes to un-select facet edge mode
	Select / Un-Select / Facet changes to un-select a single facet mode
	Select / Un-Select / Profile Point changes to un-select profile point mode
	Select / Un-Select / Profile changes to un-select profile mode
	Select / Un-Select / Skin Group changes to un-select skin group mode

	Select / Un-Select / 1d Pipe changes to un-select 1d pipe mode
	Select / Un-Select / 0d Plenum changes to un-select 0d plenum mode
	Select / Un-Select / Loss Junction changes to un-select loss junction mode
	Select / Un-Select / Virtual Link changes to un-select virtual link mode

	Select / Un-Select / ‘Egg Crate’ Grid changes to un-select ‘Egg Crate’ grid mode

Other Select menus.

	Select / Last Pick Undo cancels the last pick and removes the picked feature from the selection list. The short cut key for this command is Ctrl+Z. This command can be repeated to stepwise remove the last picks.

	Select / Clear All Picks cancels all current picks. Clears the selection list.

Hints on Successful Picking

Each graphical feature has its own pick point (or points). To aid in correctly picking the required feature the following should be noted.

A feature cannot be ‘picked’ twice, thus once it has been selected it will be ignored in any subsequent picks of the same feature type unless (or until) it is made un-selected. This can be used to advantage to make multiple picks of the same feature type at a common position.

The pick point for a facet edge is at its geometric mid point, (i.e. the average of the two ends x, y, z co-ordinates).

The pick point for a facet is its geometric centre, (i.e. the average of the three vertices x, y, z co-ordinates).

Picking a profile can be through any of its associated profile points.

A pipe skin group can be picked through selection of any of its defining profiles. The above comments regarding profile selection should be reviewed. Note that profiles cut as part of the pipe skinning process do not form part of the original pipe skin group and thus cannot be used to select the pipe skin group.

A volume skin group can be picked through any of its defining profiles. In the likely case that these also coincide with the skin group for an adjoining pipe the problem of creation order forcing picking of the wrong pipe can be overcome by picking the volume groups centre point.

A 1d pipe (or virtual link) can be picked from either of its end ‘dots’ or its centre arrow. Because adjacent pipes may well share a common end dot position, picking of the centre arrow is more reliable. If two pipes share the same end dot the pipes are selected based on their creation order, successive picks of the same end dot will work through the creation order, each pick of the ‘dot’ adding another pipe until all have been selected.

+$#>STL Viewer – Creating Features

Introduction

To enable the generation of the equivalent 1D model components from the STL model operations need to be performed to create geometric features such as profiles, skin groups as well as options to create additional facets.

The principal route to producing the required 1D pipes and 0D plenums to create profiles using the facet geometry. Link these profiles to form skin groups and finally create components from these skin groups with reference to associated facets.

Creating Facets

Additional facets can be added to the model through simple selection of three existing facet vertices or direct entering of a the vertex values for a new facet. This allows for the possibility of local hand editing of a loaded facet mesh. (Additional options to Add groups of facets are covered in the relevant section). It should be remembered that separate STL files can be merged by using the File / Add rather than the normal File /Open… menu option.

{bmc bm955.bmp}

To create a facet by directly entering the vertex values select the pull down menu option Create / Facet / Enter Vertex Coords…. Enter the required values in the displayed date entry box. The new facet will be added to the current selection list and drawn.

To create a facet from three vertices select the pull down menu option Create / Facet / Pick Vertices. You will be prompted for the first, second and third vertices in sequence, the new facet being drawn on the third pick and selected vertex highlighted at each step. This sequence will be repeated until the user chooses an alternative option. Note that this picking operation supports Ctrl Z for undoing the last pick and Z for dynamically viewing the model.

Facet geometry can be manipulated via the Modify  options, (see later section).

Creating Profiles from Vertices and Edges

Profiles form the basic building blocks that move us from the model facets through to skin groups and then onwards to the equivalent components for 1d engine simulation.

The simplest (although most laborious) method of creating a profile is to pick, (in order), each facet vertex required to directly define the profile. When all required points have been picked selecting D for done will create a closed profile joining the first and last points together. Use Create  / Profile / Closed Profile (Pick Vertices) to create a profile in this way. This option supports both Ctrl Z and Z shortcut key options.

The menu option Create / Profile / Closed Profile (from Current Vertices) is identical to the above option except that it works on pre-picked vertices. The order that the vertices are picked for both of these two options defines the profile creation order.

A similar approach can be used to create a profile from facet edges. Create / Profile / Single Closed Profile (Pick Edges) uses edges rather than vertices to define the profile. Because there is no requirement for the edges to be adjacent this could be considered as each edge pick adds two points to the profile, (i.e. the end points of the picked facet edge). If subsequent edge picks are connected the duplicated point is ignored. Selecting D for done closes the profile by joining the last point to the first, again if the first and last edge share a common point the duplication is ignored. The order that edges are picked defines the profile creation order.

{bmc bm956.bmp}

A slight variation on the use of facet edges for defining profiles is obtained with Create / Profile / On Closed Facet Edges (from Current Edges). This can create multiple profiles in one pass, it scans all selected edges and identifies those that form complete closed boundaries. Each closed boundary is used to create a profile. Because the application scans all selected edges for adjacency the order of picking is not important only that the edges picked define a closed boundary.

The splines used to define the created profiles have a property of tension. This tension can be modified to create profiles that have at one extreme straight lines between points whilst at the other smooth flowing curves, (refer to the Modify section for further details).

Creating Profiles from Planes

The second method for creating profiles is to use plane cuts through all, (or a portion), of the faceted model. Where the cut planes create closed boundaries these are turned into profiles, thus enabling multiple profile creation. Where a plane cut intersects a facet the affected facet is deleted and replaced by as many as are needed to retain the existing three facets edges and the new cut edge, (the general case is for 1 facet to be replaced by three). 

The options for creating profiles from planes then revolve around the alternative definitions for defining the cut planes. The simplest use orthogonal planes, i.e. x-y, y-z or x-z planes, the position of which is defined by either a defined value or the picked location of a facet vertex. 

The general plane cut method puts a plane through three picked facet vertices, (the vertices obviously do not need to part of the same facet). Use Create /Profile / Plane through Three Points.

Since plane cuts have no limit they can inadvertently cut the model in a number of places other than the region of interest. To minimise the unnecessary facet replacement introduced through this use Groups to create smaller localised sub-models and perform the plane cuts on the groups.

A number of tolerances are used as part of the plane cut operations. They primarily control items such as the amount before points are considered coincident and the normal distance that points and edges can be from a plane before being considered to not lie in the plane. If you experience problems creating profiles with plane cuts you may need to refine these settings, (see Modify section for further details).

Creating Profiles from Free Edges

For simple models or sub-models with cleanly defined boundaries the Create / Profile / Find Free Facet Edges and Auto-Create Profile(s) will scan the currently visible facets and identify facet edges that are not completely associated with another facet edge. Any free edges are marked as picked and then, once all facets checked for free edges, used to identify complete boundaries for defining profiles. Thus profiles created in this way are similar to those created using Create / Profile / On Closed Facet Edges (from current picks). 

The process of identifying free edges with an STL model requires the use of a tolerance to identify coincidence since no nodal connectivity is used with STL facets, each facet has its own vertex definition. The tolerance value used by the application can be modified by the user and can assist in refining the free edge checking process.

The free edge check can take several minutes to perform on models with large numbers of facets. This should be borne in mind before using this option. The use of groups will assist in reducing free edge check times as only visible elements are checked.

Creating Pipe Skin Groups

Pipe skin groups provide the route for connecting a number of pipe profiles (or sections) together in a sequence to define a pipe. A skin group can consist of just two sections, (one at each end), or made up of a number having mid point sections. The number to use depends not only on whether the pipe you are attempting to model is a constant section or not, but also how you intend to convert the pipe skin group into a 1D pipe. This is because two distinct 1d Pipe creation routines exist. The first just takes the as defined skin group profiles and joins them with constant tapers. The second takes the skin group profiles and then performs intermediate cuts, (at a defined distance and frequency), thus adding additional sections as it goes. This second method whilst more powerful can be unreliable with large models. If using the second method you will probably use fewer profiles in your skin groups than if using the first.

As for other pick/create options you can either create them from pre-picked profiles using the Create / Pipe Skin Group / from Current profiles or create it as you pick using Create / Pipe Skin Group / Pick Profiles. Both methods require that you pick the profiles in the correct sequence, i.e. start at one end of the pipe and work along it picking the relevant sections. As with other ‘create as you pick’ options the Z key allows you to change the view as you pick whilst Ctrl Z removes the last pick and D=done will complete the pipe skin group and start the cycle again for another skin group.

{bmc bm957.bmp}

The ends of a pipe skin groups are drawn indicating the direction that is taken as pointing along the pipe. Thus in the simplest case of a straight pipe the arrows on each end should point towards each other. An auto-detection process is used by the application to identify these directions. It is possible with more complex pipes such as bends with high curvatures for the end directions to be incorrectly identified. The end directions can be set directly by user via the menu Modify / Skin Group End Directions (current selection). a simple +1 or –1 value controlling the direction. (note that by setting the value back to 0 you will invoke the internal auto-detection routine).

Creating Volume Skin Groups

The volume skin groups unlike pipe skin groups can be used to create either 0D equivalent plenums or pipe junction models. As with pipe skin groups they connect together a number of profiles from either pre-picked or ‘create as you pick’ options.

Volume skin groups define the limits in the model of the equivalent plenum or pipe junction. In the case of 0D plenums each profile is treated as an entry to the plenum. When converted to a plenum, the plenum is placed at the centre of the group, each profile then connected to it with a virtual link. When converted to a pipe junction each profile is used to define the entry of a constant diameter pipe all of which join at a common central point. In the case of a loss junction model the relationship between the profiles and the group centre is used to define the angles of the added loss junction element.

The centre point of a volume skin group is indicated by lines drawn to it from each profile in the skin group. The position of this centre point is determined on creation by a simple geometric mean positioning. The position of the centre point can be set directly by user through the Modify menu, (see separate modify section for more details).

{bmc bm958.bmp}

To create a volume skin group using the ‘create as you pick’ approach select Create / Volume Skin Group / Pick Profiles and then select the required profiles. Once all the required profiles are picked select D=done. The created volume skin group is then drawn and highlighted (as it automatically gets added to the current pick list). If you require to change the automatically selected centre point select Modify / Skin Group Centre Coords (current selection) and enter the required co-ordinates.

Creating 1D Equivalent Pipes

1D equivalent pipes can only be created from Pipe Skin Groups, (although 1D pipes are added as part of constant pressure junctions and pressure loss junctions which use volume skin groups).

1D pipes can be created either from a currently selected pipe skin group, or via the ‘create as you pick’ approach. Two different 1d Pipe creation routines exist. The first just takes the as defined skin group profiles and joins them with constant tapers. The second takes the skin group profiles and then performs intermediate cuts, (at a defined distance and frequency), thus adding additional sections as it goes. This second method whilst more powerful can be unreliable with large models.

To create an equivalent 1D pipe using the simple tapers approach use either Create / 1D Pipe (Equiv) / Pick Pipe Skin Group or Create / 1D Pipe (Equiv) / from Current Profiles having either pre-picked the required skin group or then selecting the required skin group as appropriate. A 1D pipe is then created based on the identified skin group. A new pipe diameter is defined at each profile in the skin group, a constant taper applied between each profile. Multiple picks or multiple current selections can be used to process more than one skin group at a time.

{bmc bm959.bmp}

A feature of 1D Pipe creation from a skin group is that the facets associated with the profiles are identified and used to scan from one profile to another deleting the facets as it goes in the form of a wave front. This option thus provides a visual way of monitoring the reduction of a facet model to an equivalent pipe plenum model, since areas of the model that have been converted will lose their facets. The potential problem with this is that to scan through the facet model identifying facet association can be time consuming on large models and with complex surfaces with very fine meshes may indeed cause the operation to stall indefinitely. To alleviate this the user can disable this option via the AppSetup / Identify Skin Group Associated Facets menu item, simply un-check this menu item.

The 1D pipe can be picked using Select / Pick 1D Plipe and its properties edited from within the STL viewer. Any changes are stored in the work file and will be carried over to the ‘made current’ components.

Creating 0D Equivalent Plenums

0D equivalent plenums can only be created from volume skin groups. Each profile is treated as an entry to the plenum. During the conversion to a 0D plenum, the plenum is placed at the centre of the group, each profile then connected to it with a virtual link.

The properties of the plenum are calculated from facet association, these being used to determine volume and surface area. The facet association switch mentioned above for 1D pipe skin groups only partially applies to volume skin groups converted to plenums as without the associated facets the properties cannot be identified, but still when ‘off’ the associated facets are not deleted.

The plenum can be picked using Select / Pick 0D Plenum and its properties edited from within the STL viewer. Any changes are stored in the work file and will be carried over to the ‘made current’ components.

{bmc bm960.bmp}

The plenum is placed at the volume skin groups centre position, and the virtual links go from the boundary profile centre point to the nearest end of the plenum. These elements when ‘made current’ and copied into the engine simulation model will carry over their connectivity.

Creating Equivalent Constant Pressure Junctions

Constant pressure junctions can only be created from volume skin groups. Each profile is treated as an entry to a constant diameter pipe that joins the profile centre to the volume groups defined centre point. The diameter of the created pipe is based on its associated profile, whilst its length is derived from the distance between the profile centre and volume skin groups centre.

The facet association switch mentioned above for 1D pipe skin groups is applied in exactly the same way as for 1D pipe creation. The only difference is when trying to display deleted facets that are associated with a 1D pipe that is involve in a junction. This is because a number of 1D pipes would have been created at the same time and facets towards the centre of the volume group can be considered to have multiple association. Facets deleted by association for junction models will be assigned as associated to the first pipe created in the group.

Created pipes can be picked using Select / Pick 1D Pipe and their properties edited from within the STL viewer. Any changes are stored in the work file and will be carried over to the ‘made current’ components.

{bmc bm961.bmp}

Any connectivity that is implied within the STL viewer by position of pipe ends, is carried over into the engine simulation model when ‘made current’.

Creating Equivalent Pressure Loss Junctions

Pressure loss junctions can only be created from volume skin groups. Each profile is treated as an entry to a constant diameter pipe that joins the profile centre to the volume groups defined centre point. The diameter of the created pipe is based on its associated profile, whilst its length is derived from the distance between the profile centre and volume skin groups centre. At the group centre a pressure loss element is added the pipe angles for which are determined again by profile centre position and volume group centre.

The facet association switch mentioned above for 1D pipe skin groups is applied in exactly the same way as for 1D pipe creation. The only difference is when trying to display deleted facets that are associated with a 1D pipe that is involve in a junction. This is because a number of 1D pipes would have been created at the same time and facets towards the centre of the volume group can be considered to have multiple association. Facets deleted by association for junction models will be assigned as associated to the first pipe created in the group.

Created pipes can be picked using Select / Pick 1D Pipe and their properties edited from within the STL viewer. Any changes are stored in the work file and will be carried over to the ‘made current’ components.

{bmc bm962.bmp}

Any connectivity that is implied within the STL viewer by position of pipe ends, is carried over into the engine simulation model when ‘made current’.

The Pressure loss element will use the first picked profile to define the ‘reference 1’ pipe and the second picked profile to define the ‘reference 2’ pipe. The properties of the loss junction can be edited within the STL viewer in exactly the same way as in the main engine builder interface. Angle data can be edited with any changes being stored in both the work file and carried over to the ‘made current’ component.

{bmc bm963.bmp}

Create 	‘Egg Crate’ Regular Grid

The ‘Egg Crate’ option is for a specific use of the STL model, where the facet information is turned into a regular nodal grid. Each grid point is set as either 0 or 1. The 1 implies that in at least one of the twelve possible positions there is a facet. Together with the adjacent node settings it is then possible to determine in which orientations the regular grid contains a ‘gridded’ facet.

To create an ‘Egg Crate’ grid from the current facet model select Create / ‘Egg Crate’ Regular Grid. The displayed data box allows the both the extent and the increment of the grid to be specified. In the creation of the grid repeated plane cuts are used to identify intersections. As with the standard use of plane cuts to produce profiles a number of tolerance are used to control the operation. The displayed data box allows user control over the tolerance values used.

If the created grid appears to have areas where the grid has failed to correctly identify intersections with the facets users should try reducing the grid size and/or increasing the tolerances.

{bmc bm964.bmp}

The creation of an ‘Egg Crate’ regular grid is primarily aimed at producing the file of nodal x, y and z positions together with either a 0 or 1 for use in external applications. Once created the file can be written using File / Write ‘Egg Crate’ Grid File. As an additional visualisation tool a created ‘Egg Crate’ grid can be used to convert the existing model facets into the equivalent ‘Egg Crate‘ facets via Create / Replace Current Facets with ‘Egg Crate’ Facets.

{bmc bm965.bmp}

+$#>STL Viewer – Adding Faceted Primitives

Introduction

The addition of faceted primitives to either an existing open model or for creating sample models from scratch is supported through the Add pull down menu options. This section does not cover the ‘Add’ relating to the merging of two separate STL files, (see STL file Reading and Saving).

The primitives available include straight pipes, straight tapered pipes and curved constant diameter pipes. Each primitive has its own set of data input to control not only the dimensional aspects such as diameter and position but also the mesh density. Facets created in this way can be grouped, translated and/or rotated within the modelling environment to create more complex shapes such as manifolds.

The data requirements for each primitive type are listed below; 

Cylinder Primitive

Create using Add / Cylinder (faceted, open ends)

	Properties:
		Origin X-Coord: Sets the x origin value for the pipe centre start point.
		Origin Y-Coord: Sets the y origin value for the pipe centre start point.
		Origin Z-Coord: Sets the z origin value for the pipe centre start point.
		No. of Facets on CSA: 
		Radius: Sets the radius of the pipe cross section, the units will be as currently specified.
		Total Length: Sets the overall length of the pipe from end to end, the units will be as currently specified.
		No. of Facets along Length: Defines the number of facets that will be created along the specified length of the pipe.

{bmc bm966.bmp}

Note that by reducing the No. of facets on CSA to 4 the cylinder degrades into a cube.

Tapered Cylinder Primitive

Create using Add / Tapered Cylinder (faceted, open ends)

	Properties:
		Origin X-Coord: Sets the x origin value for the pipe centre start point.
		Origin Y-Coord: Sets the y origin value for the pipe centre start point.
		Origin Z-Coord: Sets the z origin value for the pipe centre start point.
		No. of Facets on CSA: 
		Radius (End 1): Sets the radius of the pipe cross section for end 1 of the cylinder, the units will be as currently specified.
		Radius (End 2): Sets the radius of the pipe cross section for end 2 of the cylinder, the units will be as currently specified.
		Total Length: Sets the overall length of the pipe from end to end, the units will be as currently specified.
		No. of Facets along Length: Defines the number of facets that will be created along the specified length of the pipe.

{bmc bm967.bmp}

Bend Primitive

Create using Add / Bend (faceted cylinder, open ends)

	Properties:
		Origin X-Coord: Sets the x origin value for the pipe centre start point.
		Origin Y-Coord: Sets the y origin value for the pipe centre start point.
		Origin Z-Coord: Sets the z origin value for the pipe centre start point.
		No. of Facets on CSA: 
		CSA Radius: Sets the radius of the pipe cross section, the units will be as currently specified.
		Bend Angle (deg): Sets the angle for the bend in degrees.
		Bend Radius: Sets the radius of the created pipe bend, the units will be as currently specified and dictate the centre line radius.
		No. of Facets along Length: Defines the number of facets that will be created along the specified length of the pipe.

{bmc bm968.bmp}

+$#>STL Viewer – Deleting Features

Introduction

The deletion of features from the model is performed by type, that is whilst deleting facets all other feature types are ignored. The feature type to delete is set by the appropriate menu selection from the Delete pull down menu.

Feature deletion can be either ‘delete from current’ or ‘delete as you pick’. With the second approach, the shortcut keys Ctrl Z as a last pick undo and Z as a change view option are supported. With the ‘delete as you pick’ option the selected items are buffered into the current list and only deleted when the user selects D=done. On selecting done they buffered items are deleted and the ‘current items’ buffer emptied.

The two menu options, Delete / Pick  and Delete / from Current Selection both support the following graphics feature types;

		Facet
		Profile Point
		Profile
		Skin Group
		1d Pipe
		0d Plenum
		Loss Junction
		Virtual Link
		‘Egg Create’ Grid

+$#>STL Viewer – Modifying Properties

Introduction

The Modify pull down menu contains a number of options that allow the user to change the properties of certain feature types. This includes changing facets position and orientation through to flipping the flow direction of a 1d pipe. Each option is explained in detail below.

Profile Properties

To modify a profiles properties pick the required profile. The Modify / Profile Property (Current Selection) then allows the user to change the ‘Tension’ value and the ‘Arc Increment’.

Tension (default 0.0) controls the style of profile connecting the defined profile points. The higher the number the more linear the line between points. A value of 500 can be considered as a straight line joining each defined point. A low tension value creates curved profiles passing through each point but attempting to use smooth arcs. The significance of the tension is not just to do with visual appearance since the points use to draw the profile, (rather than the few used to define the profile), are used to calculate the profile properties and hence equivalent pipe diameters.

Arc Increment (default 6.0) controls the number of points used to draw a profile. Thus whilst a profile may have been defined with maybe only three points, it will be drawn with significantly more. The larger the number the more points will de used to draw the profile, (not it is not directly the number of drawn points but an indirect control value).

Skin Group End Directions

To modify the end directions of a skin group pick the required skin group, (either pipe or volume). The Modify / Skin Group End Directions (Current Selection) then allows the user to set the cut directions of the selected skin group. Cut directions are indicated by the arrows drawn at the first and last profile boundary on a pipe skin group and the direction of each profile on a volume skin group.

The cut direction is important as it is used to dictate the direction that the adjacent facet wave-front solver will move in when attempting to identify what facets are associated with a created pipe or plenum.

Cut directions are listed as either +1 or –1, by changing from one value to the other the cut plane direction is reversed. The value of 0 is used as an internal flag that will trigger the auto cut direction algorithm.

Cut directions are listed in the order that they were picked for the creation of the skin group.

Volume Skin Group Centre Co-ordinates

To modify the end directions of a volume skin group pick the required volume skin group, (this is not applicable to pipe skin groups). The Modify / Skin Group Centre Coords (Current Selection) then allows the user to edit the automatically generated x, y and z co-ordinates of the skin group centre. When the skin group is created the centre co-ordinates are calculated based on a geometric mean of the profile centres, this is unlikely to be the required modelling position of the effective centre. The position of this centre will control the lengths any created pipes for constant pressure and pressure loss junctions and also the pipe angles for created pressure loss junctions.

1D Pipe Flow Direction

To flip the flow direction of a 1D pipe, (indicated by its centre arrow), pick the required 1D pipe and select Modify / Flip 1D Pipe Flow Direction (Current Selection). This will change the flow direction, i.e. interchange end 1 and end 2 positions. The pipe flow directions are retained in the saved work file and also carried into the simulation model when made current.

0D Plenum Flow Direction

To flip the flow direction of a 0D plenum, (indicated by its centre arrow), pick the required 0D plenum and select Modify / Flip 0D Plenum Flow Direction (Current Selection). This will change the flow direction. The plenum flow direction settings is principally used to assist in laying out and visualising the network within the STL viewer. This is because the plenum is always drawn horizontal within the STL display and when rotating the view the attached virtual link positions can become crossed. These crossed link positions would be carried over into the 2d positional data created on a make current, thus the flip option can improve the quality and appearance of the created simulation model.

0D Plenum Type Inlet or Exhaust

By default all created 0D plenums are created as inlets. To toggle the plenum type between inlet and exhaust, (indicated by its fill colour, cyan = inlet, orange = exhaust), pick the required 0D plenum and select Modify / Set 0D Plenum Type (In/Exh) (Current Selection). This will change the plenum type. The plenum type setting is retained in the saved work file and also carried into the simulation model when made current.

Modifying Facet Positions

The positions of facets can be modified with combinations of translations and rotations. Selected facets can be translated in terms of the changes to their global x. y and z values. For rotations selected facets can be rotated about any axis. The axis is defined by two user-entered points, the axis points are specified by values of global x, y and z.

Modifying Vertex Positions

The positions of facet vertices can be modified with translations in terms of the changes to their global x. y and z values. This allows the geometric relationship between vertices on the same facet to be altered.

Changing the State of Deleted Facets

When a facet is deleted from the model, (either directly with a pick and delete action or indirectly through a plane cut of a facet resulting in its replacement with up to three others), its geometry information is still retained within the data deck. This is because it may be referenced by an graphics feature created earlier. Within the View menus the user can switch between View / Normal and View / Deleted Facets. When in deleted facet view mode facets can be selected in just the same way as in normal view mode. The menu option Modify / Restore Deleted Facets (Current Selection) can be used to restore any selected deleted facets when in delete view mode.

+$#>STL Viewer – Groups

Introduction

The ability to break a loaded STL model into smaller sub models is possible using the Groups functionality. Groups allows facets in specific areas to be collected together to not only improve the speed at which the specific part of the model can be viewed and manipulated, but also provides a mechanism by which plane cuts can be limited to a specific region. This second item is important when dealing with complex models where unnecessary plane cutting can produce instability within the cutting algorithms.

Groups only apply to facets, all other graphics features such as profiles are not affected by groups and group visibility.

Due to the potential storage issues a facet can only belong to one group. If it is already a member of a group when it is added to another its connection to the first group is lost.

Creating a Group

To create a group select Group / New… and enter in the data box the required group label by which this group will identified.

Adding Facets to a Group

Before a facet can be added to a group the group must already have been created, (see above). To add facets to a group, pick the required facets using the standard selection techniques, then select Group / Add to Group / GroupLabel, where GroupLabel is the label of the required group.

Facets already in a group can be added to via association. This is a step by step addition to the group of facets that are directly connected to exist group facets. Thus the group can be added to in layers to acquire the required sub model area. Use Group / Add Associated Facets to Group. A similar feature exists to remove layers, see ‘Deleting facets from a group’.

Viewing Elements in a Group

To view an existing group select Group / Current / GroupLabel, where GroupLabel is the label of the required group.To return to viewing the entire model select Group / Cancel.

Deleting Facets from a Group

To delete facets from a group you do not need to make the required group current, (this works either in group view or normal view), simply pick the required facets using the normal selection techniques. Once the required facets are current remove them from the group using Group / Remove from Group / GroupLabel where GroupLabel is the label of the required group to remove the facet from. Note that this does not delete the facets from the model only from the group.

Facets can be removed from a group using a free edge based layer approach. This is similar to the add by association in that facets are removed in a step by step function with minimal user input required. To use this method make the required Group current using Group / Current / GroupLabel then select Group / Remove Free Edge Facets From Group as many times as is required to reduce the group to the required region.

Deleting a Group

To remove a group select Group / Delete / GroupLabel, where GroupLabel is the label of the required group to delete. Note that this does not delete the facets in this group from the model only the group association data.

Renaming a Group

To rename a group make the required group current using Group / Current / GroupLabel where GroupLabel is the label of the required group to rename, then select Group / Rename… and enter the new name into the data entry box.

+$#>STL Viewer – Listing and Measuring

Introduction

Whilst under the List menu only two menu items currently appear, one for listing the co-ordinates of a facet vertex and the other for measuring the distance between two facet vertices, a large amount of information is listed to the command window as part of feature creation and picking.

Listing Vertex Co-ordinates

To list the co-ordinates of a facet vertex select List / Vertex Coords and select the vertex of interest. This option will continue to ‘pick and list’ until the command is changed and supports the option to change view via the Z shortcut key.

Any operation that involves selecting a facet vertex will also list the co-ordinates of the vertex as it is picked. Examples of this include creating profile from facet vertices and simple vertex picking.

Measuring Distance between Vertices

To measure the difference between two facet vertices, (they can be on different facets), select List / Measure, Vertex to Vertex and select the two vertices of interest. Note that the individual node co-ordinates are also listed as each vertex is picked.

Listing Closed Profile Properties

The properties of a profile are listed when it is selected, either via simple pick or as part of a more complex operation. The properties listed include;

		No. of definition points
		No. of drawn points
		Centre Co-ordinates (x,y,z)
		Perimeter length
		Mean Radius
		Cross section area

+$#>STL Viewer – Application Setup

Introduction

A number of options are provided to assist in controlling the appearance, performance and the operation of the STL viewer, they are collected under the heading of ‘Application Setup’.

Start Options

On start-up of the STL viewer the user can choose between ‘standard’ icons (AppSetup / Start Options / ToolBar Icons / Standard) displayed on the toolbar or ‘mouse sensitive’ ones (AppSetup / Start Options / ToolBar Icons / Mouse Sensitive). This setting is saved to the users ini file such that it is retained for future re-use.

The user can set the Window size to open in its maximised state, toggle the AppSetup / Start Options / Maximised menu setting. This setting is saved to the users ini file such that it is retained for future re-use.

Exception Handler

The exception handler provides a software method of trapping and handling unexpected fatal errors whilst running the program. This provides a safe although not always particular helpful method of dealing with program fatal errors. Safe because it ensures that the application failing protects the machine from a system crash, in doing so it prevents any potentially informative failure messages from being displayed.

The option to turn the exception handler ‘off’ (AppSetup  / Exception Handler On) is given primarily as a tool for experienced users or developers to assist in debugging problems.

This setting is not saved to the users ini file, such that for each application restart its setting is returned to the default state of ‘on’.

Facet Array Memory Limit

The application can read in any size STL file. It uses a combination of internal virtual memory and scratch files to deal with the model data. Up to a certain limit all facet data is stored in memory and hence drawing and manipulating the data is far quicker than when it is necessary to read/write to a scratch file. The limiting value can be changed by the user up to an internally hard coded limit, (currently 1.E6). Select AppSetup / Set Memory Facet  Array Limit… and entered the required value into the data entry box.

The limitation for this is based on the available memory on the machine used. As a general rule each facet requires 164 bytes, (or 1000 facets = 0.15 mb).

Where possible users should attempt to keep all facet data in virtual memory as this greatly improves speed and stability.

Tolerances

A number of operations involve picking positions and cutting of planes that use calculations based on comparing single precision real numbers. These comparisons are made compared to a tolerance for which default values are provided. With different model sizes and in particular different model units the default values may prove to be unreliable.

If users experience difficulty controlling feature picking or failures with profile cutting via planes then the default tolerance can be edited using AppSetup / Tolerances…

The four tolerances users can define are;

	Screen Pick of Feature Grace, sets the distance in screen units that a pick must be within when compared to a features ‘hot spot’. If the distance is greater than this value it will not be selected. This value is saved to the users ini file.

	Solution Tolerance for Coincident Edge Points, sets the distance in model units that is used for checking if the points that define two facet edges are coincident and hence have a coincident facet edge. This value is saved to the users ini file.

	Solution Tolerance for Free Edge Points, sets the distance in model units that is used for checking if a facet edge is ‘free’ or connected to another facet edge. This value is saved to the users ini file.

	Solution Tolerance for Point/Edge in Plane, Sets the distance in model units that is to check if a point or facet edge can be assumed to lie within a 3D plane. This avoids creating very small facets when using plane cuts through a model. This value is saved to the users ini file.

Element Graphical Sizes

Graphical features that are displayed with ‘dots’, ‘arrows’ and ‘boxes’ have a default ‘size’ that they are drawn at. In the case of using ‘scaled feature display’ this value is used as a start value which is modified by the current display scale factor. If the ‘scaled feature display’ option is turned ‘off’ (see View / Scale Element Sizes) then the size is the actual screen size used to display the specific feature.

Features that have user control over their size are;

		Profile Points
		End Dots for Pipes and Virtual Links
		1D Pipes
		0D Plenums
		Loss Junctions
		Picked Features

These values are saved to the users ini file.

Identify Skin Group Associated Facets

This option controls whether Facets are deleted from a model when a pipe or volume skin group is converted to its equivalent pipe or plenum element. 

The facets associated with the profiles are identified and used to scan from one profile to another deleting the facets as it goes in the form of a wave front. This option thus provides a visual way of monitoring the reduction of a facet model to an equivalent pipe plenum model, since areas of the model that have been converted will lose their facets. The potential problem with this is that to scan through the facet model identifying facet association can be time consuming on large models and with complex surfaces with very fine meshes may indeed cause the operation to stall indefinitely. To alleviate this the user can disable this option via the AppSetup / Identify Skin Group Associated Facets menu item, simply un-check this menu item.

$#>LOTUS ENGINEERING

{bmc bm969.bmp}
{bmc bm970.bmp}
{bmc bm971.bmp}