--- trunk/mdtools/interface_implementation/Globals.cpp 2002/11/18 21:24:02 178 +++ trunk/mdtools/interface_implementation/Globals.cpp 2003/02/24 21:26:54 282 @@ -39,6 +39,8 @@ #define G_DIELECTRIC 18 #define G_TEMPSET 19 #define G_THERMALTIME 20 +#define G_USEPBC 21 +#define G_MIXINGRULE 22 Globals::Globals(){ @@ -54,6 +56,7 @@ Globals::Globals(){ addHash( "nComponents", G_NCOMPONENTS ); addHash( "targetTemp", G_TARGETTEMP ); addHash( "ensemble", G_ENSEMBLE ); + addHash( "dt", G_DT ); addHash( "runTime", G_RUNTIME ); @@ -71,6 +74,11 @@ Globals::Globals(){ addHash( "dielectric", G_DIELECTRIC ); addHash( "tempSet", G_TEMPSET ); addHash( "thermalTime", G_THERMALTIME ); + addHash("mixingRule", G_MIXINGRULE); + mixingRule = "standard"; //default mixing rules to standard. + addHash("periodicBoundryConditions", G_USEPBC); + usePBC = 1; //default periodic boundry conditions to on + have_force_field = 0; have_n_components = 0; @@ -94,7 +102,7 @@ Globals::Globals(){ have_rrf = 0; have_dielectric = 0; have_tempSet = 0; -} + } Globals::~Globals(){ int i; @@ -273,7 +281,18 @@ int Globals::globalAssign( event* the_event ){ strdup( "Global error. ensemble was not assigned to a string\n" ); return 0; break; + + case G_MIXINGRULE: + if( the_type == STRING ){ + strcpy( mixingRule, the_event->evt.asmt.rhs.sval ); + return 1; + } + the_event->err_msg = + strdup( "Global error. mixing rule was not assigned to a string\n" ); + return 0; + break; + case G_DT: switch( the_type ){ @@ -693,6 +712,24 @@ int Globals::globalAssign( event* the_event ){ strdup( "Global error. tempSet was not \"true\" or \"false\".\n" ); return 0; break; + + case G_USEPBC: + if( the_type == STRING ){ + + if( !strcmp( "true", the_event->evt.asmt.rhs.sval )) usePBC = 1; + else if( !strcmp( "false", the_event->evt.asmt.rhs.sval )) usePBC = 0; + else{ + the_event->err_msg = + strdup( "Global error. periodicBoundryConditions was not \"true\" or \"false\".\n" ); + return 0; + } + return 1; + } + + the_event->err_msg = + strdup( "Global error. tempSet was not \"true\" or \"false\".\n" ); + return 0; + break; } }