ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-2.0/src/io/Globals.hpp
(Generate patch)

Comparing trunk/OOPSE-2.0/src/io/Globals.hpp (file contents):
Revision 2101 by chrisfen, Thu Mar 10 15:10:24 2005 UTC vs.
Revision 2448 by tim, Wed Nov 16 23:10:02 2005 UTC

# Line 1 | Line 1
1 < /*
1 > /*
2   * Copyright (c) 2005 The University of Notre Dame. All Rights Reserved.
3   *
4   * The University of Notre Dame grants you ("Licensee") a
# Line 46 | Line 46
46  
47   #include <stdlib.h>
48   #include <vector>
49 + #include <string>
50 + #include <map>
51  
52   #include "io/BASS_interface.h"
53   #include "types/Component.hpp"
52 #include "io/LinkedCommand.hpp"
54   #include "types/MakeStamps.hpp"
55   #include "types/ZconStamp.hpp"
56  
57 + #include "utils/ParameterManager.hpp"
58  
59 + class Globals {
60 +  public:
61 +    Globals();
62 +    ~Globals();
63 +    
64 +  DeclareParameter(ForceField, std::string);
65 +  DeclareParameter(NComponents, int);  
66 +  DeclareParameter(TargetTemp, double);
67 +  DeclareParameter(Ensemble, std::string);
68 +  DeclareParameter(Dt, double);
69 +  DeclareParameter(RunTime, double);
70 +  DeclareParameter(InitialConfig, std::string);
71 +  DeclareParameter(FinalConfig, std::string);
72 +  DeclareParameter(NMol, int);
73 +  DeclareParameter(Density, double);
74 +  DeclareParameter(Box, double);
75 +  DeclareParameter(BoxX, double);
76 +  DeclareParameter(BoxY, double);
77 +  DeclareParameter(BoxZ, double);
78 +  DeclareParameter(SampleTime, double);
79 +  DeclareParameter(ResetTime, double);
80 +  DeclareParameter(StatusTime, double);
81 +  DeclareParameter(CutoffRadius, double);
82 +  DeclareParameter(SwitchingRadius, double);
83 +  DeclareParameter(Dielectric, double);
84 +  DeclareParameter(TempSet, bool);
85 +  DeclareParameter(ThermalTime, double);
86 +  DeclareParameter(MixingRule, std::string);
87 +  DeclareParameter(UsePeriodicBoundaryConditions, bool);
88 +  DeclareParameter(TargetPressure, double);
89 +  DeclareParameter(TauThermostat, double);
90 +  DeclareParameter(TauBarostat, double);
91 +  DeclareParameter(ZconsTime, double);
92 +  DeclareParameter(NZconstraints, int);
93 +  DeclareParameter(ZconsTol, double);
94 +  DeclareParameter(ZconsForcePolicy, std::string);
95 +  DeclareParameter(Seed, int);
96 +  DeclareParameter(UseInitalTime, bool);
97 +  DeclareParameter(UseIntialExtendedSystemState, bool);
98 +  DeclareParameter(OrthoBoxTolerance, double);
99 +  DeclareParameter(Minimizer, std::string);
100 +  DeclareParameter(MinimizerMaxIter, double);
101 +  DeclareParameter(MinimizerWriteFrq, int);
102 +  DeclareParameter(MinimizerStepSize, double);
103 +  DeclareParameter(MinimizerFTol, double);
104 +  DeclareParameter(MinimizerGTol, double);
105 +  DeclareParameter(MinimizerLSTol, double);
106 +  DeclareParameter(MinimizerLSMaxIter, int);
107 +  DeclareParameter(ZconsGap, double);
108 +  DeclareParameter(ZconsFixtime, double);
109 +  DeclareParameter(ZconsUsingSMD, bool);
110 +  DeclareParameter(UseSolidThermInt, bool);
111 +  DeclareParameter(UseLiquidThermInt, bool);
112 +  DeclareParameter(ThermodynamicIntegrationLambda, double);
113 +  DeclareParameter(ThermodynamicIntegrationK, double);
114 +  DeclareParameter(ForceFieldVariant, std::string);
115 +  DeclareParameter(ForceFieldFileName, std::string);
116 +  DeclareParameter(ThermIntDistSpringConst, double);
117 +  DeclareParameter(ThermIntThetaSpringConst, double);
118 +  DeclareParameter(ThermIntOmegaSpringConst, double);
119 +  DeclareParameter(SurfaceTension, double);
120 +  DeclareParameter(PrintPressureTensor, bool);
121 +  DeclareParameter(ElectrostaticSummationMethod, std::string);
122 +  DeclareParameter(ElectrostaticScreeningMethod, std::string);
123 +  DeclareParameter(DampingAlpha, double);
124 +  DeclareParameter(CutoffPolicy, std::string);
125 +  DeclareParameter(SwitchingFunctionType, std::string);
126 +  DeclareParameter(CompressDumpFile, bool);
127 +  DeclareParameter(OutputForceVector, bool);
128 +  DeclareParameter(SkinThickness, double);
129 +  DeclareParameter(StatFileFormat, std::string);    
130  
131 < class Globals{
132 <  
133 < public:
134 <  
135 <  Globals();
136 <  ~Globals();
131 >  private:
132 >    typedef std::map<std::string, ParameterBase*> ParamMap;
133 >    ParamMap parameters_;
134 >    
135 >    Component* current_component;
136 >    Component** components; // the array of components
137  
138 <  void initalize();
139 <  
67 <  int newComponent( event* the_event );
68 <  int componentAssign( event* the_event );
69 <  int componentEnd( event* the_event );
138 >    ZconStamp* current_zConstraint;
139 >    ZconStamp** zConstraints; // the array of zConstraints
140  
141 <  int newZconstraint( event* the_event );
72 <  int zConstraintAssign( event* the_event );
73 <  int zConstraintEnd( event* the_event );
74 <  
75 <  int globalAssign( event* the_event );
76 <  int globalEnd( event* the_event );
77 <
78 <  char*  getForceField( void )      { return force_field; }
79 <  int    getNComponents( void )     { return n_components; }
80 <  double getTargetTemp( void )      { return target_temp; }
81 <  double getTargetPressure( void )  { return target_pressure; }
82 <  double getQmass( void )           { return q_mass; }
83 <  double getTauThermostat( void )   { return tau_thermostat; }
84 <  double getTauBarostat( void )     { return tau_barostat; }
85 <  char*  getEnsemble( void )        { return ensemble; }
86 <  double getDt( void )              { return dt; }
87 <  double getRunTime( void )         { return run_time; }
88 <
89 <  int    getNzConstraints( void )   { return n_zConstraints; }
90 <  char*  getInitialConfig( void )   { return initial_config; }
91 <  char*  getFinalConfig( void )     { return final_config; }
92 <  int    getNMol( void )            { return n_mol; }
93 <  double getDensity( void )         { return density; }
94 <  double getBox( void )             { return box; }
95 <  double getBoxX( void )            { return box_x; }
96 <  double getBoxY( void )            { return box_y; }
97 <  double getBoxZ( void )            { return box_z; }
98 <  double getSampleTime( void )      { return sample_time; }
99 <  double getStatusTime( void )      { return status_time; }
100 <  double getResetTime( void )       { return resetTime; }
101 <  double getThermalTime( void )     { return thermal_time; }
102 <  double getDielectric( void )      { return dielectric; }
103 <  double getRcut( void )            { return rcut; }
104 <  double getRsw( void )             { return rsw; }
105 <  int    getTempSet( void )         { return tempSet; }
106 <  int    getUseInitTime( void )     { return useInitTime; }
107 <  int    getUseInitXSstate( void )  { return useInitXSstate; }
108 <  double getOrthoBoxTolerance(void) { return orthoBoxTolerance; }
109 <  int    getPBC( void )             { return usePBC; }
110 <  int    getUseRF( void )           { return useRF; }
111 <  char*  getMixingRule( void)       { return mixingRule; }
112 <  double getZconsTime(void)         { return zcons_time; }
113 <  double getZconsTol(void)          { return zcons_tol; }
114 <  char*  getZconsForcePolicy(void)  { return zconsForcePolicy; }
115 <  double getZconsGap(void)          { return zcons_gap; }
116 <  double getZconsFixtime(void)      { return zcons_fixtime; }
117 <  int    getZconsUsingSMD(void)     { return zcons_using_smd; }
118 <  int    getSeed(void)              { return seed; }
119 <  char*  getMinimizer(void)         { return minimizer_name; }
120 <  int    getMinMaxIter(void)        { return minimizer_maxiteration; }
121 <  int    getMinWriteFrq(void)       { return minimizer_writefrq; }
122 <  double getMinStepSize(void)       { return minimizer_stepsize; }
123 <  double getMinFTol(void)           { return minimizer_ftol; }
124 <  double getMinGTol(void)           { return minimizer_gtol; }
125 <  double getMinLSTol(void)          { return minimizer_ls_tol; }
126 <  int    getMinLSMaxIter(void)      { return minimizer_ls_maxiteration; }
127 <  int    getUseSolidThermInt(void)  { return useSolidThermInt; }
128 <  int    getUseLiquidThermInt(void) { return useLiquidThermInt; }
129 <  double getThermIntLambda(void)   { return thermodynamic_integration_lambda; }
130 <  double getThermIntK(void)         { return thermodynamic_integration_k; }
131 <  char*  getForceFieldVariant( void ) { return forcefield_variant; }
132 <  char* getForceFieldFileName() { return forcefield_filename;}
133 <  double getDistSpringConst(void)   { return therm_int_dist_spring; }
134 <  double getThetaSpringConst(void)  { return therm_int_theta_spring; }
135 <  double getOmegaSpringConst(void)  { return therm_int_omega_spring; }
136 <  short int haveDt( void )            { return have_dt; }
137 <  short int haveRunTime( void )       { return have_run_time; }
138 <  short int haveEnsemble( void )      { return have_ensemble; }
139 <  short int haveTargetTemp( void )    { return have_target_temp; }
140 <  short int haveInitialConfig( void ) { return have_initial_config; }
141 <  short int haveFinalConfig( void )   { return have_final_config; }
142 <  short int haveNMol( void )          { return have_n_mol; }
143 <  short int haveDensity( void )       { return have_density; }
144 <  short int haveBox( void )           { return have_box; }
145 <  short int haveBoxX( void )          { return have_box_x; }
146 <  short int haveBoxY( void )          { return have_box_y; }
147 <  short int haveBoxZ( void )          { return have_box_z; }
148 <  short int haveSampleTime( void )    { return have_sample_time; }
149 <  short int haveResetTime( void )     { return have_reset_time; }
150 <  short int haveStatusTime( void )    { return have_status_time; }
151 <  short int haveThermalTime( void )   { return have_thermal_time; }
152 <  short int haveRcut( void )          { return have_rcut; }
153 <  short int haveRsw( void )           { return have_rsw; }
154 <  short int haveDielectric( void )    { return have_dielectric; }
155 <  short int haveTempSet( void )       { return have_tempSet; }
156 <  short int haveTargetPressure( void ){ return have_target_pressure; }
157 <  short int haveQmass( void )         { return have_q_mass; }
158 <  short int haveTauThermostat( void ) { return have_tau_thermostat; }
159 <  short int haveTauBarostat( void )   { return have_tau_barostat; }
160 <  short int haveZconstraintTime(void) { return have_zcons_time; }
161 <  short int haveZconstraints( void )  { return have_zConstraints; }
162 <  short int haveZconsTol(void)        { return have_zcons_tol; }
163 <  short int haveZconsForcePolicy(void){ return have_zcons_force_policy; }
164 <  short int haveZConsGap(void)        { return have_zcons_gap; }
165 <  short int haveZConsFixTime(void)    { return have_zcons_fixtime; }
166 <  short int haveZConsUsingSMD(void)   { return have_zcons_using_smd; }  
167 <  short int haveSeed(void)            { return have_seed; }
168 <  short int haveMinimizer(void)       { return have_minimizer; }
169 <  short int haveMinMaxIter(void)      { return have_minimizer_maxiteration; }
170 <  short int haveMinWriteFrq(void)     { return have_minimizer_writefrq; }
171 <  short int haveMinStepSize(void)     { return have_minimizer_stepsize; }
172 <  short int haveMinFTol(void)         { return have_minimizer_ftol; }
173 <  short int haveMinGTol(void)         { return have_minimizer_gtol; }
174 <  short int haveMinLSTol(void)        { return have_minimizer_ls_tol; }
175 <  short int haveMinLSMaxIter(void)    { return have_minimizer_ls_maxiteration;}
176 <  short int haveThermIntLambda(void)  { return have_thermodynamic_integration_lambda; }
177 <  short int haveThermIntK(void)    { return have_thermodynamic_integration_k; }
178 <  short int haveForceFieldVariant(void) { return have_forcefield_variant; }
179 <  short int haveForceFieldFileName(void) { return have_forcefield_filename; }
180 <  short int haveDistSpringConst(void) { return have_dist_spring_constant; }
181 <  short int haveThetaSpringConst(void) { return have_theta_spring_constant; }
182 <  short int haveOmegaSpringConst(void) { return have_omega_spring_constant; }
183 <  /* other accessors */
184 <  Component** getComponents( void )   { return components; }
185 <  ZconStamp** getZconStamp( void )    { return zConstraints; }
186 <  
187 < private:
188 <  
189 <  int hash_size;
190 <  int hash_shift;
191 <  int hash( char* text );
192 <  void addHash( char* text, int token );
193 <  LinkedCommand** command_table;
194 <  
195 <  char* checkMe( void );
196 <  
197 <  Component* current_component;
198 <  Component** components; // the array of components
141 >    char* checkMe();
142  
143 <  ZconStamp* current_zConstraint;
144 <  ZconStamp** zConstraints; // the array of zConstraints
143 >  public:
144 >    int newComponent( event* the_event );
145 >    int componentAssign( event* the_event );
146 >    int componentEnd( event* the_event );
147  
148 <  char force_field[100];
149 <  int n_components;
150 <  int n_zConstraints;
206 <  double target_temp;
207 <  double target_pressure;
208 <  char ensemble[100];
209 <  char mixingRule[100];
210 <  double dt;
211 <  double run_time;
212 <  char initial_config[120];
213 <  char final_config[120];
214 <  int n_mol;
215 <  double density;
216 <  double box;
217 <  double box_x, box_y, box_z;
218 <  double sample_time;
219 <  double status_time;
220 <  double resetTime;
221 <  double orthoBoxTolerance;
222 <  double thermal_time;
223 <  double rcut;
224 <  double rsw;
225 <  double dielectric;
226 <  int tempSet;
227 <  int useInitTime;
228 <  int useInitXSstate;
229 <  int usePBC;
230 <  int useRF;
231 <  double q_mass;
232 <  double tau_thermostat;
233 <  double tau_barostat;
234 <  double zcons_time;    
235 <  double zcons_tol;
236 <  char zconsForcePolicy[100];
237 <  double zcons_gap;
238 <  double zcons_fixtime;
239 <  int zcons_using_smd;
148 >    int newZconstraint( event* the_event );
149 >    int zConstraintAssign( event* the_event );
150 >    int zConstraintEnd( event* the_event );
151    
152 <  int seed;
153 <  char minimizer_name[100];
243 <  int minimizer_maxiteration;
244 <  int minimizer_writefrq;
245 <  double minimizer_stepsize;
246 <  double minimizer_ftol;
247 <  double minimizer_gtol;
248 <  double minimizer_ls_tol;
249 <  int minimizer_ls_maxiteration;
250 <  int useSolidThermInt;
251 <  int useLiquidThermInt;
252 <  double thermodynamic_integration_lambda;
253 <  double thermodynamic_integration_k;
254 <  char forcefield_variant[100];
255 <  char forcefield_filename[100];
256 <  double therm_int_dist_spring;
257 <  double therm_int_theta_spring;
258 <  double therm_int_omega_spring;
259 <  //required arguments
260 <  short int have_force_field, have_n_components, have_target_temp;
261 <  short int have_target_pressure, have_ensemble, have_dt, have_run_time;
262 <  
263 <  // optional arguments
264 <  short int have_initial_config, have_final_config, have_n_mol;
265 <  short int have_density, have_box, have_box_x, have_box_y, have_box_z;
266 <  short int have_sample_time, have_status_time, have_rcut, have_dielectric;
267 <  short int have_tempSet, have_thermal_time, have_rsw, have_q_mass;
268 <  short int have_tau_thermostat, have_tau_barostat;
269 <  short int have_zcons_time, have_zConstraints, have_n_zConstraints;
270 <  short int have_zcons_tol, have_seed;
271 <  short int have_zcons_force_policy, have_reset_time;
272 <  short int have_zcons_gap, have_zcons_fixtime;
273 <  short int have_zcons_using_smd;
274 <  short int have_minimizer, have_minimizer_maxiteration;
275 <  short int have_minimizer_writefrq, have_minimizer_stepsize;
276 <  short int have_minimizer_ftol, have_minimizer_gtol;
277 <  short int have_minimizer_ls_tol, have_minimizer_ls_maxiteration;
278 <  short int have_thermodynamic_integration_lambda;
279 <  short int have_thermodynamic_integration_k;
280 <  short int have_forcefield_variant;
281 <  short int have_forcefield_filename;  
282 <  short int have_dist_spring_constant;
283 <  short int have_theta_spring_constant;
284 <  short int have_omega_spring_constant;
285 < };
152 >    int globalAssign( event* the_event );
153 >    int globalEnd( event* the_event );    
154  
155 +    ZconStamp** getZconStamp() {return zConstraints;}
156 +    Component** getComponents() {return components;}
157 + };
158   #endif
159 +

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines