--- trunk/OOPSE/src/oopse.cpp 2003/12/19 18:53:43 888 +++ trunk/OOPSE/src/oopse.cpp 2004/07/16 16:29:44 1330 @@ -17,6 +17,7 @@ #include "Integrator.hpp" #include "Thermo.hpp" #include "ReadWrite.hpp" +#include "OOPSEMinimizer.hpp" char* program_name; using namespace std; @@ -26,8 +27,7 @@ int main(int argc,char* argv[]){ char* in_name; SimSetup* startMe; SimInfo* entry_plug; - - + // first things first, all of the initializations MPI_Init( &argc, &argv ); // the MPI communicators @@ -44,6 +44,25 @@ int main(int argc,char* argv[]){ program_name = argv[0]; // save the program name in case we need it if( worldRank == 0 ){ + std::cerr << + " +----------------------------------------------------------------------+\n" << + " | ____ ____ ____ _____ ______ The OpenSource, Object-oriented |\n" << + " | / __ \\/ __ \\/ __ \\/ ___// ____/ Parallel Simulation Engine. |\n" << + " | / / / / / / / /_/ /\\__ \\/ __/ |\n" << + " | / /_/ / /_/ / ____/___/ / /___ Copyright 2004 by the |\n" << + " | \\____/\\____/_/ /____/_____/ University of Notre Dame. |\n" << + " | http://www.oopse.org |\n" << + " | |\n" << + " | OOPSE is an OpenScience project. All source code is available for |\n" << + " | any use subject to only one condition: |\n" << + " | |\n" << + " | Any published work resulting from the use of this code must cite the |\n" << + " | following paper: M. A. Meineke, C. F. Vardeman II, T. Lin, |\n" << + " | C. J. Fennell, and J. D. Gezelter, |\n" << + " | J. Comp. Chem. XX, XXXX (2004). |\n" << + " +----------------------------------------------------------------------+\n" << + "\n"; + if( argc < 2 ){ strcpy( painCave.errMsg, "Error, bass file is needed to run.\n" ); painCave.isFatal = 1; @@ -55,8 +74,7 @@ int main(int argc,char* argv[]){ strcpy( checkPointMsg, "Successful number of arguments" ); MPIcheckPoint(); - - + // create the simulation objects, and get the show on the road entry_plug = new SimInfo; @@ -64,33 +82,20 @@ int main(int argc,char* argv[]){ startMe->setSimInfo( entry_plug ); -#ifdef PROFILE - startProfile( pro1 ); -#endif //profile startMe->parseFile( in_name ); -#ifdef PROFILE - endProfile( pro1 ); - - startProfile( pro2 ); -#endif //profile startMe->createSim(); delete startMe; -#ifdef PROFILE - endProfile( pro2 ); + if (!entry_plug->has_minimizer) + entry_plug->the_integrator->integrate(); + else + entry_plug->the_minimizer->minimize(); - startProfile( pro3 ); -#endif //profile - - entry_plug->the_integrator->integrate(); - #ifdef PROFILE - endProfile( pro3 ); - writeProfiles(); #endif //profile