From 99da1d5a209b25264762a34f1985f7dae9174f6f Mon Sep 17 00:00:00 2001 From: Omid Khosravi <123903048+omid-khosravi@users.noreply.github.com> Date: Sun, 26 Mar 2023 18:47:19 +0330 Subject: [PATCH 01/24] Create toteblender folder --- tutorials/sphereGranFlow/toteblender/toteblender | 1 + 1 file changed, 1 insertion(+) create mode 100644 tutorials/sphereGranFlow/toteblender/toteblender diff --git a/tutorials/sphereGranFlow/toteblender/toteblender b/tutorials/sphereGranFlow/toteblender/toteblender new file mode 100644 index 00000000..e8689b24 --- /dev/null +++ b/tutorials/sphereGranFlow/toteblender/toteblender @@ -0,0 +1 @@ +hh From 46385b695315db53133ff2ec81f88bf17931ac1c Mon Sep 17 00:00:00 2001 From: Omid Khosravi <123903048+omid-khosravi@users.noreply.github.com> Date: Sun, 26 Mar 2023 18:53:46 +0330 Subject: [PATCH 02/24] Add tote blender files via Upload --- .../sphereGranFlow/toteblender/cleanThisCase | 7 +++++++ .../sphereGranFlow/toteblender/runThisCase | 21 +++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 tutorials/sphereGranFlow/toteblender/cleanThisCase create mode 100644 tutorials/sphereGranFlow/toteblender/runThisCase diff --git a/tutorials/sphereGranFlow/toteblender/cleanThisCase b/tutorials/sphereGranFlow/toteblender/cleanThisCase new file mode 100644 index 00000000..8a0ab919 --- /dev/null +++ b/tutorials/sphereGranFlow/toteblender/cleanThisCase @@ -0,0 +1,7 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # Run from this directory + +ls | grep -P "^(([0-9]+\.?[0-9]*)|(\.[0-9]+))$" | xargs -d"\n" rm -rf +rm -rf VTK + +#------------------------------------------------------------------------------ diff --git a/tutorials/sphereGranFlow/toteblender/runThisCase b/tutorials/sphereGranFlow/toteblender/runThisCase new file mode 100644 index 00000000..c48d71fe --- /dev/null +++ b/tutorials/sphereGranFlow/toteblender/runThisCase @@ -0,0 +1,21 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # Run from this directory +echo "\n<--------------------------------------------------------------------->" +echo "1) Creating particles" +echo "<--------------------------------------------------------------------->\n" +particlesPhasicFlow + +echo "\n<--------------------------------------------------------------------->" +echo "2) Creating geometry" +echo "<--------------------------------------------------------------------->\n" +geometryPhasicFlow + +echo "\n<--------------------------------------------------------------------->" +echo "3) Running the case" +echo "<--------------------------------------------------------------------->\n" +sphereGranFlow + + + + +#------------------------------------------------------------------------------ From 8666e87f83ef00fb86acbca990dc05a528b78bb9 Mon Sep 17 00:00:00 2001 From: Omid Khosravi <123903048+omid-khosravi@users.noreply.github.com> Date: Sun, 26 Mar 2023 18:54:33 +0330 Subject: [PATCH 03/24] Delete test file --- tutorials/sphereGranFlow/toteblender/toteblender | 1 - 1 file changed, 1 deletion(-) delete mode 100644 tutorials/sphereGranFlow/toteblender/toteblender diff --git a/tutorials/sphereGranFlow/toteblender/toteblender b/tutorials/sphereGranFlow/toteblender/toteblender deleted file mode 100644 index e8689b24..00000000 --- a/tutorials/sphereGranFlow/toteblender/toteblender +++ /dev/null @@ -1 +0,0 @@ -hh From bc3409d1540d75386833a31880d189ad14520052 Mon Sep 17 00:00:00 2001 From: Omid Khosravi <123903048+omid-khosravi@users.noreply.github.com> Date: Sun, 26 Mar 2023 18:55:33 +0330 Subject: [PATCH 04/24] create test --- tutorials/sphereGranFlow/toteblender/caseSetup/test | 1 + 1 file changed, 1 insertion(+) create mode 100644 tutorials/sphereGranFlow/toteblender/caseSetup/test diff --git a/tutorials/sphereGranFlow/toteblender/caseSetup/test b/tutorials/sphereGranFlow/toteblender/caseSetup/test new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/tutorials/sphereGranFlow/toteblender/caseSetup/test @@ -0,0 +1 @@ + From 1b0667576bde9bb0bc2e5042c0f997bb4e011a26 Mon Sep 17 00:00:00 2001 From: Omid Khosravi <123903048+omid-khosravi@users.noreply.github.com> Date: Sun, 26 Mar 2023 18:56:03 +0330 Subject: [PATCH 05/24] Add caseSetup files via Upload --- .../toteblender/caseSetup/interaction | 61 +++++++++++++++++++ .../toteblender/caseSetup/particleInsertion | 13 ++++ .../toteblender/caseSetup/sphereShape | 13 ++++ 3 files changed, 87 insertions(+) create mode 100644 tutorials/sphereGranFlow/toteblender/caseSetup/interaction create mode 100644 tutorials/sphereGranFlow/toteblender/caseSetup/particleInsertion create mode 100644 tutorials/sphereGranFlow/toteblender/caseSetup/sphereShape diff --git a/tutorials/sphereGranFlow/toteblender/caseSetup/interaction b/tutorials/sphereGranFlow/toteblender/caseSetup/interaction new file mode 100644 index 00000000..f97d2f4f --- /dev/null +++ b/tutorials/sphereGranFlow/toteblender/caseSetup/interaction @@ -0,0 +1,61 @@ +/* -------------------------------*- C++ -*--------------------------------- *\ +| phasicFlow File | +| copyright: www.cemf.ir | +\* ------------------------------------------------------------------------- */ +objectName interaction; +objectType dicrionary; +/* ------------------------------------------------------------------------- */ +// a list of materials names +materials (prop1); +// density of materials [kg/m3] +densities (1000.0); + +contactListType sortedContactList; + +model +{ + contactForceModel nonLinearNonLimited; + rollingFrictionModel normal; + /* + Property (prop1-prop1); + */ +// 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); + +} +contactSearch +{ +// method for broad search particle-particle + method NBS; +// method for broad search particle-wall + wallMapping cellMapping; + + NBSInfo + { + // each 20 timesteps, update neighbor list + updateFrequency 20; + // bounding box size to particle diameter (max) + sizeRatio 1.1; + } + + cellMappingInfo + { + // each 20 timesteps, update neighbor list + updateFrequency 20; + // bounding box for particle-wall search (> 0.5) + cellExtent 0.7; + } + +} \ No newline at end of file diff --git a/tutorials/sphereGranFlow/toteblender/caseSetup/particleInsertion b/tutorials/sphereGranFlow/toteblender/caseSetup/particleInsertion new file mode 100644 index 00000000..d8f022c6 --- /dev/null +++ b/tutorials/sphereGranFlow/toteblender/caseSetup/particleInsertion @@ -0,0 +1,13 @@ +/* -------------------------------*- C++ -*--------------------------------- *\ +| phasicFlow File | +| copyright: www.cemf.ir | +\* ------------------------------------------------------------------------- */ +objectName particleInsertion; +objectType dicrionary; +/* ------------------------------------------------------------------------- */ +// is insertion active? +active no; +// not implemented for yes +collisionCheck No; + + diff --git a/tutorials/sphereGranFlow/toteblender/caseSetup/sphereShape b/tutorials/sphereGranFlow/toteblender/caseSetup/sphereShape new file mode 100644 index 00000000..ff2df8d1 --- /dev/null +++ b/tutorials/sphereGranFlow/toteblender/caseSetup/sphereShape @@ -0,0 +1,13 @@ +/* -------------------------------*- C++ -*--------------------------------- *\ +| phasicFlow File | +| copyright: www.cemf.ir | +\* ------------------------------------------------------------------------- */ +objectName sphereDict; +objectType sphereShape; +/* ------------------------------------------------------------------------- */ +// names of shapes +names (sphere1); +// diameter of shapes (m) +diameters (0.004); +// material names for shapes +materials (prop1); \ No newline at end of file From 4ecc667a10ad36fd72dd44ad15cd493c54bb53af Mon Sep 17 00:00:00 2001 From: Omid Khosravi <123903048+omid-khosravi@users.noreply.github.com> Date: Sun, 26 Mar 2023 18:56:41 +0330 Subject: [PATCH 06/24] Delete test --- tutorials/sphereGranFlow/toteblender/caseSetup/test | 1 - 1 file changed, 1 deletion(-) delete mode 100644 tutorials/sphereGranFlow/toteblender/caseSetup/test diff --git a/tutorials/sphereGranFlow/toteblender/caseSetup/test b/tutorials/sphereGranFlow/toteblender/caseSetup/test deleted file mode 100644 index 8b137891..00000000 --- a/tutorials/sphereGranFlow/toteblender/caseSetup/test +++ /dev/null @@ -1 +0,0 @@ - From 05328a395171d805e57c20194d8caf2e1cc5e406 Mon Sep 17 00:00:00 2001 From: Omid Khosravi <123903048+omid-khosravi@users.noreply.github.com> Date: Sun, 26 Mar 2023 18:57:13 +0330 Subject: [PATCH 07/24] Create test --- tutorials/sphereGranFlow/toteblender/settings/test | 1 + 1 file changed, 1 insertion(+) create mode 100644 tutorials/sphereGranFlow/toteblender/settings/test diff --git a/tutorials/sphereGranFlow/toteblender/settings/test b/tutorials/sphereGranFlow/toteblender/settings/test new file mode 100644 index 00000000..6a69f920 --- /dev/null +++ b/tutorials/sphereGranFlow/toteblender/settings/test @@ -0,0 +1 @@ +f From 0dcff307a6181f3b64f0f6834a2c9aca4443c95a Mon Sep 17 00:00:00 2001 From: Omid Khosravi <123903048+omid-khosravi@users.noreply.github.com> Date: Sun, 26 Mar 2023 18:57:44 +0330 Subject: [PATCH 08/24] Add settings files via Upload --- .../toteblender/settings/geometryDict | 151 ++++++++++++++++++ .../toteblender/settings/particlesDict | 59 +++++++ .../toteblender/settings/settingsDict | 34 ++++ 3 files changed, 244 insertions(+) create mode 100644 tutorials/sphereGranFlow/toteblender/settings/geometryDict create mode 100644 tutorials/sphereGranFlow/toteblender/settings/particlesDict create mode 100644 tutorials/sphereGranFlow/toteblender/settings/settingsDict diff --git a/tutorials/sphereGranFlow/toteblender/settings/geometryDict b/tutorials/sphereGranFlow/toteblender/settings/geometryDict new file mode 100644 index 00000000..49d486bd --- /dev/null +++ b/tutorials/sphereGranFlow/toteblender/settings/geometryDict @@ -0,0 +1,151 @@ +/* -------------------------------*- C++ -*--------------------------------- *\ +| phasicFlow File | +| copyright: www.cemf.ir | +\* ------------------------------------------------------------------------- */ +objectName geometryDict; +objectType dictionary; +/* ------------------------------------------------------------------------- */ +// motion model: rotating object around an axis +motionModel rotatingAxisMotion; + +surfaces +{ + enterGate + { + // type of wall + type planeWall; + // coords of wall + p1 (-0.05 -0.05 0.3); + p2 (-0.05 0.05 0.3); + p3 ( 0.05 0.05 0.3); + p4 (0.05 -0.05 0.3); + // material of wall + material prop1; + // motion component name + motion rotAxis; + } + + cylinderinlet + { + // 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 prop1; + // motion component name + motion rotAxis; + } + + 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 prop1; + // motion component name + motion rotAxis; + } + + 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 prop1; + // motion component name + motion rotAxis; + } + + 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 prop1; + // motion component name + motion rotAxis; + } + /* + This is a plane wall at the exit of silo + */ + + cylinderoutlet + { + // 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 prop1; + // motion component name + motion rotAxis; + } + exitGate + { + type planeWall; + p1 (-0.05 -0.05 0); + p2 (-0.05 0.05 0); + p3 ( 0.05 0.05 0); + p4 (0.05 -0.05 0); + material prop1; + motion rotAxis; + } + +} +// information for rotatingAxisMotion motion model +rotatingAxisMotionInfo +{ + rotAxis + { + 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 3; // rotation speed (rad/s) + } +} diff --git a/tutorials/sphereGranFlow/toteblender/settings/particlesDict b/tutorials/sphereGranFlow/toteblender/settings/particlesDict new file mode 100644 index 00000000..49a26e76 --- /dev/null +++ b/tutorials/sphereGranFlow/toteblender/settings/particlesDict @@ -0,0 +1,59 @@ +/* -------------------------------*- C++ -*--------------------------------- *\ +| phasicFlow File | +| copyright: www.cemf.ir | +\* ------------------------------------------------------------------------- */ +objectName particlesDict; +objectType dictionary; +/* ------------------------------------------------------------------------- */ +setFields +{ + /* + Default value for fields defined for particles + These fields should always be defined for simulations with + spherical particles. + */ + + defaultValue + { +// linear velocity (m/s) + velocity realx3 (0 0 0); +// linear acceleration (m/s2) + acceleration realx3 (0 0 0); +// rotational velocity (rad/s) + rotVelocity realx3 (0 0 0); +// name of the particle shape + shapeName word sphere1; + } + + selectors + {} +} + +// positions particles +positionParticles +{ +// ordered positioning + method positionOrdered; +// maximum number of particles in the simulation + maxNumberOfParticles 40000; +// perform initial sorting based on morton code? + mortonSorting Yes; +// box for positioning particles + box + { +// lower corner point of the box + min (-0.06 -0.06 0.08); +// upper corner point of the box + max (0.06 0.06 0.18); + } + + positionOrderedInfo + { +// minimum space between centers of particles + diameter 0.004; +// number of particles in the simulation + numPoints 20000; +// axis order for filling the space with particles + axisOrder (z y x); + } +} diff --git a/tutorials/sphereGranFlow/toteblender/settings/settingsDict b/tutorials/sphereGranFlow/toteblender/settings/settingsDict new file mode 100644 index 00000000..28b9a552 --- /dev/null +++ b/tutorials/sphereGranFlow/toteblender/settings/settingsDict @@ -0,0 +1,34 @@ +/* -------------------------------*- C++ -*--------------------------------- *\ +| phasicFlow File | +| copyright: www.cemf.ir | +\* ------------------------------------------------------------------------- */ +objectName settingsDict; +objectType dictionary;; +/*---------------------------------------------------------------------------*/ +run toteBlender; +// time step for integration (s) +dt 0.00001; +// start time for simulation +startTime 0; +// end time for simulation +endTime 10; +// time interval for saving the simulation +saveInterval 0.1; +// maximum number of digits for time folder +timePrecision 6; +// gravity vector (m/s2) +g (0 0 -9.8); + +/* Simulation domain */ +/* every particles that goes outside this domain is deleted. */ +domain +{ + min (-0.5 -0.5 -0.5); + max (0.5 0.5 0.5); +} +// integration method +integrationMethod AdamsBashforth2; +// report timers? +timersReport Yes; +// time interval for reporting timers +timersReportInterval 0.01; From d4dc0d7e80663a3a3d7de210ce800ffdc1da1710 Mon Sep 17 00:00:00 2001 From: Omid Khosravi <123903048+omid-khosravi@users.noreply.github.com> Date: Sun, 26 Mar 2023 18:58:15 +0330 Subject: [PATCH 09/24] Delete test --- tutorials/sphereGranFlow/toteblender/settings/test | 1 - 1 file changed, 1 deletion(-) delete mode 100644 tutorials/sphereGranFlow/toteblender/settings/test diff --git a/tutorials/sphereGranFlow/toteblender/settings/test b/tutorials/sphereGranFlow/toteblender/settings/test deleted file mode 100644 index 6a69f920..00000000 --- a/tutorials/sphereGranFlow/toteblender/settings/test +++ /dev/null @@ -1 +0,0 @@ -f From 04d7ecfe9e91155945c541ec28ef6fae0bb746f9 Mon Sep 17 00:00:00 2001 From: Omid Khosravi <123903048+omid-khosravi@users.noreply.github.com> Date: Sun, 26 Mar 2023 18:58:42 +0330 Subject: [PATCH 10/24] Add ReadMe file via Upload --- .../sphereGranFlow/toteblender/ReadMe.md | 244 ++++++++++++++++++ 1 file changed, 244 insertions(+) create mode 100644 tutorials/sphereGranFlow/toteblender/ReadMe.md diff --git a/tutorials/sphereGranFlow/toteblender/ReadMe.md b/tutorials/sphereGranFlow/toteblender/ReadMe.md new file mode 100644 index 00000000..4a9ff9bf --- /dev/null +++ b/tutorials/sphereGranFlow/toteblender/ReadMe.md @@ -0,0 +1,244 @@ +# Problem Definition +The problem is to simulate a double pedestal tote blender 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 **20000** Particles. The timestep for integration is **0.00001 s**. There is one type of Particle in this blender that are being inserted during simulation to fill the drum. +* **20000** particles with **4 mm** diameter, at the rate of 20000 particles/s for 1 sec. + + + +
+ a view of the tote-blender while rotating +
+
+ +
+ + + +# Setting up the Case +As it has been explained in the previous cases, the simulation case setup is based on text-based scripts. Here, the simulation case setup are sotred in two folders: `caseSetup`, `setting`. (see the above folders). Unlike the previous cases, this case does not have the `stl` file. and the geometry is described in the `geometryDict` file. + +## Defining particles +Then in the `caseSetup/sphereShape` the diameter and the material name of the particles are defined. +```C++ +// names of shapes +names (sphere1); +// diameter of shapes (m) +diameters (0.004); +// material names for shapes +materials (prop1); +``` +## Particle Insertion +In this case we have a region for ordering particles. These particles are placed in this blender. For example the script for the inserted particles is shown below. + +
+in caseSetup/particleInsertion file +
+ +```C++ +// positions particles +positionParticles +{ +// ordered positioning + method positionOrdered; +// maximum number of particles in the simulation + maxNumberOfParticles 40000; +// perform initial sorting based on morton code? + mortonSorting Yes; +// box for positioning particles + box + { +// lower corner point of the box + min (-0.06 -0.06 0.08); +// upper corner point of the box + max (0.06 0.06 0.18); + } +``` + ## Interaction between particles + In `caseSetup/interaction` file, material names and properties and interaction parameters are defined: interaction between the particles of rotating drum. Since we are defining 1 material for simulation, the interaction matrix is 1x1 (interactions are symetric). +```C++ + // a list of materials names +materials (prop1); +// density of materials [kg/m3] +densities (1000.0); + +contactListType sortedContactList; + +model +{ + contactForceModel nonLinearNonLimited; + rollingFrictionModel normal; + /* + Property (prop1-prop1); + */ +// 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); + +} +``` +## Settings +### Geometry +In the `settings/geometryDict` file, the geometry and axis of rotation is defined for the drum. The geometry is composed of a cylinder inlet and outlet, cone shell top and down, a cylinder shell and enter and exit Gate. +```C++ +surfaces +{ + enterGate + { + // type of wall + type planeWall; + // coords of wall + p1 (-0.05 -0.05 0.3); + p2 (-0.05 0.05 0.3); + p3 ( 0.05 0.05 0.3); + p4 (0.05 -0.05 0.3); + // material of wall + material prop1; + // motion component name + motion rotAxis; + } + + cylinderinlet + { + // 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 prop1; + // motion component name + motion rotAxis; + } + + 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 prop1; + // motion component name + motion rotAxis; + } + + 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 prop1; + // motion component name + motion rotAxis; + } + + 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 prop1; + // motion component name + motion rotAxis; + } + /* + This is a plane wall at the exit of silo + */ + + cylinderoutlet + { + // 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 prop1; + // motion component name + motion rotAxis; + } + exitGate + { + type planeWall; + p1 (-0.05 -0.05 0); + p2 (-0.05 0.05 0); + p3 ( 0.05 0.05 0); + p4 (0.05 -0.05 0); + material prop1; + motion rotAxis; + } + +} +``` +### Rotating Axis Info +In this part of `geometryDict` the information of rotating axis and speed of rotation are defined. Unlike the previous cases, the rotation of this blender starts at time=**0 s**. +```C++ +rotatingAxisMotionInfo +{ + rotAxis + { + 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 3; // rotation speed (rad/s) + } +} +``` +## Performing Simulation +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 storred in ./VTK folder. \ No newline at end of file From 7dee94e29787b200083dd2291525ebd98e783c7c Mon Sep 17 00:00:00 2001 From: Omid Khosravi Date: Sun, 26 Mar 2023 22:23:50 +0430 Subject: [PATCH 11/24] Update settingsDict Efficient domain --- tutorials/sphereGranFlow/toteblender/settings/settingsDict | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/sphereGranFlow/toteblender/settings/settingsDict b/tutorials/sphereGranFlow/toteblender/settings/settingsDict index 28b9a552..d5a05a48 100644 --- a/tutorials/sphereGranFlow/toteblender/settings/settingsDict +++ b/tutorials/sphereGranFlow/toteblender/settings/settingsDict @@ -23,7 +23,7 @@ g (0 0 -9.8); /* every particles that goes outside this domain is deleted. */ domain { - min (-0.5 -0.5 -0.5); + min (-0.3 -0.3 -0.3); max (0.5 0.5 0.5); } // integration method From 55f0b6c0c1c38dad4da80696160df94f3cc2c2e7 Mon Sep 17 00:00:00 2001 From: Omid Khosravi Date: Sun, 26 Mar 2023 23:04:39 +0430 Subject: [PATCH 12/24] Update geometryDict Rotation Speed rotating axis instead of rot axis move rotating axis info to motion model --- .../toteblender/settings/geometryDict | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/tutorials/sphereGranFlow/toteblender/settings/geometryDict b/tutorials/sphereGranFlow/toteblender/settings/geometryDict index 49d486bd..bb045806 100644 --- a/tutorials/sphereGranFlow/toteblender/settings/geometryDict +++ b/tutorials/sphereGranFlow/toteblender/settings/geometryDict @@ -7,7 +7,16 @@ objectType dictionary; /* ------------------------------------------------------------------------- */ // motion model: rotating object around an axis motionModel rotatingAxisMotion; - +// 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 + } +} surfaces { enterGate @@ -22,7 +31,7 @@ surfaces // material of wall material prop1; // motion component name - motion rotAxis; + motion axisOfRotation; } cylinderinlet @@ -139,13 +148,3 @@ surfaces } } -// information for rotatingAxisMotion motion model -rotatingAxisMotionInfo -{ - rotAxis - { - 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 3; // rotation speed (rad/s) - } -} From 013764669bddd242e226b7c167cc9f840f1eadcf Mon Sep 17 00:00:00 2001 From: Omid Khosravi Date: Sun, 26 Mar 2023 23:20:30 +0430 Subject: [PATCH 13/24] Update geometryDict axisOfRotation instead of rotAxis --- .../sphereGranFlow/toteblender/settings/geometryDict | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tutorials/sphereGranFlow/toteblender/settings/geometryDict b/tutorials/sphereGranFlow/toteblender/settings/geometryDict index bb045806..5ca048c8 100644 --- a/tutorials/sphereGranFlow/toteblender/settings/geometryDict +++ b/tutorials/sphereGranFlow/toteblender/settings/geometryDict @@ -51,7 +51,7 @@ surfaces // material name of this wall material prop1; // motion component name - motion rotAxis; + motion axisOfRotation; } coneShelltop @@ -71,7 +71,7 @@ surfaces // material name of this wall material prop1; // motion component name - motion rotAxis; + motion axisOfRotation; } cylinderShell @@ -91,7 +91,7 @@ surfaces // material name of this wall material prop1; // motion component name - motion rotAxis; + motion axisOfRotation; } coneShelldown @@ -111,7 +111,7 @@ surfaces // material name of this wall material prop1; // motion component name - motion rotAxis; + motion axisOfRotation; } /* This is a plane wall at the exit of silo @@ -134,7 +134,7 @@ surfaces // material name of this wall material prop1; // motion component name - motion rotAxis; + motion axisOfRotation; } exitGate { @@ -144,7 +144,7 @@ surfaces p3 ( 0.05 0.05 0); p4 (0.05 -0.05 0); material prop1; - motion rotAxis; + motion axisOfRotation; } } From e504606a05cf737d27c1e5da13987af7e88a44f7 Mon Sep 17 00:00:00 2001 From: Omid Khosravi Date: Sun, 26 Mar 2023 23:26:17 +0430 Subject: [PATCH 14/24] Update particlesDict Particles order changed from (z y x) to (x y z) --- tutorials/sphereGranFlow/toteblender/settings/particlesDict | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/sphereGranFlow/toteblender/settings/particlesDict b/tutorials/sphereGranFlow/toteblender/settings/particlesDict index 49a26e76..4b2ef43e 100644 --- a/tutorials/sphereGranFlow/toteblender/settings/particlesDict +++ b/tutorials/sphereGranFlow/toteblender/settings/particlesDict @@ -54,6 +54,6 @@ positionParticles // number of particles in the simulation numPoints 20000; // axis order for filling the space with particles - axisOrder (z y x); + axisOrder (x y z); } } From 55085648e6d175a005c33c4cdca35099ae3ee63d Mon Sep 17 00:00:00 2001 From: Omid Khosravi Date: Sun, 26 Mar 2023 23:33:07 +0430 Subject: [PATCH 15/24] Update geometryDict Added start and end time of rotation. first phase settling of particles and then rotation --- tutorials/sphereGranFlow/toteblender/settings/geometryDict | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tutorials/sphereGranFlow/toteblender/settings/geometryDict b/tutorials/sphereGranFlow/toteblender/settings/geometryDict index 5ca048c8..b30e9a0e 100644 --- a/tutorials/sphereGranFlow/toteblender/settings/geometryDict +++ b/tutorials/sphereGranFlow/toteblender/settings/geometryDict @@ -15,6 +15,10 @@ rotatingAxisMotionInfo 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 1; + // End time of Geometry Rotating (s) + endTime 9.5; } } surfaces From 9580c4cdcd15d159c8123d0e5ebc74891d7b9921 Mon Sep 17 00:00:00 2001 From: Omid Khosravi Date: Tue, 28 Mar 2023 02:06:40 +0430 Subject: [PATCH 16/24] Update particlesDict change the insert region from box to cylinder --- .../sphereGranFlow/toteblender/settings/particlesDict | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/tutorials/sphereGranFlow/toteblender/settings/particlesDict b/tutorials/sphereGranFlow/toteblender/settings/particlesDict index 4b2ef43e..f78dc644 100644 --- a/tutorials/sphereGranFlow/toteblender/settings/particlesDict +++ b/tutorials/sphereGranFlow/toteblender/settings/particlesDict @@ -39,12 +39,13 @@ positionParticles // perform initial sorting based on morton code? mortonSorting Yes; // box for positioning particles - box + cylinder { -// lower corner point of the box - min (-0.06 -0.06 0.08); -// upper corner point of the box - max (0.06 0.06 0.18); +// Coordinates of cylinderRegion (m,m,m)x + p1 (0.03 0.06 0.08); + p2 (0.03 0.06 0.18); +// radius of cylinder + radius 0.035; } positionOrderedInfo From b9d8aab1afaaa1fc4d6d3d78e4b19745b4930a2b Mon Sep 17 00:00:00 2001 From: Omid Khosravi Date: Tue, 28 Mar 2023 16:53:07 +0430 Subject: [PATCH 17/24] Update tote blender Changed the particle insert region from box to cylinder --- .../toteblender/settings/particlesDict | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/tutorials/sphereGranFlow/toteblender/settings/particlesDict b/tutorials/sphereGranFlow/toteblender/settings/particlesDict index f78dc644..8cccaabf 100644 --- a/tutorials/sphereGranFlow/toteblender/settings/particlesDict +++ b/tutorials/sphereGranFlow/toteblender/settings/particlesDict @@ -38,23 +38,23 @@ positionParticles maxNumberOfParticles 40000; // perform initial sorting based on morton code? mortonSorting Yes; -// box for positioning particles - cylinder +// cylinder for positioning particles + cylinder { -// Coordinates of cylinderRegion (m,m,m)x - p1 (0.03 0.06 0.08); - p2 (0.03 0.06 0.18); +// Coordinates of top cylinderRegion (m,m,m) + p1 (0.05 0.0 0.12); + p2 (0.05 0.0 0.22); // radius of cylinder - radius 0.035; + radius 0.066; } positionOrderedInfo { // minimum space between centers of particles - diameter 0.004; + diameter 0.003; // number of particles in the simulation numPoints 20000; // axis order for filling the space with particles - axisOrder (x y z); + axisOrder (z y x); } } From 1d61b87ad4ccd490e6efa890721f3bb0a7e644ea Mon Sep 17 00:00:00 2001 From: Omid Khosravi Date: Tue, 28 Mar 2023 16:56:41 +0430 Subject: [PATCH 18/24] Update particlesDict Changed the rotVelocity to rVelocity. --- tutorials/sphereGranFlow/toteblender/settings/particlesDict | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/sphereGranFlow/toteblender/settings/particlesDict b/tutorials/sphereGranFlow/toteblender/settings/particlesDict index 8cccaabf..f7e291c4 100644 --- a/tutorials/sphereGranFlow/toteblender/settings/particlesDict +++ b/tutorials/sphereGranFlow/toteblender/settings/particlesDict @@ -20,7 +20,7 @@ setFields // linear acceleration (m/s2) acceleration realx3 (0 0 0); // rotational velocity (rad/s) - rotVelocity realx3 (0 0 0); + rVelocity realx3 (0 0 0); // name of the particle shape shapeName word sphere1; } From fc37e7042deb9cf3cbc676666f14e2ce9d0f2a63 Mon Sep 17 00:00:00 2001 From: Omid Khosravi Date: Tue, 28 Mar 2023 17:02:29 +0430 Subject: [PATCH 19/24] Update geometryDict the names of some geometries were fixed --- .../sphereGranFlow/toteblender/settings/geometryDict | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tutorials/sphereGranFlow/toteblender/settings/geometryDict b/tutorials/sphereGranFlow/toteblender/settings/geometryDict index b30e9a0e..246c7c30 100644 --- a/tutorials/sphereGranFlow/toteblender/settings/geometryDict +++ b/tutorials/sphereGranFlow/toteblender/settings/geometryDict @@ -23,7 +23,7 @@ rotatingAxisMotionInfo } surfaces { - enterGate + topGate { // type of wall type planeWall; @@ -38,7 +38,7 @@ surfaces motion axisOfRotation; } - cylinderinlet + topCylinder { // type of the wall type cylinderWall; @@ -98,7 +98,7 @@ surfaces motion axisOfRotation; } - coneShelldown + coneShellbottom { // type of the wall type cylinderWall; @@ -121,7 +121,7 @@ surfaces This is a plane wall at the exit of silo */ - cylinderoutlet + bottomCylinder { // type of the wall type cylinderWall; @@ -140,7 +140,7 @@ surfaces // motion component name motion axisOfRotation; } - exitGate + bottomGate { type planeWall; p1 (-0.05 -0.05 0); From 8f2749d599ae12ebe5a1bb62765d18b6dfa5383d Mon Sep 17 00:00:00 2001 From: Omid Khosravi Date: Tue, 28 Mar 2023 17:50:59 +0430 Subject: [PATCH 20/24] Update tote blender ReadMe fixed some misspellings and code blocks. --- .../sphereGranFlow/toteblender/ReadMe.md | 61 ++++++++++++------- 1 file changed, 39 insertions(+), 22 deletions(-) diff --git a/tutorials/sphereGranFlow/toteblender/ReadMe.md b/tutorials/sphereGranFlow/toteblender/ReadMe.md index 4a9ff9bf..6a423f66 100644 --- a/tutorials/sphereGranFlow/toteblender/ReadMe.md +++ b/tutorials/sphereGranFlow/toteblender/ReadMe.md @@ -1,6 +1,6 @@ # Problem Definition -The problem is to simulate a double pedestal tote blender 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 **20000** Particles. The timestep for integration is **0.00001 s**. There is one type of Particle in this blender that are being inserted during simulation to fill the drum. -* **20000** particles with **4 mm** diameter, at the rate of 20000 particles/s for 1 sec. +The problem is to simulate a double pedestal tote blender 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 **20000** Particles. The timestep for integration is **0.00001 s**. There is one type of Particle in this blender that are being inserted during simulation to fill the blender. +* **20000** particles with **4 mm** diameter, at the rate of 20000 particles/s for 1 sec. ŮŽAfter settling particles, this blender starts to rotate at t=**1s**. @@ -43,14 +43,26 @@ positionParticles maxNumberOfParticles 40000; // perform initial sorting based on morton code? mortonSorting Yes; -// box for positioning particles - box +// cylinder for positioning particles + cylinder { -// lower corner point of the box - min (-0.06 -0.06 0.08); -// upper corner point of the box - max (0.06 0.06 0.18); +// Coordinates of top cylinderRegion (m,m,m) + p1 (0.05 0.0 0.12); + p2 (0.05 0.0 0.22); +// radius of cylinder + radius 0.066; } + + positionOrderedInfo + { +// minimum space between centers of particles + diameter 0.003; +// number of particles in the simulation + numPoints 20000; +// axis order for filling the space with particles + axisOrder (z y x); + } +} ``` ## Interaction between particles In `caseSetup/interaction` file, material names and properties and interaction parameters are defined: interaction between the particles of rotating drum. Since we are defining 1 material for simulation, the interaction matrix is 1x1 (interactions are symetric). @@ -92,7 +104,7 @@ In the `settings/geometryDict` file, the geometry and axis of rotation is define ```C++ surfaces { - enterGate + topGate { // type of wall type planeWall; @@ -104,10 +116,10 @@ surfaces // material of wall material prop1; // motion component name - motion rotAxis; + motion axisOfRotation; } - cylinderinlet + topCylinder { // type of the wall type cylinderWall; @@ -124,7 +136,7 @@ surfaces // material name of this wall material prop1; // motion component name - motion rotAxis; + motion axisOfRotation; } coneShelltop @@ -144,7 +156,7 @@ surfaces // material name of this wall material prop1; // motion component name - motion rotAxis; + motion axisOfRotation; } cylinderShell @@ -164,10 +176,10 @@ surfaces // material name of this wall material prop1; // motion component name - motion rotAxis; + motion axisOfRotation; } - coneShelldown + coneShellbottom { // type of the wall type cylinderWall; @@ -184,13 +196,13 @@ surfaces // material name of this wall material prop1; // motion component name - motion rotAxis; + motion axisOfRotation; } /* This is a plane wall at the exit of silo */ - cylinderoutlet + bottomCylinder { // type of the wall type cylinderWall; @@ -207,9 +219,9 @@ surfaces // material name of this wall material prop1; // motion component name - motion rotAxis; + motion axisOfRotation; } - exitGate + bottomGate { type planeWall; p1 (-0.05 -0.05 0); @@ -217,7 +229,7 @@ surfaces p3 ( 0.05 0.05 0); p4 (0.05 -0.05 0); material prop1; - motion rotAxis; + motion axisOfRotation; } } @@ -225,13 +237,18 @@ surfaces ### Rotating Axis Info In this part of `geometryDict` the information of rotating axis and speed of rotation are defined. Unlike the previous cases, the rotation of this blender starts at time=**0 s**. ```C++ +// information for rotatingAxisMotion motion model rotatingAxisMotionInfo { - rotAxis + 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 3; // rotation speed (rad/s) + omega 1.5708; // rotation speed ==> 15 rad/s + // Start time of Geometry Rotating (s) + startTime 1; + // End time of Geometry Rotating (s) + endTime 9.5; } } ``` From 7e216f4cac34ffeec9f62cffac99c98a5c6ac920 Mon Sep 17 00:00:00 2001 From: Omid Khosravi Date: Tue, 28 Mar 2023 18:11:30 +0430 Subject: [PATCH 21/24] solidProperty instead of prop1 --- .../toteblender/caseSetup/interaction | 4 ++-- .../toteblender/caseSetup/sphereShape | 2 +- .../toteblender/settings/geometryDict | 14 +++++++------- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/tutorials/sphereGranFlow/toteblender/caseSetup/interaction b/tutorials/sphereGranFlow/toteblender/caseSetup/interaction index f97d2f4f..6dfdc46d 100644 --- a/tutorials/sphereGranFlow/toteblender/caseSetup/interaction +++ b/tutorials/sphereGranFlow/toteblender/caseSetup/interaction @@ -6,7 +6,7 @@ objectName interaction; objectType dicrionary; /* ------------------------------------------------------------------------- */ // a list of materials names -materials (prop1); +materials (solidProperty); // density of materials [kg/m3] densities (1000.0); @@ -17,7 +17,7 @@ model contactForceModel nonLinearNonLimited; rollingFrictionModel normal; /* - Property (prop1-prop1); + Property (solidProperty-solidProperty); */ // Young modulus [Pa] Yeff (1.0e6); diff --git a/tutorials/sphereGranFlow/toteblender/caseSetup/sphereShape b/tutorials/sphereGranFlow/toteblender/caseSetup/sphereShape index ff2df8d1..566fb339 100644 --- a/tutorials/sphereGranFlow/toteblender/caseSetup/sphereShape +++ b/tutorials/sphereGranFlow/toteblender/caseSetup/sphereShape @@ -10,4 +10,4 @@ names (sphere1); // diameter of shapes (m) diameters (0.004); // material names for shapes -materials (prop1); \ No newline at end of file +materials (solidProperty); \ No newline at end of file diff --git a/tutorials/sphereGranFlow/toteblender/settings/geometryDict b/tutorials/sphereGranFlow/toteblender/settings/geometryDict index 246c7c30..da479bac 100644 --- a/tutorials/sphereGranFlow/toteblender/settings/geometryDict +++ b/tutorials/sphereGranFlow/toteblender/settings/geometryDict @@ -33,7 +33,7 @@ surfaces p3 ( 0.05 0.05 0.3); p4 (0.05 -0.05 0.3); // material of wall - material prop1; + material solidProperty; // motion component name motion axisOfRotation; } @@ -53,7 +53,7 @@ surfaces // number of divisions resolution 36; // material name of this wall - material prop1; + material solidProperty; // motion component name motion axisOfRotation; } @@ -73,7 +73,7 @@ surfaces // number of divisions resolution 36; // material name of this wall - material prop1; + material solidProperty; // motion component name motion axisOfRotation; } @@ -93,7 +93,7 @@ surfaces // number of divisions resolution 36; // material name of this wall - material prop1; + material solidProperty; // motion component name motion axisOfRotation; } @@ -113,7 +113,7 @@ surfaces // number of divisions resolution 36; // material name of this wall - material prop1; + material solidProperty; // motion component name motion axisOfRotation; } @@ -136,7 +136,7 @@ surfaces // number of divisions resolution 36; // material name of this wall - material prop1; + material solidProperty; // motion component name motion axisOfRotation; } @@ -147,7 +147,7 @@ surfaces p2 (-0.05 0.05 0); p3 ( 0.05 0.05 0); p4 (0.05 -0.05 0); - material prop1; + material solidProperty; motion axisOfRotation; } From 861a7a7b5d959c12d02abe5c7731ae37b36b882e Mon Sep 17 00:00:00 2001 From: Omid Khosravi Date: Thu, 30 Mar 2023 22:11:30 +0430 Subject: [PATCH 22/24] Update geometryDict Top gate was replaced from wall to cylinder. **There is an error for bottom Gate that i couldn't solve it.** --- .../toteblender/settings/geometryDict | 34 +++++++++++-------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/tutorials/sphereGranFlow/toteblender/settings/geometryDict b/tutorials/sphereGranFlow/toteblender/settings/geometryDict index da479bac..d5d1df99 100644 --- a/tutorials/sphereGranFlow/toteblender/settings/geometryDict +++ b/tutorials/sphereGranFlow/toteblender/settings/geometryDict @@ -23,21 +23,25 @@ rotatingAxisMotionInfo } surfaces { + topGate topGate { // type of wall - type planeWall; - // coords of wall - p1 (-0.05 -0.05 0.3); - p2 (-0.05 0.05 0.3); - p3 ( 0.05 0.05 0.3); - p4 (0.05 -0.05 0.3); + type cylinderWall; + // begin point of cylinder axis + p1 (0.0 0.0 0.299); + // end point of cylinder axis + p2 (0.0 0.0 0.3); + // 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 @@ -53,7 +57,7 @@ surfaces // number of divisions resolution 36; // material name of this wall - material solidProperty; + material prop1; // motion component name motion axisOfRotation; } @@ -73,7 +77,7 @@ surfaces // number of divisions resolution 36; // material name of this wall - material solidProperty; + material prop1; // motion component name motion axisOfRotation; } @@ -93,12 +97,12 @@ surfaces // number of divisions resolution 36; // material name of this wall - material solidProperty; + material prop1; // motion component name motion axisOfRotation; } - coneShellbottom + coneShelldown { // type of the wall type cylinderWall; @@ -113,7 +117,7 @@ surfaces // number of divisions resolution 36; // material name of this wall - material solidProperty; + material prop1; // motion component name motion axisOfRotation; } @@ -136,18 +140,18 @@ surfaces // number of divisions resolution 36; // material name of this wall - material solidProperty; + material prop1; // motion component name motion axisOfRotation; } - bottomGate + exitGate { type planeWall; p1 (-0.05 -0.05 0); p2 (-0.05 0.05 0); p3 ( 0.05 0.05 0); p4 (0.05 -0.05 0); - material solidProperty; + material prop1; motion axisOfRotation; } From 519ae70905d5864729656ec74bb3be50b74fbd9f Mon Sep 17 00:00:00 2001 From: Omid Khosravi Date: Thu, 30 Mar 2023 22:14:48 +0430 Subject: [PATCH 23/24] Update ReadMe toteBlender geometry code block was fixed. --- .../sphereGranFlow/toteblender/ReadMe.md | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/tutorials/sphereGranFlow/toteblender/ReadMe.md b/tutorials/sphereGranFlow/toteblender/ReadMe.md index 6a423f66..5a6d13b5 100644 --- a/tutorials/sphereGranFlow/toteblender/ReadMe.md +++ b/tutorials/sphereGranFlow/toteblender/ReadMe.md @@ -104,21 +104,25 @@ In the `settings/geometryDict` file, the geometry and axis of rotation is define ```C++ surfaces { + topGate topGate { // type of wall - type planeWall; - // coords of wall - p1 (-0.05 -0.05 0.3); - p2 (-0.05 0.05 0.3); - p3 ( 0.05 0.05 0.3); - p4 (0.05 -0.05 0.3); + type cylinderWall; + // begin point of cylinder axis + p1 (0.0 0.0 0.299); + // end point of cylinder axis + p2 (0.0 0.0 0.3); + // radius at p1 + radius1 0.03; + // radius at p2 + radius2 0.0001; // material of wall - material prop1; + material solidProperty; // motion component name motion axisOfRotation; } - + topCylinder { // type of the wall @@ -179,7 +183,7 @@ surfaces motion axisOfRotation; } - coneShellbottom + coneShelldown { // type of the wall type cylinderWall; @@ -221,7 +225,7 @@ surfaces // motion component name motion axisOfRotation; } - bottomGate + exitGate { type planeWall; p1 (-0.05 -0.05 0); From f14e9169f8e6ccb6793030921d83db875096162c Mon Sep 17 00:00:00 2001 From: Omid Khosravi Date: Thu, 30 Mar 2023 22:28:53 +0430 Subject: [PATCH 24/24] Update geometryDict changed prop1 to solidProperty --- .../sphereGranFlow/toteblender/settings/geometryDict | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tutorials/sphereGranFlow/toteblender/settings/geometryDict b/tutorials/sphereGranFlow/toteblender/settings/geometryDict index d5d1df99..da9b22e8 100644 --- a/tutorials/sphereGranFlow/toteblender/settings/geometryDict +++ b/tutorials/sphereGranFlow/toteblender/settings/geometryDict @@ -57,7 +57,7 @@ surfaces // number of divisions resolution 36; // material name of this wall - material prop1; + material solidProperty; // motion component name motion axisOfRotation; } @@ -77,7 +77,7 @@ surfaces // number of divisions resolution 36; // material name of this wall - material prop1; + material solidProperty; // motion component name motion axisOfRotation; } @@ -97,7 +97,7 @@ surfaces // number of divisions resolution 36; // material name of this wall - material prop1; + material solidProperty; // motion component name motion axisOfRotation; } @@ -117,7 +117,7 @@ surfaces // number of divisions resolution 36; // material name of this wall - material prop1; + material solidProperty; // motion component name motion axisOfRotation; } @@ -140,7 +140,7 @@ surfaces // number of divisions resolution 36; // material name of this wall - material prop1; + material solidProperty; // motion component name motion axisOfRotation; } @@ -151,7 +151,7 @@ surfaces p2 (-0.05 0.05 0); p3 ( 0.05 0.05 0); p4 (0.05 -0.05 0); - material prop1; + material solidProperty; motion axisOfRotation; }