How-To for “SUPERQUADRIC” simulations in LIGGGHTS(R)


Description:

This text describes how to perform “SUPERQUADRIC” simulations in LIGGGHTS(R).

Introduction:

“SUPERQUADRIC” simulations allow LIGGGHTS(R) to use superquadric bodies as particles.

Compilation:

To compile LIGGGHTS(R) with this feature the boost library must be available on the system. On most LINUX-distributions a recent version can be installed via the package managment systems.

Before starting the compilation, you have to enable the SUPERQUADRIC model in your Makefile. In case of Makefile.auto you can activate the model by settings the corresponding flag within your src/MAKE/Makefile.user. Otherwise you have to add following settings manually to your Makefile:

LMP_INC += -DSUPERQUADRIC_ACTIVE_FLAG -DNONSPHERICAL_ACTIVE_FLAG
(in case of a non-system-wide boost installation)
EXTRA_INC += -IPath/to/your/Boost/include

Note

Make sure that you add the definitions after the original assignments of LMP_INC and EXTRA_INC. Otherwise your changes will be overwritten.

Note

“Most Boost libraries are header-only: they consist entirely of header files containing templates and inline functions, and require no separately-compiled library binaries or special treatment when linking.” (link)

Detailed description:

The overall simulation structure stays the same for SUPERQUADRIC simulations as used for standard LIGGGHTS(R) simulations. In order to create a SUPERQUADRIC simulation based on an existing case you have to perform following steps:

Performance

The SUPERQUADRIC model uses the framework of LIGGGHT(R). Therefore, the parallel scalability is linear as LIGGGHTS(R) itself. Compared to standard LIGGGHTS(R), the calculation of contact points is computational expensive for superquadric bodies, which leads to a lower maximum number of particles per processor.


Questions?

If any questions remain, contact us.