/home/runner/work/kynema/kynema/kynema/src/utilities/controllers/turbine_controller.hpp Source File

Kynema API: /home/runner/work/kynema/kynema/kynema/src/utilities/controllers/turbine_controller.hpp Source File
Kynema API
A flexible multibody structural dynamics code for wind turbines
Loading...
Searching...
No Matches
turbine_controller.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <functional>
4#include <string>
5
8
9namespace kynema::util {
10
14public:
17
24 std::string shared_lib_path, std::string controller_function_name,
25 std::string input_file_path, std::string output_file_path
26 );
27
28 // Method to call the controller function from the shared library
29 void CallController();
30
31private:
32 std::string input_file_path_; //< Path to the input file
33 std::string output_file_path_; //< Path to the output file
34 std::string shared_lib_path_; //< Path to shared library
35 std::string controller_function_name_; //< Name of the controller function in the shared library
36
37 util::dylib lib_; //< Handle to the shared library
38 std::function<void(float*, int*, const char* const, char* const, char* const)>
39 controller_function_; //< Function pointer to the controller function
40};
41
42} // namespace kynema::util
Definition turbine_controller.hpp:13
ControllerIO io
Pointer to structure mapping swap array -> named fields i.e. ControllerIO.
Definition turbine_controller.hpp:16
void CallController()
Definition turbine_controller.cpp:52
Definition dylib.hpp:62
C++ cross-platform wrapper around dynamic loading of shared libraries.
Definition aerodyn_inflow.hpp:15
Definition controller_io.hpp:11