ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-3.0/src/brains/SimSetup.hpp
Revision: 1592
Committed: Mon Oct 18 17:07:27 2004 UTC (19 years, 9 months ago) by tim
File size: 2367 byte(s)
Log Message:
fix some bugs in Quaternion class

File Contents

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