ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/SimSetup.hpp
Revision: 823
Committed: Mon Oct 27 22:07:48 2003 UTC (20 years, 8 months ago) by mmeineke
File size: 1968 byte(s)
Log Message:
added routines for the sysbuilder to work with simSetup

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
41 void createFF( void );
42 void compList( void );
43 void calcSysValues( void );
44 void makeSysArrays( void );
45
46 #ifdef IS_MPI
47 void mpiMolDivide( void );
48
49 int* mol2proc;
50 int* molCompType;
51
52 #endif //is_mpi
53
54 void initFromBass( void );
55 void makeMolecules( void );
56 void makeElement( double x, double y, double z );
57
58 int ensembleCase;
59 int ffCase;
60
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 globalAtomIndex;
74
75 char force_field[100];
76 char ensemble[100];
77 Component** the_components;
78
79 int* components_nmol;
80 MoleculeStamp** comp_stamps; //the stamps matching the components
81 int tot_nmol;
82 int tot_atoms;
83 int tot_bonds;
84 int tot_bends;
85 int tot_torsions;
86 int tot_SRI;
87
88 ForceFields* the_ff;
89
90 // needed by makeElement
91
92 int current_mol;
93 int current_comp_mol;
94 int current_comp;
95 int current_atom_ndx;
96
97 #ifdef IS_MPI
98 int* globalIndex;
99 #endif //is_mpi
100
101 void setupZConstraint(SimInfo& theInfo); //setup parameters for zconstraint method
102
103 };
104 #endif