diff --git a/tutorials/sphereGranFlow/layeredSiloFilling/caseSetup/interaction b/tutorials/sphereGranFlow/layeredSiloFilling/caseSetup/interaction index d73e4195..7c2a70a6 100755 --- a/tutorials/sphereGranFlow/layeredSiloFilling/caseSetup/interaction +++ b/tutorials/sphereGranFlow/layeredSiloFilling/caseSetup/interaction @@ -6,11 +6,11 @@ objectName interaction; objectType dicrionary; fileFormat ASCII; /*---------------------------------------------------------------------------*/ -materials (lightMat heavyMat wallMat); // a list of materials names +materials (lightMat heavyMat wallMat); // a list of materials names -densities (1000 1500.0 2500); // density of materials [kg/m3] +densities (1000 1500.0 2500); // density of materials [kg/m3] -contactListType sortedContactList; +contactListType sortedContactList; contactSearch { @@ -29,39 +29,40 @@ model { contactForceModel nonLinearLimited; - rollingFrictionModel normal; + rollingFrictionModel normal; /* + Property (lightMat-lightMat lightMat-heavyMat lightMat-wallMat heavyMat-heavyMat heavyMat-wallMat - wallMat-wallMat ); + wallMat-wallMat ); */ - Yeff (1.0e6 1.0e6 1.0e6 // Young modulus [Pa] + Yeff (1.0e6 1.0e6 1.0e6 // Young modulus [Pa] 1.0e6 1.0e6 1.0e6); - Geff (0.8e6 0.8e6 0.8e6 // Shear modulus [Pa] + Geff (0.8e6 0.8e6 0.8e6 // Shear modulus [Pa] 0.8e6 0.8e6 0.8e6); - nu (0.25 0.25 0.25 // Poisson's ratio [-] + nu (0.25 0.25 0.25 // Poisson's ratio [-] 0.25 0.25 0.25); - en (0.97 0.97 0.85 // coefficient of normal restitution + en (0.97 0.97 0.85 // coefficient of normal restitution 0.97 0.85 1.00); - et (1.0 1.0 1.0 // coefficient of tangential restitution + et (1.0 1.0 1.0 // coefficient of tangential restitution 1.0 1.0 1.0); - mu (0.65 0.65 0.35 // dynamic friction + mu (0.65 0.65 0.35 // dynamic friction 0.65 0.35 0.35); - mur (0.1 0.1 0.1 // rolling friction + mur (0.1 0.1 0.1 // rolling friction 0.1 0.1 0.1); } diff --git a/tutorials/sphereGranFlow/layeredSiloFilling/caseSetup/particleInsertion b/tutorials/sphereGranFlow/layeredSiloFilling/caseSetup/particleInsertion index fd311c48..195f27df 100755 --- a/tutorials/sphereGranFlow/layeredSiloFilling/caseSetup/particleInsertion +++ b/tutorials/sphereGranFlow/layeredSiloFilling/caseSetup/particleInsertion @@ -6,9 +6,9 @@ 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 +checkForCollision No; // is checked -> yes or no /* one layers of particles are packed diff --git a/tutorials/sphereGranFlow/layeredSiloFilling/settings/domainDict b/tutorials/sphereGranFlow/layeredSiloFilling/settings/domainDict index c9f52b8d..1e711f8b 100755 --- a/tutorials/sphereGranFlow/layeredSiloFilling/settings/domainDict +++ b/tutorials/sphereGranFlow/layeredSiloFilling/settings/domainDict @@ -6,7 +6,7 @@ objectName domainDict; objectType dictionary; fileFormat ASCII; /*---------------------------------------------------------------------------*/ -globalBox // Simulation domain: every particles that goes outside this domain will be deleted +globalBox // Simulation domain: every particles that goes outside this domain will be deleted { min (-0.11 -0.11 -0.11); @@ -16,44 +16,49 @@ globalBox // Simulation domain: every particles that goes out boundaries { // Determines how often (how many iterations) do you want to + // rebuild the list of particles in the neighbor list + // of all boundaries in the simulation domain + 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 + type exit; // other options: periodict, reflective } right { - type exit; // other options: periodict, reflective + type exit; // other options: periodict, reflective } bottom { - type exit; // other options: periodict, reflective + type exit; // other options: periodict, reflective } top { - type exit; // other options: periodict, reflective + type exit; // other options: periodict, reflective } rear { - type exit; // other options: periodict, reflective + type exit; // other options: periodict, reflective } front { - type exit; // other options: periodict, reflective + type exit; // other options: periodict, reflective } } diff --git a/tutorials/sphereGranFlow/layeredSiloFilling/settings/geometryDict b/tutorials/sphereGranFlow/layeredSiloFilling/settings/geometryDict index fcab5c6d..4c7c9cc1 100755 --- a/tutorials/sphereGranFlow/layeredSiloFilling/settings/geometryDict +++ b/tutorials/sphereGranFlow/layeredSiloFilling/settings/geometryDict @@ -6,7 +6,7 @@ objectName geometryDict; objectType dictionary; fileFormat ASCII; /*---------------------------------------------------------------------------*/ -motionModel stationary; // motion model can be rotatingAxis or stationary or vibrating +motionModel stationary; // motion model can be rotatingAxis or stationary or vibrating stationaryInfo { @@ -17,36 +17,36 @@ surfaces { cylinderShell { - type cylinderWall; // other options: cuboidWall and planeWall + type cylinderWall; // other options: cuboidWall and planeWall - p1 (0.0 0.0 0.0); // begin point of cylinder axis + p1 (0.0 0.0 0.0); // begin point of cylinder axis - p2 (0.0 0.0 0.4); // end point of cylinder axis + p2 (0.0 0.0 0.4); // end point of cylinder axis - radius1 0.1; // radius at p1 + radius1 0.1; // radius at p1 - radius2 0.1; // radius at p2 + radius2 0.1; // radius at p2 - resolution 36; // number of divisions + resolution 36; // number of divisions - material wallMat; // material name of this wall + material wallMat; // material name of this wall } coneShell { - type cylinderWall; // other options: cuboidWall and planeWall + type cylinderWall; // other options: cuboidWall and planeWall - p1 (0.0 0.0 -0.1); // begin point of cylinder axis + p1 (0.0 0.0 -0.1); // begin point of cylinder axis - p2 (0.0 0.0 0.0); // end point of cylinder axis + p2 (0.0 0.0 0.0); // end point of cylinder axis - radius1 0.02; // radius at p1 + radius1 0.02; // radius at p1 - radius2 0.1; // radius at p2 + radius2 0.1; // radius at p2 + + resolution 36; // number of divisions - resolution 36; // number of divisions - - material wallMat; // material name of this wall + material wallMat; // material name of this wall } /* @@ -55,17 +55,17 @@ surfaces exitGate { - type planeWall; // other options: cuboidWall and cylinderWall + type planeWall; // other options: cuboidWall and cylinderWall - p1 (-0.02 -0.02 -0.1); // first point of the wall + p1 (-0.02 -0.02 -0.1); // first point of the wall - p2 ( 0.02 -0.02 -0.1); // second point of the wall + p2 ( 0.02 -0.02 -0.1); // second point of the wall - p3 ( 0.02 0.02 -0.1); // third point of the wall + p3 ( 0.02 0.02 -0.1); // third point of the wall - p4 (-0.02 0.02 -0.1); // fourth point of the wall + p4 (-0.02 0.02 -0.1); // fourth point of the wall - material wallMat; // material name of the wall + material wallMat; // material name of the wall } } diff --git a/tutorials/sphereGranFlow/layeredSiloFilling/settings/particlesDict b/tutorials/sphereGranFlow/layeredSiloFilling/settings/particlesDict index 5145dddc..4df47975 100755 --- a/tutorials/sphereGranFlow/layeredSiloFilling/settings/particlesDict +++ b/tutorials/sphereGranFlow/layeredSiloFilling/settings/particlesDict @@ -9,37 +9,39 @@ fileFormat ASCII; setFields { /* - Default value for fields defined for particles + 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) + velocity realx3 (0 0 0); // linear velocity (m/s) - acceleration realx3 (0 0 0); // linear acceleration (m/s2) + acceleration realx3 (0 0 0); // linear acceleration (m/s2) - rVelocity realx3 (0 0 0); // rotational velocity (rad/s) + rVelocity realx3 (0 0 0); // rotational velocity (rad/s) - shapeName word lightSphere; // name of the particle shape + shapeName word lightSphere; // name of the particle shape } selectors {} } -positionParticles // positions particles +positionParticles // positions particles { - method empty; // other options: ordered and random + method empty; // other options: ordered and random - regionType box; // other options: cylinder and sphere + regionType box; // other options: cylinder and sphere - boxInfo // box region for positioning particles + boxInfo // box region for positioning particles { - min (-0.08 -0.08 0.015); // lower corner point of the box + min (-0.08 -0.08 0.015); // lower corner point of the box - max ( 0.08 0.08 0.098); // upper corner point of the box + max ( 0.08 0.08 0.098); // upper corner point of the box } } diff --git a/tutorials/sphereGranFlow/layeredSiloFilling/settings/settingsDict b/tutorials/sphereGranFlow/layeredSiloFilling/settings/settingsDict index 44823844..532bba8d 100755 --- a/tutorials/sphereGranFlow/layeredSiloFilling/settings/settingsDict +++ b/tutorials/sphereGranFlow/layeredSiloFilling/settings/settingsDict @@ -8,22 +8,26 @@ fileFormat ASCII; /*---------------------------------------------------------------------------*/ run layerdSiloFilling; -dt 0.00001; // time step for integration (s) +dt 0.00001; // time step for integration (s) -startTime 0.0; // start time for simulation +startTime 0.0; // start time for simulation -endTime 5.0; // end time for simulation +endTime 5.0; // end time for simulation -saveInterval 0.05; // time interval for saving the simulation +saveInterval 0.05; // time interval for saving the simulation -timePrecision 6; // maximum number of digits for time folder +timePrecision 6; // maximum number of digits for time folder -g (0 0 -9.8); // gravity vector (m/s2) +g (0 0 -9.8); // gravity vector (m/s2) // save data objects that are not automatically saved on disk. + // overrides the default behavior -includeObjects (diameter); + +includeObjects (diameter); + // exclude unnecessary data from saving on disk + excludeObjects (rVelocity.dy1 pStructPosition.dy1 pStructVelocity.dy1); integrationMethod AdamsBashforth2; // integration method