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

# 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 tim 645 #include "AllIntegrator.hpp"
10 mmeineke 377
11     // this routine is defined in BASS_interface.cpp
12 mmeineke 498 extern void set_interface_stamps( MakeStamps* ms, Globals* g );
13 mmeineke 377
14     class SimSetup{
15    
16     public:
17     SimSetup();
18     ~SimSetup();
19    
20 mmeineke 616 void setSimInfo( SimInfo* the_info ) { info = the_info; }
21 mmeineke 377 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 mmeineke 614 void gatherInfo( void );
32     void sysObjectsCreation( void );
33     void finalInfoCheck( void );
34     void initSystemCoords( void );
35     void makeOutNames(void);
36 mmeineke 616 void makeIntegrator(void);
37     void initFortran(void);
38 mmeineke 407
39 mmeineke 614 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 mmeineke 377 void initFromBass( void );
53 mmeineke 614 void makeMolecules( void );
54 mmeineke 377 void makeElement( double x, double y, double z );
55    
56 mmeineke 614 int ensembleCase;
57     int ffCase;
58    
59    
60 mmeineke 377 MakeStamps* stamps;
61     Globals* globals;
62     char* inFileName;
63    
64 mmeineke 614 SimInfo* info;
65 mmeineke 377
66     int n_components;
67 mmeineke 616 int globalAtomIndex;
68 mmeineke 377
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 mmeineke 424 Exclude** the_excludes;
85 mmeineke 377 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