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 1153 by gezelter, Tue May 11 04:21:52 2004 UTC vs.
Revision 1210 by chrisfen, Tue Jun 1 14:27:28 2004 UTC

# Line 66 | Line 66
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 117 | Line 121 | Globals::Globals(){
121    addHash( "useInitialTime",                       G_USEINITTIME);
122    addHash( "useInitialExtendedSystemState",        G_USEINIT_XS_STATE);
123    addHash( "orthoBoxTolerance",                    G_ORTHOBOXTOLERANCE);
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);
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
# Line 135 | Line 143 | Globals::Globals(){
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 180 | Line 190 | Globals::Globals(){
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 1568 | Line 1580 | int Globals::globalAssign( event* the_event ){
1580            strdup( "Global error. seed unrecognized.\n" );
1581          return 0;
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      }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines