Nalu
Nalu: a generalized unstructured massively parallel low Mach flow code designed to support a variety of energy applications of interest (most notably Wind ECP) built on the Sierra Toolkit and Trilinos solver Tpetra/Epetra stack. The open source BSD, clause 3 license model has been chosen for the code base. See LICENSE for more information. http://NaluCFD.org
AlgorithmDriver.h
Go to the documentation of this file.
1 /*------------------------------------------------------------------------*/
2 /* Copyright 2014 Sandia Corporation. */
3 /* This software is released under the license detailed */
4 /* in the file, LICENSE, which is located in the top-level Nalu */
5 /* directory structure */
6 /*------------------------------------------------------------------------*/
7 
8 
9 #ifndef AlgorithmDriver_h
10 #define AlgorithmDriver_h
11 
12 #include<Enums.h>
13 
14 #include<map>
15 
16 namespace sierra{
17 namespace nalu{
18 
19 class Realm;
20 class Algorithm;
21 
23 {
24 public:
25 
27  Realm &realm);
28  virtual ~AlgorithmDriver();
29 
30  virtual void pre_work(){};
31  virtual void execute();
32  virtual void post_work(){};
33 
34  Realm &realm_;
35  std::map<AlgorithmType, Algorithm *> algMap_;
36 };
37 
38 } // namespace nalu
39 } // namespace Sierra
40 
41 #endif
Definition: ABLForcingAlgorithm.C:26
virtual void execute()
Definition: AlgorithmDriver.C:50
virtual void pre_work()
Definition: AlgorithmDriver.h:30
AlgorithmDriver(Realm &realm)
Definition: AlgorithmDriver.C:27
Realm & realm_
Definition: AlgorithmDriver.h:32
virtual ~AlgorithmDriver()
Definition: AlgorithmDriver.C:37
Definition: AlgorithmDriver.h:22
Definition: Realm.h:82
std::map< AlgorithmType, Algorithm * > algMap_
Definition: AlgorithmDriver.h:35
virtual void post_work()
Definition: AlgorithmDriver.h:32