ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/src/oopse.cpp
Revision: 1169
Committed: Wed May 12 19:44:54 2004 UTC (20 years, 2 months ago) by gezelter
File size: 1762 byte(s)
Log Message:
MPI fixes and removal of extraneous write statements

File Contents

# Content
1 #ifdef IS_MPI
2 #include <iostream>
3 #include <fstream>
4 #include <cstdlib>
5 #include <cmath>
6 #include <cstring>
7 #include <mpi.h>
8
9 #ifdef PROFILE
10 #include "mdProfile.hpp"
11 #endif // PROFILE
12
13 #include "simError.h"
14 #include "SimSetup.hpp"
15 #include "SimInfo.hpp"
16 #include "Atom.hpp"
17 #include "Integrator.hpp"
18 #include "Thermo.hpp"
19 #include "ReadWrite.hpp"
20 #include "OOPSEMinimizer.hpp"
21
22 char* program_name;
23 using namespace std;
24
25 int main(int argc,char* argv[]){
26
27 char* in_name;
28 SimSetup* startMe;
29 SimInfo* entry_plug;
30
31 // first things first, all of the initializations
32
33 MPI_Init( &argc, &argv ); // the MPI communicators
34
35 initSimError(); // the error handler
36 srand48( 1337 ); // the random number generator.
37
38 #ifdef PROFILE
39 initProfile();
40 #endif //profile
41
42 // check command line arguments, and set the input file
43
44 program_name = argv[0]; // save the program name in case we need it
45
46 if( worldRank == 0 ){
47 if( argc < 2 ){
48 strcpy( painCave.errMsg, "Error, bass file is needed to run.\n" );
49 painCave.isFatal = 1;
50 simError();
51 }
52 }
53
54 in_name = argv[1];
55
56 strcpy( checkPointMsg, "Successful number of arguments" );
57 MPIcheckPoint();
58
59 // create the simulation objects, and get the show on the road
60
61 entry_plug = new SimInfo;
62 startMe = new SimSetup;
63
64 startMe->setSimInfo( entry_plug );
65
66
67 startMe->parseFile( in_name );
68
69
70 startMe->createSim();
71
72 delete startMe;
73
74 if (!entry_plug->has_minimizer)
75 entry_plug->the_integrator->integrate();
76 else
77 entry_plug->the_minimizer->minimize();
78
79 #ifdef PROFILE
80 writeProfiles();
81 #endif //profile
82
83 strcpy( checkPointMsg, "Oh what a lovely Tea Party!" );
84 MPIcheckPoint();
85
86 MPI_Finalize();
87 return 0 ;
88 }
89
90 #endif