RotatingDrumWithBaffles is Updated.

This commit is contained in:
ramin1728 2025-03-05 20:06:25 +03:30
parent 07b54c4077
commit 8dcd578a22
6 changed files with 85 additions and 92 deletions

View File

@ -15,7 +15,7 @@ The problem is to simulate a rotating drum with a diameter of 0.24 m, a length o
</html> </html>
# Setting up the Case # 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 are sorted in three folders: `caseSetup`, `setting` and `stl` (see the above folders). As it has been explained in the previous cases, the simulation case setup is based on text-based scripts. Here, the simulation case setup are sorted in three folders: `caseSetup`, `setting` and `stl`.
## Defining small and large particles ## Defining small and large particles
Then in the `caseSetup/shapes` the diameter and the material name of the particles are defined. Two sizes are defined: 4 and 5 mm. Then in the `caseSetup/shapes` the diameter and the material name of the particles are defined. Two sizes are defined: 4 and 5 mm.
@ -43,7 +43,8 @@ in <b>caseSetup/particleInsertion</b> file
layerrightregion layerrightregion
{ {
// type of insertion region // type of insertion region
type cylinderRegion; timeControl simulationTime;
regionType cylinder;
// insertion rate (particles/s) // insertion rate (particles/s)
rate 12500; rate 12500;
// Start time of LightParticles insertion (s) // Start time of LightParticles insertion (s)
@ -53,7 +54,7 @@ layerrightregion
// Time Interval of LightParticles insertion (s) // Time Interval of LightParticles insertion (s)
interval 0.025; interval 0.025;
cylinderRegionInfo cylinderInfo
{ {
// Coordinates of cylinderRegion (m,m,m) // Coordinates of cylinderRegion (m,m,m)
p2 (-0.15 0.25 0.05); p2 (-0.15 0.25 0.05);
@ -93,10 +94,6 @@ densities (1000 1500 2500);
en (0.97 0.97 0.85 en (0.97 0.97 0.85
0.97 0.85 0.97 0.85
1.00); 1.00);
// coefficient of tangential restitution
et (1.0 1.0 1.0
1.0 1.0
1.0);
// dynamic friction // dynamic friction
mu (0.65 0.65 0.35 mu (0.65 0.65 0.35
0.65 0.35 0.65 0.35
@ -166,6 +163,7 @@ surfaces
In this part of `geometryDict` the information of rotating axis and speed of rotation are defined. The start of rotation is at 2 s. The first 2 seconds of simulation is for allowing particles to settle donw in the drum. In this part of `geometryDict` the information of rotating axis and speed of rotation are defined. The start of rotation is at 2 s. The first 2 seconds of simulation is for allowing particles to settle donw in the drum.
```C++ ```C++
motionModel rotatingAxis;
rotatingAxisInfo rotatingAxisInfo
{ {
rotAxis rotAxis
@ -186,7 +184,7 @@ rotatingAxisInfo
## Performing Simulation ## Performing Simulation
To run simulations, type the following commands in the terminal one at a time. To run simulations, type the following commands in the terminal one at a time.
Enter `$ particlesPhasicFlow` command to create the initial fields for particles. Enter `particlesPhasicFlow` command to create the initial fields for particles.
Enter `$ geometryPhasicFlow` command to create the Geometry. Enter `geometryPhasicFlow` command to create the Geometry.
At last, enter `$ sphereGranFlow` command to start the simulation. 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. After finishing the simulation, you can use `pFlowtoVTK` to convert the results into vtk format stored in ./VTK folder.

View File

@ -14,54 +14,50 @@ contactListType sortedContactList;
contactSearch contactSearch
{ {
method NBS; // method for broad search method NBS; // method for broad search
updateInterval 10; updateInterval 10;
sizeRatio 1.1; sizeRatio 1.1;
cellExtent 0.55; cellExtent 0.55;
adjustableBox Yes; adjustableBox Yes;
} }
model model
{ {
contactForceModel nonLinearLimited; contactForceModel nonLinearLimited;
rollingFrictionModel normal; rollingFrictionModel normal;
/* /*
Property (lightMat-lightMat lightMat-heavyMat lightMat-wallMat Property (lightMat-lightMat lightMat-heavyMat lightMat-wallMat
heavyMat-heavyMat heavyMat-wallMat heavyMat-heavyMat heavyMat-wallMat
wallMat-wallMat); wallMat-wallMat);
*/ */
Yeff (1.0e6 1.0e6 1.0e6 Yeff (1.0e6 1.0e6 1.0e6
1.0e6 1.0e6 1.0e6 1.0e6
1.0e6); // Young modulus [Pa] 1.0e6); // Young modulus [Pa]
Geff (0.8e6 0.8e6 0.8e6 Geff (0.8e6 0.8e6 0.8e6
0.8e6 0.8e6 0.8e6 0.8e6
0.8e6); // Shear modulus [Pa] 0.8e6); // Shear modulus [Pa]
nu (0.25 0.25 0.25 nu (0.25 0.25 0.25
0.25 0.25 0.25 0.25
0.25); // Poisson's ratio [-] 0.25); // Poisson's ratio [-]
en (0.97 0.97 0.85 en (0.97 0.97 0.85
0.97 0.85 0.97 0.85
1.00); // coefficient of normal restitution 1.00); // coefficient of normal restitution
et (1.0 1.0 1.0 mu (0.65 0.65 0.35
1.0 1.0 0.65 0.35
1.0); // coefficient of tangential restitution 0.35); // dynamic friction
mu (0.65 0.65 0.35 mur (0.1 0.1 0.1
0.65 0.35 0.1 0.1
0.35); // dynamic friction 0.1); // rolling friction
mur (0.1 0.1 0.1
0.1 0.1
0.1); // rolling friction
} }

View File

@ -15,70 +15,69 @@ active Yes; // is insertion active -> Yes o
layerrightregion // Right Layer Region layerrightregion // Right Layer Region
{ {
timeControl simulationTime; timeControl simulationTime;
regionType cylinder; // type of insertion region regionType cylinder; // type of insertion region
rate 12500; // Right Region Particles Insertion Rate (particles/s) rate 12500; // Right Region Particles Insertion Rate (particles/s)
startTime 0; // Start time of LightParticles insertion (s) startTime 0; // Start time of LightParticles insertion (s)
endTime 1; // End time of LightParticles insertion (s) endTime 1; // End time of LightParticles insertion (s)
insertionInterval 0.025; // Time Interval of LightParticles insertion (s) insertionInterval 0.025; // Time Interval of LightParticles insertion (s)
cylinderInfo cylinderInfo
{ {
p2 (-0.15 0.25 0.05); // Top of cylinderRegion (m,m,m)
p2 (-0.15 0.25 0.05); // Top of cylinderRegion (m,m,m) p1 (-0.15 0.24 0.05); // Bottom of cylinderRegion (m,m,m)
p1 (-0.15 0.24 0.05); // Bottom of cylinderRegion (m,m,m) radius 0.035; // radius of cylinder (m)
}
radius 0.035; // radius of cylinder (m) setFields
} {
velocity realx3 (0.0 -0.6 0.0); // initial velocity of inserted particles
}
setFields mixture
{ {
velocity realx3 (0.0 -0.6 0.0); // initial velocity of inserted particles smallSphere 1; // mixture composition of inserted particles
} }
mixture
{
smallSphere 1; // mixture composition of inserted particles
}
} }
layerleftregion // Left Layer Region layerleftregion // Left Layer Region
{ {
timeControl simulationTime; timeControl simulationTime;
regionType cylinder; // type of insertion region regionType cylinder; // type of insertion region
rate 7500; // Left Region Particles Insertion Rate (particles/s) rate 7500; // Left Region Particles Insertion Rate (particles/s)
startTime 0; // Start time of LightParticles insertion (s) startTime 0; // Start time of LightParticles insertion (s)
endTime 1; // End time of LightParticles insertion (s) endTime 1; // End time of LightParticles insertion (s)
insertionInterval 0.025; // Time Interval of LightParticles insertion (s) insertionInterval 0.025; // Time Interval of LightParticles insertion (s)
cylinderInfo cylinderInfo
{ {
p2 (-0.23 0.25 0.05); // Top of cylinderRegion (m,m,m) p2 (-0.23 0.25 0.05); // Top of cylinderRegion (m,m,m)
p1 (-0.23 0.24 0.05); // Bottom of cylinderRegion (m,m,m) p1 (-0.23 0.24 0.05); // Bottom of cylinderRegion (m,m,m)
radius 0.035; // radius of cylinder (m) radius 0.035; // radius of cylinder (m)
} }
setFields setFields
{ {
velocity realx3 (0.0 -0.6 0.0); // initial velocity of inserted particles velocity realx3 (0.0 -0.6 0.0); // initial velocity of inserted particles
} }
mixture mixture
{ {
largeSphere 1; // only heavySphere largeSphere 1; // only heavySphere
} }
} }

View File

@ -8,16 +8,16 @@ fileFormat ASCII;
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
globalBox // Simulation domain: every particles that goes outside this domain will be deleted globalBox // Simulation domain: every particles that goes outside this domain will be deleted
{ {
min (-0.328 0.095 -0.025); // lower corner point of the box min (-0.328 0.095 -0.025); // lower corner point of the box
max (-0.068 0.355 0.125); // upper corner point of the box max (-0.068 0.355 0.125); // upper corner point of the box
} }
boundaries boundaries
{ {
left left
{ {
type exit; // other options: periodic, reflective type exit; // other options: periodic, reflective
} }
right right

View File

@ -10,7 +10,7 @@ motionModel rotatingAxis;
rotatingAxisInfo rotatingAxisInfo
{ {
rotAxis rotAxis
{ {
p1 (-0.1974 0.2269 0); // first point for the axis of rotation p1 (-0.1974 0.2269 0); // first point for the axis of rotation

View File

@ -16,7 +16,7 @@ setFields
spherical particles. spherical particles.
*/ */
defaultValue defaultValue
{ {
velocity realx3 (0 0 0); // linear velocity (m/s) velocity realx3 (0 0 0); // linear velocity (m/s)