00001
00002
00003
00004
00005 #ifdef _USETCL
00006 Tcl_Parser_Init(sim);
00007 #endif//_USETCL
00008
00009 #ifdef _PARALLEL
00010 int main_master(int argc, char *argv[]);
00011 int main_slave(int argc, char *argv[]);
00012
00013 int main(int argc, char *argv[])
00014 {
00015 sim.ParallelInit(&argc,&argv);
00016
00017 if(sim.myDomain==0)
00018 main_master(argc,argv);
00019 else
00020 main_slave(argc,argv);
00021
00022 MPI_Finalize();
00023 return 0;
00024 }
00025 int main_slave(int argc, char *argv[])
00026 {
00027 sim.initvars();
00028 strcpy(sim.myname,argv[0]);
00029
00030 sim.WaitForCommand();
00031 return 0;
00032 }
00033 #else
00034 #define main_master main
00035 #endif //_PARALLEL
00036
00037
00038
00039 int main_master(int argc, char *argv[])
00040 {
00041 sim.initvars();
00042 strcpy(sim.myname,argv[0]);
00043
00044 #ifndef _USETCL
00045 sim.parse(SCParser::getfilehandler(argc,argv));
00046 #else
00047 Tcl_Main_Wrapper(argc, argv);
00048 #endif//_USETCL
00049 return 0;
00050 }
00051