Compare commits

...

3 Commits

Author SHA1 Message Date
wanqing0421 8038a76699 Correction for settingsDict 2025-03-05 19:59:18 +08:00
wanqing0421 c408b60f87 correction for shapes file 2025-03-05 19:56:57 +08:00
wanqing0421 ab21acdca5 update rotatingDrumMedium tutorial 2025-03-05 08:37:52 +08:00
8 changed files with 158 additions and 218 deletions

View File

@ -6,56 +6,52 @@ objectName interaction;
objectType dicrionary; objectType dicrionary;
fileFormat ASCII; fileFormat ASCII;
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
materials (glassMat wallMat); // a list of materials names materials (glassMat wallMat); // a list of materials names
densities (2500.0 2500); // density of materials [kg/m3] densities (2500.0 2500); // density of materials [kg/m3]
contactListType sortedContactList; 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 (glassMat-glassMat glassMat-wallMat Property (glassMat-glassMat glassMat-wallMat
wallMat-wallMat); wallMat-wallMat);
*/ */
Yeff (1.0e6 1.0e6 Yeff (1.0e6 1.0e6
1.0e6); // Young modulus [Pa] 1.0e6); // Young modulus [Pa]
Geff (0.8e6 0.8e6 Geff (0.8e6 0.8e6
0.8e6); // Shear modulus [Pa] 0.8e6); // Shear modulus [Pa]
nu (0.25 0.25 nu (0.25 0.25
0.25); // Poisson's ratio [-] 0.25); // Poisson's ratio [-]
en (0.97 0.85 en (0.97 0.85
1.00); // coefficient of normal restitution 1.00); // coefficient of normal restitution
et (1.0 1.0 mu (0.65 0.65
1.0); // coefficient of tangential restitution 0.65); // dynamic friction
mu (0.65 0.65 mur (0.1 0.1
0.65); // dynamic friction 0.1); // rolling friction
mur (0.1 0.1
0.1); // rolling friction
} }

View File

@ -8,5 +8,3 @@ fileFormat ASCII;
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
active No; // is checked -> Yes or No active No; // is checked -> Yes or No
collisionCheck No; // is insertion active -> Yes or No

View File

@ -2,12 +2,12 @@
| phasicFlow File | | phasicFlow File |
| copyright: www.cemf.ir | | copyright: www.cemf.ir |
\* ------------------------------------------------------------------------- */ \* ------------------------------------------------------------------------- */
objectName sphereDict; objectName shapes;
objectType sphereShape; objectType dictionary;
fileFormat ASCII; fileFormat ASCII;
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
names (glassBead); // names of shapes names (glassBead); // names of shapes
diameters (0.003); // diameter of shapes diameters (0.003); // diameter of shapes
materials (glassMat); // material names for shapes materials (glassMat); // material names for shapes

View File

@ -1,12 +0,0 @@
/* -------------------------------*- C++ -*--------------------------------- *\
| phasicFlow File |
| copyright: www.cemf.ir |
\* ------------------------------------------------------------------------- */
objectName sphereDict;
objectType sphereShape;
fileFormat ASCII;
/*---------------------------------------------------------------------------*/
names (glassBead); // names of shapes
diameters (0.003); // diameter of shapes
materials (glassMat); // material names for shapes

View File

@ -2,63 +2,46 @@
| phasicFlow File | | phasicFlow File |
| copyright: www.cemf.ir | | copyright: www.cemf.ir |
\* ------------------------------------------------------------------------- */ \* ------------------------------------------------------------------------- */
objectName domainDict; objectName domainDict;
objectType dictionary; objectType dictionary;
fileFormat ASCII; 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.12 -0.12 0); min (-0.12 -0.12 0);
max (0.12 0.12 0.36); // upper corner point of the box max (0.12 0.12 0.36); // upper corner point of the box
}
decomposition
{
direction z;
} }
boundaries boundaries
{ {
left
{
type exit; // other options: periodic, reflective
}
neighborListUpdateInterval 50; /* Determines how often (how many iterations) do you want to right
{
type exit; // other options: periodic, reflective
}
rebuild the list of particles in the neighbor list bottom
{
type exit; // other options: periodic, reflective
}
of all boundaries in the simulation domain */ top
{
type exit; // other options: periodic, reflective
}
updateInterval 10; // Determines how often do you want to update the new changes in the boundary rear
{
type exit; // other options: periodic, reflective
}
neighborLength 0.004; // The distance from the boundary plane within which particles are marked to be in the boundary list front
{
left type exit; // other options: periodic, reflective
{ }
type exit; // other options: periodict, reflective
}
right
{
type exit; // other options: periodict, reflective
}
bottom
{
type exit; // other options: periodict, reflective
}
top
{
type exit; // other options: periodict, reflective
}
rear
{
type exit; // other options: periodict, reflective
}
front
{
type exit; // other options: periodict, reflective
}
} }

View File

@ -2,91 +2,90 @@
| phasicFlow File | | phasicFlow File |
| copyright: www.cemf.ir | | copyright: www.cemf.ir |
\* ------------------------------------------------------------------------- */ \* ------------------------------------------------------------------------- */
objectName geometryDict; objectName geometryDict;
objectType dictionary; objectType dictionary;
fileFormat ASCII; fileFormat ASCII;
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
motionModel rotatingAxis; // motion model: rotating object around an axis motionModel rotatingAxis; // motion model: rotating object around an axis
rotatingAxisInfo // information for rotatingAxisMotion motion model rotatingAxisInfo // information for rotatingAxisMotion motion model
{ {
rotAxis rotAxis
{ {
p1 (0.0 0.0 0.0); // first point for the axis of rotation p1 (0.0 0.0 0.0); // first point for the axis of rotation
p2 (0.0 0.0 1.0); // second point for the axis of rotation p2 (0.0 0.0 1.0); // second point for the axis of rotation
omega 1.214; // rotation speed (rad/s) => 11.6 rpm omega 1.214; // rotation speed (rad/s) => 11.6 rpm
} }
} }
surfaces surfaces
{ {
/* /*
A cylinder with begin and end radii 0.12 m and axis points at (0 0 0) and (0 0 0.36) A cylinder with begin and end radii 0.12 m and axis points at (0 0 0) and (0 0 0.36)
*/ */
cylinder cylinder
{ {
type cylinderWall; // type of the wall type cylinderWall; // type of the wall
p1 (0.0 0.0 0.0); // begin point of cylinder axis p1 (0.0 0.0 0.0); // begin point of cylinder axis
p2 (0.0 0.0 0.36); // end point of cylinder axis p2 (0.0 0.0 0.36); // end point of cylinder axis
radius1 0.12; // radius at p1 radius1 0.12; // radius at p1
radius2 0.12; // radius at p2 radius2 0.12; // radius at p2
resolution 24; // number of divisions resolution 24; // number of divisions
material wallMat; // material name of this wall material wallMat; // material name of this wall
motion rotAxis; // motion component name motion rotAxis; // motion component name
} }
/* /*
This is a plane wall at the rear end of cylinder This is a plane wall at the rear end of cylinder
*/ */
wall1 wall1
{ {
type planeWall; // type of the wall type planeWall; // type of the wall
p1 (-0.12 -0.12 0.0); // first point of the wall p1 (-0.12 -0.12 0.0); // first point of the wall
p2 ( 0.12 -0.12 0.0); // second point p2 ( 0.12 -0.12 0.0); // second point
p3 ( 0.12 0.12 0.0); // third point p3 ( 0.12 0.12 0.0); // third point
p4 (-0.12 0.12 0.0); // fourth point p4 (-0.12 0.12 0.0); // fourth point
material wallMat; // material name of the wall material wallMat; // material name of the wall
motion rotAxis; // motion component name motion rotAxis; // motion component name
} }
/* /*
This is a plane wall at the front end of cylinder This is a plane wall at the front end of cylinder
*/ */
wall2 wall2
{ {
type planeWall; // type of the wall type planeWall; // type of the wall
p1 (-0.12 -0.12 0.36); // first point of the wall p1 (-0.12 -0.12 0.36); // first point of the wall
p2 ( 0.12 -0.12 0.36); // second point p2 ( 0.12 -0.12 0.36); // second point
p3 ( 0.12 0.12 0.36); // third point p3 ( 0.12 0.12 0.36); // third point
p4 (-0.12 0.12 0.36); // fourth point p4 (-0.12 0.12 0.36); // fourth point
material wallMat; // material name of the wall material wallMat; // material name of the wall
motion rotAxis; // motion component name motion rotAxis; // motion component name
} }
} }

View File

@ -2,79 +2,55 @@
| phasicFlow File | | phasicFlow File |
| copyright: www.cemf.ir | | copyright: www.cemf.ir |
\* ------------------------------------------------------------------------- */ \* ------------------------------------------------------------------------- */
objectName particlesDict; objectName particlesDict;
objectType dictionary; objectType dictionary;
fileFormat ASCII; fileFormat ASCII;
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
setFields setFields
{ {
/* /*
Default value for fields defined for particles Default value for fields defined for particles
These fields should always be defined for simulations with These fields should always be defined for simulations with
spherical particles spherical particles
*/ */
defaultValue defaultValue
{ {
velocity realx3 (0 0 0); // linear velocity (m/s) velocity realx3 (0 0 0); // linear velocity (m/s)
acceleration realx3 (0 0 0); // linear acceleration (m/s2) acceleration realx3 (0 0 0); // linear acceleration (m/s2)
rVelocity realx3 (0 0 0); // rotational velocity (rad/s) rVelocity realx3 (0 0 0); // rotational velocity (rad/s)
shapeName word glassBead; // name of the particle shape shapeName word glassBead; // name of the particle shape
} }
selectors selectors
{ {
/* shapeAssigne }
{
selector stridedRange; // other options: box, cylinder, sphere, randomPoints
stridedRangeInfo
{
begin 0; // begin index of points
end 250000; // end index of points
stride 3; // stride for selector
}
fieldValue // fields that the selector is applied to
{
shapeName word glassBead; // sets shapeName of the selected points to largeSphere
}
}*/
}
} }
positionParticles // positions particles positionParticles // positions particles
{ {
method ordered; // other options: random and empty method ordered; // other options: random and empty
//maxNumberOfParticles 250001; // maximum number of particles in the simulation orderedInfo
{
diameter 0.003; // minimum space between centers of particles
//mortonSorting Yes; // perform initial sorting based on morton code? numPoints 250000; // number of particles in the simulation
orderedInfo axisOrder (z y x); // axis order for filling the space with particles
{ }
diameter 0.003; // minimum space between centers of particles
numPoints 250000; // number of particles in the simulation regionType cylinder; // other options: box and sphere
axisOrder (z y x); // axis order for filling the space with particles cylinderInfo // cylinder information for positioning particles
} {
p1 (0.0 0.0 0.003); // begin point of cylinder axis
regionType cylinder; // other options: box and sphere
cylinderInfo // cylinder information for positioning particles
{
p1 (0.0 0.0 0.003); // begin point of cylinder axis
p2 (0.0 0.0 0.357); // end point of cylinder axis
radius 0.117; // radius of cylinder
}
p2 (0.0 0.0 0.357); // end point of cylinder axis
radius 0.117; // radius of cylinder
}
} }

View File

@ -2,27 +2,27 @@
| phasicFlow File | | phasicFlow File |
| copyright: www.cemf.ir | | copyright: www.cemf.ir |
\* ------------------------------------------------------------------------- */ \* ------------------------------------------------------------------------- */
objectName settingsDict; objectName settingsDict;
objectType dictionary;; objectType dictionary;;
fileFormat ASCII; fileFormat ASCII;
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
run rotatingDrumMedium; run rotatingDrumMedium;
dt 0.00001; // time step for integration (s) dt 0.00001; // time step for integration (s)
startTime 0; // start time for simulation startTime 0; // start time for simulation
endTime 10; // end time for simulation endTime 10; // end time for simulation
saveInterval 0.1; // time interval for saving the simulation saveInterval 0.1; // time interval for saving the simulation
timePrecision 6; // maximum number of digits for time folder timePrecision 6; // maximum number of digits for time folder
g (0 -9.8 0); // gravity vector (m/s2) g (0 -9.8 0); // gravity vector (m/s2)
/* /*
Simulation domain Simulation domain
every particles that goes outside this domain is deleted. every particles that goes outside this domain is deleted.
*/ */
includeObjects (diameter); // save necessary (i.e., required) data on disk includeObjects (diameter); // save necessary (i.e., required) data on disk
@ -30,10 +30,10 @@ includeObjects (diameter); // save necessary (i.e., requir
// exclude unnecessary data from saving on disk // exclude unnecessary data from saving on disk
excludeObjects (rVelocity.dy1 pStructPosition.dy1 pStructVelocity.dy1); excludeObjects (rVelocity.dy1 pStructPosition.dy1 pStructVelocity.dy1);
integrationMethod AdamsBashforth2; // integration method integrationMethod AdamsBashforth2; // integration method
writeFormat binary; // data writting format (ascii or binary) writeFormat binary; // data writting format (ascii or binary)
timersReport Yes; // report timers? timersReport Yes; // report timers?
timersReportInterval 0.01; // time interval for reporting timers timersReportInterval 0.05; // time interval for reporting timers