ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/src/oopse.cpp
Revision: 892
Committed: Mon Dec 22 21:27:04 2003 UTC (20 years, 7 months ago) by chuckv
File size: 1651 byte(s)
Log Message:
Fixes to profile code.

File Contents

# User Rev Content
1 mmeineke 377 #ifdef IS_MPI
2     #include <iostream>
3     #include <fstream>
4     #include <cstdlib>
5     #include <cmath>
6     #include <cstring>
7     #include <mpi.h>
8    
9 mmeineke 888 #ifdef PROFILE
10     #include "mdProfile.hpp"
11     #endif // PROFILE
12    
13 mmeineke 377 #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    
21     char* program_name;
22     using namespace std;
23    
24     int main(int argc,char* argv[]){
25    
26     char* in_name;
27     SimSetup* startMe;
28     SimInfo* entry_plug;
29    
30    
31     // first things first, all of the initializations
32    
33     MPI_Init( &argc, &argv ); // the MPI communicators
34 mmeineke 888
35 mmeineke 377 initSimError(); // the error handler
36     srand48( 1337 ); // the random number generator.
37    
38 mmeineke 888 #ifdef PROFILE
39     initProfile();
40     #endif //profile
41 mmeineke 377
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    
60     // create the simulation objects, and get the show on the road
61    
62     entry_plug = new SimInfo;
63     startMe = new SimSetup;
64    
65     startMe->setSimInfo( entry_plug );
66 mmeineke 888
67    
68 mmeineke 377 startMe->parseFile( in_name );
69 mmeineke 888
70    
71 mmeineke 377 startMe->createSim();
72    
73     delete startMe;
74 mmeineke 888
75 mmeineke 377
76     entry_plug->the_integrator->integrate();
77    
78 mmeineke 888 #ifdef PROFILE
79     writeProfiles();
80     #endif //profile
81    
82 mmeineke 377 strcpy( checkPointMsg, "Oh what a lovely Tea Party!" );
83     MPIcheckPoint();
84    
85     MPI_Finalize();
86     return 0 ;
87     }
88    
89     #endif