<!-- iframe showing the search results (closed by default) -->
<divid="MSearchResultsWindow">
<iframesrc="javascript:void(0)"frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<divclass="PageDoc"><divclass="header">
<divclass="headertitle">
<divclass="title">Problem Definition </div></div>
</div><!--header-->
<divclass="contents">
<divclass="textblock"><p>The problem is to simulate a double pedestal tote blender with the diameter <b>0.03 m</b> and <b>0.1 m</b> respectively, the length <b>0.3 m</b>, rotating at <b>28 rpm</b>. This blender is filled with <b>20000</b> Particles. The timestep for integration is <b>0.00001 s</b>. There is one type of Particle in this blender that are being inserted during simulation to fill the blender.</p><ul>
<li><b>20000</b> particles with <b>4 mm</b> diameter, at the rate of 20000 particles/s for 1 sec. َAfter settling particles, this blender starts to rotate at t=**1s**.</li>
</ul>
<p><html><body></p><divalign="center"><b> a view of the tote-blender while rotating </b><divalign="center"><img src="sample sample sample sample", width=700px></div><p></body></html></div><divalign="center"><h1>Setting up the Case</h1>
</div><divalign="center"> 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: <code>caseSetup</code>, <code>setting</code>. (see the above folders). Unlike the previous cases, this case does not have the <code>stl</code> file. and the geometry is described in the <code>geometryDict</code> file.</div><divalign="center"><h2>Defining particles</h2>
</div><divalign="center"> Then in the <code>caseSetup/sphereShape</code> the diameter and the material name of the particles are defined. <divclass="fragment"><divclass="line"> {C++}</div>
<divclass="line">// names of shapes </div>
<divclass="line">names (sphere1); </div>
<divclass="line">// diameter of shapes (m)</div>
<divclass="line">diameters (0.004);</div>
<divclass="line">// material names for shapes </div>
<divclass="line">materials (prop1); </div>
</div><!-- fragment --></div><divalign="center"><h2>Particle Insertion</h2>
</div><divalign="center"> 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.</div><divalign="center"><divalign="center"> in <b>caseSetup/particleInsertion</b> file </div></div><divalign="center"><divclass="fragment"><divclass="line"> {C++}</div>
<divclass="line">// positions particles </div>
<divclass="line">positionParticles</div>
<divclass="line">{</div>
<divclass="line">// ordered positioning</div>
<divclass="line"> method positionOrdered; </div>
<divclass="line">// maximum number of particles in the simulation</div>
<divclass="line">// perform initial sorting based on morton code? </div>
<divclass="line"> mortonSorting Yes; </div>
<divclass="line">// cylinder for positioning particles </div>
<divclass="line"> cylinder</div>
<divclass="line"> {</div>
<divclass="line">// Coordinates of top cylinderRegion (m,m,m) </div>
<divclass="line"> p1 (0.05 0.0 0.12);</div>
<divclass="line"> p2 (0.05 0.0 0.22);</div>
<divclass="line">// radius of cylinder</div>
<divclass="line"> radius 0.066;</div>
<divclass="line"> }</div>
<divclass="line"></div>
<divclass="line"> positionOrderedInfo</div>
<divclass="line"> {</div>
<divclass="line">// minimum space between centers of particles</div>
<divclass="line"> diameter 0.003;</div>
<divclass="line">// number of particles in the simulation </div>
<divclass="line"> numPoints 20000;</div>
<divclass="line">// axis order for filling the space with particles </div>
<divclass="line"> axisOrder (z y x); </div>
<divclass="line"> }</div>
<divclass="line">}</div>
</div><!-- fragment --></div><divalign="center"><h2>Interaction between particles</h2>
</div><divalign="center"> In <code>caseSetup/interaction</code> 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). <divclass="fragment"><divclass="line"> {C++}</div>
<divclass="line"> // a list of materials names</div>
<divclass="line">materials (prop1);</div>
<divclass="line">// density of materials [kg/m3]</div>
<divclass="line">// coefficient of normal restitution</div>
<divclass="line"> en (0.7); </div>
<divclass="line">// coefficient of tangential restitution</div>
<divclass="line"> et (1.0); </div>
<divclass="line">// dynamic friction</div>
<divclass="line"> mu (0.3); </div>
<divclass="line">// rolling friction</div>
<divclass="line"> mur (0.1); </div>
<divclass="line"></div>
<divclass="line">}</div>
</div><!-- fragment --></div><divalign="center"><h2>Settings</h2>
</div><divalign="center"><h3>Geometry</h3>
</div><divalign="center"> In the <code>settings/geometryDict</code> 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. <divclass="fragment"><divclass="line"> {C++}</div>
<divclass="line">surfaces</div>
<divclass="line">{</div>
<divclass="line"> topGate</div>
<divclass="line"> topGate</div>
<divclass="line"> {</div>
<divclass="line"> // type of wall</div>
<divclass="line"> type cylinderWall;</div>
<divclass="line"> // begin point of cylinder axis </div>
<divclass="line"> p1 (0.0 0.0 0.299);</div>
<divclass="line"> // end point of cylinder axis </div>
<divclass="line"> p2 (0.0 0.0 0.3);</div>
<divclass="line"> // radius at p1 </div>
<divclass="line"> radius1 0.03;</div>
<divclass="line"> // radius at p2 </div>
<divclass="line"> radius2 0.0001;</div>
<divclass="line"> // material of wall</div>
<divclass="line"> material solidProperty;</div>
<divclass="line"> // motion component name</div>
<divclass="line"> motion axisOfRotation; </div>
<divclass="line"> }</div>
<divclass="line"></div>
<divclass="line"> topCylinder</div>
<divclass="line"> {</div>
<divclass="line"> // type of the wall</div>
<divclass="line"> type cylinderWall;</div>
<divclass="line"> // begin point of cylinder axis </div>
<divclass="line"> p1 (0.0 0.0 0.28);</div>
<divclass="line"> // end point of cylinder axis </div>
<divclass="line"> p2 (0.0 0.0 0.3);</div>
<divclass="line"> // radius at p1 </div>
<divclass="line"> radius1 0.03;</div>
<divclass="line"> // radius at p2 </div>
<divclass="line"> radius2 0.03;</div>
<divclass="line"> // number of divisions </div>
<divclass="line"> resolution 36;</div>
<divclass="line"> // material name of this wall</div>
<divclass="line"> material prop1;</div>
<divclass="line"> // motion component name </div>
<divclass="line"> motion axisOfRotation; </div>
<divclass="line"> }</div>
<divclass="line"></div>
<divclass="line"> coneShelltop</div>
<divclass="line"> {</div>
<divclass="line"> // type of the wall </div>
<divclass="line"> type cylinderWall;</div>
<divclass="line"> // begin point of cylinder axis </div>
<divclass="line"> p1 (0.0 0.0 0.2);</div>
<divclass="line"> // end point of cylinder axis </div>
<divclass="line"> p2 (0.0 0.0 0.28);</div>
<divclass="line"> // radius at p1 </div>
<divclass="line"> radius1 0.1;</div>
<divclass="line"> // radius at p2 </div>
<divclass="line"> radius2 0.03;</div>
<divclass="line"> // number of divisions </div>
<divclass="line"> resolution 36;</div>
<divclass="line"> // material name of this wall </div>
<divclass="line"> material prop1;</div>
<divclass="line"> // motion component name </div>
<divclass="line"> motion axisOfRotation; </div>
<divclass="line"> }</div>
<divclass="line"></div>
<divclass="line"> cylinderShell</div>
<divclass="line"> {</div>
<divclass="line"> // type of the wall</div>
<divclass="line"> type cylinderWall;</div>
<divclass="line"> // begin point of cylinder axis </div>
<divclass="line"> p1 (0.0 0.0 0.1);</div>
<divclass="line"> // end point of cylinder axis</div>
<divclass="line"> p2 (0.0 0.0 0.2);</div>
<divclass="line"> // radius at p1 </div>
<divclass="line"> radius1 0.1;</div>
<divclass="line"> // radius at p2 </div>
<divclass="line"> radius2 0.1;</div>
<divclass="line"> // number of divisions </div>
<divclass="line"> resolution 36;</div>
<divclass="line"> // material name of this wall </div>
<divclass="line"> material prop1; </div>
<divclass="line"> // motion component name </div>
<divclass="line"> motion axisOfRotation; </div>
<divclass="line"> }</div>
<divclass="line"></div>
<divclass="line"> coneShelldown</div>
<divclass="line"> {</div>
<divclass="line"> // type of the wall</div>
<divclass="line"> type cylinderWall;</div>
<divclass="line"> // begin point of cylinder axis </div>
<divclass="line"> p1 (0.0 0.0 0.02);</div>
<divclass="line"> // end point of cylinder axis </div>
<divclass="line"> p2 (0.0 0.0 0.1);</div>
<divclass="line"> // radius at p1 </div>
<divclass="line"> radius1 0.03;</div>
<divclass="line"> // radius at p2 </div>
<divclass="line"> radius2 0.1;</div>
<divclass="line"> // number of divisions </div>
<divclass="line"> resolution 36;</div>
<divclass="line"> // material name of this wall </div>
<divclass="line"> material prop1;</div>
<divclass="line"> // motion component name </div>
<divclass="line"> motion axisOfRotation; </div>
<divclass="line"> }</div>
<divclass="line"> /*</div>
<divclass="line"> This is a plane wall at the exit of silo</div>
<divclass="line"> */</div>
<divclass="line"></div>
<divclass="line"> bottomCylinder</div>
<divclass="line"> {</div>
<divclass="line"> // type of the wall</div>
<divclass="line"> type cylinderWall; </div>
<divclass="line"> // begin point of cylinder axis </div>
<divclass="line"> p1 (0.0 0.0 0.0);</div>
<divclass="line"> // end point of cylinder axis </div>
<divclass="line"> p2 (0.0 0.0 0.02);</div>
<divclass="line"> // radius at p1 </div>
<divclass="line"> radius1 0.03;</div>
<divclass="line"> // radius at p2 </div>
<divclass="line"> radius2 0.03;</div>
<divclass="line"> // number of divisions </div>
<divclass="line"> resolution 36;</div>
<divclass="line"> // material name of this wall </div>
<divclass="line"> material prop1;</div>
<divclass="line"> // motion component name </div>
<divclass="line"> motion axisOfRotation; </div>
<divclass="line"> }</div>
<divclass="line"> exitGate</div>
<divclass="line"> {</div>
<divclass="line"> type planeWall;</div>
<divclass="line"> p1 (-0.05 -0.05 0);</div>
<divclass="line"> p2 (-0.05 0.05 0);</div>
<divclass="line"> p3 ( 0.05 0.05 0);</div>
<divclass="line"> p4 (0.05 -0.05 0);</div>
<divclass="line"> material prop1;</div>
<divclass="line"> motion axisOfRotation; </div>
<divclass="line"> }</div>
<divclass="line"></div>
<divclass="line">}</div>
</div><!-- fragment --></div><divalign="center"><h3>Rotating Axis Info</h3>
</div><divalign="center"> In this part of <code>geometryDict</code> 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**. <divclass="fragment"><divclass="line"> {C++}</div>
<divclass="line">// information for rotatingAxisMotion motion model </div>
<divclass="line">rotatingAxisMotionInfo</div>
<divclass="line">{</div>
<divclass="line"> axisOfRotation </div>
<divclass="line"> {</div>
<divclass="line"> p1 (-0.1 0.0 0.15); // first point for the axis of rotation </div>
<divclass="line"> p2 (0.1 0.0 0.15); // second point for the axis of rotation</div>
<divclass="line"> // Start time of Geometry Rotating (s) </div>
<divclass="line"> startTime 1;</div>
<divclass="line"> // End time of Geometry Rotating (s)</div>
<divclass="line"> endTime 9.5;</div>
<divclass="line"> }</div>
<divclass="line">}</div>
</div><!-- fragment --></div><divalign="center"><h2>Performing Simulation</h2>
</div><divalign="center"> To perform simulations, enter the following commands one after another in the terminal.</div><divalign="center">Enter <code>$ particlesPhasicFlow</code> command to create the initial fields for particles. <br/>
Enter <code>$ geometryPhasicFlow</code> command to create the Geometry. <br/>
At last, enter <code>$ sphereGranFlow</code> command to start the simulation. <br/>
After finishing the simulation, you can use <code>$ pFlowtoVTK</code> to convert the results into vtk format storred in ./VTK folder. </div></div></div><!-- contents -->
</div><!-- PageDoc -->
</div><!-- doc-content -->
<divid="nav-path"class="navpath"><!-- id is needed for treeview function! -->