Wednesday, August 19, 2009

ESyS-Particle: when you want to use periodic boundary conditions

In ESyS-Particle, when you wanna use periodic (circular) boundary conditions along one (or more) direction(s), you MUST choose to divide the spatial domain of the model into AT LEAST 2 sub-domains along that/those) direction(s). Meaning, you MUST run the simulation in parallel with AT LEAST 2 sub-domains along that(those) direction(s).

That's a really important feature of ESyS-Particle cited in the following post on ESyS-Particlelaunchpad User's Forum .

I was distracted several times by strange results by the simulations and did not run them properly. I looked for the problem and suddenly realized that I forgot to run it in parallel, at least with 3 threads (i.e., processors), one as master and the other two as slaves (the real computational threads).

Do not loose your time in making stupid errors ...

If you want to run a simulation with circular boundary condition, always check about this detail first.

------------------------------------------------------------------------------
Disclaimer

This post is based on the author's personal experience in using the ESyS-Particle Discrete Element Method code.
This post should not be considered as an official document about the code itself.
This post does not come with any warranty about the correctness of its content.
If you find any error in the content, please write to the author.
------------------------------------------------------------------------------

Monday, August 17, 2009

ESyS-Particle: RotBondPrms interaction group 's parameters

Since version 2.0, for 3D simulations, RotBondPrms interaction group's parameters identifying elastic spring constants have been redefined in order to take into account the effect of the particle size distribution.
The parameters, members of the class RotBondPrms, are the following ones:

  • normalK
  • shearK
  • torsionK
  • bendingK
  • normalBrkForce
  • shearBrkForce
  • torsionBrkForce
  • bendingBrkForce
In input, inside a ESyS-Particle Python script, they must be assigned as elastic constants, i.e. moduli. For example, if the basic units used for mass, length and time are Kg, m and s respectively, then these parameters must be assigned in Pascal.
Then, for example, normalK must be expressed as a Young modulus and the corresponding breaking threshold normalBrkForce as a yield stress.

Again, this is valid only for 3D simulations and for ESyS-Particle version 2.0 on.
The same principle applies for the corresponding members of two other classes implementing other different interaction groups: RotFrictionPrms and NRotElasticWallPrms.

-------------------------------------------------------------------------------------------------
Disclaimer

This post is based on the author's personal experience in using the ESyS-Particle Discrete Element Method code.
This post should not be considered as an official document about the code itself.
This post does not come with any warranty about the correctness of its content.
If you find any error in the content, please write to the author.
-------------------------------------------------------------------------------------------------