Merge pull request #114 from ramin1728/main

binary system of particles tutorial is updated
This commit is contained in:
Hamidreza Norouzi 2024-05-28 13:33:29 +03:30 committed by GitHub
commit 8ee1fe63e6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
18 changed files with 174 additions and 177 deletions

View File

@ -1,6 +1,6 @@
# Problem definition # Problem definition
A rotating drum with two particle sizes is randomly filled and let it rotate to see the segregation of particles.
The focus of this tutorial is to show how to use the pre-processing tool, `particlesPhasicFlow`, to create the initial mixture of small and large particles. A rotating drum is randomly filled with two particle sizes and rotated to observe particle segregation. The focus of this tutorial is to show how to use the preprocessing tool `particlesPhasicFlow` to create the initial mixture of small and large particles.
**Note:** It is supposed that you have reviewed [simulating a rotating drum](https://github.com/PhasicFlow/phasicFlow/wiki/Simulating-a-rotating-drum) tutorial before starting this tutorial. **Note:** It is supposed that you have reviewed [simulating a rotating drum](https://github.com/PhasicFlow/phasicFlow/wiki/Simulating-a-rotating-drum) tutorial before starting this tutorial.
@ -14,11 +14,13 @@ a view of the rotating drum with small and large particles after 7 seconds of ro
*** ***
# Case setup # Case setup
PhasicFlow simulation case setup is based on the text-based files that we provide in two folders located in the simulation case folder: `settings` and `caseSetup`. Here we will have a look at some important files and the rest can be found in the tutorial folder of this case setup.
In the file `caseSetup/sphereShape` two particle types with the names `smallSphere` and `largeSphere` and the diameters 3 and 5 mm are defined.
[Simulation case setup files can be found in tutorials/sphereGranFlow folder.](https://github.com/PhasicFlow/phasicFlow/tree/main/tutorials/sphereGranFlow/binarySystemOfParticles) [Simulation case setup files can be found in tutorials/sphereGranFlow folder.](https://github.com/PhasicFlow/phasicFlow/tree/main/tutorials/sphereGranFlow/binarySystemOfParticles)
### Shape definition ### Shape definition
In file `caseSetup/sphereShape`, two particle types with names `smallSphere` and `largeSphere` and diameters 3 and 5 mm are defined.
In the file `caseSetup/sphereShape` two particle types with the names `smallSphere` and `largeSphere` and the diameters 3 and 5 mm are defined.
<div align="center"> <div align="center">
in <b>caseSetup/sphereShape</b> file in <b>caseSetup/sphereShape</b> file
@ -31,7 +33,7 @@ materials (prop1 prop1); // material names for shapes
``` ```
### Positioning and initial mixture ### Positioning and initial mixture
In dictionary `positionParticles` located in file `settings/particlesDict`, 30000 particles are located in a cylindrical region. These particles are positioned in order along `z`, `x` and then `y` axis with 0.005 m distance between their centers. In the dictionary `positionParticles` located in file `settings/particlesDict`, 30000 particles are located in a cylindrical region. These particles are positioned in order along `z`, `x` and then `y` axis with 0.005 m distance between their centers.
<div align="center"> <div align="center">
in <b>settings/particlesDict</b> file in <b>settings/particlesDict</b> file
@ -42,10 +44,16 @@ in <b>settings/particlesDict</b> file
// positions particles // positions particles
positionParticles positionParticles
{ {
method positionOrdered; // ordered positioning method ordered; // other options: random or empty
maxNumberOfParticles 30001; // maximum number of particles in the simulation orderedInfo
mortonSorting Yes; // perform initial sorting based on morton code? {
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
}
regionType cylinder; // other options: box and sphere
cylinder // cylinder region for positioning particles cylinder // cylinder region for positioning particles
{ {
@ -53,17 +61,9 @@ positionParticles
p2 (0.0 0.0 0.097); // end point of cylinder axis (m m m) p2 (0.0 0.0 0.097); // end point of cylinder axis (m m m)
radius 0.117; // radius of cylinder (m) radius 0.117; // radius of cylinder (m)
} }
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
}
} }
``` ```
In the `setFields` dictionary, located in the `settings/particlesDict` file, you define the initial `velocity`, `acceleration`, `rotVelocity` and `shapeName` fields for all 30000 particles in the simulation. In the `selectors' dictionary, you can select subsets of particles and set the field value for those subsets. The `selectRange` selector is defined in the `shapeAssigne` subdictionary. It defines a range with `begin`, `end` and `stride` to select particles. And in the `fieldValue` subdictionary the field values for selected particles are set (any number of field values can be set here).
In dictionary `setFields` located in file `settings/particlesDict`, you define the initial `velocity`, `acceleration`, `rotVelocity`, and `shapeName` fields for all 30000 particles in the simulation. In `selectors` dictionary, you can select subsets of particles and set the field value for these subsets. In `shapeAssigne` sub-dictionary, the `selectRange` selector is defined. It defines a range with `begin` (begin index), `end` (end index) and `stride` to select particles. And in `fieldValue` sub-dictionary, the fields values for selected particles are set (any number of field values can be set here).
**Note:** Other selectors are: `selectBox` that selects particles inside a box and `randomSelect` that selects particles randomly from a given index range. **Note:** Other selectors are: `selectBox` that selects particles inside a box and `randomSelect` that selects particles randomly from a given index range.
@ -77,7 +77,8 @@ 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
{ {
@ -91,8 +92,9 @@ setFields
{ {
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 end 30000; // end index of points
@ -101,10 +103,10 @@ setFields
fieldValue // fields that the selector is applied to fieldValue // fields that the selector is applied to
{ {
/* /*
sets shapeName of the selected points to largeSphere*/ sets shapeName of the selected points to largeSphere
*/
shapeName word largeSphere; shapeName word largeSphere;
} }
} }
} }

View File

@ -6,47 +6,46 @@ objectName interaction;
objectType dicrionary; objectType dicrionary;
fileFormat ASCII; fileFormat ASCII;
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
materials (prop1); // properties of material materials (prop1); // properties of material
densities (1000.0); // density of materials [kg/m3] densities (1000.0); // 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 nonLinearNonLimited; contactForceModel nonLinearNonLimited;
rollingFrictionModel normal; rollingFrictionModel normal;
// Property (solid-solid Properties) // Property (solid-solid Properties)
Yeff (1.0e6); // Young modulus [Pa] Yeff (1.0e6); // Young modulus [Pa]
Geff (0.8e6); // Shear modulus [Pa] Geff (0.8e6); // Shear modulus [Pa]
nu (0.25); // Poisson's ratio [-] nu (0.25); // Poisson's ratio [-]
en (0.7); // coefficient of normal restitution en (0.7); // coefficient of normal restitution
et (1.0); // coefficient of tangential restitution et (1.0); // coefficient of tangential restitution
mu (0.3); // dynamic friction mu (0.3); // dynamic friction
mur (0.1); // rolling friction mur (0.1); // rolling friction
} }

View File

@ -6,9 +6,6 @@ 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
collisionCheck No; // is checked -> yes or no
active No; // is insertion active -> yes or no

View File

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

View File

@ -6,11 +6,11 @@ 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.1); max (0.12 0.12 0.1);
} }
decomposition decomposition
@ -23,41 +23,41 @@ boundaries
// Determines how often (how many iterations) do you want to // Determines how often (how many iterations) do you want to
// rebuild the list of particles in the neighbor list // rebuild the list of particles in the neighbor list
// of all boundaries in the simulation domain // of all boundaries in the simulation domain
neighborListUpdateInterval 50; neighborListUpdateInterval 50;
// Determines how often do you want to update the new changes in the boundary // Determines how often do you want to update the new changes in the boundary
updateInterval 10; updateInterval 10;
// The distance from the boundary plane within which particles are marked to be in the boundary list // The distance from the boundary plane within which particles are marked to be in the boundary list
neighborLength 0.004; neighborLength 0.004;
left left
{ {
type exit; // other options: periodict, reflective type exit; // other options: periodict, reflective
} }
right right
{ {
type exit; // other options: periodict, reflective type exit; // other options: periodict, reflective
} }
bottom bottom
{ {
type exit; // other options: periodict, reflective type exit; // other options: periodict, reflective
} }
top top
{ {
type exit; // other options: periodict, reflective type exit; // other options: periodict, reflective
} }
rear rear
{ {
type exit; // other options: periodict, reflective type exit; // other options: periodict, reflective
} }
front front
{ {
type exit; // other options: periodict, reflective type exit; // other options: periodict, reflective
} }
} }

View File

@ -6,17 +6,17 @@ objectName geometryDict;
objectType dictionary; objectType dictionary;
fileFormat ASCII; fileFormat ASCII;
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
motionModel rotatingAxis; // motion model can be rotatingAxis or stationary or vibrating motionModel rotatingAxis; // motion model can be rotatingAxis or stationary or vibrating
rotatingAxisInfo // information for rotatingAxis motion model rotatingAxisInfo // information for rotatingAxis 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) omega 1.214; // rotation speed (rad/s)
} }
} }
@ -24,21 +24,21 @@ surfaces
{ {
cylinder cylinder
{ {
type cylinderWall; // type of the wall type cylinderWall; // other options: cuboidWall and planeWall
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.1); // end point of cylinder axis p2 (0.0 0.0 0.1); // 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 prop1; // material name of this wall material prop1; // material name of this wall
motion rotAxis; // motion component name motion rotAxis; // motion component name
} }
/* /*
@ -47,19 +47,19 @@ surfaces
wall1 wall1
{ {
type planeWall; // type of the wall type planeWall; // other options: cuboidWall and cylinderWall
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 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 p3 (0.12 0.12 0.0); // third point of the wall
p4 (-0.12 0.12 0.0); // fourth point of the wall p4 (-0.12 0.12 0.0); // fourth point of the wall
material prop1; // material name of the wall material prop1; // material name of the wall
motion rotAxis; // motion component name motion rotAxis; // motion component name
} }
/* /*
@ -68,20 +68,18 @@ surfaces
wall2 wall2
{ {
type planeWall; // type of the wall type planeWall; // other options: cuboidWall and cylinderWall
p1 (-0.12 -0.12 0.1); // first point 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 p2 (0.12 -0.12 0.1); // second point of the wall
p3 ( 0.12 0.12 0.1); // third 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 p4 (-0.12 0.12 0.1); // fourth point of the wall
material prop1; // material name of the wall material prop1; // material name of the wall
motion rotAxis; // motion component name motion rotAxis; // motion component name
} }
} }

View File

@ -9,9 +9,8 @@ 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
@ -72,5 +71,3 @@ positionParticles // positions particles
radius 0.117; // radius of cylinder radius 0.117; // radius of cylinder
} }
} }

View File

@ -6,29 +6,30 @@ 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 (seconds)
startTime 0; // start time for simulation startTime 0.0; // start time for simulation
endTime 10; // end time for simulation endTime 10.0; // 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 // save necessary (i.e., required) data on disk
includeObjects (diameter); includeObjects (diameter);
// 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 ascii; // data writting format (ascii or binary) 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,9 +6,9 @@ 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;
@ -37,33 +37,34 @@ 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);
} }

View File

@ -6,9 +6,9 @@ objectName particleInsertion;
objectType dicrionary; objectType dicrionary;
fileFormat ASCII; fileFormat ASCII;
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
active yes; // is insertion active -> yes or no active Yes; // is insertion active -> yes or no
checkForCollision No; // is checked -> yes or no checkForCollision No; // is checked -> yes or no
/* /*
one layers of particles are packed one layers of particles are packed
@ -50,3 +50,5 @@ layer0

View File

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

View File

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

View File

View File

View File

@ -21,10 +21,10 @@ boundaries
neighborListUpdateInterval 30; neighborListUpdateInterval 30;
// Determines how often do you want to update the new changes in the boundary // Determines how often do you want to update the new changes in the boundary
updateInterval 10; updateInterval 10;
// The distance from the boundary plane within which particles are marked to be in the boundary list // The distance from the boundary plane within which particles are marked to be in the boundary list
neighborLength 0.004; neighborLength 0.004;
left left
{ {
@ -55,4 +55,6 @@ boundaries
{ {
type exit; // other options: periodict, reflective type exit; // other options: periodict, reflective
} }
} }

View File

@ -6,7 +6,7 @@ objectName geometryDict;
objectType dictionary; objectType dictionary;
fileFormat ASCII; fileFormat ASCII;
/*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/
motionModel stationary; // motion model can be rotatingAxis or stationary or vibrating motionModel stationary; // motion model can be rotatingAxis or stationary or vibrating
stationaryInfo stationaryInfo
{ {
@ -17,36 +17,36 @@ surfaces
{ {
cylinderShell cylinderShell
{ {
type cylinderWall; // type of the wall type cylinderWall; // other options: cuboidWall and planeWall
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.4); // end point of cylinder axis p2 (0.0 0.0 0.4); // end point of cylinder axis
radius1 0.1; // radius at p1 radius1 0.1; // radius at p1
radius2 0.1; // radius at p2 radius2 0.1; // radius at p2
resolution 36; // number of divisions resolution 36; // number of divisions
material wallMat; // material name of this wall material wallMat; // material name of this wall
} }
coneShell coneShell
{ {
type cylinderWall; // type of the wall type cylinderWall; // other options: cuboidWall and planeWall
p1 (0.0 0.0 -0.1); // begin point of cylinder axis p1 (0.0 0.0 -0.1); // begin point of cylinder axis
p2 (0.0 0.0 0.0); // end point of cylinder axis p2 (0.0 0.0 0.0); // end point of cylinder axis
radius1 0.02; // radius at p1 radius1 0.02; // radius at p1
radius2 0.1; // radius at p2 radius2 0.1; // radius at p2
resolution 36; // number of divisions resolution 36; // number of divisions
material wallMat; // material name of this wall material wallMat; // material name of this wall
} }
/* /*
@ -55,18 +55,22 @@ surfaces
exitGate exitGate
{ {
type planeWall; // type of the wall type planeWall; // other options: cuboidWall and cylinderWall
p1 (-0.02 -0.02 -0.1); // first point of the wall p1 (-0.02 -0.02 -0.1); // first point of the wall
p2 ( 0.02 -0.02 -0.1); // second 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 p3 ( 0.02 0.02 -0.1); // third point of the wall
p4 (-0.02 0.02 -0.1); // fourth point of the wall p4 (-0.02 0.02 -0.1); // fourth point of the wall
material wallMat; // material name of the wall material wallMat; // material name of the wall
} }
} }

View File

@ -16,13 +16,13 @@ setFields
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 lightSphere; // name of the particle shape shapeName word lightSphere; // name of the particle shape
} }
selectors selectors
@ -31,14 +31,15 @@ setFields
positionParticles // positions particles positionParticles // positions particles
{ {
method empty; // other options: ordered and random method empty; // other options: ordered and random
regionType box; // other options: cylinder and sphere regionType box; // other options: cylinder and sphere
boxInfo // box region for positioning particles boxInfo // box region for positioning particles
{ {
min (-0.08 -0.08 0.015); // lower corner point of the box 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 max ( 0.08 0.08 0.098); // upper corner point of the box
} }
} }

View File

@ -6,29 +6,33 @@ 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.0; // start time for simulation startTime 0.0; // start time for simulation
endTime 5.0; // 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 // save data objects that are not automatically saved on disk.
// overrides the default behavior
includeObjects (diameter); includeObjects (diameter);
// 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 ascii; // data writting format (ascii or binary)
timersReport Yes; // report timers
timersReportInterval 0.01; // time interval for reporting timers
writeFormat ascii; // data writting format (ascii or binary)
timersReport Yes; // report timers
timersReportInterval 0.01; // time interval for reporting timers