1 See plugin_template_cpp for basic information on compiling and using plugins. What follows here is documentation
2 specific to creating pair potential plugins.
4 To create a plugin that actually does something useful
5 - copy plugin_template_pair to a new location
6 - change the PROJECT() line in CMakeLists.txt to the name of your new plugin. This is the name that it will install to
7 - change the BOOST_PYTHON_MODULE line in cppmodule/module.cc to include the name of your new plugin prefixed with an
9 - Modify the source in cppmodule and pymodule. The existing files in those directories serve as examples and include
10 many of the details in comments. The LJ pair potential is included as an example.
11 - Specifically, adding a pair potential requires the following steps:
13 * Write an Evaluator that evaluates the potential. See EvaluatorPairLJ2.h for an example and full documentation.
14 * Add a gpu_compute_???_forces funtion to AllDriverPotentialPairExtGPU.cu (see comments in file for details)
15 * Add a declaration of gpu_compute_???_forces in AllDriverPotentialPairExtGPU.cuh
16 * Add #include "EvaluatorPair???.h" in AllPairExtPotentials where indicated.
17 * Add the appropriate typedefs in AllPairExtPotentials where indicated (see existing potentials for an example)
18 * Add the appropriate export_PotentialPair calls in module.cc (see existing lines for an example)
20 * add a new class in pair.py that initializes the pair potential defined in module.cc and processes the
21 user specified coefficients into the proper form. See pair.lj2 in pair.py for an example.