ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/SimSetup.hpp
Revision: 823
Committed: Mon Oct 27 22:07:48 2003 UTC (20 years, 8 months ago) by mmeineke
File size: 1968 byte(s)
Log Message:
added routines for the sysbuilder to work with 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 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 823 void suspendInit( void ) { initSuspend = true; }
23 mmeineke 377 void parseFile( char* fileName );
24     void createSim( void );
25    
26    
27     private:
28    
29     #ifdef IS_MPI
30     void receiveParse(void);
31     #endif
32    
33 mmeineke 614 void gatherInfo( void );
34     void sysObjectsCreation( void );
35     void finalInfoCheck( void );
36     void initSystemCoords( void );
37     void makeOutNames(void);
38 mmeineke 616 void makeIntegrator(void);
39     void initFortran(void);
40 mmeineke 407
41 mmeineke 614 void createFF( void );
42     void compList( void );
43     void calcSysValues( void );
44     void makeSysArrays( void );
45    
46     #ifdef IS_MPI
47     void mpiMolDivide( void );
48    
49     int* mol2proc;
50     int* molCompType;
51    
52     #endif //is_mpi
53    
54 mmeineke 377 void initFromBass( void );
55 mmeineke 614 void makeMolecules( void );
56 mmeineke 377 void makeElement( double x, double y, double z );
57    
58 mmeineke 614 int ensembleCase;
59     int ffCase;
60    
61    
62 mmeineke 377 MakeStamps* stamps;
63     Globals* globals;
64     char* inFileName;
65    
66 mmeineke 614 SimInfo* info;
67 mmeineke 656 int isInfoArray;
68     int nInfo;
69 mmeineke 823
70     bool initSuspend;
71 mmeineke 377
72     int n_components;
73 mmeineke 616 int globalAtomIndex;
74 mmeineke 377
75     char force_field[100];
76     char ensemble[100];
77     Component** the_components;
78    
79     int* components_nmol;
80     MoleculeStamp** comp_stamps; //the stamps matching the components
81     int tot_nmol;
82     int tot_atoms;
83     int tot_bonds;
84     int tot_bends;
85     int tot_torsions;
86     int tot_SRI;
87    
88     ForceFields* the_ff;
89    
90     // needed by makeElement
91    
92     int current_mol;
93     int current_comp_mol;
94     int current_comp;
95     int current_atom_ndx;
96    
97     #ifdef IS_MPI
98     int* globalIndex;
99     #endif //is_mpi
100    
101 tim 682 void setupZConstraint(SimInfo& theInfo); //setup parameters for zconstraint method
102 tim 660
103 mmeineke 377 };
104     #endif