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
Simulation.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 Simulation_h
10 #define Simulation_h
11 
12 #include <stk_util/diag/PrintTimer.hpp>
13 #include <stk_util/diag/Timer.hpp>
14 
15 namespace YAML {
16 class Node;
17 }
18 
19 namespace sierra{
20 namespace nalu{
21 
22 class LinearSolvers;
23 class TimeIntegrator;
24 class Realms;
25 class Transfers;
26 class UnitTests;
27 
28 class Simulation {
29 public:
30  Simulation(const YAML::Node& root_node);
31 
32  ~Simulation();
33 
34  void load(const YAML::Node & node);
35  void breadboard();
36  void initialize();
37  void run();
38  void high_level_banner();
39  Simulation *root() { return this; }
40  Simulation *parent() { return 0; }
41  bool debug() { return debug_; }
42  bool debug() const { return debug_; }
43  void setSerializedIOGroupSize(int siogs);
44  static stk::diag::TimerSet &rootTimerSet();
45  static stk::diag::Timer &rootTimer();
46  static stk::diag::Timer &outputTimer();
47 
53 
55 
56  static bool debug_;
59 };
60 
61 } // namespace nalu
62 } // namespace Sierra
63 
64 #endif
65 
Definition: TimeIntegrator.h:26
Definition: Simulation.h:28
Definition: ABLForcingAlgorithm.C:26
void initialize(int N, aligned_vector &x, aligned_vector &y)
Definition: UnitTestSimdBasic.C:37
LinearSolvers * linearSolvers_
Definition: Simulation.h:52
UnitTests * unitTests_
Definition: Simulation.h:54
static bool debug_
Definition: Simulation.h:56
Transfers * transfers_
Definition: Simulation.h:51
Realms * realms_
Definition: Simulation.h:50
Simulation * root()
Definition: Simulation.h:39
int serializedIOGroupSize_
Definition: Simulation.h:58
bool debug()
Definition: Simulation.h:41
Definition: NaluParsing.C:400
const YAML::Node & m_root_node
Definition: Simulation.h:48
bool runOnlyUnitTests_
Definition: Simulation.h:57
bool debug() const
Definition: Simulation.h:42
TimeIntegrator * timeIntegrator_
Definition: Simulation.h:49
Definition: Realms.h:35
Tpetra::Map< LocalOrdinal, GlobalOrdinal >::node_type Node
Definition: LinearSolver.h:32
Definition: LinearSolvers.h:28
Definition: Transfers.h:31
Simulation * parent()
Definition: Simulation.h:40
Definition: UnitTests.h:17