/home/runner/work/kynema/kynema/kynema/src/utilities/controllers/discon.cpp File Reference
Kynema API
A flexible multibody structural dynamics code for wind turbines
|
Loading...
Searching...
No Matches
discon.cpp File Reference
#include "discon.hpp"
#include <algorithm>
#include <array>
#include <cmath>
#include <cstring>
#include <fstream>
#include <iterator>
#include <ranges>
#include "controller_io.hpp"
Classes | |
struct | kynema::util::InternalState |
Namespaces | |
namespace | kynema |
namespace | kynema::util |
Functions | |
int | kynema::util::SetupFirstCall (const ControllerIO &swap, InternalState &state, char *const avcMSG) |
void | kynema::util::FilterGeneratorSpeed (const ControllerIO &swap, InternalState &state) |
void | kynema::util::VariableSpeedTorqueControl (ControllerIO &swap, InternalState &state) |
void | kynema::util::PitchControl (ControllerIO &swap, InternalState &state) |
int | kynema::util::ComputeControl (ControllerIO &swap, InternalState &state, char *const avcMSG) |
void | kynema::util::PackInternalStateToFile (const InternalState &state, const char *const accINFILE) |
void | kynema::util::UnpackInternalStateFromFile (const char *const accINFILE, InternalState &state) |
void | kynema::util::DISCON (float avrSWAP[], int *aviFAIL, const char *accINFILE, char *avcOUTNAME, char *avcMSG) |
This Bladed-style DLL controller is used to implement a variable-speed generator-torque controller and PI collective blade pitch controller for the NREL Offshore 5MW baseline wind turbine. This routine was originally written in Fortran by J. Jonkman of NREL/NWTC for use in the IEA Annex XXIII OC3 studies. | |
Variables | |
static constexpr double | kynema::util::kVS_CtInSp {70.16224} |
Transitional generator speed (HSS side) between regions 1 and 1 1/2, rad/s. | |
static constexpr double | kynema::util::kVS_DT {0.000125} |
Communication interval for torque controller, sec. | |
static constexpr double | kynema::util::kVS_MaxRat {15000.} |
Maximum torque rate (in absolute value) in torque controller, N-m/s. | |
static constexpr double | kynema::util::kVS_MaxTq {47402.91} |
Maximum generator torque in Region 3 (HSS side), N-m. | |
static constexpr double | kynema::util::kVS_Rgn2K {2.332287} |
Generator torque constant in Region 2 (HSS side), N-m/(rad/s)^2. | |
static constexpr double | kynema::util::kVS_Rgn2Sp {91.21091} |
Transitional generator speed (HSS side) between regions 1 1/2 and 2, rad/s. | |
static constexpr double | kynema::util::kVS_Rgn3MP {0.01745329} |
static constexpr double | kynema::util::kVS_RtGnSp {121.6805} |
Rated generator speed (HSS side), rad/s. | |
static constexpr double | kynema::util::kVS_RtPwr {5296610.0} |
Rated generator generator power in Region 3, Watts. | |
static constexpr double | kynema::util::kCornerFreq {1.570796} |
static constexpr double | kynema::util::kOnePlusEps {1.0 + 1.19e-07} |
A value slightly greater than unity in single precision. | |
static constexpr double | kynema::util::kPC_DT {0.000125} |
Communication interval for the pitch controller, sec. | |
static constexpr double | kynema::util::kPC_KI {0.008068634} |
Integral gain for pitch controller at rated pitch (zero), (-) | |
static constexpr double | kynema::util::kPC_KK {0.1099965} |
static constexpr double | kynema::util::kPC_KP {0.01882681} |
Proportional gain for pitch controller at rated pitch (zero), sec. | |
static constexpr double | kynema::util::kPC_MaxPit {1.570796} |
Maximum pitch setting in pitch controller, rad. | |
static constexpr double | kynema::util::kPC_MaxRat {0.1396263} |
Maximum pitch rate (in absolute value) in pitch controller, rad/s. | |
static constexpr double | kynema::util::kPC_MinPit {0.0} |
Minimum pitch setting in pitch controller, rad. | |
static constexpr double | kynema::util::kPC_RefSpd {122.9096} |
Desired (reference) HSS speed for pitch controller, rad/s. | |
static constexpr double | kynema::util::kVS_SlPc {10.0} |
Factor to convert radians to degrees. | |
Generated by