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

Comparing trunk/OOPSE/libBASS/Globals.cpp (file contents):
Revision 855 by mmeineke, Thu Nov 6 22:01:37 2003 UTC vs.
Revision 1252 by gezelter, Mon Jun 7 14:26:33 2004 UTC

# Line 17 | Line 17
17   */
18  
19   //required parameters
20 < #define G_FORCEFIELD  1
21 < #define G_NCOMPONENTS 2
22 < #define G_TARGETTEMP  3
23 < #define G_ENSEMBLE    4
24 < #define G_DT          5
25 < #define G_RUNTIME     6
20 > #define G_FORCEFIELD         1
21 > #define G_NCOMPONENTS        2
22 > #define G_TARGETTEMP         3
23 > #define G_ENSEMBLE           4
24 > #define G_DT                 5
25 > #define G_RUNTIME            6
26  
27   //optional parameters
28 < #define G_INITIALCONFIG   7
29 < #define G_FINALCONFIG     8
30 < #define G_NMOL            9
31 < #define G_DENSITY        10
32 < #define G_BOX            11
33 < #define G_BOXX           12
34 < #define G_BOXY           13
35 < #define G_BOXZ           14
36 < #define G_SAMPLETIME     15
37 < #define G_STATUSTIME     16
38 < #define G_ECR            17
39 < #define G_DIELECTRIC     18
40 < #define G_TEMPSET        19
41 < #define G_THERMALTIME    20
42 < #define G_USEPBC         21
43 < #define G_MIXINGRULE     22
44 < #define G_EST            23
45 < #define G_USERF          24
46 < #define G_TARGETPRESSURE 25
47 < #define G_TAUTHERMOSTAT  26
48 < #define G_TAUBAROSTAT    27
49 < #define G_ZCONSTIME      28
50 < #define G_NZCONSTRAINTS  29
51 < #define G_ZCONSTOL       30
52 < #define G_ZCONSFORCEPOLICY 31
53 < #define G_SEED           32
54 < #define G_RESETTIME      33
55 < #define G_USEINITTIME    34
56 < #define G_USEINIT_XS_STATE 35
28 > #define G_INITIALCONFIG      7
29 > #define G_FINALCONFIG        8
30 > #define G_NMOL               9
31 > #define G_DENSITY           10
32 > #define G_BOX               11
33 > #define G_BOXX              12
34 > #define G_BOXY              13
35 > #define G_BOXZ              14
36 > #define G_SAMPLETIME        15
37 > #define G_STATUSTIME        16
38 > #define G_RCUT              17
39 > #define G_RSW               18
40 > #define G_DIELECTRIC        19
41 > #define G_TEMPSET           20
42 > #define G_THERMALTIME       21
43 > #define G_USEPBC            22
44 > #define G_MIXINGRULE        23
45 > #define G_USERF             24
46 > #define G_TARGETPRESSURE    25
47 > #define G_TAUTHERMOSTAT     26
48 > #define G_TAUBAROSTAT       27
49 > #define G_ZCONSTIME         28
50 > #define G_NZCONSTRAINTS     29
51 > #define G_ZCONSTOL          30
52 > #define G_ZCONSFORCEPOLICY  31
53 > #define G_SEED              32
54 > #define G_RESETTIME         33
55 > #define G_USEINITTIME       34
56 > #define G_USEINIT_XS_STATE  35
57   #define G_ORTHOBOXTOLERANCE 36
58 <
58 > #define G_MINIMIZER         37
59 > #define G_MIN_MAXITER       38
60 > #define G_MIN_WRITEFRQ      39
61 > #define G_MIN_STEPSIZE      40
62 > #define G_MIN_FTOL          41
63 > #define G_MIN_GTOL          42
64 > #define G_MIN_LSTOL         43
65 > #define G_MIN_LSMAXITER     44
66 > #define G_ZCONSGAP          45
67 > #define G_ZCONSFIXTIME      46
68 > #define G_ZCONSUSINGSMD     47
69 > #define G_USE_SOLID_THERM_INT     48
70 > #define G_USE_LIQUID_THERM_INT    49
71 > #define G_THERM_INT_LAMBDA  50
72 > #define G_THERM_INT_K       51
73  
74   Globals::Globals(){
75    
# Line 88 | Line 102 | Globals::Globals(){
102    addHash( "sampleTime",    G_SAMPLETIME );
103    addHash( "resetTime",     G_RESETTIME );
104    addHash( "statusTime",    G_STATUSTIME );
105 <  addHash( "electrostaticCutoffRadius",            G_ECR );
105 >  addHash( "cutoffRadius",  G_RCUT );
106 >  addHash( "switchingRadius",  G_RSW );
107    addHash( "dielectric",    G_DIELECTRIC );
108    addHash( "tempSet",       G_TEMPSET );
109    addHash( "thermalTime",   G_THERMALTIME );
110    addHash( "mixingRule",    G_MIXINGRULE);
111    addHash( "usePeriodicBoundaryConditions",        G_USEPBC);
97  addHash( "electrostaticSkinThickness",           G_EST );
112    addHash( "useReactionField",                     G_USERF );
113    addHash( "targetPressure",                       G_TARGETPRESSURE);
114    addHash( "tauThermostat",                        G_TAUTHERMOSTAT);
# Line 107 | Line 121 | Globals::Globals(){
121    addHash( "useInitialTime",                       G_USEINITTIME);
122    addHash( "useInitialExtendedSystemState",        G_USEINIT_XS_STATE);
123    addHash( "orthoBoxTolerance",                    G_ORTHOBOXTOLERANCE);
124 <        
125 <        
126 <  // define some default values
124 >  addHash( "minimizer",                            G_MINIMIZER);
125 >  addHash( "minMaxIter",                           G_MIN_MAXITER);
126 >  addHash( "minWriteFrq",                          G_MIN_WRITEFRQ);
127 >  addHash( "minStepSize",                          G_MIN_STEPSIZE);
128 >  addHash( "minFTol",                              G_MIN_FTOL);
129 >  addHash( "minGTol",                              G_MIN_GTOL);
130 >  addHash( "minLSTol",                             G_MIN_LSTOL);
131 >  addHash( "minLSMaxIter",                         G_MIN_LSMAXITER);
132 >  addHash( "zconsGap",                             G_ZCONSGAP);
133 >  addHash( "zconsFixtime",                         G_ZCONSFIXTIME);
134 >  addHash( "zconsUsingSMD",                        G_ZCONSUSINGSMD);
135 >  addHash( "useSolidThermInt",                     G_USE_SOLID_THERM_INT);
136 >  addHash( "useLiquidThermInt",                    G_USE_LIQUID_THERM_INT);
137 >  addHash( "thermodynamicIntegrationLambda",       G_THERM_INT_LAMBDA);
138 >  addHash( "thermodynamicIntegrationK",            G_THERM_INT_K);
139  
140    strcpy( mixingRule,"standard");  //default mixing rules to standard.
141    usePBC = 1; //default  periodic boundry conditions to on
142    useRF  = 0;
143 <  useInitTime = 1; // default to pull init time from the init file
144 <  useInitXSstate = 1; // default to pull the extended state from the init file
143 >  useInitTime = 0; // default to pull init time from the init file
144 >  useInitXSstate = 0; // default to pull the extended state from the init file
145    orthoBoxTolerance = 1E-6;
146 +  useSolidThermInt = 0; // default solid-state thermodynamic integration to off
147 +  useLiquidThermInt = 0; // default liquid thermodynamic integration to off
148  
149    have_force_field =  0;
150    have_n_components = 0;
# Line 138 | Line 166 | Globals::Globals(){
166    have_status_time =    0;
167    have_reset_time =     0;
168    have_thermal_time =   0;
169 <  have_ecr =            0;
169 >  have_rcut =           0;
170 >  have_rsw =            0;
171    have_dielectric =     0;
172    have_tempSet =        0;
144  have_est =            0;
173    have_target_pressure =0;
174    have_q_mass =         0;
175    have_tau_thermostat = 0;
# Line 150 | Line 178 | Globals::Globals(){
178    have_n_zConstraints = 0;
179    have_zConstraints   = 0;
180    have_zcons_tol = 0;
181 +  have_zcons_gap = 0;
182 +  have_zcons_fixtime = 0;
183 +  have_zcons_using_smd = 0;  
184    have_seed = 0;
185 +  have_minimizer = 0;
186 +  have_minimizer_maxiteration = 0;
187 +  have_minimizer_writefrq = 0;
188 +  have_minimizer_stepsize = 0;
189 +  have_minimizer_ftol = 0;
190 +  have_minimizer_gtol = 0;
191 +  have_minimizer_ls_tol = 0;
192 +  have_minimizer_ls_maxiteration = 0;
193 +  have_thermodynamic_integration_lambda = 0;
194 +  have_thermodynamic_integration_k = 0;
195  
196   }
197  
# Line 829 | Line 870 | int Globals::globalAssign( event* the_event ){
870        }
871        break;
872        
873 <    case G_ECR:
873 >    case G_RCUT:
874        switch( the_type ){
875          
876        case STRING:
877          the_event->err_msg =
878 <          strdup( "Global error. electrostaticCutoffRadius is not a double or int.\n" );
878 >          strdup( "Global error. cutoffRadius is not a double or int.\n" );
879          return 0;
880          break;
881          
882        case DOUBLE:
883 <        ecr = the_event->evt.asmt.rhs.dval;
884 <        have_ecr = 1;
883 >        rcut = the_event->evt.asmt.rhs.dval;
884 >        have_rcut = 1;
885          return 1;
886          break;
887          
888        case INT:
889 <        ecr = (double)the_event->evt.asmt.rhs.ival;
890 <        have_ecr = 1;
889 >        rcut = (double)the_event->evt.asmt.rhs.ival;
890 >        have_rcut = 1;
891          return 1;
892          break;
893          
894        default:
895          the_event->err_msg =
896 <          strdup( "Global error. electrostaticCutoffRadius unrecognized.\n" );
896 >          strdup( "Global error. cutoffRadius unrecognized.\n" );
897          return 0;
898          break;
899        }
900        break;
901  
902 <    case G_EST:
902 >    case G_RSW:
903        switch( the_type ){
904          
905        case STRING:
906          the_event->err_msg =
907 <          strdup( "Global error. electrostaticSkinThickness is not a double or int.\n" );
907 >          strdup( "Global error. switchingRadius is not a double or int.\n" );
908          return 0;
909          break;
910          
911        case DOUBLE:
912 <        est = the_event->evt.asmt.rhs.dval;
913 <        have_est = 1;
912 >        rsw = the_event->evt.asmt.rhs.dval;
913 >        have_rsw = 1;
914          return 1;
915          break;
916          
917        case INT:
918 <        est = (double)the_event->evt.asmt.rhs.ival;
919 <        have_est = 1;
918 >        rsw = (double)the_event->evt.asmt.rhs.ival;
919 >        have_rsw = 1;
920          return 1;
921          break;
922          
923        default:
924          the_event->err_msg =
925 <          strdup( "Global error. electrostaticSkinThickness unrecognized.\n" );
925 >          strdup( "Global error. switchingRadius unrecognized.\n" );
926          return 0;
927          break;
928        }
# Line 1185 | Line 1226 | int Globals::globalAssign( event* the_event ){
1226            strdup( "Global error. zconsForcePolicy unrecognized.\n" );
1227          return 0;
1228          break;
1229 +      }
1230 +      break;
1231 +      
1232 +    case G_ZCONSGAP:
1233 +      switch( the_type ){
1234 +  
1235 +      case STRING:
1236 +        the_event->err_msg =
1237 +          strdup( "Global error. zcons_gap is not a double or int.\n" );
1238 +        return 0;
1239 +        break;
1240 +  
1241 +      case DOUBLE:
1242 +        zcons_gap = the_event->evt.asmt.rhs.dval;
1243 +        have_zcons_gap= 1;
1244 +        return 1;
1245 +        break;
1246 +  
1247 +      case INT:
1248 +        zcons_gap= (double)the_event->evt.asmt.rhs.ival;
1249 +        have_zcons_gap= 1;
1250 +        return 1;
1251 +        break;
1252 +  
1253 +      default:
1254 +        the_event->err_msg =
1255 +          strdup( "Global error. zcons_gap unrecognized.\n" );
1256 +        return 0;
1257 +        break;
1258 +      }
1259 +      break;
1260 +
1261 +    case G_ZCONSFIXTIME:
1262 +      switch( the_type ){
1263 +  
1264 +      case STRING:
1265 +        the_event->err_msg =
1266 +          strdup( "Global error. zcons_fixtime is not a double or int.\n" );
1267 +        return 0;
1268 +        break;
1269 +  
1270 +      case DOUBLE:
1271 +        zcons_fixtime= the_event->evt.asmt.rhs.dval;
1272 +        have_zcons_fixtime= 1;
1273 +        return 1;
1274 +        break;
1275 +  
1276 +      case INT:
1277 +        zcons_fixtime= (double)the_event->evt.asmt.rhs.ival;
1278 +        have_zcons_fixtime= 1;
1279 +        return 1;
1280 +        break;
1281 +  
1282 +      default:
1283 +        the_event->err_msg =
1284 +          strdup( "Global error. zcons_fixtime unrecognized.\n" );
1285 +        return 0;
1286 +        break;
1287 +      }
1288 +      break;
1289 +
1290 +    case G_ZCONSUSINGSMD:
1291 +      switch( the_type ){
1292 +  
1293 +      case STRING:
1294 +        the_event->err_msg =
1295 +          strdup( "Global error. zcons_fixtime is not an  int.\n" );
1296 +        return 0;
1297 +        break;
1298 +  
1299 +      case DOUBLE:
1300 +        the_event->err_msg =
1301 +          strdup( "Global error. zcons_fixtime is not an  int.\n" );
1302 +        return 0;
1303 +        break;
1304 +  
1305 +      case INT:
1306 +        zcons_using_smd= the_event->evt.asmt.rhs.ival;
1307 +        have_zcons_using_smd= 1;
1308 +        return 1;
1309 +        break;
1310 +  
1311 +      default:
1312 +        the_event->err_msg =
1313 +          strdup( "Global error. zcons_usingsmd unrecognized.\n" );
1314 +        return 0;
1315 +        break;
1316 +      }
1317 +      break;
1318 +      
1319 +    case G_MINIMIZER:
1320 +      switch( the_type ){
1321 +
1322 +      case STRING:
1323 +        strcpy(minimizer_name, the_event->evt.asmt.rhs.sval);
1324 +
1325 +        for(int i = 0; zconsForcePolicy[i] != '\0'; i++){
1326 +          zconsForcePolicy[i] = toupper(zconsForcePolicy[i]);
1327 +        }
1328 +        have_minimizer= 1;
1329 +        return 1;
1330 +        break;
1331 +        
1332 +      case DOUBLE:
1333 +        the_event->err_msg =
1334 +          strdup( "Global error. minimizer_name is not a double or int.\n" );
1335 +        return 0;
1336 +        break;
1337 +        
1338 +      case INT:
1339 +        the_event->err_msg =
1340 +          strdup( "Global error. minimizer_name is not a double or int.\n" );
1341 +        return 0;
1342 +        break;
1343 +        
1344 +      default:
1345 +        the_event->err_msg =
1346 +          strdup( "Global error. minimizer_name unrecognized.\n" );
1347 +        return 0;
1348 +        break;
1349 +      }
1350 +      break;
1351 +
1352 +    case G_MIN_MAXITER:
1353 +      switch( the_type ){
1354 +
1355 +      case STRING:
1356 +        the_event->err_msg =
1357 +          strdup( "Global error. minimizer_maxiteration is not a double or int.\n" );
1358 +        return 1;
1359 +        break;
1360 +        
1361 +      case DOUBLE:
1362 +        minimizer_maxiteration = (int)the_event->evt.asmt.rhs.dval;
1363 +        have_minimizer_maxiteration = 1;
1364 +        return 1;
1365 +        break;
1366 +        
1367 +      case INT:
1368 +        minimizer_maxiteration = the_event->evt.asmt.rhs.ival;
1369 +        have_minimizer_maxiteration = 1;
1370 +        return 1;
1371 +        break;
1372 +        
1373 +      default:
1374 +        the_event->err_msg =
1375 +          strdup( "Global error. minimizer_maxiteration unrecognized.\n" );
1376 +        return 0;
1377 +        break;
1378        }
1379        break;
1380 +      
1381 +    case G_MIN_WRITEFRQ:
1382 +      switch( the_type ){
1383 +
1384 +      case STRING:
1385 +        the_event->err_msg =
1386 +          strdup( "Global error. minimizer_writefrq is not a double or int.\n" );
1387 +        return 1;
1388 +        break;
1389 +        
1390 +      case DOUBLE:
1391 +        minimizer_writefrq= the_event->evt.asmt.rhs.dval;
1392 +        have_minimizer_writefrq = 1;
1393 +        return 1;
1394 +        break;
1395 +        
1396 +      case INT:
1397 +        minimizer_writefrq= the_event->evt.asmt.rhs.ival;
1398 +        have_minimizer_writefrq = 1;
1399 +        return 1;
1400 +        break;
1401 +        
1402 +      default:
1403 +        the_event->err_msg =
1404 +          strdup( "Global error. minimizer_writefrq unrecognized.\n" );
1405 +        return 0;
1406 +        break;
1407 +      }
1408 +      break;
1409 +
1410 +    case G_MIN_STEPSIZE:
1411 +      switch( the_type ){
1412 +
1413 +      case STRING:
1414 +        the_event->err_msg =
1415 +          strdup( "Global error. minimizer_resetfrq is not a double or int.\n" );
1416 +        return 1;
1417 +        break;
1418 +        
1419 +      case DOUBLE:
1420 +        minimizer_stepsize= the_event->evt.asmt.rhs.dval;
1421 +        have_minimizer_stepsize = 1;
1422 +        return 1;
1423 +        break;
1424 +        
1425 +      case INT:
1426 +        minimizer_stepsize= the_event->evt.asmt.rhs.ival;
1427 +        have_minimizer_stepsize = 1;
1428 +        return 1;
1429 +        break;
1430 +        
1431 +      default:
1432 +        the_event->err_msg =
1433 +          strdup( "Global error. minimizer_resetfrq unrecognized.\n" );
1434 +        return 0;
1435 +        break;
1436 +      }
1437 +      break;      
1438 +
1439 +    case G_MIN_FTOL:
1440 +      switch( the_type ){
1441 +
1442 +      case STRING:
1443 +        the_event->err_msg =
1444 +          strdup( "Global error. minimizer_ftol is not a double or int.\n" );
1445 +        return 1;
1446 +        break;
1447 +        
1448 +      case DOUBLE:
1449 +        minimizer_ftol= the_event->evt.asmt.rhs.dval;
1450 +        have_minimizer_ftol = 1;
1451 +        return 1;
1452 +        break;
1453 +        
1454 +      case INT:
1455 +        minimizer_ftol= the_event->evt.asmt.rhs.ival;
1456 +        have_minimizer_ftol = 1;
1457 +        return 1;
1458 +        break;
1459 +        
1460 +      default:
1461 +        the_event->err_msg =
1462 +          strdup( "Global error. minimizer_ftol unrecognized.\n" );
1463 +        return 0;
1464 +        break;
1465 +      }
1466 +      break;
1467 +      
1468 +    case G_MIN_GTOL:
1469 +      switch( the_type ){
1470 +
1471 +      case STRING:
1472 +        the_event->err_msg =
1473 +          strdup( "Global error. minimizer_gtol is not a double or int.\n" );
1474 +        return 1;
1475 +        break;
1476 +        
1477 +      case DOUBLE:
1478 +        minimizer_gtol= the_event->evt.asmt.rhs.dval;
1479 +        have_minimizer_gtol = 1;
1480 +        return 1;
1481 +        break;
1482 +        
1483 +      case INT:
1484 +        minimizer_gtol= the_event->evt.asmt.rhs.ival;
1485 +        have_minimizer_gtol = 1;
1486 +        return 1;
1487 +        break;
1488 +        
1489 +      default:
1490 +        the_event->err_msg =
1491 +          strdup( "Global error. minimizer_gtol unrecognized.\n" );
1492 +        return 0;
1493 +        break;
1494 +      }
1495 +      break;
1496 +      
1497 +    case G_MIN_LSMAXITER:
1498 +      switch( the_type ){
1499 +
1500 +      case STRING:
1501 +        the_event->err_msg =
1502 +          strdup( "Global error. minimizer_ls_maxiteration is not a double or int.\n" );
1503 +        return 1;
1504 +        break;
1505 +        
1506 +      case DOUBLE:
1507 +        minimizer_ls_maxiteration = the_event->evt.asmt.rhs.dval;
1508 +        have_minimizer_ls_maxiteration = 1;
1509 +        return 1;
1510 +        break;
1511 +        
1512 +      case INT:
1513 +        minimizer_ls_maxiteration = the_event->evt.asmt.rhs.ival;
1514 +        have_minimizer_ls_maxiteration = 1;
1515 +        return 1;
1516 +        break;
1517 +        
1518 +      default:
1519 +        the_event->err_msg =
1520 +          strdup( "Global error. minimizer_ls_maxiteration unrecognized.\n" );
1521 +        return 0;
1522 +        break;
1523 +      }
1524 +      break;      
1525 +
1526 +    case G_MIN_LSTOL:
1527 +      switch( the_type ){
1528 +
1529 +      case STRING:
1530 +        the_event->err_msg =
1531 +          strdup( "Global error. minimizer_ls_tol is not a double or int.\n" );
1532 +        return 1;
1533 +        break;
1534 +        
1535 +      case DOUBLE:
1536 +        minimizer_ls_tol= the_event->evt.asmt.rhs.dval;
1537 +        have_minimizer_ls_tol = 1;
1538 +        return 1;
1539 +        break;
1540 +        
1541 +      case INT:
1542 +        minimizer_ls_tol= the_event->evt.asmt.rhs.ival;
1543 +        have_minimizer_ls_tol = 1;
1544 +        return 1;
1545 +        break;
1546 +        
1547 +      default:
1548 +        the_event->err_msg =
1549 +          strdup( "Global error. minimizer_ls_tol unrecognized.\n" );
1550 +        return 0;
1551 +        break;
1552 +      }
1553 +      break;
1554 +      
1555        // add more token cases here.
1556      case G_SEED:
1557        switch( the_type ){
# Line 1217 | Line 1582 | int Globals::globalAssign( event* the_event ){
1582          break;
1583        }
1584        break;
1585 +
1586 +    case G_USE_SOLID_THERM_INT:
1587 +      if( the_type == STRING ){
1588 +        
1589 +        if( !strcasecmp( "true", the_event->evt.asmt.rhs.sval )) useSolidThermInt = 1;
1590 +        else if( !strcasecmp( "false", the_event->evt.asmt.rhs.sval )) useSolidThermInt = 0;
1591 +        else{
1592 +          the_event->err_msg =
1593 +            strdup( "Global error. useSolidThermInt was not \"true\" or \"false\".\n" );
1594 +          return 0;
1595 +        }
1596 +        return 1;
1597 +      }
1598 +      
1599 +      the_event->err_msg =
1600 +        strdup( "Global error. useSolidThermInt was not \"true\" or \"false\".\n" );
1601 +      return 0;
1602 +      break;
1603 +
1604 +    case G_USE_LIQUID_THERM_INT:
1605 +      if( the_type == STRING ){
1606 +        
1607 +        if( !strcasecmp( "true", the_event->evt.asmt.rhs.sval )) useLiquidThermInt = 1;
1608 +        else if( !strcasecmp( "false", the_event->evt.asmt.rhs.sval )) useLiquidThermInt = 0;
1609 +        else{
1610 +          the_event->err_msg =
1611 +            strdup( "Global error. useLiquidThermInt was not \"true\" or \"false\".\n" );
1612 +          return 0;
1613 +        }
1614 +        return 1;
1615 +      }
1616 +      
1617 +      the_event->err_msg =
1618 +        strdup( "Global error. useLiquidThermInt was not \"true\" or \"false\".\n" );
1619 +      return 0;
1620 +      break;
1621 +
1622 +    case G_THERM_INT_LAMBDA:
1623 +      switch( the_type ){
1624 +        
1625 +      case STRING:
1626 +        the_event->err_msg =
1627 +          strdup( "Global error. thermodynamicIntegrationLambda is not a double or int.\n" );
1628 +        return 1;
1629 +        break;
1630 +        
1631 +      case DOUBLE:
1632 +        thermodynamic_integration_lambda = the_event->evt.asmt.rhs.dval;
1633 +        have_thermodynamic_integration_lambda = 1;
1634 +        return 1;
1635 +        break;
1636 +        
1637 +      case INT:
1638 +        thermodynamic_integration_lambda = (double)the_event->evt.asmt.rhs.dval;
1639 +        have_thermodynamic_integration_lambda = 1;
1640 +        return 1;
1641 +        break;
1642 +        
1643 +      default:
1644 +        the_event->err_msg =
1645 +          strdup( "Global error. thermodynamicIntegrationLambda unrecognized.\n" );
1646 +        return 0;
1647 +        break;
1648 +      }
1649 +      break;      
1650 +
1651 +    case G_THERM_INT_K:
1652 +      switch( the_type ){
1653 +        
1654 +      case STRING:
1655 +        the_event->err_msg =
1656 +          strdup( "Global error. thermodynamicIntegrationK is not a double or int.\n" );
1657 +        return 1;
1658 +        break;
1659 +        
1660 +      case DOUBLE:
1661 +        thermodynamic_integration_k = the_event->evt.asmt.rhs.dval;
1662 +        have_thermodynamic_integration_k = 1;
1663 +        return 1;
1664 +        break;
1665 +        
1666 +      case INT:
1667 +        thermodynamic_integration_k = (double)the_event->evt.asmt.rhs.dval;
1668 +        have_thermodynamic_integration_k = 1;
1669 +        return 1;
1670 +        break;
1671 +        
1672 +      default:
1673 +        the_event->err_msg =
1674 +          strdup( "Global error. thermodynamicIntegrationK unrecognized.\n" );
1675 +        return 0;
1676 +        break;
1677 +      }
1678 +      break;      
1679        // add more token cases here.
1680  
1681      }
# Line 1279 | Line 1738 | char* Globals::checkMe( void ){
1738      have_err= 1;
1739    }
1740    
1741 <  if( !have_ensemble ){
1742 <    strcat( err, "\t->ensemble\n" );
1743 <    have_err= 1;
1744 <  }
1741 >  if(!have_minimizer)
1742 >    if( !have_ensemble ){
1743 >      strcat( err, "\t->ensemble\n" );
1744 >      have_err= 1;
1745 >    }
1746    
1747    if( !have_dt ){
1748      strcat( err, "\t->dt\n" );

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines