|
[Sponsors] |
January 29, 2013, 04:23 |
Opening soon the exhaust valve "sonicTurbDyMEngineFoam"
|
#1 |
Senior Member
Sasan Ghomi
Join Date: Sep 2012
Location: Denmark
Posts: 292
Rep Power: 15 |
Hi every body,
I have a problem with a case for coldFlow in an internal combustion engine (sonicTurbDyMEngineFoam )....the exhaust valve opens early (about 0.005 (s) ).Can any one help me???? How do I correct it??? thanks, Sasan Last edited by sasanghomi; January 29, 2013 at 06:28. |
|
January 29, 2013, 05:35 |
|
#2 |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 128 |
Greetings Sasan,
Can you please provide more information? The reason I ask is because you're not providing enough information, as indicated in this thread: http://www.cfd-online.com/Forums/ope...-get-help.html Best regards, Bruno PS: don't mind about the other post with strange characters, it was just a spammer...
__________________
|
|
January 29, 2013, 07:16 |
Opening soon the exhaust valve "sonicTurbDyMEngineFoam"
|
#3 |
Senior Member
Sasan Ghomi
Join Date: Sep 2012
Location: Denmark
Posts: 292
Rep Power: 15 |
Hi wyldckat ,
Thank you very much. I am running a case that it simulates the cold flow in an internal combustion engine. The solver is sonicTurbDyMEngineFoam.The rotational velocity is (rpm=1500), So the total time for a cycle of the engine is 0.08(s).I expect that the exhaust valve opens at 0.06(s) but when I plot the mass flow versus time at the exhaust port I saw that the exhaust valve opened at 0.055(s).How do I can correct this problem???please any one help me.... The engineGeometry is as below : Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM Extend Project: Open Source CFD | | \\ / O peration | Version: 1.6-ext | | \\ / A nd | Web: www.extend-project.de | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object engineGeometry; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // conRodLength conRodLength [0 1 0 0 0 0 0] 0.147; bore bore [0 1 0 0 0 0 0] 0.092; stroke stroke [0 1 0 0 0 0 0] 0.075; clearance clearance [0 1 0 0 0 0 0] 0.015; rpm rpm [0 0 -1 0 0 0 0] 1500; engineTopoChangerMesh simpleEngineTopoFvMesh; // Between -deformAngle and deformAngle the piston motion is done // using deformation and not layering deformAngle 10; valvePosTol 1e-4; layeredMesh yes; checkMesh yes; piston { patch piston; coordinateSystem { type cartesian; origin (0 0 0); axis (0 0 1); direction (0 1 0); } minLayer 0.0005; maxLayer 0.001; } valveSplitPoint (0.003 0 0); // For the converter // Two-valve engine valves are split on x // Four valve engines are split into 4 quadrants in the x-y plane valves ( intakeValve { // Valve coordinate system coordinateSystem { type cylindrical; origin (-0.025 0 0); axis (0 0 1); direction (0 1 0); } // Patch and zone names bottomPatch valve1; poppetPatch valve2; stemPatch valveStem1; curtainInPortPatch valveCurtainPort1; curtainInCylinderPatch valveCurtainCyl1; detachInCylinderPatch valveDetachCyl1; detachInPortPatch valveDetachPort1; detachFaces ( 2593 2595 2597 2599 2601 2603 2605 2607 2609 2611 2613 2615 2617 2619 2621 2623 2625 2627 2629 2630 ); // Vertex on edge of the step. For the converter stemEdge (-0.04 0 -0.0075); // Valve diameter diameter 0.03; // Minimum valve lift minLift 0.00025; // Layer thickness minTopLayer 0.0005; maxTopLayer 0.001; minBottomLayer 0.0005; maxBottomLayer 0.001; // Lift Profile liftProfileFile "intakeLiftProfileFile"; } exhaustValve { // Valve coordinate system coordinateSystem { type cylindrical; origin (0.025 0 0); axis (0 0 1); direction (0 1 0); } // Patch and zone names bottomPatch valve3; poppetPatch valve4; stemPatch valveStem2; curtainInPortPatch valveCurtainPort2; curtainInCylinderPatch valveCurtainCyl2; detachInCylinderPatch valveDetachCyl2; detachInPortPatch valveDetachPort2; detachFaces ( 4854 4856 4858 4860 4862 4864 4866 4868 4870 4872 4874 4876 4878 4880 4882 4884 4886 4888 4890 4891 ); // Vertex on edge of the step. For the converter stemEdge (0.04 0 -0.0075); // Valve diameter diameter 0.03; // Minimum valve lift minLift 0.00025; // Layer thickness minTopLayer 0.0005; maxTopLayer 0.001; minBottomLayer 0.0005; maxBottomLayer 0.001; // Lift Profile liftProfileFile "exhaustLiftProfileFile"; } ); // ************************************************************************* // Thanks, Sasan. |
|
January 29, 2013, 09:18 |
|
#4 |
Senior Member
Join Date: Oct 2009
Posts: 140
Rep Power: 17 |
The exhaust will open when the lift exhaust valve lift exceeds 0.0025 as specified in your dictionary.
So it depends on your valve lift profile. cheers peter |
|
January 29, 2013, 09:39 |
|
#5 |
Senior Member
Sasan Ghomi
Join Date: Sep 2012
Location: Denmark
Posts: 292
Rep Power: 15 |
Thanks for your reply peter,
Can you give me any sources about describtion of minimum valve lift and valve lift profile?? Can you explain them?? thanks, Sasan. sasanghomi@yahoo.com Last edited by sasanghomi; January 30, 2013 at 03:37. |
|
October 4, 2016, 21:11 |
|
#6 |
New Member
EngineJob
Join Date: Jun 2016
Location: Brazil
Posts: 2
Rep Power: 0 |
hi, i have a problem with this solver too. The error is:
Code:
--> FOAM FATAL ERROR: found boundary face in valve detach definition for valve 1. This is not allowed. Detach faces: 24 ( 12316 12317 12318 12319 12320 12321 12322 12323 12324 12325 12326 12327 12328 12329 12330 12331 12332 12333 12334 12335 12336 12337 12338 12339 ) nInternalFaces: 12190 From function void simpleEngineTopoFvMesh::addZonesAndModifiers() in file simpleEngineTopoFvMesh/addSimpleEngineTopoFvMeshModifiers.C at line 188. Code:
// Create a detach zone if ( valves_[valveI].detachInCylinderPatchID().active() && valves_[valveI].detachInPortPatchID().active() && valves_[valveI].detachFaces().size() > 0 ) { Info<< "Adding detach boundary for valve " << valveI + 1 << endl; const vectorField& areas = Sf().internalField(); const labelList& df = valves_[valveI].detachFaces(); boolList flip(df.size(), false); const vector& pistonAxis = piston().cs().axis(); forAll (df, dfI) { if (isInternalFace(df[dfI])) { if ((areas[df[dfI]] & pistonAxis) > 0) { flip[dfI] = true; } } else { FatalErrorIn ( "void simpleEngineTopoFvMesh::" "addZonesAndModifiers()" ) << "found boundary face in valve detach definition" << " for valve " << valveI + 1 << ". This is not allowed. Detach faces: " << df << " nInternalFaces: " << nInternalFaces() << abort(FatalError); } } How do i do the mesh at the detach zone ? |
|
|
|