COOLFluiD  Release kernel
COOLFluiD is a Collaborative Simulation Environment (CSE) focused on complex MultiPhysics simulations.
Solver.hpp
Go to the documentation of this file.
1 // Copyright (C) 2010-2013 von Karman Institute for Fluid Dynamics, Belgium
2 //
3 // This software is distributed under the terms of the
4 // GNU Lesser General Public License version 3 (LGPLv3).
5 // See doc/lgpl.txt and doc/gpl.txt for the license text.
6 
7 #ifndef cf3_solver_Solver_hpp
8 #define cf3_solver_Solver_hpp
9 
10 #include <boost/scoped_ptr.hpp>
11 
12 #include "common/Component.hpp"
14 
15 #include "solver/LibSolver.hpp"
16 
17 namespace cf3 {
18 
19 namespace mesh { class Domain; class Mesh; class FieldManager; }
20 namespace physics { class PhysModel; }
21 
22 namespace solver {
23 
25 
34 
35 public: // functions
36 
39  Solver ( const std::string& name );
40 
42  virtual ~Solver();
43 
45  static std::string type_name () { return "Solver"; }
46 
48  virtual void mesh_loaded(mesh::Mesh& mesh);
50  virtual void mesh_changed(mesh::Mesh& mesh);
51 
53  mesh::FieldManager& field_manager();
54 
55 protected:
56 
59 
62 
65 
66  void trigger_physical_model();
67 
68 private:
70  boost::scoped_ptr<Implementation> m_implementation;
71 };
72 
74 
75 } // solver
76 } // cf3
77 
78 #endif // cf3_solver_Solver_hpp
std::string name(ComponentWrapper &self)
#define solver_API
Definition: LibSolver.hpp:22
Handle< physics::PhysModel > m_physics
Raw access to the physics.
Definition: Solver.hpp:64
Holds the Component class, as well as the ComponentIterator class plus some functions related to comp...
static std::string type_name()
Get the class name.
Definition: Solver.hpp:45
boost::scoped_ptr< Implementation > m_implementation
Definition: Solver.hpp:69
Top-level namespace for coolfluid.
Definition: Action.cpp:18
Send comments to:
COOLFluiD Web Admin