ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/branches/new_design/OOPSE-3.0/src/brains/SimCreator.hpp
(Generate patch)

Comparing branches/new_design/OOPSE-3.0/src/brains/SimCreator.hpp (file contents):
Revision 1712 by tim, Thu Nov 4 20:55:01 2004 UTC vs.
Revision 1735 by tim, Fri Nov 12 17:40:03 2004 UTC

# Line 45 | Line 45 | namespace oopse {
45  
46   /**
47   * @class SimCreator SimCreator.hpp "brains/SimCreator.hpp"
48 < * @brief SimCreator is an abstract factory which is responsible for setting up the simulation.
48 > * @brief
49   */
50   class SimCreator {
51      public:
52  
53 +        /**
54 +         * Setup Simulation
55 +         * @return a pointer to SimInfo
56 +         * @param mdfile the meta-data file name
57 +         */
58          SimInfo* createSim(char* mdfile);
59          
60      protected:
61 +
62 +        /**
63 +         * Parses the meta-data file
64 +         * @param mdfile
65 +         * @param stamps
66 +         * @param globals
67 +         */
68 +        void parseFile(const std::string mdFileName,  MakeStamps* stamps, Globals* globals);
69 +
70 + #ifdef IS_MPI
71 +        /**
72 +         * Divide the molecules among the processors
73 +         */
74 +        void divideMolecules();
75 + #endif //is_mpi
76 +
77 +        /** create the molecules belong to current processor*/
78 +        virtual void createMolecules();
79 +
80 +        /**
81 +         * Sets the global index for atoms, rigidbodies and cutoff groups and fill up
82 +         * globalGroupMembership and globalMolMembership arrays which map atoms'
83 +         * global index to the global index of the groups (or molecules) they belong to.
84 +         * These array are never changed during the simulation.
85 +         */
86 +        void setGlobalIndex();
87 +            
88 +    private:
89          
90 <        void parseFile(char* mdfile,  MakeStamps* stamps, Globals* globals);
90 >        /** Extracts the molecules stamps and adds them into SimInfo class */
91 >        void compList(MakeStamps* stamps,  Globals* globals,
92 >                                     std::vector<std::pair<MoleculeStamp*, int> >& moleculeStamps) ;
93 >
94 >        /** Initialize fortran, mainly set the cutoff radius and setup*/
95 >        void initFortran(SimInfo* info);
96 >
97 >        /** Figure out the cutoff radius and pass it to fortran */
98 >        void setCutoff(SimInfo* info);
99          
100 <        virtual ForceField* createForceField();
60 <        virtual Molecule* createMolecule();
61 <        virtual Atom* createAtom();
62 <        virtual RigidBody* createRigidBody();
63 <        virtual Bond* createBond();
64 <        virtual Bend* createBend();
65 <        virtual Torsion* createTorsion();        
66 <        
67 <              
100 >        std::string mdFileName_;  //save the meta-data file name which may be used later
101   };
102  
103   } //end namespace oopse

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines