Skip to content

TODO List of improvements and fixes in YADE

This is the list of all possible tasks and ideas to be done in Yade. Tasks can be solved during some students works, contents etc. Task can be moved into a separated issue.

Original meeting notes:

  1. Polyhedra needs some fixes and attention #242
  2. Answers service on launchpad is being backed up. It should be automated.
  3. Reduce compilation time. It should be checked, whether the preprocessed .i-files can be reduced
  4. Run include-what-you-use script
  5. Use native C++ Real type on python side. So basically remove dependency on python mpmath. Remove class PyClassCustom and improve on !685 (closed) instead of !678 (merged).
  6. Replace shared_ptr on C++ side with const variable& in function calls (changes signature of almost every function). Use shared_ptr only in containers. On C++/python boundary use shared_from_this() function which was added in !651 (merged).
  7. Faster type casting #199, use Indexable class to provide dynamic_cast functionality with speed of static_cast, with the casting map created somewhere in buildDynlibDatabase. Use example code from #199 to start.
  8. add support for more architectures, e.g. mips64el, use qemu docker or chroot for testing. See for example !588 (merged). Use compiler flags such as -Wcast-align to help in solving crashes.
  9. Use boost::units for all physical quantities in the code, use C++ literals to write in C++ assignments like: d=11_mm;, t=5_s;, p=15_Pa;. Enjoy unit dimensional checking by the compiler during compilation or allow to disable it if someone doesn't want it, then e.g. p=15_Pa; just returns the Real type instead of Pascal.
  10. Add PEFRL time integrator, see short discussion in !555 (merged).
  11. Use pybind in place of boost::python (to boost compilation), see comment below
  12. Improve save files compatibility between versions, also load & save python variables from the script.
  13. For more items see wishlist
Edited by bchareyre