1 #ifndef DDMD_SIMULATION_ACCESS_H 2 #define DDMD_SIMULATION_ACCESS_H 11 #include <ddMd/chemistry/AtomType.h> 12 #include <ddMd/chemistry/MaskPolicy.h> 13 #include <simp/boundary/Boundary.h> 14 #include <util/containers/RArray.h> 23 class BoundaryEnsemble;
31 template <
int N>
class GroupStorage;
40 class DihedralPotential;
43 class ExternalPotential;
182 bool reverseUpdateFlag()
const;
292 bool reverseUpdateFlag_;
299 {
return *simulationPtr_; }
302 {
return *boundaryPtr_; }
305 {
return *atomStoragePtr_; }
310 assert(bondStoragePtr_);
311 return *bondStoragePtr_;
318 assert(angleStoragePtr_);
319 return *angleStoragePtr_;
326 assert(dihedralStoragePtr_);
327 return *dihedralStoragePtr_;
333 assert(pairPotentialPtr_);
334 return *pairPotentialPtr_;
340 assert(bondPotentialPtr_);
341 return *bondPotentialPtr_;
348 assert(anglePotentialPtr_);
349 return *anglePotentialPtr_;
356 assert(dihedralPotentialPtr_);
357 return *dihedralPotentialPtr_;
364 assert(externalPotentialPtr_);
365 return *externalPotentialPtr_;
370 {
return *energyEnsemblePtr_; }
373 {
return *boundaryEnsemblePtr_; }
375 inline Random& SimulationAccess::random()
376 {
return *randomPtr_; }
378 inline Domain& SimulationAccess::domain()
379 {
return *domainPtr_; }
382 {
return *exchangerPtr_; }
385 {
return *fileMasterPtr_; }
387 inline int SimulationAccess::nAtomType()
388 {
return nAtomType_; }
391 inline int SimulationAccess::nBondType()
392 {
return nBondType_; }
396 inline int SimulationAccess::nAngleType()
397 {
return nAngleType_; }
401 inline int SimulationAccess::nDihedralType()
402 {
return nDihedralType_; }
406 inline bool SimulationAccess::hasExternal()
407 {
return hasExternal_; }
411 {
return atomTypes_[i]; }
414 {
return maskedPairPolicy_; }
416 inline bool SimulationAccess::reverseUpdateFlag()
const 417 {
return reverseUpdateFlag_; }
Provides access to members of Simulation object.
Abstract base class for computation of angle force and energies.
An orthorhombic periodic unit cell.
Calculates external forces and energies for a parent Simulation.
Statistical ensemble for changes in the periodic unit cell size.
Abstract base class for computing bond forces and energies.
Parallel domain decomposition (DD) MD simulation.
Classes used by all simpatico molecular simulations.
Main object for a domain-decomposition MD simulation.
A statistical ensemble for energy.
Utility classes for scientific computation.
MaskPolicy
Enumeration of policies for suppressing ("masking") some pair interactions.
Abstract base class for computing dihedral forces and energies.
A container for all the atoms and ghost atoms on this processor.
Decomposition of the system into domains associated with processors.
A FileMaster manages input and output files for a simulation.
Class for exchanging Atoms, Ghosts and Groups between processors.
An Array that acts as a reference to another Array or C array.
Descriptor for a type of Atom.
Abstract base class for computing nonbonded pair forces and energies.