ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libBASS/Globals.hpp
Revision: 708
Committed: Wed Aug 20 22:23:34 2003 UTC (21 years ago) by tim
File size: 5916 byte(s)
Log Message:
user can setup seed in bass file now, if he does not specify any value for
seed, oopse will take the value of seconds of system time as seed

File Contents

# User Rev Content
1 mmeineke 377 #ifndef __GLOBALS_H__
2     #define __GLOBALS_H__
3    
4 tim 689 #include <iostream>
5    
6 mmeineke 377 #include <cstdlib>
7 tim 659 #include <vector>
8 mmeineke 377
9     #include "BASS_interface.h"
10     #include "Component.hpp"
11     #include "LinkedCommand.hpp"
12     #include "MakeStamps.hpp"
13 mmeineke 675 #include "ZconStamp.hpp"
14 mmeineke 377
15 tim 659 using namespace std;
16    
17 mmeineke 377 class Globals{
18    
19     public:
20    
21     Globals();
22     ~Globals();
23 tim 693
24 mmeineke 377 int newComponent( event* the_event );
25     int componentAssign( event* the_event );
26     int componentEnd( event* the_event );
27 mmeineke 675
28     int newZconstraint( event* the_event );
29     int zConstraintAssign( event* the_event );
30     int zConstraintEnd( event* the_event );
31 mmeineke 377
32     int globalAssign( event* the_event );
33     int globalEnd( event* the_event );
34    
35     char* getForceField( void ) { return force_field; }
36     int getNComponents( void ) { return n_components; }
37     double getTargetTemp( void ) { return target_temp; }
38 gezelter 465 double getTargetPressure( void ) { return target_pressure; }
39 gezelter 474 double getQmass( void ) { return q_mass; }
40 gezelter 481 double getTauThermostat( void ) { return tau_thermostat; }
41     double getTauBarostat( void ) { return tau_barostat; }
42 mmeineke 377 char* getEnsemble( void ) { return ensemble; }
43     double getDt( void ) { return dt; }
44     double getRunTime( void ) { return run_time; }
45    
46 mmeineke 675
47     int getNzConstraints( void ) { return n_zConstraints; }
48 mmeineke 690 char* getInitialConfig( void ) { return initial_config; }
49 mmeineke 377 char* getFinalConfig( void ) { return final_config; }
50     int getNMol( void ) { return n_mol; }
51     double getDensity( void ) { return density; }
52     double getBox( void ) { return box; }
53     double getBoxX( void ) { return box_x; }
54     double getBoxY( void ) { return box_y; }
55     double getBoxZ( void ) { return box_z; }
56     double getSampleTime( void ) { return sample_time; }
57     double getStatusTime( void ) { return status_time; }
58     double getThermalTime( void ) { return thermal_time; }
59     double getDielectric( void ) { return dielectric; }
60 gezelter 394 double getECR( void) { return ecr; }
61     double getEST( void) { return est; }
62 mmeineke 377 int getTempSet( void ) { return tempSet; }
63     int getPBC( void ) { return usePBC;}
64 gezelter 394 int getUseRF( void ) { return useRF;}
65 mmeineke 377 char* getMixingRule( void) { return mixingRule;}
66 tim 682 double getZconsTime(void) { return zcons_time;}
67     double getZconsTol(void) { return zcons_tol;}
68 tim 699 char* getZconsForcePolicy(void) { return zconsForcePolicy;}
69 tim 708 int getSeed(void) { return seed;}
70 mmeineke 377
71     short int haveInitialConfig( void ) { return have_initial_config; }
72     short int haveFinalConfig( void ) { return have_final_config; }
73     short int haveNMol( void ) { return have_n_mol; }
74     short int haveDensity( void ) { return have_density; }
75     short int haveBox( void ) { return have_box; }
76     short int haveBoxX( void ) { return have_box_x; }
77     short int haveBoxY( void ) { return have_box_y; }
78     short int haveBoxZ( void ) { return have_box_z; }
79     short int haveSampleTime( void ) { return have_sample_time; }
80     short int haveStatusTime( void ) { return have_status_time; }
81     short int haveThermalTime( void ) { return have_thermal_time; }
82 gezelter 394 short int haveECR( void ) { return have_ecr; }
83     short int haveEST( void ) { return have_est; }
84 mmeineke 377 short int haveDielectric( void ) { return have_dielectric; }
85     short int haveTempSet( void ) { return have_tempSet; }
86 gezelter 474 short int haveTargetPressure( void ){ return have_target_pressure; }
87     short int haveQmass( void ) { return have_q_mass; }
88 gezelter 481 short int haveTauThermostat( void ) { return have_tau_thermostat;}
89     short int haveTauBarostat( void ) { return have_tau_barostat;}
90 tim 682 short int haveZconstraintTime(void) { return have_zcons_time; }
91 mmeineke 675 short int haveZconstraints( void ) { return have_zConstraints;}
92 tim 682 short int haveZconsTol(void) {return have_zcons_tol;}
93 tim 699 short int haveZconsForcePolicy(void) { return have_zcons_force_policy;}
94 tim 708 short int haveSeed(void) { return have_seed;}
95 mmeineke 377 /* other accessors */
96     Component** getComponents( void ) { return components; }
97 tim 682 ZconStamp** getZconStamp( void ) { return zConstraints; }
98 mmeineke 377
99     private:
100    
101     static const int hash_size = 23;
102     static const int hash_shift = 4;
103     int hash( char* text );
104     void addHash( char* text, int token );
105     LinkedCommand** command_table;
106    
107     char* checkMe( void );
108    
109     Component* current_component;
110     Component** components; // the array of components
111 mmeineke 675
112     ZconStamp* current_zConstraint;
113     ZconStamp** zConstraints; // the array of zConstraints
114    
115 mmeineke 377 char force_field[100];
116     int n_components;
117 mmeineke 675 int n_zConstraints;
118 mmeineke 377 double target_temp;
119 gezelter 465 double target_pressure;
120 mmeineke 377 char ensemble[100];
121     char mixingRule[100];
122     double dt;
123     double run_time;
124     char initial_config[120];
125     char final_config[120];
126     int n_mol;
127     double density;
128     double box;
129     double box_x, box_y, box_z;
130     double sample_time;
131     double status_time;
132     double thermal_time;
133 gezelter 394 double ecr;
134     double est;
135 mmeineke 377 double dielectric;
136     int tempSet;
137     int usePBC;
138 gezelter 394 int useRF;
139 gezelter 474 double q_mass;
140 gezelter 481 double tau_thermostat;
141     double tau_barostat;
142 tim 682 double zcons_time;
143     double zcons_tol;
144 tim 699 char zconsForcePolicy[100];
145 mmeineke 706 int seed;
146 mmeineke 377
147     //required arguments
148     short int have_force_field, have_n_components, have_target_temp;
149 gezelter 465 short int have_target_pressure, have_ensemble, have_dt, have_run_time;
150 mmeineke 377
151     // optional arguments
152     short int have_initial_config, have_final_config, have_n_mol;
153     short int have_density, have_box, have_box_x, have_box_y, have_box_z;
154 gezelter 394 short int have_sample_time, have_status_time, have_ecr, have_dielectric;
155 gezelter 474 short int have_tempSet, have_thermal_time, have_est, have_q_mass;
156 gezelter 481 short int have_tau_thermostat, have_tau_barostat;
157 mmeineke 706 short int have_zcons_time, have_zConstraints, have_n_zConstraints;
158     short int have_zcons_tol, have_seed;
159 tim 699 short int have_zcons_force_policy;
160 mmeineke 377
161     };
162    
163     #endif