ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/oopse-1.0/libmdtools/SimSetup.hpp
Revision: 1447
Committed: Fri Jul 30 21:01:35 2004 UTC (19 years, 11 months ago) by gezelter
File size: 2295 byte(s)
Log Message:
Initial import of OOPSE sources into cvs tree

File Contents

# Content
1 #ifndef __SIMSETUP_H__
2 #define __SIMSETUP_H__
3 #include <string>
4 #include "StringUtils.hpp"
5 #include "MakeStamps.hpp"
6 #include "Globals.hpp"
7 #include "ForceFields.hpp"
8 #include "SimInfo.hpp"
9 #include "ReadWrite.hpp"
10 #include "AllIntegrator.hpp"
11
12 using namespace std;
13 // this routine is defined in BASS_interface.cpp
14 extern void set_interface_stamps( MakeStamps* ms, Globals* g );
15
16 string getPrefix(const string& str );
17
18 class SimSetup{
19
20 public:
21 SimSetup();
22 ~SimSetup();
23
24 void setSimInfo( SimInfo* the_info ) { info = the_info; }
25 void setSimInfo( SimInfo* the_info, int theNinfo );
26 void suspendInit( void ) { initSuspend = true; }
27 void parseFile( char* fileName );
28 void createSim( void );
29
30 ForceFields* getForceField() {return the_ff;}
31 private:
32
33 #ifdef IS_MPI
34 void receiveParse(void);
35 #endif
36
37 void gatherInfo( void );
38 void sysObjectsCreation( void );
39 void finalInfoCheck( void );
40 void initSystemCoords( void );
41 void makeOutNames(void);
42 void makeIntegrator(void);
43 void initFortran(void);
44 void makeMinimizer(void);
45
46 void createFF( void );
47 void compList( void );
48 void calcSysValues( void );
49 void makeSysArrays( void );
50
51 #ifdef IS_MPI
52 void mpiMolDivide( void );
53
54 int* mol2proc;
55 int* molCompType;
56
57 #endif //is_mpi
58
59 void initFromMetaDataFile( void );
60 void makeMolecules( void );
61 void makeElement( double x, double y, double z );
62
63 int ensembleCase;
64 int ffCase;
65
66 MakeStamps* stamps;
67 Globals* globals;
68 char* inFileName;
69
70 SimInfo* info;
71 int isInfoArray;
72 int nInfo;
73
74 bool initSuspend;
75
76 int n_components;
77 int globalAtomCounter;
78 int globalMolCounter;
79
80 char force_field[100];
81 char forcefield_variant[100];
82 char ensemble[100];
83 Component** the_components;
84
85 int* components_nmol;
86 MoleculeStamp** comp_stamps; //the stamps matching the components
87 int tot_nmol;
88 int tot_atoms;
89 int tot_groups;
90 int tot_rigid;
91 int tot_bonds;
92 int tot_bends;
93 int tot_torsions;
94 int tot_SRI;
95
96 ForceFields* the_ff;
97
98 // needed by makeElement
99
100 int current_mol;
101 int current_comp_mol;
102 int current_comp;
103 int current_atom_ndx;
104 short int has_forcefield_variant;
105
106 vector<int> globalAtomIndex;
107 vector<int> globalGroupIndex;
108 void setupZConstraint(SimInfo& theInfo); //setup parameters for zconstraint method
109
110 };
111 #endif