Problem Definition
The problem is to simulate a RotaryAirLockValve. The external diameter of the rotor is about 21 cm. There is one type of particle in this simulation. Particles are inserted into the inlet of the valve from t=0 s.
- 28000 particles with 5 mm diameter are inserted into the valve with the rate of 4000 particles/s.
- The rotor starts its ortation at t = 1.25 s at the rate of 2.1 rad/s.
Setting up the Case
As explained in the previous simulations, the simulation case setup is based on text-based scripts. Here, the simulation case setup files are stored in three folders: caseSetup
, setting
, and stl
(see the folders above). See the next section for more information on how we can set up the geometry and its rotation.
Geometry
Defining rotation axis
In file settings/geometryDict
the information of rotating axis of rotor and its speed of rotation are defined. The rotation starts at t = 1.25 s and ends at t = 7 s.
// information for rotatingAxisMotion motion model
rotatingAxisMotionInfo
{
rotAxis
{
// first point for the axis of rotation
p1 (0.561547 0.372714 0.000);
// second point for the axis of rotation
p2 (0.561547 0.372714 0.010);
// rotation speed (rad/s)
omega 2.1;
// Start time of Geometry Rotating (s)
startTime 1.25;
// End time of Geometry Rotating (s)
endTime 7;
}
}
Surfaces
In settings/geometryDict
file, the surfaces component are defined to form a Rotating Air-Lock Valve. All surface components are supplied in stl file format. All stl files should be stored under 'stl' folder.
surfaces
{
gear
{
// type of the wall
type stlWall;
// file name in stl folder
file gear.stl;
// material name of this wall
material wallMat;
// motion component name
motion rotAxis;
}
surfaces
{
// type of the wall
type stlWall;
// file name in stl folder
file surfaces.stl;
// material name of this wall
material wallMat;
// motion component name
motion none;
}
Defining particles
Diameter and material of spheres
In the caseSetup/shapes
the diameter and the material name of the particles are defined.
// names of shapes
names (sphere);
// diameter of shapes
diameters (0.005);
// material names for shapes
materials (sphereMat);
Insertion of Particles
Particle insertion starts at t = 0 s and ends at t = 7 s. A box is defined for the port from which particles are inserted. The insertion rate is 4000 particles per second.
topRegion
{
// 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 between each 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;
}
}
Interaction between particles
In caseSetup/interaction
file, material names and properties and interaction parameters are defined. Since we are defining 1 material type in the simulation, the interaction matrix is 2x2 (interactions are symmetric).
// 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);
}
Performing simulation and viewing simulation results
To perform simulations, enter the following commands one after another in the terminal.
Enter $ particlesPhasicFlow
command to create the initial fields for particles (here the simulation has no particle at the beginning).
Enter $ geometryPhasicFlow
command to create the geometry.
Finally, type $ sphereGranFlow
command to start the simulation.
After the simulation is finished, you can type $ pFlowtoVTK
to convert the results to vtk format, which can be found in the ./VTK folder.