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

Comparing branches/new_design/OOPSE-4/src/brains/SimCreator.hpp (file contents):
Revision 1727 by tim, Thu Nov 11 16:41:58 2004 UTC vs.
Revision 1841 by tim, Fri Dec 3 17:59:45 2004 UTC

# Line 36 | Line 36
36  
37  
38   #include "primitives/Molecule.hpp"
39 < #include "brans/SimInfo.hpp"
39 > #include "brains/SimInfo.hpp"
40   #include "types/MakeStamps.hpp"
41   #include "io/Globals.hpp"
42   #include "UseTheForce/ForceField.hpp"
43  
44 + // this routine is defined in BASS_interface.cpp
45 + //another OOPS
46 + extern void set_interface_stamps( MakeStamps* ms, Globals* g );
47 +
48   namespace oopse {
49  
50   /**
51   * @class SimCreator SimCreator.hpp "brains/SimCreator.hpp"
52 < * @brief SimCreator is an abstract factory which is responsible for setting up the simulation.
52 > * The only responsibility of SimCreator is to parse the meta-data file and create a SimInfo
53 > * instance based on the information returned by parser.
54   */
55   class SimCreator {
56      public:
57  
58 <        SimInfo* createSim(char* mdfile);
58 >        /**
59 >         * Setup Simulation
60 >         * @return a pointer to SimInfo
61 >         * @param mdfile the meta-data file name
62 >         */
63 >        SimInfo* createSim(const std::string & mdFileName);
64          
65 <    protected:
65 >    private:
66          
67 <        void parseFile(char* mdfile,  MakeStamps* stamps, Globals* globals);
67 >        /**
68 >         * Parses the meta-data file
69 >         * @param mdfile
70 >         * @param stamps
71 >         * @param simParams
72 >         */
73 >        void parseFile(const std::string mdFileName,  MakeStamps* stamps, Globals* simParams);
74  
75 < #ifdef IS_MPI
76 <        void divideMolecules();
77 < #endif //is_mpi
75 >
76 >        /** create the molecules belong to current processor*/
77 >        virtual void createMolecules(SimInfo* info);
78 >
79 >        /**
80 >         * Sets the global index for atoms, rigidbodies and cutoff groups and fill up
81 >         * globalGroupMembership and globalMolMembership arrays which map atoms'
82 >         * global index to the global index of the groups (or molecules) they belong to.
83 >         * These array are never changed during the simulation.
84 >         */
85 >        void setGlobalIndex(SimInfo* info);
86 >
87 >        void gatherParameters(SimInfo *info, const std::string& mdfile);            
88 >
89          
90 <        virtual Molecule* createMolecule();
90 >        /** Extracts the molecules stamps and adds them into SimInfo class */
91 >        void compList(MakeStamps* stamps,  Globals* simParams,
92 >                                     std::vector<std::pair<MoleculeStamp*, int> >& moleculeStamps) ;
93  
94 <        void setGlobalIndices();
95 <            
96 <    private:
97 <        void compList(MakeStamps* stamps,SimInfo* info) ;
94 >        /**
95 >         * Divide the molecules among the processors
96 >         */
97 >        
98 >        void divideMolecules(SimInfo* info);
99 >
100 >        /** Load initial coordinates */
101 >        void loadCoordinates(SimInfo* info);    
102 >
103 >        std::string mdFileName_;  //save the meta-data file name which may be used later
104   };
105  
106   } //end namespace oopse

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines