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 2204 by gezelter, Fri Apr 15 22:04:00 2005 UTC vs.
Revision 2302 by chrisfen, Fri Sep 16 16:07:39 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
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  
124   Globals::Globals(){
125    initalize();
# Line 158 | Line 162 | void Globals::initalize(){
162    command_table.insert(CommandMapType::value_type("thermalTime", G_THERMALTIME));
163    command_table.insert(CommandMapType::value_type("mixingRule", G_MIXINGRULE));
164    command_table.insert(CommandMapType::value_type("usePeriodicBoundaryConditions", G_USEPBC));
161  command_table.insert(CommandMapType::value_type("useReactionField", G_USERF));
165    command_table.insert(CommandMapType::value_type("targetPressure", G_TARGETPRESSURE));
166    command_table.insert(CommandMapType::value_type("tauThermostat", G_TAUTHERMOSTAT));
167    command_table.insert(CommandMapType::value_type("tauBarostat", G_TAUBAROSTAT));
# Line 190 | Line 193 | void Globals::initalize(){
193    command_table.insert(CommandMapType::value_type("thermIntDistSpringConst", G_THERM_INT_DIST_SPRING));
194    command_table.insert(CommandMapType::value_type("thermIntThetaSpringConst", G_THERM_INT_THETA_SPRING));
195    command_table.insert(CommandMapType::value_type("thermIntOmegaSpringConst", G_THERM_INT_OMEGA_SPRING));
196 +  command_table.insert(CommandMapType::value_type("surfaceTension", G_SURFACETENSION));
197 +  command_table.insert(CommandMapType::value_type("printPressureTensor", G_PRINTPRESSURETENSOR));
198 +  command_table.insert(CommandMapType::value_type("electrostaticSummationMethod", G_ELECTRO_SUM_METHOD));
199 +  command_table.insert(CommandMapType::value_type("dampingAlpha", G_DAMPING_ALPHA));
200 +  command_table.insert(CommandMapType::value_type("cutoffPolicy", G_CUTOFFPOLICY));
201  
194
202    strcpy( mixingRule,"standard");  //default mixing rules to standard.
203    usePBC = 1; //default  periodic boundry conditions to on
197  useRF  = 0;
204    useInitTime = 0; // default to pull init time from the init file
205    useInitXSstate = 0; // default to pull the extended state from the init file
206    orthoBoxTolerance = 1E-6;
207    useSolidThermInt = 0; // default solid-state thermodynamic integration to off
208    useLiquidThermInt = 0; // default liquid thermodynamic integration to off
209 +  dampingAlpha = 1.5; // default damping parameter in Wolf Electrostatics
210  
211    have_force_field =  0;
212    have_n_components = 0;
# Line 252 | Line 259 | void Globals::initalize(){
259    have_dist_spring_constant =  0;
260    have_theta_spring_constant = 0;
261    have_omega_spring_constant = 0;
262 +  have_surface_tension = 0;
263 +  have_print_pressure_tensor = 0;
264 +  have_electro_sum_method = 0;
265 +  have_damping_alpha = 0;
266 +  have_cutoff_policy = 0;
267   }
268  
269   int Globals::newComponent( event* the_event ){
# Line 1079 | Line 1091 | int Globals::globalAssign( event* the_event ){
1091        
1092        the_event->err_msg =
1093          strdup( "Error in parsing meta-data file!\n\tusePeriodicBoundaryConditions was not \"true\" or \"false\".\n" );
1082      return 0;
1083      break;
1084
1085    case G_USERF:
1086      if( the_type == STRING ){
1087        
1088        if( !strcasecmp( "true", the_event->evt.asmt.rhs.sval )) useRF = 1;
1089        else if( !strcasecmp( "false", the_event->evt.asmt.rhs.sval )) useRF = 0;
1090        else{
1091          the_event->err_msg =
1092            strdup( "Error in parsing meta-data file!\n\tuseReactionField was not \"true\" or \"false\".\n" );
1093          return 0;
1094        }
1095        return 1;
1096      }
1097      
1098      the_event->err_msg =
1099        strdup( "Error in parsing meta-data file!\n\tuseReactionField was not \"true\" or \"false\".\n" );
1094        return 0;
1095        break;
1096  
# Line 1834 | Line 1828 | int Globals::globalAssign( event* the_event ){
1828        default:
1829          the_event->err_msg =
1830            strdup( "Error in parsing meta-data file!\n\tthermIntOmegaSpringConst unrecognized.\n" );
1831 +        return 0;
1832 +        break;
1833 +      }
1834 +      break;  
1835 +
1836 +    case G_SURFACETENSION:
1837 +        switch( the_type ){
1838 +      
1839 +        case STRING:
1840 +          the_event->err_msg =
1841 +            strdup( "Error in parsing meta-data file!\n\tsurfaceTension is not a double or int.\n" );
1842 +          return 1;
1843 +          break;
1844 +          
1845 +        case DOUBLE:
1846 +          surface_tension= the_event->evt.asmt.rhs.dval;
1847 +          have_surface_tension = 1;
1848 +          return 1;
1849 +          break;
1850 +          
1851 +        case INT:
1852 +          surface_tension = (double)the_event->evt.asmt.rhs.dval;
1853 +          have_surface_tension = 1;
1854 +          return 1;
1855 +          break;
1856 +          
1857 +        default:
1858 +          the_event->err_msg =
1859 +            strdup( "Error in parsing meta-data file!\n\tsurfaceTension unrecognized.\n" );
1860 +          return 0;
1861 +          break;
1862 +        }
1863 +        break;
1864 +
1865 +    case G_PRINTPRESSURETENSOR:
1866 +      if( the_type == STRING ){
1867 +        
1868 +        if( !strcasecmp( "true", the_event->evt.asmt.rhs.sval )) {
1869 +            have_print_pressure_tensor= 1;
1870 +            print_pressure_tensor = 1;
1871 +        } else if( !strcasecmp( "false", the_event->evt.asmt.rhs.sval )) {
1872 +            have_print_pressure_tensor= 1;
1873 +            print_pressure_tensor = 0;
1874 +        } else{
1875 +          the_event->err_msg =
1876 +            strdup( "Error in parsing meta-data file!\n\tprintPressureTensor was not \"true\" or \"false\".\n" );
1877 +          return 0;
1878 +        }
1879 +        return 1;
1880 +          }
1881 +          
1882 +          the_event->err_msg =
1883 +        strdup( "Error in parsing meta-data file!\n\tprintPressureTensor was not \"true\" or \"false\".\n" );
1884 +          return 0;
1885 +          break;
1886 +
1887 +    case G_ELECTRO_SUM_METHOD:
1888 +      switch( the_type ){
1889 +        
1890 +      case STRING:
1891 +        strcpy(electrostaticSummationMethod, the_event->evt.asmt.rhs.sval);
1892 +
1893 +        for(int i = 0; electrostaticSummationMethod[i] != '\0'; i++)
1894 +          {
1895 +            electrostaticSummationMethod[i] = toupper(electrostaticSummationMethod[i]);
1896 +          }
1897 +        have_electro_sum_method = 1;
1898 +        return 1;
1899 +        break;
1900 +        
1901 +      case DOUBLE:
1902 +        the_event->err_msg =
1903 +          strdup( "Error in parsing meta-data file!\n\telectrostaticSummationMethod should be a string!\n" );
1904 +        return 0;
1905 +        break;
1906 +        
1907 +      case INT:
1908 +        the_event->err_msg =
1909 +          strdup( "Error in parsing meta-data file!\n\telectrostaticSummationMethod should be a string!\n" );
1910 +        return 0;
1911 +        break;
1912 +        
1913 +      default:
1914 +        the_event->err_msg =
1915 +          strdup( "Error in parsing meta-data file!\n\telectrostaticSummationMethod unrecognized.\n" );
1916 +        return 0;
1917 +        break;
1918 +      }
1919 +      break;
1920 +
1921 +    case G_DAMPING_ALPHA:
1922 +      switch( the_type ){
1923 +        
1924 +      case STRING:
1925 +        the_event->err_msg =
1926 +          strdup( "Error in parsing meta-data file!\n\tdampingAlpha is not a double or int.\n" );
1927 +        return 1;
1928 +        break;
1929 +        
1930 +      case DOUBLE:
1931 +        dampingAlpha = the_event->evt.asmt.rhs.dval;
1932 +        have_damping_alpha = 1;
1933 +        return 1;
1934 +        break;
1935 +        
1936 +      case INT:
1937 +        dampingAlpha = (double)the_event->evt.asmt.rhs.dval;
1938 +        have_damping_alpha = 1;
1939 +        return 1;
1940 +        break;
1941 +        
1942 +      default:
1943 +        the_event->err_msg =
1944 +          strdup( "Error in parsing meta-data file!\n\tdampingAlpha unrecognized.\n" );
1945          return 0;
1946          break;
1947        }
1948        break;  
1949 +
1950 +    case G_CUTOFFPOLICY:
1951 +      switch( the_type ){
1952 +        
1953 +      case STRING:
1954 +        strcpy(cutoffPolicy, the_event->evt.asmt.rhs.sval);
1955 +
1956 +        for(int i = 0; cutoffPolicy[i] != '\0'; i++)
1957 +          {
1958 +            cutoffPolicy[i] = toupper(cutoffPolicy[i]);
1959 +          }
1960 +        have_cutoff_policy = 1;
1961 +        return 1;
1962 +        break;
1963 +        
1964 +      case DOUBLE:
1965 +        the_event->err_msg =
1966 +          strdup( "Error in parsing meta-data file!\n\tcutoffPolicy 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\tcutoffPolicy 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\tcutoffPolicy unrecognized.\n" );
1979 +        return 0;
1980 +        break;
1981 +      }
1982 +      break;
1983 +
1984 +      
1985        // add more token cases here.      
1986      }
1987    }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines