Merge pull request #110 from ramin1728/main

binarySystem tutorial
This commit is contained in:
Hamidreza Norouzi 2024-05-22 10:00:24 +03:30 committed by GitHub
commit 4f9f518b8d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
18 changed files with 430 additions and 359 deletions

View File

@ -6,49 +6,47 @@ objectName interaction;
objectType dicrionary; objectType dicrionary;
fileFormat ASCII; fileFormat ASCII;
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
materials (prop1); // properties of material
densities (1000.0); // density of materials [kg/m3]
materials (prop1); // a list of materials names
densities (1000.0); // density of materials [kg/m3]
contactListType sortedContactList; contactListType sortedContactList;
contactSearch
{
method NBS; // method for broad search
updateInterval 10;
sizeRatio 1.1;
cellExtent 0.55;
adjustableBox Yes;
}
model model
{ {
contactForceModel nonLinearNonLimited; contactForceModel nonLinearNonLimited;
rollingFrictionModel normal; rollingFrictionModel normal;
Yeff (1.0e6); // Young modulus [Pa] // Property (solid-solid Properties)
Geff (0.8e6); // Shear modulus [Pa] Yeff (1.0e6); // Young modulus [Pa]
nu (0.25); // Poisson's ratio [-] Geff (0.8e6); // Shear modulus [Pa]
en (0.7); // coefficient of normal restitution nu (0.25); // Poisson's ratio [-]
et (1.0); // coefficient of tangential restitution en (0.7); // coefficient of normal restitution
mu (0.3); // dynamic friction et (1.0); // coefficient of tangential restitution
mur (0.1); // rolling friction mu (0.3); // dynamic friction
mur (0.1); // rolling friction
} }
contactSearch
{
method multiGridNBS; // method for broad search particle-particle
wallMapping multiGridMapping; // method for broad search particle-wall
multiGridNBSInfo
{
updateFrequency 10; // each 10 timesteps, update neighbor list
sizeRatio 1.1; // bounding box size to particle diameter (max)
}
multiGridMappingInfo
{
updateFrequency 10; // each 10 timesteps, update neighbor list
cellExtent 0.6; // bounding box for particle-wall search (> 0.5)
}
}

View File

@ -6,10 +6,9 @@ objectName particleInsertion;
objectType dicrionary; objectType dicrionary;
fileFormat ASCII; fileFormat ASCII;
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
active No; // is insertion active -> yes or no
collisionCheck No; // is checked -> yes or no
active no; // is insertion active?
collisionCheck No; // not implemented for yes

View File

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

View File

View File

View File

@ -0,0 +1,63 @@
/* -------------------------------*- C++ -*--------------------------------- *\
| phasicFlow File |
| copyright: www.cemf.ir |
\* ------------------------------------------------------------------------- */
objectName domainDict;
objectType dictionary;
fileFormat ASCII;
/*---------------------------------------------------------------------------*/
globalBox // Simulation domain: every particles that goes outside this domain will be deleted
{
min (-0.12 -0.12 0);
max (0.12 0.12 0.1);
}
decomposition
{
direction z;
}
boundaries
{
// Determines how often (how many iterations) do you want to
// rebuild the list of particles in the neighbor list
// of all boundaries in the simulation domain
neighborListUpdateInterval 50;
// Determines how often do you want to update the new changes in the boundary
updateInterval 10;
// The distance from the boundary plane within which particles are marked to be in the boundary list
neighborLength 0.004;
left
{
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

@ -6,66 +6,82 @@ objectName geometryDict;
objectType dictionary; objectType dictionary;
fileFormat ASCII; fileFormat ASCII;
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
motionModel rotatingAxis; // motion model can be rotatingAxis or stationary or vibrating
// motion model: rotating object around an axis rotatingAxisInfo // information for rotatingAxis motion model
motionModel rotatingAxisMotion;
surfaces
{
/*
A cylinder with begin and end radii 0.12 m and axis points at (0 0 0)
and (0 0 0.1)
*/
cylinder
{
type cylinderWall; // type of the wall
p1 (0.0 0.0 0.0); // begin point of cylinder axis
p2 (0.0 0.0 0.1); // end point of cylinder axis
radius1 0.12; // radius at p1
radius2 0.12; // radius at p2
resolution 24; // number of divisions
material prop1; // material name of this wall
motion rotAxis; // motion component name
}
/*
This is a plane wall at the rear end of cylinder
*/
wall1
{
type planeWall; // type of the wall
p1 (-0.12 -0.12 0.0); // first point of the wall
p2 ( 0.12 -0.12 0.0); // second point
p3 ( 0.12 0.12 0.0); // third point
p4 (-0.12 0.12 0.0); // fourth point
material prop1; // material name of the wall
motion rotAxis; // motion component name
}
/*
This is a plane wall at the front end of cylinder
*/
wall2
{
type planeWall;
p1 (-0.12 -0.12 0.1);
p2 ( 0.12 -0.12 0.1);
p3 ( 0.12 0.12 0.1);
p4 (-0.12 0.12 0.1);
material prop1;
motion rotAxis;
}
}
// information for rotatingAxisMotion motion model
rotatingAxisMotionInfo
{ {
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
omega 1.214; // rotation speed (rad/s) p2 (0.0 0.0 1.0); // second point for the axis of rotation
omega 1.214; // rotation speed (rad/s)
} }
} }
surfaces
{
cylinder
{
type cylinderWall; // type of the wall
p1 (0.0 0.0 0.0); // begin point of cylinder axis
p2 (0.0 0.0 0.1); // end point of cylinder axis
radius1 0.12; // radius at p1
radius2 0.12; // radius at p2
resolution 24; // number of divisions
material prop1; // material name of this wall
motion rotAxis; // motion component name
}
/*
This is a plane wall at the rear end of cylinder
*/
wall1
{
type planeWall; // type of the wall
p1 (-0.12 -0.12 0.0); // first point of the wall
p2 ( 0.12 -0.12 0.0); // second point of the wall
p3 ( 0.12 0.12 0.0); // third point of the wall
p4 (-0.12 0.12 0.0); // fourth point of the wall
material prop1; // material name of the wall
motion rotAxis; // motion component name
}
/*
This is a plane wall at the front end of cylinder
*/
wall2
{
type planeWall; // type of the wall
p1 (-0.12 -0.12 0.1); // first point of the wall
p2 ( 0.12 -0.12 0.1); // second point of the wall
p3 ( 0.12 0.12 0.1); // third point of the wall
p4 (-0.12 0.12 0.1); // fourth point of the wall
material prop1; // material name of the wall
motion rotAxis; // motion component name
}
}

View File

@ -6,64 +6,71 @@ objectName particlesDict;
objectType dictionary; objectType dictionary;
fileFormat ASCII; fileFormat ASCII;
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
// positions particles
positionParticles
{
method positionOrdered; // ordered positioning
maxNumberOfParticles 30001; // maximum number of particles in the simulation
mortonSorting Yes; // perform initial sorting based on morton code?
cylinder // cylinder region for positioning particles
{
p1 (0.0 0.0 0.003); // begin point of cylinder axis
p2 (0.0 0.0 0.097); // end point of cylinder axis
radius 0.117; // radius of cylinder
}
positionOrderedInfo
{
diameter 0.005; // minimum space between centers of particles
numPoints 30000; // number of particles in the simulation
axisOrder (z x y); // axis order for filling the space with particles
}
}
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)
rVelocity realx3 (0 0 0); // rotational velocity (rad/s) acceleration realx3 (0 0 0); // linear acceleration (m/s2)
shapeName word smallSphere; // name of the particle shape
rVelocity realx3 (0 0 0); // rotational velocity (rad/s)
shapeName word smallSphere; // name of the particle shape
} }
selectors selectors
{ {
shapeAssigne shapeAssigne
{ {
selector selectRange; // type of point selector selector stridedRange; // other options: box, cylinder, sphere, randomPoints
selectRangeInfo
stridedRangeInfo
{ {
begin 0; // begin index of points begin 0; // begin index of points
end 30000; // end index of points
stride 3; // stride for selector end 30000; // end index of points
stride 3; // stride for selector
} }
fieldValue // fields that the selector is applied to
fieldValue // fields that the selector is applied to
{ {
/* shapeName word largeSphere; // sets shapeName of the selected points to largeSphere
sets shapeName of the selected points to largeSphere*/
shapeName word largeSphere;
} }
} }
} }
} }
positionParticles // positions particles
{
method ordered; // other options: random and empty
orderedInfo
{
diameter 0.005; // diameter of particles
numPoints 30000; // number of particles in the simulation
axisOrder (z x y); // axis order for filling the space with particles
}
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.097); // end point of cylinder axis
radius 0.117; // radius of cylinder
}
}

View File

