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

Comparing trunk/OOPSE-2.0/src/io/Globals.cpp (file contents):
Revision 2238 by tim, Sun May 22 21:05:15 2005 UTC vs.
Revision 2328 by chuckv, Mon Sep 26 15:58:17 2005 UTC

# Line 83 | Line 83
83   #define G_THERMALTIME       21
84   #define G_USEPBC            22
85   #define G_MIXINGRULE        23
86 < #define G_USERF             24
87 < #define G_TARGETPRESSURE    25
88 < #define G_TAUTHERMOSTAT     26
89 < #define G_TAUBAROSTAT       27
90 < #define G_ZCONSTIME         28
91 < #define G_NZCONSTRAINTS     29
92 < #define G_ZCONSTOL          30
93 < #define G_ZCONSFORCEPOLICY  31
94 < #define G_SEED              32
95 < #define G_RESETTIME         33
96 < #define G_USEINITTIME       34
97 < #define G_USEINIT_XS_STATE  35
98 < #define G_ORTHOBOXTOLERANCE 36
99 < #define G_MINIMIZER         37
100 < #define G_MIN_MAXITER       38
101 < #define G_MIN_WRITEFRQ      39
102 < #define G_MIN_STEPSIZE      40
103 < #define G_MIN_FTOL          41
104 < #define G_MIN_GTOL          42
105 < #define G_MIN_LSTOL         43
106 < #define G_MIN_LSMAXITER     44
107 < #define G_ZCONSGAP          45
108 < #define G_ZCONSFIXTIME      46
109 < #define G_ZCONSUSINGSMD     47
110 < #define G_USE_SOLID_THERM_INT     48
111 < #define G_USE_LIQUID_THERM_INT    49
112 < #define G_THERM_INT_LAMBDA  50
113 < #define G_THERM_INT_K       51
114 < #define G_FORCEFIELD_VARIANT 52
115 < #define G_FORCEFIELD_FILENAME 53
116 < #define G_THERM_INT_DIST_SPRING  54
117 < #define G_THERM_INT_THETA_SPRING 55
118 < #define G_THERM_INT_OMEGA_SPRING 56
119 < #define G_SURFACETENSION 57
120 < #define G_PRINTPREESURETENSOR   58
86 > #define G_TARGETPRESSURE    24
87 > #define G_TAUTHERMOSTAT     25
88 > #define G_TAUBAROSTAT       26
89 > #define G_ZCONSTIME         27
90 > #define G_NZCONSTRAINTS     28
91 > #define G_ZCONSTOL          29
92 > #define G_ZCONSFORCEPOLICY  30
93 > #define G_SEED              31
94 > #define G_RESETTIME         32
95 > #define G_USEINITTIME       33
96 > #define G_USEINIT_XS_STATE  34
97 > #define G_ORTHOBOXTOLERANCE 35
98 > #define G_MINIMIZER         36
99 > #define G_MIN_MAXITER       37
100 > #define G_MIN_WRITEFRQ      38
101 > #define G_MIN_STEPSIZE      39
102 > #define G_MIN_FTOL          40
103 > #define G_MIN_GTOL          41
104 > #define G_MIN_LSTOL         42
105 > #define G_MIN_LSMAXITER     43
106 > #define G_ZCONSGAP          44
107 > #define G_ZCONSFIXTIME      45
108 > #define G_ZCONSUSINGSMD     46
109 > #define G_USE_SOLID_THERM_INT    47
110 > #define G_USE_LIQUID_THERM_INT   48
111 > #define G_THERM_INT_LAMBDA  49
112 > #define G_THERM_INT_K       50
113 > #define G_FORCEFIELD_VARIANT     51
114 > #define G_FORCEFIELD_FILENAME    52
115 > #define G_THERM_INT_DIST_SPRING  53
116 > #define G_THERM_INT_THETA_SPRING 54
117 > #define G_THERM_INT_OMEGA_SPRING 55
118 > #define G_SURFACETENSION    56
119 > #define G_PRINTPRESSURETENSOR    57
120 > #define G_ELECTRO_SUM_METHOD     58
121 > #define G_DAMPING_ALPHA     59
122 > #define G_CUTOFFPOLICY      60
123 > #define G_COMPRESSDUMPFILE  61
124 > #define G_SKINTHICKNESS     62
125  
126   Globals::Globals(){
127    initalize();
# Line 160 | Line 164 | void Globals::initalize(){
164    command_table.insert(CommandMapType::value_type("thermalTime", G_THERMALTIME));
165    command_table.insert(CommandMapType::value_type("mixingRule", G_MIXINGRULE));
166    command_table.insert(CommandMapType::value_type("usePeriodicBoundaryConditions", G_USEPBC));
163  command_table.insert(CommandMapType::value_type("useReactionField", G_USERF));
167    command_table.insert(CommandMapType::value_type("targetPressure", G_TARGETPRESSURE));
168    command_table.insert(CommandMapType::value_type("tauThermostat", G_TAUTHERMOSTAT));
169    command_table.insert(CommandMapType::value_type("tauBarostat", G_TAUBAROSTAT));
# Line 193 | Line 196 | void Globals::initalize(){
196    command_table.insert(CommandMapType::value_type("thermIntThetaSpringConst", G_THERM_INT_THETA_SPRING));
197    command_table.insert(CommandMapType::value_type("thermIntOmegaSpringConst", G_THERM_INT_OMEGA_SPRING));
198    command_table.insert(CommandMapType::value_type("surfaceTension", G_SURFACETENSION));
199 <  command_table.insert(CommandMapType::value_type("printPressureTensor", G_PRINTPREESURETENSOR));
200 <
199 >  command_table.insert(CommandMapType::value_type("printPressureTensor", G_PRINTPRESSURETENSOR));
200 >  command_table.insert(CommandMapType::value_type("electrostaticSummationMethod", G_ELECTRO_SUM_METHOD));
201 >  command_table.insert(CommandMapType::value_type("dampingAlpha", G_DAMPING_ALPHA));
202 >  command_table.insert(CommandMapType::value_type("cutoffPolicy", G_CUTOFFPOLICY));
203 >  command_table.insert(CommandMapType::value_type("compressDumpFile", G_COMPRESSDUMPFILE));
204 >  command_table.insert(CommandMapType::value_type("skinThickness", G_SKINTHICKNESS));
205  
206    strcpy( mixingRule,"standard");  //default mixing rules to standard.
207    usePBC = 1; //default  periodic boundry conditions to on
201  useRF  = 0;
208    useInitTime = 0; // default to pull init time from the init file
209    useInitXSstate = 0; // default to pull the extended state from the init file
210    orthoBoxTolerance = 1E-6;
211    useSolidThermInt = 0; // default solid-state thermodynamic integration to off
212    useLiquidThermInt = 0; // default liquid thermodynamic integration to off
213 +  dampingAlpha = 1.5; // default damping parameter in Wolf Electrostatics
214 +  compressDumpFile = 0; // default compressDumpFile set to off
215 +  skinThickness = 1.0; // default neighborlist skin thickness is one angstrom
216  
217    have_force_field =  0;
218    have_n_components = 0;
# Line 212 | Line 221 | void Globals::initalize(){
221    have_dt =           0;
222    have_run_time =     0;
223    
224 +  have_skin_thickness = 0;
225    have_initial_config = 0;
226    have_final_config =   0;
227    have_n_mol =          0;
# Line 258 | Line 268 | void Globals::initalize(){
268    have_omega_spring_constant = 0;
269    have_surface_tension = 0;
270    have_print_pressure_tensor = 0;
271 +  have_electro_sum_method = 0;
272 +  have_damping_alpha = 0;
273 +  have_cutoff_policy = 0;
274 +  have_compress_dumpfile = 0;
275   }
276  
277   int Globals::newComponent( event* the_event ){
# Line 983 | Line 997 | int Globals::globalAssign( event* the_event ){
997          break;
998        }
999        break;
1000 +
1001 +
1002 +    case G_SKINTHICKNESS:
1003 +      switch( the_type ){
1004 +        
1005 +      case STRING:
1006 +        the_event->err_msg =
1007 +          strdup( "Error in parsing meta-data file!\n\tskinThickness is not a double or int.\n" );
1008 +        return 0;
1009 +        break;
1010 +        
1011 +      case DOUBLE:
1012 +        skinThickness = the_event->evt.asmt.rhs.dval;
1013 +        have_skin_thickness = 1;
1014 +        return 1;
1015 +        break;
1016 +        
1017 +      case INT:
1018 +        skinThickness = (double)the_event->evt.asmt.rhs.ival;
1019 +        have_skin_thickness = 1;
1020 +        return 1;
1021 +        break;
1022 +        
1023 +      default:
1024 +        the_event->err_msg =
1025 +          strdup( "Error in parsing meta-data file!\n\tskinThickness unrecognized.\n" );
1026 +        return 0;
1027 +        break;
1028 +      }
1029 +      break;
1030 +
1031 +
1032        
1033      case G_DIELECTRIC:
1034        switch( the_type ){
# Line 1085 | Line 1131 | int Globals::globalAssign( event* the_event ){
1131        
1132        the_event->err_msg =
1133          strdup( "Error in parsing meta-data file!\n\tusePeriodicBoundaryConditions was not \"true\" or \"false\".\n" );
1088      return 0;
1089      break;
1090
1091    case G_USERF:
1092      if( the_type == STRING ){
1093        
1094        if( !strcasecmp( "true", the_event->evt.asmt.rhs.sval )) useRF = 1;
1095        else if( !strcasecmp( "false", the_event->evt.asmt.rhs.sval )) useRF = 0;
1096        else{
1097          the_event->err_msg =
1098            strdup( "Error in parsing meta-data file!\n\tuseReactionField was not \"true\" or \"false\".\n" );
1099          return 0;
1100        }
1101        return 1;
1102      }
1103      
1104      the_event->err_msg =
1105        strdup( "Error in parsing meta-data file!\n\tuseReactionField was not \"true\" or \"false\".\n" );
1134        return 0;
1135        break;
1136  
# Line 1874 | Line 1902 | int Globals::globalAssign( event* the_event ){
1902          }
1903          break;
1904  
1905 <    case G_PRINTPREESURETENSOR:
1906 <          if( the_type == STRING ){
1905 >    case G_PRINTPRESSURETENSOR:
1906 >      if( the_type == STRING ){
1907          
1908          if( !strcasecmp( "true", the_event->evt.asmt.rhs.sval )) {
1909              have_print_pressure_tensor= 1;
# Line 1896 | Line 1924 | int Globals::globalAssign( event* the_event ){
1924            return 0;
1925            break;
1926  
1927 +    case G_COMPRESSDUMPFILE:
1928 +       if( the_type == STRING ){
1929 +          
1930 +          if( !strcasecmp( "true", the_event->evt.asmt.rhs.sval )) {
1931 +             have_compress_dumpfile = 1;
1932 +             compressDumpFile = 1;
1933 +          } else if( !strcasecmp( "false", the_event->evt.asmt.rhs.sval )) {
1934 +             have_compress_dumpfile= 1;
1935 +             compressDumpFile = 0;
1936 +          } else{
1937 +             the_event->err_msg =
1938 +             strdup( "Error in parsing meta-data file!\n\tcompressDumpFile was not \"true\" or \"false\".\n" );
1939 +             return 0;
1940 +          }
1941 +          return 1;
1942 +       }
1943 +      
1944 +       the_event->err_msg =
1945 +       strdup( "Error in parsing meta-data file!\n\tcompressDumpFile was not \"true\" or \"false\".\n" );
1946 +       return 0;
1947 +       break;
1948 +      
1949 +      
1950 +    case G_ELECTRO_SUM_METHOD:
1951 +      switch( the_type ){
1952 +        
1953 +      case STRING:
1954 +        strcpy(electrostaticSummationMethod, the_event->evt.asmt.rhs.sval);
1955 +
1956 +        for(int i = 0; electrostaticSummationMethod[i] != '\0'; i++)
1957 +          {
1958 +            electrostaticSummationMethod[i] = toupper(electrostaticSummationMethod[i]);
1959 +          }
1960 +        have_electro_sum_method = 1;
1961 +        return 1;
1962 +        break;
1963 +        
1964 +      case DOUBLE:
1965 +        the_event->err_msg =
1966 +          strdup( "Error in parsing meta-data file!\n\telectrostaticSummationMethod should be a string!\n" );
1967 +        return 0;
1968 +        break;
1969 +        
1970 +      case INT:
1971 +        the_event->err_msg =
1972 +          strdup( "Error in parsing meta-data file!\n\telectrostaticSummationMethod should be a string!\n" );
1973 +        return 0;
1974 +        break;
1975 +        
1976 +      default:
1977 +        the_event->err_msg =
1978 +          strdup( "Error in parsing meta-data file!\n\telectrostaticSummationMethod unrecognized.\n" );
1979 +        return 0;
1980 +        break;
1981 +      }
1982 +      break;
1983 +
1984 +    case G_DAMPING_ALPHA:
1985 +      switch( the_type ){
1986 +        
1987 +      case STRING:
1988 +        the_event->err_msg =
1989 +          strdup( "Error in parsing meta-data file!\n\tdampingAlpha is not a double or int.\n" );
1990 +        return 1;
1991 +        break;
1992          
1993 +      case DOUBLE:
1994 +        dampingAlpha = the_event->evt.asmt.rhs.dval;
1995 +        have_damping_alpha = 1;
1996 +        return 1;
1997 +        break;
1998 +        
1999 +      case INT:
2000 +        dampingAlpha = (double)the_event->evt.asmt.rhs.dval;
2001 +        have_damping_alpha = 1;
2002 +        return 1;
2003 +        break;
2004 +        
2005 +      default:
2006 +        the_event->err_msg =
2007 +          strdup( "Error in parsing meta-data file!\n\tdampingAlpha unrecognized.\n" );
2008 +        return 0;
2009 +        break;
2010 +      }
2011 +      break;  
2012  
2013 +    case G_CUTOFFPOLICY:
2014 +      switch( the_type ){
2015 +        
2016 +      case STRING:
2017 +        strcpy(cutoffPolicy, the_event->evt.asmt.rhs.sval);
2018 +
2019 +        for(int i = 0; cutoffPolicy[i] != '\0'; i++)
2020 +          {
2021 +            cutoffPolicy[i] = toupper(cutoffPolicy[i]);
2022 +          }
2023 +        have_cutoff_policy = 1;
2024 +        return 1;
2025 +        break;
2026 +        
2027 +      case DOUBLE:
2028 +        the_event->err_msg =
2029 +          strdup( "Error in parsing meta-data file!\n\tcutoffPolicy should be a string!\n" );
2030 +        return 0;
2031 +        break;
2032 +        
2033 +      case INT:
2034 +        the_event->err_msg =
2035 +          strdup( "Error in parsing meta-data file!\n\tcutoffPolicy should be a string!\n" );
2036 +        return 0;
2037 +        break;
2038 +        
2039 +      default:
2040 +        the_event->err_msg =
2041 +          strdup( "Error in parsing meta-data file!\n\tcutoffPolicy unrecognized.\n" );
2042 +        return 0;
2043 +        break;
2044 +      }
2045 +      break;
2046 +
2047        
2048        // add more token cases here.      
2049      }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines