Skip to content

PP_ PB_doc_and_amendments

Vasileios Angelidakis requested to merge PP_PB_doc_and_amendments into master

In this commit I send a documentation I wrote on the PotentialParticles and PotentialBlocks codes, incorporating also the information provided by Boon in 1(https://lists.launchpad.net/yade-dev/msg14517.html). Boon has reviewed this piece of documentation, providing many helpful comments and checking that the technical context is correct. In general, this text is dedicated to some theoretical and practical guidelines regarding the PP and PB codes. For the time being, I tried to document the basic information one needs to use these codes, aiming to explain the main features of their syntax. I included this in the "Theoretical background and extensions" chapter; hope it's the appropriate place for it.

Along with this documentation, I push a new visualisation code for the Potential Blocks in the qt environment, using CGAL. The existing visualisation code using the Marching Cubes was computationally expensive, while the actual polyhedral "Potential Block" particles were not rendered correctly. The marching cubes are still used in the Gl1_PotentialParticle.cpp file, where the particle shape is described by an implicit function and the faces are curved. For both the PP and PB codes, I implemented a wire-frame view of the particles in OpenGL and I gave colors to the particles (so far they were all rendered as white), in the Gl1_PotentialParticle.cpp and Gl1_PotentialBlock.hpp scripts, respectivelly.

I also performed some small, non-invasive, tweaks in other parts of the source code (hope it's okay). In particular:

  • In the CMakeLists.txt file, I added a comment that there is the option "ENABLE_POTENTIAL_BLOCKS" and also enabled the "MarchingCube.cpp" script when the POTENTIAL_BLOCKS are enabled (Until now, it was enabled only when the POTENTIAL_PARTICLES were enabled).
  • In the installation.rst file, I added a comment that there is the option "ENABLE_POTENTIAL_BLOCKS", like I did in the CMakeLists.txt file.

I have started clearing the PP and PB-related scripts, by spotting unused functions and parameters and correcting some of the parameters' descriptions in the headers files. After making sure the spotted parameters are truly redundant, I will remove them in a future commit. As a starting point, I removed the MOSEK-related code from the Ig2_PB_PB_ScGeom.cpp and Ig2_PP_PP_ScGeom.cpp scripts. For the PBs it wasn't used anyway (it was commented out) and for the PPs it was not the default choice, nor the fastest one, so it was removed, as an unnecessary dependency.

I also amended the existing examples in the PotentialBlocks and PotentialParticles folders, removing redundant parameters, in an attempt to enhance their readability.

If something in this commit is not clear or should be amended, I would be grateful to receive your comments! :)

Regards,

Vasileios

[1] https://lists.launchpad.net/yade-dev/msg14517.html

Merge request reports