--- trunk/OOPSE/libBASS/Globals.cpp 2004/02/06 18:58:06 1031 +++ trunk/OOPSE/libBASS/Globals.cpp 2004/04/28 21:39:12 1137 @@ -59,13 +59,16 @@ #define G_MINIMIZER 38 #define G_MIN_MAXITER 39 #define G_MIN_WRITEFRQ 40 -#define G_MIN_RESETFRQ 41 +#define G_MIN_STEPSIZE 41 #define G_MIN_FTOL 42 #define G_MIN_GTOL 43 #define G_MIN_LSTOL 44 #define G_MIN_LSMAXITER 45 +#define G_ZCONSGAP 46 +#define G_ZCONSFIXTIME 47 +#define G_ZCONSUSINGSMD 48 +#define G_USEMOLECULARCUTOFFS 49 - Globals::Globals(){ int i; @@ -120,18 +123,22 @@ Globals::Globals(){ addHash( "minimizer", G_MINIMIZER); addHash( "minMaxIter", G_MIN_MAXITER); addHash( "minWriteFrq", G_MIN_WRITEFRQ); - addHash( "minResetFrq", G_MIN_RESETFRQ); + addHash( "minStepSize", G_MIN_STEPSIZE); addHash( "minFTol", G_MIN_FTOL); addHash( "minGTol", G_MIN_GTOL); addHash( "minLSTol", G_MIN_LSTOL); addHash( "minLSMaxIter", G_MIN_LSMAXITER); - + addHash( "zconsGap", G_ZCONSGAP); + addHash( "zconsFixtime", G_ZCONSFIXTIME); + addHash( "zconsUsingSMD", G_ZCONSUSINGSMD); + addHash( "useMolecularCutoffs", G_USEMOLECULARCUTOFFS); strcpy( mixingRule,"standard"); //default mixing rules to standard. usePBC = 1; //default periodic boundry conditions to on useRF = 0; - useInitTime = 1; // default to pull init time from the init file - useInitXSstate = 1; // default to pull the extended state from the init file + useMolecularCutoffs = 0; + useInitTime = 0; // default to pull init time from the init file + useInitXSstate = 0; // default to pull the extended state from the init file orthoBoxTolerance = 1E-6; have_force_field = 0; @@ -166,8 +173,20 @@ Globals::Globals(){ have_n_zConstraints = 0; have_zConstraints = 0; have_zcons_tol = 0; + have_zcons_gap = 0; + have_zcons_fixtime = 0; + have_zcons_using_smd = 0; have_seed = 0; have_ljrcut = 0; + have_minimizer = 0; + have_minimizer_maxiteration = 0; + have_minimizer_writefrq = 0; + have_minimizer_stepsize = 0; + have_minimizer_ftol = 0; + have_minimizer_gtol = 0; + have_minimizer_ls_tol = 0; + have_minimizer_ls_maxiteration = 0; + have_use_molecular_cutoffs = 0; } @@ -1052,6 +1071,24 @@ int Globals::globalAssign( event* the_event ){ the_event->err_msg = strdup( "Global error. useReactionField was not \"true\" or \"false\".\n" ); + return 0; + break; + + case G_USEMOLECULARCUTOFFS: + if( the_type == STRING ){ + + if( !strcasecmp( "true", the_event->evt.asmt.rhs.sval )) useMolecularCutoffs = 1; + else if( !strcasecmp( "false", the_event->evt.asmt.rhs.sval )) useMolecularCutoffs = 0; + else{ + the_event->err_msg = + strdup( "Global error. useMolecularCutoffs was not \"true\" or \"false\".\n" ); + return 0; + } + return 1; + } + + the_event->err_msg = + strdup( "Global error. useMolecularCutoffs was not \"true\" or \"false\".\n" ); return 0; break; @@ -1233,7 +1270,94 @@ int Globals::globalAssign( event* the_event ){ break; } break; + + case G_ZCONSGAP: + switch( the_type ){ + + case STRING: + the_event->err_msg = + strdup( "Global error. zcons_gap is not a double or int.\n" ); + return 0; + break; + + case DOUBLE: + zcons_gap = the_event->evt.asmt.rhs.dval; + have_zcons_gap= 1; + return 1; + break; + + case INT: + zcons_gap= (double)the_event->evt.asmt.rhs.ival; + have_zcons_gap= 1; + return 1; + break; + + default: + the_event->err_msg = + strdup( "Global error. zcons_gap unrecognized.\n" ); + return 0; + break; + } + break; + case G_ZCONSFIXTIME: + switch( the_type ){ + + case STRING: + the_event->err_msg = + strdup( "Global error. zcons_fixtime is not a double or int.\n" ); + return 0; + break; + + case DOUBLE: + zcons_fixtime= the_event->evt.asmt.rhs.dval; + have_zcons_fixtime= 1; + return 1; + break; + + case INT: + zcons_fixtime= (double)the_event->evt.asmt.rhs.ival; + have_zcons_fixtime= 1; + return 1; + break; + + default: + the_event->err_msg = + strdup( "Global error. zcons_fixtime unrecognized.\n" ); + return 0; + break; + } + break; + + case G_ZCONSUSINGSMD: + switch( the_type ){ + + case STRING: + the_event->err_msg = + strdup( "Global error. zcons_fixtime is not an int.\n" ); + return 0; + break; + + case DOUBLE: + the_event->err_msg = + strdup( "Global error. zcons_fixtime is not an int.\n" ); + return 0; + break; + + case INT: + zcons_using_smd= the_event->evt.asmt.rhs.ival; + have_zcons_using_smd= 1; + return 1; + break; + + default: + the_event->err_msg = + strdup( "Global error. zcons_usingsmd unrecognized.\n" ); + return 0; + break; + } + break; + case G_MINIMIZER: switch( the_type ){ @@ -1325,7 +1449,7 @@ int Globals::globalAssign( event* the_event ){ } break; - case G_MIN_RESETFRQ: + case G_MIN_STEPSIZE: switch( the_type ){ case STRING: @@ -1335,14 +1459,14 @@ int Globals::globalAssign( event* the_event ){ break; case DOUBLE: - minimizer_resetfrq= the_event->evt.asmt.rhs.dval; - have_minimizer_resetfrq = 1; + minimizer_stepsize= the_event->evt.asmt.rhs.dval; + have_minimizer_stepsize = 1; return 1; break; case INT: - minimizer_resetfrq= the_event->evt.asmt.rhs.ival; - have_minimizer_resetfrq = 1; + minimizer_stepsize= the_event->evt.asmt.rhs.ival; + have_minimizer_stepsize = 1; return 1; break; @@ -1562,10 +1686,11 @@ char* Globals::checkMe( void ){ have_err= 1; } - if( !have_ensemble ){ - strcat( err, "\t->ensemble\n" ); - have_err= 1; - } + if(!have_minimizer) + if( !have_ensemble ){ + strcat( err, "\t->ensemble\n" ); + have_err= 1; + } if( !have_dt ){ strcat( err, "\t->dt\n" );