Simplifications and Stages of Numerical Methods
Combustion is a complex phenomena involving fluid flow, all three modes of heat transfer, structural severity, lubrication, emissions and very short duration phenomena. Typically, such simulations are performed in specialized programs such as KIVA. However, to gain deeper insight into the physics, CFD tools have now been widely and successfully exploited in a staged manner.
Oil Filter - Flow through Porous Domain
The performance of oil filter (pressure drop and flow uniformity across filter) can be optimized using numerical fluid dynamic calculations. The filter can be used as porous domain whose porosity can be varied as the particulate matters get trapped during actual use.
Component Level Appliations
There always exist a scope of improvement in the performance of individual components. The power of numerical simulations can be exploited without costly prototypes. For example, the location on inlet and outlets of a radiator is constrained by performance requirement as well as layout inside the engine compartments. The flow distribution inside the radiator tubes can be improved for different location of the inlet and outlet as well as shape and size of headers.
System Level Simulations: 1D
Applications of CFD at system level simulation are (a)complete cabin HVAC simulation and (b) engine cooling circuit simulation including water pump, cooling jacket in engine block and cylinder head, thermostat valve, radiator and associated plumbings. These simulations are complex in nature and the turn-around time is too high. At the early stage of design and development, a quick method is required where design iterations can be perfomed in a very short duration say < 1 day.
1D (1-Dimensional) simulation approach is intended to fill this gap - this method is also known as "lumped parameter approach" where a 3D geometry is represented as equivalent flow resistance and junctions. For example, GT-Power from Gamma Technologies , ALV-Boost from ALV or Ricardo Wave can be used to simulate complete air-flow path in internal combustion engines.
Similarly, applications like KULI ad FlowMaster can be used to make 1D calculation on the cooling systems such as HVAC. Following image describes the representation of a engine system that includes air intake from ambient till exit of combustion products into the atmosphere using program AVL-Boost.
Similarly, the 1D model for a single cylinder engine using GT-Power is described below.
GT-SUITEThis is collection of modules which comprises of six solvers (GT-Power, GT-Drive, GTVtrain, GT-Cool, GT-Fuel, and GT-Crank), a GUI GT-ISE, a post-processor GT-POST and other supporting tools. The graphical user interface (GUI) to build models as well as the means to run all GT-SUITE applications is GT-ISE. The thermodynamic modeling program for engines, GT-Power is available as a standalone tool or coupled with GT-Drive, GT-Fuel and GT-Cool as the GT-SUITE / flow product.
This program is based on library of lumped objects classified into 4 types.
- Component objects: these objects refer to individual parts which are simple flow resistances such as pipes, bends, valve, inlets, exits...
- Reference objects: This category of objects are not related to physical layout but the operational data and material properties such as Air-Fuel ratio, reference temperature and pressure. These objects cannot be placed on the 1D map but are directly linked to component and compound object types.
- Compound objects: these are sub-assemblies of the system such as the engine itself.
- Connection object: To connect different parts of the model together links should be created. Two parts are usually connected by a link and a connector part that is inherited from a connection object. A connection object must correspond to the way two parts are connected to each other. Every object has a number of ports that can be used for the connection. The description for the ports can be found by double-clicking the arrow linking objects.
- Pipe: This object of standard library represent straight pipe of uniform or varying (tapered) cross-section. Roughness can be accounted for calculating friction factor.
- FsplitTRight: It refers to Flow-Split at Tee-Junction when flow goes into only one side branch (Right-branch here).
- FsplitSphere: Flow split spherical junction.
- FsplitGeneral (say Wye- and X-junctions): Flow-split of generic type where users can specify angle of merging and diverging streams.
- PipeRoundBend: Uniform bend such as elbow bend, S-bend
- ValveCamPR: This object is similar to ValveCamConn' except that forward discharge coefficient (flow at inlet ports) and reverse discharge coefficient (flow at exhaust port), swirl (helical flow inside the cylinder), and tumble can be defined as functions of both stroke/bore ratio and compression pressure ratio. Also, there is an option to make these coefficients functions of L/D and piston-position.
- ValveCamConn: connection to valve and camshaft which drives the valves, the valve-lift vs. Cam angle is specified and corresponding flow characteristics (discharge coefficients) need to be defined.
- Exval: Exhaust valve
- EngCylinder: Engine cylinder usually represented by bore and stroke length and refer to several reference objects for modeling information on combustion and heat transfer.
- EndEnvironment: Ambient condition into which the combustion products finally gets discharged after passing through silencer.
- Air Boxes: These are thos parts of the engine with cross-section area significantly larger than the entering and exiting pipes and can be made irregualar in shape due to space constraints. The compopents such as Helmholtz resonator and plenum of intake manifold are air boxes. Such air volumes and air cleaner assembly have significant effect on intake system pressure drop and acoustic behavior, and is therefore an important part of the engine model.
Reference objectsThis group of objects contain different types of data that are used in the simulation models for example lookup tables, boundary conditions, functions, liquid properties ...
- FPropMixtureComb - Air:
- FStateInit - Init:
- HeatCComp - ExhManifold:
- RLTDependence - FARatio:
- FPropLiqInComp - Indolenecombust:
- XYTable (FARvsRPM, THB50vsRPM, BDURvsRPM):
- XYZTable - INTPr:
- FPropGas - Indolene-vap:
- Many attributes and options in GT-ISE can be parameterized by adding a variable name in square brackets to the entry field instead of typing in value in numerics. All these parameters for the active model are defined at the case setup available from menu or can be accessed by pressing F4.
- Engine: the engine assembly which includes combustion chamber
- CrankTrain: It represents connection rod, crankshaft, bearing journals, connecting rod pin, piston, piston rings.
Connection objectsIn a GT-Power model, black lines represent actual physical connections like a pipe bends and a pump connected to each other with the coolant flow going from the first component to the second one or the heat being transferred from one side of the heat exchanger to another. On the other hand, blue lines represent signal and sensor connections, they allow to extract different types of data from the model like temperature, mass flow or volumetric flow.
- Orifice Conn - bellmouth: inlet to pipes
- InjAF-Ratio Conn: Air-fuel ratio for injectors used typically to model a carburetor or fuel control valve on SI engines. It injects fuel at a constant fuel-to-air ratio.
- InjAFSeqConn: This injector connection is used to model sequential fuel injection in SI gasoline engines. This injector would be used when one knows the injector delivery rate and the desired fuel ratio. An important output of this injector is the calculated pulse width.
- ThrottleConn - throttle: connection objects for throttle body, required to specify throttle opening.
- Orifice, Pressure_Loss, Sensor
- Flow_to_Shaft: Output to shaft connected to the engine.
- Valve*Conn (ValveCamConn, ValveCamPRConn, ValveCamDesignConn, ValveCamDynConn, ValveCamUserConn and ValveSolenoidConn): This type of connection object is used to connect cylinders to intake and exhaust ports.
Like any other numerical methods, simulation model needs to be validated against experimental data. In 1D calculations also, there are many uncertainties about the pressure losses, temperature of walls, hot air recirculation, RAM effect of moving object, mixing losses at junction ... on the air side of the system. Thus, every such model requires initial tuning.
The value for the heat input rate from the engine block can be directly extracted from the engine cylinder mean value object (EngCylMeanV). The output variable is called "Heat Transfer Rate". The value is in [W] which needs to be multiplied by 1000 to obtain data in [kW] needed as an input to the EngineBlock object of the cooling system model.
To calculate the heat load for oil cooler, there is no direct approach and method of energy balance needs to be used. The heat load on oil cooler is mostly the heat generated by friction in piston rings and liner. Thus, in order to calculate the heat load on oil cooler, the friction torque should be calculated. For this purpose a MathEquation object can be used. "Inst. Indicated Torque" and "Inst. (Indicated-Friction) Torque" can be extracted from the "Crankshaft object" of the mean value model which can then be used to calculate friction torque [N-m] = "Inst. Indicated Torque" - "Inst. (Indicated-Friction) Torque". Since power = torque × angular speed (ω), friction power = friction torque × angular speed = heat load on oil cooler.
The fan performance in GT-Suite is dependent on the fan speed, even for the free-wheeling or wind-milling conditions when ram air drives the fan and not the motor. The fan speed always be directly defined by the user and there is no mechanism to calculate fan speed automatically. Defining fan speed as zero makes this component work as a blockage not allowing any air to flow through. Hence, to model fan-off conditions it is recommended to set the fan speed to some guess value that will correspond to the speed of fan under wind-milling condition.
References: Cooling performance simulations in GT-Suite: Master’s Thesis by ALEXEY VDOVIN, Department of Applied Mechanics, Division of Vehicle Engineering and Autonomous Systems, Chalmers University of Technology, 2010
Fundamentals: Working Principle and Design Ratios
The conversion of rotating motion to translating motion using a slider-crank mechanism is explained in the following figure. The locus of some of the points which is translating as well as rotating is also shown.
- Length of the stroke = diameter of the crank pin = DCP. Piston travel per revolution = 2 * DCP. Distance traveled by crank pin per revolution = π * DCP. Hence, the ratio of average piston velocity to that of crankshaft pin = 2 * DCP / π * DCP = 2/π.
Slider Crank Mechanism Animation
The video can be accessed here: Slider Crank at YouTube. The Octave script used to create this animation is as follows:
% Define constants - use consistent units: mm, rad, s
N = 5; % [rpm] - crankshaft rotation speed
R = 0.075; % [m] - Crank Radius
L = 0.200; % [m] - connecting rod length
w = 2*pi*N/60; % [rad/s] - angular speed
tau = 2*pi/w; % Time for one complete rotation of crankshaft
dq = pi/30;
Lp = 0.010; % Piston Length
Db = 0.020; % Bore diameter = piston diameter
% Define parameters, calculate functions and plot
x(1) = 0.0;
y(1) = 0.0;
xMax = L + 2*R + Lp; xMin = -2*R; yMin = -2*R; yMax = 2*R;
figure; axis([xMin xMax yMin yMax]); hold on; daspect([1 1 1]);
plot(x(1), y(1), 'o');
for q = [0: dq : 2*pi]
x(2) = R * cos(q);
y(2) = R * sin(q);
% Location of piston centre with crank angle q.
x(3) = R * cos(q) + sqrt(L^2 - R^2 * sin(q) * sin(q));
y(3) = 0;
x(4) = x(3) - Lp/2.0; y(4) = 0.0;
x(5) = x(4); y(5) = -Db/2.0;
x(6) = x(3) + Lp; y(6) = y(5);
x(7) = x(6); y(7) = y(6) + Db;
x(8) = x(4); y(8) = y(7);
x(9) = x(4); y(9) = 0;
% Time derivative of x - excluding q_dot term
n = L/R;
xp = -R * sin(q) - R * sin(2 * q) / sqrt(n^2 - sin(q) * sin(q) );
% Piston velocity
V = xp * w;
plot(x(2), y(2), 'o'); plot(x(3), y(3), 'o');
plot(x, y, "linestyle", "-", "linewidth", 2, "color", 'k');
%grid on; % should be placed only after the plot command
xtick = get (gca, "xtick");
xticklabel = strsplit (sprintf ("%.2f\n", xtick), "\n", true);
set (gca, "xticklabel", xticklabel)
ytick = get (gca, "ytick");
yticklabel = strsplit (sprintf ("%.2f\n", ytick), "\n", true);
set (gca, "yticklabel", yticklabel);
pause (0.0001); cla; plot(x(1), y(1), 'o');
axis([xMin xMax yMin yMax]); daspect([1 1 1]);
plot(x, y, "linestyle", "-", "linewidth", 2, "color", 'k');
plot(x(2), y(2), 'o'); plot(x(3), y(3), 'o');
Combustion is on the most complex thermo-chemical phenomena known to us. This is much more than fluid mechanics and heat transfer and hence a typical method of CFD simulations does not fulfill the requirements. The complexity of combustion is described by following slides.
Types of Combustion
Partially Premixed Combustion
Combustion Phenomena in Engines
Combustion: CI vs. SI Engines
Application of CFD in Gearbox Applications
CFD can be used to check lubrication of gears, rise in temperature due to viscous heating of oil, splashing of oil from rotating teeth and churning losses. The multi-phase flow simulation using dynamic and deformaing meshes is required to capture the phenomena of oil squeezing between gear teeth and spillage as geat teeth emerges from oil bath. An useful video on this topic is "youtube.com/watch?v=NCrtWr74f4c&t=330s". A screenshot from the video is shown below: