You are on page 1of 147

Show

SI Tutorial, Phase 1 - Building a Single


Cylinder Model
Step 1 - Starting WaveBuild, Setting General Parameters, and Creating a
Simulation Title
In this step we will open WaveBuild and establish some preliminary settings that are important for
every simulation.

Chapter sections
1.1 Starting WaveBuild
1.2 Setting General Parameters
1.3 Creating a Simulation Title

Example Input File:


.\examples\engine\TUT_si\tut_si1.wvm
Example Output File:
.\examples\engine\TUT_si\tut_si1.wps

1.1 Starting WaveBuild


Open the WaveBuild GUI by following these steps:
Windows:

From the Start menu select Programs > Ricardo > WAVE > WaveBuild 8.0

Linux/UNIX:

Type wb at the command prompt

Once the application opens, the WaveBuild GUI should have a blank canvas and appear as in Figure
1.

Figure 1: WaveBuild window at startup

The title bar is across the top of the WaveBuild GUI window. It lists the name of the currently open
file (NoName.wvm by default, until renamed). If changes have been made to the file and haven't yet
been saved, an asterisk (*) will appear next to the filename. See Figures 2 and 3.

Figure 2: Title bar when WaveBuild application first opens

Figure 3: Title bar with unsaved changes to the model

The pull-down menus are listed across the top of the GUI, beneath the title bar (see Figure
4). Clicking these with the left mouse button will open up menus with selection items.
Linux/UNIX users: The Help pull-down menu will appear at the far right side of the window.

Figure 4: Pull-down menu

The toolbar contains shortcut buttons for frequently performed operations.


New

Executes the File > New... function.

Open

Executes the File > Open... function.

Save

Executes the File > Save function.

Undo

Executes the Edit > Undo function.

Redo

Executes the Edit > Redo function.

Find

Executes the Edit > Find function.

Select

Puts the cursor in select mode.

Place Element

Puts the cursor in element placement mode, which places an


instance of the element selected in the Elements Tab for every
mouse click on the canvas.

Cut

Executes the Edit > Cut function.

Copy

Executes the Edit > Copy function.

Paste

Executes the Edit > Paste function.

Constants Table

Executes the Simulation > Constants > Table function.

Run Input Check

Executes the Run > WAVE > Input Check function.

Run Screen Mode

Executes the Run > WAVE > Screen Mode function.

Run Batch Mode

Executes the Run > WAVE > Batch Mode function.

WavePost

Executes the Run > WavePost function.

WNOISE

Executes the Run > WNOISE function.

Text Editor

Opens the Text Editor specified in the Tools > Options tab.

Favorite Application

Opens the Favorite Application specified in the Tools > Options


tab.

The canvas is the main portion of the WaveBuild window and where the flow network will be
assembled and described (see Figure 5).
The canvas is a customizable surface. You can customize the properties for the WaveBuild canvas
by selecting the Canvas Properties... option from the Edit pull-down menu or by right-clicking on the
canvas background and selecting the Edit Canvas Properties... context menu item. Customizable
options include canvas size, annotation display, and grid appearance.

Figure 6: How to Edit the Canvas Properties


Figure 5: The WaveBuild canvas

The Case Manager is at the bottom of the


canvas. The and buttons allow you to the
add and delete cases while the arrow buttons
allow you to navigate between existing cases
(first case , previous case , next case , last
case ).
The
text
field
tells
you
exactly
which case you are in and how many cases there are in total. You can type directly into the text field
and press enter to jump to a specific case. In any case other than Case 1, the background of the text
field turns red as a reminder that you are not in Case 1. Switch back to Case 1 if you wish to make
any changes to the model geometry. The Run checkbox allows you to select whether or not WAVE
should execute the current case in the simulation. By default, the checkbox is checked for all new
cases.

1.2 Setting General Parameters

With any new model, the first step should always be to define the general parameters for the
simulation, specifically the units system to initialize all data entry. Open the General Parameters
Panel by selecting General Parameters... under the Simulation pull-down menu.
For this tutorial, all units will be defined in the SI system with mm as the basic unit of length. Select SI
[mm] from the Units option menu. Wherever an input is required in WaveBuild, the units for that
input will be displayed next to the entry field. When a numeric input is provided, if it is in another unit
than the initialized unit, the user can change the units for entry. Changing the selection in this option
menu at a later point will not convert previously-entered values between units systems!
Under the Start Options section of the panel, note the toggle button next to Reinitialize Flowfield
Between Cases. Turning this on will cause WAVE to start from the user-imposed initial conditions for
wall temperatures, gas temperatures, pressures, velocities, and species concentrations in every
subsequent case when multiple cases are defined (Case #1 is unaffected by this setting). This option
is turned off by default because in most instances the final conditions for a converged case are closer
to the final conditions of the following case than the user-imposed initial conditions. Assuming this is
true, each case will converge to the final solution quicker. For this tutorial, the toggle button should
remain off.
In the General Parameters section of the panel, type 30 in the Simulation Duration text field. We
will be simulating an engine and this number will define the number of engine cycles to
simulate. Since we don't know how many cycles our simulation will take to converge, we will set a
typical number for a gasoline engine and note the convergence behavior at run time. If our number is
higher than required, auto-convergence will stop the simulation.
Note that the background of the Simulation Duration field turns yellow. This is because the units are
listed as s for seconds and 30 seconds far exceeds the recommended value for simulation duration in
the intelligent defaults settings. WAVE, by its nature, simulates fluid flow using a timebase of
seconds. When a cyclic process is introduced to the simulation (such as an engine cylinder, an
oscillating flow source, etc.) WaveBuild knows to change to a cyclic timebase. Once we place the
engine cylinders on the canvas, this units field will automatically change to cycles and the background
of the text field will change to white. "Behind the scenes" the WAVE solver will still be solving
everything in a seconds timebase, but user entry fields are changed to cycles for convenience.
Under the Fuel and Air Properties section of the panel, click on the file tag button
to open the
Fuel Property Tag Selector and double-click on INDOLENE (see Figure 7). This will automatically fill
in the word INDOLENE in the text field. Similarly, typing in the word directly into the field indicates
the use of a tag. To specify a particular file not aliased in the tags file, use the file browser
button
to open a file browsing window and select the properties file to use. This will fill the text
field with an absolute file reference, using pointed brackets, <>, to surround the entry, denoting a
filename.

Figure 7: Selecting the INDOLENE tag

In WAVE, five species are used and transported throughout the model. These are Fresh Air,
Vaporized Fuel, Burned Air, Burned Fuel, and Liquid Fuel; numbered Species 1 to 5 respectively. All
properties for these species are defined in a single properties file (with a .fue extension) that
contains information on how the fuel and air react at different temperatures, pressures, and

concentrations. The appropriate properties file should be selected for the fuel being used in the
model. For simulations using only air, any properties file may be specified since all contain
information on the properties of air. Ricardo ships numerous pre-made properties files and all are
selectable from the default tags list. The user can create their own file if desired by clicking on
the Create Properties File button to use the pre-processor.

Note the End of Cycle Angle text field. This field is used to specify the crank angle that WAVE will
use to denote the start/end of subsequent engine cycles. By default (setting of auto), WAVE uses
the IVC of cylinder #1 as the end of cycle. This is acceptable for almost all engine simulations except
when VVT is employed and continuity between cases is important. In that case, a crank angle can be
specified and should be just after the latest IVC for cylinder #1 in the simulation. For this tutorial, the
default setting of auto is appropriate.
When finished, the General Parameters should appear as in Figure 8.

Figure 8: Completed General Parameters Panel

Click on the Convergence tab. This tab allows the user to activate the auto-convergence
mechanism, which tells WAVE to end the simulation if it converges to within the specified tolerance
value for the specified number of consecutive cycles (default of 1% for 1 cycle) regardless of whether
or not it has reached the specified duration. Turning this option off will cause WAVE to run to the full
specified duration for each case in the simulation.
For all simulations, velocity (U) and pressure (P) are checked for convergence in every computational
cell in the last timestep of each cycle. In simulations where WAVE's structural conduction model is
implemented, the calculated wall temperature (T) is also checked for convergence. In simulations
where WAVE's control systems are used, PID controller tolerances are also included in the
convergence calculation. Finally, the user has the option of adding any cycle-averaged quantities
desired to be included as additional criteria.

For this tutorial, the toggle button should remain on and the default values are acceptable. When
finished, the Convergence tab should appear as in Figure 9.

Figure 9: Convergence Tab

Press the OK button to close the General Parameters Panel and save the settings.

1.3 Creating a Simulation Title


Add a Title to the file by selecting Title... from the Simulation pull-down menu. The Title Panel will
pop up for you to enter a text string that will serve as the simulation title. This title will be printed to
the output file by WAVE at runtime so it is convenient to give the model a descriptive name for later
reference. It can be up to 120 characters long and may include any alphanumeric characters or
symbols with the exception of curly brackets, { }. Constants (discussed in Step 4 of this tutorial) and
operations on constants may be used and will be evaluated when placed inside curly brackets, {
}.
Pre-defined
WAVE
constants
are
convenient
to
use
sometimes
and
include $file,$case, $subcase, $fullcase, $version, and $date. Also useful are user-defined
constants that control important parameters such as engine speed and load. Type SI Tutorial, 4Cylinder Gasoline Engine at {SPEED} rpm in the Title text field and click on the OK button to apply
the title (the constant SPEED will be defined in Step 4). The simulation title appears centered across
the top of the WaveBuild canvas and is fixed in this location. When finished, the WaveBuild canvas
should appear as in Figure 10, below.

Figure 10: WaveBuild canvas with Simulation Title

Save your model


Click on the Save button in the toolbar

to save the file.

The first time the file is saved, you will be prompted for a filename and directory where the file will be
written (the file is saved with a .wvm extension, for "WAVE model"). You will also be prompted to add
comments for the file (this option can be deactivated via the File tab on the Options Panel located
under the Tools... pull-down menu). When the save button is subsequently clicked, or if the file is not
a newly created file (opened from a pre-existing file), the currently open file will be overwritten. To
save the file elsewhere or with a different name, select the Save As... option from the File pull-down
menu. Save this file with a descriptive name, such as tut_si1.wvm.

Proceed to Step 2 - Building the Flow Network on the WaveBuild Canvas

Show

SI Tutorial, Phase 1 - Building a Single


Cylinder Model
Step 2 - Building the Flow Network on the WaveBuild Canvas
In this step we will layout the junction and duct entities that are required for the single cylinder model
on the WaveBuild canvas.

Chapter sections

Example Input File:


.\examples\engine\TUT_si\tut_si1.wvm

2.1 Placing Required Junctions


2.2 Connecting the Junctions with
Ducts

Example Output File:


.\examples\engine\TUT_si\tut_si1.wps

2.1 Placing Required Junctions


The basic geometry of the system we will model in this phase is shown in Figure 1. In order to model
this, we will have to represent both the intake port and exhaust port using two duct elements, one for
the tapered section and one for the un-tapered section. We will use simple orifice elements to
connect the two ducts (one orifice on each side of the cylinder). The open ends of the ports will be
represented using standard ambient elements.

Figure 1: Single Cylinder Layout Sketch

Move the mouse over the Ambient junction icon listed in the
Elements Tree. Hold down the left mouse button and drag it
onto the WaveBuild Canvas, dropping it anywhere. This will
place one junction of the simple ambient type onto the model
canvas (see the WaveBuild HELP on how to work with the
Elements Tab). To place additional junctions without
continually dragging and dropping, click on the place
element + button in the toolbar across the top of the WaveBuild
GUI. The mouse pointer changes to a "+" sign when the
mouse is moved over the WaveBuild canvas.
The mouse pointer is now in junction placement mode. In
junction placement mode, a junction of the selected type will be placed on the canvas every time you
press any mouse button. The mouse will remain in junction placement mode until you click on the
Select button on the toolbar across the top of the WaveBuild GUI or hit the Esc key to return to
select mode, at which point the mouse pointer will return to appearing as an arrow when moved over
the canvas.

Place two of the Ambient junctions on the canvas approximately 12 grid squares apart
horizontally. Note that when placed on the canvas, junctions "snap" to the nearest grid intersection
point. This behavior can be modified via the Edit > Canvas Properties... menu item.
Drag and drop two Orifice elements from the Elements Tree on the canvas between the ambient
junctions. Finally, drag and drop an Engine Cylinder element
from the Elements Tree between the
Orifice junctions. When finished the WaveBuild canvas should appear as in Figure 2.

Figure 2: Junctions placed on the canvas

2.2 Connecting the Junctions with Ducts


Now that all of the junctions required for the single cylinder model have been placed on the canvas,
ducts must be created to connect the junctions together. Using the left mouse button, click and drag
from the pink connection point on the leftmost ambient junction, labeled amb1 in Figure 2, to the left
connection point on the neighboring orifice junction, labeled orif1 in Figure 2. This draws/creates a
duct between the two junctions. The leftmost ambient will be the intake ambient and the rightmost will
be the exhaust ambient. Connect the remaining junctions following the Left to Right
convention (remember, the Left to Right convention doesn't necessarily mean Left to Right on the
screen, it is merely a coincidence in this case!). When finished, the canvas should appear as
in Figure 3.
NOTE: The ducts connecting the junctions appear as yellow lines. This is an indication that
some geometric property of the ducts (i.e. diameter) has not been properly defined. Also, as you
connect the two ports of an orifice junction, the icon of the orifice disappears because the ducts
connected on both sides have default diameter values of 0 (zero) at this point. The orifice icon
dynamically adjusts its appearance to reflect any step change in duct diameters. After you enter the
duct properties in Step 3, the orifice icon will "automagically" appear again and the ducts will turn
black!

Figure 3: Ducts connecting Junctions on Canvas

Save your model


Click on the Save button in the toolbar

to save the file.

This overwrites the .wvm file with the new information and backs up the previous .wvm file to a file
with the extension .wvm_bak1. WaveBuild will create up to 9 backup files with the .bak extension,
all of which can be opened and viewed using WaveBuild.

Proceed to Step 3 - Defining Ambients, Ducts, and Orifices

Show

SI Tutorial, Phase 1 - Building a Single


Cylinder Model
Step 3 - Defining Ambients, Ducts, and Orifices
In this step we will select all of the elements (ducts and junctions) on the WaveBuild canvas, and
define their geometric values and initial/boundary conditions.

Chapter sections
3.1 Defining Ambients
3.2 Defining Ducts
3.3 Defining Orifices

Example Input File:


.\examples\engine\TUT_si\tut_si1.wvm
Example Output File:
.\examples\engine\TUT_si\tut_si1.wps

3.1 Defining Ambients


With the general parameters defined (specifically a units system) and all of the relevant ducts and
junctions placed on the canvas, it is time to define the geometric characteristics of the model as well
as specify the initial conditions and boundary conditions.
We will start by defining the Ambient junctions. As stated earlier, the left-most Ambient junction will
be the intake ambient. Double-click with the left mouse button on the left-most ambient junction. This
will open the Ambient Panel. In the Ambient Panel, the user can specify the conditions of the ambient
atmosphere (Pressure, Temperature, and Species Concentrations) as well as specify the properties
of the orifice at the end of the attached duct.
Temperature and Pressure fields on the Ambient tab and all inputs on the Initial Fluid
Composition tab are used to specify the fluid conditions of the atmosphere around the attached
duct. The default values of 1.0 [bar] and 300[K] and a composition of 100% fresh air are suitable for
this simulation and don't need to be changed. In some simulations, the user may choose to
dramatically change the temperature and pressure and/or adjust the composition to model a
boundary that is either not atmospheric, like the outlet of a compressor or inlet of a turbine, or is not at
sea level, such as an engine operating at high altitude.
The Diameter, Discharge Coefficient, and Acoustic End Correction fields are used to model the
orifice created where the duct ends at the ambient. The Diameter field has a default value of AUTO to
assume the same diameter as the attached duct (no restriction created). The Discharge Coefficient
can be set to AUTO to have WAVE calculate this value internally during the simulation. This is only
applied to flow going from the Ambient into the attached duct and should be a value between 0 and 1
if specified. The Acoustic End Correction is only used for acoustic simulations and is discussed in
detail in the Acoustics Manual.
The ambient's diameter value can never be larger than the diameter of the attached duct as it
would have no physical meaning, however a value of 0 (zero) makes the ambient junction behave
like a closed end to the attached duct (an end-cap).
The selection of Fixed or Floating Solution Type is discussed in detail in the Acoustics tutorials. The
default setting of Floating is appropriate in almost all cases and should not be changed.
For this simulation, the default values are all appropriate and we only need to change the name of the
junction. Type Intake in the ID text field (name for the junction as displayed on the canvas and in the
output files). When finished, the Ambient Panel should appear as in Figure 1, below. Do the same
for the right-most ambient junction and type Exhaust in the ID text field.

Figure 1: The Ambient Panel for the Intake

3.2 Defining Ducts


Next we will define the ducts. Assume that all the geometric data for the system has been measured
and recorded and that a labeled sketch is provided as in Figure 2. Minimally, a duct is defined
by Left and Right Diameters,Length, Discretization, and Initial Conditions.

Figure 2: Single Cylinder Layout Sketch

Double-click with the left mouse button on the duct labeled duct1 to open the Duct Panel. Across the
top of the Duct Panel is the Duct ID (name for the duct as displayed on the canvas and in the output
files) and, in the Connectivity section, the junctions connected to the duct's Left and Right ends are
listed.

The middle of the Duct Panel is the Schematic section which will update the drawing of the duct to
reflect the entered geometric dimensions (Bend Angle is not drawn in the schematic as it has no
physical meaning in a 1-D model, it is simply used to calculate a pressure loss based on the angle
and bend radius). Fuel Injectors, Spray Impingement Points, and Thermocouples will also appear in
the schematic if present in the duct.
The bottom of the Duct Panel is reserved for two layers of tabs which hold entry fields in which the
user will specify all information relevant to that duct. Of all of those tabs, there are three of primary
importance that we will use in this tutorial. Under the top level tab of Duct Data, the Dimensions tab,
the Coefficients tab, and the Initial Conditions tab are particularly relevant in all ducts and are the
only tabs we will be editing during the course of this tutorial (see Figure 3).

Figure 3: Required Duct Data Tabs

On the Dimensions tab, with the Shape selected as Circular, type the dimensions given
for duct1 in Figure 2 into the appropriate entry fields (Left and Right Diameters and Overall
Length). The engine bore for this example is 78.1 [mm] so, following the general recommendation
for discretizing the model for performance simulation, set the Discretization Length to 35 [mm] (click
here to read a sidebar on Discretization). When completed, theDimensions tab for duct1 should
appear as in Figure 4.

Figure 4: Duct Panel Dimensions Tab for duct1

On the Coefficients tab, type 0 (zero) in the Friction and 1.5 in the Heat Transfer coefficient fields
under the Coefficients section of the tab (click here to read a sidebar on Port Flow Testing to
understand why). The default setting of 0.0 for the Pressure Loss Coefficient is suitable for this
simulation. The Left and Right end Discharge Coefficients will be automatically calculated by
WAVE when left as auto based on the diameter of the duct at the relevant end and the diameter of
the neighboring duct/orifice. If desired, this can be overridden by typing in a value for the Discharge
Coefficient from 0.0 to 1.0. For the purpose of this tutorial, the default value of auto is suitable and
should not be changed. When finished, the Coefficients tab should appear as in Figure 5.

Note that the Friction and Heat Transfer Coefficients have default values of 1.0. These values
are multipliers for the standard calculation. Thus values of 0.0 imply that there is no pressure
loss due to friction and no heat transfer occurring along the length of the duct while values of 2.0
imply that twice the standard pressure loss due to friction and twice the standard heat transfer is
occurring. These multipliers may be used as "tuning knobs" to adjust friction and heat transfer
and should be changed according to the surface roughness of the material and flow conditions in
the duct. Keep in mind that surface roughness will affect BOTH of these parameters and that
pressure loss due to increased heat transfer can be much greater (expansion/contraction of the
gas) than pressure loss due to friction!

Figure 5: Duct Panel Coefficients Tab for duct1

On the Initial Conditions tab, type the conditions given for duct1 in Figure 2 into the appropriate
entry fields (Pressure, Temperature, and Wall Temperature). In the case of duct1, all of the default
settings are correct for our model. When finished, the Initial Conditions tab should appear as
in Figure 6.
Note that initial conditions of Pressure and Temperature need not be extremely accurate in an
engine simulation as the gas will quickly move through the system and conditions will be recalculated frequently. The initial conditions as set will be flushed out within the first few engine
cycles of the simulation. Default settings of 1.0 [bar] and 300 [K] are appropriate for most engine

simulations. Turbo/Supercharged simulations should have more appropriately set conditions to


reflect the "boosted" state of the fluid and avoid start-up calculation errors.
Note that if the Structural Conduction model (discussed in later tutorials) is not active for a duct,
not only is the Wall Temperature value as entered the initial Wall Temperature, it is also the fixed
Wall Temperature for the duration of the simulation! Thus, special attention should be paid to
setting Wall Temperatures throughout the model to ensure that heat transfer is accounted for
appropriately, especially in the exhaust system. If reliable wall temperature data is not available,
the Structural Conduction model should be activated and the wall temperature will be calculated
during the simulation to give reasonable results.
Click the OK button to close the Duct Panel for duct1. As above, edit duct2, duct3, and duct4 and
enter the relevant information according to the schematic shown in Figure 2. Use
a Discretization length of 35 [mm] on the intake and 40 [mm] on the exhaust. Make sure to set
the Friction coefficient to 0 (zero) and the Heat Transfer coefficient to 1.5 for each duct and do not
enter Bend Angles for duct2 and duct3!

Figure 6: Duct Panel Initial Conditions Tab for duct1

3.3 Defining Orifices


When all of the ducts have been defined, note on the WaveBuild canvas that the orifice junctions
have reappeared. Since the ducts all have matching diameters at the ends where they are joined by
orifice junctions, the junctions appear with a straight, smooth line across both the top and bottom.
To demonstrate the altering appearance of the orifice junction, edit duct1 to have a Right Diameter of
50 [mm]. Note the orifice junction changes in appearance to illustrate the step change from a larger
to a smaller diameter duct.

Click the Undo button in the toolbar

to return the Right Diameter of duct1 to 35 [mm] again.

Now double-click on the orif1 junction and note the only editable fields for an orifice junction are the
ID of that junction and the junction Diameter (diameter of the orifice plate) if one exists. If an orifice
junction is simply used to join two duct ends together, than the default setting of auto is
sufficient. The auto setting implies that the diameter of the orifice is equal to that of the smaller of the
two attached ducts. If a restriction is to be modeled, a Diameter smaller than the smallest of the two
attached ducts should be used. Type 20 [mm] in the Diameter text field and hit the OK button. Note
the orif1 junction now appears as if an orifice plate is reducing the diameter at the junction.
Click the Undo button in the toolbar
to return the Junction Diameter to auto again. For this
tutorial all orifice junctions will have a Diameter of auto unless otherwise specified.

Orifice with no change


of area

Orifice with contraction

Orifice with restriction

An orifice diameter can never be larger than the diameter of the smallest attached duct as it would
have no physical meaning, however a value of 0 (zero) makes the junction behave like a closed
seal between the attached ducts.
When completed, the WaveBuild canvas should appear as in Figure 7.

Figure 7: Completed WaveBuild Canvas

Save your model


Click on the Save button in the toolbar

to save the file.

Proceed to Step 4 - Defining the Engine

Show

SI Tutorial, Phase 1 - Building a Single


Cylinder Model
Step 4 - Defining the Engine
In this step we will input all of the required data for the engine. The Engine currently is not an entity
on the canvas. It physically would consist of all engine cylinders represented on the WaveBuild
canvas (currently only one) but also includes physical sub-models for combustion, friction, heat
transfer, etc.

Chapter sections
4.1 The Geometry Tab
4.2 The Operating
Parameters Tab
4.3 The Heat Transfer Tab

Example Input File:


.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si1.wvm
Example Output File:
.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si1.wps

4.4 The Combustion Tab

4.1 The Geometry Tab


To define the engine, open the Engine General Panel by selecting Engine... from the Model pulldown menu. The Engine General Panel consists of numerous tabs, each used to define the
characteristics of the engine or the physical sub-models associated with the engine.

There are four primary tabs that are important for every engine. These are Geometry, Operating
Parameters, Heat Transfer, and Combustion.

On
the Geometry tab,
under
the Configuration section enter the
relevant data for this engine as shown
in Table 1.
The No.
of
Cylinders field
does not automatically update when
cylinders are placed on the screen
(this allows for definition of the engine
before the model is built). The user
must enter the correct number of
engine cylinders manually.
The Strokes per Cycle field is used
to define the engine as a 2-stroke or
4-stroke engine (optionally a 6- or 8stroke engine for research purposes).
The Engine Type field is used to
enable different combustion and
emission models when either SI or
Diesel are selected. The Motored
option allows for engine motoring
simulation (engine pumping only, no
combustion via cancelling all injection
events).
On
the Geometry tab,
under
the Friction
Correlation section
enter the relevant data for this engine
as shown in Table 2.
These coefficients are used in the
Chen-Flynn friction correlation model.
This model is used to calculate the
FMEP
(Friction Mean Effective Pressure) for
the engine. When data is collected in
the test cell, it can be plotted and
correlated using the Chen-Flynn
model so that FMEP may be
calculated at non-tested engine
speed/load conditions. The equation
to calculate FMEP in WAVE is:

No. of Cylinders

Strokes per Cycle

Engine Type

Spark Ignition

Bore

78.1 [mm]

Stroke

82.0 [mm]

Connecting Rod Length


Wrist Pin Offset

Compression Ratio

150.0 [mm]
0.0 [mm]

10.0
2 [mm]

Clearance Height

Table 1: Data to be entered in the Configuration fields

ACF

0.35 [bar]

BCF

0.005

CCF

400 [Pa/min*m]

QCF

0.2 [Pa/min2*m2]

Table 2: Data to be entered in the Friction


Correlation fields

FMEP = ACF + BCF(Pmax) + CCF(rpm


* stroke/2) + QCF(rpm * stroke/2)2
The use of the BCF term is to account for changes in Pmax, which can be used to vary frictional losses
across a range of engine loads. The CCF and QCF terms are used to account for changes in rpm,
varying frictional losses across a range of engine speeds.
If the simulation is only to simulate tested speed/load points, the FMEP can be entered directly using
only the ACF value (directly entering FMEP in the appropriate pressure units) and setting the other
coefficients to 0 (zero).
When completed, the Geometry tab should appear as in Figure 1.

Figure 1: The Engine General Panel Geometry tab

4.2 The Operating Parameters Tab


Click the Operating Parameters tab to bring it to the front. In the Engine Speed text field,
enter {SPEED} to denote the use of the SPEED constant (also used in the Simulation Title in Step
1). This will allow the simulated engine speed to change between cases once we add more cases
in Phase 3 of the tutorial. Note that the background of the text entry field turns yellow. This is to warn
the user that the value is outside of the generally acceptable range of values for the Engine
Speed field. Hover over the text {SPEED} and note the tooltip that pops up, stating that the
constant {SPEED} is undefined (Figure 2).
To define this constant, open the Constants Panel by clicking on the Constants Panel button in the
toolbar
or by selecting Simulation > Constants > Table... from the pull-down menu. No
constants have yet been defined so the Constants Panel should be blank. Type SPEED under the
Name column and under the Case 1 column, set a value of 6000. This will correspond to
the {SPEED} value used in the Engine General Panel for Engine Speed in rpm. When completed,
the Constants Panel should appear as in Figure 3. Click OK to close the Constants Panel and save
the setting.

Figure 2: The Operating Parameters tab

Figure 3: The Constants Panel

Once the SPEED constant has been defined, the background of the Engine Speed text entry field
should turn white to denote an acceptable value. Also note that the simulation title at the top of the
WaveBuild canvas has updated to reflect the value of the SPEED constant as given in the title. Hover
the mouse over the Engine Speed entry in the text field to pop up the tool tip and note that the
constant is now being evaluated correctly as in Figure 4.
The Reference Pressure and Reference Temperature fields can be left as their default values
of 1.0 [bar] and 298 [K] respectively. These values are used in the calculation of volumetric efficiency
for the engine and may or may not correspond to the ambient conditions of the dynamometer cell
when tests are performed (different companies use different practices). When completed,
the Operating Parameters tab should appear as in Figure 4.

Figure 4: The Operating Parameters tab with SPEED defined

4.3 The Heat Transfer Tab


Click the Heat Transfer tab to bring it to the front. For the standard engine cylinder, there is only one
type of heat transfer model available -- the Woschni correlative model for convective heat transfer
(1967). This model assumes simple heat transfer from a confined volume surrounded on all sides by
walls representing the cylinder head, cylinder liner, and piston face areas exposed to the combustion
chamber. The area of each is simply calculated from the provided geometry for bore, stroke,
connecting rod length, and the added input on this tab for clearance height. Since the piston face and
cylinder head are not usually flat slabs of metal, there is a Surface Area Multiplier included for each
to account for domed heads, piston bowls, etc. Multipliers are also provided to increase/decrease
total heat transfer when the intake valves are open (heating of intake charge affects Volumetric

Efficiency) and when the intake valves are closed (during compression/combustion/exhaust). Adding
swirl will increase the total heat transfer due to increased charge motion in the cylinder.
Modifications to the standard Woschni model have been added to compensate for varying levels of
IMEP. This can be selected by changing the Woschni Model from Original (1967) to Load
Compensating (1990).
For the purpose of this tutorial, enter the relevant data for this engine as shown in Table 3.
Woschni Model

Original

Heat Transfer when Intake Valves are Open

1.0

Heat Transfer when Intake Valves are


Closed

1.0

Piston Top Surface Area Multiplier

Cylinder Head Surface Area Multiplier

1.0 (flat-top piston)


1.6 (to make 7665
mm2)

Piston Top Temperature

520 [K]

Cylinder Head Temperature

520 [K]

Cylinder Liner Temperature

400 [K]

Intake Valve Temperature

420 [K]

Exhaust Valve Temperature

480 [K]

Swirl Ratio

0.0

Table 3: Data to be entered in the Heat Transfer Tab

When completed, the Heat Transfer tab should appear as in Figure 5.

Figure 5: The Engine General Panel Heat Transfer tab

4.4 The Combustion Tab


Finally, click the Combustion tab to bring it to the front. This panel separates the Primary
Model choice (required) from the Secondary Model choice (optional, layered on top of the Primary
Model) and Emissions Models. The general engine cylinder in WAVE simplifies combustion. It does
not use a predictive combustion model but simply models the heat release caused by combustion vs.
time. Since we are modeling a spark ignition engine and selected the Spark Ignition option on
the Geometry tab, we have two combustion models available to use -- the SI Wiebe and Profile
models.
The Profile model is used when Heat Release vs. Crank Angle data is available directly for every
speed/load point to be tested by the model. This data can be directly entered into WAVE as a table
with a combustion start time and efficiency.
More widely used, however, the SI Wiebe model simply uses an S-curve function that represents the
cumulative heat-release in the cylinder. The first derivative of this function is the rate of heat
release. The SI Wiebe model is very commonly used and represents experimentally observed
combustion heat release quite well for most situations.
Select the SI Wiebe option from the Combustion Model drop-down menu. Enter 8.0 [deg] for
the Location of 50% Burn Point and 31.0 [deg] for the Combustion Duration (10-90%). Watch the
plot actively update as these values are entered. The default value of 2.0 for the Exponent in Wiebe
Function is appropriate for most cases. Change it and watch the shape of the burn curve change as
well. For this example, 2.0 is an appropriate value and should be used. Fraction of Charge to
Burn should be left at the default value of 1.0 as well. When completed, the Combustion tab should
appear as in Figure 6.
Click the OK button to save the settings for the Engine General Panel and close it.

Figure 6: The Engine General Panel Combustion tab

Save your model


Click on the Save button in the toolbar

to save the file.

Proceed to Step 5 - Defining the Intake and Exhaust Valves

Show

SI Tutorial, Phase 1 - Building a Single


Cylinder Model
Step 5 - Defining the Intake and Exhaust Valves
In this step we will define the intake and exhaust valves by specifying their lift behavior and flow
restriction behavior.

Chapter sections

Example Input File:

5.1 Defining the Intake Valve Lift


Behavior
5.2 Defining Coefficients (Flow vs.
Discharge)
5.3 Defining the Exhaust Valve

.\examples\engine\TUT_si\tut_si1.wvm
Example Output File:
.\examples\engine\TUT_si\tut_si1.wps

5.1 Defining the Intake Valve Lift Behavior

The connections from duct2 and duct3 to the cyl1 junction are assumed to be valves (all engine
cylinder connections are assumed to be valves). The blue connection point to duct2 denotes an
intake valve and the red connection point to duct3 denotes an exhaust valve. This is correct for this
model but is purely coincidental. WaveBuild places engine cylinders on the screen with two
connections by default. It assumes that the first connection to be used is an intake valve and the
second connection to be used is an exhaust valve. Any other valves created (by double-clicking on
the cylinder junction and editing the Number of Valves field to be larger than 2) are assumed to be
intake valves. This intake/exhaust status can be changed by highlighting the connection of choice
and changing the Type in the drop-down menu (see Figure 1 for example of a modified Cylinder
Panel). For this tutorial, the two valves created by default are suitable and the number of valves
should not be changed.
Valves are defined globally, for use anywhere in the model. Anywhere a valve is present (on an
engine cylinder, in a valve-specific junction, etc.) the user must tell WAVE which globally defined
valve to use. This, for example, allows the user to define an intake valve once and then use it for all
engine cylinders.

Figure 1: Adding Valve Connections via the Cylinder Panel

To define a valve, select Valves... from the Model pull-down menu. The Valve List panel will pop
up. As it is blank, it is clear that no valves have yet been defined. Click on the Add button to create a
new valve. This will pop up the Add Valve Panel where the user selects which type of valve to
use. The standard valve on an engine cylinder is a Lift valve, selected by default). Click
the OK button to accept the Lift type and the Lift Valve Editor will automatically appear.

