Simpatico
v1.10
|
4.1 Source Files: Directories and Namespaces (Prev) 4.3 Build system (Next)
The mcSim and mdSim programs use several base classes that can be extended by users to implement new algorithms, molecular species, and file formats, which are all defined in the McMd or Simp namespace. Among these are:
In order to implement, for instance, a new data analysis operation in mcSim and/or MdSim, the user must thus write a subclass of the McMd::Analyzer base class. The McMd namespace also contains a set of potential energy base classes:
The BondPotential, AnglePotential, DihedralPotential, and ExternalPotential classes are used in both MC and MD simulations. Two different classes, McPairPotential and MdPairPotential, are provided for nonbonded interations in MC and MD simulations, because of differences in the algorithms and types of calculations required in MC and MD simulations
The base classes used by the ddSim parallel MD program are defined in the DdMd namespace. Several have names identical to names of analogous classes in the McMd namespace. These base classes include:
The DdMd namespace also contains the following potential energy classes
Implementation of subclasses of these DdMd base classes generally require interprocessor communication.
Subclasses of the potential energy classes in either the McMd or DdMd namespaces are implemented differently than the other base classes discussed above. Each subclass of a "potential" classes is implemented as an instantiation of a class template that takes a simpler "interaction" class as an argument. Consequences of this peculiarity are discussed in more detail here.
4.1 Source Files: Directories and Namespaces (Prev) 4 Extending Simpatico (Up) 4.3 Build system (Next)