+$#>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.
{

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 . The term 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
. (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,
, (2)
and the pressure on the sides of the control volume produces a force in the x-direction of
. (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
, (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
, (5)
enables the surface force on the control volume to be represented as
. (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
(7)
and the net efflux of momentum from the control surface is
. (8)
Hence the momentum equation is given by
. (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
, (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
, (11)
where e0 is defined as
. (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
, (13)
where h0 is the stagnation enthalpy of the gas, which is related to the stagnation internal energy via the equation
. (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,
. (15)
The work done by or on the system, , 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
. (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
; (17)
momentum
; (18)
energy
. (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
; (20)
; (21)
, (22)
where
, (23)
and the term 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
(24)
where
, , . (25)
When there is no pipe area variation, wall friction, or heat transfer the equations reduce to
(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
(27)
where
, . (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.
{

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)
. (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
; (2)
(3)
and
. (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
. (5)
In order to prevent the occurrence of spurious oscillations the total variation of the solution must satisfy the condition
. (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
(7)
after the second-step, where
(8)
and
. (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
(10)
where is given by
. (11)
The flux limiter can be defined the flux limiter as
(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
(13)
where
, (14)
and 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, , 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 can be estimated using the relationship
. (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.
{
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.
{

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
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)
. (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.
{
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
, (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
(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
. (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
(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
, (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
, (3)
and, for an ideal gas,
. (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.
{
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.
{
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, , which forms the bend is required if this value is less than the product of the bend radius and angle , 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 .
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)
, (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)
, (2)
to be expressed in the form
, (3)
and combining this with eqn (1) gives
. (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 . This basic loss coefficient is then modified to give the corrected loss coefficient as
(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 =. The surface roughness correction factor, Cf, for bends of and is given by
(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 and the value of Cf is obtained from eqn. (6) using .
{

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.
{
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.
{

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)
, (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)
, (2)
to be expressed in the form
, (3)
and combining this with eqn (1) gives
. (4)
The diffuser loss can be expressed as
. (5)
The function c(q) can be approximated as
. (6)
A Reynolds number correction factor, cRe, can be applied to the diffuser loss. This can be approximated by
. (7)
The Lotus Engine Simulation applies the diffuser loss on a mesh-wise basis. The length of the diffuser, , 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.
{

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.
{

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
, (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.
{
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.
{

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
. (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
, (2)
where the area ratio between the datum branch and any other branch is defined as
. (3)
and the mass flow ratio is defined as
. (4)
{

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
(1)
The solution procedure is summarised as follows;
Calculate heat release due to combustion
Calculate enthalpy change due to gas flows
Calculate heat transfer using old cylinder temperature
Estimate change in cylinder pressure due to energy and volume changes
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
= ratio of specific heats
Estimate displacement work
where
pcyl = cylinder pressure at previous increment
Estimate temperature change
(1) Enter iteration loop to converge on cylinder temperature
Calculate cylinder pressure
where
pnew = new cylinder pressure
Vnew = new cylinder volume
Rcyl = Universal gas constant for gases in the cylinder.
Calculate displacement work
Recalculate heat transfer based on mean gas temperature during increment.
Calculate energy change due to this gas temperature
Calculate internal energy change due to change in cylinder temperature.
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
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;
The internal energy and specific internal energy are given by;
The heat capacity and specific heat capacity at constant pressure (cp & scp) are given by;
The heat capacity and specific heat capacity at constant volume (cv & scv) are given by;
The ratio of specific heats
The constants for the polynomials are;
{

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
{
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.
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
,
where
A = A coefficient in Wiebe equation
M = M coefficient in Wiebe equation
= actual burn angle (after start of combustion)
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
The mass fraction burned during the diffusion combustion period is defines as
,
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
= fraction of premixed combustion to total combustion
= delay angle between premixed and diffusion combustion
= actual burn angle (after start of combustion)
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
= 0.05
= 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 durations 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 durations defined by;
Eqn.1
Eqn.2
Eqn.3
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
{

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;
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.
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 geometrys 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
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;
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;
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;
,
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
= Mean piston speed
= 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;
(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;
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;
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;
where
h = heat transfer coefficient
A = Eichelberg open or closed cycle A coefficient
B = Eichelberg open or closed cycle B coefficient
= mean piston speed
p = Cylinder pressure
T = Cylinder temperature
The heat transfer per unit area of cylinder wall is defined as;
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 correlations. 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
(1)
0 Scavenging Ratio
(2)
0 Charging Efficiency
(3)
0 Trapping Efficiency
(4)
0 In the above equations the terms are defined as:
= mass of air trapped in the cylinder;
= mass of residual gas trapped in the cylinder;
= mass of air supplied to the cylinder;
= 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 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.
{
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
{
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;
where
and
h = heat transfer coefficient (W/m2/K)
k = gas conductivity (W/m/K)
cp = specific heat capacity (kJ/kg/K)
= gas density (kg/m3)
v = gas velocity (m/s)
= 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
The following table provides typical air properties over a range of temperatures;
{
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 (), 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,
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, , 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.
{

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 and 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 , of the valve to be calculated.
5 Mass continuity between the cylinder and the valve throat can be written as
, (1)
7 where 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
, (2)
11 where 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
, (3)
14 so that eqn (2) can be written as
15 . (4)
17 The pressure and density either side of the valve can be isentropically related by the equation
. (5)
19 The speed of sound of the fluid in the cylinder and at the valve throat can be defined as
; and . (6)
22 Note that since in eqn (4) represents the stagnation speed of sound and, therefore, the pressure and density used in eqn (6) should be the stagnation pressure, , and density, , in the cylinder. Combining these definitions with eqns (1),(4) and (5) gives
, (7a)
27 or, since
. (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
. (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 , and the downstream static pressure as so that
. (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,
40 In the Lotus Engine Simulation program flow coefficients () 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
(10)
43 the can be used as
, (11)
46 so that
. (12)
48 In eqns (11) and (12) the parameter 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, , of the section of the device lying between the upstream and downstream pressure tappings.
{
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 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 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 , neglecting the pressure drop due pipe friction. For the same mass flow rate measured at the orifice plate, and the same upstream stagnation pressure, , using as the downstream pressure in eqn (9) would give a smaller pressure ratio , and therefore, a greater effective area than if 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 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 . The static pressure in the cylinder, , should be measured close to the valve.
{
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.
{
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, , 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.
{
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, , 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.
{
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;
{
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.
{
Self Acting Reed Valve Model
The force on the valve is given by
(1)
where
= area of petal;
= the stiffness of the valve;
= valve lift;
= mass of the valve;
= acceleration of the valve.
The valve velocity is integrated as
(2)
and the valve displacement is then calculated from the equation
. (3)
The valve lift can then be integrated using the equation
. (4)
Finally, the flow area is evaluated as
where
= the geometric flow area available;
= 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,.
{
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.
{
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 (). The product of the geometric flow area and the 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 data has been processed, (i.e. so that the reference area, , 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,) 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 (), 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, , of the section of the device lying between the upstream and downstream pressure tappings can be evaluated.
{
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 and 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, . 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
, (1)
where the upstream stagnation pressure is denoted as , and the downstream static pressure as .
Flow Coefficient,
The flow coefficient, , can be defined as
. (2)
In eqn (2) the parameter 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 value is being specified by the user it is essential that the reference area, , supplied to the code (i.e. the throttle-type and dimension data) is consistent with that used to evaluate the .
The throttle 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 .
" 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 (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 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 3 as the pressure ratio approaches unity.
{
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, 1 , is used. For a sucking rig it is assumed that the upstream stagnation pressure, 2 , is equal to the ambient pressure, 3 . For a blowing rig it is assumed that the downstream static pressure, 4 , is equal to the ambient pressure, 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 inertias.
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.
{

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.
{
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.
{
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.
{
Turbine Map Data Entry Sequence
A typical turbine map would be similar to that shown below.
{
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.
{
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
(1)
where is the specific stagnation enthalpy of the gas at the location under consideration and 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:
{
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.
{

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
, (1)
where is the volumetric efficiency of the compressor, is the volume displaced per revolution of the rotors, and is the compressor speed. The mass flow rate can then simply be obtained from the expression
, (2)
where p1 and T1 are the upstream pressure and temperature respectively, which are known from the pipe network calculation.
Now the temperature, , due to isentropic compression is given by
. (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
. (4)
Re-arranging equation (4), and substituting equation (3), enables the actual outlet gas temperature to be evaluated as
. (5)
The compressor adiabatic efficiency, , 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
. (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
. (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.
{
Fig. 1. Temperature entropy diagram for flow through expander
The volume flow rate through a positive displacement expander can be calculated from the equation
, (1)
where is the volumetric efficiency of the device, is the volume displaced per revolution of the rotors, and is the expander speed. The mass flow rate can then simply be obtained from the expression
, (2)
where p1 and T1 are the upstream pressure and temperature respectively.
Now the temperature, , due to isentropic expansion is given by
. (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
. (4)
Re-arranging equation (4), and substituting equation (3), enables the actual outlet gas temperature to be evaluated as
. (5)
The expander adiabatic efficiency, , 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
. (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
(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, , is defined as
where
=Charge cooler gas inlet temperature
=Charge cooler gas outlet temperature
= 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 inertias 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
, (1)
where is the engine speed in rev/sec, is the brake torque, is the load torque, is the total engine inertia referred to the crankshaft, is the load inertia, and is the engine speed. The brake torque is given by
, (2)
where is the torque generated by the gas pressure forces, is the resisting torque generated by the engine friction, and is torque generated by the engine inertia forces at any particular crank position and is given by
(3)
The engine inertia referred to the crankshaft varies as a function of crank angle and is given by
, (4)
where is the rotational inertia of the crankshaft about its centreline, is the rotational inertia of the valvetrain system, is the rotational inertia of the engine accessaries, is the need of the valvetrain system relative to the crankshaft, and is the speed of the accessary drive relative to the crankshaft.
In equations (3) and (4) the quantity represents the reciprocating mass of each piston / cylinder assembly (including a contribution from the connecting rod mass see below). The parameter represents the rotating component of the connecting rod mass, is the distance from the crankshaft centreline to the piston-pin centre, is the crank throw, is the connecting rod length, is the crank angle with respect to TDC, is the angle between the connecting rod and the cylinder / crank axis, is the inclination of the cylinder / crank axis from the vertical, is the acceleration due to gravity.
The term 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
(4)
and
; . (5)
In these equations and 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
(6)
where 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
(7)
The input data variables related to the quantities in the above equations are described in the Input Data Section of this Help File.
{
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 term in equation (2) is zero and the term reduces to
. (8)

+$#>

Theory - Friction
The mechanical friction of the engine may be either, calculated using one of four simple empirical correlations 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)
,
where
N = engine speed [rev/min]
= mean piston speed [m/s].
Modified Millington & Hartles DI
(reference 2)
where
CR = Compression ratio
Chen & Flynn Model for Large Engines
(reference 3)
,
where
= 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
(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
, (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
, (3)
where lr is the column resonator length and n=1, 3, 5, ...)
{

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, l n , 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.
{
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.
{
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:
(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 >> 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, can be calculated, to get the spectral components of the pressure field at a distance, r, from the tailpipe outlet:
(2)
Finally, the components of tailpipe noise spectrum at each frequency f n can be determined in terms of the sound pressure level, L p as
(3)
where the harmonics fn (for a four-stroke engine) are given by:
(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 p n of the spectral components of the pressure, so that the corresponding r.m.s. values are and the sound pressure level spectrum is given by:
(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.
{

+$#>

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.
{

+$#>

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.
{

+$#>

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.
{

+$#>

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.
{

+$#>

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.
{

+$#>

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.
{

+$#>

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.
{

+$#>

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.
{

+$

#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.
{

+$#>

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.
{

+$#>

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.
{

+$#>

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.
{

+$#>

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.
{

+$#>

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.
{

+$#>

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.
{

+$#>

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.
{

+$#>

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.
{

+$#>

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 users preference, as shown below.
{

+$#>Combustion Analysis Tool - Reverting to Original Database Order
In order to return the database order back to its 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.
{

+$#>

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.
{

+$#>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.
{

+$#>

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.
{
Cylinder pressure verses crank angle
{
Cylinder pressure verses cylinder volume
{
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 = constant;= 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:
pV
n = 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 u for the unburned mixture over the compression process, but is larger than 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 , the actual pressure change is assumed to be made up of a pressure rise due to combustion and a pressure change due to volume change :
{
The pressures and volumes at the start and end of the interval , in the absence of combustion, are related by:
pi
Vin = pj Vjn
Hence:
{
Assuming that the mass of charge burned in the internal is proprtional to the pressure rise due to combustion, the mass fraction burned at the end of the i th interval is given by:
{
where N is the total number of crank angle intervals.

#Combustion Analysis Tool Icon

+$#>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 Builders 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.
{

+$#>

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.
{

+$#>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
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 =
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
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
= Mach Index
= Bore Area
= Piston Speed
= Mean Inlet Valve Area
= Speed of sound in gas =

+$#>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).
{

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).
{
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.
{
Extended Data Setting

#>

Concept Builder Icon

#>Concept Builder Edit Icon

+$#>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.
{

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.
{

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.
{
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.
{
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.
{
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.
{

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.
{

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.
{
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.
{

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.
{

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.
{

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.
{
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.
{

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>
{

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.
{
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.
{

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.
{
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:
{

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).
{

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.
{
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).
{
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 cylinders valve(s). When viewed from the results 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.
{
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.
{
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.
{

+$#>

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]
{
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].
{

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
{

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.
{

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.
{
Importing Valve Angle/Lift Ordinate Data

+$#>

Input Data - Valve Data - Poppet Valve Data Variables
{
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
{
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.
{
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.
{

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.
{

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.
{

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
{

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.
{

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
{

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.
{
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.
{

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.
{

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)
{
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)
{
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.
{
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.
{
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
{

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 (). The product of the geometric flow area and the 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, , is defined in the Theory section. 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.
{

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.
{
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.
{
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.
{
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.
{
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.
{
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, , is equal to the ambient pressure, . For a blowing rig it is assumed that the downstream static pressure, , is equal to the ambient pressure, . 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, . 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.
{
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.
{

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.
{
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 in the schematic shown above.
Throttle Angle : The angle of the throttle blade. Denoted by in the schematic shown above.
Spindle Diameter : The throttle shaft diameter, Denoted by d in the schematic shown above.
{
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.
{
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.
{
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.
{

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.
{
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.
{

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 in the schematic shown above.
Barrel Dia. : Diameter of the rotating barrel. Denoted in the schematic shown above.
{
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
{

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.
{
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
(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
(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
(3)
Efficiency: Compressor isentropic efficiency (fraction), defined as
(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).
{
Compressor Map Viewer

+$#>Input Data - Turbine Data Variables
{

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.
{
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
(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
(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
(3)
Efficiency: Turbine isentropic efficiency (fraction), defined as
(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.
{
Turbine Map Viewer

+$#>Input Data - Supercharger Data Variables
{

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.
{
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
(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.
{
Supercharger Isentropic Map Viewer

+$#> Input Data - Expander Data Variables
{

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.
{
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
(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.
{
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.
{

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.
{
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)
(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.
{

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).
{
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.
{
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.
{
Vertical Spread sheet layout
{
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.
{
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.
{

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.
{
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.
{
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.
{
Exit Data Menu
Cyl 1 EVO Temperature Option Selected
{
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).
{

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).
{

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.
{
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.
{

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.
{
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.
{
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.
{
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.
{
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)
{

" Simple (Twin Inserts)
{
" Centre Baffle
{
" Centre Baffle + Tube
{
" Folded Duct
{
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.
{
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:
{

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.
{
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.
{
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
{

" Catalyst Dual Brick
{
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.
{
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.
{
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.
{

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.
{

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.
{
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.
{
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
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.
{

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 events 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.

#>

#>

#>

#

#>

#>

#>

#>

#>

#>

#>

#>

#>

#>

#>

#>

#>

#>

#>

#>

#>

#>

#>

#>

#>

#>

#>

#>

#>

#>

#>

#>

#>

#>

#>

#>

#>

#>

#>

+$#>Input Data Sensors and Actuators Introduction
Overview
Sensors and Actuators provide the mechanism for manipulating the simulation models 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 components 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).
{

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.
{

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 components property sheet, normally towards the bottom of the data fields.
{
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.
{

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.
{
Harness Wire Connectivity Examples

+$#>

Input Data Sensors and Actuators Sensors
Overview
Sensors provide the means by which a components 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.
{
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.
{
Generic Sensor Property Sheet not yet connected
Once the sensors 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.
{
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;
{
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 runs 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.
{
Time Sensor Property Sheet
Plot Sensor Properties
The plot sensor has a number of associated properties that are accessed through the components 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 selections 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).
{
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.
{
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.
{
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.
{
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.
{
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 components 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.
{

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.
{
Generic Actuator Property Sheet not yet connected
Once the actuators 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.
{
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;
{
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 elements variable is set to the actuator output. If set to By Shift the selected elements 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;
{
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.
{
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.
{
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.
{
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.
{
Standard Sensor/Actuator Control Elements
{
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.
{
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.
{
Single Pass Direct Coupling Example
{
Single Pass Virtual Link Connection Example
{
Twin Entry Direct Coupling Example
{
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.
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.
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.
Absolute Value: Removes the sign from the input signal. Will always pass the input value as a positive value.
Parameter:
Label (char): Descriptive string.
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.
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.
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.
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.
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.
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.
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).
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.
User Subroutine: Provides a link to the user subroutine dlls. 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 dlls for this particular control element instance.
For further information on the use of user subroutine see User Subroutines
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.
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.
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.
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.
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.
User Subroutine: Provides a link to the user subroutine dlls. 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 dlls for this particular control element instance.
For further information on the use of user subroutine see User Subroutines
Add: Simply passes as output, the sum of the two input signals.
Parameter:
Label (char): Descriptive string.
Product: Simply passes as output the product of the two input signals.
Parameter:
Label (char): Descriptive string.
Subtract: Simply passes as output the difference of the two input signals.
Parameter:
Label (char): Descriptive string.
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.
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.
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
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.
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.
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.
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.
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 signals 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 signals 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.
{
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.
{
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.
{
Variable Manifold (VIM) Sensors and actuators Example

#

Generic Sensor Element

#Time Sensor Element

#Generic Actuator Element

#Sensor Plot Element

#Harness Wire

#Down Level Icon

#Up Level Icon

#User defined Fortran function editor

#1D Lookup Table Data Editor

#2D Lookup Table Data Editor

#Turbocharger element

#Turbine element

#compressor element

#Supercharger element

#Expander element

#Charge-cooler element

#Wastegate element group

#The Default Good Port option automatically fills the port data spreadsheet with the default port flow data shown below.
{

Default Good Port Flow Data

#

The Default Poor Port option automatically fills the port data spreadsheet with the default port flow data shown below.
{
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.
{
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.
{
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.
{
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.
{
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 . Where is the upstream stagnation pressure and is the downstream static pressure.
Flow Coeff.: Flow coefficient (CF) for a corresponding L/D and pressure ratio point in map.
{
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.
{

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 . Where is the upstream stagnation pressure and is the downstream static pressure.
Flow Coeff.: Flow coefficient (CF) for a corresponding L/D and pressure ratio point in map.
{
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 components 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 users preference.

+$#>Friction Estimator Tool - Reverting to Original Database Order
In order to return the database order back to its 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
Where: Db = Main Bearing Diameter
B = Bore
S = Stroke
nc = Number of Cylinders
To calculate Main Bearing Hydrodynamic Lubrication friction:
LUBE
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:
Turbulent dissipation to pump fluid accounts for the losses due to the transport of oil through the bearings and calculated as follows:
TURB
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
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
Where: N = Engine RPM
In order to calculate the friction due to gas loading, the following formula is used:
RING-DUE TO GAS
Where: Pi = Intake pressure
Pa = Ambient Pressure
Rc = Compression Ratio
Therefore, total piston ring friction is given by:
TOTAL RING
Con Rod Bearing friction is modelled assuming the majority of the lubrication is hydrodynamic and is calculated as shown below:
CON ROD
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
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
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
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
Where: CON1 = Lotus Constant (Acquired through experience)
ACONST (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
Where is the viscosity of the oil from the test engine used to calibrate the engine friction model and 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:
(kPa)
Main Bearing Hydrodynamic Lubrication friction:
(kPa)
Turbulent dissipation to pump fluid
Accounts for the losses due to the transport of oil through the bearings and calculated as follows:
(kPa)
Notation
rpm = Engine speed
= Length of main bearing
= Number of main bearings
= Main Bearing Diameter
= Bore
= Stroke
= Number of Cylinders
= Reference viscosity of oil
= Viscosity of oil for test case
Total Rotating Friction
(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.
(kPa)
(kPa)
Piston friction due to gas loading
(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:
(kPa)
Notation
rpm = Engine speed
= Length of big end bearing
= Number of big end bearings
= Big end bearing Diameter
= Bore
= Stroke
= Number of Cylinders
= Reference viscosity of oil
= Viscosity of oil for test case
SPM = Mean piston speed
` = Compression ratio
= Inlet manifold pressure
= Atmospheric pressure
Total Recpirocating Friction
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
Cam follower friction
The friction arising from the cam follower is calculated using the appropriate equation for either flat or roller follower.
Flat follower:
Roller follower:
Oscillating components friction:
Hydrodynamic:
Mixed regime:
Notation
rpm = Engine speed
= Length of big end bearing
= Number of big end bearings
= Bore
= Stroke
= Number of Cylinders
= Reference viscosity of oil
= 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
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:
where
A = Lotus adjustment coefficient.
Total Engine Friction is calculated by summing the friction contributions.
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:
,
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:
where:
CR = Compression Ratio
References:
1. Barnes-Moss, H, A Designers 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:
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:
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) *
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

+$#>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.
{

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.
{
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 Builders 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.
{

Allowable Element Connections Display
A third way of positioning components is to use the Add option within Network Builders Edit menu.
{
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 builders 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.
{
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.
{
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 its 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 Builders 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 Builders 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 Builders 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 Builders 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 Builders View menu.
{

Toolkit Visibility Toggle
Properties
The properties box can be activated or de-activated by clicking on the relevant option within Network Builders 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 Builders View menu, as shown below.
{
Toolbar Visibility Toggle

+$#>Network Builder Interface - Zooming
Zooming
The zooming facilities are found within Network Builders 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.
{

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.
{

Visibilities Menu
Full Label Visibility
The Full Label Visibility option can be activated by clicking on the appropriate reference within Network Builders 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 Builders 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 Builders 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 Builders 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 Builders 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 Builders 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.
{
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.
{
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.
{
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.
{
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.
{
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.
{
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 wont 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 wont 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 wont 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 wont 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.
{

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.
{
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.
{
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.
{

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.
{

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 Builders View menu, as shown below.
{

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.
{

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.
{
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.
{

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).
{
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.
{

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.
{
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

#>Pick Single Icon

#>Pick Area Icon

#>Pick Lasso Icon

#>Move Singularly Icon

#>Move 1st Children Icon

#>Move Family Icon

#>Dynamic Scale Icon

#>Dynamic Translate Icon

#>Network Builder Icon

#>Graphical Pipe Display Icon

#>Mesh Points Visibility Icon

#>Centre Line Visibility Icon

#>Pipe Diameters Visibility Icon

#>2D/3D Display Icon

#>Connected Pipes Display Icon

#>Dynamic Translate View

#>Dynamic Scale View

#>Zoom In Icon

#>Zoom out Icon

#>Autoscale Icon

#>Zoom Area Pick Icon

#>Print Graphical Pipe Display Icon

#>Copy to Clipboard Icon

+$#>Network Builder Interface Cylinder Components
Click on icons and tabs to show component descriptions

+$#>Network Builder Interface Inlet Components
Click on icons and tabs to show component descriptions

+$#>Network Builder Interface Exhaust Components
Click on icons and tabs to show component descriptions

+$#>Network Builder Interface Pipe Components
Click on icons and tabs to show component descriptions

+$#>Network Builder Interface Machine Components
Click on icons and tabs to show component descriptions

+$#>Network Builder Interface Intake Super-Element Components
Click on icons and tabs to show component descriptions

+$#>Network Builder Interface Exhaust Super-Element Components
Click on icons and tabs to show component descriptions

+$#>Network Builder Interface Mechanical Link Components
Click on icons and tabs to show component descriptions

+$#>Network Builder Interface Load Components
Click on icons and tabs to show component descriptions

+$#>Network Builder Interface Sensor and Actuator Components
Click on icons and tabs to show component descriptions

+$#>
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 components 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 components 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
{

Introduction
The Lotus Engine Simulation program is an in-house code developed by LOTUS ENGINEERING since the late 1980s. 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 correlations 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 Bensons 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 inertias 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.
{

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.
{

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.
{

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.
{

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.
{

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.
{

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.
{

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
{

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.
{
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.
{

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.
{
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.
{

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.
{
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.
{
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.
{
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.
{
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.
{
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.
{
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.
{

+$#>

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.
{

+$#>

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.
{
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).
{
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.
{
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.
{
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.
{
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.
{
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.
{
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

+$#>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.
{

+$#>

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.
{

+$#>

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).
{
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).
{
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.
{
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.
{

+$#>

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.
{

+$#>

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 = =
where:
Qactual = Measured Flow Rate
and
n = Number of inlet valves
D = valve throat diameter
L = Valve Lift
= Valve Seat Angle
Flow Coeffieiect =
where:
A =
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.
{

+$#>

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.
{

+$#>

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.
{

+$#>

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.
{

+$#>

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.
{

+$#>

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.
{

+$#>

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.
{

+$#>

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.
{

+$#>

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.
{

+$#>

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.
{

+$#>

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.
{

+$#>

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.
{

+$#>

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.
{

+$#>

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.
{

+$#>

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 users preference, as shown below.
{

+$#>

Port Flow Analysis Tool Reverting to Original Database Order
In order to return the database order back to its 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.
{

+$#>

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.
{

+$#>

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.
{

+$#>

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

+$#>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.
{

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 users 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-sections 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
{

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).
{
The second type is the normal single non-server based installation, (i.e. single users 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.
{
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 its 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.
{

Example Export of Data to Excel

#>Text Results Viewer Icon

+$#>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

#Axis Scales Icon

#Cross Plot Icon

#Icon Bar Tab

#Icon Bar Area

#MRS Graph Viewer Icon

#File Browser Icon

+$#>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.
{

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).
{

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).
{
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.
{
Prs Echo Picking
The prs picking can be extended to show the results for more than one component at a time. This is termed Echos and is enabled by selecting the second magnifier icon (the icon with two magnifiers on), as illustrated below.
{
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.
{
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 Echos, 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.
{
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.
{
.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.
{

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.
{

+$#>

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).
{

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).
{
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:
{
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

#Open PRS Results File Status Icon

#Load PRS Results File Icon

#Add New PRS Graph Icon

#Cycling Icons

#Exit Icon

#How to store all pipe data.

#.PRS Results Icon.

#Standard Interface Icon.

#

#

#Open PRS Results File Status Icon

+$#>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).
{

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.
{
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.
{
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).
{
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 dlls 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 dlls using Salfords SLINK v1.28c. Users who experience problems creating their own compatible dlls 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.
{

Selecting the 1D Control Element User Sub
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).
{
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).
{
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).
{
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 dlls 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 Matlabs 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.
{

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.
{
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.
{
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.
{
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.
{

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.
{
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.
{
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.
{
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.
{
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.
{
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.
{
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.
{
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.
{
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.
{

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.
{
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 dont 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.
{

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.
{
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.
{
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.
{
Job Status
Using the Scan Feature to locate co-simulation log file

+$#>

STL Viewer Overview - Introduction
{
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.
{

+$#>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.
{

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.
{
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.
{
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.
{
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.
{
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.
{
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.
{
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 facets 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.
{

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.
{

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.
{
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.
{
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).
{
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.
{
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.
{
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.
{
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.
{
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.
{
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.
{
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.
{

+$#>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.
{

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.
{
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.
{

+$#>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
{