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 2285 by gezelter, Wed Sep 7 20:46:46 2005 UTC vs.
Revision 2308 by chuckv, Fri Sep 16 23:04:47 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
121 < #define G_USE_UNDAMPED_WOLF 59
122 < #define G_USE_DAMPED_WOLF   60
123 < #define G_CUTOFFPOLICY      61
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  
125   Globals::Globals(){
126    initalize();
# Line 163 | Line 163 | void Globals::initalize(){
163    command_table.insert(CommandMapType::value_type("thermalTime", G_THERMALTIME));
164    command_table.insert(CommandMapType::value_type("mixingRule", G_MIXINGRULE));
165    command_table.insert(CommandMapType::value_type("usePeriodicBoundaryConditions", G_USEPBC));
166  command_table.insert(CommandMapType::value_type("useReactionField", G_USERF));
166    command_table.insert(CommandMapType::value_type("targetPressure", G_TARGETPRESSURE));
167    command_table.insert(CommandMapType::value_type("tauThermostat", G_TAUTHERMOSTAT));
168    command_table.insert(CommandMapType::value_type("tauBarostat", G_TAUBAROSTAT));
# Line 196 | Line 195 | void Globals::initalize(){
195    command_table.insert(CommandMapType::value_type("thermIntThetaSpringConst", G_THERM_INT_THETA_SPRING));
196    command_table.insert(CommandMapType::value_type("thermIntOmegaSpringConst", G_THERM_INT_OMEGA_SPRING));
197    command_table.insert(CommandMapType::value_type("surfaceTension", G_SURFACETENSION));
198 <  command_table.insert(CommandMapType::value_type("printPressureTensor", G_PRINTPREESURETENSOR));
199 <  command_table.insert(CommandMapType::value_type("useUndampedWolf", G_USE_UNDAMPED_WOLF));
200 <  command_table.insert(CommandMapType::value_type("useDampedWolf", G_USE_DAMPED_WOLF));
198 >  command_table.insert(CommandMapType::value_type("printPressureTensor", G_PRINTPRESSURETENSOR));
199 >  command_table.insert(CommandMapType::value_type("electrostaticSummationMethod", G_ELECTRO_SUM_METHOD));
200 >  command_table.insert(CommandMapType::value_type("dampingAlpha", G_DAMPING_ALPHA));
201    command_table.insert(CommandMapType::value_type("cutoffPolicy", G_CUTOFFPOLICY));
202 +  command_table.insert(CommandMapType::value_type("compressDumpFile", G_COMPRESSDUMPFILE));
203  
204    strcpy( mixingRule,"standard");  //default mixing rules to standard.
205    usePBC = 1; //default  periodic boundry conditions to on
206  useRF  = 0;
206    useInitTime = 0; // default to pull init time from the init file
207    useInitXSstate = 0; // default to pull the extended state from the init file
208    orthoBoxTolerance = 1E-6;
209    useSolidThermInt = 0; // default solid-state thermodynamic integration to off
210    useLiquidThermInt = 0; // default liquid thermodynamic integration to off
211 +  dampingAlpha = 1.5; // default damping parameter in Wolf Electrostatics
212 +  compressDumpFile = 0; // default compressDumpFile set to off
213  
214    have_force_field =  0;
215    have_n_components = 0;
# Line 263 | Line 264 | void Globals::initalize(){
264    have_omega_spring_constant = 0;
265    have_surface_tension = 0;
266    have_print_pressure_tensor = 0;
267 +  have_electro_sum_method = 0;
268 +  have_damping_alpha = 0;
269    have_cutoff_policy = 0;
270 +  have_compress_dumpfile = 0;
271   }
272  
273   int Globals::newComponent( event* the_event ){
# Line 1094 | Line 1098 | int Globals::globalAssign( event* the_event ){
1098        return 0;
1099        break;
1100  
1097    case G_USERF:
1098      if( the_type == STRING ){
1099        
1100        if( !strcasecmp( "true", the_event->evt.asmt.rhs.sval )) useRF = 1;
1101        else if( !strcasecmp( "false", the_event->evt.asmt.rhs.sval )) useRF = 0;
1102        else{
1103          the_event->err_msg =
1104            strdup( "Error in parsing meta-data file!\n\tuseReactionField was not \"true\" or \"false\".\n" );
1105          return 0;
1106        }
1107        return 1;
1108      }
1109      
1110      the_event->err_msg =
1111        strdup( "Error in parsing meta-data file!\n\tuseReactionField was not \"true\" or \"false\".\n" );
1112      return 0;
1113      break;
1114
1101      case G_TARGETPRESSURE:
1102        switch( the_type ){
1103          
# Line 1880 | Line 1866 | int Globals::globalAssign( event* the_event ){
1866          }
1867          break;
1868  
1869 <    case G_PRINTPREESURETENSOR:
1870 <          if( the_type == STRING ){
1869 >    case G_PRINTPRESSURETENSOR:
1870 >      if( the_type == STRING ){
1871          
1872          if( !strcasecmp( "true", the_event->evt.asmt.rhs.sval )) {
1873              have_print_pressure_tensor= 1;
# Line 1902 | Line 1888 | int Globals::globalAssign( event* the_event ){
1888            return 0;
1889            break;
1890  
1891 <    case G_USE_UNDAMPED_WOLF:
1892 <      if( the_type == STRING ){
1893 <        
1894 <        if( !strcasecmp( "true", the_event->evt.asmt.rhs.sval )) useUndampedWolf = 1;
1895 <        else if( !strcasecmp( "false", the_event->evt.asmt.rhs.sval )) useUndampedWolf = 0;
1896 <        else{
1897 <          the_event->err_msg =
1898 <          strdup( "Error in parsing meta-data file!\n\tuseUndampedWolf was not \"true\" or \"false\".\n" );
1899 <          return 0;
1900 <        }
1901 <        return 1;
1891 >    case G_COMPRESSDUMPFILE:
1892 >       if( the_type == STRING ){
1893 >          
1894 >          if( !strcasecmp( "true", the_event->evt.asmt.rhs.sval )) {
1895 >             have_compress_dumpfile = 1;
1896 >             compressDumpFile = 1;
1897 >          } else if( !strcasecmp( "false", the_event->evt.asmt.rhs.sval )) {
1898 >             have_compress_dumpfile= 1;
1899 >             compressDumpFile = 0;
1900 >          } else{
1901 >             the_event->err_msg =
1902 >             strdup( "Error in parsing meta-data file!\n\tcompressDumpFile was not \"true\" or \"false\".\n" );
1903 >             return 0;
1904 >          }
1905 >          return 1;
1906 >       }
1907 >      
1908 >       the_event->err_msg =
1909 >       strdup( "Error in parsing meta-data file!\n\tcompressDumpFile was not \"true\" or \"false\".\n" );
1910 >       return 0;
1911 >       break;
1912 >      
1913 >      
1914 >    case G_ELECTRO_SUM_METHOD:
1915 >      switch( the_type ){
1916 >        
1917 >      case STRING:
1918 >        strcpy(electrostaticSummationMethod, the_event->evt.asmt.rhs.sval);
1919 >
1920 >        for(int i = 0; electrostaticSummationMethod[i] != '\0'; i++)
1921 >          {
1922 >            electrostaticSummationMethod[i] = toupper(electrostaticSummationMethod[i]);
1923 >          }
1924 >        have_electro_sum_method = 1;
1925 >        return 1;
1926 >        break;
1927 >        
1928 >      case DOUBLE:
1929 >        the_event->err_msg =
1930 >          strdup( "Error in parsing meta-data file!\n\telectrostaticSummationMethod should be a string!\n" );
1931 >        return 0;
1932 >        break;
1933 >        
1934 >      case INT:
1935 >        the_event->err_msg =
1936 >          strdup( "Error in parsing meta-data file!\n\telectrostaticSummationMethod should be a string!\n" );
1937 >        return 0;
1938 >        break;
1939 >        
1940 >      default:
1941 >        the_event->err_msg =
1942 >          strdup( "Error in parsing meta-data file!\n\telectrostaticSummationMethod unrecognized.\n" );
1943 >        return 0;
1944 >        break;
1945        }
1917      
1918      the_event->err_msg =
1919      strdup( "Error in parsing meta-data file!\n\tuseUndampedWolf was not \"true\" or \"false\".\n" );
1920      return 0;
1946        break;
1947 <      
1948 <    case G_USE_DAMPED_WOLF:
1949 <      if( the_type == STRING ){
1947 >
1948 >    case G_DAMPING_ALPHA:
1949 >      switch( the_type ){
1950 >        
1951 >      case STRING:
1952 >        the_event->err_msg =
1953 >          strdup( "Error in parsing meta-data file!\n\tdampingAlpha is not a double or int.\n" );
1954 >        return 1;
1955 >        break;
1956          
1957 <        if( !strcasecmp( "true", the_event->evt.asmt.rhs.sval )) useDampedWolf = 1;
1958 <        else if( !strcasecmp( "false", the_event->evt.asmt.rhs.sval )) useDampedWolf = 0;
1959 <        else{
1929 <          the_event->err_msg =
1930 <          strdup( "Error in parsing meta-data file!\n\tuseDampedWolf was not \"true\" or \"false\".\n" );
1931 <          return 0;
1932 <        }
1957 >      case DOUBLE:
1958 >        dampingAlpha = the_event->evt.asmt.rhs.dval;
1959 >        have_damping_alpha = 1;
1960          return 1;
1961 +        break;
1962 +        
1963 +      case INT:
1964 +        dampingAlpha = (double)the_event->evt.asmt.rhs.dval;
1965 +        have_damping_alpha = 1;
1966 +        return 1;
1967 +        break;
1968 +        
1969 +      default:
1970 +        the_event->err_msg =
1971 +          strdup( "Error in parsing meta-data file!\n\tdampingAlpha unrecognized.\n" );
1972 +        return 0;
1973 +        break;
1974        }
1975 <      
1976 <      the_event->err_msg =
1937 <      strdup( "Error in parsing meta-data file!\n\tuseDampedWolf was not \"true\" or \"false\".\n" );
1938 <      return 0;
1939 <      break;
1940 <      
1975 >      break;  
1976 >
1977      case G_CUTOFFPOLICY:
1978        switch( the_type ){
1979          

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines