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

Comparing trunk/src/brains/SimInfo.hpp (file contents):
Revision 963 by tim, Wed May 17 21:51:42 2006 UTC vs.
Revision 1126 by gezelter, Fri Apr 6 21:53:43 2007 UTC

# Line 73 | Line 73 | namespace oopse{
73    class SnapshotManager;
74    class Molecule;
75    class SelectionManager;
76 +  class StuntDouble;
77    /**
78     * @class SimInfo SimInfo.hpp "brains/SimInfo.hpp"
79     * @brief One of the heavy weight classes of OOPSE, SimInfo maintains a list of molecules.
# Line 271 | Line 272 | namespace oopse{
272      /** Returns system angular momentum */
273      Vector3d getAngularMomentum();
274  
275 +    /** Returns volume of system as estimated by an ellipsoid defined by the radii of gyration*/
276 +    void getGyrationalVolume(RealType &vol);
277 +    /** Overloaded version of gyrational volume that also returns det(I) so dV/dr can be calculated*/
278 +    void getGyrationalVolume(RealType &vol, RealType &detI);
279      /** main driver function to interact with fortran during the initialization and molecule migration */
280      void update();
281  
# Line 320 | Line 325 | namespace oopse{
325      std::string getFinalConfigFileName() {
326        return finalConfigFileName_;
327      }
328 <        
328 >
329      void setFinalConfigFileName(const std::string& fileName) {
330        finalConfigFileName_ = fileName;
331      }
332  
333 +    std::string getRawMetaData() {
334 +      return rawMetaData_;
335 +    }
336 +    void setRawMetaData(const std::string& rawMetaData) {
337 +      rawMetaData_ = rawMetaData;
338 +    }
339 +        
340      std::string getDumpFileName() {
341        return dumpFileName_;
342      }
# Line 372 | Line 384 | namespace oopse{
384        return fortranInitialized_;
385      }
386          
387 +    bool getCalcBoxDipole() {
388 +      return calcBoxDipole_;
389 +    }
390 +
391 +    bool getUseAtomicVirial() {
392 +      return useAtomicVirial_;
393 +    }
394 +
395      //below functions are just forward functions
396      //To compose or to inherit is always a hot debate. In general, is-a relation need subclassing, in the
397      //the other hand, has-a relation need composing.
# Line 451 | Line 471 | namespace oopse{
471      /** Figure out which polynomial type to use for the switching function */
472      void setupSwitchingFunction();
473  
474 +    /** Determine if we need to accumulate the simulation box dipole */
475 +    void setupAccumulateBoxDipole();
476 +
477      /** Calculates the number of degress of freedom in the whole system */
478      void calcNdf();
479      void calcNdfRaw();
# Line 522 | Line 545 | namespace oopse{
545       */        
546      LocalIndexManager localIndexMan_;
547  
548 +    // unparsed MetaData block for storing in Dump and EOR files:
549 +    std::string rawMetaData_;
550 +
551      //file names
552      std::string finalConfigFileName_;
553      std::string dumpFileName_;
# Line 532 | Line 558 | namespace oopse{
558      RealType rsw_;        /**< radius of switching function*/
559      RealType rlist_;      /**< neighbor list radius */
560  
561 <    bool fortranInitialized_; /**< flag indicate whether fortran side is initialized */
561 >    bool fortranInitialized_; /**< flag indicate whether fortran side
562 >                                 is initialized */
563 >    
564 >    bool calcBoxDipole_; /**< flag to indicate whether or not we calculate
565 >                            the simulation box dipole moment */
566 >    
567 >    bool useAtomicVirial_; /**< flag to indicate whether or not we use
568 >                              Atomic Virials to calculate the pressure */
569  
570 +    public:
571 +     /**
572 +      * return an integral objects by its global index. In MPI version, if the StuntDouble with specified
573 +      * global index does not belong to local processor, a NULL will be return.
574 +      */
575 +      StuntDouble* getIOIndexToIntegrableObject(int index);
576 +      void setIOIndexToIntegrableObject(const std::vector<StuntDouble*>& v);
577 +    private:
578 +      std::vector<StuntDouble*> IOIndexToIntegrableObject;
579 +  //public:
580 +    //void setStuntDoubleFromGlobalIndex(std::vector<StuntDouble*> v);
581 +    /**
582 +     * return a StuntDouble by its global index. In MPI version, if the StuntDouble with specified
583 +     * global index does not belong to local processor, a NULL will be return.
584 +     */
585 +    //StuntDouble* getStuntDoubleFromGlobalIndex(int index);
586 +  //private:
587 +    //std::vector<StuntDouble*> sdByGlobalIndex_;
588 +    
589   #ifdef IS_MPI
590      //in Parallel version, we need MolToProc
591    public:
# Line 555 | Line 607 | namespace oopse{
607      void setMolToProcMap(const std::vector<int>& molToProcMap) {
608        molToProcMap_ = molToProcMap;
609      }
610 +
611 +    
612          
613    private:
614  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines