/home/runner/work/kynema/kynema/kynema/src/interfaces/components/controller_builder.hpp Source File

Kynema API: /home/runner/work/kynema/kynema/kynema/src/interfaces/components/controller_builder.hpp Source File
Kynema API
A flexible multibody structural dynamics code for wind turbines
Loading...
Searching...
No Matches
controller_builder.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <string>
4#include <string_view>
5
7
9
11public:
12 ControllerInput& Input() { return input; }
13
14 ControllerBuilder& SetLibraryPath(std::string_view lib_path) {
15 input.shared_lib_path = std::string(lib_path);
16 return *this;
17 }
18
19 ControllerBuilder& SetFunctionName(std::string_view func_name) {
20 input.function_name = std::string(func_name);
21 return *this;
22 }
23
24 ControllerBuilder& SetInputFilePath(std::string_view inp_file_path) {
25 input.input_file_path = std::string(inp_file_path);
26 return *this;
27 }
28
29 ControllerBuilder& SetControllerInput(std::string_view sim_name) {
30 input.simulation_name = std::string(sim_name);
31 return *this;
32 }
33
34 ControllerBuilder& EnableYawControl(bool enable = true) {
35 input.yaw_control_enabled = enable;
36 return *this;
37 }
38
39private:
40 ControllerInput input;
41};
42
43} // namespace kynema::interfaces::components
Definition controller_builder.hpp:10
ControllerBuilder & SetControllerInput(std::string_view sim_name)
Definition controller_builder.hpp:29
ControllerInput & Input()
Definition controller_builder.hpp:12
ControllerBuilder & EnableYawControl(bool enable=true)
Definition controller_builder.hpp:34
ControllerBuilder & SetLibraryPath(std::string_view lib_path)
Definition controller_builder.hpp:14
ControllerBuilder & SetInputFilePath(std::string_view inp_file_path)
Definition controller_builder.hpp:24
ControllerBuilder & SetFunctionName(std::string_view func_name)
Definition controller_builder.hpp:19
Definition aerodynamics.cpp:5
Configuration parameters for a DISCON-style turbine controller.
Definition controller_input.hpp:15
std::string simulation_name
Simulation name for controller.
Definition controller_input.hpp:19
std::string function_name
Controller function name (default: "DISCON")
Definition controller_input.hpp:17
std::string input_file_path
Path to controller input file.
Definition controller_input.hpp:18
std::string shared_lib_path
Path to controller shared library.
Definition controller_input.hpp:16
bool yaw_control_enabled
Flag to enable yaw control.
Definition controller_input.hpp:20