|
[Sponsors] |
March 27, 2009, 22:36 |
Diesel Engine Combustion
|
#1 |
New Member
Arun
Join Date: Mar 2009
Posts: 25
Rep Power: 17 |
Hi All,
Currently i am simulating diesel engine combustion and facing some problem with the pressure trace validation. I followed the way of setting case for dieselEngineFoam by combining engineFoam and dieselFoam as suggested in previous threads. Currently the simulation can run completely from IVO (-143 CAD) to EVO (131 CAD) but the pressure and temperature trace is way too low (2 bar simulation value) when compared with the experimental result (90 bar experimental value). I have tried to change the initial boundary condition, time step size, maxCo,and maxDT but the problem still exist. I am new to OpenFoam and not sure what exactly cause current problem.And can anyone provide the case setting for dieselEngineFoam, this would be much of a help to me. Thanks Arun |
|
March 28, 2009, 05:30 |
|
#2 |
Member
Christof Benz
Join Date: Mar 2009
Posts: 52
Rep Power: 17 |
Hi Arun,
i don`t understand your valve timing. Inlet Valve opens 143 CAD bevor Exchange TDC? Thats seems possible to me. But the exhaust valve is already close or near close position at this time. It depends if you have valve overlap or not. If the EV is already open at compression it`s clear that the pressure wont rise. Please specify your valve timing so we can speak about the same things. Regards, Christof |
|
March 28, 2009, 06:48 |
|
#3 |
Super Moderator
Niklas Nordin
Join Date: Mar 2009
Location: Stockholm, Sweden
Posts: 693
Rep Power: 29 |
When you are tuning the pressure trace you also need to tune the temperature (i.e mass)
It is close to TDC that heat-losses becomes important, so even if you get pressure that is good up to ~-60 CAD, if you have temperature wrong, it will start to show up as you get close to TDC. Start 2 other calculations where your temperature is +- 50 K of what you have now and you will see what I mean. It is also vital that you have the correct effective compression ratio. Other important effects are crank shaft compression and blow-by and temperature needs to account for all these effects, since the piston movement curve is deduced from Heywood and the volume is closed. |
|
March 28, 2009, 07:23 |
|
#4 |
New Member
Arun
Join Date: Mar 2009
Posts: 25
Rep Power: 17 |
Hi Christof,
Thanks for your reply and its my bad that i have made typo error, the -143 CAD is the IVC time and 131 CAD is the EVO. So the mesh has no valves because i am only simulating the closed cycle. And sorry for the typo. Thanks again Arun |
|
March 28, 2009, 07:33 |
|
#5 |
Member
Christof Benz
Join Date: Mar 2009
Posts: 52
Rep Power: 17 |
Hi again,
if i unterstand right, you anticipate a pressure of 90bar at ignition TDC. Please write your start conditions for your simulation. I think it will help to solve your problems. Also send your entries in the engineDict. Christof |
|
March 30, 2009, 03:52 |
|
#6 |
New Member
Arun
Join Date: Mar 2009
Posts: 25
Rep Power: 17 |
Hi Niklas,
Thank you for your reply. Additionally, I have done the other calculation with - +50K and notice the changes in the pressure trace due to trapped mass. However, the problem still exists. Also, I tried to vary the initial temperature and the problem still exists. Then i thought that it might due to the mesh itself like what you have mentioned before about the effective compression ratio, so what i did was i set the injection timing very late such that no fuel will be injected between -143 CAD and 131CAD; so that i can get the motored case pressure trace. The result shows that the problem is not solved (motored case experimental peak pressure = 53 bar, but current peak for simulation result is 20 bar). This mesh was created using k3prep, KIVA; and the same mesh and same initial conditon were used in KIVA-3V setting. The result matches the experimental result with +-10% CFD error for the combustion case, while the KIVA motored case matches the experimental motored case with less error. Can you please advise that why the same case but gives such big different results. Since I am new to OpenFoam I not really sure that my case setting for the dieselEngineFoam is correct or I missed out something. Thanks again. Arun |
|
March 30, 2009, 04:08 |
|
#7 |
Super Moderator
Niklas Nordin
Join Date: Mar 2009
Location: Stockholm, Sweden
Posts: 693
Rep Power: 29 |
It sounds like you have a mistake in your setup, most probably the
compression ratio. Have you run engineCompRatio to see what the compression ratio is? At the moment I am using dieselEngineFoam to reproduce ...'something secret' and its very important to have conditions at soi correct. This is what I get after some adjustments. |
|
March 30, 2009, 04:18 |
|
#8 |
Member
Christof Benz
Join Date: Mar 2009
Posts: 52
Rep Power: 17 |
Hi Arun,
please post your settings in engineDict. If its possible upload your case. Christof |
|
March 30, 2009, 04:37 |
|
#9 |
New Member
Arun
Join Date: Mar 2009
Posts: 25
Rep Power: 17 |
Hi Christof,
Yes I am anticipating a pressure of 90bar at ignition TDC. Start conditions: IVC = -143 ATDC EVO = 131 ATDC Initial temperature = 313K Initial Pressure = 119000 Pa SOI (pilot) = -30 ATDC SOI (main) = -6 ATDC Expected Peak pressure at TDC (Combustion Case)= 90 Bar Expected peak Pressure at TDC (motored case) = 53 Bar mass of fuel injected = 25mg/cycle Engine Geometry All unit in m conRodLength conRodLength [0 1 0 0 0 0 0] 0.16; bore bore [0 1 0 0 0 0 0] 0.086; stroke stroke [0 1 0 0 0 0 0] 0.086; clearance clearance [0 1 0 0 0 0 0] 0.002; rpm rpm [0 0 -1 0 0 0 0] 1600; Chemistry Properties chemistry on; chemistrySolver ODE; //chemistrySolver EulerImplicit; //chemistrySolver sequential; initialChemicalTimeStep 1.0e-7; sequentialCoeffs { cTauChem 1.0e-3; } EulerImplicitCoeffs { cTauChem 5.0e-2; equilibriumRateLimiter off; } ODECoeffs { ODESolver SIBS; eps 5.0e-2; scale 1.0; } Thermophysical Properties thermoType hMixtureThermo<reactingMixture>; CHEMKINFile "/home//OpenFOAM/keyzhi-1.5/run/tutorials/kivaten/chemkin/chem.inp"; // We use the central thermo data: CHEMKINThermoFile "/home//OpenFOAM/keyzhi-1.5//run/tutorials/kivaten/chemkin/therm.dat"; inertSpecie N2; liquidComponents ( C7H16 ); liquidProperties { C7H16 C7H16 defaultCoeffs; } /************************************************** *******************/ Thanks Arun |
|
March 30, 2009, 05:11 |
|
#10 |
Member
Christof Benz
Join Date: Mar 2009
Posts: 52
Rep Power: 17 |
I think your compression ration is much to high. I calculated 44 ?!?. A ratio of 15 is more realistic. Maybe i made a mistake.
Could you give us a view of your geometry? Christof |
|
March 31, 2009, 12:09 |
|
#11 |
New Member
Arun
Join Date: Mar 2009
Posts: 25
Rep Power: 17 |
Hi Niklas,
Previously I did not try to run engineCompRatio. And now I have tried it and this is the error I am getting. Right now I assume this is due to the mesh condition where is was created at -143 CAD not -180 CAD. Is this assumption true? Is there any way we could test this "engineCompRatio" with mesh that start from CAD other then -180 CAD? And like what Christof mentioned the real engine's compression ratio is 18.2 and not suppose to be 44. Create engine time Create mesh for time = -148 Selecting engineMesh layered deckHeight: 0.0972873 piston position: 0.01484 CA = -148 deltaZ = -0.00490304 clearance: 0.0873503 Piston speed = -0.143504 m/s CA = 180 deltaZ = 0 clearance: 0.0873503 Piston speed = 0 m/s CA = 360 deltaZ = 0.086 clearance: 0.00135034 Piston speed = 4.58667 m/s CA = 360 deltaZ = 0 #0 Foam::error:rintStack(Foam::Ostream&) in "/home/bluewind/OpenFOAM/OpenFOAM-1.5/lib/linuxGccDPOpt/libOpenFOAM.so" #1 Foam::sigFpe::sigFpeHandler(int) in "/home/bluewind/OpenFOAM/OpenFOAM-1.5/lib/linuxGccDPOpt/libOpenFOAM.so" #2 Uninterpreted: [0xb7f01420] #3 Foam::fvMesh::movePoints(Foam::Field<Foam::Vector< double> > const&) in "/home/bluewind/OpenFOAM/OpenFOAM-1.5/lib/linuxGccDPOpt/libfiniteVolume.so" #4 Foam::layeredEngineMesh::move() in "/home/bluewind/OpenFOAM/OpenFOAM-1.5/lib/linuxGccDPOpt/libengine.so" #5 main in "/home/bluewind/OpenFOAM/OpenFOAM-1.5/applications/bin/linuxGccDPOpt/engineCompRatio" #6 __libc_start_main in "/lib/tls/i686/cmov/libc.so.6" #7 __gxx_personality_v0 in "/home/bluewind/OpenFOAM/OpenFOAM-1.5/applications/bin/linuxGccDPOpt/engineCompRatio" Floating point exception Thank you Arun |
|
March 31, 2009, 12:15 |
|
#12 |
New Member
Arun
Join Date: Mar 2009
Posts: 25
Rep Power: 17 |
Hi Christof,
I agree with you that the compression ratio is too high,and I have recalculated it again it shows 44. The actual engine compression ratio is 18.2. I reaaly would like to upload my case setting here but I don't know how to do it in this forum. Is there any way that I can e-mail it to you? Thank You Arun Last edited by arun; March 31, 2009 at 12:18. Reason: image cant be attached |
|
March 31, 2009, 12:38 |
|
#13 |
Member
Christof Benz
Join Date: Mar 2009
Posts: 52
Rep Power: 17 |
Hi Arun,
you can send me your email to christof_benz(at)web.de I will have a look at the case. Christof Last edited by chbenz; March 31, 2009 at 13:12. |
|
April 1, 2009, 02:11 |
|
#14 | ||
Super Moderator
Niklas Nordin
Join Date: Mar 2009
Location: Stockholm, Sweden
Posts: 693
Rep Power: 29 |
Quote:
Quote:
However, kiva-meshes start at BDC and its wise to run the compression ratio check before you start the calculation. |
|||
April 4, 2009, 02:30 |
|
#15 |
New Member
Arun
Join Date: Mar 2009
Posts: 25
Rep Power: 17 |
Hi Niklas,
Thanks for the bug info and the KIVA mesh info. Right now I am learning how to compile FOAM so that can fix the bug. So mean while, I tried to simulate from -180 and once the time reach 0 CAD the simulation crashes and the same error as the "engineCompRatio" test appears. Is this error occurring due to the same "engineCompRatio" bug ? Thanks in advance. Regards Arun |
|
April 6, 2009, 03:58 |
|
#16 |
Super Moderator
Niklas Nordin
Join Date: Mar 2009
Location: Stockholm, Sweden
Posts: 693
Rep Power: 29 |
nope.
can you check the patches, especially the liner and cylinderHead patch. I suspect that the top cell row belongs to the cylinderHead patch and not to the liner patch. check the z-coordinates of the lowest point in the cylinderhead and use the -zHeadMin <value> with that value when you run kivaToFoam |
|
April 8, 2009, 10:43 |
|
#17 |
New Member
Arun
Join Date: Mar 2009
Posts: 25
Rep Power: 17 |
Hi Christof,
I have tried with many smaller cell size and the simulation crash when reach 0 CAD. Then after tried method suggested by Niklas the simulation can run completely from -180 to 180 CAD. The to row cell initially was under the cylinderHead bounday which cause the whole problem. Thank you for your time in checking the case setting for me and solve the simulation problem. Thanks again, really appreciate your help. Arun |
|
April 8, 2009, 10:44 |
|
#18 |
New Member
Arun
Join Date: Mar 2009
Posts: 25
Rep Power: 17 |
Hi Niklas,
I have checked the patches and found that the top cell row belongs to cylinder as u suspected. This was the main problem all the while and I manage to solve it by using -zHeadMin as you suggested. And the "engineCompRatio" bug has been fixed in OpenFOAM-1.5.x so I manage to compile it and run "engineCompRatio" sucessfully. Currently I am getting the motored peak pressure 52.77 bar (experimental motored peak pressure = 52.99 bar) and the simulation can run completely from -180 CAD to 180 CAD . Thank You very much for your time to help me out here. Thanks again, really appreciate your help here. Arun |
|
April 13, 2009, 22:56 |
|
#19 |
New Member
Arun
Join Date: Mar 2009
Posts: 25
Rep Power: 17 |
Hi Niklas,
Thanks for your previous advices to make my diesel engine simulation to work. Right now I am simulating the combustion case with 15 species for the kinetics part and fine tuning my pressure trace. Soon i would like to test with more number of species and reactions to simulate the combustion process. Currently I am facing some problem with the computational time where its' too slow. Therefore I intend to use ISAT, but I am not sure whether ISAT is already implemented in OpenFOAM1.5.x or not? Especially in dieselEngineFoam. If yes,where can I find the source code in the src diirectory? I have read in previous forum by Tommaso and he suggested to use this method (see below). But the problem is I don't really know where to implement/find this. Please advice me on this. ------------------------------------------------------------------ onlineLibrary is used to tabulate the complex chemistry to reduce the computational time. It is a constant approximation version of the ISAT (in-situ adaptive tabulation) algorithm developed by Pope. If you want to use the tabulated chemistry, the onlineProperties dictionary should be written as follows: onlineProperties { tauStar off; online on; tolerance 1.0e-5; logT off; maxElements 100000; cleanAll off; scaleFactor { otherSpecies 1.0; Temperature 1700; Pressure 1.0e+10; } scaleFactorSolution { otherSpecies 1.0; Temperature 1700; Pressure 1.0e+10; } } if you want to switch it off, onlineProperties { tauStar off; online off; tolerance 1.0e-5; logT off; maxElements 100000; cleanAll off; scaleFactor { otherSpecies 1.0; Temperature 1700; Pressure 1.0e+10; } scaleFactorSolution { otherSpecies 1.0; Temperature 1700; Pressure 1.0e+10; } } In the ISAT algorithm chemical source terms are tabulated into a binary tree and are used to approximate the chemical source terms of the nearest composition according to a specified tolerance. Explanation of the terms: tauStar: switch it off, it will be used in the future; logT: if this option is switched on, the logarithm of the temperature will be tabulated instead of the temperature maxElements: maximum number of elements to be tabulated (up to 5e6 is fine, then you can seriously run into memory troubles) cleanAll: if switched on, it will clean the library after any time step. If you want to exploit the full capabilities of the method, switch it off scaleFactor: tabulated data consist of chemical compositions, temperature and pressure. You can scale chemical compositions, temperature and pressure to get more points found solutionScaleFactor: the same but used to extend the validity range of a tabulated composition. For further details, please refer to the Pope's paper (you can find them on the web also) and to the code implementation. In particular - chemistrySolve.C - chemistryOnlineLibrary.C ----------------------------------------------------------------------------- Secondly I would like to use multiple timestep setting in my simulation. Therefore I tried to set the controlDict with "controlDict (start/stop CAD = -180 to -30),controlDict.1st (start/stop CAD = -30 to 5), controlDict.2nd (start/stop CAD = 5 to 180)", but the simulation crashes at -30 CAD. What might be the cause of the problem and how do I go about this? Please advice. Many Thanks in advance. Arun |
|
June 6, 2010, 13:51 |
|
#20 |
New Member
Join Date: Mar 2009
Location: Germany
Posts: 17
Rep Power: 17 |
Hello everybody,
i am also using dieselEngineFoam at the moment to validate against a KIVA case. I have a problem regarding combustion. The pressure trace looks fine until start of combustion. After SOI fuel conversion starts, but neither the experimental nor the KIVA pressure traces are reached. It looks like the amount of consumed fuel is less than injected. But the solver output regarding fuel mass is ok. I am calculating full load operation of a large bore engine with peak pressure over 180 bar. Does anybody know where the error could be? Regards, Georg Last edited by georg; June 10, 2010 at 05:26. |
|
Tags |
combustion, diesel, dieselenginefoam |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Diesel combustion simulation ( Heat release rate) | venkatesh | Siemens | 2 | April 29, 2009 07:38 |
combustion in internal combustion engine | George | Main CFD Forum | 0 | September 7, 2006 14:41 |
diesel engine spray and combustion | usker | Siemens | 6 | April 24, 2006 22:36 |
diesel combustion | Marco | FLUENT | 0 | September 14, 2005 08:27 |
Can I use Fluent to stimulate diesel combustion | Allanhill | FLUENT | 1 | March 6, 2003 07:46 |