ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-1.0/libmdtools/SimSetup.hpp
Revision: 1334
Committed: Fri Jul 16 18:58:03 2004 UTC (19 years, 11 months ago) by gezelter
File size: 2136 byte(s)
Log Message:
Initial import of OOPSE-1.0 source tree

File Contents

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