Main Page | Class Hierarchy | Class List | File List | Class Members

olympus.hh

00001 // $Id: olympus.hh,v 1.5 2004/05/04 15:26:18 adams Exp $ 00002 // Author: Mark F. Adams 00003 // Copyright (c) 2003 by Mark F. Adams 00004 // Filename: olympus.hh 00005 // 00006 #ifndef __OLYMPUS_H__ 00007 #define __OLYMPUS_H__ 00008 00009 #include "athena.hh" 00010 #include "pfeap.hh" 00011 #include "prometheus.hh" 00012 00013 #if defined(PROM_HAVE_SILO) 00014 #include <silo.h> 00015 #endif 00016 00017 class Prometheus_LinSysCore; 00018 00022 class Olympus 00023 { 00024 public: 00025 Olympus(const PromComm &comm, PromOptions &opts, PromPerfMonitor &perf, 00026 int argc = 0, char **args = NULL ); 00027 ~Olympus(); 00028 // methods 00029 int Go(); 00030 //int PostRun(); 00031 int SetUp(); 00032 int SetUpPrometheus(); 00033 int Run(); 00034 int Newton( const int ); 00035 // output 00036 int InitializeDB( const int nsteps, char *prestr = NULL )const; 00037 int StepDB( int step, const int nsteps, double time, char *prestr )const; 00038 int CreateMultiDB(const FEDataClient*const fe,int s,const int nsteps, 00039 double t,char *p)const; 00040 #if defined(PROM_HAVE_SILO) 00041 int CreateDB( DBfile **dbfile_out, int step, const int nsteps, 00042 double time, char *prestr ) const; 00043 int PutMesh(DBfile*, const FEDataClient *const, int, double)const; 00044 #endif 00045 int FinalizeDB( int nsteps, double dt, char *prestr=NULL )const; 00046 // data 00047 Prometheus_LinSysCore *linSys_; 00048 AthenaFeap *athena_; 00049 pFEAP *pfeap_; 00050 // standard data 00051 const PromComm &Comm_; 00052 PromOptions &options_; 00053 PromPerfMonitor &perf_mon_; 00054 }; 00055 00056 #endif // __OLYMPUS_H__

Generated on Fri May 21 14:17:53 2004 by doxygen 1.3.7