| 123 |
|
addHash( "useInitialExtendedSystemState", G_USEINIT_XS_STATE); |
| 124 |
|
addHash( "orthoBoxTolerance", G_ORTHOBOXTOLERANCE); |
| 125 |
|
addHash( "minimizer", G_MINIMIZER); |
| 126 |
< |
addHash( "minMaxIter", G_MIN_MAXITER); |
| 127 |
< |
addHash( "minWriteFrq", G_MIN_WRITEFRQ); |
| 128 |
< |
addHash( "minStepSize", G_MIN_STEPSIZE); |
| 129 |
< |
addHash( "minFTol", G_MIN_FTOL); |
| 130 |
< |
addHash( "minGTol", G_MIN_GTOL); |
| 131 |
< |
addHash( "minLSTol", G_MIN_LSTOL); |
| 132 |
< |
addHash( "minLSMaxIter", G_MIN_LSMAXITER); |
| 126 |
> |
addHash( "minimizerMaxIter", G_MIN_MAXITER); |
| 127 |
> |
addHash( "minimizerWriteFrq", G_MIN_WRITEFRQ); |
| 128 |
> |
addHash( "minimizerStepSize", G_MIN_STEPSIZE); |
| 129 |
> |
addHash( "minimizerFTol", G_MIN_FTOL); |
| 130 |
> |
addHash( "minimizerGTol", G_MIN_GTOL); |
| 131 |
> |
addHash( "minimizerLSTol", G_MIN_LSTOL); |
| 132 |
> |
addHash( "minimizerLSMaxIter", G_MIN_LSMAXITER); |
| 133 |
|
addHash( "zconsGap", G_ZCONSGAP); |
| 134 |
|
addHash( "zconsFixtime", G_ZCONSFIXTIME); |
| 135 |
|
addHash( "zconsUsingSMD", G_ZCONSUSINGSMD); |
| 1734 |
|
char err[300]; |
| 1735 |
|
short int have_err = 0; |
| 1736 |
|
|
| 1737 |
< |
strcpy( err, "Global error. The following are required:\n" ); |
| 1737 |
> |
strcpy( err, "The following required keywords are missing:\n" ); |
| 1738 |
|
|
| 1739 |
|
if( !have_force_field ){ |
| 1740 |
< |
strcat( err, "\t->forceField\n" ); |
| 1740 |
> |
strcat( err, "\t\t->forceField\n" ); |
| 1741 |
|
have_err= 1; |
| 1742 |
|
} |
| 1743 |
|
|
| 1744 |
|
if( !have_n_components ){ |
| 1745 |
< |
strcat( err, "\t->nComponents\n" ); |
| 1745 |
> |
strcat( err, "\t\t->nComponents\n" ); |
| 1746 |
|
have_err= 1; |
| 1747 |
|
} |
| 1748 |
|
|
| 1749 |
– |
if( !have_target_temp ){ |
| 1750 |
– |
strcat( err, "\t->targetTemp\n" ); |
| 1751 |
– |
have_err= 1; |
| 1752 |
– |
} |
| 1749 |
|
|
| 1750 |
< |
if(!have_minimizer) |
| 1751 |
< |
if( !have_ensemble ){ |
| 1752 |
< |
strcat( err, "\t->ensemble\n" ); |
| 1753 |
< |
have_err= 1; |
| 1750 |
> |
if ( !have_ensemble ) { |
| 1751 |
> |
// I'm not doing MD: |
| 1752 |
> |
if ( !have_minimizer ) { |
| 1753 |
> |
// I'm not doing MD or minimization: |
| 1754 |
> |
strcat( err, "\t\t->either ensemble or minimizer must be set!\n" ); |
| 1755 |
> |
have_err = 1; |
| 1756 |
> |
} else { |
| 1757 |
> |
// I'm a minimizer: |
| 1758 |
|
} |
| 1759 |
< |
|
| 1760 |
< |
if( !have_dt ){ |
| 1761 |
< |
strcat( err, "\t->dt\n" ); |
| 1762 |
< |
have_err= 1; |
| 1759 |
> |
} else { |
| 1760 |
> |
// I *am* doing MD: |
| 1761 |
> |
if( !have_dt ){ |
| 1762 |
> |
strcat( err, "\t\t->dt (timestep in fs)\n" ); |
| 1763 |
> |
have_err= 1; |
| 1764 |
> |
} |
| 1765 |
> |
if( !have_run_time ){ |
| 1766 |
> |
strcat( err, "\t\t->runTime (total run time in fs)\n" ); |
| 1767 |
> |
have_err= 1; |
| 1768 |
> |
} |
| 1769 |
|
} |
| 1770 |
< |
|
| 1765 |
< |
if( !have_run_time ){ |
| 1766 |
< |
strcat( err, "\t->runTime\n" ); |
| 1767 |
< |
have_err= 1; |
| 1768 |
< |
} |
| 1769 |
< |
|
| 1770 |
> |
|
| 1771 |
|
if( have_err ) return strdup( err ); |
| 1772 |
|
|
| 1773 |
|
return NULL; |