/* -------------------------------*- 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;

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);

   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);

   mur (0.1  0.1 0.1    // rolling friction 
             0.1 0.1
                  0.1);
        
}

contactSearch
{
   method         NBS;           // method for broad search particle-particle
   wallMapping    cellMapping;   // method for broad search particle-wall 

   NBSInfo
   {
      updateFrequency 10;        // each 20 timesteps, update neighbor list 
      sizeRatio      1.1;        // bounding box size to particle diameter (max)
   }

   cellMappingInfo
   {
      updateFrequency 10;        // each 20 timesteps, update neighbor list  
      cellExtent     0.6;        // bounding box for particle-wall search (> 0.5)
   }

}