From 20cc5bb0c0895c0ce89b353969bf3e08a8286cd4 Mon Sep 17 00:00:00 2001 From: hamidrezanorouzi Date: Fri, 14 Oct 2022 15:28:12 +0330 Subject: [PATCH] benchmarks update --- .../caseSetup/interaction | 59 ++++++++++++++++ .../caseSetup/particleInsertion | 67 +++++++++++++++++++ .../caseSetup/sphereShape | 11 +++ .../cleanThisCase | 0 .../helicalMixer_4MParticles/runThisCase | 23 +++++++ .../settings/geometryDict | 56 ++++++++++++++++ .../settings/particlesDict | 31 +++++++++ .../settings/settingsDict | 36 ++++++++++ .../caseSetup/interaction | 0 .../caseSetup/particleInsertion | 0 .../caseSetup/sphereShape | 0 .../rotatingDrum_4MParticles/cleanThisCase | 7 ++ .../runThisCase | 0 .../settings/geometryDict | 0 .../settings/particlesDict | 0 .../settings/settingsDict | 0 16 files changed, 290 insertions(+) create mode 100755 benchmarks/helicalMixer_4MParticles/caseSetup/interaction create mode 100755 benchmarks/helicalMixer_4MParticles/caseSetup/particleInsertion create mode 100755 benchmarks/helicalMixer_4MParticles/caseSetup/sphereShape rename benchmarks/{rotatingDrum_1 => helicalMixer_4MParticles}/cleanThisCase (100%) create mode 100755 benchmarks/helicalMixer_4MParticles/runThisCase create mode 100644 benchmarks/helicalMixer_4MParticles/settings/geometryDict create mode 100644 benchmarks/helicalMixer_4MParticles/settings/particlesDict create mode 100644 benchmarks/helicalMixer_4MParticles/settings/settingsDict rename benchmarks/{rotatingDrum_1 => rotatingDrum_4MParticles}/caseSetup/interaction (100%) rename benchmarks/{rotatingDrum_1 => rotatingDrum_4MParticles}/caseSetup/particleInsertion (100%) rename benchmarks/{rotatingDrum_1 => rotatingDrum_4MParticles}/caseSetup/sphereShape (100%) create mode 100755 benchmarks/rotatingDrum_4MParticles/cleanThisCase rename benchmarks/{rotatingDrum_1 => rotatingDrum_4MParticles}/runThisCase (100%) rename benchmarks/{rotatingDrum_1 => rotatingDrum_4MParticles}/settings/geometryDict (100%) rename benchmarks/{rotatingDrum_1 => rotatingDrum_4MParticles}/settings/particlesDict (100%) rename benchmarks/{rotatingDrum_1 => rotatingDrum_4MParticles}/settings/settingsDict (100%) diff --git a/benchmarks/helicalMixer_4MParticles/caseSetup/interaction b/benchmarks/helicalMixer_4MParticles/caseSetup/interaction new file mode 100755 index 00000000..d3b3a98b --- /dev/null +++ b/benchmarks/helicalMixer_4MParticles/caseSetup/interaction @@ -0,0 +1,59 @@ +/* -------------------------------*- C++ -*--------------------------------- *\ +| phasicFlow File | +| copyright: www.cemf.ir | +\* ------------------------------------------------------------------------- */ + +objectName interaction; +objectType dicrionary; + +materials (glassMat wallMat); // a list of materials names +densities (2500.0 2500); // density of materials [kg/m3] + +contactListType sortedContactList; + +model +{ + contactForceModel nonLinearLimited; + rollingFrictionModel normal; + + Yeff (1.0e6 1.0e6 // Young modulus [Pa] + 1.0e6); + + Geff (0.8e6 0.8e6 // Shear modulus [Pa] + 0.8e6); + + nu (0.25 0.25 // Poisson's ratio [-] + 0.25); + + en (0.97 0.85 // coefficient of normal restitution + 1.00); + + et (1.0 1.0 // coefficient of tangential restitution + 1.0); + + mu (0.65 0.65 // dynamic friction + 0.65); + + mur (0.1 0.1 // rolling friction + 0.1); + +} + +contactSearch +{ + method NBS; + wallMapping cellsSimple; + + NBSInfo + { + updateFrequency 10; // each 20 timesteps, update neighbor list + sizeRatio 1.1; // bounding box size to particle diameter (max) + } + + cellsSimpleInfo + { + updateFrequency 10; // each 20 timesteps, update neighbor list + cellExtent 0.6; // bounding box for particle-wall search (> 0.5) + } + +} \ No newline at end of file diff --git a/benchmarks/helicalMixer_4MParticles/caseSetup/particleInsertion b/benchmarks/helicalMixer_4MParticles/caseSetup/particleInsertion new file mode 100755 index 00000000..1228fd0f --- /dev/null +++ b/benchmarks/helicalMixer_4MParticles/caseSetup/particleInsertion @@ -0,0 +1,67 @@ +/* -------------------------------*- C++ -*--------------------------------- *\ +| phasicFlow File | +| copyright: www.cemf.ir | +\* ------------------------------------------------------------------------- */ + +objectName particleInsertion; +objectType dicrionary; + + +active yes; // is insertion active? + +collisionCheck No; // not implemented for yes + + + +particleInlet1 +{ + type boxRegion; // type of insertion region + rate 1000000; // insertion rate (particles/s) + startTime 0; // (s) + endTime 2.0; // (s) + interval 0.05; //s + + boxRegionInfo + { + min ( -0.17 0.23 0.46); // (m,m,m) + max ( 0.17 0.24 0.88); // (m,m,m) + } + + setFields + { + velocity realx3 (0.0 -0.3 0.0); // initial velocity of inserted particles + } + + mixture + { + smallParticle 1; // mixture composition of inserted particles + + } +} + +particleInlet2 +{ + type boxRegion; // type of insertion region + rate 1000000; // insertion rate (particles/s) + startTime 0; // (s) + endTime 2.0; // (s) + interval 0.05; //s + + boxRegionInfo + { + min ( -0.17 0.23 0.02); // (m,m,m) + max ( 0.17 0.24 0.44); // (m,m,m) + } + + setFields + { + velocity realx3 (0.0 -0.3 0.0); // initial velocity of inserted particles + } + + mixture + { + largeParticle 1; // mixture composition of inserted particles + + } +} + diff --git a/benchmarks/helicalMixer_4MParticles/caseSetup/sphereShape b/benchmarks/helicalMixer_4MParticles/caseSetup/sphereShape new file mode 100755 index 00000000..c7710a41 --- /dev/null +++ b/benchmarks/helicalMixer_4MParticles/caseSetup/sphereShape @@ -0,0 +1,11 @@ +/* -------------------------------*- C++ -*--------------------------------- *\ +| phasicFlow File | +| copyright: www.cemf.ir | +\* ------------------------------------------------------------------------- */ + +objectName sphereDict; +objectType sphereShape; + +names (smallParticle largeParticle); // names of shapes +diameters (0.002 0.00201); // diameter of shapes +materials (glassMat glassMat); // material names for shapes diff --git a/benchmarks/rotatingDrum_1/cleanThisCase b/benchmarks/helicalMixer_4MParticles/cleanThisCase similarity index 100% rename from benchmarks/rotatingDrum_1/cleanThisCase rename to benchmarks/helicalMixer_4MParticles/cleanThisCase diff --git a/benchmarks/helicalMixer_4MParticles/runThisCase b/benchmarks/helicalMixer_4MParticles/runThisCase new file mode 100755 index 00000000..8ed51545 --- /dev/null +++ b/benchmarks/helicalMixer_4MParticles/runThisCase @@ -0,0 +1,23 @@ +#!/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 -f diameter id velocity + +#------------------------------------------------------------------------------ diff --git a/benchmarks/helicalMixer_4MParticles/settings/geometryDict b/benchmarks/helicalMixer_4MParticles/settings/geometryDict new file mode 100644 index 00000000..30e9bda8 --- /dev/null +++ b/benchmarks/helicalMixer_4MParticles/settings/geometryDict @@ -0,0 +1,56 @@ +/* -------------------------------*- C++ -*--------------------------------- *\ +| phasicFlow File | +| copyright: www.cemf.ir | +\* ------------------------------------------------------------------------- */ + +objectName geometryDict; +objectType dictionary; + +// motion model: rotating object around an axis +motionModel rotatingAxisMotion; + +surfaces +{ + + helix + { + type stlWall; // type of the wall + file helix2.stl; // file name in stl folder + material wallMat; // material name of this wall + motion rotAxis; // motion component name + } + + + shell + { + type stlWall; // type of the wall + file shell2.stl; // file name in stl folder + material wallMat; // material name of this wall + motion none; // motion component name + } + + + plug + { + type planeWall; + p1 (-0.075 -0.185 0.375); + p2 ( 0.075 -0.185 0.375); + p3 ( 0.075 -0.185 0.525); + p4 (-0.075 -0.185 0.525); + material wallMat; // material name of this wall + motion none; // motion component name + } + + +} + +// information for rotatingAxisMotion motion model +rotatingAxisMotionInfo +{ + rotAxis + { + p1 ( 0 0 0); + p2 ( 0 0 1); + omega 0; //3.1428; // rotation speed (rad/s) => 30 rpm + } +} diff --git a/benchmarks/helicalMixer_4MParticles/settings/particlesDict b/benchmarks/helicalMixer_4MParticles/settings/particlesDict new file mode 100644 index 00000000..d4eeef1f --- /dev/null +++ b/benchmarks/helicalMixer_4MParticles/settings/particlesDict @@ -0,0 +1,31 @@ +/* -------------------------------*- C++ -*--------------------------------- *\ +| phasicFlow File | +| copyright: www.cemf.ir | +\* ------------------------------------------------------------------------- */ + +objectName particlesDict; +objectType dictionary; + +setFields +{ + defaultValue + { + velocity realx3 (0 0 0); // linear velocity (m/s) + acceleration realx3 (0 0 0); // linear acceleration (m/s2) + rotVelocity realx3 (0 0 0); // rotational velocity (rad/s) + shapeName word smallParticle; // name of the particle shape + } + + selectors + {} +} + +// positions particles +positionParticles +{ + method empty; // creates the required fields with zero particles (empty). + + maxNumberOfParticles 4100000; // maximum number of particles in the simulation + mortonSorting Yes; // perform initial sorting based on morton code? + +} diff --git a/benchmarks/helicalMixer_4MParticles/settings/settingsDict b/benchmarks/helicalMixer_4MParticles/settings/settingsDict new file mode 100644 index 00000000..fe37f7ef --- /dev/null +++ b/benchmarks/helicalMixer_4MParticles/settings/settingsDict @@ -0,0 +1,36 @@ +/* -------------------------------*- C++ -*--------------------------------- *\ +| phasicFlow File | +| copyright: www.cemf.ir | +\* ------------------------------------------------------------------------- */ +objectName settingsDict; +objectType dictionary;; + +run inclinedScrewConveyor; + +dt 0.00001; // time step for integration (s) + +startTime 2.9; // start time for simulation + +endTime 7; // end time for simulation + +saveInterval 0.05; // time interval for saving the simulation + +timePrecision 3; // maximum number of digits for time folder + +g (0 -9.8 0); // gravity vector (m/s2) + +/* + Simulation domain + every particles that goes outside this domain is deleted. +*/ +domain +{ + min (-0.19 -0.19 -0.02); + max ( 0.19 0.26 0.92); +} + +integrationMethod AdamsBashforth2; // integration method + +timersReport Yes; // report timers? + +timersReportInterval 0.01; // time interval for reporting timers diff --git a/benchmarks/rotatingDrum_1/caseSetup/interaction b/benchmarks/rotatingDrum_4MParticles/caseSetup/interaction similarity index 100% rename from benchmarks/rotatingDrum_1/caseSetup/interaction rename to benchmarks/rotatingDrum_4MParticles/caseSetup/interaction diff --git a/benchmarks/rotatingDrum_1/caseSetup/particleInsertion b/benchmarks/rotatingDrum_4MParticles/caseSetup/particleInsertion similarity index 100% rename from benchmarks/rotatingDrum_1/caseSetup/particleInsertion rename to benchmarks/rotatingDrum_4MParticles/caseSetup/particleInsertion diff --git a/benchmarks/rotatingDrum_1/caseSetup/sphereShape b/benchmarks/rotatingDrum_4MParticles/caseSetup/sphereShape similarity index 100% rename from benchmarks/rotatingDrum_1/caseSetup/sphereShape rename to benchmarks/rotatingDrum_4MParticles/caseSetup/sphereShape diff --git a/benchmarks/rotatingDrum_4MParticles/cleanThisCase b/benchmarks/rotatingDrum_4MParticles/cleanThisCase new file mode 100755 index 00000000..8a0ab919 --- /dev/null +++ b/benchmarks/rotatingDrum_4MParticles/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/benchmarks/rotatingDrum_1/runThisCase b/benchmarks/rotatingDrum_4MParticles/runThisCase similarity index 100% rename from benchmarks/rotatingDrum_1/runThisCase rename to benchmarks/rotatingDrum_4MParticles/runThisCase diff --git a/benchmarks/rotatingDrum_1/settings/geometryDict b/benchmarks/rotatingDrum_4MParticles/settings/geometryDict similarity index 100% rename from benchmarks/rotatingDrum_1/settings/geometryDict rename to benchmarks/rotatingDrum_4MParticles/settings/geometryDict diff --git a/benchmarks/rotatingDrum_1/settings/particlesDict b/benchmarks/rotatingDrum_4MParticles/settings/particlesDict similarity index 100% rename from benchmarks/rotatingDrum_1/settings/particlesDict rename to benchmarks/rotatingDrum_4MParticles/settings/particlesDict diff --git a/benchmarks/rotatingDrum_1/settings/settingsDict b/benchmarks/rotatingDrum_4MParticles/settings/settingsDict similarity index 100% rename from benchmarks/rotatingDrum_1/settings/settingsDict rename to benchmarks/rotatingDrum_4MParticles/settings/settingsDict