The first entry field under the Valve Parameters


section of the panel is the Reference
Diameter. This value is typically the inner-seat
diameter (see Figure 2, right), but if the portcoefficient data has been provided in nondimensionalized format, whatever diameter was
used to non-dimensionalize the data should be
entered here. For this tutorial, type in a
Reference Diameter of 35 [mm]. The Heat
Transfer Diameter is only required if the valve is
an engine valve and the engine conduction submodel is activated for this tutorial, it need not
be entered.

Figure 2: Valve Measurements typically used

Click on the Edit Lift Profile button to open the Valve Lift Profile Editor.

In the Valve Lift Profile Editor, data must be entered for the behavior of the valve. This behavior is
described as the lift of the valve vs. time (time is entered as cam or crank angle degrees). There are
numerous options for entering this data including:

Manually entering data into the array

Copying and Pasting an array from MS Excel (on PC platform)

Reading in a pre-formatted external file

Using a tag to alias a pre-formatted external file

INTAKE VALVE
Diameter
Lift Profile

35 [mm]
SI1INT tag

Cycle Anchor

330 deg

Profile Anchor

0 [deg]

Duration Multiplier

Lift Multiplier

Lash

Rocker Ratio

Angle Type

Coefficient Profile

1.0

1.414

1.0

Crank

CFTYP tag

For this tutorial the data has already been provided in a


pre-formatted external file that is aliased in the
default active.tags file. To select this file, click on the
tag button
and select the SI1INT item. Notice that
the array fills automatically by reading the contents of the
file aliased in the active.tags file and a lift vs. crank
angle curve is now plotted on the screen.
Some suppliers may provide data for the lift curve in
camshaft degrees (the camshaft rotates once for every
two crankshaft rotations in a 4-stroke engine) so there is
a Angle Type pull-down menu to adjust the units on
which the data is based. Lash, if not already
incorporated into the lift array data, should be entered as
hot lash. The lash in the system tends to change when
the engine is running hot and is reduced from the cold
lash. Rocker Ratio (if necessary) may be entered as
well.

Table 1: Intake Valve Data

The fields of primary importance are the Anchors and the


Multipliers, located at the bottom of the Valve Lift Profile Editor window. The Anchors allow arbitrary
alignment of the valve profile within the engine cycle. The Profile Anchor denotes a point specified
in the array of angle data. The Cycle Anchor denotes another point in the engine cycle in crank
angle degrees. These two points align to locate the valve lift array within the engine cycle. These
anchors can be parameterized (set as constants) to allow variable valve events between cases (cam
phasing).
The Multipliers are used to multiply every point in the valve array in either lift magnitude or angle
duration. These can be parameterized (set as constants) to allow variable valve lift and duration
between cases. The lift multiplier can also be conveniently used to adjust the units of the text file to
the appropriate units for use in the model (multiply/divide to go from inches to mm, etc.).
For this tutorial, enter the following information for valve #1, the intake valve as shown below in Table
1. This aligns the 0 degree point in the array data (in Crank Angle degrees) with the330 degree point
in the engine cycle, shifting the valve event over the labeled intake stroke in the plot. It also multiplies
all of the lift values by 1.414. When finished, the Valve Lift Profile Editor for valve #1 should appear
as in Figure 3, below.

Figure 3: Valve Profile for the Intake Valve

Click the OK button to save these setting and close the Valve Lift Profile Editor.

5.2 Defining Coefficients (Flow vs. Discharge)


The last piece of information required to define a valve is the coefficients. Port coefficients help
describe how restricted the flow through the valve is at different lift positions. This data is usually
obtained through a process of port-flow testing using a steady-state airflow rig. Click on the Edit Flow
Coefficient Profiles button to open the Flow Coefficient Profiles Editor.

Similar to the Valve Lift Profile Editor, data must be entered for the coefficients. This behavior is
described as values for both the forward and reverse flowing direction (forward implies into the
cylinder, reverse implies out of the cylinder) vs. the lift of the valve (non-dimensionalized by dividing
the lift by the reference diameter). Again, there are numerous options for entering this data including:

Manually entering data into the array

Copying and Pasting an array from MS Excel (on PC platform)

Reading in a pre-formatted external file

Using a tag to alias a pre-formatted external file

For this tutorial the data has been provided already in a pre-formatted external file that is aliased in
the default active.tags file. To select this file, click on the tag button
and select
the CFTYP option. Notice that the array fills automatically by reading the contents of the file aliased
in the active.tags file and a coefficient profile appears in the plot on the right-hand side of the
panel, see Figure 4.

This file contains information for flow coefficients as we can tell by the fact that at zero lift (zero L/D
value) the coefficient has a value of 0 (zero). Flow coefficients must be entered with the first row in
the array being an L/D value of 0 (zero) and forward and reverse coefficient values of 0 (zero).
WAVE can also accept discharge coefficients as input. Discharge coefficients are distinguishable by
the fact that the coefficient value at zero lift (zero L/D value) are non-zero. If the first row of the array
is an L/D value of zero and the forward and reverse coefficients are non-zero, then WAVE assumes
that the array is entered as discharge coefficients. Click on the tag button
and select CDTYP to
display a typical discharge coefficient profile, seeFigure 5. These two profiles are derived from the
same data so either will work and is appropriate for this tutorial.
Click the OK button to save these setting and close the Profile Editor.
Click the OK button on the Lift-Valve Editor panel to save the settings for valve #1 and return to the
Valve List panel.

Figure 4: Typical Flow Coefficient Profile

Figure 5: Typical Discharge Coefficient Profile

5.3 Defining the Exhaust Valve


Click the Add button again to create a second valve that
will be used to model the exhaust valve.

EXHAUST VALVE
Diameter
Lift Profile
Cycle Anchor
Profile Anchor
Duration
Multiplier

28 [mm]
SI1EXH tag
105 [deg]
0 [deg]
1.0

Lift Multiplier 1.0


Lash
Figure 6: The Valves List

Follow the same steps as above but use the following


