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>
# 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
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
{
// type of insertion region
type cylinderRegion;
timeControl simulationTime;
regionType cylinder;
// insertion rate (particles/s)
rate 12500;
// Start time of LightParticles insertion (s)
@ -53,7 +54,7 @@ layerrightregion
// Time Interval of LightParticles insertion (s)
interval 0.025;
cylinderRegionInfo
cylinderInfo
{
// Coordinates of cylinderRegion (m,m,m)
p2 (-0.15 0.25 0.05);
@ -93,10 +94,6 @@ densities (1000 1500 2500);
en (0.97 0.97 0.85
0.97 0.85
1.00);
// coefficient of tangential restitution
et (1.0 1.0 1.0
1.0 1.0
1.0);
// dynamic friction
mu (0.65 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.
```C++
motionModel rotatingAxis;
rotatingAxisInfo
{
rotAxis
@ -186,7 +184,7 @@ rotatingAxisInfo
## Performing Simulation
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 `$ 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.
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.

View File

@ -14,54 +14,50 @@ contactListType sortedContactList;
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
{
contactForceModel nonLinearLimited;
contactForceModel nonLinearLimited;
rollingFrictionModel normal;
rollingFrictionModel normal;
/*
Property (lightMat-lightMat lightMat-heavyMat lightMat-wallMat
heavyMat-heavyMat heavyMat-wallMat
wallMat-wallMat);
*/
/*
Property (lightMat-lightMat lightMat-heavyMat lightMat-wallMat
heavyMat-heavyMat heavyMat-wallMat
wallMat-wallMat);
*/
Yeff (1.0e6 1.0e6 1.0e6
1.0e6 1.0e6
1.0e6); // Young modulus [Pa]
Yeff (1.0e6 1.0e6 1.0e6
1.0e6 1.0e6
1.0e6); // Young modulus [Pa]
Geff (0.8e6 0.8e6 0.8e6
0.8e6 0.8e6
0.8e6); // Shear modulus [Pa]
Geff (0.8e6 0.8e6 0.8e6
0.8e6 0.8e6
0.8e6); // Shear modulus [Pa]
nu (0.25 0.25 0.25
0.25 0.25
0.25); // Poisson's ratio [-]
nu (0.25 0.25 0.25
0.25 0.25
0.25); // Poisson's ratio [-]
en (0.97 0.97 0.85
0.97 0.85
1.00); // coefficient of normal restitution
et (1.0 1.0 1.0
1.0 1.0
1.0); // coefficient of tangential restitution
en (0.97 0.97 0.85
0.97 0.85
1.00); // coefficient of normal restitution
mu (0.65 0.65 0.35
0.65 0.35
0.35); // dynamic friction
mu (0.65 0.65 0.35
0.65 0.35
0.35); // dynamic friction
mur (0.1 0.1 0.1
0.1 0.1
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
{
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
{
velocity realx3 (0.0 -0.6 0.0); // initial velocity of inserted particles
}
mixture
{
smallSphere 1; // mixture composition of inserted particles
}
mixture
{
smallSphere 1; // mixture composition of inserted particles
}
}
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
{
p2 (-0.23 0.25 0.05); // Top of cylinderRegion (m,m,m)
cylinderInfo
{
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
{
velocity realx3 (0.0 -0.6 0.0); // initial velocity of inserted particles
}
setFields
{
velocity realx3 (0.0 -0.6 0.0); // initial velocity of inserted particles
}
mixture
{
largeSphere 1; // only heavySphere
}
mixture
{
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
{
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
{
left
left
{
type exit; // other options: periodic, reflective
type exit; // other options: periodic, reflective
}
right

View File

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

View File

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