ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-1.0/libmdtools/SimSetup.hpp
Revision: 1419
Committed: Tue Jul 27 18:14:16 2004 UTC (19 years, 11 months ago) by gezelter
File size: 2208 byte(s)
Log Message:
BASS eradication project (part 3)

File Contents

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