@ -6,36 +6,29 @@ objectName settingsDict;
objectType dictionary; objectType dictionary;
fileFormat ASCII; fileFormat ASCII;
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
run binarySystemofParticles; run binarySystemofParticles;
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)
/* // save necessary (i.e., required) data on disk
Simulation domain includeObjects (diameter);
every particles that goes outside this domain is deleted. // exclude unnecessary data from saving on disk
*/ excludeObjects (rVelocity.dy1 pStructPosition.dy1 pStructVelocity.dy1);
domain
{
min (-0.12 -0.12 0);
max (0.12 0.12 0.1);
}
integrationMethod AdamsBashforth2; // integration method integrationMethod AdamsBashforth2; // integration method
writeFormat ascii; writeFormat ascii; // data writting format (ascii or binary)
timersReport Yes; // report timers? timersReport Yes; // report timers
timersReportInterval 0.01; // time interval for reporting timers timersReportInterval 0.01; // time interval for reporting timers

View File

@ -6,15 +6,29 @@ objectName interaction;
objectType dicrionary; objectType dicrionary;
fileFormat ASCII; fileFormat ASCII;
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
materials (lightMat heavyMat wallMat); // a list of materials names
materials (lightMat heavyMat wallMat); // a list of materials names densities (1000 1500.0 2500); // density of materials [kg/m3]
densities (1000 1500.0 2500); // density of materials [kg/m3]
contactListType sortedContactList; contactListType sortedContactList;
contactSearch
{
method NBS; // method for broad search particle-particle
updateInterval 10;
sizeRatio 1.1;
cellExtent 0.55;
adjustableBox Yes;
}
model model
{ {
contactForceModel nonLinearLimited; contactForceModel nonLinearLimited;
rollingFrictionModel normal; rollingFrictionModel normal;
/* /*
@ -23,51 +37,33 @@ model
wallMat-wallMat ); wallMat-wallMat );
*/ */
Yeff (1.0e6 1.0e6 1.0e6 // Young modulus [Pa] Yeff (1.0e6 1.0e6 1.0e6 // Young modulus [Pa]
1.0e6 1.0e6 1.0e6 1.0e6
1.0e6); 1.0e6);
Geff (0.8e6 0.8e6 0.8e6 // Shear modulus [Pa] Geff (0.8e6 0.8e6 0.8e6 // Shear modulus [Pa]
0.8e6 0.8e6 0.8e6 0.8e6
0.8e6); 0.8e6);
nu (0.25 0.25 0.25 // Poisson's ratio [-] nu (0.25 0.25 0.25 // Poisson's ratio [-]
0.25 0.25 0.25 0.25
0.25); 0.25);
en (0.97 0.97 0.85 // coefficient of normal restitution en (0.97 0.97 0.85 // coefficient of normal restitution
0.97 0.85 0.97 0.85
1.00); 1.00);
et (1.0 1.0 1.0 // coefficient of tangential restitution et (1.0 1.0 1.0 // coefficient of tangential restitution
1.0 1.0 1.0 1.0
1.0); 1.0);
mu (0.65 0.65 0.35 // dynamic friction mu (0.65 0.65 0.35 // dynamic friction
0.65 0.35 0.65 0.35
0.35); 0.35);
mur (0.1 0.1 0.1 // rolling friction mur (0.1 0.1 0.1 // rolling friction
0.1 0.1 0.1 0.1
0.1); 0.1);
} }
contactSearch
{
method NBS; // method for broad search particle-particle
wallMapping cellMapping; // method for broad search particle-wall
NBSInfo
{
updateFrequency 10; // each 20 timesteps, update neighbor list
sizeRatio 1.1; // bounding box size to particle diameter (max)
}
cellMappingInfo
{
updateFrequency 10; // each 20 timesteps, update neighbor list
cellExtent 0.6; // bounding box for particle-wall search (> 0.5)
}
}

View File

@ -6,147 +6,47 @@ objectName particleInsertion;
objectType dicrionary; objectType dicrionary;
fileFormat ASCII; fileFormat ASCII;
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
active yes; // is insertion active -> yes or no
active yes; // is insertion active? checkForCollision No; // is checked -> yes or no
collisionCheck No; // not implemented for yes
/* /*
five layers of particles are packed one-by-one using 5 insertion steps. one layers of particles are packed
*/ */
layer0 layer0
{ {
type cylinderRegion; // type of insertion region timeControl simulationTime;
rate 15000; // insertion rate (particles/s)
startTime 0; // (s)
endTime 0.5; // (s)
interval 0.025; //s
cylinderRegionInfo regionType cylinder; // type of insertion region
rate 15000; // insertion rate (particles/s)
startTime 0; // (s)
endTime 0.5; // (s)
insertionInterval 0.025; // s
cylinderInfo
{ {
radius 0.09; // radius of cylinder (m) radius 0.09; // radius of cylinder (m)
p1 ( 0.0 0.0 0.1 ); // (m,m,m)
p2 ( 0.0 0.0 0.11); // (m,m,m) p1 ( 0.0 0.0 0.1 ); // (m,m,m)
p2 ( 0.0 0.0 0.11); // (m,m,m)
} }
setFields setFields
{ {
velocity realx3 (0.0 0.0 -0.6); // initial velocity of inserted particles velocity realx3 (0.0 0.0 -0.6); // initial velocity of inserted particles
} }
mixture mixture
{ {
lightSphere 1; // mixture composition of inserted particles lightSphere 1; // mixture composition of inserted particles
} }
} }
layer1
{
type cylinderRegion;
rate 15000; // (particles/s)
startTime 0.7; // (s)
endTime 1.2; // (s)
interval 0.025; //s
cylinderRegionInfo
{
radius 0.09;
p1 ( 0.0 0.0 0.16 ); // (m,m,m)
p2 ( 0.0 0.0 0.17); // (m,m,m)
}
setFields
{
velocity realx3 (0.0 0.0 -0.6);
}
mixture
{
heavySphere 1; // only heavySphere
}
}
layer2
{
type cylinderRegion;
rate 15000; // (particles/s)
startTime 1.4; // (s)
endTime 1.9; // (s)
interval 0.025; //s
cylinderRegionInfo
{
radius 0.09;
p1 ( 0.0 0.0 0.2 ); // (m,m,m)
p2 ( 0.0 0.0 0.21); // (m,m,m)
}
setFields
{
velocity realx3 (0.0 0.0 -0.6);
}
mixture
{
lightSphere 1; // only lightSphere
}
}
layer3
{
type cylinderRegion;
rate 15000; // (particles/s)
startTime 2.1; // (s)
endTime 2.6; // (s)
interval 0.025; //s
cylinderRegionInfo
{
radius 0.09;
p1 ( 0.0 0.0 0.28 ); // (m,m,m)
p2 ( 0.0 0.0 0.29); // (m,m,m)
}
setFields
{
velocity realx3 (0.0 0.0 -0.6);
}
mixture
{
heavySphere 1;
}
}
layer4
{
type cylinderRegion;
rate 15000; // (particles/s)
startTime 2.8; // (s)
endTime 3.3; // (s)
interval 0.025; //s
cylinderRegionInfo
{
radius 0.09;
p1 ( 0.0 0.0 0.37 ); // (m,m,m)
p2 ( 0.0 0.0 0.38); // (m,m,m)
}
setFields
{
velocity realx3 (0.0 0.0 -0.6);
}
mixture
{
lightSphere 1;
}
}

View File

@ -6,7 +6,8 @@ objectName sphereDict;
objectType sphereShape; objectType sphereShape;
fileFormat ASCII; fileFormat ASCII;
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
names (lightSphere heavySphere); // names of shapes
names (smallSphere largeSphere); // names of shapes diameters (0.007 0.007); // diameter of shapes
diameters (0.003 0.005); // diameter of shapes
materials (prop1 prop1); // material names for shapes materials (lightMat heavyMat); // material names for shapes

View File

View File

View File

@ -0,0 +1,58 @@
/* -------------------------------*- C++ -*--------------------------------- *\
| phasicFlow File |
| copyright: www.cemf.ir |
\* ------------------------------------------------------------------------- */
objectName domainDict;
objectType dictionary;
fileFormat ASCII;
/*---------------------------------------------------------------------------*/
globalBox // Simulation domain: every particles that goes outside this domain will be deleted
{
min (-0.11 -0.11 -0.11);
max ( 0.11 0.11 0.41);
}
boundaries
{
// Determines how often (how many iterations) do you want to
// rebuild the list of particles in the neighbor list
// of all boundaries in the simulation domain
neighborListUpdateInterval 30;
// Determines how often do you want to update the new changes in the boundary
updateInterval 10;
// The distance from the boundary plane within which particles are marked to be in the boundary list
neighborLength 0.004;
left
{
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

@ -6,47 +6,67 @@ objectName geometryDict;
objectType dictionary; objectType dictionary;
fileFormat ASCII; fileFormat ASCII;
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
motionModel stationary; // motion model can be rotatingAxis or stationary or vibrating
// motion model: all surfaces are fixed stationaryInfo
motionModel fixedWall; {
}
surfaces surfaces
{ {
cylinderShell cylinderShell
{ {
type cylinderWall; // type of the wall type cylinderWall; // type of the wall
p1 (0.0 0.0 0.0); // begin point of cylinder axis
p2 (0.0 0.0 0.4); // end point of cylinder axis p1 (0.0 0.0 0.0); // begin point of cylinder axis
radius1 0.1; // radius at p1
radius2 0.1; // radius at p2 p2 (0.0 0.0 0.4); // end point of cylinder axis
resolution 36; // number of divisions
material wallMat; // material name of this wall radius1 0.1; // radius at p1
radius2 0.1; // radius at p2
resolution 36; // number of divisions
material wallMat; // material name of this wall
} }
coneShell coneShell
{ {
type cylinderWall; // type of the wall type cylinderWall; // type of the wall
p1 (0.0 0.0 -0.1); // begin point of cylinder axis
p2 (0.0 0.0 0.0); // end point of cylinder axis p1 (0.0 0.0 -0.1); // begin point of cylinder axis
radius1 0.02; // radius at p1
radius2 0.1; // radius at p2 p2 (0.0 0.0 0.0); // end point of cylinder axis
resolution 36; // number of divisions
material wallMat; // material name of this wall radius1 0.02; // radius at p1
radius2 0.1; // radius at p2
resolution 36; // number of divisions
material wallMat; // material name of this wall
} }
/* /*
This is a plane wall at the exit of silo This is a plane wall at the exit of silo
*/ */
exitGate exitGate
{ {
type planeWall; type planeWall; // type of the wall
p1 (-0.02 -0.02 -0.1);
p2 ( 0.02 -0.02 -0.1);
p3 ( 0.02 0.02 -0.1);
p4 (-0.02 0.02 -0.1);
material wallMat;
}
p1 (-0.02 -0.02 -0.1); // first point of the wall
p2 ( 0.02 -0.02 -0.1); // second point of the wall
p3 ( 0.02 0.02 -0.1); // third point of the wall
p4 (-0.02 0.02 -0.1); // fourth point of the wall
material wallMat; // material name of the wall
}
} }

View File

@ -6,27 +6,39 @@ objectName particlesDict;
objectType dictionary; objectType dictionary;
fileFormat ASCII; fileFormat ASCII;
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
setFields setFields
{ {
/*
Default value for fields defined for particles
These fields should always be defined for simulations with
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)
rVelocity realx3 (0 0 0); // rotational velocity (rad/s) acceleration realx3 (0 0 0); // linear acceleration (m/s2)
shapeName word lightSphere; // name of the particle shape
rVelocity realx3 (0 0 0); // rotational velocity (rad/s)
shapeName word lightSphere; // name of the particle shape
} }
selectors selectors
{} {}
} }
// positions particles positionParticles // positions particles
positionParticles
{ {
method empty; // creates the required fields with zero particles (empty). method empty; // other options: ordered and random
maxNumberOfParticles 50000; // maximum number of particles in the simulation regionType box; // other options: cylinder and sphere
mortonSorting Yes; // perform initial sorting based on morton code?
boxInfo // box region for positioning particles
{
min (-0.08 -0.08 0.015); // lower corner point of the box
max ( 0.08 0.08 0.098); // upper corner point of the box
}
} }

View File

@ -6,35 +6,29 @@ objectName settingsDict;
objectType dictionary; objectType dictionary;
fileFormat ASCII; fileFormat ASCII;
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
run layerdSiloFilling; run layerdSiloFilling;
dt 0.00001; // time step for integration (s) dt 0.00001; // time step for integration (s)
startTime 0; // start time for simulation startTime 0.0; // start time for simulation
endTime 5; // end time for simulation endTime 5.0; // end time for simulation
saveInterval 0.05; // time interval for saving the simulation saveInterval 0.05; // 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 0 -9.8); // gravity vector (m/s2) g (0 0 -9.8); // gravity vector (m/s2)
/* // save necessary (i.e., required) data on disk
Simulation domain includeObjects (diameter);
every particles that goes outside this domain is deleted. // exclude unnecessary data from saving on disk
*/ excludeObjects (rVelocity.dy1 pStructPosition.dy1 pStructVelocity.dy1);
domain
{
min (-0.1 -0.1 -0.1);
max ( 0.1 0.1 0.40);
}
integrationMethod AdamsBashforth3; // integration method integrationMethod AdamsBashforth2; // integration method
writeFormat ascii; writeFormat ascii; // data writting format (ascii or binary)
timersReport Yes; // report timers? timersReport Yes; // report timers
timersReportInterval 0.01; // time interval for reporting timers timersReportInterval 0.01; // time interval for reporting timers