ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/SimSetup.hpp
Revision: 656
Committed: Tue Jul 29 16:32:37 2003 UTC (20 years, 11 months ago) by mmeineke
File size: 1896 byte(s)
Log Message:
working on the props code

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 656 void setSimInfo( SimInfo* the_info, int theNinfo );
22 mmeineke 377 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 mmeineke 614 void gatherInfo( void );
33     void sysObjectsCreation( void );
34     void finalInfoCheck( void );
35     void initSystemCoords( void );
36     void makeOutNames(void);
37 mmeineke 616 void makeIntegrator(void);
38     void initFortran(void);
39 mmeineke 407
40 mmeineke 614 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 mmeineke 377 void initFromBass( void );
54 mmeineke 614 void makeMolecules( void );
55 mmeineke 377 void makeElement( double x, double y, double z );
56    
57 mmeineke 614 int ensembleCase;
58     int ffCase;
59    
60    
61 mmeineke 377 MakeStamps* stamps;
62     Globals* globals;
63     char* inFileName;
64    
65 mmeineke 614 SimInfo* info;
66 mmeineke 656 int isInfoArray;
67     int nInfo;
68 mmeineke 377
69     int n_components;
70 mmeineke 616 int globalAtomIndex;
71 mmeineke 377
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 mmeineke 424 Exclude** the_excludes;
88 mmeineke 377 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     };
103     #endif