130 lines
3.0 KiB
C++
130 lines
3.0 KiB
C++
/*--------------------------------*- C++ -*----------------------------------*\
|
|
========= |
|
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
\\ / O peration | Website: https://openfoam.org
|
|
\\ / A nd | Version: 12
|
|
\\/ M anipulation |
|
|
\*---------------------------------------------------------------------------*/
|
|
FoamFile
|
|
{
|
|
format ascii;
|
|
class dictionary;
|
|
location "constant";
|
|
object dynamicMeshDict;
|
|
}
|
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
|
|
mover
|
|
{
|
|
|
|
type multiValveEngine;
|
|
|
|
libs ("libfvMeshMoversMultiValveEngine.so");
|
|
|
|
slidingPatches
|
|
(
|
|
liner
|
|
evStem
|
|
ivStem
|
|
nonCouple_cyl_ev
|
|
nonCouple_ev_cyl
|
|
nonCouple_cyl_iv
|
|
nonCouple_iv_cyl
|
|
);
|
|
|
|
linerPatches (liner);
|
|
|
|
piston
|
|
{
|
|
patches (piston);
|
|
axis (0 0 1);
|
|
|
|
motion
|
|
{
|
|
type crankConnectingRodMotion;
|
|
|
|
conRodLength 1000; // To mimic pure sinusoidal motion
|
|
stroke 1;
|
|
}
|
|
|
|
movingFrozenLayerThickness 0;
|
|
|
|
travelInterval 0.1;
|
|
cosineScaling yes;
|
|
}
|
|
|
|
valves
|
|
{
|
|
iv
|
|
{
|
|
patches (ivHead);
|
|
|
|
axis (0 0 1);
|
|
|
|
movingFrozenLayerThickness 0;
|
|
|
|
travelInterval 5.8e-3;
|
|
cosineScaling yes;
|
|
|
|
minLift 0.01;
|
|
|
|
motion
|
|
{
|
|
type table;
|
|
values
|
|
(
|
|
// lift: 0.002 / CAD
|
|
(0 0.0)
|
|
(340 0.01) // IVO + meshToMesh map
|
|
(480 0.29)
|
|
(620 0.01) // IVC + meshToMesh map
|
|
(720 0.0)
|
|
);
|
|
|
|
// For multi-cycle simulations, use repeat
|
|
outOfBounds repeat;
|
|
interpolationScheme linear;
|
|
}
|
|
}
|
|
|
|
ev
|
|
{
|
|
$iv;
|
|
patches (evHead);
|
|
|
|
motion
|
|
{
|
|
type table;
|
|
values
|
|
(
|
|
(0 0.0)
|
|
(100 0.01) // EVO + meshToMesh map
|
|
(240 0.29)
|
|
(380 0.01) // EVC + meshToMesh map
|
|
(720 0.0)
|
|
);
|
|
// For multi-cycle simulations, use repeat
|
|
outOfBounds repeat;
|
|
interpolationScheme linear;
|
|
}
|
|
}
|
|
};
|
|
}
|
|
|
|
topoChanger
|
|
{
|
|
type meshToMesh;
|
|
|
|
libs ("libmeshToMeshTopoChanger.so");
|
|
|
|
times
|
|
(
|
|
#include "$FOAM_CASE/constant/meshTimes"
|
|
);
|
|
|
|
repeat 720;
|
|
timeDelta 1e-6;
|
|
}
|
|
|
|
// ************************************************************************* //
|