Mathematical engine modeling (FHM) on Matlab

Click For Summary
SUMMARY

The discussion focuses on replicating a Java-based applet for finite heat release modeling using MATLAB. The user encounters an issue where the pressure amplitude in their MATLAB simulation reaches unrealistic values, specifically 10^76, compared to the expected 8800 KPa. Key functions involved include Runge-Kutta Order 4 for integration and several custom MATLAB functions: final.m, v1.m, dvol.m, and HRF.m. A potential solution involves ensuring correct angle conversions between degrees and radians, which may resolve the amplitude discrepancy.

PREREQUISITES
  • Familiarity with MATLAB programming and syntax
  • Understanding of finite heat release modeling concepts
  • Knowledge of numerical methods, specifically Runge-Kutta integration
  • Basic principles of thermodynamics and pressure-volume work relationships
NEXT STEPS
  • Investigate MATLAB's ode45 function for solving ordinary differential equations
  • Learn about angle conversion between degrees and radians in MATLAB
  • Explore the impact of burn fraction (xb) as a function of crank angle in heat release modeling
  • Review the theory behind finite heat release models for better understanding of pressure-volume relationships
USEFUL FOR

Engineers, MATLAB programmers, and researchers involved in thermodynamic modeling and simulation, particularly those working on heat release analysis in internal combustion engines.

Altairs
Messages
125
Reaction score
0
I am trying to replicate a JAVA based applet on MATLAB. Applet can be seen http://www.engr.colostate.edu/~allan/thermo/page6/EngineParm1/engine.html" .

The theory behind the functions of the applet is http://www.engr.colostate.edu/~allan/thermo/page6/page6.html" .

It is actually a finite heat release model to give pressure, volume and work curves with respect to crank angle from -180 to 180.

It is quite simple actually. Simple integration using Runge-Kutta Order 4 method and this ODE is also of the first order. I am going to post the code below.

Problem is that the shape of the curve is alright but the amplitude (pressure) is totally unrealistic...it shoots to X10^76 or something where as originally in the applet its just 8800 KPa.

Can someone please check what I am doing wrong ? I have spent about a week and still no luck and something tells me that whatever it is it is very small (thats why I can see it :D).

Call the function by writing following on main

Initial conditions used are the same as used in the applet. (theta(x) from -180 to 180 and initial pressure is 1 bar)

Code:
[x,P] = ode45 ('final', [-180 180], 1)
and then
Code:
plot(x,P)

Note the amplitude

final.m
Code:
function dydx = final(x,P)
dydx = -1.4*(P/v1(x))*dvol(x)+((1.4-1)/v1(x))*HRF(x);

v1.m
Code:
function vol1=v1(x)
R=3;
Vd=(pi/4)*(0.1^2)*(0.1);
vol1=(Vd/9)+(Vd/2)*(R+1-cosd(x)-(R^2-sind(x)^2)^(1/2));

dvol.m
Code:
function dvolume = dvol(x)
R=3;
Vd=(pi/4)*(0.1^2)*(0.1);
dvolume=(Vd/2)*sind(x)*[1+cosd(x)*(R^2-sind(x)^2)^(-1/2)];

HRF.m
Code:
function hrf = HRF(x)
n=3;
a=5;
thetaD=40;
thetaS=0;
Qin=1800;
xb=0.99;
if(x<thetaS || x>(thetaS+thetaD)) 
    hrf=0;
else
    hrf = (n*a*(Qin/thetaD)*(1-xb)*((x-thetaS)/thetaD)^(n-1));
end;

Please check. I am so stuck at this :(
 
Last edited by a moderator:
Physics news on Phys.org
Hi,

I get the same problem...

Did you get the solution of this problem ?
 
I do not remember axactly, as this is quite an old post, but I think the problem had something to do with angle conversion from degree to radian or vice versa...that is why the amplitude was not coming out correct...but once correct, the results were beautiful :D
Try playing around with angle..if you are using deg convert to radians...if you are using radians try degree...
 
Thanks !

Do you still have your code in order to compare with mine ?
 
Must work with radians and then convert at the end back to degrees for the plot of pressure vs crank angle. Also, the burn fraction (xb) is not a constant but rather a function of crank angle as well. See the website below for the calculation.
http://www.engr.colostate.edu/~allan/thermo/page6/page6.html

In order for units to match, keep in mind that 1 bar is 10x5 Pa or 100 kPa.
 

Similar threads

  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 3 ·
Replies
3
Views
2K
Replies
3
Views
3K
  • · Replies 6 ·
Replies
6
Views
6K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 2 ·
Replies
2
Views
5K
  • · Replies 1 ·
Replies
1
Views
2K