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 1093 by tim, Wed Mar 17 14:22:59 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 + #define G_ZCONSUSINGSMD 48
70  
60
71   Globals::Globals(){
72    
73    int i;
# Line 109 | Line 119 | Globals::Globals(){
119    addHash( "useInitialExtendedSystemState",        G_USEINIT_XS_STATE);
120    addHash( "orthoBoxTolerance",                    G_ORTHOBOXTOLERANCE);
121    addHash( "LJrcut",                               G_LJRCUT);
122 <        
123 <        
124 <  // define some default values
122 >  addHash( "minimizer", G_MINIMIZER);
123 >  addHash( "minMaxIter", G_MIN_MAXITER);
124 >  addHash( "minWriteFrq", G_MIN_WRITEFRQ);
125 >  addHash( "minStepSize", G_MIN_STEPSIZE);
126 >  addHash( "minFTol", G_MIN_FTOL);
127 >  addHash( "minGTol", G_MIN_GTOL);
128 >  addHash( "minLSTol", G_MIN_LSTOL);
129 >  addHash( "minLSMaxIter", G_MIN_LSMAXITER);
130 >  addHash( "zconsGap", G_ZCONSGAP);
131 >  addHash( "zconsFixtime", G_ZCONSFIXTIME);
132 >    addHash( "zconsUsingSMD", G_ZCONSUSINGSMD);
133  
134    strcpy( mixingRule,"standard");  //default mixing rules to standard.
135    usePBC = 1; //default  periodic boundry conditions to on
# Line 152 | Line 170 | Globals::Globals(){
170    have_n_zConstraints = 0;
171    have_zConstraints   = 0;
172    have_zcons_tol = 0;
173 +  have_zcons_gap = 0;
174 +  have_zcons_fixtime = 0;
175 +  have_zcons_using_smd = 0;  
176    have_seed = 0;
177    have_ljrcut = 0;
178  
# Line 1217 | Line 1238 | int Globals::globalAssign( event* the_event ){
1238            strdup( "Global error. zconsForcePolicy unrecognized.\n" );
1239          return 0;
1240          break;
1241 +      }
1242 +      break;
1243 +      
1244 +    case G_ZCONSGAP:
1245 +      switch( the_type ){
1246 +  
1247 +      case STRING:
1248 +        the_event->err_msg =
1249 +          strdup( "Global error. zcons_gap is not a double or int.\n" );
1250 +        return 0;
1251 +        break;
1252 +  
1253 +      case DOUBLE:
1254 +        zcons_gap = the_event->evt.asmt.rhs.dval;
1255 +        have_zcons_gap= 1;
1256 +        return 1;
1257 +        break;
1258 +  
1259 +      case INT:
1260 +        zcons_gap= (double)the_event->evt.asmt.rhs.ival;
1261 +        have_zcons_gap= 1;
1262 +        return 1;
1263 +        break;
1264 +  
1265 +      default:
1266 +        the_event->err_msg =
1267 +          strdup( "Global error. zcons_gap unrecognized.\n" );
1268 +        return 0;
1269 +        break;
1270        }
1271        break;
1272 +
1273 +    case G_ZCONSFIXTIME:
1274 +      switch( the_type ){
1275 +  
1276 +      case STRING:
1277 +        the_event->err_msg =
1278 +          strdup( "Global error. zcons_fixtime is not a double or int.\n" );
1279 +        return 0;
1280 +        break;
1281 +  
1282 +      case DOUBLE:
1283 +        zcons_fixtime= the_event->evt.asmt.rhs.dval;
1284 +        have_zcons_fixtime= 1;
1285 +        return 1;
1286 +        break;
1287 +  
1288 +      case INT:
1289 +        zcons_fixtime= (double)the_event->evt.asmt.rhs.ival;
1290 +        have_zcons_fixtime= 1;
1291 +        return 1;
1292 +        break;
1293 +  
1294 +      default:
1295 +        the_event->err_msg =
1296 +          strdup( "Global error. zcons_fixtime unrecognized.\n" );
1297 +        return 0;
1298 +        break;
1299 +      }
1300 +      break;
1301 +
1302 +    case G_ZCONSUSINGSMD:
1303 +      switch( the_type ){
1304 +  
1305 +      case STRING:
1306 +        the_event->err_msg =
1307 +          strdup( "Global error. zcons_fixtime is not an  int.\n" );
1308 +        return 0;
1309 +        break;
1310 +  
1311 +      case DOUBLE:
1312 +        the_event->err_msg =
1313 +          strdup( "Global error. zcons_fixtime is not an  int.\n" );
1314 +        return 0;
1315 +        break;
1316 +  
1317 +      case INT:
1318 +        zcons_using_smd= the_event->evt.asmt.rhs.ival;
1319 +        have_zcons_using_smd= 1;
1320 +        return 1;
1321 +        break;
1322 +  
1323 +      default:
1324 +        the_event->err_msg =
1325 +          strdup( "Global error. zcons_usingsmd unrecognized.\n" );
1326 +        return 0;
1327 +        break;
1328 +      }
1329 +      break;
1330 +      
1331 +    case G_MINIMIZER:
1332 +      switch( the_type ){
1333 +
1334 +      case STRING:
1335 +        strcpy(minimizer_name, the_event->evt.asmt.rhs.sval);
1336 +
1337 +        for(int i = 0; zconsForcePolicy[i] != '\0'; i++){
1338 +          zconsForcePolicy[i] = toupper(zconsForcePolicy[i]);
1339 +        }
1340 +        have_minimizer= 1;
1341 +        return 1;
1342 +        break;
1343 +        
1344 +      case DOUBLE:
1345 +        the_event->err_msg =
1346 +          strdup( "Global error. minimizer_name is not a double or int.\n" );
1347 +        return 0;
1348 +        break;
1349 +        
1350 +      case INT:
1351 +        the_event->err_msg =
1352 +          strdup( "Global error. minimizer_name is not a double or int.\n" );
1353 +        return 0;
1354 +        break;
1355 +        
1356 +      default:
1357 +        the_event->err_msg =
1358 +          strdup( "Global error. minimizer_name unrecognized.\n" );
1359 +        return 0;
1360 +        break;
1361 +      }
1362 +      break;
1363 +
1364 +    case G_MIN_MAXITER:
1365 +      switch( the_type ){
1366 +
1367 +      case STRING:
1368 +        the_event->err_msg =
1369 +          strdup( "Global error. minimizer_maxiteration is not a double or int.\n" );
1370 +        return 1;
1371 +        break;
1372 +        
1373 +      case DOUBLE:
1374 +        minimizer_maxiteration = the_event->evt.asmt.rhs.dval;
1375 +        have_minimizer_maxiteration = 1;
1376 +        return 1;
1377 +        break;
1378 +        
1379 +      case INT:
1380 +        minimizer_maxiteration = the_event->evt.asmt.rhs.ival;
1381 +        have_minimizer_maxiteration = 1;
1382 +        return 1;
1383 +        break;
1384 +        
1385 +      default:
1386 +        the_event->err_msg =
1387 +          strdup( "Global error. minimizer_maxiteration unrecognized.\n" );
1388 +        return 0;
1389 +        break;
1390 +      }
1391 +      break;
1392 +      
1393 +    case G_MIN_WRITEFRQ:
1394 +      switch( the_type ){
1395 +
1396 +      case STRING:
1397 +        the_event->err_msg =
1398 +          strdup( "Global error. minimizer_writefrq is not a double or int.\n" );
1399 +        return 1;
1400 +        break;
1401 +        
1402 +      case DOUBLE:
1403 +        minimizer_writefrq= the_event->evt.asmt.rhs.dval;
1404 +        have_minimizer_writefrq = 1;
1405 +        return 1;
1406 +        break;
1407 +        
1408 +      case INT:
1409 +        minimizer_writefrq= the_event->evt.asmt.rhs.ival;
1410 +        have_minimizer_writefrq = 1;
1411 +        return 1;
1412 +        break;
1413 +        
1414 +      default:
1415 +        the_event->err_msg =
1416 +          strdup( "Global error. minimizer_writefrq unrecognized.\n" );
1417 +        return 0;
1418 +        break;
1419 +      }
1420 +      break;
1421 +
1422 +    case G_MIN_STEPSIZE:
1423 +      switch( the_type ){
1424 +
1425 +      case STRING:
1426 +        the_event->err_msg =
1427 +          strdup( "Global error. minimizer_resetfrq is not a double or int.\n" );
1428 +        return 1;
1429 +        break;
1430 +        
1431 +      case DOUBLE:
1432 +        minimizer_stepsize= the_event->evt.asmt.rhs.dval;
1433 +        have_minimizer_stepsize = 1;
1434 +        return 1;
1435 +        break;
1436 +        
1437 +      case INT:
1438 +        minimizer_stepsize= the_event->evt.asmt.rhs.ival;
1439 +        have_minimizer_stepsize = 1;
1440 +        return 1;
1441 +        break;
1442 +        
1443 +      default:
1444 +        the_event->err_msg =
1445 +          strdup( "Global error. minimizer_resetfrq unrecognized.\n" );
1446 +        return 0;
1447 +        break;
1448 +      }
1449 +      break;      
1450 +
1451 +    case G_MIN_FTOL:
1452 +      switch( the_type ){
1453 +
1454 +      case STRING:
1455 +        the_event->err_msg =
1456 +          strdup( "Global error. minimizer_ftol is not a double or int.\n" );
1457 +        return 1;
1458 +        break;
1459 +        
1460 +      case DOUBLE:
1461 +        minimizer_ftol= the_event->evt.asmt.rhs.dval;
1462 +        have_minimizer_ftol = 1;
1463 +        return 1;
1464 +        break;
1465 +        
1466 +      case INT:
1467 +        minimizer_ftol= the_event->evt.asmt.rhs.ival;
1468 +        have_minimizer_ftol = 1;
1469 +        return 1;
1470 +        break;
1471 +        
1472 +      default:
1473 +        the_event->err_msg =
1474 +          strdup( "Global error. minimizer_ftol unrecognized.\n" );
1475 +        return 0;
1476 +        break;
1477 +      }
1478 +      break;
1479 +      
1480 +    case G_MIN_GTOL:
1481 +      switch( the_type ){
1482 +
1483 +      case STRING:
1484 +        the_event->err_msg =
1485 +          strdup( "Global error. minimizer_gtol is not a double or int.\n" );
1486 +        return 1;
1487 +        break;
1488 +        
1489 +      case DOUBLE:
1490 +        minimizer_gtol= the_event->evt.asmt.rhs.dval;
1491 +        have_minimizer_gtol = 1;
1492 +        return 1;
1493 +        break;
1494 +        
1495 +      case INT:
1496 +        minimizer_gtol= the_event->evt.asmt.rhs.ival;
1497 +        have_minimizer_gtol = 1;
1498 +        return 1;
1499 +        break;
1500 +        
1501 +      default:
1502 +        the_event->err_msg =
1503 +          strdup( "Global error. minimizer_gtol unrecognized.\n" );
1504 +        return 0;
1505 +        break;
1506 +      }
1507 +      break;
1508 +      
1509 +    case G_MIN_LSMAXITER:
1510 +      switch( the_type ){
1511 +
1512 +      case STRING:
1513 +        the_event->err_msg =
1514 +          strdup( "Global error. minimizer_ls_maxiteration is not a double or int.\n" );
1515 +        return 1;
1516 +        break;
1517 +        
1518 +      case DOUBLE:
1519 +        minimizer_ls_maxiteration = the_event->evt.asmt.rhs.dval;
1520 +        have_minimizer_ls_maxiteration = 1;
1521 +        return 1;
1522 +        break;
1523 +        
1524 +      case INT:
1525 +        minimizer_ls_maxiteration = the_event->evt.asmt.rhs.ival;
1526 +        have_minimizer_ls_maxiteration = 1;
1527 +        return 1;
1528 +        break;
1529 +        
1530 +      default:
1531 +        the_event->err_msg =
1532 +          strdup( "Global error. minimizer_ls_maxiteration unrecognized.\n" );
1533 +        return 0;
1534 +        break;
1535 +      }
1536 +      break;      
1537 +
1538 +    case G_MIN_LSTOL:
1539 +      switch( the_type ){
1540 +
1541 +      case STRING:
1542 +        the_event->err_msg =
1543 +          strdup( "Global error. minimizer_ls_tol is not a double or int.\n" );
1544 +        return 1;
1545 +        break;
1546 +        
1547 +      case DOUBLE:
1548 +        minimizer_ls_tol= the_event->evt.asmt.rhs.dval;
1549 +        have_minimizer_ls_tol = 1;
1550 +        return 1;
1551 +        break;
1552 +        
1553 +      case INT:
1554 +        minimizer_ls_tol= the_event->evt.asmt.rhs.ival;
1555 +        have_minimizer_ls_tol = 1;
1556 +        return 1;
1557 +        break;
1558 +        
1559 +      default:
1560 +        the_event->err_msg =
1561 +          strdup( "Global error. minimizer_ls_tol unrecognized.\n" );
1562 +        return 0;
1563 +        break;
1564 +      }
1565 +      break;
1566 +      
1567        // add more token cases here.
1568      case G_SEED:
1569        switch( the_type ){
# Line 1310 | Line 1655 | char* Globals::checkMe( void ){
1655      strcat( err, "\t->targetTemp\n" );
1656      have_err= 1;
1657    }
1658 +
1659    
1660 <  if( !have_ensemble ){
1661 <    strcat( err, "\t->ensemble\n" );
1662 <    have_err= 1;
1663 <  }
1660 >  if(!have_minimizer)
1661 >    if( !have_ensemble ){
1662 >      strcat( err, "\t->ensemble\n" );
1663 >      have_err= 1;
1664 >    }
1665    
1666    if( !have_dt ){
1667      strcat( err, "\t->dt\n" );

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines