| 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 | 
| 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 |  |  | 
| 58 |  |  | 
| 59 | + | /** | 
| 60 | + | * @class Globals Globals.hpp "io/Globals.hpp" | 
| 61 | + | * @brief parsing and storing global parameters for simulation | 
| 62 | + | * @todo need refactorying | 
| 63 | + | */ | 
| 64 |  | class Globals{ | 
| 65 |  |  | 
| 66 | < | public: | 
| 66 | > | public: | 
| 67 |  |  | 
| 68 |  | Globals(); | 
| 69 |  | ~Globals(); | 
| 108 |  | double getDielectric( void )      { return dielectric; } | 
| 109 |  | double getRcut( void )            { return rcut; } | 
| 110 |  | double getRsw( void )             { return rsw; } | 
| 111 | + | double getSkinThickness(void)     { return skinThickness;} | 
| 112 |  | int    getTempSet( void )         { return tempSet; } | 
| 113 |  | int    getUseInitTime( void )     { return useInitTime; } | 
| 114 |  | int    getUseInitXSstate( void )  { return useInitXSstate; } | 
| 115 |  | double getOrthoBoxTolerance(void) { return orthoBoxTolerance; } | 
| 116 |  | int    getPBC( void )             { return usePBC; } | 
| 110 | – | int    getUseRF( void )           { return useRF; } | 
| 117 |  | char*  getMixingRule( void)       { return mixingRule; } | 
| 118 |  | double getZconsTime(void)         { return zcons_time; } | 
| 119 |  | double getZconsTol(void)          { return zcons_tol; } | 
| 132 |  | int    getMinLSMaxIter(void)      { return minimizer_ls_maxiteration; } | 
| 133 |  | int    getUseSolidThermInt(void)  { return useSolidThermInt; } | 
| 134 |  | int    getUseLiquidThermInt(void) { return useLiquidThermInt; } | 
| 135 | < | double getThermIntLambda(void)   { return thermodynamic_integration_lambda; } | 
| 135 | > | double getThermIntLambda(void)    { return thermodynamic_integration_lambda; } | 
| 136 |  | double getThermIntK(void)         { return thermodynamic_integration_k; } | 
| 137 |  | char*  getForceFieldVariant( void ) { return forcefield_variant; } | 
| 138 | < | char* getForceFieldFileName() { return forcefield_filename;} | 
| 138 | > | char*  getForceFieldFileName()    { return forcefield_filename; } | 
| 139 |  | double getDistSpringConst(void)   { return therm_int_dist_spring; } | 
| 140 |  | double getThetaSpringConst(void)  { return therm_int_theta_spring; } | 
| 141 |  | double getOmegaSpringConst(void)  { return therm_int_omega_spring; } | 
| 142 | + | double getSurfaceTension(void)    { return surface_tension; } | 
| 143 | + | bool   getPrintPressureTensor(void) { return print_pressure_tensor;} | 
| 144 | + | char*  getElectrostaticSummationMethod(void) { return electrostaticSummationMethod; } | 
| 145 | + | double getDampingAlpha(void)      { return dampingAlpha; } | 
| 146 | + | char*  getCutoffPolicy(void)      { return cutoffPolicy; } | 
| 147 | + | bool   getCompressDumpFile(void)  { return compressDumpFile;} | 
| 148 | + |  | 
| 149 |  | short int haveDt( void )            { return have_dt; } | 
| 150 |  | short int haveRunTime( void )       { return have_run_time; } | 
| 151 |  | short int haveEnsemble( void )      { return have_ensemble; } | 
| 187 |  | short int haveMinLSTol(void)        { return have_minimizer_ls_tol; } | 
| 188 |  | short int haveMinLSMaxIter(void)    { return have_minimizer_ls_maxiteration;} | 
| 189 |  | short int haveThermIntLambda(void)  { return have_thermodynamic_integration_lambda; } | 
| 190 | < | short int haveThermIntK(void)    { return have_thermodynamic_integration_k; } | 
| 191 | < | short int haveForceFieldVariant(void) { return have_forcefield_variant; } | 
| 190 | > | short int haveThermIntK(void)       { return have_thermodynamic_integration_k; } | 
| 191 | > | short int haveForceFieldVariant(void)  { return have_forcefield_variant; } | 
| 192 |  | short int haveForceFieldFileName(void) { return have_forcefield_filename; } | 
| 193 | < | short int haveDistSpringConst(void) { return have_dist_spring_constant; } | 
| 194 | < | short int haveThetaSpringConst(void) { return have_theta_spring_constant; } | 
| 195 | < | short int haveOmegaSpringConst(void) { return have_omega_spring_constant; } | 
| 193 | > | short int haveDistSpringConst(void)    { return have_dist_spring_constant; } | 
| 194 | > | short int haveThetaSpringConst(void)   { return have_theta_spring_constant; } | 
| 195 | > | short int haveOmegaSpringConst(void)   { return have_omega_spring_constant; } | 
| 196 | > | short int haveSurfaceTension(void)     { return have_surface_tension; } | 
| 197 | > | short int havePrintPressureTensor(void) {return have_print_pressure_tensor;} | 
| 198 | > | short int haveElectrostaticSummationMethod(void) {return have_electro_sum_method;} | 
| 199 | > | short int haveDampingAlpha(void)       { return have_damping_alpha; } | 
| 200 | > | short int haveCutoffPolicy(void)       { return have_cutoff_policy; } | 
| 201 | > | short int haveCompressDumpfile(void)   { return have_compress_dumpfile; } | 
| 202 | > | short int haveSkinThickness(void)      {return have_skin_thickness; } | 
| 203 | > |  | 
| 204 |  | /* other accessors */ | 
| 205 |  | Component** getComponents( void )   { return components; } | 
| 206 |  | ZconStamp** getZconStamp( void )    { return zConstraints; } | 
| 207 |  |  | 
| 208 | < | private: | 
| 208 | > | private: | 
| 209 |  |  | 
| 210 | < | int hash_size; | 
| 211 | < | int hash_shift; | 
| 212 | < | int hash( char* text ); | 
| 213 | < | void addHash( char* text, int token ); | 
| 193 | < | LinkedCommand** command_table; | 
| 210 | > |  | 
| 211 | > | typedef std::map<std::string, int> CommandMapType; | 
| 212 | > | CommandMapType command_table; | 
| 213 | > |  | 
| 214 |  |  | 
| 215 |  | char* checkMe( void ); | 
| 216 |  |  | 
| 242 |  | double thermal_time; | 
| 243 |  | double rcut; | 
| 244 |  | double rsw; | 
| 245 | + | double skinThickness; | 
| 246 |  | double dielectric; | 
| 247 |  | int tempSet; | 
| 248 |  | int useInitTime; | 
| 249 |  | int useInitXSstate; | 
| 250 |  | int usePBC; | 
| 230 | – | int useRF; | 
| 251 |  | double q_mass; | 
| 252 |  | double tau_thermostat; | 
| 253 |  | double tau_barostat; | 
| 276 |  | double therm_int_dist_spring; | 
| 277 |  | double therm_int_theta_spring; | 
| 278 |  | double therm_int_omega_spring; | 
| 279 | + | double surface_tension; | 
| 280 | + | bool print_pressure_tensor; | 
| 281 | + | char electrostaticSummationMethod[100]; | 
| 282 | + | double dampingAlpha; | 
| 283 | + | char cutoffPolicy[100]; | 
| 284 | + | bool compressDumpFile; | 
| 285 | + |  | 
| 286 |  | //required arguments | 
| 287 |  | short int have_force_field, have_n_components, have_target_temp; | 
| 288 |  | short int have_target_pressure, have_ensemble, have_dt, have_run_time; | 
| 309 |  | short int have_dist_spring_constant; | 
| 310 |  | short int have_theta_spring_constant; | 
| 311 |  | short int have_omega_spring_constant; | 
| 312 | + | short int have_surface_tension; | 
| 313 | + | short int have_print_pressure_tensor; | 
| 314 | + | short int have_electro_sum_method; | 
| 315 | + | short int have_damping_alpha; | 
| 316 | + | short int have_cutoff_policy; | 
| 317 | + | short int have_compress_dumpfile; | 
| 318 | + | short int have_skin_thickness; | 
| 319 |  | }; | 
| 320 |  |  | 
| 321 |  | #endif |