From 7e7184f1c5c92450cf04394baa714ad0a8c09d36 Mon Sep 17 00:00:00 2001 From: ramin1728 Date: Tue, 11 Feb 2025 23:18:29 +0330 Subject: [PATCH 01/10] binarySystemOfParticles is Updated. --- .../binarySystemOfParticles/README.md | 34 +++++++++---------- .../caseSetup/interaction | 14 ++++---- .../settings/geometryDict | 14 ++++---- .../settings/particlesDict | 18 +++++----- 4 files changed, 40 insertions(+), 40 deletions(-) diff --git a/tutorials/sphereGranFlow/binarySystemOfParticles/README.md b/tutorials/sphereGranFlow/binarySystemOfParticles/README.md index 299245d9..00aac380 100644 --- a/tutorials/sphereGranFlow/binarySystemOfParticles/README.md +++ b/tutorials/sphereGranFlow/binarySystemOfParticles/README.md @@ -28,8 +28,8 @@ in caseSetup/sphereShape file ```C++ names (smallSphere largeSphere); // names of shapes -diameters (0.003 0.005); // diameter of shapes (m) -materials (prop1 prop1); // material names for shapes +diameters (0.003 0.005); // diameter of shapes (m) +materials (prop1 prop1); // material names for shapes ``` ### Positioning and initial mixture @@ -44,18 +44,17 @@ in settings/particlesDict file // positions particles positionParticles { - method ordered; // other options: random or empty - + method ordered; // other options: random or empty orderedInfo { - diameter 0.005; // minimum space between centers of particles - numPoints 30000; // number of particles in the simulation + 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 { p1 (0.0 0.0 0.003); // begin point of cylinder axis (m m m) p2 (0.0 0.0 0.097); // end point of cylinder axis (m m m) @@ -76,9 +75,9 @@ setFields { /* Default value for fields defined for particles - These fields should always be defined for simulations with - spherical particles. -*/ + These fields should always be defined for simulations with + spherical particles. + */ defaultValue { @@ -87,20 +86,21 @@ setFields rotVelocity realx3 (0 0 0); // rotational velocity (rad/s) shapeName word smallSphere; // name of the particle shape } - + selectors { shapeAssigne { - selector stridedRange; // other options: box, cylinder, sphere, randomPoints - + selector stridedRange; // other options: box, cylinder, sphere, randomPoints + stridedRangeInfo { - begin 0; // begin index of points + begin 0; // begin index of points end 30000; // end index of points - stride 3; // stride for selector + stride 3; // stride for selector } - fieldValue // fields that the selector is applied to + + fieldValue // fields that the selector is applied to { /* sets shapeName of the selected points to largeSphere @@ -139,4 +139,4 @@ Options: --setFields-only Exectue the setFields part only. Read the pointStructure from time folder and setFields and save the result in the same time folder. ``` -so, with flag `--setFields-only`, you can execute the `setFields` part of `particlesDict`. Now suppose that you have a simulation case which proceeded up to 2 seconds and for any reason you want to change some field value at time 3 s and continue the simulation from 3 s. To this end, you need to change `startTime` in settings dictionary to 3, execute `particlesPhasicFlow --setFields-only`, and start the simulation. +so, with flag `--setFields-only`, you can execute the `setFields` part of `particlesDict`. Now suppose that you have a simulation case which proceeded up to 2 seconds and for any reason you want to change some field value at time 3 s and continue the simulation from 3 s. To this end, you need to change `startTime` in settings dictionary to 3, execute `particlesPhasicFlow --setFields-only`, and start the simulation. \ No newline at end of file diff --git a/tutorials/sphereGranFlow/binarySystemOfParticles/caseSetup/interaction b/tutorials/sphereGranFlow/binarySystemOfParticles/caseSetup/interaction index 8ea45868..e3a6247b 100755 --- a/tutorials/sphereGranFlow/binarySystemOfParticles/caseSetup/interaction +++ b/tutorials/sphereGranFlow/binarySystemOfParticles/caseSetup/interaction @@ -6,9 +6,9 @@ objectName interaction; objectType dicrionary; 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; @@ -38,14 +38,14 @@ model 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 } diff --git a/tutorials/sphereGranFlow/binarySystemOfParticles/settings/geometryDict b/tutorials/sphereGranFlow/binarySystemOfParticles/settings/geometryDict index 9fa0b8a3..55562a4f 100755 --- a/tutorials/sphereGranFlow/binarySystemOfParticles/settings/geometryDict +++ b/tutorials/sphereGranFlow/binarySystemOfParticles/settings/geometryDict @@ -26,19 +26,19 @@ surfaces { 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 } /* diff --git a/tutorials/sphereGranFlow/binarySystemOfParticles/settings/particlesDict b/tutorials/sphereGranFlow/binarySystemOfParticles/settings/particlesDict index 24a6c7ab..b29ebbed 100755 --- a/tutorials/sphereGranFlow/binarySystemOfParticles/settings/particlesDict +++ b/tutorials/sphereGranFlow/binarySystemOfParticles/settings/particlesDict @@ -29,20 +29,20 @@ setFields { shapeAssigne { - selector stridedRange; // other options: box, cylinder, sphere, randomPoints + selector stridedRange; // other options: box, cylinder, sphere, randomPoints 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 - stride 3; // stride for selector + stride 3; // stride for selector } fieldValue // fields that the selector is applied to { - shapeName word largeSphere; // sets shapeName of the selected points to largeSphere + shapeName word largeSphere; // sets shapeName of the selected points to largeSphere } } } @@ -50,13 +50,13 @@ setFields positionParticles // positions particles { - method ordered; // other options: random and empty + method ordered; // other options: random and empty orderedInfo { - diameter 0.005; // diameter of particles + diameter 0.005; // diameter of particles - numPoints 30000; // number of particles in the simulation + numPoints 30000; // number of particles in the simulation axisOrder (z x y); // axis order for filling the space with particles } @@ -69,6 +69,6 @@ positionParticles // positions particles p2 (0.0 0.0 0.097); // end point of cylinder axis - radius 0.117; // radius of cylinder + radius 0.117; // radius of cylinder } } From b315d1235728539374aa5aceb916123efb3a58d7 Mon Sep 17 00:00:00 2001 From: ramin1728 Date: Tue, 11 Feb 2025 23:35:58 +0330 Subject: [PATCH 02/10] conveyorBelt is Updated. --- .../conveyorBelt/caseSetup/interaction | 36 +++++++++---------- .../conveyorBelt/settings/geometryDict | 21 ++++++----- 2 files changed, 31 insertions(+), 26 deletions(-) diff --git a/tutorials/sphereGranFlow/conveyorBelt/caseSetup/interaction b/tutorials/sphereGranFlow/conveyorBelt/caseSetup/interaction index 3ea53adf..6d50f330 100755 --- a/tutorials/sphereGranFlow/conveyorBelt/caseSetup/interaction +++ b/tutorials/sphereGranFlow/conveyorBelt/caseSetup/interaction @@ -16,13 +16,13 @@ contactSearch { method NBS; // method for broad search particle-particle - updateInterval 10; + updateInterval 10; sizeRatio 1.1; - cellExtent 0.55; + cellExtent 0.55; - adjustableBox No; + adjustableBox No; } model @@ -46,25 +46,25 @@ model 0.8e6 0.8e6 0.8e6); - nu (0.25 0.25 0.25 // Poisson's ratio [-] - 0.25 0.25 - 0.25); + nu (0.25 0.25 0.25 // Poisson's ratio [-] + 0.25 0.25 + 0.25); - en (0.97 0.97 0.85 // coefficient of normal restitution - 0.97 0.85 - 1.00); + en (0.97 0.97 0.85 // coefficient of normal restitution + 0.97 0.85 + 1.00); - et (1.0 1.0 1.0 // coefficient of tangential restitution - 1.0 1.0 - 1.0); + et (1.0 1.0 1.0 // coefficient of tangential restitution + 1.0 1.0 + 1.0); - mu (0.65 0.65 0.35 // dynamic friction - 0.65 0.35 - 0.35); + mu (0.65 0.65 0.35 // dynamic friction + 0.65 0.35 + 0.35); - mur (0.1 0.1 0.1 // rolling friction - 0.1 0.1 - 0.1); + mur (0.1 0.1 0.1 // rolling friction + 0.1 0.1 + 0.1); } diff --git a/tutorials/sphereGranFlow/conveyorBelt/settings/geometryDict b/tutorials/sphereGranFlow/conveyorBelt/settings/geometryDict index 69873d0e..73f24386 100755 --- a/tutorials/sphereGranFlow/conveyorBelt/settings/geometryDict +++ b/tutorials/sphereGranFlow/conveyorBelt/settings/geometryDict @@ -6,7 +6,7 @@ objectName geometryDict; objectType dictionary; fileFormat ASCII; /*---------------------------------------------------------------------------*/ -motionModel conveyorBelt; // motion model can be rotatingAxis or stationary or vibrating +motionModel conveyorBelt; // motion model can be rotatingAxis or stationary or vibrating conveyorBeltInfo { @@ -54,17 +54,22 @@ surfaces belt { - type stlWall; // type of the wall - file belt.stl; // file name in stl folder - material wallMat; // material name of this wall - motion conveyorBelt1; // motion component name + type stlWall; // type of the wall + + file belt.stl; // file name in stl folder + + material wallMat; // material name of this wall + + motion conveyorBelt1; // motion component name } box { - type stlWall; // type of the wall - file box.stl; // file name in stl folder - material wallMat; // material name of this wall + type stlWall; // type of the wall + + file box.stl; // file name in stl folder + + material wallMat; // material name of this wall } } From 9b3c4f83b9532876c83ce5146fef47eeb9c5ccda Mon Sep 17 00:00:00 2001 From: HRN Date: Fri, 14 Feb 2025 20:39:37 +0330 Subject: [PATCH 03/10] edits --- solvers/sphereGranFlow/sphereGranFlow.cpp | 18 +++++++++++------- src/Particles/globalDamping/globalDamping.cpp | 12 ++++++++---- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/solvers/sphereGranFlow/sphereGranFlow.cpp b/solvers/sphereGranFlow/sphereGranFlow.cpp index d854b417..b8518253 100755 --- a/solvers/sphereGranFlow/sphereGranFlow.cpp +++ b/solvers/sphereGranFlow/sphereGranFlow.cpp @@ -74,7 +74,7 @@ pFlow::initialize_pFlowProcessors(); do { - + //Ping; if(! sphInsertion.insertParticles( Control.time().currentIter(), Control.time().currentTime(), @@ -84,27 +84,31 @@ pFlow::initialize_pFlowProcessors(); "particle insertion failed in sphereDFlow solver.\n"; return 1; } - + // set force to zero surfGeometry.beforeIteration(); // set force to zero, predict, particle deletion and etc. sphParticles.beforeIteration(); - + //Ping; sphInteraction.beforeIteration(); - sphInteraction.iterate(); - + sphInteraction.iterate(); + surfGeometry.iterate(); + //Ping; sphParticles.iterate(); - + + //Ping; sphInteraction.afterIteration(); + //Ping; surfGeometry.afterIteration(); + //Ping; sphParticles.afterIteration(); - + //Ping; }while(Control++); diff --git a/src/Particles/globalDamping/globalDamping.cpp b/src/Particles/globalDamping/globalDamping.cpp index f277beec..040030cc 100644 --- a/src/Particles/globalDamping/globalDamping.cpp +++ b/src/Particles/globalDamping/globalDamping.cpp @@ -35,10 +35,14 @@ pFlow::globalDamping::globalDamping(const systemControl& control) performDamping_ = !equal(dampingFactor_, static_cast(1.0)); if( performDamping_ ) - REPORT(2)<<"Global damping "< Date: Fri, 14 Feb 2025 22:50:28 +0330 Subject: [PATCH 04/10] bug correction for the time when empty is used --- utilities/particlesPhasicFlow/empty/empty.cpp | 2 +- .../positionOrdered/positionOrdered.cpp | 4 +- .../positionParticles/positionParticles.cpp | 47 +------------------ .../positionParticles/positionParticles.hpp | 10 ---- .../positionRandom/positionRandom.cpp | 4 +- 5 files changed, 7 insertions(+), 60 deletions(-) diff --git a/utilities/particlesPhasicFlow/empty/empty.cpp b/utilities/particlesPhasicFlow/empty/empty.cpp index d0da9b3b..83cf2c89 100755 --- a/utilities/particlesPhasicFlow/empty/empty.cpp +++ b/utilities/particlesPhasicFlow/empty/empty.cpp @@ -30,7 +30,7 @@ pFlow::empty::empty( positionParticles(control, dict), position_ ( - "empty",maxNumberOfParticles(), 0, RESERVE() + "empty",1, 0, RESERVE() ) { } \ No newline at end of file diff --git a/utilities/particlesPhasicFlow/positionOrdered/positionOrdered.cpp b/utilities/particlesPhasicFlow/positionOrdered/positionOrdered.cpp index 1fb60b87..eb1c94d4 100755 --- a/utilities/particlesPhasicFlow/positionOrdered/positionOrdered.cpp +++ b/utilities/particlesPhasicFlow/positionOrdered/positionOrdered.cpp @@ -146,8 +146,8 @@ pFlow::positionOrdered::positionOrdered position_ ( "positionOrdered", - max(maxNumberOfParticles(), numPoints_), - numPoints_ , + numPoints_, + numPoints_, RESERVE() ) { diff --git a/utilities/particlesPhasicFlow/positionParticles/positionParticles.cpp b/utilities/particlesPhasicFlow/positionParticles/positionParticles.cpp index d99cb217..cbee876a 100755 --- a/utilities/particlesPhasicFlow/positionParticles/positionParticles.cpp +++ b/utilities/particlesPhasicFlow/positionParticles/positionParticles.cpp @@ -32,45 +32,10 @@ pFlow::realx3Vector pFlow::positionParticles::sortByMortonCode( uint64 index; }; - /*realx3 minP = min(position); - realx3 maxP = max(position); - real cellsize = maxDiameter(); - cells allCells( box(minP, maxP), cellsize); - - Vector indMor(position.size(),RESERVE()); - - indMor.clear(); - - uint64 ind=0; - for(const auto& p:position) - { - auto cellInd = allCells.pointIndex(p); - indMor.push_back( - { xyzToMortonCode64(cellInd.x(), cellInd.y(), cellInd.z()), - ind++}); - } - - INFORMATION<<"Performing morton sorting."<("regionType", "domain")), - maxNumberOfParticles_(dict.getValOrSet( - "maxNumberOfParticles", - static_cast(10000))), mortonSorting_(dict.getValOrSet("mortonSorting", Logical("Yes"))) { - if( regionType_ != "domain" ) { pRegion_ = peakableRegion::create( @@ -92,7 +53,7 @@ pFlow::positionParticles::positionParticles } else { - fileDictionary domainDict + fileDictionary domainDictionary ( objectFile { @@ -103,12 +64,10 @@ pFlow::positionParticles::positionParticles }, &control.settings() ); - pRegion_ = peakableRegion::create(regionType_,domainDict.subDict("globalBox")); + pRegion_ = peakableRegion::create("box", domainDictionary.subDict("globalBox")); } - } - pFlow::realx3Vector pFlow::positionParticles::getFinalPosition() { if(mortonSorting_) @@ -130,10 +89,8 @@ pFlow::uniquePtr const dictionary & dict ) { - word method = dict.getVal("method"); - if( dictionaryvCtorSelector_.search(method) ) { return dictionaryvCtorSelector_[method] (control, dict); diff --git a/utilities/particlesPhasicFlow/positionParticles/positionParticles.hpp b/utilities/particlesPhasicFlow/positionParticles/positionParticles.hpp index 85c34e54..749ba7c3 100755 --- a/utilities/particlesPhasicFlow/positionParticles/positionParticles.hpp +++ b/utilities/particlesPhasicFlow/positionParticles/positionParticles.hpp @@ -40,12 +40,8 @@ private: word regionType_; - uint32 maxNumberOfParticles_ = 10000; - Logical mortonSorting_; - - realx3Vector sortByMortonCode(const realx3Vector& position)const; protected: @@ -83,12 +79,6 @@ public: return mortonSorting_(); } - inline - auto maxNumberOfParticles()const - { - return maxNumberOfParticles_; - } - virtual uint32 numPoints()const = 0; virtual uint32 size()const = 0; diff --git a/utilities/particlesPhasicFlow/positionRandom/positionRandom.cpp b/utilities/particlesPhasicFlow/positionRandom/positionRandom.cpp index adb387fe..d67f9df4 100755 --- a/utilities/particlesPhasicFlow/positionRandom/positionRandom.cpp +++ b/utilities/particlesPhasicFlow/positionRandom/positionRandom.cpp @@ -122,14 +122,14 @@ pFlow::positionRandom::positionRandom position_ ( "position", - maxNumberOfParticles(), + 1, 0, RESERVE() ), diameters_ ( "diameters", - maxNumberOfParticles(), + 1, 0, RESERVE() ) From ff2f1d41e878b23ccccfb909a92a5b3da42fb2ca Mon Sep 17 00:00:00 2001 From: HRN Date: Fri, 14 Feb 2025 22:51:46 +0330 Subject: [PATCH 05/10] New tutorial on hemogenization silo is added --- .../README.md | 16 ++ .../caseSetup/interaction | 67 ++++++ .../caseSetup/particleInsertion | 214 ++++++++++++++++++ .../caseSetup/shapes | 15 ++ .../cleanThisCase | 7 + .../homoSilo.jpeg | Bin 0 -> 198867 bytes .../runThisCase | 24 ++ .../settings/domainDict | 52 +++++ .../settings/geometryDict | 87 +++++++ .../settings/particlesDict | 36 +++ .../settings/settingsDict | 41 ++++ 11 files changed, 559 insertions(+) create mode 100644 tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/README.md create mode 100755 tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/caseSetup/interaction create mode 100755 tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/caseSetup/particleInsertion create mode 100755 tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/caseSetup/shapes create mode 100755 tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/cleanThisCase create mode 100644 tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/homoSilo.jpeg create mode 100755 tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/runThisCase create mode 100755 tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/settings/domainDict create mode 100755 tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/settings/geometryDict create mode 100755 tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/settings/particlesDict create mode 100755 tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/settings/settingsDict diff --git a/tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/README.md b/tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/README.md new file mode 100644 index 00000000..6aaa5d8f --- /dev/null +++ b/tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/README.md @@ -0,0 +1,16 @@ +# Simulating a simple homogenization silo using periodic boundary + +## Problem +A homogenization silo is used to mix particles inside a silo using the circulation of particles. A pneumatic conveying system is used to carry particles at the exit and re-enter them from the top. Here, we use a `periodic` boundary to simulate the action of the pneumatic conveyor system for circulating particles. Particles that are exiting from the bottom are re-entered from top using this boundary (`periodic`). + +
+ +A view of homogenization silo + + + +
+ +*** + + diff --git a/tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/caseSetup/interaction b/tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/caseSetup/interaction new file mode 100755 index 00000000..f5fc4f23 --- /dev/null +++ b/tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/caseSetup/interaction @@ -0,0 +1,67 @@ +/* -------------------------------*- C++ -*--------------------------------- *\ +| phasicFlow File | +| copyright: www.cemf.ir | +\* ------------------------------------------------------------------------- */ +objectName interaction; +objectType dicrionary; +fileFormat ASCII; +/*---------------------------------------------------------------------------*/ +materials (lightMat heavyMat wallMat); // a list of materials names + +densities (1000 1500.0 2500); // density of materials [kg/m3] + +contactListType sortedContactList; + +contactSearch +{ + method NBS; // method for broad search particle-particle + + updateInterval 10; + + sizeRatio 1.1; + + cellExtent 0.55; + + adjustableBox No; +} + +model +{ + contactForceModel nonLinearLimited; + + rollingFrictionModel normal; + + /* + + Property (lightMat-lightMat lightMat-heavyMat lightMat-wallMat + heavyMat-heavyMat heavyMat-wallMat + wallMat-wallMat ); + */ + + Yeff (1.0e6 1.0e6 1.0e6 // Young modulus [Pa] + 1.0e6 1.0e6 + 1.0e6); + + Geff (0.8e6 0.8e6 0.8e6 // Shear modulus [Pa] + 0.8e6 0.8e6 + 0.8e6); + + nu (0.25 0.25 0.25 // Poisson's ratio [-] + 0.25 0.25 + 0.25); + + en (0.97 0.97 0.85 // coefficient of normal restitution + 0.97 0.85 + 1.00); + + mu (0.65 0.65 0.35 // dynamic friction + 0.65 0.35 + 0.35); + + mur (0.1 0.1 0.1 // rolling friction + 0.1 0.1 + 0.1); +} + + + diff --git a/tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/caseSetup/particleInsertion b/tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/caseSetup/particleInsertion new file mode 100755 index 00000000..1ab71456 --- /dev/null +++ b/tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/caseSetup/particleInsertion @@ -0,0 +1,214 @@ +/* -------------------------------*- C++ -*--------------------------------- *\ +| phasicFlow File | +| copyright: www.cemf.ir | +\* ------------------------------------------------------------------------- */ +objectName particleInsertion; +objectType dicrionary; +fileFormat ASCII; +/*---------------------------------------------------------------------------*/ + +active Yes; // is insertion active -> yes or no + +/* + one layers of particles are packed +*/ +layer0 +{ + timeControl simulationTime; + + regionType cylinder; // type of insertion region + + rate 5100; // insertion rate (particles/s) + + startTime 0; // (s) + + endTime 0.5; // (s) + + insertionInterval 0.025; // s + + cylinderInfo + { + radius 0.09; // radius of cylinder (m) + + p1 (0.0 0.0 0.1); // (m,m,m) + + p2 (0.0 0.0 0.11); // (m,m,m) + } + + setFields + { + velocity realx3 (0.0 0.0 -0.6); // initial velocity of inserted particles + } + + mixture + { + parType1 1; // mixture composition of inserted particles + } +} + +layer1 +{ + timeControl simulationTime; + + regionType cylinder; // type of insertion region + + rate 5100; // insertion rate (particles/s) + + startTime 0.7; // (s) + + endTime 1.2; // (s) + + insertionInterval 0.025; // s + + + cylinderInfo + { + radius 0.09; + p1 (0.0 0.0 0.16 ); // (m,m,m) + p2 (0.0 0.0 0.17); // (m,m,m) + } + + setFields + { + velocity realx3 (0.0 0.0 -0.6); + } + + mixture + { + parType2 1; // only parType2 + + } +} + +layer2 +{ + timeControl simulationTime; + + regionType cylinder; // type of insertion region + + rate 5100; // insertion rate (particles/s) + + startTime 1.4; // (s) + + endTime 1.9; // (s) + + insertionInterval 0.025; // s + + cylinderInfo + { + radius 0.09; + p1 ( 0.0 0.0 0.2 ); // (m,m,m) + p2 ( 0.0 0.0 0.21); // (m,m,m) + } + + setFields + { + velocity realx3 (0.0 0.0 -0.6); + } + + mixture + { + lightSphere 1; // only lightSphere + + } +} + +layer3 +{ + timeControl simulationTime; + + regionType cylinder; // type of insertion region + + rate 5100; // insertion rate (particles/s) + + startTime 2.1; // (s) + + endTime 2.6; // (s) + + insertionInterval 0.025; // s + + + cylinderInfo + { + radius 0.09; + p1 ( 0.0 0.0 0.28 ); // (m,m,m) + p2 ( 0.0 0.0 0.29); // (m,m,m) + } + + setFields + { + velocity realx3 (0.0 0.0 -0.6); + } + + mixture + { + heavySphere 1; + + } +} + +layer4 +{ + timeControl simulationTime; + + regionType cylinder; // type of insertion region + + rate 5100; // insertion rate (particles/s) + + startTime 2.8; // (s) + + endTime 3.3; // (s) + + insertionInterval 0.025; // s + + cylinderInfo + { + radius 0.09; + p1 ( 0.0 0.0 0.37 ); // (m,m,m) + p2 ( 0.0 0.0 0.38); // (m,m,m) + } + + setFields + { + velocity realx3 (0.0 0.0 -0.6); + } + + mixture + { + lightSphere 1; + + } +} + +layer5 +{ + timeControl simulationTime; + + regionType cylinder; // type of insertion region + + rate 5100; // insertion rate (particles/s) + + startTime 3.4; // (s) + + endTime 3.9; // (s) + + insertionInterval 0.025; // s + + cylinderInfo + { + radius 0.09; + p1 ( 0.0 0.0 0.38 ); // (m,m,m) + p2 ( 0.0 0.0 0.39); // (m,m,m) + } + + setFields + { + velocity realx3 (0.0 0.0 -0.6); + } + + mixture + { + heavySphere 1; + + } +} \ No newline at end of file diff --git a/tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/caseSetup/shapes b/tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/caseSetup/shapes new file mode 100755 index 00000000..e4215a55 --- /dev/null +++ b/tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/caseSetup/shapes @@ -0,0 +1,15 @@ +/* -------------------------------*- C++ -*--------------------------------- *\ +| phasicFlow File | +| copyright: www.cemf.ir | +\* ------------------------------------------------------------------------- */ +objectName sphereDict; +objectType sphereShape; +fileFormat ASCII; +/*---------------------------------------------------------------------------*/ +names (parType1 parType2); // names of shapes + +diameters (0.00885 0.0089); // diameter of shapes + +materials (lightMat heavyMat); // material names for shapes + + diff --git a/tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/cleanThisCase b/tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/cleanThisCase new file mode 100755 index 00000000..8a0ab919 --- /dev/null +++ b/tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/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/homogenizationSilo-PeriodicBoundary/homoSilo.jpeg b/tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/homoSilo.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..5add888bde7eab69b986769fa63648eab15768fa GIT binary patch literal 198867 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 z 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%0Df1kElQK2*A z+LQtOHyNTV*}ENwi!snNj)Da1hv)z-1C$st&>ZHkc6^f!oXhh_hOxrdC<0!7yp&zd zzGY~=(ZbS?JRN3VoF0`j8&D_HOU z(61To@u@$`ks$<}yaV+q!7siLUtPjdCJFFjzMq(RTYgH)9VK0Al{6i6QC8N`kCxaN zMX8E8?@O5$njg|+4Ha{EuY2$}f-&TLFdkL3D^{wsLl@SfIZCMh+XVQ(E!Js(?G6Q` z@T^B$I)_iWhEXwr5qm2i6=D1WrbK_r#N>ORkZg-n=f8o_Bjd`ruVU_Xy-!YLX0t2& zRg`PXn6xp_QY$uq>~0SD41FZXs)s~#;*eqNqT9DA`!l4Xy72`ig)Y?X*^gUhUv=xD zCSJlu9bP{h2DUKx?sfn-9O`WyH;zODRuIYjr3O!; zJ1zAwYW>tZsm=k#Z<^K(|ADq{g%?Xj2=1d9m*XEvWyQ(w?AbAbF`43@ZCmJQzZ|cK ziLLPWMttt?Uwb*t&9F<1g_P?4`qUg6AbPiutngrY>5?)=~~=(!TAY;`8n=B zSVOPgOKHfI?DA;8Ayvt+T|r2)5CQSlt7hS_9C8g#V{$K#UeJ*_L=&*>2kRbhN+#Hs zS{UO%0?}LjloV6H@#M9gPg<;6=yCcODR>0Krj|D!n+bZvRaOT;vds$<6KR2%s6h*q z7CgRi6HW89{mE8a@*exw8wSWA@j6Yd72bvK2~=u$9$xfqdd0Rr52?SUJ#CLqz|@!Q zadWgle&ESSdh(~4D5Y8C%v8jV0b}9P*Rg52!?PrFx9{C~H3}1>n+fs@X}@Vog`8JW z+{K_z4NtM=y4o49s($`Tj!$b7&w+`~uSHxE3hz#)3u6`()n`=H%Uv zd{y4hr2&kpKTwb$vl>*bkv25x~7EDPvlk`e^l{~hiW*( zjwCtAvYmH%o>C@*x^m)thmCgA4so%B0Lku#NvkHC}Oa4o>tENj9_qW z?3br@5%!Crbdo`viu}#d_B6QK1H-6hxFZR&UmZao>)5h5=yGGeU7GDu*>7T|81HU#+U^;=Szni0!i;J#HwG??7{tT3w($1myFCp%KM3ekzp#R5TI2FqZ z+$%!od?n~9KWRN@DAA9Nd!e|^SX}+89YQZeAVy60j4}vsYuB;#Z1&MzQJDNU4NrvG zjL`4BKdnP}*QUkD`JpveIZlXi6j}rP{$D>$+-TGWI?mX=uPN7!=Z^g45@PrOvL#oz z{Vt6_Q+-KtCZ@aPfrEjzafV6>s_^lI62tc{3qBD``J{5y^&_Sot<(fRNR!5K=?RQp zi)ro|V>e4Nz#cLKSiQ>o*X-+l_&LDi>IyBCTL}mluoLr4BRc;nm;mC3D>oydIuI2PZLP}RmkqJFrOf^mQ z_-r0CED!;8mx13wMdGIfJ!hdx#eOy&vkm2~MiQSz`f@K~u#*ygzXj7_n?Ih4BkuMn z!v#(>0@l5mjn-OrVY)o*50~E6V?4_d8#)ni-60*C?(kQ>D$II6)j)p?Z{8{bEYF8P z>N2je8y)~{GX&YupLZJdtbI_{e3UCPIFGAjx(a$|`zj=W}B;>qWJ5t9dNLN^G(M;9te92k8D~ zeM{~bPr9-~>Sq!Oinot_JVbt+2=;I;0SK*%7=fC6^tHl?ncl#8x}|s|CJUg`A2Qhg znN{vQ`lbz2$LcKfAHe5I()V@IN}X~yhN<8u*XpF_>O{LLZg)4mS$H4eI8hD8RG=t< z>lFP768zv@Ib9F_izh@TVjhF;6y0Q8-SxVZujR>i+7^Z~fWXcGxi-M}Eu-+>;q{pd zG%doUU}x;+H3BSp4}AO`Kn!09x36*^^)-C~Nr^i*R(oL?!~8YQ@HB|Xq&RyKv-aUv zpapu5<2BQFbED(qN2Ak8raWnCz#+GSE$t-YeC+GSTd5W5cD|tXw)4+; zsiWJit;eb7;$X_tI_Ku@>2|5V#hW;xT?}6Devhiv28~ZuFY(aJq)ksj$@j*>-&<$1A*6rhW|6?e?pcG=`Yc+-;K731L1v&5OD zC|`Su7|{z7VU2Ho57VMp{=7e{t5Dia2}+*AxXq&@yWJpkq233hBQ&$c+A#bFRU8cT z)yKMfQdj#PXiK4i2-?Ha`B3})0Z7|;*P7Nv@ z9iI=`wLT>3@r~jEk?vFSVLm3-jsKw6*iA}&5K4-^d|qvCj{U>Z(HcV13vr|wB$Izz z68*MJG6=z;|gjzMmdUe{5Z>i0R)GpD>=^SlYCen0NEs4GS~ zNF7EZt61eG*rch<51@@oG4$i0=#^G@*d@#NSoBTx=@&YmOvK&1{d}sYW&3z@61h*; zO3CH6^IFl^^9BvD!TbOAFI#Gl_9T1*x7_* z152b6ZnsDGxzYLie*a<>*;&@i@BP+9IWD+y8me?nS65bJEHS0Ms!*$u41B&<4SMO7 z(!VA-Q!OD|WOR^d@?pXuokRPF47G?v2w%qw{%n5JPX~d-C;8J+kjSB_5f=Oa!Heb- zjBCeepT|`4!flO14>qM3=U!63uT+aEJ)$_El?4HdjC#3BeUm-&;($pp$7_%E26n3b zxr@CM=5iT??&ewKmF)`KkAgA*5`|0^CnK|u3p*=P8<6NyuC%yZNFYMpR=8>5Ic5f% ze@*Qb74?w!W-U^80^QZ<<7WvoRz(;=3uO5p!Uu8n%wqk@w8hY46{z3=IMrv?S*Qe6 zBFVZDGmT)Zp9q$)%|BQgD&1Ouuhu@};o2p(5T$-y$6uoMO9urxc;;qry;)|ck2LrP z@JN!yCQD!kud)4&@4sV$yH^JHW+DuQ`EukZVM>h+xTtuT5Ai@!t33cRHp{dH{>k?$vm%yB3GcK79xVTL|p$?+_4NJIRa zPOryNEKwDX;3Ud>S|GAv)Su+HhW#~_@{&bZu+0yEPJ*OI3)4N{_JXMOy>d?)1|GkK zb8u$#t?P9xvXLjD(a=pPT>iwfhPQPyifY@Fs+uI8!M%*NrmFJSN_UjtvS65HSK8Xz zCu0^#`uF6lUcJ3o7IYTGKR2rz^I<%sdR~U|vyXG7hq@3)mfN04(h&KPZNk6f{7~ha z8?>Cz9rp4eJAfLAJt5tSU?|ULN&i_??zi?H*UB?l{#D?Q@7Re?1~BdmhGd;Vcry~L z{#$>fh5{H`+iK?R8IMAhhSrsp}msjts1Go*-W<&99Py$QiSL; zdjh)`UCdKebwwM~7hKRG%p!E`u6-YKxomV633|T#H~|u!^7~kH*eq5Qf9@X-Te=fj z-Q`qbCh`b)#DWXRFI?R4ISV!}9A~LSjYoV{1MmWrVU3Wec%Azwx z@E7k@N=rhU$aXSLw+{k#D0)ABBY5M(&1x$<$%J8V>WJ1hH5r~jB1tNf-$jt8J|y`qp_uaU2o4(>Q6M zVstwJOFvTH$K2D#XtSZ;-_3#q;0HJY>I zqYcxzz|S*ZDpXT`Es0I+E)HuNhQD^I`jckaZ=JFppUFS84p*&yS{-hMb}%`>j^t*y zR1jk`68pzu5jqa2OXfS>^3VaZeZ`B;UfI)$@m^c5Z(NPBL9U_mo$HUd{{S}35lYu( z@Ujt`1p~*3(IZd$gf!-7WB6(ho;LD#Gze45B_pJg(QJe7L#el!`0{AOw!_B|aP4E` z^*;aoR(JrTvKX2x|(SI2guj|mEeAm54{XriF zjzP88^b_1}HjCw)Iv+!*K7}4Am}Chy=su^=o7To*5(}qBL4>yYmfY?mBL~J@+k}|u zuIZ%|vo%&W_N(&FdiBtSS(0y)6DHnBfxe}I2%O&vyX4Cett7B})=GR%2jYFdGl_F9 z87)Rtl{5mn&!YvK(->DFKmMQ8Ogl5;K2TT+Y6ItKbmf<$~@$V%0Y7s$3Qp|rHJ5( z4`BKOlT_18*Fs>IJK@)j?-A;EX)&&9B$5%50dUCgRqnwkHYvJC9Ix&k#0pp8P^ER# zk|+CT)%dzTL&pAHxgXbm0x17=EWSq4ZhdbEq_RnG!>%?HQ#5N$z?d_QVs?oCTH4Ra zv=wTSP0*jFXqZZows#cRJMsL0!i1q-KYG=OsyEr&`_1AWL+GLo_yl9ap5mh4h%!MdFfrtDzu*u_<6)=-UPb%%}9_K_^_n(fjj*nu{qOaAemOTb0m!a997K~;Y2TU=-*XdX1y zEHpLJWP>VZc@y0Il_VmbHeR|q+MzH(%;eht#%^7Qz0+IrWQ@O0M@xas!|B-r~g!F|peC0@-Q0FRDFhqATP|-;drir7bzOqb zX=~oA7W-sxop*%`YDWAqP-SFj;Qoi z*B%lLqryVXHH`k@A7pqruW@DgnLYaVlEfgXdEA(jUhEy<89gL{JSL9Dfq$*n<5E)9 z^l!kzpaMmM;Q!U$c?LDTW??+iOAtYt7Yqmy6a)kWMIaHCW&}hOq)1R~0qI1FKr~#W zR~5K)RKS2FbdVMxfk+n+G4vP^=?Ox}B>^`(yF0sgcV=hy%kIn$pWgX@{Ga)Kc+c}b z&p8=Ql8j`W?yo_aGF{w$rX9~)tb##L_Nxu;f2Q6v7qhOwgC;y$m#BWlPdUECu*nTU{U(PbfnMYL#(n}4 zYDCPwDpk)v zBDpoU#29E4-4U|dNJsaptIx7-v|iq!z%%UN;z)X+`Wyp;ESa!O((_oDa)1K>m*Zh_ z06^CnK*;q37?lr)d6TBv2eS3Km)xS&={s!rdAPg8A5r15{&B9wz`Yit!s!$fER=r& zOfu)p6RdgOxyw9XZA+rUO;BxGp+_)51V(Q8=)09SyChmiLhn|fg4i#o%A3SUxmigW zz0!k%D>vttZ?dG=GCPG3*$%A7@X}Ba&a5SK+M&Ak6OYfN*P~SFyI&lP6VP*q{05uD z6WJO}i$9B5Q&LHUT)~fJ)gp)Gx?Lmub>4U0oa_pG2so{!0@&Z)plZ+X3Annh^KkjW ztJw7q|0sw3O%~fbZT{-3`^za9s|7Ow{JZdgvRePH4vE$>OrS4LOT1(2=so9LZ|bv% zY2{XL=d(@0c1IH@D5jj(I+r+javtsKK(u2NXPgA0XKlapMB_q>Y*j6K?90Il(1WYN z^72#OTE>v**EIpR79P9Do-QA1gmmMX%`BDBTlJM6ak_9(bDCsbjkc3@k*X-=V&0u| zn)xENEeW*ygr5LmCO;=F@hreV1VnCM)AK2*&JWPof#d9y@%!%PLQkOgeZ@ONXEMVf zBZh&jQ^r!IhUu0C?#~ybhPwlG&c#SX>r5QWa@`Q%cVFtDNb(d)`_0M9i*vlJmZ#PP zZiWx1YX^lnPTz16Kv5LZPV*i2s^x^y`W4r=^`db<&>mXC815ooY*ep?1StoNuo>qClRm5k87 zMO0Tw)uQ^XFds0F>8gX1+yM{kYc)wWEEvgmcB1XT12?g>9~lkkH=JCyMB^;y`oP(0 zVvTsK{qQ~4nIzuv6f4WZJ3#b`Qsd-4o%wTVldlSIEzL2!TT9P;x>)Wwe(W!k&G+R_&#QynU-<1#O9 zS!q24J*W$qPI$dO;jsy8hd`bnN?D)!2NOel;VC3xMPwznN%IH0daDt7id%)uChG)&cRMe&9Tr)qb z79q>$ob86eK~EAsm0s72_>H(-MYSe=FO#;akEJ=myaR!4AJ@C(yloRXGTp8&X#t`$ zvTG1jL}<@Fj7DTG8Z#P+@YEq7d%a@iX?95V{x|l-U416uEwl5kH{=G@wyj@~ZD2nJ zEzga^Af`oD=bJv`AOqN54N$MuBc3ZZ78_u{;91YfkNdi8`8VA!6Yr<-_b&uasnURzH66{HMGNzl@$0v9_?&sZ%k!E8QUw)4CsiVwTtbaRWAD&v zt8;&mLp`j`JN>2KoO^5h5wdj&USHG~di?&0v7=N(74KvQ%_fOu9t2IFyQxt{Hy|+Z z+(`LDK`m2C1;)j_+c~Ag$~TR|X5dQ+gf-Xe*ET2kL&l!nI&Na3=;#aO8YYSf>@wL) z7uxis!}aKQi(VGJP2FBMseS5DE@+q^({UjkA;~bml91)eSd64LXM4LGheU3y65#7 zl7+M%ortfvgiPKy+QCIr260hBXEjq7p0A{HFPem=V(k3C<=J#8W5WzgBhIQQN7=7Y**37b|1L; z@Ky+|%+EPymz)PhlIH!}a(U<^BK`oX9ZEq7yEpV#;Cnng9^dOV!)KUtois>O*uTjN zV;u>Vu4f9epiHOskXTb)Vhnckf-IlB`^&h7RXM#@yOU--rfOs%Zqu>PwTjoveCzzF zYvbMwzG3`>l@>Kxc5SXaGs>#~gm?-IvpRWF$}>NC5g@F0Qd!r5_}D5sjwu+>Xvwa5H}`f94zx#YwW(Vm(X`Un=J{Z{tC}N>dJanbw+J{qnmmC)%dmpUrt z*+gtTP#gqE_A&qVUK5S4Dkct$Xcl5D9JJEijrTqL(bBqqYQO1W!?CwWpRS_r^?X#q2(Au-U+}W^jY$ zBr6-Va-!_^4TZW$F3yC6eb>*;0001cI~D2vQ5Dnu_E0`3<#~%?QDr~`4M&_th*b4T zsWU?74{`Qij8LZ^8H|p~12?S?umKg7wBm#fOu%8s{;?A#I>&)p@udZ-RE2nqQpAAc z&S_G!KjbX)J_QvM659(!!(SycOZ@pW1U~% z1kRG?`a!17szSAJUbW;7oM7`-f3ojk5sEi(UOTa&M~d0j zJH>3JeD~U~KQ5(c9&L*9l}+)ytCZ{q3CrG;6LTR`^O#Co@#@HVj##BeYA~6K?iCUV zK8pT&bVC`8^fL-~-WJ-yH=0{XULodATOqrPOe=25UVW4D_T4K@FrLPdssrE(7RIN>i8)hQW`p>rE zz3+duQvWA4xolILmYOVV0W&#y&{O^I<2bl($3Gq#{6mwl*EIdHY1*sDUOo00*kfRi cfjtKH7}#TAkAXb~_88b>;D5z{{7>?q0Id1k(f|Me literal 0 HcmV?d00001 diff --git a/tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/runThisCase b/tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/runThisCase new file mode 100755 index 00000000..e774b13c --- /dev/null +++ b/tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/runThisCase @@ -0,0 +1,24 @@ +#!/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 + +echo "\n<--------------------------------------------------------------------->" +echo "4) Converting to vtk" +echo "<--------------------------------------------------------------------->\n" +pFlowToVTK --fields diameter velocity id --binary + + +#------------------------------------------------------------------------------ diff --git a/tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/settings/domainDict b/tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/settings/domainDict new file mode 100755 index 00000000..606db9b1 --- /dev/null +++ b/tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/settings/domainDict @@ -0,0 +1,52 @@ +/* -------------------------------*- 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.11 -0.11 -0.15); + + max ( 0.11 0.11 0.4); +} + +boundaries +{ + + left + { + type exit; + } + + right + { + type exit; + } + + bottom + { + type exit; + } + + top + { + type exit; + } + + rear + { + type periodic; + } + + front + { + type periodic; + } +} + + diff --git a/tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/settings/geometryDict b/tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/settings/geometryDict new file mode 100755 index 00000000..b72f1c07 --- /dev/null +++ b/tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/settings/geometryDict @@ -0,0 +1,87 @@ +/* -------------------------------*- C++ -*--------------------------------- *\ +| phasicFlow File | +| copyright: www.cemf.ir | +\* ------------------------------------------------------------------------- */ +objectName geometryDict; +objectType dictionary; +fileFormat ASCII; +/*---------------------------------------------------------------------------*/ + +motionModel rotatingAxis; + +rotatingAxisInfo +{ + // for opening the gate of silo between time 4.1 and 5.1 s + gateMotion + { + p1 (-0.04 -0.04 -0.1); + p2 (-0.04 -0.04 0.0); + omega 3.14; + startTime 4.1; + endTime 5.1; + } +} + +surfaces +{ + cylinderShell + { + type cylinderWall; // other options: cuboidWall and planeWall + + p1 (0.0 0.0 0.0); // begin point of cylinder axis + + p2 (0.0 0.0 0.4); // end point of cylinder axis + + radius1 0.1; // radius at p1 + + radius2 0.1; // radius at p2 + + resolution 36; // number of divisions + + material wallMat; // material name of this wall + } + + coneShell + { + type cylinderWall; // other options: cuboidWall and planeWall + + p1 (0.0 0.0 -0.1); // begin point of cylinder axis + + p2 (0.0 0.0 0.0); // end point of cylinder axis + + radius1 0.04; // radius at p1 + + radius2 0.1; // radius at p2 + + resolution 36; // number of divisions + + material wallMat; // material name of this wall + } + + /* + This is a plane wall at the exit of silo + */ + + exitGate + { + type planeWall; // other options: cuboidWall and cylinderWall + + p1 (-0.04 -0.04 -0.1); // first point of the wall + + p2 ( 0.04 -0.04 -0.1); // second point of the wall + + p3 ( 0.04 0.04 -0.1); // third point of the wall + + p4 (-0.04 0.04 -0.1); // fourth point of the wall + + material wallMat; // material name of the wall + + motion gateMotion; + } +} + + + + + + diff --git a/tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/settings/particlesDict b/tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/settings/particlesDict new file mode 100755 index 00000000..a01a553e --- /dev/null +++ b/tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/settings/particlesDict @@ -0,0 +1,36 @@ +/* -------------------------------*- 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 parType1; // name of the particle shape + } + + selectors + {} +} + +positionParticles +{ + method empty; // empty simulation +} + diff --git a/tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/settings/settingsDict b/tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/settings/settingsDict new file mode 100755 index 00000000..0f119f33 --- /dev/null +++ b/tutorials/sphereGranFlow/homogenizationSilo-PeriodicBoundary/settings/settingsDict @@ -0,0 +1,41 @@ +/* -------------------------------*- C++ -*--------------------------------- *\ +| phasicFlow File | +| copyright: www.cemf.ir | +\* ------------------------------------------------------------------------- */ +objectName settingsDict; +objectType dictionary; +fileFormat ASCII; +/*---------------------------------------------------------------------------*/ +run homogenizationSilo; + +dt 0.00001; // time step for integration (s) + +startTime 0.0; // start time for simulation + +endTime 20; // 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) + + +// overrides the default behavior +includeObjects (diameter); + +// exclude unnecessary data from saving on disk +excludeObjects (rVelocity.dy1 rVelocity.dy2 rVelocity.dy3 + pStructPosition.dy1 pStructPosition.dy2 pStructPosition.dy3 + pStructVelocity.dy1 pStructVelocity.dy2 pStructVelocity.dy3); + +integrationMethod AdamsBashforth4; // integration method + +writeFormat binary; // data writting format (ascii or binary) + +timersReport Yes; // report timers + +timersReportInterval 0.1; // time interval for reporting timers + + + From bd4e566dc23913c415b742b69e39a37893c559c4 Mon Sep 17 00:00:00 2001 From: ramin1728 Date: Fri, 14 Feb 2025 23:07:13 +0330 Subject: [PATCH 06/10] layeredSiloFilling --- .../layeredSiloFilling/caseSetup/interaction | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/tutorials/sphereGranFlow/layeredSiloFilling/caseSetup/interaction b/tutorials/sphereGranFlow/layeredSiloFilling/caseSetup/interaction index 7c2a70a6..2084cd48 100755 --- a/tutorials/sphereGranFlow/layeredSiloFilling/caseSetup/interaction +++ b/tutorials/sphereGranFlow/layeredSiloFilling/caseSetup/interaction @@ -16,11 +16,11 @@ contactSearch { method NBS; // method for broad search particle-particle - updateInterval 10; + updateInterval 10; sizeRatio 1.1; - cellExtent 0.55; + cellExtent 0.55; adjustableBox Yes; } @@ -46,25 +46,25 @@ model 0.8e6 0.8e6 0.8e6); - nu (0.25 0.25 0.25 // Poisson's ratio [-] - 0.25 0.25 - 0.25); + nu (0.25 0.25 0.25 // Poisson's ratio [-] + 0.25 0.25 + 0.25); - en (0.97 0.97 0.85 // coefficient of normal restitution - 0.97 0.85 - 1.00); + en (0.97 0.97 0.85 // coefficient of normal restitution + 0.97 0.85 + 1.00); - et (1.0 1.0 1.0 // coefficient of tangential restitution - 1.0 1.0 - 1.0); + et (1.0 1.0 1.0 // coefficient of tangential restitution + 1.0 1.0 + 1.0); - mu (0.65 0.65 0.35 // dynamic friction - 0.65 0.35 - 0.35); + mu (0.65 0.65 0.35 // dynamic friction + 0.65 0.35 + 0.35); - mur (0.1 0.1 0.1 // rolling friction - 0.1 0.1 - 0.1); + mur (0.1 0.1 0.1 // rolling friction + 0.1 0.1 + 0.1); } From 252725863f4f5ad5c3703592e9c8699ef9f4d47f Mon Sep 17 00:00:00 2001 From: ramin1728 Date: Fri, 14 Feb 2025 23:10:46 +0330 Subject: [PATCH 07/10] layeredSiloFilling is Updated. --- .../sphereGranFlow/layeredSiloFilling/caseSetup/shapes | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tutorials/sphereGranFlow/layeredSiloFilling/caseSetup/shapes b/tutorials/sphereGranFlow/layeredSiloFilling/caseSetup/shapes index 603c28cb..354e3d53 100755 --- a/tutorials/sphereGranFlow/layeredSiloFilling/caseSetup/shapes +++ b/tutorials/sphereGranFlow/layeredSiloFilling/caseSetup/shapes @@ -6,10 +6,10 @@ objectName sphereDict; objectType sphereShape; fileFormat ASCII; /*---------------------------------------------------------------------------*/ -names (lightSphere heavySphere); // names of shapes +names (lightSphere heavySphere); // names of shapes -diameters (0.007 0.007); // diameter of shapes +diameters (0.007 0.007); // diameter of shapes -materials (lightMat heavyMat); // material names for shapes +materials (lightMat heavyMat); // material names for shapes From 5e272cfa1b5527705d819f3a74f9325f658555e7 Mon Sep 17 00:00:00 2001 From: ramin1728 Date: Fri, 14 Feb 2025 23:30:27 +0330 Subject: [PATCH 08/10] RotaryAirLockValve is Updated. --- .../RotaryAirLockValve/ReadMe.md | 4 ++-- .../RotaryAirLockValve/caseSetup/interaction | 10 +++++----- .../caseSetup/particleInsertion | 2 +- .../RotaryAirLockValve/caseSetup/sphereShape | 19 ------------------- 4 files changed, 8 insertions(+), 27 deletions(-) delete mode 100644 tutorials/sphereGranFlow/RotaryAirLockValve/caseSetup/sphereShape diff --git a/tutorials/sphereGranFlow/RotaryAirLockValve/ReadMe.md b/tutorials/sphereGranFlow/RotaryAirLockValve/ReadMe.md index eb7fbbbe..33b2879a 100644 --- a/tutorials/sphereGranFlow/RotaryAirLockValve/ReadMe.md +++ b/tutorials/sphereGranFlow/RotaryAirLockValve/ReadMe.md @@ -1,7 +1,7 @@ # Problem Definition The problem is to simulate a Rotary Air-Lock Valve. The external diameter of rotor is about 21 cm. There is one type of particle in this simulation. Particles are inserted into the inlet of the valve from t=**0** s. * **28000** particles with **5 mm** diameter are inserted into the valve with the rate of **4000 particles/s**. -* The rotor starts its ortation at t = 1.25 s at the rate of 2.1 rad/s. +* The rotor starts its rotation at t = 1.25 s at the rate of 2.1 rad/s. @@ -206,4 +206,4 @@ To perform simulations, enter the following commands one after another in the te Enter `$ particlesPhasicFlow` command to create the initial fields for particles (here the simulaiton has no particle at the beginning). 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. +After finishing the simulation, you can use `$ pFlowtoVTK` to convert the results into vtk format stored in ./VTK folder. \ No newline at end of file diff --git a/tutorials/sphereGranFlow/RotaryAirLockValve/caseSetup/interaction b/tutorials/sphereGranFlow/RotaryAirLockValve/caseSetup/interaction index da09e5e1..3defdb75 100644 --- a/tutorials/sphereGranFlow/RotaryAirLockValve/caseSetup/interaction +++ b/tutorials/sphereGranFlow/RotaryAirLockValve/caseSetup/interaction @@ -43,19 +43,19 @@ model Geff (0.8e6 0.8e6 // Shear modulus [Pa] 0.8e6); - nu (0.25 0.25 // Poisson's ratio [-] + nu (0.25 0.25 // Poisson's ratio [-] 0.25); - en (0.7 0.8 // coefficient of normal restitution + en (0.70 0.80 // coefficient of normal restitution 1.0); - et (1.0 1.0 // coefficient of tangential restitution + et (1.0 1.0 // coefficient of tangential restitution 1.0); - mu (0.3 0.35 // dynamic friction + mu (0.3 0.35 // dynamic friction 0.35); - mur (0.1 0.1 // rolling friction + mur (0.1 0.1 // rolling friction 0.1); } diff --git a/tutorials/sphereGranFlow/RotaryAirLockValve/caseSetup/particleInsertion b/tutorials/sphereGranFlow/RotaryAirLockValve/caseSetup/particleInsertion index e3b74af1..06342b39 100644 --- a/tutorials/sphereGranFlow/RotaryAirLockValve/caseSetup/particleInsertion +++ b/tutorials/sphereGranFlow/RotaryAirLockValve/caseSetup/particleInsertion @@ -6,7 +6,7 @@ objectName particleInsertion; objectType dicrionary; 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 diff --git a/tutorials/sphereGranFlow/RotaryAirLockValve/caseSetup/sphereShape b/tutorials/sphereGranFlow/RotaryAirLockValve/caseSetup/sphereShape deleted file mode 100644 index 354d36d8..00000000 --- a/tutorials/sphereGranFlow/RotaryAirLockValve/caseSetup/sphereShape +++ /dev/null @@ -1,19 +0,0 @@ -/* -------------------------------*- C++ -*--------------------------------- *\ -| phasicFlow File | -| copyright: www.cemf.ir | -\* ------------------------------------------------------------------------- */ -objectName particleInsertion; -objectType dicrionary; -fileFormat ASCII; -/*---------------------------------------------------------------------------*/ -objectName sphereDict; -objectType sphereShape; - -// names of shapes -names (sphere); - -// diameter of shapes -diameters (0.005); - -// material names for shapes -materials (sphereMat); \ No newline at end of file From fd6b3ebc60fbd80cd6346a7b87fddf05b8bd5442 Mon Sep 17 00:00:00 2001 From: HRN Date: Sat, 15 Feb 2025 22:02:16 +0330 Subject: [PATCH 09/10] correction for layeredSiloFilling --- .../layeredSiloFilling/caseSetup/interaction | 9 +- .../caseSetup/particleInsertion | 187 +++++++++++++++--- .../layeredSiloFilling/settings/domainDict | 91 ++++----- .../layeredSiloFilling/settings/geometryDict | 109 +++++----- .../layeredSiloFilling/settings/particlesDict | 17 +- .../layeredSiloFilling/settings/settingsDict | 48 ++--- 6 files changed, 262 insertions(+), 199 deletions(-) diff --git a/tutorials/sphereGranFlow/layeredSiloFilling/caseSetup/interaction b/tutorials/sphereGranFlow/layeredSiloFilling/caseSetup/interaction index 2084cd48..5bf8acdb 100755 --- a/tutorials/sphereGranFlow/layeredSiloFilling/caseSetup/interaction +++ b/tutorials/sphereGranFlow/layeredSiloFilling/caseSetup/interaction @@ -54,10 +54,6 @@ model 0.97 0.85 1.00); - et (1.0 1.0 1.0 // coefficient of tangential restitution - 1.0 1.0 - 1.0); - mu (0.65 0.65 0.35 // dynamic friction 0.65 0.35 0.35); @@ -65,7 +61,4 @@ model mur (0.1 0.1 0.1 // rolling friction 0.1 0.1 0.1); -} - - - +} \ No newline at end of file diff --git a/tutorials/sphereGranFlow/layeredSiloFilling/caseSetup/particleInsertion b/tutorials/sphereGranFlow/layeredSiloFilling/caseSetup/particleInsertion index 195f27df..722b21e4 100755 --- a/tutorials/sphereGranFlow/layeredSiloFilling/caseSetup/particleInsertion +++ b/tutorials/sphereGranFlow/layeredSiloFilling/caseSetup/particleInsertion @@ -6,49 +6,172 @@ objectName particleInsertion; objectType dicrionary; fileFormat ASCII; /*---------------------------------------------------------------------------*/ -active Yes; // is insertion active -> yes or no -checkForCollision No; // is checked -> yes or no +// is insertion active -> yes or no +active Yes; /* - one layers of particles are packed + six layers of particles are packed */ - layer0 -{ - timeControl simulationTime; +{ + timeControl simulationTime; + regionType cylinder; // type of insertion region + rate 15000; // insertion rate (particles/s) + startTime 0; // (s) + endTime 0.5; // (s) + insertionInterval 0.025; // s - regionType cylinder; // type of insertion region + cylinderInfo + { + radius 0.09; // radius of cylinder (m) + p1 (0.0 0.0 0.1); // (m,m,m) + p2 (0.0 0.0 0.11); // (m,m,m) + } - rate 15000; // insertion rate (particles/s) + setFields + { + velocity realx3 (0.0 0.0 -0.6); // initial velocity of inserted particles + } - startTime 0; // (s) - - endTime 0.5; // (s) - - insertionInterval 0.025; // s - - cylinderInfo - { - radius 0.09; // radius of cylinder (m) - - p1 ( 0.0 0.0 0.1 ); // (m,m,m) - - p2 ( 0.0 0.0 0.11); // (m,m,m) - } - - setFields - { - velocity realx3 (0.0 0.0 -0.6); // initial velocity of inserted particles - } - - mixture - { - lightSphere 1; // mixture composition of inserted particles - } + mixture + { + lightSphere 1; // mixture composition of inserted particles + } } +layer1 +{ + timeControl simulationTime; + regionType cylinder; // type of insertion region + rate 15000; // insertion rate (particles/s) + startTime 0.7; // (s) + endTime 1.2; // (s) + insertionInterval 0.025; // s + cylinderInfo + { + radius 0.09; + p1 (0.0 0.0 0.16 ); // (m,m,m) + p2 (0.0 0.0 0.17); // (m,m,m) + } + setFields + { + velocity realx3 (0.0 0.0 -0.6); + } + mixture + { + heavySphere 1; // only heavySphere + } +} + +layer2 +{ + timeControl simulationTime; + regionType cylinder; // type of insertion region + rate 15000; // insertion rate (particles/s) + startTime 1.4; // (s) + endTime 1.9; // (s) + insertionInterval 0.025; // s + + cylinderInfo + { + radius 0.09; + p1 ( 0.0 0.0 0.2 ); // (m,m,m) + p2 ( 0.0 0.0 0.21); // (m,m,m) + } + + setFields + { + velocity realx3 (0.0 0.0 -0.6); + } + + mixture + { + lightSphere 1; // only lightSphere + } +} + +layer3 +{ + timeControl simulationTime; + regionType cylinder; // type of insertion region + rate 15000; // insertion rate (particles/s) + startTime 2.1; // (s) + endTime 2.6; // (s) + insertionInterval 0.025; // s + + cylinderInfo + { + radius 0.09; + p1 ( 0.0 0.0 0.28 ); // (m,m,m) + p2 ( 0.0 0.0 0.29); // (m,m,m) + } + + setFields + { + velocity realx3 (0.0 0.0 -0.6); + } + + mixture + { + heavySphere 1; + } +} + +layer4 +{ + timeControl simulationTime; + regionType cylinder; // type of insertion region + rate 15000; // insertion rate (particles/s) + startTime 2.8; // (s) + endTime 3.3; // (s) + insertionInterval 0.025; // s + + cylinderInfo + { + radius 0.09; + p1 ( 0.0 0.0 0.37 ); // (m,m,m) + p2 ( 0.0 0.0 0.38); // (m,m,m) + } + + setFields + { + velocity realx3 (0.0 0.0 -0.6); + } + + mixture + { + lightSphere 1; + } +} + +layer5 +{ + timeControl simulationTime; + regionType cylinder; // type of insertion region + rate 15000; // insertion rate (particles/s) + startTime 3.4; // (s) + endTime 3.9; // (s) + insertionInterval 0.025; // s + + cylinderInfo + { + radius 0.09; + p1 ( 0.0 0.0 0.38); // (m,m,m) + p2 ( 0.0 0.0 0.39); // (m,m,m) + } + + setFields + { + velocity realx3 (0.0 0.0 -0.6); + } + + mixture + { + heavySphere 1; + } +} diff --git a/tutorials/sphereGranFlow/layeredSiloFilling/settings/domainDict b/tutorials/sphereGranFlow/layeredSiloFilling/settings/domainDict index 1e711f8b..42ea097f 100755 --- a/tutorials/sphereGranFlow/layeredSiloFilling/settings/domainDict +++ b/tutorials/sphereGranFlow/layeredSiloFilling/settings/domainDict @@ -1,65 +1,50 @@ -/* -------------------------------*- C++ -*--------------------------------- *\ -| phasicFlow File | -| copyright: www.cemf.ir | -\* ------------------------------------------------------------------------- */ -objectName domainDict; -objectType dictionary; +/* -------------------------------*- 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 + +// Simulation domain: every particle that goes outside this domain will be deleted +globalBox { - min (-0.11 -0.11 -0.11); - - max ( 0.11 0.11 0.41); + min (-0.11 -0.11 -0.11); + max ( 0.11 0.11 0.41); } boundaries { - // Determines how often (how many iterations) do you want to + left + { + type exit; // other options: periodic, reflective + } - // rebuild the list of particles in the neighbor list + right + { + type exit; // other options: periodic, reflective + } - // of all boundaries in the simulation domain + bottom + { + type exit; // other options: periodic, reflective + } - neighborListUpdateInterval 30; - - // Determines how often do you want to update the new changes in the boundary - - updateInterval 10; - - // The distance from the boundary plane within which particles are marked to be in the boundary list - - neighborLength 0.004; - - left - { - type exit; // other options: periodict, reflective - } - - right - { - type exit; // other options: periodict, reflective - } - - bottom - { - type exit; // other options: periodict, reflective - } - - top - { - type exit; // other options: periodict, reflective - } - - rear - { - type exit; // other options: periodict, reflective - } - - front - { - type exit; // other options: periodict, reflective - } -} + top + { + type exit; // other options: periodic, reflective + } + rear + { + type exit; // other options: periodic, reflective + } + front + { + type exit; // other options: periodic, reflective + } +} \ No newline at end of file diff --git a/tutorials/sphereGranFlow/layeredSiloFilling/settings/geometryDict b/tutorials/sphereGranFlow/layeredSiloFilling/settings/geometryDict index 4c7c9cc1..00aa2e14 100755 --- a/tutorials/sphereGranFlow/layeredSiloFilling/settings/geometryDict +++ b/tutorials/sphereGranFlow/layeredSiloFilling/settings/geometryDict @@ -1,76 +1,55 @@ -/* -------------------------------*- C++ -*--------------------------------- *\ -| phasicFlow File | -| copyright: www.cemf.ir | -\* ------------------------------------------------------------------------- */ -objectName geometryDict; -objectType dictionary; +/* -------------------------------*- C++ -*--------------------------------- *\ +| phasicFlow File | +| copyright: www.cemf.ir | +\* ------------------------------------------------------------------------- */ + +objectName geometryDict; +objectType dictionary; fileFormat ASCII; + /*---------------------------------------------------------------------------*/ -motionModel stationary; // motion model can be rotatingAxis or stationary or vibrating + +motionModel stationary; // motion model can be rotatingAxis, stationary, or vibrating stationaryInfo { - + // No additional information needed for stationary motion model } surfaces { - cylinderShell - { - type cylinderWall; // other options: cuboidWall and planeWall - - p1 (0.0 0.0 0.0); // begin point of cylinder axis - - p2 (0.0 0.0 0.4); // end point of cylinder axis - - radius1 0.1; // radius at p1 - - radius2 0.1; // radius at p2 - - resolution 36; // number of divisions - - material wallMat; // material name of this wall - } - - coneShell - { - type cylinderWall; // other options: cuboidWall and planeWall - - p1 (0.0 0.0 -0.1); // begin point of cylinder axis - - p2 (0.0 0.0 0.0); // end point of cylinder axis - - radius1 0.02; // radius at p1 - - radius2 0.1; // radius at p2 - - resolution 36; // number of divisions - - material wallMat; // material name of this wall - } - - /* - This is a plane wall at the exit of silo - */ - - exitGate - { - type planeWall; // other options: cuboidWall and cylinderWall - - p1 (-0.02 -0.02 -0.1); // first point of the wall - - p2 ( 0.02 -0.02 -0.1); // second point of the wall - - p3 ( 0.02 0.02 -0.1); // third point of the wall - - p4 (-0.02 0.02 -0.1); // fourth point of the wall - - material wallMat; // material name of the wall - } -} - - - - + cylinderShell + { + type cylinderWall; // other options: cuboidWall and planeWall + p1 (0.0 0.0 0.0); // begin point of cylinder axis + p2 (0.0 0.0 0.4); // end point of cylinder axis + radius1 0.1; // radius at p1 + radius2 0.1; // radius at p2 + resolution 36; // number of divisions + material wallMat; // material name of this wall + } + coneShell + { + type cylinderWall; // other options: cuboidWall and planeWall + p1 (0.0 0.0 -0.1); // begin point of cylinder axis + p2 (0.0 0.0 0.0); // end point of cylinder axis + radius1 0.02; // radius at p1 + radius2 0.1; // radius at p2 + resolution 36; // number of divisions + material wallMat; // material name of this wall + } + /* + This is a plane wall at the exit of the silo that plugs the exit. + */ + exitGate + { + type planeWall; // other options: cuboidWall and cylinderWall + p1 (-0.02 -0.02 -0.1); // first point of the wall + p2 ( 0.02 -0.02 -0.1); // second point of the wall + p3 ( 0.02 0.02 -0.1); // third point of the wall + p4 (-0.02 0.02 -0.1); // fourth point of the wall + material wallMat; // material name of the wall + } +} \ No newline at end of file diff --git a/tutorials/sphereGranFlow/layeredSiloFilling/settings/particlesDict b/tutorials/sphereGranFlow/layeredSiloFilling/settings/particlesDict index 4df47975..66bc9ec0 100755 --- a/tutorials/sphereGranFlow/layeredSiloFilling/settings/particlesDict +++ b/tutorials/sphereGranFlow/layeredSiloFilling/settings/particlesDict @@ -10,9 +10,7 @@ setFields { /* Default value for fields defined for particles - These fields should always be defined for simulations with - spherical particles. */ @@ -20,7 +18,7 @@ setFields { 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/s^2) rVelocity realx3 (0 0 0); // rotational velocity (rad/s) @@ -31,17 +29,8 @@ setFields {} } -positionParticles // positions particles +positionParticles { - method empty; // other options: ordered and random - - regionType box; // other options: cylinder and sphere - - boxInfo // box region for positioning particles - { - min (-0.08 -0.08 0.015); // lower corner point of the box - - max ( 0.08 0.08 0.098); // upper corner point of the box - } + method empty; // empty simulation } diff --git a/tutorials/sphereGranFlow/layeredSiloFilling/settings/settingsDict b/tutorials/sphereGranFlow/layeredSiloFilling/settings/settingsDict index 532bba8d..1beb6649 100755 --- a/tutorials/sphereGranFlow/layeredSiloFilling/settings/settingsDict +++ b/tutorials/sphereGranFlow/layeredSiloFilling/settings/settingsDict @@ -1,42 +1,36 @@ -/* -------------------------------*- C++ -*--------------------------------- *\ -| phasicFlow File | -| copyright: www.cemf.ir | -\* ------------------------------------------------------------------------- */ -objectName settingsDict; -objectType dictionary; -fileFormat ASCII; +/* -------------------------------*- C++ -*--------------------------------- *\ +| phasicFlow File | +| copyright: www.cemf.ir | +\* ------------------------------------------------------------------------- */ +objectName settingsDict; +objectType dictionary; +fileFormat ASCII; /*---------------------------------------------------------------------------*/ -run layerdSiloFilling; +run layeredSiloFilling; -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/s^2) // save data objects that are not automatically saved on disk. - -// overrides the default behavior - -includeObjects (diameter); +// overrides the default behavior +includeObjects (diameter mass); // 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 - -writeFormat ascii; // data writting format (ascii or binary) - -timersReport Yes; // report timers - -timersReportInterval 0.01; // time interval for reporting timers +integrationMethod AdamsBashforth2; // integration method +writeFormat ascii; // data writing format (ascii or binary) +timersReport Yes; // report timers +timersReportInterval 0.05; // time interval for reporting timers From 2a8146c43ffe511c6cfe077ef19140e98b7b773a Mon Sep 17 00:00:00 2001 From: HRN Date: Sat, 15 Feb 2025 22:03:41 +0330 Subject: [PATCH 10/10] add operator << for Set --- src/phasicFlow/containers/Set/Set.hpp | 15 +++++++++++++++ .../repository/systemControl/systemControl.cpp | 4 ++++ 2 files changed, 19 insertions(+) diff --git a/src/phasicFlow/containers/Set/Set.hpp b/src/phasicFlow/containers/Set/Set.hpp index 3c619f0b..7ed856a3 100644 --- a/src/phasicFlow/containers/Set/Set.hpp +++ b/src/phasicFlow/containers/Set/Set.hpp @@ -24,6 +24,7 @@ Licence: #include #include "types.hpp" +#include "iOstream.hpp" namespace pFlow { @@ -34,6 +35,20 @@ using Set = std::set,std::allocator>; using wordSet = Set; +template +iOstream& operator<<(iOstream& os, const Set& s) +{ + os << beginListToken(); + for(auto elm = s.begin(); elm!=s.end(); ) + { + os<< *elm++; + if( elm!=s.end() ) + os<