ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/SimSetup.hpp
Revision: 616
Committed: Tue Jul 15 18:52:16 2003 UTC (20 years, 11 months ago) by mmeineke
File size: 1781 byte(s)
Log Message:
cleaned up simSetup

File Contents

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