COOLFluiD  Release kernel
COOLFluiD is a Collaborative Simulation Environment (CSE) focused on complex MultiPhysics simulations.
Action.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_Action_hpp
8 #define cf3_solver_Action_hpp
9 
10 #include "common/Action.hpp"
11 
12 #include "solver/LibSolver.hpp"
13 
14 namespace cf3 {
15 namespace common { template <typename T> struct ComponentIterator; }
16 namespace mesh { class Region; class Mesh; }
17 namespace physics { class PhysModel; }
18 namespace solver {
19 
20 class Solver;
21 class Time;
22 
24 
26 
27 public: // functions
28 
31  Action ( const std::string& name );
32 
34  virtual ~Action();
35 
37  static std::string type_name () { return "Action"; }
38 
40 
41 
44 
46  mesh::Mesh& mesh();
47 
49  physics::PhysModel& physical_model();
50 
52  const std::vector< Handle< mesh::Region > >& regions() const;
53 
55 
56 protected: // functions
57 
58  void config_regions();
59 
60 protected: // data
61 
68 
70  std::vector< Handle< mesh::Region > > m_loop_regions;
71 
73  virtual void on_regions_set();
74 
75 };
76 
78 
79 } // solver
80 } // cf3
81 
82 #endif // cf3_solver_Action_hpp
std::string name(ComponentWrapper &self)
Handle< physics::PhysModel > m_physical_model
physical model used by this action
Definition: Action.hpp:67
Safe pointer to an object. This is the supported method for referring to components.
Definition: Handle.hpp:39
std::vector< Handle< mesh::Region > > m_loop_regions
regions of the mesh to loop over
Definition: Action.hpp:70
#define solver_API
Definition: LibSolver.hpp:22
static std::string type_name()
Get the class name.
Definition: Action.hpp:37
Handle< mesh::Mesh > m_mesh
mesh where this action data resides
Definition: Action.hpp:65
Top-level namespace for coolfluid.
Definition: Action.cpp:18
Component that executes an action. Implementation of the IAction interface as a component, exposing the execute function as a signal.
Definition: Action.hpp:21
Handle< solver::Solver > m_solver
link back to the solver
Definition: Action.hpp:63
Send comments to:
COOLFluiD Web Admin