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 957 by gezelter, Mon Jan 19 16:08:21 2004 UTC vs.
Revision 1091 by tim, Tue Mar 16 19:22:56 2004 UTC

# Line 56 | Line 56
56   #define G_USEINIT_XS_STATE  35
57   #define G_ORTHOBOXTOLERANCE 36
58   #define G_LJRCUT            37
59 + #define G_MINIMIZER 38
60 + #define G_MIN_MAXITER 39
61 + #define G_MIN_WRITEFRQ 40
62 + #define G_MIN_STEPSIZE 41
63 + #define G_MIN_FTOL 42
64 + #define G_MIN_GTOL 43
65 + #define G_MIN_LSTOL 44
66 + #define G_MIN_LSMAXITER 45
67 + #define G_ZCONSGAP 46
68 + #define G_ZCONSFIXTIME 47
69  
60
70   Globals::Globals(){
71    
72    int i;
# Line 109 | Line 118 | Globals::Globals(){
118    addHash( "useInitialExtendedSystemState",        G_USEINIT_XS_STATE);
119    addHash( "orthoBoxTolerance",                    G_ORTHOBOXTOLERANCE);
120    addHash( "LJrcut",                               G_LJRCUT);
121 <        
122 <        
123 <  // define some default values
121 >  addHash( "minimizer", G_MINIMIZER);
122 >  addHash( "minMaxIter", G_MIN_MAXITER);
123 >  addHash( "minWriteFrq", G_MIN_WRITEFRQ);
124 >  addHash( "minStepSize", G_MIN_STEPSIZE);
125 >  addHash( "minFTol", G_MIN_FTOL);
126 >  addHash( "minGTol", G_MIN_GTOL);
127 >  addHash( "minLSTol", G_MIN_LSTOL);
128 >  addHash( "minLSMaxIter", G_MIN_LSMAXITER);
129 >  addHash( "zconsGap", G_ZCONSGAP);
130 >  addHash( "zconsFixtime", G_ZCONSFIXTIME);
131  
132    strcpy( mixingRule,"standard");  //default mixing rules to standard.
133    usePBC = 1; //default  periodic boundry conditions to on
# Line 1217 | Line 1233 | int Globals::globalAssign( event* the_event ){
1233            strdup( "Global error. zconsForcePolicy unrecognized.\n" );
1234          return 0;
1235          break;
1236 +      }
1237 +      break;
1238 +      
1239 +    case G_ZCONSGAP:
1240 +      switch( the_type ){
1241 +  
1242 +      case STRING:
1243 +        the_event->err_msg =
1244 +          strdup( "Global error. zcons_gap is not a double or int.\n" );
1245 +        return 0;
1246 +        break;
1247 +  
1248 +      case DOUBLE:
1249 +        zcons_gap = the_event->evt.asmt.rhs.dval;
1250 +        have_zcons_gap= 1;
1251 +        return 1;
1252 +        break;
1253 +  
1254 +      case INT:
1255 +        zcons_gap= (double)the_event->evt.asmt.rhs.ival;
1256 +        have_zcons_gap= 1;
1257 +        return 1;
1258 +        break;
1259 +  
1260 +      default:
1261 +        the_event->err_msg =
1262 +          strdup( "Global error. zcons_gap unrecognized.\n" );
1263 +        return 0;
1264 +        break;
1265 +      }
1266 +      break;
1267 +
1268 +    case G_ZCONSFIXTIME:
1269 +      switch( the_type ){
1270 +  
1271 +      case STRING:
1272 +        the_event->err_msg =
1273 +          strdup( "Global error. zcons_fixtime is not a double or int.\n" );
1274 +        return 0;
1275 +        break;
1276 +  
1277 +      case DOUBLE:
1278 +        zcons_fixtime= the_event->evt.asmt.rhs.dval;
1279 +        have_zcons_fixtime= 1;
1280 +        return 1;
1281 +        break;
1282 +  
1283 +      case INT:
1284 +        zcons_fixtime= (double)the_event->evt.asmt.rhs.ival;
1285 +        have_zcons_fixtime= 1;
1286 +        return 1;
1287 +        break;
1288 +  
1289 +      default:
1290 +        the_event->err_msg =
1291 +          strdup( "Global error. zcons_fixtime unrecognized.\n" );
1292 +        return 0;
1293 +        break;
1294 +      }
1295 +      break;
1296 +      
1297 +    case G_MINIMIZER:
1298 +      switch( the_type ){
1299 +
1300 +      case STRING:
1301 +        strcpy(minimizer_name, the_event->evt.asmt.rhs.sval);
1302 +
1303 +        for(int i = 0; zconsForcePolicy[i] != '\0'; i++){
1304 +          zconsForcePolicy[i] = toupper(zconsForcePolicy[i]);
1305 +        }
1306 +        have_minimizer= 1;
1307 +        return 1;
1308 +        break;
1309 +        
1310 +      case DOUBLE:
1311 +        the_event->err_msg =
1312 +          strdup( "Global error. minimizer_name is not a double or int.\n" );
1313 +        return 0;
1314 +        break;
1315 +        
1316 +      case INT:
1317 +        the_event->err_msg =
1318 +          strdup( "Global error. minimizer_name is not a double or int.\n" );
1319 +        return 0;
1320 +        break;
1321 +        
1322 +      default:
1323 +        the_event->err_msg =
1324 +          strdup( "Global error. minimizer_name unrecognized.\n" );
1325 +        return 0;
1326 +        break;
1327        }
1328        break;
1329 +
1330 +    case G_MIN_MAXITER:
1331 +      switch( the_type ){
1332 +
1333 +      case STRING:
1334 +        the_event->err_msg =
1335 +          strdup( "Global error. minimizer_maxiteration is not a double or int.\n" );
1336 +        return 1;
1337 +        break;
1338 +        
1339 +      case DOUBLE:
1340 +        minimizer_maxiteration = the_event->evt.asmt.rhs.dval;
1341 +        have_minimizer_maxiteration = 1;
1342 +        return 1;
1343 +        break;
1344 +        
1345 +      case INT:
1346 +        minimizer_maxiteration = the_event->evt.asmt.rhs.ival;
1347 +        have_minimizer_maxiteration = 1;
1348 +        return 1;
1349 +        break;
1350 +        
1351 +      default:
1352 +        the_event->err_msg =
1353 +          strdup( "Global error. minimizer_maxiteration unrecognized.\n" );
1354 +        return 0;
1355 +        break;
1356 +      }
1357 +      break;
1358 +      
1359 +    case G_MIN_WRITEFRQ:
1360 +      switch( the_type ){
1361 +
1362 +      case STRING:
1363 +        the_event->err_msg =
1364 +          strdup( "Global error. minimizer_writefrq is not a double or int.\n" );
1365 +        return 1;
1366 +        break;
1367 +        
1368 +      case DOUBLE:
1369 +        minimizer_writefrq= the_event->evt.asmt.rhs.dval;
1370 +        have_minimizer_writefrq = 1;
1371 +        return 1;
1372 +        break;
1373 +        
1374 +      case INT:
1375 +        minimizer_writefrq= the_event->evt.asmt.rhs.ival;
1376 +        have_minimizer_writefrq = 1;
1377 +        return 1;
1378 +        break;
1379 +        
1380 +      default:
1381 +        the_event->err_msg =
1382 +          strdup( "Global error. minimizer_writefrq unrecognized.\n" );
1383 +        return 0;
1384 +        break;
1385 +      }
1386 +      break;
1387 +
1388 +    case G_MIN_STEPSIZE:
1389 +      switch( the_type ){
1390 +
1391 +      case STRING:
1392 +        the_event->err_msg =
1393 +          strdup( "Global error. minimizer_resetfrq is not a double or int.\n" );
1394 +        return 1;
1395 +        break;
1396 +        
1397 +      case DOUBLE:
1398 +        minimizer_stepsize= the_event->evt.asmt.rhs.dval;
1399 +        have_minimizer_stepsize = 1;
1400 +        return 1;
1401 +        break;
1402 +        
1403 +      case INT:
1404 +        minimizer_stepsize= the_event->evt.asmt.rhs.ival;
1405 +        have_minimizer_stepsize = 1;
1406 +        return 1;
1407 +        break;
1408 +        
1409 +      default:
1410 +        the_event->err_msg =
1411 +          strdup( "Global error. minimizer_resetfrq unrecognized.\n" );
1412 +        return 0;
1413 +        break;
1414 +      }
1415 +      break;      
1416 +
1417 +    case G_MIN_FTOL:
1418 +      switch( the_type ){
1419 +
1420 +      case STRING:
1421 +        the_event->err_msg =
1422 +          strdup( "Global error. minimizer_ftol is not a double or int.\n" );
1423 +        return 1;
1424 +        break;
1425 +        
1426 +      case DOUBLE:
1427 +        minimizer_ftol= the_event->evt.asmt.rhs.dval;
1428 +        have_minimizer_ftol = 1;
1429 +        return 1;
1430 +        break;
1431 +        
1432 +      case INT:
1433 +        minimizer_ftol= the_event->evt.asmt.rhs.ival;
1434 +        have_minimizer_ftol = 1;
1435 +        return 1;
1436 +        break;
1437 +        
1438 +      default:
1439 +        the_event->err_msg =
1440 +          strdup( "Global error. minimizer_ftol unrecognized.\n" );
1441 +        return 0;
1442 +        break;
1443 +      }
1444 +      break;
1445 +      
1446 +    case G_MIN_GTOL:
1447 +      switch( the_type ){
1448 +
1449 +      case STRING:
1450 +        the_event->err_msg =
1451 +          strdup( "Global error. minimizer_gtol is not a double or int.\n" );
1452 +        return 1;
1453 +        break;
1454 +        
1455 +      case DOUBLE:
1456 +        minimizer_gtol= the_event->evt.asmt.rhs.dval;
1457 +        have_minimizer_gtol = 1;
1458 +        return 1;
1459 +        break;
1460 +        
1461 +      case INT:
1462 +        minimizer_gtol= the_event->evt.asmt.rhs.ival;
1463 +        have_minimizer_gtol = 1;
1464 +        return 1;
1465 +        break;
1466 +        
1467 +      default:
1468 +        the_event->err_msg =
1469 +          strdup( "Global error. minimizer_gtol unrecognized.\n" );
1470 +        return 0;
1471 +        break;
1472 +      }
1473 +      break;
1474 +      
1475 +    case G_MIN_LSMAXITER:
1476 +      switch( the_type ){
1477 +
1478 +      case STRING:
1479 +        the_event->err_msg =
1480 +          strdup( "Global error. minimizer_ls_maxiteration is not a double or int.\n" );
1481 +        return 1;
1482 +        break;
1483 +        
1484 +      case DOUBLE:
1485 +        minimizer_ls_maxiteration = the_event->evt.asmt.rhs.dval;
1486 +        have_minimizer_ls_maxiteration = 1;
1487 +        return 1;
1488 +        break;
1489 +        
1490 +      case INT:
1491 +        minimizer_ls_maxiteration = the_event->evt.asmt.rhs.ival;
1492 +        have_minimizer_ls_maxiteration = 1;
1493 +        return 1;
1494 +        break;
1495 +        
1496 +      default:
1497 +        the_event->err_msg =
1498 +          strdup( "Global error. minimizer_ls_maxiteration unrecognized.\n" );
1499 +        return 0;
1500 +        break;
1501 +      }
1502 +      break;      
1503 +
1504 +    case G_MIN_LSTOL:
1505 +      switch( the_type ){
1506 +
1507 +      case STRING:
1508 +        the_event->err_msg =
1509 +          strdup( "Global error. minimizer_ls_tol is not a double or int.\n" );
1510 +        return 1;
1511 +        break;
1512 +        
1513 +      case DOUBLE:
1514 +        minimizer_ls_tol= the_event->evt.asmt.rhs.dval;
1515 +        have_minimizer_ls_tol = 1;
1516 +        return 1;
1517 +        break;
1518 +        
1519 +      case INT:
1520 +        minimizer_ls_tol= the_event->evt.asmt.rhs.ival;
1521 +        have_minimizer_ls_tol = 1;
1522 +        return 1;
1523 +        break;
1524 +        
1525 +      default:
1526 +        the_event->err_msg =
1527 +          strdup( "Global error. minimizer_ls_tol unrecognized.\n" );
1528 +        return 0;
1529 +        break;
1530 +      }
1531 +      break;
1532 +      
1533        // add more token cases here.
1534      case G_SEED:
1535        switch( the_type ){
# Line 1310 | Line 1621 | char* Globals::checkMe( void ){
1621      strcat( err, "\t->targetTemp\n" );
1622      have_err= 1;
1623    }
1624 +
1625    
1626 <  if( !have_ensemble ){
1627 <    strcat( err, "\t->ensemble\n" );
1628 <    have_err= 1;
1629 <  }
1626 >  if(!have_minimizer)
1627 >    if( !have_ensemble ){
1628 >      strcat( err, "\t->ensemble\n" );
1629 >      have_err= 1;
1630 >    }
1631    
1632    if( !have_dt ){
1633      strcat( err, "\t->dt\n" );

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines