COOLFluiD  Release kernel
COOLFluiD is a Collaborative Simulation Environment (CSE) focused on complex MultiPhysics simulations.
SurfaceIntegral.hpp
Go to the documentation of this file.
1 // Copyright (C) 2010-2011 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_UFEM_SurfaceIntegral_hpp
8 #define cf3_UFEM_SurfaceIntegral_hpp
9 
10 #include "solver/History.hpp"
11 
14 
15 
16 #include "LibUFEM.hpp"
17 
18 namespace cf3 {
19  namespace math { namespace LSS { class System; } }
20  namespace mesh { class Region; }
21 namespace UFEM {
22 
27 {
28 public:
29 
32  SurfaceIntegral ( const std::string& name );
33 
34  virtual ~SurfaceIntegral();
35 
37  static std::string type_name () { return "SurfaceIntegral"; }
38 
40  void set_field(const std::string& variable_name, const std::string& tag);
41 
42  void signal_set_field(common::SignalArgs& args);
43  void signature_set_field(common::SignalArgs& args);
44 
45  virtual void execute();
46 
48  const RealVector& result()
49  {
50  return m_integral_value;
51  }
52 private:
54  void trigger_result();
55 
57  std::string m_variable_name;
58 
61 
64 };
65 
66 } // UFEM
67 } // cf3
68 
69 
70 #endif // cf3_UFEM_SurfaceIntegral_hpp
std::string name(ComponentWrapper &self)
Safe pointer to an object. This is the supported method for referring to components.
Definition: Handle.hpp:39
Class to encapsulate Proto actions.
Definition: ProtoAction.hpp:26
const RealVector & result()
Return the result.
Manages a set of maps.
Definition: SignalFrame.hpp:31
static std::string type_name()
Get the class name.
Eigen::Matrix< Real, Eigen::Dynamic, 1 > RealVector
Dynamic sized column vector.
Definition: MatrixTypes.hpp:25
Top-level namespace for coolfluid.
Definition: Action.cpp:18
std::string m_variable_name
Name of the variable to use.
#define UFEM_API
Definition: LibUFEMDemo.hpp:23
Handle< solver::History > m_history
RealVector m_integral_value
Storage for the value of the surface integral.
Send comments to:
COOLFluiD Web Admin