ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/SimSetup.hpp
Revision: 1214
Committed: Tue Jun 1 18:42:58 2004 UTC (20 years, 1 month ago) by gezelter
File size: 2068 byte(s)
Log Message:
Cutoff Groups for MPI

File Contents

# Content
1 #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 ensemble[100];
78 Component** the_components;
79
80 int* components_nmol;
81 MoleculeStamp** comp_stamps; //the stamps matching the components
82 int tot_nmol;
83 int tot_atoms;
84 int tot_groups;
85 int tot_rigid;
86 int tot_bonds;
87 int tot_bends;
88 int tot_torsions;
89 int tot_SRI;
90
91 ForceFields* the_ff;
92
93 // needed by makeElement
94
95 int current_mol;
96 int current_comp_mol;
97 int current_comp;
98 int current_atom_ndx;
99
100 vector<int> globalAtomIndex;
101 vector<int> globalGroupIndex;
102 void setupZConstraint(SimInfo& theInfo); //setup parameters for zconstraint method
103
104 };
105 #endif