phasicFlow/tutorials/sphereGranFlow/RotaryAirLockValve
Omid Khosravi 3bc35e9e62
Update ReadMe.md for Rotary Air-Lock valve
2023-06-03 11:09:37 +03:30
..
caseSetup Rotary Air-Lock Valve 2023-04-30 18:49:49 +04:30
settings Rotary Air-Lock Valve 2023-06-03 11:03:00 +03:30
stl RotaryAirLockValve 2023-04-30 18:42:35 +04:30
ReadMe.md Update ReadMe.md for Rotary Air-Lock valve 2023-06-03 11:09:37 +03:30

ReadMe.md

Problem Definition

The problem is to simulate a Rotary Air-Lock Valve with below diminsions:

  • Size of Cone:
    • Cone Gate: 29.17 cm
    • Cone Exit: 10.37 cm
  • Size of Outer Exit: 9.42 cm
  • External diameter of Circle: 20.74 cm There is one type of particle in this blender. Particles are poured into the inlet valve from t=0 s.
  • 28000 particles with 5 mm diameter poured into the valve with rate of 4000 particles/s.
<html>
a view of the Rotary Air-Lock Valve while rotating
particles are colored according to their id
</html>

Setting up the Case

As it has been explained in the previous cases, the simulation case setup is based on text-based scripts. Here, the simulation case setup files are stored into three folders: caseSetup, setting, stl (see the above folders). See next the section for more information on how we can setup the geometry and its rotation.

Geometry

Defining rotation axis

In file settings/geometryDict the information of rotating axis and speed of rotation are defined. The rotation of this blender starts at time=0 s and ends at time=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.

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/sphereShape the diameter and the material name of the particles are defined.

in caseSetup/sphereShape file
// names of shapes
names 		(sphere);

// diameter of shapes 
diameters 	(0.005);

// material names for shapes 
materials	(sphereMat);

Particle positioning before start of simulation

in settings/particlesDict file
// positions particles 
positionParticles
{

	// creates the required fields with zero particles (empty).
	method empty;

	// maximum number of particles in the simulation
	maxNumberOfParticles 	50000;

	// perform initial sorting based on morton code?
	mortonSorting 		Yes;
}

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 previewing the results

To perform simulations, enter the following commands one after another in the terminal.

Enter $ particlesPhasicFlow command to create the initial fields for particles.
Enter $ geometryPhasicFlow command to create the geometry.
At last, enter $ sphereGranFlow command to start the simulation.
After finishing the simulation, you can use $ pFlowtoVTK to convert the results into vtk format stored in ./VTK folder.