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 945 by gezelter, Tue Apr 25 02:09:01 2006 UTC vs.
Revision 1024 by tim, Wed Aug 30 18:42:29 2006 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 305 | Line 306 | namespace oopse{
306        return i != molecules_.end() ? i->second : NULL;
307      }
308  
309 <    double getRcut() {
309 >    RealType getRcut() {
310        return rcut_;
311      }
312  
313 <    double getRsw() {
313 >    RealType getRsw() {
314        return rsw_;
315      }
316  
317 <    double getList() {
317 >    RealType getList() {
318        return rlist_;
319      }
320          
321      std::string getFinalConfigFileName() {
322        return finalConfigFileName_;
323      }
324 <        
324 >
325      void setFinalConfigFileName(const std::string& fileName) {
326        finalConfigFileName_ = fileName;
327      }
328  
329 +    std::string getRawMetaData() {
330 +      return rawMetaData_;
331 +    }
332 +    void setRawMetaData(const std::string& rawMetaData) {
333 +      rawMetaData_ = rawMetaData;
334 +    }
335 +        
336      std::string getDumpFileName() {
337        return dumpFileName_;
338      }
# Line 372 | Line 380 | namespace oopse{
380        return fortranInitialized_;
381      }
382          
383 +    bool getCalcBoxDipole() {
384 +      return calcBoxDipole_;
385 +    }
386 +
387      //below functions are just forward functions
388      //To compose or to inherit is always a hot debate. In general, is-a relation need subclassing, in the
389      //the other hand, has-a relation need composing.
# Line 429 | Line 441 | namespace oopse{
441          
442      friend std::ostream& operator <<(std::ostream& o, SimInfo& info);
443  
444 <    void getCutoff(double& rcut, double& rsw);
444 >    void getCutoff(RealType& rcut, RealType& rsw);
445          
446    private:
447  
# Line 451 | Line 463 | namespace oopse{
463      /** Figure out which polynomial type to use for the switching function */
464      void setupSwitchingFunction();
465  
466 +    /** Determine if we need to accumulate the simulation box dipole */
467 +    void setupAccumulateBoxDipole();
468 +
469      /** Calculates the number of degress of freedom in the whole system */
470      void calcNdf();
471      void calcNdfRaw();
# Line 522 | Line 537 | namespace oopse{
537       */        
538      LocalIndexManager localIndexMan_;
539  
540 +    // unparsed MetaData block for storing in Dump and EOR files:
541 +    std::string rawMetaData_;
542 +
543      //file names
544      std::string finalConfigFileName_;
545      std::string dumpFileName_;
546      std::string statFileName_;
547      std::string restFileName_;
548          
549 <    double rcut_;       /**< cutoff radius*/
550 <    double rsw_;        /**< radius of switching function*/
551 <    double rlist_;      /**< neighbor list radius */
549 >    RealType rcut_;       /**< cutoff radius*/
550 >    RealType rsw_;        /**< radius of switching function*/
551 >    RealType rlist_;      /**< neighbor list radius */
552  
553      bool fortranInitialized_; /**< flag indicate whether fortran side is initialized */
554  
555 +    bool calcBoxDipole_; /**< flag to indicate whether or not we calculate the simulation box dipole moment */
556 +
557 +    public:
558 +     /**
559 +      * return an integral objects by its global index. In MPI version, if the StuntDouble with specified
560 +      * global index does not belong to local processor, a NULL will be return.
561 +      */
562 +      StuntDouble* getIOIndexToIntegrableObject(int index);
563 +      void setIOIndexToIntegrableObject(const std::vector<StuntDouble*>& v);
564 +    private:
565 +      std::vector<StuntDouble*> IOIndexToIntegrableObject;
566 +  //public:
567 +    //void setStuntDoubleFromGlobalIndex(std::vector<StuntDouble*> v);
568 +    /**
569 +     * return a StuntDouble by its global index. In MPI version, if the StuntDouble with specified
570 +     * global index does not belong to local processor, a NULL will be return.
571 +     */
572 +    //StuntDouble* getStuntDoubleFromGlobalIndex(int index);
573 +  //private:
574 +    //std::vector<StuntDouble*> sdByGlobalIndex_;
575 +    
576   #ifdef IS_MPI
577      //in Parallel version, we need MolToProc
578    public:
# Line 555 | Line 594 | namespace oopse{
594      void setMolToProcMap(const std::vector<int>& molToProcMap) {
595        molToProcMap_ = molToProcMap;
596      }
597 +
598 +    
599          
600    private:
601  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines