Skip to content
Andreas Aigner edited this page Apr 12, 2019 · 5 revisions

Note these changes are technical details listed for the sake of completeness. Regular users will not notice any changes unless they dive into the code and want to understand the gory details.

LIGGGHTS 3.0.1 -> 3.0.2

  • Introduction of a LIGGGHTS namespace and sub-namespaces to better organize our code base. E.g.,

    • LIGGGHTS::Walls
    • LIGGGHTS::PairStyles
    • LIGGGHTS::ContactModels
  • Template instantiation of contact models was moved outside of the LAMMPS core files (force.cpp and modify.cpp) to granular_styles.cpp. Another layer of indirection was introduced to generalize the used mechanisms. e.g.

  • PairGranBase => PairGranProxy + LIGGGHTS::PairStyles::Granular
  • FixWallGranBase => FixWallGran + LIGGGHTS::Walls::Granular
  • Instantiation of contact models and both pair styles and walls is now implemented using the Factory pattern. We rely on static initialization to register all our contact models.

Note

This has implications if you use LIGGGHTS as a library! Linkers must be made aware of the fact that they must link the entire object file archive (-Wl,--whole-archive). For example, if you are linking a LIGGGHTS library to CFDEM, be sure you have -Wl,--whole-archive -l$(CFDEM_LIGGGHTS_LIB_NAME) -Wl,--no-whole-archiv in the respective 'options' file of CFDEM's lagrangian libray!


Clone this wiki locally