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

# Content
1 #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 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 void initFromMetaDataFile( void );
57 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