blob: ffc3746b407abf67f48bf0197267fcbfbff0435c [file] [log] [blame]
/*
* Driver.hh
*
* Created on: Jan 23, 2012
* Author: cferenba
*
* Copyright (c) 2012, Los Alamos National Security, LLC.
* All rights reserved.
* Use of this source code is governed by a BSD-style open-source
* license; see top-level LICENSE file for full license text.
*/
#ifndef DRIVER_HH_
#define DRIVER_HH_
#include <string>
// forward declarations
class InputFile;
class Mesh;
class Hydro;
class Driver {
public:
// children of this object
Mesh *mesh;
Hydro *hydro;
std::string probname; // problem name
double time; // simulation time
int cycle; // simulation cycle number
double tstop; // simulation stop time
int cstop; // simulation stop cycle
double dtmax; // maximum timestep size
double dtinit; // initial timestep size
double dtfac; // factor limiting timestep growth
int dtreport; // frequency for timestep reports
double dt; // current timestep
double dtlast; // previous timestep
std::string msgdt; // dt limiter message
std::string msgdtlast; // previous dt limiter message
Driver(const InputFile* inp, const std::string& pname);
~Driver();
void run();
void calcGlobalDt();
}; // class Driver
#endif /* DRIVER_HH_ */