ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/SimSetup.hpp
Revision: 645
Committed: Tue Jul 22 19:54:52 2003 UTC (20 years, 11 months ago) by tim
File size: 1810 byte(s)
Log Message:
*** empty log message ***

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 parseFile( char* fileName );
22 void createSim( void );
23
24
25 private:
26
27 #ifdef IS_MPI
28 void receiveParse(void);
29 #endif
30
31 void gatherInfo( void );
32 void sysObjectsCreation( void );
33 void finalInfoCheck( void );
34 void initSystemCoords( void );
35 void makeOutNames(void);
36 void makeIntegrator(void);
37 void initFortran(void);
38
39 void createFF( void );
40 void compList( void );
41 void calcSysValues( void );
42 void makeSysArrays( void );
43
44 #ifdef IS_MPI
45 void mpiMolDivide( void );
46
47 int* mol2proc;
48 int* molCompType;
49
50 #endif //is_mpi
51
52 void initFromBass( void );
53 void makeMolecules( void );
54 void makeElement( double x, double y, double z );
55
56 int ensembleCase;
57 int ffCase;
58
59
60 MakeStamps* stamps;
61 Globals* globals;
62 char* inFileName;
63
64 SimInfo* info;
65
66 int n_components;
67 int globalAtomIndex;
68
69 char force_field[100];
70 char ensemble[100];
71 Component** the_components;
72
73 int* components_nmol;
74 MoleculeStamp** comp_stamps; //the stamps matching the components
75 int tot_nmol;
76 int tot_atoms;
77 int tot_bonds;
78 int tot_bends;
79 int tot_torsions;
80 int tot_SRI;
81
82 Atom** the_atoms;
83 SRI** the_sris;
84 Exclude** the_excludes;
85 Molecule* the_molecules;
86 ForceFields* the_ff;
87
88 // needed by makeElement
89
90 int current_mol;
91 int current_comp_mol;
92 int current_comp;
93 int current_atom_ndx;
94
95 #ifdef IS_MPI
96 int* globalIndex;
97 #endif //is_mpi
98
99 };
100 #endif