CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM (https://www.cfd-online.com/Forums/openfoam/)
-   -   Setup for verticalValves (https://www.cfd-online.com/Forums/openfoam/74049-setup-verticalvalves.html)

Peter_600 March 23, 2010 10:29

Setup for verticalValves
 
Does anyone of you has experience with the class engineTopoChangerMesh?
I try to run a test case with a moving piston and one vertical valve.
I am using OF-1.5-dev.
I am struggling with the engnineGeometrie file with the liftProfile.
Hope someone of u can explain me or show how to set up the case!
regards

/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5 |
| \\ / A nd | Web: http://www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object engineGeometry;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

//engineMesh layered;

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.08423;

clearance clearance [0 1 0 0 0 0 0] 0.00115;

rpm rpm [0 0 -1 0 0 0 0] 1500;

deformAngle 10;

valvePosTol 1e-04;

delta 0.0005;

offSet 0.002;

checkMesh on;

engineTopoChangerMesh verticalValves;

piston

{
patch piston;
// patch none;

coordinateSystem
{
type cartesian;
origin (0 0 -0.09);
axis (0 0 1);
direction (0 1 0);
}

minLayer 0.002;
maxLayer 0.0025;

}

valveSplitPoint (0 0 0);

verticalValves
(
valve
{
// Valve coordinate system
coordinateSystem
{
type cylindrical;
origin (0.02 0 0.12);
axis (0 0 1);
direction (0 1 0);
}

// Patch and zone names
bottomPatch valveBottomIn;
poppetPatch valveTopIn;
stemPatch valveStem;

curtainInPortPatch ValveCurtainPortIn;
curtainInCylinderPatch ValveCurtainCylIn;

detachInCylinderPatch valveDetachCyl1;
detachInPortPatch valveDetachPort1;

detachFaces 5 (364 366 368 370 371);

// Vertex on edge of the step. For the converter
stemEdge (0.023 0.003 0.12);

// Valve diameter
diameter 0.028;

// Minimum valve lift
minLift 0.00025;

// Layer thickness
minTopLayer 0.0007;
maxTopLayer 0.0025;

minBottomLayer 0.005;
maxBottomLayer 0.01;

liftProfile
(
-540 0.01
);
}

);


My output from openFoam

/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5-dev |
| \\ / A nd | Revision: exported |
| \\/ M anipulation | Web: http://www.OpenFOAM.org |
\*---------------------------------------------------------------------------*/
Exec : dieselEngineFoamLayer
Date : Mar 23 2010
Time : 16:40:32
Host :
PID :
Case : /home/peter/OpenFOAM/peter-1.5-dev/run/dieselEngineFoamValve
nProcs : 1

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create engine time

Create mesh

Selecting engineTopoChangerMesh verticalValves


keyword liftProfileFile is undefined in dictionary "/home/peter/OpenFOAM/peter-1.5-dev/run/dieselEngineFoamValve/constant/engineGeometry::verticalValves::valve"

file: /home/peter/OpenFOAM/peter-1.5-dev/run/dieselEngineFoamValve/constant/engineGeometry::verticalValves::valve from line 69 to line 107.

From function dictionary::lookupEntry(const word& keyword) const
in file db/dictionary/dictionary.C at line 213.

FOAM exiting

Peter_600 March 24, 2010 02:55

Does anyone of you know how to define the liftProfileFile or liftProfile entry in the engineGeometry dict?

I appreciate any help!

regards

Peter_600 March 24, 2010 05:50

Problem solved!

Just create in the engineGeometry file a link to a file with the lift profile.

liftProfileFile "liftprofile.dat"

Create the file liftprofile.dat in the constant folder with the entry:

(0 0.0001)
(1 0.0002)
....
....
....
regards

abminternet January 14, 2011 08:04

Hey Pete,

I found my problem with my test case, I think the liftProfileFile is not being read right. Could you maybe post a sample of yours? I need the correct syntax, should there be an empty line at the end, or that doesn't matter? I get liftProfileStart_=0, and also liftProfileEnd=0, so doing
while (adjustedTheta < liftProfileStart_)
{
adjustedTheta += liftProfileEnd_ - liftProfileStart_;
}

in Foam::engineValve::adjustCrankAngle, it cycles!!
Any hints?

Best regards,
abm

Peter_600 January 14, 2011 14:54

A lift profile can look like this
(
0 0
5 0
30 0.003
50 0
70 0
)


left column: CAD
right column: lift in m

regards
Peter

abminternet January 18, 2011 04:24

great, found my error, I thought it was a set of parenthesis per point, thanks mate :D

Peter_600 January 18, 2011 13:09

Great. Happy that I could help you.


All times are GMT -4. The time now is 14:01.