ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/oopse-1.0/libmdtools/SimSetup.hpp
Revision: 1447
Committed: Fri Jul 30 21:01:35 2004 UTC (19 years, 11 months ago) by gezelter
File size: 2295 byte(s)
Log Message:
Initial import of OOPSE sources into cvs tree

File Contents

# User Rev Content
1 gezelter 1447 #ifndef __SIMSETUP_H__
2     #define __SIMSETUP_H__
3     #include <string>
4     #include "StringUtils.hpp"
5     #include "MakeStamps.hpp"
6     #include "Globals.hpp"
7     #include "ForceFields.hpp"
8     #include "SimInfo.hpp"
9     #include "ReadWrite.hpp"
10     #include "AllIntegrator.hpp"
11    
12     using namespace std;
13     // this routine is defined in BASS_interface.cpp
14     extern void set_interface_stamps( MakeStamps* ms, Globals* g );
15    
16     string getPrefix(const string& str );
17    
18     class SimSetup{
19    
20     public:
21     SimSetup();
22     ~SimSetup();
23    
24     void setSimInfo( SimInfo* the_info ) { info = the_info; }
25     void setSimInfo( SimInfo* the_info, int theNinfo );
26     void suspendInit( void ) { initSuspend = true; }
27     void parseFile( char* fileName );
28     void createSim( void );
29    
30     ForceFields* getForceField() {return the_ff;}
31     private:
32    
33     #ifdef IS_MPI
34     void receiveParse(void);
35     #endif
36    
37     void gatherInfo( void );
38     void sysObjectsCreation( void );
39     void finalInfoCheck( void );
40     void initSystemCoords( void );
41     void makeOutNames(void);
42     void makeIntegrator(void);
43     void initFortran(void);
44     void makeMinimizer(void);
45    
46     void createFF( void );
47     void compList( void );
48     void calcSysValues( void );
49     void makeSysArrays( void );
50    
51     #ifdef IS_MPI
52     void mpiMolDivide( void );
53    
54     int* mol2proc;
55     int* molCompType;
56    
57     #endif //is_mpi
58    
59     void initFromMetaDataFile( void );
60     void makeMolecules( void );
61     void makeElement( double x, double y, double z );
62    
63     int ensembleCase;
64     int ffCase;
65    
66     MakeStamps* stamps;
67     Globals* globals;
68     char* inFileName;
69    
70     SimInfo* info;
71     int isInfoArray;
72     int nInfo;
73    
74     bool initSuspend;
75    
76     int n_components;
77     int globalAtomCounter;
78     int globalMolCounter;
79    
80     char force_field[100];
81     char forcefield_variant[100];
82     char ensemble[100];
83     Component** the_components;
84    
85     int* components_nmol;
86     MoleculeStamp** comp_stamps; //the stamps matching the components
87     int tot_nmol;
88     int tot_atoms;
89     int tot_groups;
90     int tot_rigid;
91     int tot_bonds;
92     int tot_bends;
93     int tot_torsions;
94     int tot_SRI;
95    
96     ForceFields* the_ff;
97    
98     // needed by makeElement
99    
100     int current_mol;
101     int current_comp_mol;
102     int current_comp;
103     int current_atom_ndx;
104     short int has_forcefield_variant;
105    
106     vector<int> globalAtomIndex;
107     vector<int> globalGroupIndex;
108     void setupZConstraint(SimInfo& theInfo); //setup parameters for zconstraint method
109    
110     };
111     #endif