diff --git a/doc/graphviz/lammps-classes.dot b/doc/graphviz/lammps-classes.dot index 3c2d2f418d..390dd2cc4b 100644 --- a/doc/graphviz/lammps-classes.dot +++ b/doc/graphviz/lammps-classes.dot @@ -18,8 +18,8 @@ digraph lammps { Up [shape=box label="Update" color=blue] Un [shape=box label="Universe" color=blue] Ti [shape=box label="Timer" color=blue] - Lt [label="Lattice"] Rg [label="Region" color=red] + Lt [label="Lattice"] Rb [shape=box label="RegionBlock"] Rs [shape=box label="RegionSphere"] Av [label="AtomVec" color=red] @@ -34,6 +34,7 @@ digraph lammps { Du [label="Dump" color=red] Fi [label="Fix" color=red] Cp [label="Compute" color=red] + Cm [label="Command" color=red] Th [label="Thermo"] Va [label="Variable"] Ew [shape=box label="Ewald"] @@ -71,16 +72,19 @@ digraph lammps { Dg [shape=box label="DumpCFG"] Ve [shape=box label="Verlet"] Rr [shape=box label="Respa"] + Ru [shape=box label="Run"] + Se [shape=box label="Set"] Pt [shape=box label="PPPMTIP4P"] Vs [shape=box label="VerletSplit"] Ro [shape=box label="RespaOMP"] Mc [shape=box label="MinCG"] Mf [shape=box label="MinFire"] La -> {At Ci Co Do Er Fo Gr In Me Mo Ne Ou Ti Up Un} [penwidth=2] - Do -> {Lt Rg} [penwidth=2] + Do -> {Rg Lt} [penwidth=2] Rg -> {Rb Rs} [style=dashed penwidth=2] Co -> {Cb Ct} [style=dashed penwidth=2] - In -> Va [penwidth=2] + In -> {Va Cm} [penwidth=2] + Cm -> {Ru Se} [style=dashed penwidth=2] Mo -> {Fi Cp} [penwidth=2] Fo -> {Pa Bo An Di Im Ks} [penwidth=2] Ks -> {Ew Pp} [style=dashed penwidth=2] diff --git a/doc/src/Developer_org.rst b/doc/src/Developer_org.rst index 6ecccf084d..133d567cb3 100644 --- a/doc/src/Developer_org.rst +++ b/doc/src/Developer_org.rst @@ -49,8 +49,8 @@ underscore character '_' to separate words. Outside of bundled libraries which may have different conventions, all C and C++ header files have a ``.h`` extension, all C++ files have a ``.cpp`` extension, and C files a ``.c`` extension. A small number of C++ classes and utility functions -are implemented with only a ``.h`` file. Examples are the Pointer class -or the MathVec functions. +are implemented with only a ``.h`` file. Examples are the Pointers and +Commands classes or the MathVec functions. Class topology -------------- @@ -144,7 +144,7 @@ implement specific commands that can be invoked before, after, or in between runs. For these an instance of the class is created, its command() method called and then, after completion, the class instance deleted. Examples for this are the create_box, create_atoms, minimize, -run, or velocity command styles. +run, set, or velocity command styles. For all those ``styles`` certain naming conventions are employed: for the fix nve command the class is called FixNVE and the source files are @@ -175,11 +175,11 @@ follows: - The Input class reads and processes input input strings and files, stores variables, and invokes :doc:`commands `. -- As discussed above, command style classes are directly derived from - the Pointers class. They provide input script commands that perform - one-time operations before/after/between simulations or which invoke a - simulation. They are instantiated from within the Input class, - invoked, then immediately destructed. +- Command style classes are derived from the Command class. They provide + input script commands that perform one-time operations + before/after/between simulations or which invoke a simulation. They + are usually instantiated from within the Input class, its ``command`` + method invoked, and then immediately destructed. - The Finish class is instantiated to print statistics to the screen after a simulation is performed, by commands like run and minimize. diff --git a/doc/src/Developer_plugins.rst b/doc/src/Developer_plugins.rst index 68f1f1387c..1beedcf213 100644 --- a/doc/src/Developer_plugins.rst +++ b/doc/src/Developer_plugins.rst @@ -59,31 +59,25 @@ Members of ``lammpsplugin_t`` * - author - String with the name and email of the author * - creator.v1 - - Pointer to factory function for pair, bond, angle, dihedral, or improper styles + - Pointer to factory function for pair, bond, angle, dihedral, improper or command styles * - creator.v2 - Pointer to factory function for compute, fix, or region styles - * - creator.v3 - - Pointer to factory function for command styles * - handle - Pointer to the open DSO file handle Only one of the three alternate creator entries can be used at a time -and which of those is determined by the style of plugin. The "creator.v1" -element is for factory functions of supported styles computing forces (i.e. -pair, bond, angle, dihedral, or improper styles) and the function takes -as single argument the pointer to the LAMMPS instance. The factory function -is cast to the ``lammpsplugin_factory1`` type before assignment. The -"creator.v2" element is for factory functions creating an instance of -a fix, compute, or region style and takes three arguments: a pointer to -the LAMMPS instance, an integer with the length of the argument list and -a ``char **`` pointer to the list of arguments. The factory function pointer -needs to be cast to the ``lammpsplugin_factory2`` type before assignment. -The "creator.v3" element takes the same arguments as "creator.v3" but is -specific to creating command styles: the factory function has to instantiate -the command style locally passing the LAMMPS pointer as argument and then -call its "command" member function with the number and list of arguments. -The factory function pointer needs to be cast to the -``lammpsplugin_factory3`` type before assignment. +and which of those is determined by the style of plugin. The +"creator.v1" element is for factory functions of supported styles +computing forces (i.e. command, pair, bond, angle, dihedral, or +improper styles) and the function takes as single argument the pointer +to the LAMMPS instance. The factory function is cast to the +``lammpsplugin_factory1`` type before assignment. The "creator.v2" +element is for factory functions creating an instance of a fix, compute, +or region style and takes three arguments: a pointer to the LAMMPS +instance, an integer with the length of the argument list and a ``char +**`` pointer to the list of arguments. The factory function pointer +needs to be cast to the ``lammpsplugin_factory2`` type before +assignment. Pair style example ^^^^^^^^^^^^^^^^^^ @@ -123,12 +117,12 @@ function would look like this: The factory function in this example is called ``morse2creator()``. It receives a pointer to the LAMMPS class as only argument and thus has to -be assigned to the *creator.v1* member of the plugin struct and cast to the -``lammpsplugin_factory1`` pointer type. It returns a +be assigned to the *creator.v1* member of the plugin struct and cast to +the ``lammpsplugin_factory1`` function pointer type. It returns a pointer to the allocated class instance derived from the ``Pair`` class. -This function may be declared static to avoid clashes with other plugins. -The name of the derived class, ``PairMorse2``, must be unique inside -the entire LAMMPS executable. +This function may be declared static to avoid clashes with other +plugins. The name of the derived class, ``PairMorse2``, however must be +unique inside the entire LAMMPS executable. Fix style example ^^^^^^^^^^^^^^^^^ @@ -169,9 +163,9 @@ Below is an example for that: Command style example ^^^^^^^^^^^^^^^^^^^^^ -For command styles there is a third variant of factory function as +Command styles also use the first variant of factory function as demonstrated in the following example, which also shows that the -implementation of the plugin class may also be within the same +implementation of the plugin class may be within the same source file as the plugin interface code: .. code-block:: C++ @@ -180,15 +174,15 @@ file as the plugin interface code: #include "comm.h" #include "error.h" - #include "pointers.h" + #include "command.h" #include "version.h" #include namespace LAMMPS_NS { - class Hello : protected Pointers { + class Hello : public Command { public: - Hello(class LAMMPS *lmp) : Pointers(lmp) {}; + Hello(class LAMMPS *lmp) : Command(lmp) {}; void command(int, char **); }; } @@ -202,10 +196,9 @@ file as the plugin interface code: utils::logmesg(lmp,fmt::format("Hello, {}!\n",argv[0])); } - static void hellocreator(LAMMPS *lmp, int argc, char **argv) + static void hellocreator(LAMMPS *lmp) { - Hello hello(lmp); - hello.command(argc,argv); + return new Hello(lmp); } extern "C" void lammpsplugin_init(void *lmp, void *handle, void *regfunc) @@ -216,9 +209,9 @@ file as the plugin interface code: plugin.version = LAMMPS_VERSION; plugin.style = "command"; plugin.name = "hello"; - plugin.info = "Hello world command v1.0"; + plugin.info = "Hello world command v1.1"; plugin.author = "Axel Kohlmeyer (akohlmey@gmail.com)"; - plugin.creator.v3 = (lammpsplugin_factory3 *) &hellocreator; + plugin.creator.v1 = (lammpsplugin_factory1 *) &hellocreator; plugin.handle = handle; (*register_plugin)(&plugin,lmp); } diff --git a/doc/src/JPG/lammps-classes.png b/doc/src/JPG/lammps-classes.png index e401328783..71b5af9ccc 100644 Binary files a/doc/src/JPG/lammps-classes.png and b/doc/src/JPG/lammps-classes.png differ diff --git a/doc/src/Modify_command.rst b/doc/src/Modify_command.rst index 2d0a1d99d9..e0e3ecbb8d 100644 --- a/doc/src/Modify_command.rst +++ b/doc/src/Modify_command.rst @@ -1,14 +1,15 @@ Input script command style ========================== -New commands can be added to LAMMPS input scripts by adding new -classes that have a "command" method. For example, the create_atoms, -read_data, velocity, and run commands are all implemented in this -fashion. When such a command is encountered in the LAMMPS input -script, LAMMPS simply creates a class with the corresponding name, -invokes the "command" method of the class, and passes it the arguments -from the input script. The command method can perform whatever -operations it wishes on LAMMPS data structures. +New commands can be added to LAMMPS input scripts by adding new classes +that are derived from the Command class and thus must have a "command" +method. For example, the create_atoms, read_data, velocity, and run +commands are all implemented in this fashion. When such a command is +encountered in the LAMMPS input script, LAMMPS simply creates a class +instance with the corresponding name, invokes the "command" method of +the class, and passes it the arguments from the input script. The +command method can perform whatever operations it wishes on LAMMPS data +structures. The single method your new class must define is as follows: diff --git a/examples/plugins/helloplugin.cpp b/examples/plugins/helloplugin.cpp index 11f2cfb891..f4a49c1a5a 100644 --- a/examples/plugins/helloplugin.cpp +++ b/examples/plugins/helloplugin.cpp @@ -2,16 +2,16 @@ #include "lammpsplugin.h" #include "comm.h" +#include "command.h" #include "error.h" -#include "pointers.h" #include "version.h" #include namespace LAMMPS_NS { - class Hello : protected Pointers { + class Hello : public Command { public: - Hello(class LAMMPS *lmp) : Pointers(lmp) {}; + Hello(class LAMMPS *lmp) : Command(lmp) {}; void command(int, char **); }; } @@ -25,10 +25,9 @@ void Hello::command(int argc, char **argv) utils::logmesg(lmp,fmt::format("Hello, {}!\n",argv[0])); } -static void hellocreator(LAMMPS *lmp, int argc, char **argv) +static Command *hellocreator(LAMMPS *lmp) { - Hello hello(lmp); - hello.command(argc,argv); + return new Hello(lmp); } extern "C" void lammpsplugin_init(void *lmp, void *handle, void *regfunc) @@ -39,9 +38,9 @@ extern "C" void lammpsplugin_init(void *lmp, void *handle, void *regfunc) plugin.version = LAMMPS_VERSION; plugin.style = "command"; plugin.name = "hello"; - plugin.info = "Hello world command v1.0"; + plugin.info = "Hello world command v1.1"; plugin.author = "Axel Kohlmeyer (akohlmey@gmail.com)"; - plugin.creator.v3 = (lammpsplugin_factory3 *) &hellocreator; + plugin.creator.v1 = (lammpsplugin_factory1 *) &hellocreator; plugin.handle = handle; (*register_plugin)(&plugin,lmp); } diff --git a/src/KIM/kim_command.h b/src/KIM/kim_command.h index f327e4f2f3..b27b0e0873 100644 --- a/src/KIM/kim_command.h +++ b/src/KIM/kim_command.h @@ -62,13 +62,13 @@ CommandStyle(kim,KimCommand) #ifndef LMP_KIM_COMMAND_H #define LMP_KIM_COMMAND_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { -class KimCommand : protected Pointers { +class KimCommand : public Command { public: - KimCommand(class LAMMPS *lmp) : Pointers(lmp) {}; + KimCommand(class LAMMPS *lmp) : Command(lmp) {}; void command(int, char **); }; diff --git a/src/MESSAGE/message.h b/src/MESSAGE/message.h index f8b2d47a21..88c658e44b 100644 --- a/src/MESSAGE/message.h +++ b/src/MESSAGE/message.h @@ -20,13 +20,13 @@ CommandStyle(message,Message) #ifndef LMP_MESSAGE_H #define LMP_MESSAGE_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { -class Message : protected Pointers { +class Message : public Command { public: - Message(class LAMMPS *lmp) : Pointers(lmp) {}; + Message(class LAMMPS *lmp) : Command(lmp) {}; void command(int, char **); private: diff --git a/src/MESSAGE/server.h b/src/MESSAGE/server.h index 579f6ab6f1..7c93db8c64 100644 --- a/src/MESSAGE/server.h +++ b/src/MESSAGE/server.h @@ -20,13 +20,13 @@ CommandStyle(server,Server) #ifndef LMP_SERVER_H #define LMP_SERVER_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { -class Server : protected Pointers { +class Server : public Command { public: - Server(class LAMMPS *lmp) : Pointers(lmp) {}; + Server(class LAMMPS *lmp) : Command(lmp) {}; void command(int, char **); }; diff --git a/src/PLUGIN/plugin.cpp b/src/PLUGIN/plugin.cpp index b52e1a1959..d311b64520 100644 --- a/src/PLUGIN/plugin.cpp +++ b/src/PLUGIN/plugin.cpp @@ -41,7 +41,7 @@ namespace LAMMPS_NS /* ---------------------------------------------------------------------- */ - Plugin::Plugin(LAMMPS *lmp) : Pointers(lmp) {} + Plugin::Plugin(LAMMPS *lmp) : Command(lmp) {} /* ---------------------------------------------------------------------- */ @@ -257,7 +257,7 @@ namespace LAMMPS_NS "style {} from plugin", plugin->name)); } - (*command_map)[plugin->name] = (Input::CommandCreator)plugin->creator.v3; + (*command_map)[plugin->name] = (Input::CommandCreator)plugin->creator.v1; } else { utils::logmesg(lmp,fmt::format("Loading plugin for {} styles not " diff --git a/src/PLUGIN/plugin.h b/src/PLUGIN/plugin.h index 946b08db1a..4b4bca9878 100644 --- a/src/PLUGIN/plugin.h +++ b/src/PLUGIN/plugin.h @@ -21,12 +21,12 @@ CommandStyle(plugin,Plugin) #define LMP_PLUGIN_H #include "lammpsplugin.h" -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { - class Plugin : protected Pointers { + class Plugin : public Command { public: Plugin(class LAMMPS *); void command(int, char **); diff --git a/src/REPLICA/hyper.cpp b/src/REPLICA/hyper.cpp index 5a9cf8520e..8eb1c143e9 100644 --- a/src/REPLICA/hyper.cpp +++ b/src/REPLICA/hyper.cpp @@ -38,7 +38,7 @@ enum{NOHYPER,GLOBAL,LOCAL}; /* ---------------------------------------------------------------------- */ -Hyper::Hyper(LAMMPS *lmp) : Pointers(lmp), dumplist(nullptr) {} +Hyper::Hyper(LAMMPS *lmp) : Command(lmp), dumplist(nullptr) {} /* ---------------------------------------------------------------------- perform hyperdynamics simulation diff --git a/src/REPLICA/hyper.h b/src/REPLICA/hyper.h index 1b05172bcf..a96ccf3727 100644 --- a/src/REPLICA/hyper.h +++ b/src/REPLICA/hyper.h @@ -20,11 +20,11 @@ CommandStyle(hyper,Hyper) #ifndef LMP_HYPER_H #define LMP_HYPER_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { -class Hyper : protected Pointers { +class Hyper : public Command { public: Hyper(class LAMMPS *); ~Hyper() {} diff --git a/src/REPLICA/neb.cpp b/src/REPLICA/neb.cpp index a6a70fde38..7183bdd168 100644 --- a/src/REPLICA/neb.cpp +++ b/src/REPLICA/neb.cpp @@ -42,7 +42,7 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ -NEB::NEB(LAMMPS *lmp) : Pointers(lmp), all(nullptr), rdist(nullptr) {} +NEB::NEB(LAMMPS *lmp) : Command(lmp), all(nullptr), rdist(nullptr) {} /* ---------------------------------------------------------------------- internal NEB constructor, called from TAD @@ -50,7 +50,7 @@ NEB::NEB(LAMMPS *lmp) : Pointers(lmp), all(nullptr), rdist(nullptr) {} NEB::NEB(LAMMPS *lmp, double etol_in, double ftol_in, int n1steps_in, int n2steps_in, int nevery_in, double *buf_init, double *buf_final) - : Pointers(lmp), all(nullptr), rdist(nullptr) + : Command(lmp), all(nullptr), rdist(nullptr) { double delx,dely,delz; diff --git a/src/REPLICA/neb.h b/src/REPLICA/neb.h index b53992711c..8298766ccf 100644 --- a/src/REPLICA/neb.h +++ b/src/REPLICA/neb.h @@ -20,11 +20,11 @@ CommandStyle(neb,NEB) #ifndef LMP_NEB_H #define LMP_NEB_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { -class NEB : protected Pointers { +class NEB : public Command { public: NEB(class LAMMPS *); NEB(class LAMMPS *, double, double, int, int, int, double *, double *); diff --git a/src/REPLICA/prd.cpp b/src/REPLICA/prd.cpp index 40e5fc8833..2ba0340109 100644 --- a/src/REPLICA/prd.cpp +++ b/src/REPLICA/prd.cpp @@ -46,7 +46,7 @@ enum{SINGLE_PROC_DIRECT,SINGLE_PROC_MAP,MULTI_PROC}; /* ---------------------------------------------------------------------- */ -PRD::PRD(LAMMPS *lmp) : Pointers(lmp) {} +PRD::PRD(LAMMPS *lmp) : Command(lmp) {} /* ---------------------------------------------------------------------- perform PRD simulation on one or more replicas diff --git a/src/REPLICA/prd.h b/src/REPLICA/prd.h index 3539987093..0d8fde1bfe 100644 --- a/src/REPLICA/prd.h +++ b/src/REPLICA/prd.h @@ -20,11 +20,11 @@ CommandStyle(prd,PRD) #ifndef LMP_PRD_H #define LMP_PRD_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { -class PRD : protected Pointers { +class PRD : public Command { public: PRD(class LAMMPS *); ~PRD() {} diff --git a/src/REPLICA/tad.cpp b/src/REPLICA/tad.cpp index 0bab7a31c8..a849e7a242 100644 --- a/src/REPLICA/tad.cpp +++ b/src/REPLICA/tad.cpp @@ -43,7 +43,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -TAD::TAD(LAMMPS *lmp) : Pointers(lmp) {} +TAD::TAD(LAMMPS *lmp) : Command(lmp) {} /* ---------------------------------------------------------------------- */ diff --git a/src/REPLICA/tad.h b/src/REPLICA/tad.h index d44b226643..91e570c707 100644 --- a/src/REPLICA/tad.h +++ b/src/REPLICA/tad.h @@ -20,11 +20,11 @@ CommandStyle(tad,TAD) #ifndef LMP_TAD_H #define LMP_TAD_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { -class TAD : protected Pointers { +class TAD : public Command { public: TAD(class LAMMPS *); ~TAD(); diff --git a/src/REPLICA/temper.cpp b/src/REPLICA/temper.cpp index 63b34b9b1d..d3894060a3 100644 --- a/src/REPLICA/temper.cpp +++ b/src/REPLICA/temper.cpp @@ -40,7 +40,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -Temper::Temper(LAMMPS *lmp) : Pointers(lmp) {} +Temper::Temper(LAMMPS *lmp) : Command(lmp) {} /* ---------------------------------------------------------------------- */ diff --git a/src/REPLICA/temper.h b/src/REPLICA/temper.h index 883ec30b94..3f7d813f2a 100644 --- a/src/REPLICA/temper.h +++ b/src/REPLICA/temper.h @@ -20,11 +20,11 @@ CommandStyle(temper,Temper) #ifndef LMP_TEMPER_H #define LMP_TEMPER_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { -class Temper : protected Pointers { +class Temper : public Command { public: Temper(class LAMMPS *); ~Temper(); diff --git a/src/SPIN/neb_spin.cpp b/src/SPIN/neb_spin.cpp index cbb495db8e..88a0ffc402 100644 --- a/src/SPIN/neb_spin.cpp +++ b/src/SPIN/neb_spin.cpp @@ -67,7 +67,7 @@ static const char cite_neb_spin[] = /* ---------------------------------------------------------------------- */ -NEBSpin::NEBSpin(LAMMPS *lmp) : Pointers(lmp) { +NEBSpin::NEBSpin(LAMMPS *lmp) : Command(lmp) { if (lmp->citeme) lmp->citeme->add(cite_neb_spin); } diff --git a/src/SPIN/neb_spin.h b/src/SPIN/neb_spin.h index 568eca0957..54d85093a5 100644 --- a/src/SPIN/neb_spin.h +++ b/src/SPIN/neb_spin.h @@ -20,11 +20,11 @@ CommandStyle(neb/spin,NEBSpin) #ifndef LMP_NEB_SPIN_H #define LMP_NEB_SPIN_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { -class NEBSpin : protected Pointers { +class NEBSpin : public Command { public: NEBSpin(class LAMMPS *); ~NEBSpin(); diff --git a/src/USER-COLVARS/group_ndx.h b/src/USER-COLVARS/group_ndx.h index fa15f0e82e..58b210937a 100644 --- a/src/USER-COLVARS/group_ndx.h +++ b/src/USER-COLVARS/group_ndx.h @@ -22,13 +22,13 @@ CommandStyle(group2ndx,Group2Ndx) #ifndef LMP_GROUP_NDX_H #define LMP_GROUP_NDX_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { -class Group2Ndx : protected Pointers { +class Group2Ndx : public Command { public: - Group2Ndx(class LAMMPS *lmp) : Pointers(lmp) {}; + Group2Ndx(class LAMMPS *lmp) : Command(lmp) {}; void command(int, char **); private: void write_group(FILE *, int); diff --git a/src/USER-COLVARS/ndx_group.h b/src/USER-COLVARS/ndx_group.h index ceca1f9570..e0fc6cf527 100644 --- a/src/USER-COLVARS/ndx_group.h +++ b/src/USER-COLVARS/ndx_group.h @@ -22,14 +22,14 @@ CommandStyle(ndx2group,Ndx2Group) #ifndef LMP_NDX_GROUP_H #define LMP_NDX_GROUP_H -#include "pointers.h" +#include "command.h" #include namespace LAMMPS_NS { -class Ndx2Group : protected Pointers { +class Ndx2Group : public Command { public: - Ndx2Group(class LAMMPS *lmp) : Pointers(lmp) {}; + Ndx2Group(class LAMMPS *lmp) : Command(lmp) {}; void command(int, char **); void create(const std::string &, const std::vector &); }; diff --git a/src/USER-MISC/temper_grem.cpp b/src/USER-MISC/temper_grem.cpp index 3b987aaad2..ee60ab375d 100644 --- a/src/USER-MISC/temper_grem.cpp +++ b/src/USER-MISC/temper_grem.cpp @@ -40,7 +40,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -TemperGrem::TemperGrem(LAMMPS *lmp) : Pointers(lmp) {} +TemperGrem::TemperGrem(LAMMPS *lmp) : Command(lmp) {} /* ---------------------------------------------------------------------- */ diff --git a/src/USER-MISC/temper_grem.h b/src/USER-MISC/temper_grem.h index f379814c61..3c1891f22d 100644 --- a/src/USER-MISC/temper_grem.h +++ b/src/USER-MISC/temper_grem.h @@ -20,11 +20,11 @@ CommandStyle(temper/grem,TemperGrem) #ifndef LMP_TEMPER_GREM_H #define LMP_TEMPER_GREM_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { -class TemperGrem : protected Pointers { +class TemperGrem : public Command { public: TemperGrem(class LAMMPS *); ~TemperGrem(); diff --git a/src/USER-MISC/temper_npt.cpp b/src/USER-MISC/temper_npt.cpp index 08fa2246c3..1ed55a9cf3 100644 --- a/src/USER-MISC/temper_npt.cpp +++ b/src/USER-MISC/temper_npt.cpp @@ -42,7 +42,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -TemperNPT::TemperNPT(LAMMPS *lmp) : Pointers(lmp) {} +TemperNPT::TemperNPT(LAMMPS *lmp) : Command(lmp) {} /* ---------------------------------------------------------------------- */ diff --git a/src/USER-MISC/temper_npt.h b/src/USER-MISC/temper_npt.h index 6beae68c6a..a0eb1c1e9b 100644 --- a/src/USER-MISC/temper_npt.h +++ b/src/USER-MISC/temper_npt.h @@ -21,11 +21,11 @@ CommandStyle(temper/npt,TemperNPT) #ifndef LMP_TEMPERNPT_H #define LMP_TEMPERNPT_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { -class TemperNPT : protected Pointers { +class TemperNPT : public Command { public: TemperNPT(class LAMMPS *); ~TemperNPT(); diff --git a/src/USER-PHONON/dynamical_matrix.cpp b/src/USER-PHONON/dynamical_matrix.cpp index 798b50fdf7..0476c734a5 100644 --- a/src/USER-PHONON/dynamical_matrix.cpp +++ b/src/USER-PHONON/dynamical_matrix.cpp @@ -32,7 +32,7 @@ enum{REGULAR,ESKM}; /* ---------------------------------------------------------------------- */ -DynamicalMatrix::DynamicalMatrix(LAMMPS *lmp) : Pointers(lmp), fp(nullptr) +DynamicalMatrix::DynamicalMatrix(LAMMPS *lmp) : Command(lmp), fp(nullptr) { external_force_clear = 1; } diff --git a/src/USER-PHONON/dynamical_matrix.h b/src/USER-PHONON/dynamical_matrix.h index 8ff11044ea..d8c3ad411b 100644 --- a/src/USER-PHONON/dynamical_matrix.h +++ b/src/USER-PHONON/dynamical_matrix.h @@ -11,62 +11,62 @@ CommandStyle(dynamical_matrix,DynamicalMatrix) #ifndef LMP_DYNAMICAL_MATRIX_H #define LMP_DYNAMICAL_MATRIX_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { - class DynamicalMatrix : protected Pointers { - public: - DynamicalMatrix(class LAMMPS *); - virtual ~DynamicalMatrix(); - void command(int, char **); - void setup(); +class DynamicalMatrix : public Command { + public: + DynamicalMatrix(class LAMMPS *); + virtual ~DynamicalMatrix(); + void command(int, char **); + void setup(); - protected: - int eflag,vflag; // flags for energy/virial computation - int external_force_clear; // clear forces locally or externally + protected: + int eflag,vflag; // flags for energy/virial computation + int external_force_clear; // clear forces locally or externally - int triclinic; // 0 if domain is orthog, 1 if triclinic - int pairflag; + int triclinic; // 0 if domain is orthog, 1 if triclinic + int pairflag; - int pair_compute_flag; // 0 if pair->compute is skipped - int kspace_compute_flag; // 0 if kspace->compute is skipped + int pair_compute_flag; // 0 if pair->compute is skipped + int kspace_compute_flag; // 0 if kspace->compute is skipped - int nvec; // local atomic dof = length of xvec + int nvec; // local atomic dof = length of xvec - void update_force(); - void force_clear(); - virtual void openfile(const char* filename); + void update_force(); + void force_clear(); + virtual void openfile(const char* filename); - private: - void options(int, char **); - void calculateMatrix(); - void dynmat_clear(double **dynmat); - void create_groupmap(); - void writeMatrix(double **dynmat); - void convert_units(const char *style); - void displace_atom(int local_idx, int direction, int magnitude); + private: + void options(int, char **); + void calculateMatrix(); + void dynmat_clear(double **dynmat); + void create_groupmap(); + void writeMatrix(double **dynmat); + void convert_units(const char *style); + void displace_atom(int local_idx, int direction, int magnitude); - double conversion; - double conv_energy; - double conv_distance; - double conv_mass; - double del; - int igroup,groupbit; - bigint gcount; // number of atoms in group - bigint dynlen; // rank of dynamical matrix - int scaleflag; - int me; - bigint *groupmap; + double conversion; + double conv_energy; + double conv_distance; + double conv_mass; + double del; + int igroup,groupbit; + bigint gcount; // number of atoms in group + bigint dynlen; // rank of dynamical matrix + int scaleflag; + int me; + bigint *groupmap; - int compressed; // 1 if dump file is written compressed, 0 no - int binaryflag; // 1 if dump file is written binary, 0 no - int file_opened; // 1 if openfile method has been called, 0 no - int file_flag; // 1 custom file name, 0 dynmat.dat + int compressed; // 1 if dump file is written compressed, 0 no + int binaryflag; // 1 if dump file is written binary, 0 no + int file_opened; // 1 if openfile method has been called, 0 no + int file_flag; // 1 custom file name, 0 dynmat.dat - FILE *fp; - }; + FILE *fp; +}; } diff --git a/src/USER-PHONON/third_order.cpp b/src/USER-PHONON/third_order.cpp index 875490d643..ebcc682d7a 100644 --- a/src/USER-PHONON/third_order.cpp +++ b/src/USER-PHONON/third_order.cpp @@ -32,7 +32,7 @@ enum{REGULAR,BALLISTICO}; /* ---------------------------------------------------------------------- */ -ThirdOrder::ThirdOrder(LAMMPS *lmp) : Pointers(lmp), fp(nullptr) +ThirdOrder::ThirdOrder(LAMMPS *lmp) : Command(lmp), fp(nullptr) { external_force_clear = 1; } diff --git a/src/USER-PHONON/third_order.h b/src/USER-PHONON/third_order.h index 83062b6b1f..56a0266937 100644 --- a/src/USER-PHONON/third_order.h +++ b/src/USER-PHONON/third_order.h @@ -12,11 +12,11 @@ CommandStyle(third_order,ThirdOrder) #ifndef LMP_THIRD_ORDER_H #define LMP_THIRD_ORDER_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { - class ThirdOrder : protected Pointers { + class ThirdOrder : public Command { public: ThirdOrder(class LAMMPS *); virtual ~ThirdOrder(); diff --git a/src/balance.cpp b/src/balance.cpp index 6294e023b3..bf037e8f8f 100644 --- a/src/balance.cpp +++ b/src/balance.cpp @@ -51,7 +51,7 @@ enum{X,Y,Z}; /* ---------------------------------------------------------------------- */ -Balance::Balance(LAMMPS *lmp) : Pointers(lmp) +Balance::Balance(LAMMPS *lmp) : Command(lmp) { MPI_Comm_rank(world,&me); MPI_Comm_size(world,&nprocs); diff --git a/src/balance.h b/src/balance.h index 424da33757..0642fe04f6 100644 --- a/src/balance.h +++ b/src/balance.h @@ -20,11 +20,11 @@ CommandStyle(balance,Balance) #ifndef LMP_BALANCE_H #define LMP_BALANCE_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { -class Balance : protected Pointers { +class Balance : public Command { public: class RCB *rcb; class FixStore *fixstore; // per-atom weights stored in FixStore diff --git a/src/change_box.cpp b/src/change_box.cpp index ba99e1b6e1..4471d85132 100644 --- a/src/change_box.cpp +++ b/src/change_box.cpp @@ -35,7 +35,7 @@ enum{X=0,Y,Z,YZ,XZ,XY}; /* ---------------------------------------------------------------------- */ -ChangeBox::ChangeBox(LAMMPS *lmp) : Pointers(lmp) {} +ChangeBox::ChangeBox(LAMMPS *lmp) : Command(lmp) {} /* ---------------------------------------------------------------------- */ diff --git a/src/change_box.h b/src/change_box.h index d8a057f9a6..f48edb2d9f 100644 --- a/src/change_box.h +++ b/src/change_box.h @@ -20,11 +20,11 @@ CommandStyle(change_box,ChangeBox) #ifndef LMP_CHANGE_BOX_H #define LMP_CHANGE_BOX_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { -class ChangeBox : protected Pointers { +class ChangeBox : public Command { public: ChangeBox(class LAMMPS *); void command(int, char **); diff --git a/src/command.h b/src/command.h new file mode 100644 index 0000000000..6abbc167ac --- /dev/null +++ b/src/command.h @@ -0,0 +1,29 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifndef LMP_COMMAND_H +#define LMP_COMMAND_H + +#include "pointers.h" + +namespace LAMMPS_NS { + +class Command : protected Pointers { + public: + Command(class LAMMPS *lmp) : Pointers(lmp) {}; + virtual void command(int, char **) = 0; +}; + +} + +#endif diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index 46aff081d9..7591ae7587 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -52,7 +52,7 @@ enum{NONE,RATIO,SUBSET}; /* ---------------------------------------------------------------------- */ -CreateAtoms::CreateAtoms(LAMMPS *lmp) : Pointers(lmp), basistype(nullptr) {} +CreateAtoms::CreateAtoms(LAMMPS *lmp) : Command(lmp), basistype(nullptr) {} /* ---------------------------------------------------------------------- */ diff --git a/src/create_atoms.h b/src/create_atoms.h index 5508752f00..deb155b96a 100644 --- a/src/create_atoms.h +++ b/src/create_atoms.h @@ -20,11 +20,11 @@ CommandStyle(create_atoms,CreateAtoms) #ifndef LMP_CREATE_ATOMS_H #define LMP_CREATE_ATOMS_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { -class CreateAtoms : protected Pointers { +class CreateAtoms : public Command { public: CreateAtoms(class LAMMPS *); void command(int, char **); diff --git a/src/create_bonds.cpp b/src/create_bonds.cpp index 494e743c05..bedbe4b436 100644 --- a/src/create_bonds.cpp +++ b/src/create_bonds.cpp @@ -38,7 +38,7 @@ enum{MANY,SBOND,SANGLE,SDIHEDRAL,SIMPROPER}; /* ---------------------------------------------------------------------- */ -CreateBonds::CreateBonds(LAMMPS *lmp) : Pointers(lmp) {} +CreateBonds::CreateBonds(LAMMPS *lmp) : Command(lmp) {} /* ---------------------------------------------------------------------- */ diff --git a/src/create_bonds.h b/src/create_bonds.h index eea99b0113..d2d50c86c6 100644 --- a/src/create_bonds.h +++ b/src/create_bonds.h @@ -20,11 +20,11 @@ CommandStyle(create_bonds,CreateBonds) #ifndef LMP_CREATE_BONDS_H #define LMP_CREATE_BONDS_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { -class CreateBonds : protected Pointers { +class CreateBonds : public Command { public: CreateBonds(class LAMMPS *); void command(int, char **); diff --git a/src/create_box.cpp b/src/create_box.cpp index 000fb42495..1350b6f392 100644 --- a/src/create_box.cpp +++ b/src/create_box.cpp @@ -12,22 +12,24 @@ ------------------------------------------------------------------------- */ #include "create_box.h" -#include + #include "atom.h" #include "atom_vec.h" +#include "comm.h" #include "domain.h" +#include "error.h" +#include "force.h" #include "region.h" #include "region_prism.h" -#include "force.h" -#include "comm.h" #include "update.h" -#include "error.h" + +#include using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -CreateBox::CreateBox(LAMMPS *lmp) : Pointers(lmp) {} +CreateBox::CreateBox(LAMMPS *lmp) : Command(lmp) {} /* ---------------------------------------------------------------------- */ diff --git a/src/create_box.h b/src/create_box.h index 740769b4de..26a2be6fe1 100644 --- a/src/create_box.h +++ b/src/create_box.h @@ -20,11 +20,11 @@ CommandStyle(create_box,CreateBox) #ifndef LMP_CREATE_BOX_H #define LMP_CREATE_BOX_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { -class CreateBox : protected Pointers { +class CreateBox : public Command { public: CreateBox(class LAMMPS *); void command(int, char **); diff --git a/src/delete_atoms.cpp b/src/delete_atoms.cpp index 3dbf21ae59..326201c9a2 100644 --- a/src/delete_atoms.cpp +++ b/src/delete_atoms.cpp @@ -41,7 +41,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -DeleteAtoms::DeleteAtoms(LAMMPS *lmp) : Pointers(lmp) {} +DeleteAtoms::DeleteAtoms(LAMMPS *lmp) : Command(lmp) {} /* ---------------------------------------------------------------------- */ diff --git a/src/delete_atoms.h b/src/delete_atoms.h index 5eab7f6ba7..5ff1d12f65 100644 --- a/src/delete_atoms.h +++ b/src/delete_atoms.h @@ -20,12 +20,12 @@ CommandStyle(delete_atoms,DeleteAtoms) #ifndef LMP_DELETE_ATOMS_H #define LMP_DELETE_ATOMS_H -#include "pointers.h" +#include "command.h" #include namespace LAMMPS_NS { -class DeleteAtoms : protected Pointers { +class DeleteAtoms : public Command { public: DeleteAtoms(class LAMMPS *); void command(int, char **); diff --git a/src/delete_bonds.cpp b/src/delete_bonds.cpp index 5a487743e1..2bb46e7564 100644 --- a/src/delete_bonds.cpp +++ b/src/delete_bonds.cpp @@ -30,7 +30,7 @@ enum{MULTI,ATOM,BOND,ANGLE,DIHEDRAL,IMPROPER,STATS}; /* ---------------------------------------------------------------------- */ -DeleteBonds::DeleteBonds(LAMMPS *lmp) : Pointers(lmp) {} +DeleteBonds::DeleteBonds(LAMMPS *lmp) : Command(lmp) {} /* ---------------------------------------------------------------------- */ diff --git a/src/delete_bonds.h b/src/delete_bonds.h index 60d76b9086..5c56a67f68 100644 --- a/src/delete_bonds.h +++ b/src/delete_bonds.h @@ -20,11 +20,11 @@ CommandStyle(delete_bonds,DeleteBonds) #ifndef LMP_DELETE_BONDS_H #define LMP_DELETE_BONDS_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { -class DeleteBonds : protected Pointers { +class DeleteBonds : public Command { public: DeleteBonds(class LAMMPS *); void command(int, char **); diff --git a/src/deprecated.h b/src/deprecated.h index aceb1181c1..d5997d7199 100644 --- a/src/deprecated.h +++ b/src/deprecated.h @@ -26,13 +26,13 @@ CommandStyle(kim_query,Deprecated) #ifndef LMP_DEPRECATED_H #define LMP_DEPRECATED_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { -class Deprecated : protected Pointers { +class Deprecated : public Command { public: - Deprecated(class LAMMPS *lmp) : Pointers(lmp) {}; + Deprecated(class LAMMPS *lmp) : Command(lmp) {}; void command(int, char **); }; diff --git a/src/displace_atoms.cpp b/src/displace_atoms.cpp index dd71e944ef..6bc3b0ab35 100644 --- a/src/displace_atoms.cpp +++ b/src/displace_atoms.cpp @@ -42,7 +42,7 @@ enum{MOVE,RAMP,RANDOM,ROTATE}; /* ---------------------------------------------------------------------- */ -DisplaceAtoms::DisplaceAtoms(LAMMPS *lmp) : Pointers(lmp) +DisplaceAtoms::DisplaceAtoms(LAMMPS *lmp) : Command(lmp) { mvec = nullptr; } diff --git a/src/displace_atoms.h b/src/displace_atoms.h index 737d55dbdd..c2c2e8306f 100644 --- a/src/displace_atoms.h +++ b/src/displace_atoms.h @@ -20,11 +20,11 @@ CommandStyle(displace_atoms,DisplaceAtoms) #ifndef LMP_DISPLACE_ATOMS_H #define LMP_DISPLACE_ATOMS_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { -class DisplaceAtoms : protected Pointers { +class DisplaceAtoms : public Command { public: DisplaceAtoms(class LAMMPS *); ~DisplaceAtoms(); diff --git a/src/info.h b/src/info.h index d8fa23489e..386d38c39f 100644 --- a/src/info.h +++ b/src/info.h @@ -20,15 +20,15 @@ CommandStyle(info,Info) #ifndef LMP_INFO_H #define LMP_INFO_H -#include "pointers.h" +#include "command.h" #include namespace LAMMPS_NS { -class Info : protected Pointers { +class Info : public Command { public: - Info(class LAMMPS *lmp) : Pointers(lmp) {}; + Info(class LAMMPS *lmp) : Command(lmp) {}; void command(int, char **); bool is_active(const char *, const char *); diff --git a/src/input.cpp b/src/input.cpp index 9079cdd76c..d3352b380a 100644 --- a/src/input.cpp +++ b/src/input.cpp @@ -21,6 +21,7 @@ #include "comm.h" #include "comm_brick.h" #include "comm_tiled.h" +#include "command.h" #include "compute.h" #include "dihedral.h" #include "domain.h" @@ -82,7 +83,7 @@ command line flags, holds the factory of commands and creates and initializes an instance of the Variable class. To execute a command, a specific class instance, derived from -:cpp:class:`Pointers`, is created, then its ``command()`` member +:cpp:class:`Command`, is created, then its ``command()`` member function executed, and finally the class instance is deleted. \endverbatim @@ -789,7 +790,9 @@ int Input::execute_command() if (command_map->find(command) != command_map->end()) { CommandCreator &command_creator = (*command_map)[command]; - command_creator(lmp,narg,arg); + Command *cmd = command_creator(lmp); + cmd->command(narg,arg); + delete cmd; return 0; } @@ -803,10 +806,9 @@ int Input::execute_command() ------------------------------------------------------------------------- */ template -void Input::command_creator(LAMMPS *lmp, int narg, char **arg) +Command *Input::command_creator(LAMMPS *lmp) { - T cmd(lmp); - cmd.command(narg,arg); + return new T(lmp); } /* ---------------------------------------------------------------------- */ diff --git a/src/input.h b/src/input.h index 809a7a5f94..59be026640 100644 --- a/src/input.h +++ b/src/input.h @@ -19,6 +19,7 @@ #include namespace LAMMPS_NS { + class Command; class Input : protected Pointers { friend class Info; @@ -59,12 +60,12 @@ class Input : protected Pointers { FILE **infiles; // list of open input files public: - typedef void (*CommandCreator)(LAMMPS *, int, char **); + typedef Command * (*CommandCreator)(LAMMPS *); typedef std::map CommandCreatorMap; CommandCreatorMap *command_map; protected: - template static void command_creator(LAMMPS *, int, char **); + template static Command *command_creator(LAMMPS *); private: void parse(); // parse an input text line diff --git a/src/lammpsplugin.h b/src/lammpsplugin.h index 1baed9799d..e544e8bffe 100644 --- a/src/lammpsplugin.h +++ b/src/lammpsplugin.h @@ -20,7 +20,6 @@ extern "C" { typedef void *(lammpsplugin_factory1)(void *); typedef void *(lammpsplugin_factory2)(void *, int, char **); - typedef void (lammpsplugin_factory3)(void *, int, char **); typedef struct { const char *version; @@ -31,7 +30,6 @@ extern "C" { union { lammpsplugin_factory1 *v1; lammpsplugin_factory2 *v2; - lammpsplugin_factory3 *v3; } creator; void *handle; } lammpsplugin_t; diff --git a/src/minimize.cpp b/src/minimize.cpp index 8e55d6e0ea..1fb0d219cd 100644 --- a/src/minimize.cpp +++ b/src/minimize.cpp @@ -25,7 +25,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -Minimize::Minimize(LAMMPS *lmp) : Pointers(lmp) {} +Minimize::Minimize(LAMMPS *lmp) : Command(lmp) {} /* ---------------------------------------------------------------------- */ diff --git a/src/minimize.h b/src/minimize.h index 42a2fcaf02..32d08c5f52 100644 --- a/src/minimize.h +++ b/src/minimize.h @@ -20,11 +20,11 @@ CommandStyle(minimize,Minimize) #ifndef LMP_MINIMIZE_H #define LMP_MINIMIZE_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { -class Minimize : protected Pointers { +class Minimize : public Command { public: Minimize(class LAMMPS *); void command(int, char **); diff --git a/src/read_data.cpp b/src/read_data.cpp index cc3b2e5965..c0085f19d1 100644 --- a/src/read_data.cpp +++ b/src/read_data.cpp @@ -11,10 +11,6 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -// lmptype.h must be first b/c this file uses MAXBIGINT and includes mpi.h -// due to OpenMPI bug which sets INT64_MAX via its mpi.h -// before lmptype.h can set flags to insure it is done correctly - #include "read_data.h" #include "angle.h" @@ -66,7 +62,7 @@ const char *suffixes[] = {"/cuda","/gpu","/opt","/omp","/kk", /* ---------------------------------------------------------------------- */ -ReadData::ReadData(LAMMPS *lmp) : Pointers(lmp) +ReadData::ReadData(LAMMPS *lmp) : Command(lmp) { MPI_Comm_rank(world,&me); line = new char[MAXLINE]; diff --git a/src/read_data.h b/src/read_data.h index 68b40fc529..7ccbeebd58 100644 --- a/src/read_data.h +++ b/src/read_data.h @@ -20,11 +20,11 @@ CommandStyle(read_data,ReadData) #ifndef LMP_READ_DATA_H #define LMP_READ_DATA_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { -class ReadData : protected Pointers { +class ReadData : public Command { public: ReadData(class LAMMPS *); ~ReadData(); diff --git a/src/read_dump.cpp b/src/read_dump.cpp index 0282e2d039..ddb793c629 100644 --- a/src/read_dump.cpp +++ b/src/read_dump.cpp @@ -15,10 +15,6 @@ Contributing author: Timothy Sirk (ARL) ------------------------------------------------------------------------- */ -// lmptype.h must be first b/c this file uses MAXBIGINT and includes mpi.h -// due to OpenMPI bug which sets INT64_MAX via its mpi.h -// before lmptype.h can set flags to insure it is done correctly - #include "read_dump.h" #include "atom.h" @@ -46,7 +42,7 @@ enum{NOADD,YESADD,KEEPADD}; /* ---------------------------------------------------------------------- */ -ReadDump::ReadDump(LAMMPS *lmp) : Pointers(lmp) +ReadDump::ReadDump(LAMMPS *lmp) : Command(lmp) { MPI_Comm_rank(world,&me); MPI_Comm_size(world,&nprocs); diff --git a/src/read_dump.h b/src/read_dump.h index 93fb4bc713..842b629fa4 100644 --- a/src/read_dump.h +++ b/src/read_dump.h @@ -22,11 +22,11 @@ CommandStyle(read_dump,ReadDump) #ifndef LMP_READ_DUMP_H #define LMP_READ_DUMP_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { -class ReadDump : protected Pointers { +class ReadDump : public Command { public: ReadDump(class LAMMPS *); ~ReadDump(); diff --git a/src/read_restart.cpp b/src/read_restart.cpp index 9e8fbce91c..7983a25ae9 100644 --- a/src/read_restart.cpp +++ b/src/read_restart.cpp @@ -43,7 +43,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -ReadRestart::ReadRestart(LAMMPS *lmp) : Pointers(lmp) {} +ReadRestart::ReadRestart(LAMMPS *lmp) : Command(lmp) {} /* ---------------------------------------------------------------------- */ diff --git a/src/read_restart.h b/src/read_restart.h index 99b37cfa45..fc2a27fa67 100644 --- a/src/read_restart.h +++ b/src/read_restart.h @@ -20,11 +20,11 @@ CommandStyle(read_restart,ReadRestart) #ifndef LMP_READ_RESTART_H #define LMP_READ_RESTART_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { -class ReadRestart : protected Pointers { +class ReadRestart : public Command { public: ReadRestart(class LAMMPS *); void command(int, char **); diff --git a/src/replicate.cpp b/src/replicate.cpp index 6877ec091c..95bf615d04 100644 --- a/src/replicate.cpp +++ b/src/replicate.cpp @@ -31,7 +31,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -Replicate::Replicate(LAMMPS *lmp) : Pointers(lmp) {} +Replicate::Replicate(LAMMPS *lmp) : Command(lmp) {} /* ---------------------------------------------------------------------- */ diff --git a/src/replicate.h b/src/replicate.h index 58c0010aa3..b4be578b23 100644 --- a/src/replicate.h +++ b/src/replicate.h @@ -20,11 +20,11 @@ CommandStyle(replicate,Replicate) #ifndef LMP_REPLICATE_H #define LMP_REPLICATE_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { -class Replicate : protected Pointers { +class Replicate : public Command { public: Replicate(class LAMMPS *); void command(int, char **); diff --git a/src/rerun.cpp b/src/rerun.cpp index 8615b02d95..9571724e2d 100644 --- a/src/rerun.cpp +++ b/src/rerun.cpp @@ -29,7 +29,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -Rerun::Rerun(LAMMPS *lmp) : Pointers(lmp) {} +Rerun::Rerun(LAMMPS *lmp) : Command(lmp) {} /* ---------------------------------------------------------------------- */ diff --git a/src/rerun.h b/src/rerun.h index ea1d0221c3..c10ca8780e 100644 --- a/src/rerun.h +++ b/src/rerun.h @@ -20,11 +20,11 @@ CommandStyle(rerun,Rerun) #ifndef LMP_RERUN_H #define LMP_RERUN_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { -class Rerun : protected Pointers { +class Rerun : public Command { public: Rerun(class LAMMPS *); void command(int, char **); diff --git a/src/reset_atom_ids.cpp b/src/reset_atom_ids.cpp index 7298103b80..47dae3cb56 100644 --- a/src/reset_atom_ids.cpp +++ b/src/reset_atom_ids.cpp @@ -43,7 +43,7 @@ static int compare_coords(const int, const int, void *); /* ---------------------------------------------------------------------- */ -ResetIDs::ResetIDs(LAMMPS *lmp) : Pointers(lmp) {} +ResetIDs::ResetIDs(LAMMPS *lmp) : Command(lmp) {} /* ---------------------------------------------------------------------- */ diff --git a/src/reset_atom_ids.h b/src/reset_atom_ids.h index 02a7f77e8d..6c262f2bd8 100644 --- a/src/reset_atom_ids.h +++ b/src/reset_atom_ids.h @@ -20,11 +20,11 @@ CommandStyle(reset_atom_ids,ResetIDs) #ifndef LMP_RESET_IDS_H #define LMP_RESET_IDS_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { -class ResetIDs : protected Pointers { +class ResetIDs : public Command { public: struct AtomRvous { bigint ibin; diff --git a/src/reset_mol_ids.cpp b/src/reset_mol_ids.cpp index aed26b4568..39f7307ca1 100644 --- a/src/reset_mol_ids.cpp +++ b/src/reset_mol_ids.cpp @@ -32,7 +32,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -ResetMolIDs::ResetMolIDs(LAMMPS *lmp) : Pointers(lmp) { +ResetMolIDs::ResetMolIDs(LAMMPS *lmp) : Command(lmp) { cfa = nullptr; cca = nullptr; diff --git a/src/reset_mol_ids.h b/src/reset_mol_ids.h index fbb6fceb03..5759cf8b4e 100644 --- a/src/reset_mol_ids.h +++ b/src/reset_mol_ids.h @@ -20,11 +20,11 @@ CommandStyle(reset_mol_ids,ResetMolIDs) #ifndef LMP_RESET_MOL_IDS_H #define LMP_RESET_MOL_IDS_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { -class ResetMolIDs : protected Pointers { +class ResetMolIDs : public Command { public: ResetMolIDs(class LAMMPS *); ~ResetMolIDs(); diff --git a/src/run.cpp b/src/run.cpp index c503e174ff..379cf8015a 100644 --- a/src/run.cpp +++ b/src/run.cpp @@ -31,7 +31,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -Run::Run(LAMMPS *lmp) : Pointers(lmp) {} +Run::Run(LAMMPS *lmp) : Command(lmp) {} /* ---------------------------------------------------------------------- */ diff --git a/src/run.h b/src/run.h index 5578ea9598..747af6a61c 100644 --- a/src/run.h +++ b/src/run.h @@ -20,11 +20,11 @@ CommandStyle(run,Run) #ifndef LMP_RUN_H #define LMP_RUN_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { -class Run : protected Pointers { +class Run : public Command { public: Run(class LAMMPS *); void command(int, char **); diff --git a/src/set.h b/src/set.h index 29f1ea526e..330bd484a3 100644 --- a/src/set.h +++ b/src/set.h @@ -20,13 +20,13 @@ CommandStyle(set,Set) #ifndef LMP_SET_H #define LMP_SET_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { -class Set : protected Pointers { +class Set : public Command { public: - Set(class LAMMPS *lmp) : Pointers(lmp) {}; + Set(class LAMMPS *lmp) : Command(lmp) {}; void command(int, char **); private: diff --git a/src/velocity.cpp b/src/velocity.cpp index f4483074aa..e0c80baa91 100644 --- a/src/velocity.cpp +++ b/src/velocity.cpp @@ -42,7 +42,7 @@ enum{NONE,CONSTANT,EQUAL,ATOM}; /* ---------------------------------------------------------------------- */ -Velocity::Velocity(LAMMPS *lmp) : Pointers(lmp) {} +Velocity::Velocity(LAMMPS *lmp) : Command(lmp) {} /* ---------------------------------------------------------------------- */ diff --git a/src/velocity.h b/src/velocity.h index e14c0d0d1c..d7405f87fd 100644 --- a/src/velocity.h +++ b/src/velocity.h @@ -20,11 +20,11 @@ CommandStyle(velocity,Velocity) #ifndef LMP_VELOCITY_H #define LMP_VELOCITY_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { -class Velocity : protected Pointers { +class Velocity : public Command { public: Velocity(class LAMMPS *); void command(int, char **); diff --git a/src/write_coeff.h b/src/write_coeff.h index b995e60d63..8815162c48 100644 --- a/src/write_coeff.h +++ b/src/write_coeff.h @@ -20,13 +20,13 @@ CommandStyle(write_coeff,WriteCoeff) #ifndef LMP_WRITE_COEFF_H #define LMP_WRITE_COEFF_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { -class WriteCoeff : protected Pointers { +class WriteCoeff : public Command { public: - WriteCoeff(class LAMMPS *lmp) : Pointers(lmp) {}; + WriteCoeff(class LAMMPS *lmp) : Command(lmp) {}; void command(int, char **); }; diff --git a/src/write_data.cpp b/src/write_data.cpp index 6d10359e8b..d8b37ca265 100644 --- a/src/write_data.cpp +++ b/src/write_data.cpp @@ -41,7 +41,7 @@ enum{ELLIPSOID,LINE,TRIANGLE,BODY}; // also in AtomVecHybrid /* ---------------------------------------------------------------------- */ -WriteData::WriteData(LAMMPS *lmp) : Pointers(lmp) +WriteData::WriteData(LAMMPS *lmp) : Command(lmp) { MPI_Comm_rank(world,&me); MPI_Comm_size(world,&nprocs); diff --git a/src/write_data.h b/src/write_data.h index a4e71c9cda..cecfaa4800 100644 --- a/src/write_data.h +++ b/src/write_data.h @@ -20,11 +20,11 @@ CommandStyle(write_data,WriteData) #ifndef LMP_WRITE_DATA_H #define LMP_WRITE_DATA_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { -class WriteData : protected Pointers { +class WriteData : public Command { public: WriteData(class LAMMPS *); void command(int, char **); diff --git a/src/write_dump.h b/src/write_dump.h index db39a75d4b..763fd12f60 100644 --- a/src/write_dump.h +++ b/src/write_dump.h @@ -20,13 +20,13 @@ CommandStyle(write_dump,WriteDump) #ifndef LMP_WRITE_DUMP_H #define LMP_WRITE_DUMP_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { -class WriteDump : protected Pointers { +class WriteDump : public Command { public: - WriteDump(class LAMMPS *lmp) : Pointers(lmp) {}; + WriteDump(class LAMMPS *lmp) : Command(lmp) {}; void command(int, char **); }; diff --git a/src/write_restart.cpp b/src/write_restart.cpp index afe1d2d528..ce0eddcd73 100644 --- a/src/write_restart.cpp +++ b/src/write_restart.cpp @@ -43,7 +43,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -WriteRestart::WriteRestart(LAMMPS *lmp) : Pointers(lmp) +WriteRestart::WriteRestart(LAMMPS *lmp) : Command(lmp) { MPI_Comm_rank(world,&me); MPI_Comm_size(world,&nprocs); diff --git a/src/write_restart.h b/src/write_restart.h index a4a606482e..05f5c45ec6 100644 --- a/src/write_restart.h +++ b/src/write_restart.h @@ -20,11 +20,11 @@ CommandStyle(write_restart,WriteRestart) #ifndef LMP_WRITE_RESTART_H #define LMP_WRITE_RESTART_H -#include "pointers.h" +#include "command.h" namespace LAMMPS_NS { -class WriteRestart : protected Pointers { +class WriteRestart : public Command { public: WriteRestart(class LAMMPS *); void command(int, char **);