Update list-maintainers to output redmine syntax
[hoomd-blue.git] / share / hoomd / plugin_template_pair_ext / README
blobd1ef80c963a84e1021e46c622a86e7724a5dbb86
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
8    underscore.
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:
12    * in cppmodule
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)
19     * in pymodule
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.