ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-2.0/src/brains/SimSetup.hpp
Revision: 1653
Committed: Wed Oct 27 00:01:29 2004 UTC (19 years, 8 months ago) by gezelter
File size: 2364 byte(s)
Log Message:
char* -> string

File Contents

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