Files
OpenFOAM-12/tutorials/fluid/engine2Valve2D/constant/dynamicMeshDict
2024-07-06 16:02:47 +01:00

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;
}
// ************************************************************************* //