information for the lift profile (the coefficients can be the
same as the Intake Valve). When finished, the Valve Lift
Profile Editor for valve #2 (the exhaust valve) should
appear as in Figure 7, below.
With both the intake valve (valve #1) and exhaust valve
(valve #2) defined, the Valves List should appear as
in Figure 6. Click the OK button to save these setting
and close the Valves List panel.
By default, the engine cylinder junction has picked the
intake valve connection to use Valve #1 and the exhaust
valve connection to use Valve #2. This is, again,
coincidental. On a multi-valve engine it may be
necessary to edit the engine cylinder junction and
correctly specify the valve number to use for each
connection.

Rocker Ratio
Angle Type
Coefficient Profile

0
1.0
Crank
CFTYP tag

Table 2: Exhaust Values

Figure 7: Profile Editor for Valve #2 (the exhaust valve)

Save your model


Click on the Save button in the toolbar

to save the file.

Proceed to Step 6 - Adding the Fuel Injector

SI Tutorial, Phase 1 - Building a Single


Cylinder Model
Step 6 - Adding the Fuel Injector
In this step we will add a fuel injector, connect it to the intake port, and define the required input
parameters.

Chapter sections
6.1 Adding the Injector Element
6.2 Defining the Injector

Example Input File:


.\examples\engine\TUT_si\tut_si1.wvm
Example Output File:
.\examples\engine\TUT_si\tut_si1.wps

6.1 Adding the Injector Element


The single-cylinder model is almost complete all that remains is to add a fuel injector. WAVE
handles fuel injection in one of two primary ways targeting an air-fuel ratio or injecting a specific
mass of fuel. The easier of the two methods is to target an air-fuel ratio and let WAVE inject the
appropriate amount of fuel based on the airflow. This is the approach used in this tutorial and in a
vast majority of simulations.
Injectors can be added to duct, y-junction, or cylinder elements, but specific injectors can only attach
to specific types of flow elements. From the elements tab, drag and drop a Proportional fuel injector
above duct 2. The proportional type injector can connect to a duct or y-junction flow element, but not
cylinder elements. A Proportional injector will always inject enough fuel to the fluid stream to match a
targeted air-fuel ratio. This is the simplest type of injector and is very commonly used.
To connect the injector to the flow element, click on the injector and drag and drop a connection onto
the duct2 element. This will create a connection line between the two elements (the connection line
must start at the injector element and be dropped onto the duct element, you cannot create a
connection between the two by starting at the duct element). When connected, the model should
appear as in Figure 1.

Figure 1: Adding an Injector

6.2 Defining the Injector


Now that the injector has been added, we can edit the properties of the injector element. Double click
on the injector element to open the Proportional Injector Panel.
On the Operating Point tab, all that needs to be defined is the targeted air-fuel ratio of the injector
within the duct. WAVE requires a fuel-air ratio but most frequently air-fuel ratio information is
provided. This is easily overcome by using WAVE's capability to perform simple mathematical
operations on constants. We will define a constant named A_F and enter air-fuel ratio data in the
Constants Panel, but in the text field for Fuel/Air Ratio, type {1/A_F}. This will automatically convert
the air-fuel ratio to a fuel-air ratio as required.
On the Position tab, we must define where, along the length of the duct element, the injector injects
fuel into the flow system (if the injector were connected to a y-junction element, this tab would be
irrelevant as there is only one fluid cell in a y-junction). Type 25 [mm] into the Distance from Left
End text field to move the injector to the middle of the duct (alternatively, click and drag the injector
with the middle mouse button).
On the Properties tab, all that is needed is a temperature for the injected fuel and an amount that will
vaporize upon injection into the fluid stream. Type 330 [K] into the Mixture Temperature text
field. Type 0.3 into the Liquid Fraction Evaporated After Injection text field. This field denotes what
fraction of the liquid fuel will immediately vaporize in the fluid stream. The heat required to vaporize
this portion of the liquid fuel is pulled directly from the intake charge, thus cooling it and increasing the
density (this usually leads to a slight increase in volumetric efficiency). Typical values are 0.2 to 0.3
for a gasoline engine.

Click on the Composition tab, where the total composition of the fuel before injection can be
specified. If the aforementioned charge cooling effect is undesirable, then the vapor portion can be
specified here. For this tutorial, the default of 1.0 for Liquid Fuel is suitable and can be left as is
(100% of the injected fuel is in liquid state, 20% of that vaporized when injected).
When completed, the Proportional Injector Panel should appear as in Figures 2-5, below. Click
the OK button to close the Proportional Injector Panel and save the data (when prompted to add
the A_F constant to the Constants Panel, select No).

Figure 2: Completed Injector Editor

Figure 3: Completed Position Tab

Figure 4: Completed Properties Tab

Figure 5: Completed Composition Tab

All that remains is to add the A_F constant to the Constants Panel. Open the Constants Panel
and
type the constant name, A_F, in the Name column, + row. This will automatically add a new row to
the constant panel. There are no units required and the value of the constant in case 1 should be
entered as 14.7 (approximately stoichiometric for the INDOLENE fuel that this simulation is
using). When finished, the Constant Panel should appear as inFigure 6, below.

Figure 6: Adding the A_F Constant

Click the OK button to close the Constants Panel.


The single-cylinder model is complete!

Save your model


Click on the Save button in the toolbar

to save the file.

Proceed to Phase 2 - Running WAVE and Creating Time Plots in WavePost

SI Tutorial, Phase 2 - Running WAVE and


Creating Time Plots in WavePost
Running the WAVE solver will process all of the information that has been entered into the model and
produce numeric results. These results can be post-processed in WavePost to produce plots and
graphics for reports and presentations.

Phase 2 Steps

Example Input File:

1 Running a WAVE Input


Check
2 Requesting Time Plots

.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si1.wvm
Example Output File:

3 Requesting Post.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si1.wps
Processing Datasets
4 Running
WAVE
and
Understanding the .out File
5 Introduction to Post
Processing and WavePost

With these five steps, we will run the WAVE solver and create some output data for postprocessing. WavePost will be used to view plots and cycle-averaged results for the model.

Show

SI Tutorial, Phase 2 - Running WAVE and


Creating Time Plots in WavePost
Step 2 - Requesting Time Plots
In this step we will add requests for plots of specific data to our existing model. Time Plots are plots
of results over the course of a single engine cycle (the last engine cycle in multi-cycle
simulations). Time Plots should be requested whenever the user is aware of specific data they are
interested in analyzing.

Chapter sections
2.1 Duct Time Plots
2.2 Junction Time Plots
2.3 System Time Plots
2.4 Multiple Plots Overlaid

2.1 Duct Time Plots

Example Input File:


.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si1.wvm
Example Output File:
.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si1.wps

Suppose we are interested in observing the pressure and temperature at the mid-point of the intake
port during the engine cycle. We can request Time Plots at the intake port (duct2) and WAVE will
automatically create these plots at the end of the simulation. Right-click on duct2 and select the Edit
Plots... option from the pop-up menu (see Figure 1). The Duct Plot Panel will open with no plots yet
defined at this location. Click on the Create Plot button to open the Duct Plot List.

Figure 1: Adding Plot to duct2

The list of plots available at this location is displayed (this list is context-sensitive and generated
based on the canvas item selected). Click on the 201 Pressure plot and then, holding the Shift
button to multiple-select, click on the202 Temperature plot (most valid duct plots are in the 2xx
range). Click on the OK button to close the Duct Plot List and add these plots to the Existing Plots list
in the Duct Plot Panel.
The location along the length of the duct from where plots should take their data is specified under the
Duct Locations region of the panel. Locations are defined by a normalized value from zero to one
(left end of duct is 0, middle of duct is 0.5, right end of duct is 1). Default Locations can be defined for
commonly-used locations to be specified in multiple plots (Default Locations will appear identically for
all ducts when the Duct Plot Panel is opened). Custom Locations are specific locations in the
selected duct where plots should take their data. Clicking on the Use All Locations button will
automatically create Custom Locations for every cell in a duct. To add locations (either Default or
Custom), right-click on the column header and select Insert Column Before or Insert Column After, as
appropriate, from the context-menu.
Pressure and Temperature are scalar values and, in WAVE, are stored at the center of a given cell
(vector values, such as velocity, are stored at cell boundaries). As there is only one cell in duct2, no
location needs to be specified. The time plots will automatically be created at the 0.5 location (halfway along the duct). Specifying any other location along the length of the duct will create identical
plots.
When complete, the Duct Plot Panel should appear as in Figure 2.

Figure 2: Duct Plot Panel with plots at duct2

Click on the OK button to close the Duct Plot Panel. Note the plot icon now hanging off of duct2. To
edit plots at this location again, simply double-click on this icon and the Duct Plot Panel will open.

2.2 Junction Time Plots

Suppose we desired to examine the combustion performance in the power cylinder during the engine
cycle. We may want to create a P-V (Pressure vs. Volume) plot. Right-click on the cyl1 junction and
select the Edit Plots...option to open the Junction Plot Panel. The duct plots created above will be
listed in the Existing Plots list. Click on the Create Plot button to open the Junction Plot List.
Note that there are many more plots in the list than in the Duct Plot List (engine cylinder plots are
typically in the 1xx range). Click on the 111 Linear P-V Diagram and click the OK button to close the

list and add the plot to the Existing Plots list. Also note that an asterisk appears to the right of the plot
type for any plot with the currently selected canvas item as a location.
No location within the junction needs to be specified for the plot as there is only one calculation point
in a junction. When completed, the Junction Plot Panel should appear as in Figure 3, below. Click
the OK button to close the Junction Plot Panel.

Figure 3: Junction Plot Panel with plot at cyl1

2.3 System Time Plots

Although there is only one cylinder in our engine, we will eventually be creating a 4-cylinder
engine. To observe the behavior of the engine itself (system of cylinders grouped together), click on
the Simulation pull-down menu and select the Time Plot... menu item. This will open the Time Plot
Panel where plots can be created for the engine system, as well as sensors, actuators, and pins (to
be discussed in more advanced tutorials).
The System Location Type should be active by default when the panel opens. Click on the Create
Plot button to open the Time Plot List for the engine system.
A few engine system specific plots are available and even fewer are applicable to our system as
modeled (system plots are typically in the 7xx range). Click on the 701 Engine Torque plot and click
the OK button to close the list.
Again, no location needs to be defined for system plots. When completed, the Time Plot Panel
should appear as in Figure 4. Click the OK button to close the Time Plot Panel. Note, there is no
display of the system plot on the canvas as there is not yet a canvas entity to which it can be
attached.

Figure 4: Time Plot Panel with system plot of Engine Torque

2.4 Multiple Plots Overlaid

Perhaps we wish to examine the pressure and temperature in the exhaust port and compare it to the
conditions in the intake port. We could create separate plots for the duct representing the exhaust
port (duct3), but it would be more useful if the data for both ports were on the same plot. Right-click
on duct3 and select the Edit Plots... option from the pop-up menu. Note that the only plots in the
Existing Plots list are the pressure and temperature plots from duct2. This is because these plots are
allowed at duct3 as well (a P-V plot is not sensible in a duct, nor is engine torque).
With plot 201 highlighted, click on the Add Location button to plot the pressure at duct3 on the same
plot as duct2.
Do the same for plot 202 to add duct3 to the plot of temperature in duct2. Click on the Use All
Locations button to request the plots at the center of both cells in duct3 (locations of 0.25 and 0.75).
When completed, the Duct Plot Panel should appear as in Figure 5.

Figure 5: Duct plot panel with duct2 and duct3 plots overlaid

Click the OK button to close the Duct Plot Panel. The model should appear as in Figure 6 with all
time plots added.

Figure 6: Model with Time Plots Added

Save your model

Click on the Save button in the toolbar

to save the file.

Proceed to Step 3 - Requesting Post-Processing Datasets

Show

SI Tutorial, Phase 2 - Running WAVE and


Creating Time Plots in WavePost
Step 3 - Requesting Post-Processing Datasets
In this step we will request that particular data that we may be interested in later be output for
the entire network, as opposed to certain locations as in the case of Time Plots. This is more
convenient if the user wishes to have the data (e.g. Pressure, Temperature, etc.) at numerous points
throughout the network or is unsure, ahead of time, at which locations this data will be required for
post-processing. It also allows the user to do more advanced post-processing to be discussed later in
this tutorial.

3.1 Basic Datasets

Chapter sections

Example Input File:


.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si1.wvm

3.2 Valve Datasets

Example Output File:


.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si1.wps

3.1 Basic Datasets


Suppose we are not sure, beyond the behavior in the intake and exhaust ports, which behaviors we
will be interested in viewing results for at the end of the simulation. Later analysis might require
extensive amounts of data that we didn't request plots for ahead of time! It may also be inconvenient
to return to WaveBuild and request more plots and rerun the model, especially if the model takes a
very long time to run! We can avoid some of this by requesting Post-Processing Datasets in
advance.
Open the Postprocessing Output Panel by selecting the Postprocessing Output... menu item from
the Simulation pull-down menu. We have yet to request any data to be output after the simulation is
run through the WAVE solver, so the Requested Datasets list should be blank. By default, the Basic
models are listed, which are datasets grouped together that are always available, no matter which
junctions or physical models exist in the simulation. To request a specific dataset that we would like
written to the simulation output file, highlight one by clicking on it and then click on the single arrow
button pointing to the right to add it to the list of Requested Datasets (datasets can be multipleselected by holding down the Shift key to highlight a span of datasets or the Ctrl key to highlight
multiple, individual datasets). Clicking on the double-arrow button will move all datasets form a Model
grouping in the the Requested Datasets list.

For this simulation, select the VELOCITY and VOLUMETRIC_FLOW datasets. When completed, the
Postprocessing Output Panel should appear as in Figure 1.

Figure 1: Requesting Basic Datasets

3.2 Valve Datasets


At the top of the Postprocessing Output Panel, change the Models option menu to Valve. This will
make the Available Datasets list change to those contained in the Valve subset. All subsets besides
the Basic subset are available depending upon the junctions or physical sub-models included in the
analysis.
Highlight
and
add DISCHARGE_COEFFICENT, FLOW_COEFFICIENT,
and LIFT_OVER_DIAMETER to the Requested Datasets list. This will allow us to observe the
difference between the coefficient used and the one not-selected (CD vs. CF). When completed, the
Postprocessing Output Panel should appear as in Figure 2.

Figure 2: Requesting Valve Datasets

Click on the OK button to save the changes and close the panel.

Save your model


Click on the Save button in the toolbar

to save the file.

Proceed to Step 4 - Running WAVE and understanding the .out file

Show

SI Tutorial, Phase 2 - Running WAVE and


Creating Time Plots in WavePost
Step 4 - Running WAVE and Understanding the .out File
In this step we will run the model file through the WAVE solver and learn to parse the output file. In
this and the following step, all output files created during the simulation will be examined and defined
as to their purpose and use.

Chapter sections
4.1 Running the Solver
4.2 The .out File

4.1 Running the Solver

Example Input File:


.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si1.wvm
Example Output File:
.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si1.wps

The model has been run through an input check and is all set to create the requested data for postprocessing. To run the model through the actual WAVE solver there are two options:
Run the model in screen mode by clicking on the Run Screen Mode button
in the toolbar

Run the model in batch mode by clicking on the Run Batch Mode button

in the toolbar

Screen mode runs the model at high priority while sending standard output to the screen. A shell will
open and the simulation will pass by, printing output in real-time for the user to examine (output is
also printed to the .out file).
Batch mode runs the model at reduced priority while sending standard output to the .out file. On
PC, a shell will open, noting the version of the solver being used, the window will minimize, and the
simulation will run "quietly" with no output to the screen. When the simulation is finished, the prompt
will return in the opened shell. On UNIX, the process is detached from the current shell (similar to
executing at the shell prompt with the "&") and run in the background. No indication of the process is
given. Status of the simulation can be determined using the "ps -ef" command.
If the model has been altered in any way and not yet saved (noted by the asterisk next to the filename
in the title bar), WaveBuild will prompt you to first save the file before running. Run the solver using
either method and close the shell (if necessary) when the simulation is complete.

4.2 The .out File


While
the
simulation
is
running,
WAVE
will
create
a
temporary
file
with
the .hlt extension. The .hlt file will not be discussed here but this file will be automatically deleted
upon successful completion of the simulation. If this file exists when the simulation completes, it
usually indicates that the simulation failed while running in WAVE.
To this point, we have been building the model and saving it along the way into a file with
a .wvm extension. It is a simple XML format file that can be observed in any web browser by
changing the filename extension to .xml. There should now also exist .out, .sum, .wvd,
and .wps files as well (a .rp file will have also been created for reverse compatibility with an older
post-processor and will not be discussed it is obsoleted by the .wps file).
The .out file, discussed and analyzed earlier after the input check, now contains additional data
about the simulation. Open the .out file using any common text-editor and examine.
First note the added requests for plots and datasets called out when the input file is parsed.
BAS:TIME
I*** REQUESTED PLOT ID`S AND TITLES:
PLOT #
1 201 Pressure
LOCATIONS: DUCT: duct2
PLOT #
2 202 Temperature
LOCATIONS: DUCT: duct2
PLOT #
3 111 Linear P-V Diagram
LOCATIONS: JUNC: cyl1
PLOT #
4 701 Engine Torque
BAS:DATASETS

DUCT: duct3
DUCT: duct3

Next, note the output from the simulation during run-time.


Row (1) gives an abbreviation for what each column of data is displaying. This information may be
useful for debugging purposes in simulations that fail during run-time.

Row (2) is a summary for Cylinder #1 during engine cycle 0, the start-up cycle (WAVE simulations, by
default, begin at IVC for cylinder #1 unless otherwise specified in the General Parameters
panel). Only Cylinder #1 will have results for engine cycle 0.
Row (3) is a summary of engine system performance for engine cycle 0.
Rows (4+) will be a summary of every individual cylinder in the system for each engine cycle followed
by a engine system summary for each cycle.
Starting at engine cycle 3, a line (8) denoting auto-convergence conditions is printed to the
output. When auto-convergence conditions are satisfied (14), if the convergence detection was
activated in the General Parameters panel, WAVE will run one more engine cycle and then finish the
case. This happens regardless of whether or not convergence conditions are satisfied in the following
engine cycle.
The column titles as labeled in row (1) relate to the lines summarizing individual cylinder
performance. They are, in order Cylinder Number, Engine Cycle (cumulative from start of case),
Timestep number (cumulative from start of case), Mass Airflow (kg/hr), Volumetric Efficiency, Exhaust
Port Temperature [K], Equivalence Ratio, IMEP [bar], PMEP [bar], Indicated Horsepower [hp],
Indicated Specific Fuel Consumption [g/kW*hr], Cylinder Pressure at IVC [bar], Cylinder Temperature
at IVC [K], and Trapped Fuel/Air Ratio at IVC.

ENG:
ENG
ENG:
ENG
ENG:
ENG
I***
ENG:
ENG
I***
ENG:
ENG
I***
ENG:
ENG
I***

NC ICYC ISTEP AIR-KG/HR VOLEF


TEXH
PHI
IMEP
PMEP
IHP
ISFC
1
0
1
0.00 0.000 900.0 0.000 0.000 0.000
0.00 0.0000
VOLEF(TOT) = 0.0000
PHI(1) = 0.000
1
1
723
70.68 0.858 413.2 0.883 -1.235 -1.100
-3.25 -2.1073
VOLEF(TOT) = 0.8585
PHI(1) = 0.883
1
2
1489
79.55 0.966 1278.5 0.990 11.959 -1.202
31.50 0.2304
VOLEF(TOT) = 0.9662
PHI(1) = 0.990
AUTO-CONVERGENCE: Uvariance = 0.1346E-01 Pvariance = 0.1391
1
3
2265
79.58 0.967 1353.8 0.990 12.379 -1.213
32.61 0.2227
VOLEF(TOT) = 0.9666
PHI(1) = 0.990
AUTO-CONVERGENCE: Uvariance = 0.1375E-03 Pvariance = 0.3915E-01
1
4
3041
79.57 0.966 1356.1 0.990 12.373 -1.211
32.59 0.2227
VOLEF(TOT) = 0.9664
PHI(1) = 0.990
AUTO-CONVERGENCE CONDITIONS MET: Uvariance = 0.5334E-03 Pvariance = 0.4454E-02
1
5
3817
79.56 0.966 1356.2 0.990 12.370 -1.210
32.58 0.2228
VOLEF(TOT) = 0.9663
PHI(1) = 0.990
AUTO-CONVERGENCE CONDITIONS MET: Uvariance = 0.8932E-04 Pvariance = 0.1447E-02

PCYL
1.013

TCYL
301.1

FTR
0.00

1.575

381.0

0.606E

1.569

385.3

0.680E

1.569

385.8

0.680E

1.568

385.9

0.680E

1.569

385.9

0.680E

Next, note the information on elapsed time, number of timesteps, and limiting elements in the system.
The number of timesteps can be used to calculate the average timestep size in CA over the last
cycle (CA per cycle / #timesteps). Our engine is a 4-stroke engine so there are 720 in a single
engine cycle with 776 timesteps in the last engine cycle. This yields an average timestep size of
approximately 0.93 close to the default maximum timestep size of 1 set in the General
Parameters panel. Although there is no hard and fast rule, typical, well-built WAVE models won't
have a timestep below 0.1. If the timestep is smaller than this, it is usually due to poor modeling
practice (extremely small element size within the model).
The limiting element information can be useful in finding an unreasonably small Discretization Length
or Overall Length (for a duct) or Volume (for a y-junction) that may be slowing the simulation down
dramatically. Note in this simulation that duct4 is the limiting element, with sub-volumes 1, 2, and 4
showing up in the list
ELAPSED TIME OUTPUT:

TIME STEP OUTPUT:

CPU TIME (IN THIS CASE) =


WALL CLOCK TIME
=

TOTAL STEPS IN LAST CYCLE = 776

0.28 sec.
0
sec.

LIMITING ELEMENT
% STEPS (DOES NOT HAVE TO ADD TO 100)
------------------------------------------------------------DUCT/VOL: duct4/1
69.1 DUCT/VOL: duct4/2
11.3

DUCT/VOL: duct4/4

18.4

Finally, general result information is printed in tabular format, printable for records or reports. Results
included are Final Output of all elements in the system (ducts and junctions); Engine
Summary; Breathing Quantities; Fuel Burn Progress Summary, Engine Geometry, Operating
Conditions, Predicted Performance, and Engine Out Emissions; and Valve and Emissions specific
output. The output contained from this point forward varies for what is included in the model
(turbine/compressor, emissions modeling, etc.). Examine this portion regularly to grow more familiar
with WAVE output for different models!

-----------------------------------------------------------------------------------------------------------TITLE: SI Tutorial, 4-Cylinder Gasoline Engine at 6000 rpm


------------------------------------------------------------------------------------------------------------

-----------------------------------------------------------------------------------------------------------F I N A L
O U T P U T
O F
D U C T S
-----------------------------------------------------------------------------------------------------------Duct
Junction TWALL
TAV
PAV
PMAX
PMIN
UMAX
UMIN
MACH
FLOW
A
[K]
[K]
[bar]
[bar]
[bar]
[m/s]
[m/s] NUMBER
[kg/s] [cm^
duct1
Intake 300.0 299.3
0.989
1.049
0.929
110.0
-31.1
0.3195 0.02209 12.5
orif1 300.0 297.6
0.987
1.105
0.865
114.5
-23.0
0.3423 0.02209
9.6
duct2

orif1
cyl1

310.0
310.0

294.4
294.4

0.988
0.988

1.121
1.121

0.821
0.821

114.5
220.8

-23.0
-634.0

0.3423
1.0000

0.02209
0.02360

9.6
0.0

duct3

cyl1
orif2

400.0 1243.4
400.0 1143.8

0.978
0.935

1.402
1.337

0.706
0.596

808.9
859.4

-437.8
-23.5

1.0000
1.3088

0.02361
0.02361

0.0
6.1

duct4

orif2
Exhaust

400.0 1107.4
400.0 1160.6

0.924
0.995

1.248
1.084

0.507
0.927

859.4
389.1

-23.5
-17.9

1.3088
0.5595

0.02361
0.02362

6.1
12.5

------------------------------------------------------------------------------------------------------------TITLE: SI Tutorial, 4-Cylinder Gasoline Engine at 6000 rpm


------------------------------------------------------------------------------------------------------------

E N G I N E
S U M M A R Y
-----------------------------------------------------------------------------------------------------------NC MASS IN
VOL.EFF. TRAP.RATIO
IMEP
PMEP
IHP
TEXH
RES(%)
EGR(%)
PHI
kg/hr
bar
bar
K
-----------------------------------------------------------------------------------------------------------1 79.56
0.9663
1.000
12.37
-1.210
32.58
1356.
3.460
0.000
0.9903
-----------------------------------------------------------------------------------------------------------NC DPMAX
TH_DPMAX
HTR
EVO
EVC
IVO
IVC
VOL.EFF.
COMBSTART IGNDEL
bar/deg
deg
kW
deg
deg
deg
deg
(PLENUM)
deg
deg
-----------------------------------------------------------------------------------------------------------1 2.044
0.9766E-03 10.34
105.0
405.0
330.0
610.0
0.9747
-24.35
0.000

-----------------------------------------------------------------------------------------------------------B R E A T H I N G
Q U A N T I T I E S
-----------------------------------------------------------------------------------------------------------AMB.VOL.EFF (AIR
IN / AMB. REF.) =
0.966
TRAP.RAT.
(FRESH TR./ FRESH IN ) =
1.000
DEL.EFF.
(FRESH IN / PLEN. REF.) =
1.020
SCAV.RAT.
(GAS
IN / GAS
TR. ) =
0.965
CHARG.EFF. (FRESH TR./ PLEN. REF.) =
1.020
SCAV.EFF.
(FRESH TR./ GAS
TR. ) =
0.965
TOT.DEL.EFF (GAS
IN / PLEN. REF.) =
1.020
RESID.FR.
(RESID TR./ GAS
TR. ) =
0.035
EGR FR.
(RESID IN / GAS
IN ) =
0.000

-----------------------------------------------------------------------------------------------------------F U E L
B U R N
P R O G R E S S
S U M M A R Y
------------------------------------------------------------------------------------------------------------

CRANK ANGLES [deg ATDC] VS. FUEL MASS BURNT:


NC
%BURNT:
0%
1%
2%
5%
10%
25%
50%
75%
90%
95%
99%
1
-24.35
-16.49
-14.42
-10.78
-7.09
-0.22
8.00
16.41
23.92
28.36
36.49
-----------------------------------------------------------------------------------------------------------TITLE: SI Tutorial, 4-Cylinder Gasoline Engine at 6000 rpm
------------------------------------------------------------------------------------------------------------

E N G I N E
G E O M E T R Y
---------------------------------------------------------------------------------------------------------I
DISPL./CYL.
[l] = 0.3928
I
NUMBER OF CYLINDERS =
1.000
I
I
[in^3] =
23.97
I
COMPRESSION RATIO
=
10.00
I
EFFECTIVE CR (VC-TDC
I
BORE
[mm] =
78.10
I
BORE/STROKE
= 0.9524
I
I
[in] =
3.075
I
CON. ROD LENGTH[mm] =
150.0
I
I
STROKE
[mm] =
82.00
I
WRIST PIN OFFSET[mm] =
0.000
I
I
[in] =
3.228
I
CLEARANCE VOL.[m^3] = 0.4365E-04 I
ENGINE TYPE
---------------------------------------------------------------------------------------------------------I
INT. VALVE DIA.[mm] =
35.00
I
EXH. VALVE DIA.[mm] =
28.00
I
#1 EVO [deg]
I
MAX. LIFT [mm] =
12.57
I
MAX. LIFT [mm] =
8.640
I
#1 EVC [deg]
I
I
I
#1 IVO [deg]
I
NO. INTAKE VALVES
=
1.000
I
NO. EXHAUST VALVES =
1.000
I
#1 IVC [deg]
---------------------------------------------------------------------------------------------------------O P E R A T I N G
C O N D I T I O N S
---------------------------------------------------------------------------------------------------------I
RPM
=
6000.
I
#1 INT.PORT PR[bar] = 0.9883
I
#1 IGN DELAY [deg
I
AMB. PRESSURE [bar] =
1.000
I
[inHg] =
29.27
I
#1 COMB. START[deg
I
[inHg] =
29.61
I
#1 INT.PORT TEMP[K] =
291.1
I
INJ.TIMING
[deg
I
AMB. TEMP.
[K] =
298.0
I
[degF] =
64.38
I
MID.INJ.PRESS.[bar
I
[degF] =
76.73
I
#1 EXH.PORT PR[bar] = 0.9780
I
[psi
I
FUEL TYPE (C:H:O) C =
7.300
I
[inHg] =
28.96
I
INJ.DURATION [deg
I
H =
13.90
I
I
FUEL RATE
[kg/hr
I
O =
0.000
I
PISTON VEL.
[m/s] =
16.40
I
(MULTI) [lbm/hr
I
FUEL LHV
[MJ/kg] =
43.18
I
[ft/min] =
3228.
I
#1 FUEL / SHOT [kg
I
[btu/lbm] = 0.1856E+05 I
I
I
(A/F) STOICH
=
14.56
I
I
1% FUEL PWR/CYL [W
I
FUEL MOLEC. WEIGHT =
101.7
I
I
---------------------------------------------------------------------------------------------------------P R E D I C T E D
P E R F O R M A N C E
(I D E A L
G A S E S)
---------------------------------------------------------------------------------------------------------I
INDIC. POWER
[hp] =
32.58
I
BRAKE POWER
[hp] =
27.93
I
PMEP
[bar
I
IND.EFFICIENCY [%] =
37.43
I
BRAKE EFFICIENCY[%] =
32.09
I
[psi
I
IMEP(NET)
[bar] =
12.37
I
BMEP
[bar] =
10.61
I
FMEP
[bar
I
[psi] =
179.4
I
[psi] =
153.8
I
[psi
I
ISFC
[kg/kW/hr] = 0.2228
I
BSFC
[kg/kW/hr] = 0.2598
I
IMEP(GROSS)
[bar
I
[lbm/hp/hr] = 0.3662
I
[lbm/hp/hr] = 0.4272
I
[psi
I
IND. TORQUE
[N*m] =
38.67
I
BRAKE TORQUE [N*m] =
33.15
I
FRICT. TORQUE [N*m
I
[ft*lbf] =
28.52
I
[ft*lbf] =
24.45
I
PUMP. TORQUE [N*m
I
ISAC
[kg/kW/hr] =
3.275
I
AUXILIARY POWER [hp] =
0.000
I
#1 EXHAUST TEMP [K
I
[lbm/hp/hr] =
5.383
I
[kW] =
0.000
I
[degF
I IND. ENERGY BALANCE:(MULTI)
I
FRESH AIR IN[kg/hr] =
79.56
I
#1 PMAX
[bar
I
NET PISTON WORK [%] =
37.43
I
(WET)
[lbm/hr] =
175.4
I
[psi
I
AVAIL.EXH.ENTH. [%] =
9999.
I
TRAPPING RATIO
=
1.000
I
#1 CA AT PMAX [deg
I
DEBIT INTK.ENTH.[%] =
9999.
I
VOL.EFF.(DELIVERED) = 0.9663
I #1 MAX DP/DTH [bar/deg
I
H. TRAN.(IN-CYL)[%] =
15.93
I
#1 VOL.EFF.(PLENUM) = 0.9747
I
[psi/deg
I
BLOWBY AT RING1 [%] =
9999.
I
A/F TRAPPED
=
14.70
I #1 CA AT MAX DP/DTH[de
I
IMBALANCE
[%] =
9999.
I
PHI TRAPPED
= 0.9903
I
#1 MAX AVG.GAS T[K
I
PUMPING WORK
[%] = -3.662
I
RESIDUAL FRAC. [%] =
3.460
I
[degF
I
I
BRAKE POWER
[kW] =
20.83
I
FRIC. (%FUEL ENER.
I
I
I
H.TRAN.(IN-CYL)[kW
---------------------------------------------------------------------------------------------------------E N G I N E
O U T
E M I S S I O N S
---------------------------------------------------------------------------------------------------------I
NOx
[ppm] =
0.000
I HC EMISSIONS(C1) [ppm] =
63.96
I
CO EMISSIONS [ppm
I
NOx AS NO2
[g/hr] =
0.000
I
[g/hr] =
2.622
I
[g/hr
I
(BRAKE SPC.)[g/kW/hr] =
0.000
I
(BRAKE SPC.)[g/kW/hr] = 0.1259
I
(BRAKE SPC.)[g/kW/hr
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------TITLE: SI Tutorial, 4-Cylinder Gasoline Engine at 6000 rpm
------------------------------------------------------------------------------------------------------------

ENGINE CYLINDER BACKFLOW


---------------------------------------------------------------------------------------------------------I
I
BEFORE EVC
I
AFTER EVC
I
I
CYL
I AMOUNT[kg] I % OF TOTAL I AMOUNT[kg] I % OF TOTAL I
-------------------------------------------------------------------------I
1
I 0.8268E-06 I 0.1751
I 0.5540E-05 I
1.174
I
---------------------------------------------------------------------------------------------------------ENGINE INTAKE VALVE BACKFLOW
---------------------------------------------------------------------------------------------------------I
I
BEFORE EVC
I
AFTER EVC
I
I
I CYL VAL I AMOUNT[kg] I % OF TOTAL I AMOUNT[kg] I % OF TOTAL I REVERSE ANGLE I
-------------------------------------------------------------------------------------------I
1
1
I 0.8268E-06 I 0.1751
I 0.5540E-05 I
1.174
I
572.2
I
---------------------------------------------------------------------------------------------------------CYCLE AVERAGED ENGINE CYLINDER EXHAUST INDICATED SPECIFIC EMISSIONS
---------------------------------------------------------------------------------------------------------I
I
NO
I
NO2
I
CO
I
I CYL I
[g/kW/hr] I
[g/hp/hr] I
[g/kW/hr] I
[g/hp/hr] I
[g/kW/hr] I
[g/hp/hr] I
[g/k
---------------------------------------------------------------------------------------------------------I
1 I
0.000
I
0.000
I
0.000
I
0.000
I
0.000
I
0.000
I 0.107
----------------------------------------------------------------------------------------------------------

CYCLE AVERAGED AMBIENT EMISSIONS


---------------------------------------------------------------------------------------------------------I
I
NO
I
NO2
I
CO
I
HC
I
I
AMBIENT
I
[g/hr]
I
[g/hr]
I
[g/hr]
I
[g/hr]
I
------------------------------------------------------------------------------I Exhaust
I
0.000
I
0.000
I
0.000
I
2.621
I
I Intake
I
0.000
I
0.000
I
0.000
I
34.02
I
----------------------------------------------------------------------------------------------------------

Proceed to Step 5 - Introduction to Post-Processing and WavePost

Show

SI Tutorial, Phase 2 - Running WAVE and


Creating Time Plots in WavePost
Step 5 - Introduction to Post-Processing and WavePost
In this step we will examine the files created by WAVE for post-processing and use WavePost to
examine and create Time Plots from the simulation. We will also observe how WavePost displays
Cycle Average quantities using datasets requested in WaveBuild.

Chapter sections
5.1 The .sum File
5.2 The .wvd File
5.3 The .wps File
5.4 Time Plots in WavePost
5.5 Cycle Average Results

Example Input File:


.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si1.wvm
Example Output File:
.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si1.wps

in WavePost

5.1 The .sum File


At the end of the simulation, WAVE should have created a .sum file. The .sum file is a simple ASCII
text file that can be viewed using any text editor, but is intended for use by the WavePost postprocessor.
The .sum file contains a group of name=value pairs that detail the cycle-averaged results for each
case in the simulation. Cycle-averaged results are single-number values detailing results that are
calculated as an average over the entire last cycle in the simulation. Examples include Torque,
Power, and Fuel-Consumption (a list of what each name in the .sum file equates to can be found in
the WAVE Help). At the end of the output for each case, all constants, including pre-defined
constants, are also listed with the values used.
Open the .sum file and examine:
SUM:

CASE: 1 -----------------------------------------------------------------------------------------------------------TITLE= SI Tutorial, 4-Cylinder Gasoline Engine at 6000 rpm


TIME=
0.000000
TIME_RUN= 0.1000000
CPU_TIME= 0.4380000
ELAPSED_TIME= 0.000000 CYCLE=
5.000000
PAMBE=
1.000000
TAMBE=
298.0000
AIRKGH= 79.56063
AIRRPM= 0.1326010E-01 FUEKGH= 5.412287
BSFCSI= 0.2598259
BSFCBR= 0.4271538
ISFCSI= 0.2227600
ISACSI= 3.274573
ISFCBR= 0.3662175
HTR%=
15.92595
FRICT%= 5.339182
RES%=
3.459644
VOLEFD= 0.9663104
HTR=
10338.71
THEVO1= 105.0000
THEVC1= 405.0000
OVERL1= 75.00000
COMBSTART1= -24.34658
VOLEF1= 0.9663104
AFTRP1= 14.70000
PMAXSI1= 61.92454
TH_PMAX1= 14.30476
IMEPSI1= 12.36994
EGR%1=
0.000000
HTR1=
10338.71
TRAPRT1= 1.000016
PVOLEF1= 0.9747397
DPMAX1= 2.043934
TH_DPMAX1= 0.9765625E
PEXH=
0.9779931
TINT=
291.1385
TEXH=
1356.193
DELEFF= 1.020265
SCAVRA= 0.9653720
DELEFT= 1.020247
EGR=
-0.1722039E-04 BHP=
27.93407
BPOWKW= 20.83043
BMEPSI= 10.60529
TORQBR= 24.45019
IHP=
32.58212
IMEPSI= 12.36994
IMEPBR= 179.4108
ITORQSI= 38.66922
NMEPBR= 179.4108
GMEPSI= 13.58031
GMEPBR= 196.9657
PMEPSI= -1.210373
PMEPBR= -17.55498
FMEPBR= 25.59414
FTORQ=
5.516422
AUXPOWKW= 0.000000
PHITRAP= 0.9902628
PPMNO=
0.000000
PPMHC=
63.96400
GMHC=
0.7283791E-03 BSHC=
0.1258814
PPMCO=
0.000000
GMCO=
0.000000
HTRIVP1= 18.83508
HTCEVP1= 279.9336
HTREVP1= -124.5681
TH0%B1= -24.34658
TH1%B1= -16.48995
TH10%B1= -7.087250
TH25%B1= -0.2220210
TH50%B1= 8.000735
TH75%B1= 16.41493
TH90%B1= 23.92243
TH0%_2%B1= 9.931245
TH0%_5%B1= 13.56872
TH0%_10%B1= 17.25933
TH0%_90%B1= 48.26900
TH2%_90%B1= 38.33776
DTLduct1= 299.2815
DTRduct1= 297.5500
DPLduct1= 0.9891816
DPRduct1= 0.9873856
DHduct1= -0.1634780E
DVLduct1= 20.95363
DVRduct1= 20.97836
DFLduct1= 0.2208944E-01 DFRduct1= 0.2208986E-01 DMLduct1= 0.3194962
DTRduct2= 294.3535
DPLduct2= 0.9882348
DPRduct2= 0.9882348
DHduct2= -0.3115508E-01 DPTOTLduct2= 1.001466
DVRduct2= 20.18555
DFLduct2= 0.2208986E-01 DFRduct2= 0.2360319E-01 DMLduct2= 0.3423029
DMRduct2= 1.000000
DPLduct3= 0.9782504
DPRduct3= 0.9351169
DHduct3= 1.857011
DPTOTLduct3= 1.054536
DPTOTRduct3= 1.072708
DFLduct3= 0.2360543E-01 DFRduct3= 0.2360524E-01 DMLduct3= 1.000000
DMRduct3= 1.308751
DTLduct4= 1107.390
DPRduct4= 0.9949624
DHduct4= 2.728034
DPTOTLduct4= 1.062538
DPTOTRduct4= 1.031677
DVLduct4= 171.7042
DFRduct4= 0.2362354E-01 DMLduct4= 1.308751
DMRduct4= 0.5594955
$case=
1.000000
$subcase= 0.000000
$pi=
3.141593
A_F=
14.70000
SPEED=
6000.000
#

5.2 The .wvd File


WAVE also will create a .wvd file. The .wvd file is a binary file (not legible in a text-editor) written in
Ricardo SDF (Standard Data File) format and is also intended for use by the WavePost postprocessor. Data for requested time plots and datasets are stored in the .wvd file. If necessary, this
data can be extracted by using either the SDFBrowser or the sdftoascii command-line program, both
installed with WAVE. The .wvd file also stores a copy of the network layout and other key
information for post-processing. This file is vital to running the WavePost post-processor and should
not be tampered with by editing, renaming, etc.

5.3 The .wps File


When any time plots are requested in WaveBuild, WAVE will create a .wps file at the end of the
analysis. The .wps file is also an XML format file that can be observed in any web browser by
changing the filename extension to.xml. It is simply a session file (template) for the WavePost postprocessor detailing what information to extract from the .wvd file for requested time plots that are
created during the WAVE simulation.
When WavePost is launched directly from WaveBuild, it will look in the working directory for
a .wps file with the same prefix as the currently loaded .wvm file in WaveBuild. If it exists, the file is
opened in WavePost and the .wvdand .sum files from the same simulation are assumed to be the
results set for analysis.

5.4 Time Plots in WavePost

Launch WavePost from WaveBuild by clicking on the WavePost button in the toolbar
. The
WavePost GUI will open and automatically load the .wps created by WAVE (since we requested time
plots in WaveBuild). The network should appear in the main WavePost window identical to its
appearance in WaveBuild (see Figure 1).

Figure 1: WavePost GUI

The Results Frame in the lower right corner of WavePost shows all results available in the current
session file. Plots are categorized as Time Plots, Sweep Plots, Spatial Plots, or TCMAP
Plots. The Time Plots that we requested in WaveBuild have been automatically created and are
listed in the tree under the Time Plots folder. Double-click on the Pressure plot to see the result
(see Figure 2). Notice that this plot has a data line for the single element in duct2 as well as both of
the elements in duct3, where we decided to "Use All Locations".

Figure 2: Time Plot of Pressure in duct2 and duct3

Each plot can be individually opened and edited. Elements of the plot, such as the data line, the
axes, the title, etc. are all selectable and changeable. Individual data curves can be hidden through
the Curve Selector Panel (Tools > Curve Selector...). Data can also be Cut, Copied, and Pasted
between plots. A single plot can also be Cloned (File > Clone) to create an exact copy of a plot to
use as a template for new data.
Data can be added to a plot from the existing results (Add > Data...) or imported from an ASCII text
file, Ricardo SDF-formatted file, or, on PC, from an MS-Excel file (File > Import > Excel...,
ASCII..., or SDF...). Data on an existing plot can also be exported to an Excel file (on PC) or to an
ASCII text file by selecting the File > Export... pull-down menu item.
Plots can be printed directly to a printer or to an image file by clicking on the Print button
toolbar.

in the

The plots that were pre-requested in WaveBuild are already created and listed under the Time
Plots folder. But we also requested some Basic and Valve Datasets. This data has been stored in
the .wvd file and we can now create our own time plots using this data. We will create an overlay of
Valve Flow Coefficient (CF) and Valve Discharge Coefficient (CD) vs. non-dimensionalized valve lift
(L/D).
Right-click on the Time Plots folder and select the Add Time Plot... option a blank time plot
window will open. Select the Data... option from the Add pull-down menu to open the Time Data
Panel. In the Output Sets option menu, highlight the single set that is available
(named filename.wvd:Case 1). In the Independent Variable (X) section of the panel, select
the Custom option and then click on the Edit... button to open the X Axis Selector Panel. Highlight
the Junction Cyl1 Intake 1 option in the Elements option menu and select Valve Lift Over

Diameter in the Variables option menu. The X Axis Selector Panel should appear as in Figure 3,
below.

Figure 3: X Axis Selector Panel

Click the OK button to save the selections and close the panel. Back in the Time Data Panel, under
the Elements option menu, highlight the Junction Cyl1 Intake 1 option and pick Valve Flow
Coefficient in the Variables option menu. When finished, the Time Data Panel should appear as
in Figure 4.

Figure 4: Time Data Panel

Click the OK button to save the settings and close the panel. The data curve for Flow Coefficient will
appear in the Time Plot and the plot title and axis labels will be automatically generated. Double-click
on the plot title and edit it to read "CF and CD". Double-click on the Y-axis and edit the label to read
"Valve Coefficient" (delete the word Flow). Double-click on the X-axis and edit the label to read
"L/D". Double-click on the plot frame (easiest to do at the top or right-edge of the plot) and click in
the Grid checkbox.
Highlight the data curve and, using the Copy
and Paste
toolbar buttons, paste a second data
curve on the same plot. Double-click on the second data curve in the legend to open the Curve
Panel. Click on the Edit Databutton and then click on the Modify Data Source button. Change the
Variable to VALVE:DISCHARGE_COEFFICIENT and click on the OK button to save the
change. Don't forget to update the Legend in the Curve Panel to reflect the change from flow to
discharge coefficient. Finally, in the "Plot" pull-down menu, change the option from "Cyclic" to
"XY". When finished, the Time Plot should appear as in Figure 5. Close the Time Plot and note that
a fifth plot is in the list under the Time Plots folder named "CF and CD".

Figure 5: CF and CD Plot for cyl1 Intake Valve

Time plots can also be made quickly by right-clicking on an element in the flow network diagram and
selecting a variable to plot. Right-click on duct1 to create a time plot of Velocity at
location 0.0 (Figure 6) and right-click oncyl1 to create a time plot of Pressure (Figure 7).

Figure 6: Velocity Time Plot at duct1, Location 0.0

Figure 7: Cylinder Pressure Time Plot at cyl1

5.5 Cycle Average Results in WavePost


Any dataset that stores data for elements (cells/junctions) which was requested in WaveBuild can be
displayed as color contours on the flow network diagram. In the Results Frame in the lower right
corner of WavePost, right-click on the Average folder under the Network Displays folder. This will
open the Average Panel and will automatically redraw the model canvas to display the flow network
as a simple scaled model; the ducts and junctions are redrawn with relative diameters displayed and
color contours to represent the selected variable. Change the name to Case #1 Velocity and select
the Velocity variable, then click the OK button to close the panel. This creates the Network Display
in the Average folder named Case #1 Velocity.
The scale at the bottom of the window automatically sets upper and lower bounds by using the
highest and lowest calculated values from the dataset. These can be controlled in the Contour Map
Panel (accessible from the Average Panel, or by double-clicking on the contour bar at the bottom of
the canvas) using the slider bars or by typing numerical values in the given text fields.

Figure 8: Cycle Average Velocity

Save your file

Save this WavePost session file (.wps) by selecting the Save As... option from the File pull-down
menu. It is important to save a WavePost file under a different name when it has been edited (plots
created, changed, etc.) since WAVE will overwrite the file every time the solver is run. If you would
like to rerun the model file and still have access to the plots and network displays you've just created
save the .wps file to the same directory with a new name.

Proceed to Phase 3 - Multi-Case, 4-Cylinder Model and Creating Sweep Plots in


WavePost

Show

SI Tutorial, Phase 3 - Converting to a MultiCase, 4-Cylinder Model and Sweep Plots in


WavePost
A 4-cylinder model can be built using the single-cylinder model as a template. The 4-cylinder model
will be analyzed over a range of operating speeds by creating a multi-case analysis.

Phase 3 Steps

Optional Starting Point:

1 Copying and Pasting the


Single-Cylinder Model
2 Joining the Cylinders
Using a Simple Y-Junction
3 Creating a Multi-Case
Speed Sweep
4 Changes in the .out and
.sum Files
5 Creating Sweep Plots in
WavePost

.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si1.wvm
Example Input File:
.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4.wvm
Example Output File:
.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4.wps

With these five steps, we will create a parameterized 4-cylinder model that runs un-throttled over a
range of 1000-6000 rpm. We will then observe the behavior of the engine over the speed range by
creating Sweep Plots in WavePost.

Show

SI Tutorial, Phase 3 - Converting to a MultiCase, 4-Cylinder Model and Sweep Plots in


WavePost
Step 1 - Copying and Pasting the Single-Cylinder Model
Time and effort can be saved when creating our 4-cylinder model by using the existing single-cylinder
model as a template. Copy and Paste functionality can be used to create three copies of the singlecylinder network, including the attached ducts representing the ports. The engine information then
needs to be updated to reflect the addition of three new cylinders.

Chapter sections

Example Input File:

1.1 Detaching the Ambient


.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4.wvm
Junctions
1.2 Copying and Pasting the
Example Output File:
Network
1.3 Creating
an
Engine
.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4.wps
Block Icon

1.1 Detaching the Ambient Junctions

The
single-cylinder
model
currently
has
Ambient
junctions
at
both
ends,
named Intake and Exhaust. We don't need to include these when replicating the engine
network. These ambient junctions can be detached and moved aside for the time being.
Middle-click on the end of duct1 that is attached to the Intake ambient. Holding the middle-mouse
button down, drag the end of duct1 out onto the canvas and release the mouse button. This will
detach the duct from the ambient. Repeat for the end of duct4 attached to the Exhaust ambient.
Using the middle mouse button, drag the Intake ambient further to the left, to move it out of the
way. Repeat for the Exhaust ambient, moving it further to the right. When finished, the model should
appear as in Figure 1.

Figure 1: Ambients Detached from Ducts

1.2 Copying and Pasting the Network

The engine-cylinder network, with the attached ducts representing the intake and exhaust ports, is
identical for all four cylinders in the engine. We can therefore copy and paste the existing singlecylinder network three times to create the other cylinders in our 4-cylinder engine. Using the left
mouse button, draw a box around the ducts and engine-cylinder network to select the entire system
(be careful not to draw the box around the ambient junctions). All of the selected items within the box
will be highlighted in red. Click on the Copy button in the toolbar . Then click on the Paste
button
in the toolbar and the mouse pointer will become a crosshair icon. Click on the canvas
beneath the cyl1 junction and a duplicate network will be created. Click on the Paste button
and
place the duplicate network two more times to create four identical duct/junction networks to
represent all four engine-cylinders. Note that the ducts and junctions have all been numbered
sequentially.
Plot requests are not duplicated, thus no plots are dangling off of any of the newly created
ducts/cylinders (feel free to request new plots if desired). To hide the plots that currently exist on the
network, right-click anywhere in the white canvas area and select the Edit Canvas
Properties... option from the menu to open the Canvas Properties panel. De-select the Plots toggle
button in the Annotations section of the panel (see Figure 2).

Figure 2: Canvas Properties panel

This will simply hide the plot icons and not draw them on the canvas. When finished, the model
should appear as in Figure 3.

Figure 3: Single Cylinder Flow Network Duplicated

1.3 Creating an Engine Block Icon

Adding an Engine Block icon to the canvas will provide a clickable and selectable object, enabling
direct access to the Engine General Panel (previously accessed through the Model pull-down menu
or an engine cylinder junction) and also allow for right-click selection to add plots and other
attachments (sensors and actuators to be discussed in later tutorials).
Select the Create Engine... option from the Tools pull-down menu to open the Create Engine
Panel. This panel displays currently entered geometric values from the Engine General
Panel. Currently, there is only one cylinder in the engine -- this must be updated to reflect that three
new cylinders have been added. Change the No. of Cylinders text field to 4 and press
the Enter key. This will update the Preview of the engine block on the right as well as the Firing
Order table at the bottom. The Firing Order table will automatically calculate the TDC (top dead
center time) for each cylinder based upon the No. of Cylinders value and the Strokes per
Cycle selection (TDCs are calculated for even firing intervals and are relative to the previous cylinder,
with the first firing cylinder at crank-angle 0). Change the Firing Order to reflect that of a standard 4cylinder engine 1, 3, 4, 2. The default spacing of the cylinder TDCs will be appropriate for this
tutorial. When completed, the Create Engine Panel should appear as in Figure 4.

Figure 4: Create Engine Panel

Click the OK button to close the panel and note the Engine Block icon that is added to the canvas.
When the Engine Block is created, it will have four Engine Cylinder junctions created along with it
by default. Left-click each of these newly-created Engine Cylinders one at a time (they will highlight
in red) and press the Delkey to delete them, leaving an empty Engine Block icon. Move the Engine
Block icon over to the Engine Cylinders that are currently on the canvas by middle-clicking on the
icon and dragging it. The existing Engine Cylinderjunctions can be "dropped" into the icon by
middle-clicking on them, one at a time, and placing them over the cylinder place-holders on the
icon. They will snap into place on the icon and be associated with the icon from that point on. The
bore-spacing of the Engine Block icon can be adjusted by right-clicking on the icon and
selecting Appearance... from the menu. Default WaveBuild grid spacing is 40/square so, if the
cylinder junctions are placed 3 grid squares apart, use a spacing of 120 (see Figure 5).

Figure 5: Engine Block Icon Appearance

When completed, the model should appear as in Figure 6.

Figure 6: Model with Engine Block Icon

Save your model


Select the Save As... option from the File pull-down menu and give the model a new name, such
as tut_si4.wvm.

Proceed to Step 2 - Joining the Cylinders using a Simple Y-Junction

Show

SI Tutorial, Phase 3 - Converting to a MultiCase, 4-Cylinder Model and Sweep Plots in


WavePost
Step 2 - Joining the Cylinders Using a Simple Y-Junction
A simple Y-junction will be used to join all four engine-cylinders together at the intake ports. This will
represent a large spherical plenum with a single intake pipe that will connect to the existing Intake
ambient junction. The same will be modeled on the exhaust side.

Chapter sections

Example Input File:

2.1 Placing the Simple Y.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4.wvm


Junctions on the Canvas
2.2 Defining the Simple YExample Output File:
Junctions
.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4.wps

2.1 Placing the Simple Y-Junctions on the Canvas


Y-junctions are used anywhere a volume needs to be modeled that has more than one connection
point. They are also used to represent arbitrarily-shaped volumes with an aspect ratio inappropriate
for modeling by a duct. This includes T-Junctions, Exhaust Collectors, Catalytic Converter cones, AirFilters, etc. The Y-junction is represented by a volume and surface area and can have as many ducts
connected as desired, but must have at least oneconnection.
There are two different Y-Junctions: Simple and Complex. The Simple Y-junction is assumed to be
spherical in shape and requires minimal input a diameter defines the volume, surface area, and
characteristic flow values required for the junction. Complex Y-junctions are more flexible but also
require more user-input. They are used to define any arbitrary shape desired. For this section of the
tutorial, we will use Simple Y-junctions to connect the intake and exhaust cylinders into one inlet
source and one exhaust sink.
Drag and drop one Simple Y-junction on each side of the engine near the middle, vertically
(see Figure 1).

Figure 1: Simple Y-Junctions on the Canvas

Connect the dangling duct ends to the Simple Y-junction by dragging and dropping (use the
middle-mouse button) anywhere on the blue portion of the junction. Any duct end dropped onto the
blue portion of the junction will create its own connection point automatically. Dropping the dangling
duct end on the existing connection point, , will occupy that connection point, leaving no starting
point to draw a duct away from the Y-junction. If there are no connection points on a Yjunction and a duct must start at that junction and be drawn away from it (to follow the Left to Right
convention), simply left-click on the blue portion and drag a duct away from the Y-junction.
Create a new duct between the Intake ambient and the Simple Y-junction on the intake
side.
Enter 50 [mm]
for
both Left and Right
Diameters and 500 [mm]
for Overall
Length. The Discretization Length should be 35 [mm], as used earlier in the single-cylinder
model. The default initial conditions are suitable for this duct.
Create another new duct between the Simple Y-junction on the exhaust side and
the Exhaust ambient (following the Left to Right convention). Enter 50 [mm] for both Left and Right
Diameters and 500 [mm]
for Overall
Length.
Enter 40 [mm]
for
the Discretization
Length.
Appropriate
initial
conditions
for
this
duct
should
be
set
as 1.05 [bar] Pressure, 700 [K] Temperature, and 650 [K] Wall Temperature. When completed, the
model should appear as in Figure 2.

Figure 2: All Ducts Connected

2.2 Defining the Simple Y-Junctions


The Simple Y-junctions must be fully defined before the model will run. We must define the
geometry of the junction as well as the orientation for all of the connected ducts.
Double-click on the intake-side Y-junction to open the Simple Y-Junction Panel. The geometry for
the Y-junction is defined using only a Diameter value, as the junction is assumed to be spherical in
shape. The volume and surface area are therefore easily determinable using the entered Diameter
value. Type 50 [mm] in the Diameter text-field. The default coefficients and initial conditions are
suitable for this tutorial (see Figure 3).

Figure 3: Intake-side Simple Y-Junction Panel

Click on the Edit Openings button to orient the connected ducts.


A new window will open with a graphical representation of the junction and the connected ducts. The
green sphere represents the volume occupied by the Y-junction, while the connected ducts are scaled
in size, relative to the size of the green sphere, based on the duct diameters. The currently-selected
duct is colored solid red in the window while the other ducts are drawn in translucent gray. The
junction/ducts can be rotated in 3-D space by holding the Shift button while clicking and dragging in
the window using the middle mouse button.
For each attached duct, the orientation needs to be given using three angles to describe the duct
position relative to the X, Y, and Z axis. If the entered values for these angles do not sum correctly
(i.e. the defined angles are geometrically impossible to orient the duct in 3-D space), all three fields
will turn red to indicate the error. Once corrected, the fields will turn green again.
You can define the directions of positive and negative rotation and there is no right or wrong
way. Once a convention for the X, Y, and Z rotations has been established for a junction, this should
be adhered to for all the ducts joined to this junction. If possible, it is often easier to keep one plane
flat when dealing with a junction, thus reducing the number of angles that need to be computed.
For the sake of this tutorial, assume that rotation in the clockwise direction is positive. Although the
orientation of each duct is only important relative to the other ducts at the junction, it is usually easiest
to orient the ducts similarly to the appearance on the canvas (if the orientation on the canvas is close
to the true orientation). Orient the ducts leading to cylinders 1 and 4 at 60 degrees off the xaxis and the ducts leading to cylinders 2 and 3 at 30degrees off the x-axis. They should be
oriented similarly to how they appear on the WaveBuild canvas in Figure 2. When completed, the
Openings panel should appear as in Figure 4.

Figure 4: Openings Panel for Simple Y-Junction 1

The exhaust-side Simple Y-junction should be set up similarly, with a Diameter of 50 [mm] and
initial conditions similar to the outlet duct Pressure of 1.05 [bar], Temperature of 700 [K], and Wall
Temperature of 650 [K]. The orientation of the ducts should be similar to that of the layout on the
canvas, as in the intake-side Y-junction. When completed, the Simple Y-junction Panel and Openings
panel should appear as in Figure 5 and Figure 6below, respectively.

Figure 5: Exhaust-side Simple Y-Junction Panel

Figure 6: Openings Panel for Simple Y-Junction 2

Save your model


Click on the Save button in the toolbar

to save the file.

Proceed to Step 3 - Creating a Multi-Case Speed Sweep

Show

SI Tutorial, Phase 3 - Converting to a MultiCase, 4-Cylinder Model and Sweep Plots in


WavePost

Step 3 - Creating a Multi-Case Speed Sweep


The model is complete. To get useful results from this model, you need to set up the run
conditions. A popular application is to have multi-case runs that cover the engine RPM range of
operation. From such runs, one can calibrate or study the Torque (Power, Volumetric Efficiency, etc.)
curves of the engine over the range of operation. In this section you will learn how to incorporate
multi-case runs into the WAVE engine model.

Chapter sections

Example Input File:

3.1 Adding Cases with the


Case Manager
3.2 Changing Constants
between Cases

.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4.wvm
Example Output File:
.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4.wps

3.1 Adding Cases with the Case Manager


Cases can be added and deleted using the Case Manager at the bottom of the WaveBuild
canvas. Click on the Add Case button 5 times to create 5 more cases for a total of 6 cases.
WARNING: It is dangerous to edit the model in any case other than Case #1 as changing the
elements, components, or general behavior between cases can cause WAVE to crash at runtime. Therefore when in any case other than Case #1, the background of the case text field will
be red to warn the user as in Figure 1.

Figure 1: Case Manager when case other than Case #1 is selected

Make sure to return to Case #1 before continuing by either typing directly into the text field or using
the arrow selection buttons.

3.2 Changing Constants between Cases

The convenience of using multiple cases is that Constant values can be changed from case to case.
For this tutorial, we will step from 6000 rpm down to 1000 rpm, using 1000 rpm increments to
simulate multiple steady-state test points in a speed sweep. Open the Constants Panel
and note
that there are now columns added to the table for every new case created. Also note that the values
from Case #1 are filled in for all of the new cases, using light-gray text. The light-gray text denotes
that the value is carried over from the previous case. If no new value is provided for a constant,
WAVE assumes that the value used in the previous case is suitable.
Select the Case #2 field for the SPEED constant and enter 5000. Enter 4000 - 1000 for Cases #3 #6, respectively. The Constants Panel should appear as in Figure 2. Click OK to close the panel
and save the settings.

Figure 2: SPEED values in Constants Panel

When running a speed-sweep simulation, it is recommended to start at the high speed and move
downwards toward the low speed. This is because the WAVE solver is actually working in a timebase
of seconds and the solution tends to converge based on the number of repeated engine cycles. More
cycles can be completed at high RPM in a given amount of time in seconds than at low RPM. This
means a system running a high RPM will tend to finish quicker than at low RPM, thus any problems
with the general setup may be detected earlier when starting at a high RPM.
Typically, with a change in engine speed other parameters change as well, such as combustion
behavior and cylinder temperatures.
Double-click on the Engine Block icon to open the Engine General Panel. Click on
the Heat Transfer tab and enter {PISTON_TEMP}, {HEAD_TEMP}, {LINER_TEMP}, {IV_TEMP},
and {EV_TEMP} in the text fields for the Piston Top, Cylinder Head, Cylinder Liner, Intake Valve,
and Exhaust Valve temperatures, respectively. Click on the Apply button and a message will
appear as show in Figure 3.

Figure 3: Undefined Constants Message Box

WaveBuild has detected that new constants have been used but are not defined in the Constants
Panel. Click on the Yes button to open the Edit Constants panel and edit the profiles for these five
new constants. Enter the values as shown in Figure 4 These profiles describe the temperature of
the combustion chamber cooling slightly with a decrease in engine speed. Click OK to save these
constant profiles and close the Edit Constants panel.

Figure 4: Profiles for Combustion Chamber Temperatures

Click on the Combustion tab and enter {CA50} in the Location of 50% Burn Point text field
and {BDUR} in the Combustion Duration (10-90%) text field. Click on the Apply button again to be
queried on adding these constants to the table. Select Yes from the Query window and enter the
profiles as given in Figure 5. These constants help to describe the shorter crank angle duration of
combustion and retarding of spark timing at lower engine speeds. Click OK to save these constant
profiles and close the Edit Constant panel.
Click the OK button to close the Engine General Panel.

Figure 5: Profiles for SI Wiebe Function Inputs

Save your model


Click on the Save button in the toolbar
to save the file and then click on the Run Screen Mode
button
to launch the analysis (note how engine cycles take longer to complete in the later cases, at
lower engine speeds).

Proceed to Step 4 - Changes in the .out and .sum Files

Show

SI Tutorial, Phase 3 - Converting to a MultiCase, 4-Cylinder Model and Sweep Plots in


WavePost
Step 4 - Changes in the .out and .sum Files
With a multi-case, 4-cylinder model, there are some changes in the .sum and .out files of note. We
will open both files and observe what is different from the single-cylinder output.

Chapter sections
4.1 Changes in the .out File

Example Input File:


.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4.wvm

4.2 Changes in the .sum File Example Output File:


.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4.wps

4.1 Changes in the .out File


Using your favorite text-editor, open the .out file created by the run. First, note that the simulation
initializes by running an engine-cycle 0 only for cylinder 1. Then, for every engine-cycle following,
data for each cylinder in the 4-cylinder engine is printed:

TITLE: SI Tutorial, 4-Cylinder Gasoline Engine at 6000 rpm


NC ICYC ISTEP AIR-KG/HR VOLEF
TEXH
PHI
IMEP
PMEP
ENG:
1
0
1
0.00 0.000 900.0 0.000 0.000 0.000
ENG VOLEF(TOT) = 0.0000
PHI(1) = 0.000
ENG:
2
1
182
0.00 0.000 900.0 0.492 0.000 0.000
ENG:
3
1
362
0.00 0.000 900.0 0.869 0.000 0.000
ENG:
4
1
554
0.00 0.000 900.0 0.914 0.000 0.000
ENG:
1
1
786
66.35 0.806 437.2 0.893 -1.080 -1.021
ENG VOLEF(TOT) = 0.2015
PHI(1) = 0.893

IHP
0.00

ISFC
0.0000

PCYL
1.013

TCYL
301.2

FTR
0.00

0.00 0.0000
0.00 0.0000
0.00 0.0000
-2.84 -2.2470

1.497
1.614
1.569
1.544

376.9
403.2
403.5
405.2

0.338E
0.597E
0.628E
0.613E

Also note that the same output created for the single-cylinder, run is created for each case in the
multi-case run.
At the beginning of the output for Case #2, note the warning statement:
W*** FLOW FIELD NOT REINITIALIZED AT START OF THIS CASE

This warning tells us that the initial conditions for Case #2 are set by using the final conditions
from Case #1 (controlled by the Reinitialize Flowfield Between Cases toggle button on the General
Parameters Panel). Note that there is no engine cycle 0 for cylinder 1 in any of the cases
following Case #1 since no re-initialization occurs. This practice usually saves the simulation a few
engine-cycles in each case as it is initialized using conditions that are most-likely closer to the
converged results than those specified by the user when setting up the simulation. For the six cases

in this simulation, the reduction in the number of cycles is noted in the table below, showing that a
total of 10 (35 - 25 = 10) fewer engine-cycles are performed if reinitialization is skipped in this
manner:
NUMBER OF CYCLES REQUIRED
Case #

Reinitialized
Flowfield

Non-reinitialized
Flowfield

Total

35

25

4.2 Changes in the .sum File


Open the .sum file with a text-editor and note that there is a set of cycle-averaged summary outputs
for every case in the simulation. The end of a case results set is delimited by a # sign, while the start
of a new case results set is delimited by a CASE: line and followed by a TITLE line as below (note
that the {SPEED} constant in the title is updated for every case):

#
CASE: 2 ----------------------------------------------------------------------------------------------------TITLE= SI Tutorial, 4-Cylinder Gasoline Engine at 5000 rpm

Proceed to Step 5 - Creating Sweep Plots in WavePost

Show

SI Tutorial, Phase 3 - Converting to a MultiCase, 4-Cylinder Model and Sweep Plots in


WavePost
Step 5 - Creating Sweep Plots in WavePost
The output files created by WAVE for use in WavePost (the .sum and .wvd files) now contain
information about the simulation for all six cases in the model. Sweep Plots can be created in
WavePost to illustrate change in output values over the speed range of the model.

Chapter sections
5.1 Multi-case Handling in

Example Input File:


.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4.wvm

WavePost
5.2 Creating Sweep Plots

Example Output File:


.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4.wps

5.1 Multi-case Handling in WavePost


Launch WavePost from WaveBuild by left-clicking in the Launch WavePost button in the WaveBuild
toolbar .
By default, WavePost opens a .wps file with the Time Plots folder opened in the Plots folder tree
(see Figure 1). All plots that have been created by default, from plot requests in WaveBuild, are
named by the plot type. Hence similar plots from different cases have the exact same name. This
can be confusing when trying to select the plot from a specific case.

Figure 1: WavePost Plot Tree

There are two ways to distinguish which plot is from which case:
1. The plots are listed in order of case, from Case #1 upwards. In a run with a small number of
cases, it's easy to pick out the correct plot.
2. If there are too many plots listed to make this practical, then the plots can be filtered by case
number. Check the Show selected case box above the Plots folder tree, this will enable the
filtering by case number. Then, expand the results file list in the Results File folder tree and
select the desired case by left-clicking on the case icon
. This will filter the plots and only
display those with data from the selected case (see Figure 2).
Selecting a case in this way will also change the behavior of displayed results. Manually-created
Time Plots and cycle-averaged results or animations (discussed in Phase 4) will display results from
the selected case.

Figure 2: Filtering Plots by Case

5.2 Creating Sweep Plots


Sweep Plots are plots of cycle-averaged results from all cases in the analysis, using output found in
the .sum file. Using the results from our multi-case analysis, which simulates the engine over the
range of operating speeds from 6000 down to 1000 rpm, we can create plots of any output parameter
found in the .sum file (e.g. torque, power, etc.) vs. engine speed or against any other desired
parameter.
To create a sweep plot, right-click on the Sweep Plots folder in the Plots Frame and select
the Add Sweep Plot -> 2D Plot... menu items (see Figure 3).

Figure 3: Creating a New Sweep Plot

This will create a new Sweep Plot named Sweep Plot #1 by default. The plot is empty, with no data
displayed. To add data, select the Add pull-down menu and then select the Data... menu item to
open the Sweep Data Panel. This contains a list of all of the keywords in the .sum file that correspond
with a cycle-averaged numeric value. The list defining .sum file keywords and their associated
units is available in the WAVE Help section. Selectbhp for the Dependant Variable (Y) and
select rpm for the Independent Variable (X). The Sweep Data Panel should appear as in Figure
4 when completed. Click the OK button to apply.

Figure 4: Sweep Data Panel

WavePost will automatically label the axes (with units) by the .sum variables selected and name
the curve by the filename and keyword selected. Double-click on the axes or the curve to edit these
names. Double-click on the title and edit the name to Power vs. Engine Speed. A different (but
compatible by conversion) units system can be selected for the axis so that users can choose how
data is displayed without doing clumsy numerical conversions manually. When completed, the plot
should appear similar to Figure 5.

Figure 5: Power vs. Engine Speed

WavePost can also easily create Default Sweep Plots, where a summary quantity from an element in
the model can be plotted against a default X-Axis. The default X-Axis used can easily be set by
expanding the Defaults sub-folder under the Sweep Plots folder the first branch of the expanded
tree is the X-Axis Settings. Double-clicking on this branch will open the Default Sweep Plot X-Axis
Panel, as shown below in Figure 6.

Figure 6: Default Sweep Plot Setting

If an engine exists in the model, "RPM" will be selected by default. Alternatively, you can select
"Case" or "Cycle" ("Time" is allowed in a non-cyclic run). Otherwise, you can also select any other
summary quantity by selecting the "Custom" option. Click the "OK" button to close the panel.
Right click on the engine block icon and create a sweep plot of torque (Add Sweep Plot >
Performance > Brake Torque vs. > RPM). The sweep plot will open and be added to the plots in
the results tree. Use this method to create a plot of volumetric efficiency as well. The completed
plots should appear as in Figures 7 and 8.

Figure 7: Torque vs. Engine Speed

Figure 8: Volumetric Efficiency vs. Engine Speed

Save your file

Click on the File pull-down menu and select the Save As... option to save the .wps session file under
a new name, such as Comparison.wps, so that it won't be overwritten by WAVE in the event that
the model file,tut_si4.wvm, is re-run.

Proceed to Phase 4 - Adding the Intake System and Creating Animations in


WavePost

Show

SI Tutorial, Phase 4 - Adding the Intake


System and Creating Animations in
WavePost
The Intake or Induction system consists of a snorkel, air cleaner with filter, zip tube, throttle body, and
intake manifold. All of these parts will be modeled in WaveBuild to create the induction system with
appropriate restrictions.

Phase 4 Steps

Optional Starting Point:

1 The Snorkel and


Zip Tube
2 The Air Cleaner
with Filter
3 The Throttle
Body
4 The Intake
Manifold
5 Creating
Animations in
WavePost

.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4.wvm
Example Input File:
.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4_intake.wvm
Example Output File:
.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4_intake.wps

With these five steps, our model will have a complete air induction system that is representative of a
real engine. Each part of the system will be discussed and modeling practices examined. Animations
will be created in WavePost for reporting and data analysis.

Show

SI Tutorial, Phase 4 - Adding the Intake


System and Creating Animations in
WavePost
Step 1 - The Snorkel and Zip Tube
The intake sub-system, leading up to the intake manifold, consists of a snorkel, air cleaner, zip tube,
and throttle body. The snorkel and zip tube can be easily modeled with just ducts and orifice
junctions, so it is easiest to draw them on the canvas first. We will skip over the air cleaner in this
step and return to model it in step 2.

Chapter sections Example Input File:


1.1 Detaching the
Intake Ambient
Junction
1.2 Placing the
Required Orifice
Junctions and
Ducts
1.3 Defining the
Ducts (Tapered
and Bent)

.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4_intake.wvm

Example Output File:

.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4_intake.wps

1.1 Detaching the Intake Ambient Junction

Before performing any actions make sure the model is in Case #1.
The 4-cylinder model as created has all four intake ports joined together at a single Simple Yjunction. The intake ambient junction will be re-used upstream of the induction system as the
atmospheric conditions before the snorkel, but the Y-junction and duct created for the 4-cylinder
model can be selected and deleted. Highlight both the intake-side Simple Y-junction and
upstream duct (holding down the shift key and left-clicking) and hit the Delete key. This will leave all
four intake port ducts dangling with no junction to attach to upstream (see Figure 1). These will
eventually be attached to the ends of the runners from the intake manifold. For now, they can remain
unattached.

Figure 1: Y-Junction and Upstream Duct Deleted

Click and hold the middle mouse button to move the ambient junction named Intake down to the
bottom of the canvas. This will serve as the starting point for the induction system.

1.2 Placing the Required Orifice Junctions and Ducts

The snorkel and zip tube can easily be modeled using only orifice junctions and ducts. A schematic
of the system with required dimensions is shown in Figure 2.

Figure 2: Snorkel and Zip Tube Schematic

Place orifice junctions and connect with ducts as shown in Figure 3. In place of the air cleaner,
place two Complex Y-junctions and connect with a duct. Remember to follow the Left to Right
convention when creating the ducts.

Figure 3: Flow Network

To make the last duct in the zip tube (duct22 in Figure 3) appear bent on the screen, right-click on
the duct and select Add Control Point from the menu:

A control point can be selected with the middle mouse button and moved to make the duct appear
bent (it will snap to grid points just like junctions do). Multiple control points can be added to a
duct. Using two control points diagonal from each other by one grid square will create the
appearance of a smooth 90 bend, as shown in Figure 4.

Figure 4: Control Points to Draw Bent Duct

1.3 Defining the Ducts (Tapered and Bent)

Using the schematic from Figure 2, above, edit the ducts representing the snorkel and zip tube and
enter the appropriate Diameters and Lengths (leave the Complex Y-junctions and duct between
them for later). Remember to use 35 [mm] for the Discretization Length for all ducts in the intake
system and set initial conditions to be 1 [bar] Pressure, and 300 [K] for Initial Fluid and Wall
Temperatures.
Note that when setting the Left Diameter of the first duct to 70 [mm] and the Right
Diameter to 50 [mm], with Overall Length of 50 [mm], the Taper Angle field turns yellow, indicating
a warning that the calculated taper angle of11.3099 is outside of the recommended range for this
parameter (see Figure 5). Read this sidebar on modeling tapered ducts and note that we are
modeling upstream of the intake manifold, thus expect constant flow into the engine. Flow will always
be contracting and therefore the slightly high taper angle is not of concern.

Figure 5: High Taper Angle

Also note that when entering dimensions for the last duct in the zip tube, the 90 Bend Angle should
be included (see Figure 6). The Bend Angle field on the Dimensions tab of the Duct Panel allows
the user to specify how much of a bend occurs across the entire length of the duct. The pressure
drop due to this bend is also then distributed across the entire length of the duct.

Internally, the WAVE solver uses this Bend Angle, the average Diameter of the duct, and the duct
Overall Length to calculate a Cp value based on simple equations (see the WAVE Help section on
ducts for more details). If you would like to specify your own Cp value, simply set the Bend Angle to
0 and set the Pressure Loss coefficient on the Coefficients tab. The Cp value is then divided evenly
amongst the number of elements in the duct and then the pressure loss in each element is calculated
by:

When completed, the intake subsystem should appear as in Figure 7.


NOTE: The Cp values calculated by the bend angle and entered in the Coefficients tab will be
added together if they are both specified!

Figure 7: Intake Subsystem

Save your model


Select the Save As... option from the File pull-down menu and give the model a new name, such
as tut_si4_intake.wvm. Saving this file and running it with a different name will allow comparison
of results to the models built and analyzed earlier.

Proceed to Step 2 - The Air Cleaner with Filter

Show

SI Tutorial, Phase 4 - Adding the Intake


System and Creating Animations in
WavePost
Step 2 - The Air Cleaner with Filter
In the last step, two Complex Y-junctions were placed on the canvas with a duct connecting them to
represent the air cleaner and filter. In this step, we will define these junctions and duct to
appropriately represent the physics of the system in WAVE.

NOTE: This modeling method is only appropriate for performance simulations. Acoustic
simulations should model the air cleaner volumes in smaller sub-sections and the filter with
numerous perforates!

Chapter sections Example Input File:


2.1 Defining the
Complex YJunctions
2.2 Representing
the Filter as a
Massless Duct

.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4_intake.wvm

Example Output File:


.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4_intake.wps

2.1 Defining the Complex Y-Junctions


A schematic of the air cleaner geometry is shown in Figure 1. It is simply two cylindrical volumes
separated by a flat, circular filter. It is impossible to appropriately model the filter passages true to life
as flow through a fibrous filter is very non-one-dimensional. Typically, a filter is modeled as an orifice
that approximates the pressure drop of the real system.

Figure 1: Airbox Schematic

For our model, the two Complex Y-junctions will represent the two cylindrical volumes and the duct
connecting them will represent the filter. Double-click on yjun1 and enter the appropriate values as
given in Figure 2.

Figure 2: Airbox Network Representation

Note
the
auto-calculator
buttons
provided
for
both Volume and Heat
Transfer/Skin Friction Area fields. Clicking on either of these will assume a spherical shape
and
calculate Volume or Heat Transfer/Skin
Friction
Area accordingly
from
the Diameter value (this is identical to using a Simple Y-junction -- allowing the user to enter
their own value is what makes the Complex Y-junction flexible)!

Click on the Edit Openings button to orient the connected ducts.

Ducts
are
oriented
similarly
as
on
the
Simple
Y-junction.
The
orientation
of duct19 and duct20 should be used as shown in Figure 1. Note the new fields for each connected
duct: DELX, DIAB, and Thick.
DELX, sometimes referred to as the characteristic length, is the distance from the duct connection
point across the volume. See Figure 3 for a diagram of the DELX values for both Complex Yjunctions.

Figure 3: DELX Values

DIAB, sometimes referred to as the expansion diameter, is the equivalent diameter for the maximum
area that the gas can expand into, perpendicular to the duct entrance. See Figures 4 and 5 for
diagrams for the DIAB values for both Complex Y-junctions.

Figure 4: DIAB Values for duct20 and duct21

Figure 5: DIAB Value for duct19

Thick is the orifice thickness and is used in acoustics simulations to calculate the acoustic end
correction. It is not necessary to set this value in performance simulations as it has no effect
whatsoever on the outcome.
When completed, the orientations for the Complex Y-junctions should appear as shown in Figures
6 and 7.

Figure 6: Orientation Panel for 1st Complex Y-Junction

Figure 7: Orientation Panel for 2nd Complex Y-Junction

2.2 Representing the Filter as a Massless Duct


The filter will be modeled as a massless duct (overall length of 0) and will act like an orifice plate
between the two volumes by having a smaller diameter than the surrounding volumes.
Typical information provided for an air filter is a pressure drop achieved at a given mass flow rate
(most frequently, near the maximum expected mass flow rate). For our air filter, we are supplied with
the information the filter creates a 1.25 kPa pressure drop across the system at a flow rate of 280
kg/hr.
The Diameter of duct20 can be obtained by steady-state flow simulation with a fixed pressure drop by
putting ambient junctions at either end of the system and running a 1second time-based
simulation. Varying the orifice diameter will produce different mass flow rates and we can target the
desired flow rate with the prescribed pressure drop. To understand this setup, see:
.\Ricardo\WAVE\8.0\examples\engine\TUT_si\Air_Filter_Calibration
In this case, the orifice diameter of 140.37 [mm] provides for a 1.25 kPa pressure drop at 280 kg/hr
mass flow of air. Massless ducts need only to have Left and Right Diameters defined (these must
be equal!) and the Overall Length should be set to 0. No other parameters need be set. When
completed, the massless Duct Panel should appear as in Figure 8.

Figure 8: Massless Duct Panel

Save your model


Click on the Save button in the toolbar

to save the file.

Proceed to Step 3 - The Throttle Body

Show

SI Tutorial, Phase 4 - Adding the Intake


System and Creating Animations in
WavePost
Step 3 - The Throttle Body
In this step, we will add a throttle body, represented as an orifice containing a butterfly
valve. Although this tutorial won't do so, this common practice allows for the engine load to be varied
between cases by changing the open area of the throttle body.

Chapter sections Example Input File:


3.1 The Basic
Geometry
3.2 Defining the
Butterfly Valve
3.3 Using the
Throttle Valve
Junction

.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4_intake.wvm
Example Output File:
.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4_intake.wps

3.1 The Basic Geometry

The schematic of the throttle body geometry is shown in Figure 1. In WaveBuild, we will model this
geometry as two ducts connected in the middle using a throttle valve junction. The throttle valve
junction will represent the throttle blade.

Figure 1: Throttle Body Schematic

Place the required junctions on the canvas and connect with ducts as shown in Figure 2, starting
with the final orifice junction of the zip tube. Edit both ducts to have Overall Lengths of 50 [mm]
and constant Diameters of 60[mm]. Remember to set the Discretization Length to 35 [mm] and
the Initial Conditions to the standard of 1 [bar] Pressure and 300 [K] Initial Fluid and Wall
Temperatures.

Figure 2: WaveBuild Throttle Body

3.2 Defining the Butterfly Valve

The throttle valve junction represents an instance of a butterfly valve type, as defined in the Model >
Valves list. In order to use it, we must first define the butterfly valve. Click on the Valves menu
item in the Model pull-down menu. Click on the Add button in the Valve List and select
the Butterfly valve type, then click on the OK button to open the Butterfly Valve Editor panel. Set the
Bore Diameter to 60 [mm] and the Shaft Diameter to 5 [mm], with a Minimum Plate Angle (angle at
which the valve sits effectively closed) of 5 [deg]. The Calculated Values section of the panel will
allow you to preview the calculated geometric quantities. Use the slider bar to observe the schematic
and values as the butterfly valve angle changes. When completed, the Butterfly Valve Editor panel
should appear as in Figure 3.

Figure 3: Butterfly Valve Editor

With the Forward/Reverse coefficient profile type radio button selected, click on the Edit Flow
Coefficient Profiles button to open the flow coefficient profile editor panel. If you have a defined
profile as a function of angle, it should be entered here. For the purposes of this simulation we will
define a coefficient of 0.5 at 5 deg and 1 at 85.22 deg, allowing a full sweep of realistic coefficient
values from when the valve is closed until it is fully open. When completed, the flow coefficient profile
editor should appear as in Figure 4.

Figure 4: Throttle Discharge Coefficients

3.3 Using the Throttle Valve Junction

Double-click on the throttle valve junction on the canvas to open the Throttle Valve Junction Panel
and edit the ID of the junction to THROTTLE. Select Valve Number 3 from the pull-down list and set
the Plate Angle to{THROTTLE_ANGLE} (see Figure 5). This parameterizes the throttle plate angle,
allowing us to set the angle in the Constants Panel, so it can change between cases, giving load
control during the simulation.

Figure 5: Throttle Valve Junction Panel

The background of the Plate Angle field will turn yellow as the constant THROTTLE_ANGLE is not
yet defined. Click the OK button to save the settings and close the panel and, when queried about
adding the constant to the constants table, click the OK button again and set the value 90 for all
cases (setting it in Case #1 only is sufficient, see Figure 6). Modeling the throttle fully open assumes
we are running a full-load speed sweep.

Figure 6: Throttle Valve Constant

When completed, the intake subsystem should appear as shown in Figure 7.

Figure 7: Completed Intake Subsystem

Save your model


Click on the Save button in the toolbar

to save the file.

Proceed to Step 4 - The Intake Manifold

Show

SI Tutorial, Phase 4 - Adding the Intake


System and Creating Animations in

WavePost
Step 4 - The Intake Manifold
In this step, we will model the simple log-plenum intake manifold using more complex yjunctions. The techniques for modeling a large volume with sub-volumes and for modeling a tapered
duct (bellmouth entry to intake runners) will be demonstrated.

Chapter sections Example Input File:


4.1 The Basic
Geometry
4.2 Modeling the
Plenum SubVolumes
4.3 Modeling the
Intake Runners

.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4_intake.wvm
Example Output File:
.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4_intake.wps

4.1 The Basic Geometry

The schematic of the intake manifold geometry is shown in Figure 1. In WaveBuild, we will model the
inlet pipe as a single duct. The plenum will be simplified and assumed cylindrical in shape (with an
equivalent diameter of 110 mm). Four Complex Y-junctions will be attached together using massless
ducts to represent the plenum volume. Three ducts will be used to represent each intake runner. A
discharge coefficient will be imposed for incoming flow to the first runner duct, to model the bellmouth
entry.

Figure 1: Intake Manifold Schematic

The equivalent network as created in WaveBuild is shown in Figure 2. Drag and drop the
required orifice and y-junction elements onto the canvas from the Elements Tree and connect them
with ducts accordingly. Remember to follow the Left to Right convention. Start the inlet pipe of the
intake manifold at the last orifice junction of the throttle body. Use four Complex Y-junctions to
model the intake manifold plenum. These four Y-junctions will be connected using massless ducts
(zero overall length).

Figure 2: WaveBuild Intake Manifold

4.2 Modeling the Plenum Sub-Volumes

Edit
the duct representing
the
inlet
to
the intake manifold.
Assign Left and Right
Diameters of 60 [mm] and an Overall Length of 150 [mm]. Remember to set the Discretization
Length to 35 [mm] and the Initial Conditions to1.0 [bar] Pressure and 300 [K] InitialFluid and Wall
Temperatures.
The Left and Right Diameters of the massless ducts should equal the equivalent diameter of the Yjunctions (which will also match the DIAB values assigned to the connections) so that there is no
pressure loss due to expansion or contraction. The Y-junctions have an equivalent diameter of 110
mm, so assign Left and Right Diameters of 110 [mm] to the massless ducts, along
with 0 [mm] Overall Lengths (see Figure 3). They will appear gray on the canvas, indicating they
are massless ducts.

Figure 3: Massless Duct between Plenum Sub-Volumes

The Y-junctions should be edited to have Diameter values of 110 [mm], Volume values
of 0.75e+006 [mm3] (3.0 L divided evenly by four), and Heat Transfer/Skin Friction Area values of
approximately 27300 [mm2] (pi*diameter*length) as in Figure 4.

Figure 4: Y-Junctions Representing Plenum Sub-Volumes

Orient the duct connections according to the layout on the screen (see Figure 2). The DELX values
for the massless duct connections should be 79 [mm] (the length of each subvolume in the direction
of flow through the massless ducts) and the DIAB values should be 110 [mm] (equal to the massless
duct Diameters so no expansion or contraction occurs).
The DELX values for the runner connections should be 110 [mm] (distance across the subvolume in
the direction of flow into the runners). The DIAB values for the runner connections require some
thought. Should the area used to calculate the DIAB value for each runner connection be the
maximum area the gas can expand into in the Y-junction or the length of the entire plenum?
Technically, the DIAB value should be calculated from the maximum area the gas can expand
into along the length of the single y-junction into which the duct enters. This is because any losses
caused by flow traveling along the length of the plenum will be accounted for by mass transfer from
one y-junction to the next. For our geometry, the maximum area for expansion in the direction of flow
from the runners is equal to 110 mm * 79 mm 4 = 8690 mm 2. Thus DIAB is
approximately 105 [mm]. See Figure 5 for a representative duct orientation.

Figure 5: Duct Orientation for First Plenum Sub-Volume

Note, the pressure and flow after a sudden expansion has a greatly diminished response the larger
the expansion is. Once the DIAB value is approximately twice the diameter of the entering duct, the
effect of the expansion changes very little with further increase in DIAB. Figure 6 illustrates this
effect.

Figure 6: DIAB Sensitivity Illustration

4.3 Modeling the Intake Runners

Each runner, as shown in the schematic (see Figure 1), will be represented by three ducts. Edit
the ducts to have the geometry represented in the schematic and remember to set
the Discretization Length to 35 [mm] and theInitial Conditions to 1 [bar] Pressure and 300 [K]
Initial Fluid and Wall Temperatures.
The
middle duct for
each
runner
should
have
a 45 Bend Angle.
To edit multiple ducts at the same time (junctions can also be edited in this manner, in combination
with ducts if desired), multiple-select the items to be edited by holding the shift key and left-clicking on
the items or by drawing a box around the desired items while holding down the left mouse
button. With the desired ducts selected (highlighted in red) right-click on the white background of the
canvas and select the Edit Parameters... menu option. This will open the Duct Template
Panel (since all selected elements are ducts) allowing fields to be set for multiple ducts
simultaneously (see Figure 7 for example of setting duct geometry for all runner ducts). Only the
edited input fields will be set for all selected ducts.

Figure 7: Duct Panel for setting parameters in all Runner Ducts

If more than just ducts are selected (e.g. if the orifice elements between the ducts are also selected),
the Edit Parameters... context menu option will open the Parameters Panel, which allows you to set
input values for multiple elements at once, regardless of whether or not they are the same element
type (see Figure 8 for example of setting duct geometry for all runner ducts).

Figure 8: Edit Parameters Panel for setting parameters in all Runner Ducts

The checkbox next to each entry indicates whether the value will be written to each item. Since
multiple items are selected, no one item's given value will show up in the entry fields they will be
zero by default. The zero value will not be written to the items unless the checkbox is selected (or the
number zero is typed into the field).
The first duct is shown in the schematic to have an entry (Left end) Diameter of 70 [mm] and an exit
(Right end) Diameter of 40 [mm]. This creates a Taper Angle of approximately 8.5, higher than the
recommended limit of 7 as discussed in this sidebar on Modeling Tapered Ducts. Moreover, the
actual geometry doesn't have a constant taper it has a bellmouth entry (which has a rapid change in
cross-sectional area) at the beginning and then a gentle taper towards the duct end. This indicates
that flow will most likely separate from the duct wall during reverse flow, from the valve towards the
plenum, and a sudden expansion will occur creating a pressure loss.
To account for this physical phenomenon, both ends (Left and Right) of the first runner duct should
have Diameter values of 40 [mm]. This means that during reverse flow, from the runner duct to the
plenum Y-junction, it will experience a sudden expansion into the junction and the loss will be
accounted for. To accurately represent the effect of the bellmouth entry, the Disch. Coef. from the
plenum junction to the runner duct should be set to a representative high value, in the range of 0.95 1.0 in the Openings panel for each Y-junction (see Figure 9).

Figure 9: Setting the Discharge Coefficient to 0.99

Connect the ends of the intake runners to the dangling port duct ends using a
simple orifice junction. If desired, use control points on the middle runner ducts to represent
the Bend Angle. When completed, the entire model should appear similar to Figure 10.

Figure 10: Completed Model with Intake System

Save your model


Click on the Save button in the toolbar

to save the file.

Proceed to Step 5 - Creating Animations in WavePost

Show

SI Tutorial, Phase 4 - Adding the Intake


System and Creating Animations in
WavePost
Step 5 - Creating Animations in WavePost

WavePost can use time-based data to animate the network with color contours of basic
datasets. These animations can be viewed in WavePost and then saved as MPEG files for use in
presentations and reports.

Chapter sections Example Input File:


5.1 Requesting
Animation Data in .\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4_intake.wvm
WaveBuild
5.2 Adding Results
to an Existing .wps Example Output File:
File
5.3 Creating and
Saving Animations .\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4_intake.wps
in .mpg format

5.1 Requesting Animation Data in WaveBuild

In WaveBuild, open the Output and Plotting Panel by selecting the Output and Plotting... item from
the Simulation pull-down menu. Check the Generate Animation Data checkbox and click OK to
save the setting and close the panel (see Figure 1).
Run the WAVE model by clicking on the Run Screen Mode button in the toolbar
(if prompted to
save the model before running WAVE, click the OK button to save and run sequentially).

Figure 1: Requesting Animation Data

5.2 Adding Results to an Existing .wps File

Launch WavePost from WaveBuild by left-clicking in the Launch WavePost button in the WaveBuild
toolbar . This will open the .wps file named similarly to the .wvm file currently loaded in
WaveBuild. Once WavePost is open, click the Open File button
in the toolbar and open
the .wps file created in Phase 3, Comparison.wps. This WavePost session file is currently only
referencing results from the last model created, without the intake system added on. It should contain
sweep plots created during the previous phase of torque, power, etc.
Click on the Add button at the bottom of the Output Files frame and select the newly
created .wvd file for the WAVE model containing the intake system. The .wvd and .sum files for this
WAVE run will be added to the Output Files list (see Figure 2 below). A Query window will pop-up
prompting whether to add curves to the existing plots using this file (see Figure 3). Click on
the Yes button and every existing plot will add data from the newly added.wvd and .sum files (if
matching data exists in the new files). Open the Sweep Plots to view the comparison of the
performance parameters as in Figure 4.

Figure 2: WavePost Output Files Frame

Figure 3: Query to Add Data to Existing Plots

Figure 4: Data Automatically Added to Power Plot

Note that addition of the intake system has changed the predicted performance results. Power is
decreased near 3000 rpm, but increased above 4000 rpm. The positive tuning effects are more
powerful than the losses due to friction, expansion and contraction, and bends that were added in the
intake system.

5.3 Creating and Saving Animations in .mpg Format


Animations can be created using time data stored in the .wvd file. In the Results Frame in the lower
left corner of WavePost, right-click on the Animation folder under the Network Displays folder and
select the Add Animation Display... context menu item. This will open the Animation Panel and will
automatically redraw the model canvas to display the flow network as a simple scaled model; the
ducts and junctions are redrawn with relative diameters displayed and color contours to represent the
selected variable. Use the file browser folder button to select the tut_si4_intake.wvd results file,
change the name to SI4 Intake Case #1 Velocity, and select the Velocityvariable from the
list. Check the Crank Animation checkbox to display the cylinder #1 crank animation in the upper
right hand corner of the canvas. Finally, type 2 in the Crank Angle field and hit the Enter key (this
will update the Time and Number of Frames fields automatically) to create animation steps of 2 crank
angle degrees. When complete, the Animation panel should appear as in Figure 5, below.

Figure 5: Completed Animation Panel

Click the OK button to close the panel.


Now, double click on the contour bar at the bottom of the canvas to open the Contour Map Panel (this
can also be accessed via the Contour Map Settings... button on the Animation Panel). This allows
you to edit the range and display of the color contours as drawn on the canvas. WavePost will
automatically scale the animation to use the global minimum and maximum values for the variable
found over the entire course of the animation. This may not represent what we want to observe, so
we will manually set the range. Uncheck the AUTO boxes and set the Minimum to -20 and
the Maximum to 180 and then set the Number of Interval Labels to 11. When completed, the
Contour Map Panel should appear as in Figure 6.

Figure 6: Completed Contour Map Panel

Use the buttons on the WavePost toolbar to play the animation. If desired, you can record the
animation to an MPEG file. Click on the record button to open the Movie Recordings Settings
Panel. Enter a name for the movie in the File text field (Velocity.mpg) and set the MPEG
Quality to High (this will use more disk space but create a clearer image) as in Figure 7. Click on
the OK button and a progress bar will pop up to show the progress of the rendering process. This will
take a while to complete.

Figure 7: The Movie Recordings Settings Panel

When finished, a file with the name as given above will be created in the working directory. It should
appear similar to the animation below (right-click on the animation and select Play to repeat).

Save your file


Click on the Save button in the toolbar

to save the updated Comparison.wps file.

Proceed to Phase 5 - Adding the Exhaust System and Creating Spatial Plots in
WavePost
Sample Animation

Show

SI Tutorial, Phase 5 - Adding the Exhaust


System and Creating Spatial Plots in
WavePost
The exhaust system consists of an exhaust manifold, close-coupled catalytic converter, resonator
(concentric-tube silencer), and flow-reversal style muffler. All of these parts will be modeled in
WaveBuild to create the exhaust system with appropriate restrictions.

Phase 5 Steps

Optional Starting Point:

1 The Exhaust
Manifold
2 The Catalytic
Converter
3 The Resonator
(Silencer)
4 The Complex
Muffler
5 Creating
Spatial Plots in
WavePost

.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4_intake.wvm
Example Input File:
.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4_exhaust.wvm
ExampleOutput File:
.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4_exhaust.wps

With these five steps, our model will have a complete exhaust system that is representative of a real
engine. Each part of the system will be discussed and modeling practices examined. Spatial Plots
will be created in WavePost for reporting and data analysis.

Show

SI Tutorial, Phase 5 - Adding the Exhaust


System and Creating Spatial Plots in
WavePost
Step 1 - The Exhaust Manifold
The exhaust manifold consists of runners with a simple 4-1 collector. The collector is attached
directly to a close-coupled catalytic converter (modeled in Step 2). The manifold can easily be
created using techniques learned while modeling the intake system.

Chapter
sections

Example Input File:

1.1 Detaching the


Exhaust Ambient .\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4_exhaust.wvm
Junction
1.2 The Basic
Example Output File:
Geometry
1.3 Defining the
Collector and
.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4_exhaust.wps
Catalyst
Connection

1.1 Detaching the Exhaust Ambient Junction

Before performing any actions, make sure the model is in Case #1.
The 4-cylinder model with the intake system still has all four exhaust ports joined together at a
single Simple Y-junction. The ambient junction named Exhaust will be re-used downstream of the
exhaust system as the atmospheric conditions after the complex muffler, but the Y-junction and duct
created for the 4-cylinder model can be selected and deleted. Highlight both the exhaustside Simple Y-junction and downstream duct (holding down the Shift key and left-clicking) and hit
the Delete key. This will leave all four exhaust port ducts dangling (see Figure 1). These will
eventually be attached to the ends of the runners from the exhaust manifold.

Figure 1: Y-Junction and Downstream Duct Deleted

Middle-click and drag the ambient junction named Exhaust down to the bottom of the canvas. This
will serve as the end point for the exhaust system.

1.2 The Basic Geometry

The schematic of the exhaust manifold is shown in Figure 2. It can be easily modeled as
three ducts representing each exhaust runner (connected by orifice junctions) and a Complex Yjunction representing the collector. The collector is approximately spherical in shape, but
a Complex Y-junction should be used as it is more flexible for tuning purposes (Simple Y-junctions
are rarely used in real modeling!). It is extremely simple to make a Complex Y-junction behave
exactly like a Simple Y-junction by using all of the defaults for Volume, Heat Transfer/Skin Friction
Area, and DELX/DIAB settings.

Figure 2: Exhaust manifold schematic

Using the Elements Tree, place all of the required junctions and then draw the required ducts as
shown in Figure 3. Connect the dangling ducts from the exhaust ports to the newly
created orifice junctions. Remember to create a hanging duct leaving the collector Y-junction to
represent the connection with the close-coupled catalytic converter.

Figure 3: Exhaust manifold flow elements in WaveBuild

Define all the ducts using the values shown in the schematic. Remember to use 40 [mm] for
the Discretization
Length and
set
the Initial
Conditions to
a Pressure of 1.05 [bar], Fluid Temperature of 1100 [K], and Wall Temperature of 750 [K].

1.3 Defining the Collector and Catalyst Connection

The hanging duct that will be connected to the close-coupled catalytic converter can be
assigned Left and Right Diameters of 76 [mm] and an Overall Length of 0 [mm] (i.e. it is
a massless duct). This will approximately model a direct connection between the collector volume
and the entry to the catalytic converter.
Define the Y-junction representing the collector using the values shown in the schematic. Once
the Diameter of 80 [mm] has been entered, click on the auto-calculate buttons
to fill in
the Volume and Heat Transfer/Skin Friction Area fields automatically. The Wall Temperature of
the collector should be higher than the runners. Assign similar initial conditions as the runners, but
use a Wall Temperature of 900 [K]. When completed, the Y-junction Panel for the collector should
appear as in Figure 4.

Figure 4: Collector Y-Junction Panel

Orient the ducts as they are displayed in the schematic in Figure 1. Orient the massless
duct leaving the collector to be facing down, out of the plane of the runners, as shown in Figure 5.

Figure 5: Collector Duct Orientation

When completed, the model should appear as in Figure 6.

Figure 6: Model with Completed Manifold

Save your model


Select the Save As... option from the File pull-down menu and give the model a new name, such
as tut_si4_exhaust.wvm. Saving this file and running it with a different name will allow
comparison of results to the models built and analyzed earlier.

Proceed to Step 2 - The Catalytic Converter

Show

SI Tutorial, Phase 5 - Adding the Exhaust


System and Creating Spatial Plots in
WavePost
Step 2 - The Catalytic Converter
The catalytic converter consists of entry and exit cones that will be modeled using volumes and a
brick, which can be modeled using a catalyst duct. The catalyst duct allows the user to input typical
catalyst measures, like cell density, to represent the geometry of the brick.

Chapter
sections
2.1 The Basic
Geometry
2.2 The Entry
and Exit Cones
2.3 The Brick as
a Catalyst Duct

Example Input File:


.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4_exhaust.wvm
Example Output File:
.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4_exhaust.wps

2.1 The Basic Geometry

The schematic of the catalytic converter is shown in Figure 1. In WaveBuild, the entry and exit cones
can be modeled using Complex Y-junctions and the catalyst brick can be modeled using a single
Catalyst Duct connecting the two junctions. Drag and drop the required elements onto the canvas
and connect them. Don't forget to attach the dangling end of the massless duct created with the
exhaust manifold to the Y-junction representing the entry cone. See Figure 2.

Figure 1: Catalytic Convert Schematic

Figure 2: Required Junctions and Duct

2.2 The Entry and Exit Cones

The entry and exit cones of the catalytic converter are modeled using complex Y-junctions in order to
account for the pressure loss due to sudden expansion of the gas. The taper angle in these cones
typically far exceeds the recommended maximum of 7, so using a duct to model the entry/exit cones
won't capture the pressure loss due to sudden expansion (see sidebar on Modeling Tapered Ducts).
Double-click on the entry and exit cone Y-junctions and edit their settings to reflect the information
given in the schematic. The Diameters provided are the area-weighted average diameters,
the Volumes and Heat Transfer/Skin Friction Areas are taken from solid-modeling software
(CAD).
Set
the Initial
Conditions to
be 1.05 [bar] Pressure, 1100 [K] Temperature,
and 900 [K] Wall Temperature (see Figure 3).

Figure 3: Entry Cone Y-Junction Panel

Orient the duct connections to be directly across from each other for each Y-junction. The DELX
values for both connections should be the length of the cone (50 [mm] for both junctions) while
the DIAB value can be left as the default value for now, identical to the junction diameter
setting: 90.2 [mm] for the entry cone and 76.4 [mm] for the exit cone. Set a Disch. Coeff. of 0.95 for
both the entrance and exit connections of the catalyst to account for the tapered cone geometry
(see Figure 4).

Figure 4: Catalyst Duct Orientation

2.3 The Brick as a Catalyst Duct

The catalyst brick itself is modeled using a single Catalyst Duct which will actually only represent one
channel through the brick but creates a number of identical channels to represent the entire
brick. The Catalyst Duct is simply an element which allows input of basic geometric parameters of a
the brick in order to describe the single flow channel.
Figure 5 shows the method used to calculate the diameter of a single catalyst brick channel and the
number of identical channels. It assumes that all channels are square in shape. Given the geometry
of the brick, the catalyst duct should be specified to have a Cross Sectional Area of 7854 [mm2],
a Perimeter of 314.59 [mm], a Cell Wall Thickness of 4 [mil], and a Cell Density of 600 [1/in2].

Figure 5: Calculating Catalyst Geometry

The Overall Length should be 80 [mm] as shown in Figure 1 and remember to set
the Discretization Length to 40 [mm]. Using the formula shown in Figure 5, the Cell Count should
be equal to 7304 and the Cell Diameter(single channel) should be 1.055 [mm], as shown in Figure 6.

Figure 6: Catalyst Brick Geometry

Edit the neighboring Y-junctions representing the entry and exit cones and set the DIAB value for
the catalyst duct connection to be 1.17 [mm] (this represents the expansion diameter for a single
channel entering the volume).
A common practice when modeling Catalytic Converters in steady-state, if test data is available, is to
set the brick Wall Temperature to match the temperature of the gas on the downstream side of the
catalyst (from the test data) and then set the Heat Transfer Multiplier to a high value, such
as 5. This ensures that the gas temperature leaving the brick matches the calibration data.
Edit the duct settings and click on the Coefficients tab to set the Heat Transfer value to 5. On the
Initial Conditions tab, set the Pressure to 1.05 [bar], the Fluid Temperature to 1100 [K], and the Wall
Temperature to a constant named {CAT_TEMP}. When prompted to add CAT_TEMP to the
Constants Table, click Yes and enter the values as shown in Figure 7.

Figure 7: Catalyst Brick Wall Temperatures

When completed, the model should appear as in Figure 8.

Figure 8: Model with Catalytic Converter

Save your model


Click on the Save button in the toolbar

to save the file.

Proceed to 3. The Resonator (Silencer)

Show

SI Tutorial, Phase 5 - Adding the Exhaust


System and Creating Spatial Plots in
WavePost
Step 3 - The Resonator (Silencer)
The resonator is simply a perforated tube with a larger, concentric tube (can) around it. The
resonator acts as a muffler and dampens certain frequencies in the exhaust stream. The resonator is
modeled in WaveBuild as a series of complex y-junctions connected by massless ducts.

Chapter
sections
3.1 The Basic
Geometry
3.2 The Down
Pipe
3.3 The
Resonator

Example Input File:


.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4_exhaust.wvm
Example Output File:
.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4_exhaust.wps

3.1 The Basic Geometry

The schematic of the down pipe (from the catalytic converter) and resonator is shown in Figure 1. In
WaveBuild, the down pipe can be modeled as two curved ducts and the resonator can be modeled as
entry and exit ducts with Complex Y-junctions representing the entire length of the inner, perforated
duct and the surrounding can.

Figure 1: Down pipe and resonator schematic

3.2 The Down Pipe

Drag and drop two orifice elements onto the canvas as shown in Figure 2, to represent the ends of
the ducts used to model the downpipe. Draw the ducts representing the down pipe starting from the
exit cone of the catalytic converter.

Figure 2: Down pipe junctions

Enter the geometric properties as shown in the schematic in Figure 1. Include a 90 Bend Angle for
each duct and remember to use a Discretization Length of 40 [mm]. Set the Initial Conditions
to 1.05 [bar] Pressure and1000 [K] Fluid Temperature with 800 [K] Wall Temperature. If desired,
use control points to represent the bend angle on the canvas.
With the down pipe modeled, the canvas should appear similar to Figure 3.

Figure 3: Down pipe ducts

3.3 The Resonator

The resonator is modeled with a short entry duct (40 mm long as shown in Figure 1), Complex Yjunctions representing the inner perforated duct and the surrounding can, and a short exit duct. The
completed WaveBuild representation of the resonator appears in Figure 4.

Figure 4: Resonator representation

The number of consecutive Complex Y-junctions to use can be determined by dividing the total length
of the can (300 mm) by the exhaust discretization size (40 mm). The results in 7 Complex Yjunctions used in series to represent the inner perforated duct and 7 more used to represent the
surrounding can. The easiest method for building this resonator model is to build and define the first
Complex Y-junction for the inner duct and outer can each, and then copy/paste them 6 times.
The first Y-junction representing the inner perforated duct is cylindrical -- 42.857 mm long (300mm/7)
and 50 mm in Diameter. This means it has a Volume of 84149.8 [mm3] The Heat Transfer/Skin
Friction Area can be calculated from the area of the pipe minus the area of the perforates connecting
to the outer can. The area of the perforated section of pipe is 47123.89 mm 2. The total area of the
perforates account for 20057.5 mm 2. Assuming the perforates are evenly distributed along the entire
length of the pipe, we can calculate the surface area of a single Y-junction as 1/7th of the total surface
area. Thus, the total Heat Transfer/Skin Friction Area for the single Y-junction is 3866.63 [mm2]. Set
the Initial
Conditions to 1.05 [bar] Pressure, 900 [K] Fluid
Temperature,
and 700 [K] Wall
Temperature. The Y-junction panel and pipe orientations should appear as in Figures 5 and 6.

Figure 5: Inner, perforated pipe y-junction

Figure 6: Inner, perforated pipe y-junction orientation

The first Y-junction representing the outer can is cylindrical as well, with the volume representing the
inner duct subtracted (don't forget to include the 1 mm thickness of the tube wall). This creates a
torus, or doughnut-shaped volume, with an equivalent Diameter of 108.15 [mm].
The
resulting Volume is 393686.4 [mm3] The Heat Transfer/Skin Friction Area of the entire outer can,
including the end-caps can be averaged over all seven Y-junctions, and is 18781.3 [mm2]. Set
the Initial
Conditions to 1.05 [bar] Pressure, 800 [K] Fluid
Temperature,
and 600 [K] Wall
Temperature. The Y-junction panel and pipe orientations should appear as in Figure 7 and 8.

Figure 7: Outer can y-junction

Figure 8: Outer can y-junction orientation

Copy/paste the two Y-junctions to create seven of each, in series as shown in the figure below. All
of
the Y-Junctions representing
the
inner,
perforated
pipe
should
be
connected
by massless ducts with Diameters of 50 [mm]. All of the Y-junctions representing the outer can
should be connected by massless ducts with Diameters of 108.15 [mm]. And each inner,
perforated pipe Y-junction should be connected to the adjacent outer can Y-junction by
amassless duct which
represents
the
perforates,
with
a Diameter of 11.3 [mm]
and
a Count of 28.57 (=200/7, assuming they are evenly distributed).

Figure 9: Connectivity using massless ducts

Save your model


Click on the Save button in the toolbar

to save the file.

Proceed to Step 4 - The Complex Muffler

Show

SI Tutorial, Phase 5 - Adding the Exhaust


System and Creating Spatial Plots in
WavePost
Step 4 - The Complex Muffler (Optional)
The complex muffler is a complicated portion of any WAVE model. It usually consists of multiple
pipes, possibly perforated, passing through internal baffles within a large complex-shaped volume. It
may have packing material made of rock wool or fiberglass in portions of the volume, used to dampen
acoustic transmissions.
Due to the complexity and tediousness of modeling this muffler, it is NOT mandatory for you to build
it, but it is recommended that you understand the idea behind it and appreciate the need for a routine
engineering tool to automatically mesh and generate a WAVE input file for such complex
components.
Fortunately, Ricardo Software has developed such a tool named
WaveBuild3D. WaveBuild3D is especially useful for auto-meshing intake and exhaust components
for NVH applications. For more information about this tool, please contact your Ricardo Software
Sales representative at (734) 394-3860 or via email at RS_Sales@ricardo.com.

Chapter
Example Input File:
sections
4.1 The Basic
.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4_exhaust.wvm
Geometry
4.2 The Mid-Pipe Example Output File:
4.3 Modeling the
Muffler in Quasi2D

.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4_exhaust.wps

4.1 The Basic Geometry

The schematic of the mid-pipe and complex muffler is shown in Figure 1. In WaveBuild, the two
segments that represent the mid-pipe can be modeled simply as two ducts, starting from the orifice
junction at the end of the resonator. The complex muffler will be modeled as a series of inter-

connected Complex Y-junctions, massless duct connections, and normal ducts for the muffler
entrance and tailpipe.

Figure 1: Mid-Pipe and Complex Muffler Schematic

4.2 The Mid-Pipe

Drag and drop two orifice elements onto the canvas as shown in Figure 2, to represent the ends of
the ducts used to model the mid-pipe. Draw the ducts representing the mid-pipe starting from
the orifice junction at the exit of the resonator.

Figure 2: Mid-Pipe Junctions

Enter the geometric properties as shown in the schematic in Figure 1. Include a 90 Bend Angle for
the first duct and remember to use a Discretization Length of 40 [mm]. Set the Initial
Conditions to 1.05 [bar] Pressure and800 [K] Fluid Temperature with 600 [K] Wall
Temperature. If desired, use control points to represent the bend angle on the canvas.
With the mid-pipe modeled, the canvas should appear similar to Figure 3.

Figure 3: Mid-Pipe Ducts

4.3 Modeling the Muffler in Quasi-2D

Because the muffler is such a large and complex volume, the three internal chambers which
physically divide the muffler vertically, as shown in the schematic, should be sub-divided and modeled
with multiple Complex Y-junctions. Each section of perforated pipe will also have to be
represented by Complex Y-junctions attached to the surrounding volume(s) with multi-count
massless ducts to represent the perforates, as in the resonator. The level of refinement is up to
the user and what kind of results they desire: for performance, simple Quasi-2D meshing may be
sufficient but for acoustics, detailed Quasi-3D meshing should be performed.
We refer to meshing in WAVE as "Quasi" meshing as it is not identical to full-scale 3-D CFD but can
approximate the same results. Quasi-2D meshing (Box A in Figure 4) is sub-division of volumes in 2
axial directions (X and Y, in this case) and ignoring the division in the 3rd direction (Z axis). Quasi-3D
meshing (Box B in Figure 4) is sub-dividing volumes in all 3 axial directions. The number of subvolumes increases dramatically between Quasi-2D and Quasi-3D meshing!

Figure 4: Modeling in Multiple Dimensions

The complexity of this connectivity of Y-junctions, massless ducts, and normal ducts has no uniquelycorrect design and different designers might end up with different connectivity matrices for this same
muffler. Also, this modeling work has no real engineering value, it's only routine work that could to be
automated! It is expensive and tedious for you, the engineer, to spend your time on such laborious
tasks. For this reason, Ricardo Software introduced WaveBuild3D as an auto-mesher for large
components in the intake and exhaust systems using a solid-modeling interface to represent the
geometry. The table below shows a comparison for different mesh matrix sizes vs. pre-processing
time of manual meshing (by you the user) and WaveBuild3D (computer program auto-meshing).
* Based on average time an engineer spends to complete one complex Y-junction input = 6 minutes
** Based on meshing using Intel Core 2 Duo T7600

# of Subvolumes
(Matrix Size)

Meshing Type
2D/3D

# of Repeated
Tasks

Engineer
Minutes*

WaveBuild3D
Minutes**

3x3

2D

18

108

0.03

3x3x3

3D

54

324

0.05

9x9x9

3D

1458

8748

0.37

15 x 15 x 15

3D

6750

40500

0.83

nxnxn

3D

2 x n3

2 x n3 x 6

It is left to you, the new WAVE user, to complete modeling the muffler. At this point there is nothing
new to learn. All that needs to be done is repeating the geometric and duct orientation input many
times to model the muffler as a network of ducts, massless ducts, and Complex Y-junctions.
The muffler is shown in WaveBuild3D in Figure 5 and the corresponding WAVE mesh is shown
in Figure 6.

Figure 5: Muffler in WaveBuild3D

Figure 6: Muffler mesh from WaveBuild3D

The WaveBuild3D tool creates portions of WAVE models known as Components. Any WaveBuild3D
component can be used in any WAVE model, regardless of whether or not the user has a
WaveBuild3D license. This muffler component is shipped as an example model. To add it to the
model, expand the Tags branch under the Components branch of the Elements tree. Drag and drop
the SI_Muffler component onto the canvas and connect it to the model by attaching the last duct of
the mid pipe (the last orifice element can be deleted, as it is no longer necessary) to the inlet
connection point of the component. Connect the outlet connection point of the muffler component to
the Exhaust ambient using a duct with 50 [mm] diameters and an overall length of 40 [mm] (use initial
conditions similar to the mid-pipe).
When finished, the model should appear similar to Figure 7.

Figure 7: Completed Model in WaveBuild

Save your model


Click on the Save button in the toolbar

to save the file.

Proceed to Step 5 - Creating Spatial Plots in WavePost

Show

SI Tutorial, Phase 5 - Adding the Exhaust


System and Creating Spatial Plots in
WavePost
Step 5 - Creating Spatial Plots in WavePost
WavePost can use time-based data to create plots of scalar/vector quantities along a length of the
network to observe traveling pressure waves, temperature profiles, etc. These spatial plots can be
animated to observe the temporal change in WavePost and saved as .mpg files for use in
presentations and reports.

Chapter sections Example Input File:


.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4_intake.wvm
5.1 Creating

Spatial Plots in
WavePost
5.2 Animating
Spatial Plots

Example Output File:


.\Ricardo\WAVE\8.0\examples\engine\TUT_si\tut_si4_intake.wps

5.1 Creating Spatial Plots in WavePost

Run the WAVE model by clicking on the Run Screen Mode button in the toolbar
(if prompted to
save the model before running WAVE, click the OK button to save and run sequentially).
Launch WavePost from WaveBuild by clicking in the Launch WavePost button in the WaveBuild
toolbar . This will open the.wps file named similarly to .wvm currently loaded in WaveBuild. Once
WavePost is open, click the Open File button
in the toolbar and open the .wps file created
in Phase 3, Comparison.wps. This WavePost session file is currently referencing results from the
4-cylinder model without intake/exhaust (tut_si4) and from the four-cylinder model with intake only
(tut_si4_intake). It should contain sweep plots created during the in Phase 3 of torque, power,
etc.
Click on the Add button at the bottom of the Output Files frame and select the newly
created .wvd file for the WAVE model containing both the intake and exhaust systems
(tut_si4_exhaust). The .wvd and .sum files for this WAVE run will be added to the Output
Files list. A Query window will pop-up prompting whether to add curves to the existing plots using
this file. Click on the Yes button and every existing plot will add data from the newly
added.wvd and .sum files (if matching data exists in the new files). Open the Sweep Plots to view
the comparison of the performance parameters.
On the Canvas of the WavePost GUI, use the Shift+Left Click to multiple-select
the ducts and junctions along the intake runner to the cyl1 junction (see Figure 1). Right-click on
one of the ducts/junctions in the highlighted group and select the "Add Spatial Plot > Basic >
Pressure" menu item, as shown in Figure 2.

Figure 1: Ducts and Junctions for Spatial Plot

Figure 2: Adding a spatial plot via the context menu

A Spatial Plot of the pressure along this path will be automatically created, showing a scaled view of
the ducts/junctions along the path and the pressure profile in those ducts/junctions on the same
plot (see Figure 3). Therepresentation of the ducts/junctions can be moved using the middle
mouse button or removed from the plot altogether by double-clicking on it and de-selecting
the Display Scale View option, where the crank animation can also be displayed (also accessible
from the Tools > Display pull-down menu item).

Figure 3: Spatial Plot Display Panel

Figure 4: Spatial Plot of Pressure in Runner 1

5.2 Animating Spatial Plots

Spatial Plots can be animated just like canvas displays of network variables, as demonstrated
in Phase 4. Simply open the Animation Panel by selecting the Animation... menu option from
the Tools pull-down menu (seeFigure 5). The animation can be played or recorded to a MPEG file
for use in reports/presentations. The Time Offset can be set to change the starting point of the
animation, allowing multiple spatial plots to be shown in/out of phase.

Figure 5: Spatial Plot Animation Panel

The Animated Spatial Plot should appear as the video at the bottom of the page.

Save your file


Click on the Save button in the toolbar

to save the updated Comparison.wps file.

CONGRATULATIONS!
The 4-cylinder model is complete! All of the basic principles in WAVE modeling have been introduced
and explained as well as the basic methods of building a model and post-processing the
data. Optional phases follow to elaborate on the basic principles.

You might also like