ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/SimSetup.hpp
Revision: 660
Committed: Thu Jul 31 19:59:34 2003 UTC (20 years, 11 months ago) by tim
File size: 1928 byte(s)
Log Message:
add index range checking into ZConstraint

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