olympus.hh
00001
00002
00003
00004
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
00029
int Go();
00030
00031
int SetUp();
00032
int SetUpPrometheus();
00033
int Run();
00034
int Newton(
const int );
00035
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
00047
Prometheus_LinSysCore *linSys_;
00048 AthenaFeap *athena_;
00049
pFEAP *pfeap_;
00050
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
1.3.7