ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/trunk/src/brains/SimInfo.hpp
(Generate patch)

Comparing trunk/src/brains/SimInfo.hpp (file contents):
Revision 1846 by gezelter, Thu Jan 31 15:55:47 2013 UTC vs.
Revision 1953 by gezelter, Thu Dec 5 18:19:26 2013 UTC

# Line 35 | Line 35
35   *                                                                      
36   * [1]  Meineke, et al., J. Comp. Chem. 26, 252-271 (2005).            
37   * [2]  Fennell & Gezelter, J. Chem. Phys. 124, 234104 (2006).          
38 < * [3]  Sun, Lin & Gezelter, J. Chem. Phys. 128, 24107 (2008).          
38 > * [3]  Sun, Lin & Gezelter, J. Chem. Phys. 128, 234107 (2008).          
39   * [4]  Kuang & Gezelter,  J. Chem. Phys. 133, 164101 (2010).
40   * [5]  Vardeman, Stocker & Gezelter, J. Chem. Theory Comput. 7, 834 (2011).
41   */
# Line 91 | Line 91 | namespace OpenMD{
91      /**
92       * Constructor of SimInfo
93       *
94 <     * @param molStampPairs MoleculeStamp Array. The first element of
95 <     * the pair is molecule stamp, the second element is the total
96 <     * number of molecules with the same molecule stamp in the system
94 >     * @param ff pointer to a concrete ForceField instance
95       *
96 <     * @param ff pointer of a concrete ForceField instance
99 <     *
100 <     * @param simParams
96 >     * @param simParams pointer to the simulation parameters in a Globals object
97       */
98      SimInfo(ForceField* ff, Globals* simParams);
99      virtual ~SimInfo();
# Line 108 | Line 104 | namespace OpenMD{
104       * @return return true if adding successfully, return false if the
105       * molecule is already in SimInfo
106       *
107 <     * @param mol molecule to be added
107 >     * @param mol Molecule to be added
108       */
109      bool addMolecule(Molecule* mol);
110  
# Line 151 | Line 147 | namespace OpenMD{
147       */
148      int getNGlobalRigidBodies() {
149        return nGlobalRigidBodies_;
150 +    }
151 +
152 +    /** Returns the number of global bonds */        
153 +    unsigned int getNGlobalBonds(){
154 +      return nGlobalBonds_;
155 +    }
156 +
157 +    /** Returns the number of global bends */        
158 +    unsigned int getNGlobalBends() {
159 +      return nGlobalBends_;
160      }
161  
162 +    /** Returns the number of global torsions */        
163 +    unsigned int getNGlobalTorsions() {
164 +      return nGlobalTorsions_;
165 +    }
166 +
167 +    /** Returns the number of global inversions */        
168 +    unsigned int getNGlobalInversions() {
169 +      return nGlobalInversions_;
170 +    }
171 +
172      int getNGlobalConstraints();
173      /**
174       * Returns the number of local molecules.
# Line 185 | Line 201 | namespace OpenMD{
201        return nTorsions_;
202      }
203  
204 <    /** Returns the number of local torsions */        
204 >    /** Returns the number of local inversions */        
205      unsigned int getNInversions() {
206        return nInversions_;
207      }
# Line 274 | Line 290 | namespace OpenMD{
290      SnapshotManager* getSnapshotManager() {
291        return sman_;
292      }
293 <
293 >    /** Returns the storage layout (computed by SimCreator) */
294 >    int getStorageLayout() {
295 >      return storageLayout_;
296 >    }
297 >    /** Sets the storage layout (computed by SimCreator) */
298 >    void setStorageLayout(int sl) {
299 >      storageLayout_ = sl;
300 >    }
301 >    
302      /** Sets the snapshot manager. */
303      void setSnapshotManager(SnapshotManager* sman);
304          
# Line 385 | Line 409 | namespace OpenMD{
409  
410      /**
411       * Sets GlobalGroupMembership
388     * @see #SimCreator::setGlobalIndex
412       */  
413      void setGlobalGroupMembership(const vector<int>& ggm) {
414        assert(ggm.size() == static_cast<size_t>(nGlobalAtoms_));
# Line 394 | Line 417 | namespace OpenMD{
417  
418      /**
419       * Sets GlobalMolMembership
397     * @see #SimCreator::setGlobalIndex
420       */        
421      void setGlobalMolMembership(const vector<int>& gmm) {
422        assert(gmm.size() == (static_cast<size_t>(nGlobalAtoms_ +
# Line 466 | Line 488 | namespace OpenMD{
488  
489      /** Returns the set of atom types present in this simulation */
490      set<AtomType*> getSimulatedAtomTypes();
491 +
492 +    /** Returns the global count of atoms of a particular type */
493 +    int getGlobalCountOfType(AtomType* atype);
494          
495      friend ostream& operator <<(ostream& o, SimInfo& info);
496  
# Line 514 | Line 539 | namespace OpenMD{
539      int nGlobalIntegrableObjects_; /**< number of integrable objects in this system */
540      int nGlobalRigidBodies_;       /**< number of rigid bodies in this system (GLOBAL) */
541      int nGlobalFluctuatingCharges_;/**< number of fluctuating charges in this system (GLOBAL) */
542 <    
543 <      
542 >    int nGlobalBonds_;              /**< number of bonds in the system */
543 >    int nGlobalBends_;              /**< number of bends in the system */
544 >    int nGlobalTorsions_;           /**< number of torsions in the system */
545 >    int nGlobalInversions_;         /**< number of inversions in the system */
546 >      
547      /// Degress of freedom
548      int ndf_;          /**< number of degress of freedom (excludes constraints) (LOCAL) */
549      int ndfLocal_;     /**< number of degrees of freedom (LOCAL, excludes constraints) */
# Line 583 | Line 611 | namespace OpenMD{
611      vector<int> identArray_;
612    public:
613      vector<int> getIdentArray() { return identArray_; }
614 +
615 +    /**
616 +     * A vector that contains information about the local region of an
617 +     * atom (used for fluctuating charges, etc.)
618 +     */
619    private:
620 <    
620 >    vector<int> regions_;
621 >  public:
622 >    vector<int> getRegions() { return regions_; }
623 >  private:
624      /**
625       * A vector which contains the fractional contribution of an
626       * atom's mass to the total mass of the cutoffGroup that atom
# Line 611 | Line 647 | namespace OpenMD{
647  
648      PropertyMap properties_;       /**< Generic Properties can be added */
649      SnapshotManager* sman_;        /**< SnapshotManager (handles particle positions, etc.) */
650 +    int storageLayout_;            /**< Bits to tell how much data to store on each object */
651  
652      /**
653       * The reason to have a local index manager is that when molecule
# Line 630 | Line 667 | namespace OpenMD{
667      string dumpFileName_;
668      string statFileName_;
669      string restFileName_;
633        
670  
671      bool topologyDone_;  /** flag to indicate whether the topology has
672                               been scanned and all the relevant
# Line 668 | Line 704 | namespace OpenMD{
704      
705      /**
706       * Set MolToProcMap array
671     * @see #SimCreator::divideMolecules
707       */
708      void setMolToProcMap(const vector<int>& molToProcMap) {
709        molToProcMap_ = molToProcMap;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines