RotaryAirLockValve

Added Rotary Air-Lock Valve
Comments for caseSetup were fixed
This commit is contained in:
Omid Khosravi 2023-04-30 18:42:35 +04:30
parent 06a431f689
commit 485c5e3142
8 changed files with 6976 additions and 0 deletions

View File

@ -0,0 +1,83 @@
/* -------------------------------*- C++ -*--------------------------------- *\
| phasicFlow File |
| copyright: www.cemf.ir |
\* ------------------------------------------------------------------------- */
objectName interaction;
objectType dicrionary;
fileFormat ASCII;
/*---------------------------------------------------------------------------*/
// a list of materials names
materials (sphereMat wallMat);
// density of materials [kg/m3]
densities (1000 2500);
contactListType sortedContactList;
model
{
contactForceModel nonLinearNonLimited;
rollingFrictionModel normal;
/*
Property (sphereMat-sphereMat sphereMat-wallMat
wallMat-wallMat);
*/
// Young modulus [Pa]
Yeff (1.0e6 1.0e6
1.0e6);
// Shear modulus [Pa]
Geff (0.8e6 0.8e6
0.8e6);
// Poisson's ratio [-]
nu (0.25 0.25
0.25);
// coefficient of normal restitution
en (0.7 0.8
1.0);
// coefficient of tangential restitution
et (1.0 1.0
1.0);
// dynamic friction
mu (0.3 0.35
0.35);
// rolling friction
mur (0.1 0.1
0.1);
}
contactSearch
{
// method for broad search particle-particle
method NBS;
// method for broad search particle-wall
wallMapping cellMapping;
NBSInfo
{
// each 10 timesteps, update neighbor list
updateFrequency 10;
// bounding box size to particle diameter (max)
sizeRatio 1.1;
}
cellMappingInfo
{
// each 20 timesteps, update neighbor list
updateFrequency 10;
// bounding box for particle-wall search (> 0.5)
cellExtent 0.6;
}
}

View File

@ -0,0 +1,55 @@
/* -------------------------------*- C++ -*--------------------------------- *\
| phasicFlow File |
| copyright: www.cemf.ir |
\* ------------------------------------------------------------------------- */
objectName particleInsertion;
objectType dicrionary;
fileFormat ASCII;
/*---------------------------------------------------------------------------*/
// is insertion active?
active yes;
// not implemented for yes
collisionCheck No;
/*
one layer of particles is added using an insertion step.
*/
//Insertion Layer
layer0
{
// type of insertion region
type boxRegion;
// insertion rate (particles/s)
rate 4000;
// Start time of Particles insertion (s)
startTime 0;
// End time of Particles insertion (s)
endTime 7;
// Time Interval of Particles insertion (s)
interval 0.025;
// Coordinates of BoxRegion (m,m,m)
boxRegionInfo
{
min ( 0.48 0.58 0.01 ); // (m,m,m)
max ( 0.64 0.59 0.05 ); // (m,m,m)
}
setFields
{
// initial velocity of inserted particles
velocity realx3 (0.0 -0.6 0.0);
}
mixture
{
sphere 1;
}
}

View File

@ -0,0 +1,19 @@
/* -------------------------------*- C++ -*--------------------------------- *\
| phasicFlow File |
| copyright: www.cemf.ir |
\* ------------------------------------------------------------------------- */
objectName particleInsertion;
objectType dicrionary;
fileFormat ASCII;
/*---------------------------------------------------------------------------*/
objectName sphereDict;
objectType sphereShape;
// names of shapes
names (sphere);
// diameter of shapes
diameters (0.005);
// material names for shapes
materials (sphereMat);

View File

@ -0,0 +1,41 @@
/* -------------------------------*- C++ -*--------------------------------- *\
| phasicFlow File |
| copyright: www.cemf.ir |
\* ------------------------------------------------------------------------- */
objectName geometryDict;
objectType dictionary;
// motion model: rotating object around an axis
motionModel rotatingAxisMotion;
surfaces
{
gear
{
type stlWall; // type of the wall
file gear.stl; // file name in stl folder
material wallMat; // material name of this wall
motion rotAxis; // motion component name
}
surfaces
{
type stlWall; // type of the wall
file surfaces.stl; // file name in stl folder
material wallMat; // material name of this wall
motion none; // motion component name
}
}
// information for rotatingAxisMotion motion model
rotatingAxisMotionInfo
{
rotAxis
{
p1 (0.561547 0.372714 0.000); // first point for the axis of rotation
p2 (0.561547 0.372714 0.010); // second point for the axis of rotation
omega 2.1; // rotation speed (rad/s)
startTime 1.25;
endTime 7;
}
}

View File

@ -0,0 +1,31 @@
/* -------------------------------*- C++ -*--------------------------------- *\
| phasicFlow File |
| copyright: www.cemf.ir |
\* ------------------------------------------------------------------------- */
objectName particlesDict;
objectType dictionary;
setFields
{
defaultValue
{
velocity realx3 (0 0 0); // linear velocity (m/s)
acceleration realx3 (0 0 0); // linear acceleration (m/s2)
rotVelocity realx3 (0 0 0); // rotational velocity (rad/s)
shapeName word sphere; // name of the particle shape
}
selectors
{}
}
// positions particles
positionParticles
{
method empty; // creates the required fields with zero particles (empty).
maxNumberOfParticles 50000; // maximum number of particles in the simulation
mortonSorting Yes; // perform initial sorting based on morton code?
}

View File

@ -0,0 +1,37 @@
/* -------------------------------*- C++ -*--------------------------------- *\
| phasicFlow File |
| copyright: www.cemf.ir |
\* ------------------------------------------------------------------------- */
objectName settingsDict;
objectType dictionary;;
run rotatingValve;
dt 0.00001; // time step for integration (s)
startTime 0; // start time for simulation
endTime 7; // end time for simulation
saveInterval 0.05; // time interval for saving the simulation
timePrecision 6; // maximum number of digits for time folder
g (0 -9.8 0); // gravity vector (m/s2)
/*
Simulation domain
every particles that goes outside this domain is deleted.
*/
domain
{
min (0.397538 0.178212 0.00);
max (0.725537 0.600214 0.06);
}
integrationMethod AdamsBashforth3; // integration method
timersReport Yes; // report timers?
timersReportInterval 0.01; // time interval for reporting timers

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff