diff --git a/tutorials/sphereGranFlow/toteBlender/ReadMe.md b/tutorials/sphereGranFlow/toteBlender/ReadMe.md
new file mode 100644
index 00000000..de1a367c
--- /dev/null
+++ b/tutorials/sphereGranFlow/toteBlender/ReadMe.md
@@ -0,0 +1,304 @@
+# Tote Blender simulation (v-1.0)
+
+## Problem Definition
+The problem is to simulate a double pedestal tote blender (mixer) with the diameter **0.03 m** and **0.1 m** respectively, the length **0.3 m**, rotating at **28 rpm**. This blender is filled with **24000** particles. The timestep for integration is **0.00002 s**. There is one type of particle in this blender. Particles are positioned before the start of simulation to fill the blender.
+* **24000** particles with **5 mm** diameter are positioned, in order, and let to be settled under gravity. After settling particles, this blender starts to rotate at t=**1s**.
+
+
+
+
+ a view of the tote-blender while rotating
+
+
+

+
+
+ particles are colored according to their velocity
+
+
+
+
+# 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 files are stored into two folders: `caseSetup`, `setting` (see the above folders). Unlike the previous cases, this case does not have the `stl` file and the surfaces are defined based on the built-in utilities in phasicFlow. See next the section for more information on how we can setup the geometry and its rotation.
+
+## Geometry
+
+### Defining rotation axis
+In file `settings/geometryDict` the information of rotating axis and speed of rotation are defined. The rotation of this blender starts at time=**0.5 s** and ends at time=**9.5 s**.
+
+```C++
+// information for rotatingAxis motion model
+rotatingAxis
+{
+ axisOfRotation
+ {
+ p1 (-0.1 0.0 0.15); // first point for the axis of rotation
+ p2 ( 0.1 0.0 0.15); // second point for the axis of rotation
+
+ omega 1.5708; // rotation speed ==> 15 rad/s
+
+ // Start time of Geometry Rotating (s)
+ startTime 0.5;
+
+ // End time of Geometry Rotating (s)
+ endTime 9.5;
+ }
+}
+```
+
+### Surfaces
+In `settings/geometryDict` file, the surfaces and motion component of each surface are defined to form a rotating tote-blender. The geometry is composed of top and bottom cylinders, top and bottom cones, a cylindrical shell and top and bottom Gates.
+
+```C++
+surfaces
+{
+
+ topGate
+ {
+ // type of wall
+ type cylinderWall;
+
+ // begin point of cylinder axis
+ p1 (0.0 0.0 0.3);
+
+ // end point of cylinder axis
+ p2 (0.0 0.0 0.301);
+
+ // radius at p1
+ radius1 0.03;
+
+ // radius at p2
+ radius2 0.0001;
+
+ // material of wall
+ material solidProperty;
+
+ // motion component name
+ motion axisOfRotation;
+ }
+
+ topCylinder
+ {
+ type cylinderWall;
+
+ p1 (0.0 0.0 0.28);
+
+ p2 (0.0 0.0 0.3);
+
+ radius1 0.03;
+
+ radius2 0.03;
+
+ resolution 36;
+
+ material solidProperty;
+
+ motion axisOfRotation;
+ }
+
+ coneShelltop
+ {
+ type cylinderWall;
+
+ p1 (0.0 0.0 0.2);
+
+ p2 (0.0 0.0 0.28);
+
+ radius1 0.1;
+
+ radius2 0.03;
+
+ resolution 36;
+
+ material solidProperty;
+
+ motion axisOfRotation;
+ }
+
+ cylinderShell
+ {
+ type cylinderWall;
+
+ p1 (0.0 0.0 0.1);
+
+ p2 (0.0 0.0 0.2);
+
+ radius1 0.1;
+
+ radius2 0.1;
+
+ resolution 36;
+
+ material solidProperty;
+
+ motion axisOfRotation;
+ }
+
+ coneShelldown
+ {
+ type cylinderWall;
+
+ p1 (0.0 0.0 0.02);
+
+ p2 (0.0 0.0 0.1);
+
+ radius1 0.03;
+
+ radius2 0.1;
+
+ resolution 36;
+
+ material solidProperty;
+
+ motion axisOfRotation;
+ }
+
+ bottomCylinder
+ {
+ type cylinderWall;
+
+ p1 (0.0 0.0 0.0);
+
+ p2 (0.0 0.0 0.02);
+
+ radius1 0.03;
+
+ radius2 0.03;
+
+ resolution 36;
+
+ material solidProperty;
+
+ motion axisOfRotation;
+ }
+
+ exitGate
+ {
+
+ type cylinderWall;
+
+ p1 (0.0 0.0 -0.001);
+
+ p2 (0.0 0.0 0.0);
+
+ radius1 0.03;
+
+ radius2 0.0001;
+
+ resolution 36;
+
+ material solidProperty;
+
+ motion axisOfRotation;
+ }
+
+}
+```
+
+## Defining particles
+### Diameter and material of spheres
+In the `caseSetup/shapes` the diameter and the material name of the particles are defined.
+
+
+in caseSetup/shapes file
+
+
+```C++
+// name of shapes
+names (sphere1);
+
+// diameter of shapes (m)
+diameters (0.005);
+
+// material name for shapes
+materials (solidProperty);
+```
+### Particle positioning before start of simulation
+Particles are positioned before the start of simulation. The positioning can be ordered or random. Here we use ordered positioning. 24000 particles are positioned in a cylinderical region inside the tote-blender.
+
+
+in settings/particlesDict file
+
+
+```C++
+// positions particles
+positionParticles
+{
+ // ordered positioning
+ method positionOrdered;
+
+ // maximum number of particles in the simulation
+ maxNumberOfParticles 25001;
+
+ // perform initial sorting based on morton code?
+ mortonSorting Yes;
+
+ // cylinderical region for positioning particles
+ cylinder
+ {
+ p1 (0.0 0.0 0.09);
+ p2 (0.0 0.0 0.21);
+ radius 0.09;
+ }
+
+ positionOrderedInfo
+ {
+ // minimum space between centers of particles
+ diameter 0.005;
+
+ // number of particles in the simulation
+ numPoints 24000;
+
+ // axis order for filling the space with particles
+ axisOrder (x y z);
+ }
+}
+```
+
+ ## Interaction between particles
+ In `caseSetup/interaction` file, material names and properties and interaction parameters are defined. Since we are defining 1 material type in the simulation, the interaction matrix is 1x1 (interactions are symmetric).
+```C++
+ // a list of materials names
+materials (solidProperty);
+
+// density of materials [kg/m3]
+densities (1000.0);
+
+contactListType sortedContactList;
+
+model
+{
+ contactForceModel nonLinearNonLimited;
+
+ rollingFrictionModel normal;
+
+ /*
+ Property (solidProperty-solidProperty);
+ */
+ // Young modulus [Pa]
+ Yeff (1.0e6);
+
+ // Shear modulus [Pa]
+ Geff (0.8e6);
+
+ // Poisson's ratio [-]
+ nu (0.25);
+
+ // coefficient of normal restitution
+ en (0.7);
+
+ // dynamic friction
+ mu (0.3);
+
+ // rolling friction
+ mur (0.1);
+}
+```
+
+# Performing Simulation and previewing the results
+To perform simulations, enter the following commands one after another in the terminal.
+
+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.
diff --git a/tutorials/sphereGranFlow/toteBlender/caseSetup/interaction b/tutorials/sphereGranFlow/toteBlender/caseSetup/interaction
new file mode 100644
index 00000000..58862397
--- /dev/null
+++ b/tutorials/sphereGranFlow/toteBlender/caseSetup/interaction
@@ -0,0 +1,49 @@
+/* -------------------------------*- C++ -*--------------------------------- *\
+| phasicFlow File |
+| copyright: www.cemf.ir |
+\* ------------------------------------------------------------------------- */
+objectName interaction;
+objectType dicrionary;
+fileFormat ASCII;
+/*---------------------------------------------------------------------------*/
+
+materials (solidProperty); // a list of materials names
+
+densities (1000.0); // density of materials [kg/m3]
+
+contactListType sortedContactList;
+
+model
+{
+ contactForceModel nonLinearNonLimited;
+
+ rollingFrictionModel normal;
+
+ /*
+ Property (solidProperty-solidProperty)
+ */
+ Yeff (1.0e6); // Young modulus [Pa]
+
+ Geff (0.8e6); // Shear modulus [Pa]
+
+ nu (0.25); // Poisson's ratio [-]
+
+ en (0.7); // coefficient of normal restitution
+
+ mu (0.3); // dynamic friction
+
+ mur (0.1); // rolling friction
+}
+
+contactSearch
+{
+ method NBS;
+
+ updateInterval 10;
+
+ sizeRatio 1.1;
+
+ cellExtent 0.55;
+
+ adjustableBox Yes;
+}
diff --git a/tutorials/sphereGranFlow/toteblender/caseSetup/sphereShape b/tutorials/sphereGranFlow/toteBlender/caseSetup/shapes
similarity index 62%
rename from tutorials/sphereGranFlow/toteblender/caseSetup/sphereShape
rename to tutorials/sphereGranFlow/toteBlender/caseSetup/shapes
index d895b1ee..bb207f33 100644
--- a/tutorials/sphereGranFlow/toteblender/caseSetup/sphereShape
+++ b/tutorials/sphereGranFlow/toteBlender/caseSetup/shapes
@@ -2,16 +2,13 @@
| phasicFlow File |
| copyright: www.cemf.ir |
\* ------------------------------------------------------------------------- */
-objectName sphereDict;
-objectType sphereShape;
-fileFormat ASCII;
+objectName sphereDict;
+objectType sphereShape;
+fileFormat ASCII;
/*---------------------------------------------------------------------------*/
-// name of shapes
-names (sphere1);
+names (sphere1); // name of shapes
-// diameter of shapes (m)
-diameters (0.005);
+diameters (0.005); // diameter of shapes (m)
-// material name for shapes
-materials (solidProperty);
\ No newline at end of file
+materials (solidProperty); // material name for shapes
diff --git a/tutorials/sphereGranFlow/toteblender/cleanThisCase b/tutorials/sphereGranFlow/toteBlender/cleanThisCase
old mode 100644
new mode 100755
similarity index 100%
rename from tutorials/sphereGranFlow/toteblender/cleanThisCase
rename to tutorials/sphereGranFlow/toteBlender/cleanThisCase
diff --git a/tutorials/sphereGranFlow/toteblender/runThisCase b/tutorials/sphereGranFlow/toteBlender/runThisCase
old mode 100644
new mode 100755
similarity index 100%
rename from tutorials/sphereGranFlow/toteblender/runThisCase
rename to tutorials/sphereGranFlow/toteBlender/runThisCase
diff --git a/tutorials/sphereGranFlow/toteBlender/settings/domainDict b/tutorials/sphereGranFlow/toteBlender/settings/domainDict
new file mode 100755
index 00000000..282d63bf
--- /dev/null
+++ b/tutorials/sphereGranFlow/toteBlender/settings/domainDict
@@ -0,0 +1,50 @@
+/* -------------------------------*- C++ -*--------------------------------- *\
+| phasicFlow File |
+| copyright: www.cemf.ir |
+\* ------------------------------------------------------------------------- */
+objectName domainDict;
+objectType dictionary;
+fileFormat ASCII;
+/*---------------------------------------------------------------------------*/
+
+// Simulation domain: every particles that goes outside this domain will be deleted
+globalBox
+{
+ min (-0.3 -0.3 -0.3); // lower corner point of the box
+
+ max ( 0.5 0.5 0.5); // upper corner point of the box
+}
+
+boundaries
+{
+
+ left
+ {
+ type exit;
+ }
+
+ right
+ {
+ type exit;
+ }
+
+ bottom
+ {
+ type exit;
+ }
+
+ top
+ {
+ type exit;
+ }
+
+ rear
+ {
+ type exit;
+ }
+
+ front
+ {
+ type exit;
+ }
+}
diff --git a/tutorials/sphereGranFlow/toteBlender/settings/geometryDict b/tutorials/sphereGranFlow/toteBlender/settings/geometryDict
new file mode 100644
index 00000000..420815eb
--- /dev/null
+++ b/tutorials/sphereGranFlow/toteBlender/settings/geometryDict
@@ -0,0 +1,160 @@
+/* -------------------------------*- C++ -*--------------------------------- *\
+| phasicFlow File |
+| copyright: www.cemf.ir |
+\* ------------------------------------------------------------------------- */
+objectName geometryDict;
+objectType dictionary;
+fileFormat ASCII;
+/*---------------------------------------------------------------------------*/
+
+motionModel rotatingAxis;
+
+rotatingAxisInfo
+{
+ axisOfRotation
+ {
+ p1 (-0.1 0.0 0.15);
+
+ p2 ( 0.1 0.0 0.15);
+
+ omega 1.5708;
+
+ startTime 0.5;
+
+ endTime 9.5;
+ }
+}
+
+surfaces
+{
+ topGate
+ {
+ type cylinderWall; // type of wall
+
+ p1 (0.0 0.0 0.3); // begin point of cylinder axis
+
+ p2 (0.0 0.0 0.301); // end point of cylinder axis
+
+ radius1 0.03; // radius at p1
+
+ radius2 0.0001; // radius at p2
+
+ material solidProperty; // material of wall
+
+ motion axisOfRotation;
+ }
+
+ topCylinder
+ {
+ type cylinderWall;
+
+ p1 (0.0 0.0 0.28);
+
+ p2 (0.0 0.0 0.3);
+
+ radius1 0.03;
+
+ radius2 0.03;
+
+ resolution 36;
+
+ material solidProperty;
+
+ motion axisOfRotation;
+ }
+
+ coneShelltop
+ {
+ type cylinderWall;
+
+ p1 (0.0 0.0 0.2);
+
+ p2 (0.0 0.0 0.28);
+
+ radius1 0.1;
+
+ radius2 0.03;
+
+ resolution 36;
+
+ material solidProperty;
+
+ motion axisOfRotation;
+ }
+
+ cylinderShell
+ {
+ type cylinderWall;
+
+ p1 (0.0 0.0 0.1);
+
+ p2 (0.0 0.0 0.2);
+
+ radius1 0.1;
+
+ radius2 0.1;
+
+ resolution 36;
+
+ material solidProperty;
+
+ motion axisOfRotation;
+ }
+
+ coneShelldown
+ {
+ type cylinderWall;
+
+ p1 (0.0 0.0 0.02);
+
+ p2 (0.0 0.0 0.1);
+
+ radius1 0.03;
+
+ radius2 0.1;
+
+ resolution 36;
+
+ material solidProperty;
+
+ motion axisOfRotation;
+ }
+
+ bottomCylinder
+ {
+ type cylinderWall;
+
+ p1 (0.0 0.0 0.0);
+
+ p2 (0.0 0.0 0.02);
+
+ radius1 0.03;
+
+ radius2 0.03;
+
+ resolution 36;
+
+ material solidProperty;
+
+ motion axisOfRotation;
+ }
+
+ exitGate
+ {
+ type cylinderWall;
+
+ p1 (0.0 0.0 -0.001);
+
+ p2 (0.0 0.0 0.0);
+
+ radius1 0.03;
+
+ radius2 0.0001;
+
+ resolution 36;
+
+ material solidProperty;
+
+ motion axisOfRotation;
+ }
+}
diff --git a/tutorials/sphereGranFlow/toteBlender/settings/particlesDict b/tutorials/sphereGranFlow/toteBlender/settings/particlesDict
new file mode 100644
index 00000000..ebb66d3d
--- /dev/null
+++ b/tutorials/sphereGranFlow/toteBlender/settings/particlesDict
@@ -0,0 +1,58 @@
+/* -------------------------------*- C++ -*--------------------------------- *\
+| phasicFlow File |
+| copyright: www.cemf.ir |
+\* ------------------------------------------------------------------------- */
+objectName particlesDict;
+objectType dictionary;
+fileFormat ASCII;
+/*---------------------------------------------------------------------------*/
+
+setFields
+{
+ /*
+ Default value for fields defined for particles
+ These fields should always be defined for simulations with
+ spherical particles.
+ */
+ defaultValue
+ {
+ 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)
+
+ shapeName word sphere1; // name of the particle shape
+ }
+
+ selectors
+ {}
+}
+
+positionParticles
+{
+
+ method ordered; // ordered positioning
+
+ mortonSorting Yes; // perform initial sorting based on morton code?
+
+ orderedInfo
+ {
+ diameter 0.005; // minimum space between centers of particles
+
+ numPoints 24000; // number of particles in the simulation
+
+ axisOrder (x y z); // axis order for filling the space with particles
+ }
+
+ regionType cylinder; // other options: cylinder and sphere
+
+ cylinderInfo
+ {
+ p1 (0.0 0.0 0.09);
+
+ p2 (0.0 0.0 0.21);
+
+ radius 0.09; // radius of cylinder
+ }
+}
diff --git a/tutorials/sphereGranFlow/toteBlender/settings/settingsDict b/tutorials/sphereGranFlow/toteBlender/settings/settingsDict
new file mode 100644
index 00000000..46a7218b
--- /dev/null
+++ b/tutorials/sphereGranFlow/toteBlender/settings/settingsDict
@@ -0,0 +1,35 @@
+/* -------------------------------*- C++ -*--------------------------------- *\
+| phasicFlow File |
+| copyright: www.cemf.ir |
+\* ------------------------------------------------------------------------- */
+objectName settingsDict;
+objectType dictionary;
+fileFormat ASCII;
+/*---------------------------------------------------------------------------*/
+
+run toteBlender;
+
+dt 0.00002; // time step for integration (s)
+
+startTime 0; // start time for simulation
+
+endTime 10; // end time for simulation
+
+saveInterval 0.05; // time interval for saving the simulation
+
+timePrecision 4; // maximum number of digits for time folder
+
+g (0 0 -9.8); // gravity vector (m/s2)
+
+// include/exclude fields for saving on disk
+includeObjects (diameter);
+
+excludeObjects (rVelocity.dy1 pStructPosition.dy1 pStructVelocity.dy1);
+
+integrationMethod AdamsBashforth2;
+
+writeFormat ascii;
+
+timersReport Yes;
+
+timersReportInterval 0.05;
diff --git a/tutorials/sphereGranFlow/toteblender/ReadMe.md b/tutorials/sphereGranFlow/toteblender/ReadMe.md
deleted file mode 100644
index 7b13e340..00000000
--- a/tutorials/sphereGranFlow/toteblender/ReadMe.md
+++ /dev/null
@@ -1,356 +0,0 @@
-# Problem Definition
-The problem is to simulate a double pedestal tote blender (mixer) with the diameter **0.03 m** and **0.1 m** respectively, the length **0.3 m**, rotating at **28 rpm**. This blender is filled with **24000** particles. The timestep for integration is **0.00001 s**. There is one type of particle in this blender. Particles are positioned before start of simulation to fill the blender.
-* **24000** particles with **5 mm** diameter are positioned, in order, and let to be settled under gravity. After settling particles, this blender starts to rotate at t=**1s**.
-
-
-
-
- a view of the tote-blender while rotating
-
-
-

-
-
- particles are colored according to their velocity
-
-
-
-
-# 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 files are stored into two folders: `caseSetup`, `setting` (see the above folders). Unlike the previous cases, this case does not have the `stl` file and the surfaces are defined based on the built-in utilities in phasicFlow. See next the section for more information on how we can setup the geometry and its rotation.
-
-## Geometry
-
-### Defining rotation axis
-In file `settings/geometryDict` the information of rotating axis and speed of rotation are defined. The rotation of this blender starts at time=**0.5 s** and ends at time=**9.5 s**.
-
-```C++
-// information for rotatingAxisMotion motion model
-rotatingAxisMotionInfo
-{
- axisOfRotation
- {
- p1 (-0.1 0.0 0.15); // first point for the axis of rotation
- p2 ( 0.1 0.0 0.15); // second point for the axis of rotation
-
- omega 1.5708; // rotation speed ==> 15 rad/s
-
- // Start time of Geometry Rotating (s)
- startTime 0.5;
-
- // End time of Geometry Rotating (s)
- endTime 9.5;
- }
-}
-```
-
-
-### Surfaces
-In `settings/geometryDict` file, the surfaces and motion component of each surface are defined to form a rotating tote-blender. The geometry is composed of top and bottom cylinders, top and bottom cones, a cylindrical shell and top and bottom Gates.
-
-```C++
-surfaces
-{
-
- topGate
- {
- // type of wall
- type cylinderWall;
-
- // begin point of cylinder axis
- p1 (0.0 0.0 0.3);
-
- // end point of cylinder axis
- p2 (0.0 0.0 0.301);
-
- // radius at p1
- radius1 0.03;
-
- // radius at p2
- radius2 0.0001;
-
- // material of wall
- material solidProperty;
-
- // motion component name
- motion axisOfRotation;
- }
-
- topCylinder
- {
- // type of the wall
- type cylinderWall;
-
- // begin point of cylinder axis
- p1 (0.0 0.0 0.28);
-
- // end point of cylinder axis
- p2 (0.0 0.0 0.3);
-
- // radius at p1
- radius1 0.03;
-
- // radius at p2
- radius2 0.03;
-
- // number of divisions
- resolution 36;
-
- // material name of this wall
- material solidProperty;
-
- // motion component name
- motion axisOfRotation;
- }
-
- coneShelltop
- {
- // type of the wall
- type cylinderWall;
-
- // begin point of cylinder axis
- p1 (0.0 0.0 0.2);
-
- // end point of cylinder axis
- p2 (0.0 0.0 0.28);
-
- // radius at p1
- radius1 0.1;
-
- // radius at p2
- radius2 0.03;
-
- // number of divisions
- resolution 36;
-
- // material name of this wall
- material solidProperty;
-
- // motion component name
- motion axisOfRotation;
- }
-
- cylinderShell
- {
- // type of the wall
- type cylinderWall;
-
- // begin point of cylinder axis
- p1 (0.0 0.0 0.1);
-
- // end point of cylinder axis
- p2 (0.0 0.0 0.2);
-
- // radius at p1
- radius1 0.1;
-
- // radius at p2
- radius2 0.1;
-
- // number of divisions
- resolution 36;
-
- // material name of this wall
- material solidProperty;
-
- // motion component name
- motion axisOfRotation;
- }
-
- coneShelldown
- {
-
- // type of the wall
- type cylinderWall;
-
- // begin point of cylinder axis
- p1 (0.0 0.0 0.02);
-
- // end point of cylinder axis
- p2 (0.0 0.0 0.1);
-
- // radius at p1
- radius1 0.03;
-
- // radius at p2
- radius2 0.1;
-
- // number of divisions
- resolution 36;
-
- // material name of this wall
- material solidProperty;
-
- // motion component name
- motion axisOfRotation;
- }
-
- bottomCylinder
- {
- // type of the wall
- type cylinderWall;
-
- // begin point of cylinder axis
- p1 (0.0 0.0 0.0);
-
- // end point of cylinder axis
- p2 (0.0 0.0 0.02);
-
- // radius at p1
- radius1 0.03;
-
- // radius at p2
- radius2 0.03;
-
- // number of divisions
- resolution 36;
-
- // material name of this wall
- material solidProperty;
-
- // motion component name
- motion axisOfRotation;
- }
-
- exitGate
- {
-
- // type of the wall
- type cylinderWall;
-
- // begin point of cylinder axis
- p1 (0.0 0.0 -0.001);
-
- // end point of cylinder axis
- p2 (0.0 0.0 0.0);
-
- // radius at p1
- radius1 0.03;
-
- // radius at p2
- radius2 0.0001;
-
- // number of divisions
- resolution 36;
-
- // material name of this wall
- material solidProperty;
-
- // motion component name
- motion axisOfRotation;
- }
-
-}
-```
-
-## Defining particles
-### Diameter and material of spheres
-In the `caseSetup/sphereShape` the diameter and the material name of the particles are defined.
-
-
-in caseSetup/sphereShape file
-
-
-```C++
-// name of shapes
-names (sphere1);
-
-// diameter of shapes (m)
-diameters (0.005);
-
-// material name for shapes
-materials (solidProperty);
-```
-### Particle positioning before start of simulation
-Particles are positioned before the start of simulation. The positioning can be ordered or random. Here we use ordered positioning. 24000 particles are positioned in a cylinderical region inside the tote-blender.
-
-
-in settings/particlesDict file
-
-
-```C++
-// positions particles
-positionParticles
-{
- // ordered positioning
- method positionOrdered;
-
- // maximum number of particles in the simulation
- maxNumberOfParticles 25001;
-
- // perform initial sorting based on morton code?
- mortonSorting Yes;
-
- // cylinderical region for positioning particles
- cylinder
- {
- p1 (0.0 0.0 0.09);
- p2 (0.0 0.0 0.21);
- radius 0.09;
- }
-
- positionOrderedInfo
- {
- // minimum space between centers of particles
- diameter 0.005;
-
- // number of particles in the simulation
- numPoints 24000;
-
- // axis order for filling the space with particles
- axisOrder (x y z);
- }
-}
-```
-
- ## Interaction between particles
- In `caseSetup/interaction` file, material names and properties and interaction parameters are defined. Since we are defining 1 material type in the simulation, the interaction matrix is 1x1 (interactions are symmetric).
-```C++
- // a list of materials names
-materials (solidProperty);
-
-// density of materials [kg/m3]
-densities (1000.0);
-
-contactListType sortedContactList;
-
-model
-{
- contactForceModel nonLinearNonLimited;
-
- rollingFrictionModel normal;
-
- /*
- Property (solidProperty-solidProperty);
- */
-
- // Young modulus [Pa]
- Yeff (1.0e6);
-
- // Shear modulus [Pa]
- Geff (0.8e6);
-
- // Poisson's ratio [-]
- nu (0.25);
-
- // coefficient of normal restitution
- en (0.7);
-
- // coefficient of tangential restitution
- et (1.0);
-
- // dynamic friction
- mu (0.3);
-
- // rolling friction
- mur (0.1);
-}
-```
-
-# Performing Simulation and previewing the results
-To perform simulations, enter the following commands one after another in the terminal.
-
-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.
diff --git a/tutorials/sphereGranFlow/toteblender/caseSetup/interaction b/tutorials/sphereGranFlow/toteblender/caseSetup/interaction
deleted file mode 100644
index 203a501b..00000000
--- a/tutorials/sphereGranFlow/toteblender/caseSetup/interaction
+++ /dev/null
@@ -1,52 +0,0 @@
-/* -------------------------------*- C++ -*--------------------------------- *\
-| phasicFlow File |
-| copyright: www.cemf.ir |
-\* ------------------------------------------------------------------------- */
-objectName interaction;
-objectType dicrionary;
-fileFormat ASCII;
-/*---------------------------------------------------------------------------*/
-materials (solidProperty); // a list of materials names
-
-densities (1000.0); // density of materials [kg/m3]
-
-contactListType sortedContactList;
-
-contactSearch
-{
- method NBS; // method for broad search
-
- updateInterval 10;
-
- sizeRatio 1.1;
-
- cellExtent 0.55;
-
- adjustableBox Yes;
-}
-
-model
-{
- contactForceModel nonLinearNonLimited;
-
- rollingFrictionModel normal;
-
- /*
- Property (solidProperty-solidProperty)
- */
-
- Yeff (1.0e6); // Young modulus [Pa]
-
- Geff (0.8e6); // Shear modulus [Pa]
-
- nu (0.25); // Poisson's ratio [-]
-
- en (0.7); // coefficient of normal restitution
-
- et (1.0); // coefficient of tangential restitution
-
- mu (0.3); // dynamic friction
-
- mur (0.1); // rolling friction
-}
-
diff --git a/tutorials/sphereGranFlow/toteblender/caseSetup/particleInsertion b/tutorials/sphereGranFlow/toteblender/caseSetup/particleInsertion
deleted file mode 100644
index cabe23da..00000000
--- a/tutorials/sphereGranFlow/toteblender/caseSetup/particleInsertion
+++ /dev/null
@@ -1,13 +0,0 @@
-/* -------------------------------*- C++ -*--------------------------------- *\
-| phasicFlow File |
-| copyright: www.cemf.ir |
-\* ------------------------------------------------------------------------- */
-objectName particleInsertion;
-objectType dicrionary;
-fileFormat ASCII;
-/*---------------------------------------------------------------------------*/
-active No; // is insertion active -> Yes or No
-
-collisionCheck No; // is checked -> Yes or No
-
-
diff --git a/tutorials/sphereGranFlow/toteblender/caseSetup/shapes b/tutorials/sphereGranFlow/toteblender/caseSetup/shapes
deleted file mode 100644
index 5e154455..00000000
--- a/tutorials/sphereGranFlow/toteblender/caseSetup/shapes
+++ /dev/null
@@ -1,13 +0,0 @@
-/* -------------------------------*- C++ -*--------------------------------- *\
-| phasicFlow File |
-| copyright: www.cemf.ir |
-\* ------------------------------------------------------------------------- */
-objectName sphereDict;
-objectType sphereShape;
-fileFormat ASCII;
-/*---------------------------------------------------------------------------*/
-names (sphere1); // name of shapes
-
-diameters (0.005); // diameter of shapes (m)
-
-materials (solidProperty); // material name for shapes
\ No newline at end of file
diff --git a/tutorials/sphereGranFlow/toteblender/settings/domainDict b/tutorials/sphereGranFlow/toteblender/settings/domainDict
deleted file mode 100755
index ac9b1774..00000000
--- a/tutorials/sphereGranFlow/toteblender/settings/domainDict
+++ /dev/null
@@ -1,64 +0,0 @@
-/* -------------------------------*- 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.3 -0.3 -0.3); // lower corner point of the box
-
- max (0.5 0.5 0.5); // upper corner point of the box
-}
-
-decomposition
-{
- direction z;
-}
-
-boundaries
-{
-
-
- neighborListUpdateInterval 50; /* 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 */
-
- updateInterval 10; // Determines how often do you want to update the new changes in the boundary
-
- neighborLength 0.004; // The distance from the boundary plane within which particles are marked to be in the boundary list
-
- left
- {
- type exit; // other options: periodic, 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
- }
-}
diff --git a/tutorials/sphereGranFlow/toteblender/settings/geometryDict b/tutorials/sphereGranFlow/toteblender/settings/geometryDict
deleted file mode 100644
index 37a7b1db..00000000
--- a/tutorials/sphereGranFlow/toteblender/settings/geometryDict
+++ /dev/null
@@ -1,159 +0,0 @@
-/* -------------------------------*- C++ -*--------------------------------- *\
-| phasicFlow File |
-| copyright: www.cemf.ir |
-\* ------------------------------------------------------------------------- */
-objectName geometryDict;
-objectType dictionary;
-fileFormat ASCII;
-/*---------------------------------------------------------------------------*/
-motionModel rotatingAxis; // motion model: rotating object around an axis
-
-rotatingAxisInfo // information for rotatingAxisMotion motion model
-{
- axisOfRotation
- {
- p1 (-0.1 0.0 0.15); // first point for the axis of rotation
-
- p2 ( 0.1 0.0 0.15); // second point for the axis of rotation
-
- omega 1.5708; // rotation speed ==> 15 rad/s
-
- startTime 0.5; // Start time of Geometry Rotating (s)
-
- endTime 9.5; // End time of Geometry Rotating (s)
- }
-}
-
-surfaces
-{
- topGate
- {
- type cylinderWall; // type of wall
-
- p1 (0.0 0.0 0.3); // begin point of cylinder axis
-
- p2 (0.0 0.0 0.301); // end point of cylinder axis
-
- radius1 0.03; // radius at p1
-
- radius2 0.0001; // radius at p2
-
- material solidProperty; // material of wall
-
- motion axisOfRotation; // motion component name
- }
-
- topCylinder
- {
- type cylinderWall; // type of the wall
-
- p1 (0.0 0.0 0.28); // begin point of cylinder axis
-
- p2 (0.0 0.0 0.3); // end point of cylinder axis
-
- radius1 0.03; // radius at p1
-
- radius2 0.03; // radius at p2
-
- resolution 36; // number of divisions
-
- material solidProperty; // material name of this wall
-
- motion axisOfRotation; // motion component name
- }
-
- coneShelltop
- {
- type cylinderWall; // type of the wall
-
- p1 (0.0 0.0 0.2); // begin point of cylinder axis
-
- p2 (0.0 0.0 0.28); // end point of cylinder axis
-
- radius1 0.1; // radius at p1
-
- radius2 0.03; // radius at p2
-
- resolution 36; // number of divisions
-
- material solidProperty; // material name of this wall
-
- motion axisOfRotation; // motion component name
- }
-
- cylinderShell
- {
- type cylinderWall; // type of the wall
-
- p1 (0.0 0.0 0.1); // begin point of cylinder axis
-
- p2 (0.0 0.0 0.2); // end point of cylinder axis
-
- radius1 0.1; // radius at p1
-
- radius2 0.1; // radius at p2
-
- resolution 36; // number of divisions
-
- material solidProperty; // material name of this wall
-
- motion axisOfRotation; // motion component name
- }
-
- coneShelldown
- {
- type cylinderWall; // type of the wall
-
- p1 (0.0 0.0 0.02); // begin point of cylinder axis
-
- p2 (0.0 0.0 0.1); // end point of cylinder axis
-
- radius1 0.03; // radius at p1
-
- radius2 0.1; // radius at p2
-
- resolution 36; // number of divisions
-
- material solidProperty; // material name of this wall
-
- motion axisOfRotation; // motion component name
- }
-
- bottomCylinder
- {
- type cylinderWall; // type of the wall
-
- p1 (0.0 0.0 0.0); // begin point of cylinder axis
-
- p2 (0.0 0.0 0.02); // end point of cylinder axis
-
- radius1 0.03; // radius at p1
-
- radius2 0.03; // radius at p2
-
- resolution 36; // number of divisions
-
- material solidProperty; // material name of this wall
-
- motion axisOfRotation; // motion component name
- }
-
- exitGate
- {
- type cylinderWall; // type of the wall
-
- p1 (0.0 0.0 -0.001); // begin point of cylinder axis
-
- p2 (0.0 0.0 0.0); // end point of cylinder axis
-
- radius1 0.03; // radius at p1
-
- radius2 0.0001; // radius at p2
-
- resolution 36; // number of divisions
-
- material solidProperty; // material name of this wall
-
- motion axisOfRotation; // motion component name
- }
-}
diff --git a/tutorials/sphereGranFlow/toteblender/settings/particlesDict b/tutorials/sphereGranFlow/toteblender/settings/particlesDict
deleted file mode 100644
index 01fecb85..00000000
--- a/tutorials/sphereGranFlow/toteblender/settings/particlesDict
+++ /dev/null
@@ -1,79 +0,0 @@
-/* -------------------------------*- C++ -*--------------------------------- *\
-| phasicFlow File |
-| copyright: www.cemf.ir |
-\* ------------------------------------------------------------------------- */
-objectName particlesDict;
-objectType dictionary;
-fileFormat ASCII;
-/*---------------------------------------------------------------------------*/
-setFields
-{
- /*
- Default value for fields defined for particles
-
- These fields should always be defined for simulations with
-
- spherical particles.
- */
-
- defaultValue
- {
- 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)
-
- shapeName word sphere1; // name of the particle shape
- }
-
- selectors
- {
- shapeAssigne
- {
- selector stridedRange; // other options: box, cylinder, sphere, randomPoints
-
- stridedRangeInfo
- {
- begin 0; // begin index of points
-
- end 24000; // end index of points
-
- stride 3; // stride for selector
- }
-
- fieldValue // fields that the selector is applied to
- {
- shapeName word sphere1; // sets shapeName of the selected points to largeSphere
- }
- }
- }
-}
-
-positionParticles // positions particles
-{
-
- method ordered; // ordered positioning
-
- mortonSorting Yes; // perform initial sorting based on morton code?
-
- orderedInfo
- {
- diameter 0.005; // minimum space between centers of particles
-
- numPoints 24000; // number of particles in the simulation
-
- axisOrder (x y z); // axis order for filling the space with particles
- }
-
- regionType cylinder; // other options: cylinder and sphere
-
- cylinderInfo // cylinder for positioning particles
- {
- p1 (0.0 0.0 0.09); // Coordinates of bottom cylinderRegion (m,m,m)
-
- p2 (0.0 0.0 0.21); // Coordinates of top cylinderRegion (m,m,m)
-
- radius 0.09; // radius of cylinder
- }
-}
diff --git a/tutorials/sphereGranFlow/toteblender/settings/settingsDict b/tutorials/sphereGranFlow/toteblender/settings/settingsDict
deleted file mode 100644
index 0977f56b..00000000
--- a/tutorials/sphereGranFlow/toteblender/settings/settingsDict
+++ /dev/null
@@ -1,34 +0,0 @@
-/* -------------------------------*- C++ -*--------------------------------- *\
-| phasicFlow File |
-| copyright: www.cemf.ir |
-\* ------------------------------------------------------------------------- */
-objectName settingsDict;
-objectType dictionary;
-fileFormat ASCII;
-/*---------------------------------------------------------------------------*/
-run toteblender;
-
-dt 0.00004; // time step for integration (s)
-
-startTime 0; // start time for simulation
-
-endTime 10; // end time for simulation
-
-saveInterval 0.05; // time interval for saving the simulation
-
-timePrecision 3; // maximum number of digits for time folder
-
-g (0 0 -9.8); // gravity vector (m/s2)
-
-includeObjects (diameter); // save necessary (i.e., required) data on disk
-
-// exclude unnecessary data from saving on disk
-excludeObjects (rVelocity.dy1 pStructPosition.dy1 pStructVelocity.dy1);
-
-integrationMethod AdamsBashforth2; // integration method
-
-writeFormat ascii; // data writting format (ascii or binary)
-
-timersReport Yes; // report timers (Yes or No)
-
-timersReportInterval 0.02; // time interval for reporting timers