-
Notifications
You must be signed in to change notification settings - Fork 92
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fixed-Pitch Torque Control in Region 3 #347
Open
dstockhouse
wants to merge
183
commits into
NREL:develop
Choose a base branch
from
dstockhouse:r3-fixed-pitch
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 158 commits
Commits
Show all changes
183 commits
Select commit
Hold shift + click to select a range
ae7b267
Update example 05 units
dzalkind 778822b
Add generator efficiency to power output of simple simulation
dzalkind 86c8acf
Update Windows install instructions
dzalkind b933b3b
Add rotor speed tracking, test case
dzalkind 34ca985
Update discons
dzalkind 2efac84
Adding pitch actuator fault (#163)
mayankchetan decd694
Various Bug Fixes (#167)
dzalkind 9384f03
Added feature to read AeroDyn 14 files also for the case without towe…
verlivkra 602332e
Various Bug Fixes (#188)
dzalkind 827b281
Update sim.py (#196)
aclerc 5ad1d41
Doc fix (#200)
dzalkind 9d27a33
OpenFAST v3.3.0 (#202)
dzalkind 75a648c
AWC First Version, collected changes
ndevelder 05d7b3b
Compatibility with Numpy v1.24 (#208)
gbarter f5428de
Merge remote-tracking branch 'upstream/develop' into rosco_awc_merge
dzalkind 0be88d4
Add AWC parameters to registry, regenerate types
dzalkind 1e80263
Apply DbKi to COMPLEX
dzalkind 0575d75
Re-organize AWC pitch contribution, before actuator
dzalkind 974e271
Separate contribution to PitCom from mode calculation
dzalkind 515da17
Make AWC_complexangle a LocalVar for logging
dzalkind be28641
Allow PA_Mode 1 (#213)
dzalkind e554c1d
IPC Saturation Fix [RAAW] (#210)
dzalkind c51ed30
Removed duplicate pitch assignment and removed MinPitch mods for AWC
ndevelder 3155b63
Add script for updating DISCON versions (#214)
dzalkind 0c0e466
Fixes to readsetparams and awc location
ndevelder 20c9c9d
Adding NREL 2.8 127 for AWC testing
ndevelder a1cf97b
Rename examples (#215)
dzalkind 42525a9
V270 prep (#218)
dzalkind f5c3c1e
Add case generation updates
dzalkind a471783
Add initial AWC example, needs OF3.4
dzalkind 2f941e3
Merge remote-tracking branch 'upstream/main' into develop
dzalkind d05ef6c
Merge branch 'develop' into rosco_awc_merge
dzalkind 80bd691
Add AWC_Mode and move AWC into subroutine
dzalkind b102b34
Update example to point to correct inputs
dzalkind 5c5333b
Remove LocalVar%PC_MinPit = CntrPar%PC_MinPit, breaking setpoint smoo…
dzalkind da46fac
Set min pitch for AWC
dzalkind cc4080d
Tidy up input additions
dzalkind 1201a66
Update other DISCONs
dzalkind 1693602
Add AWC to toolbox schema
dzalkind 2bb0176
Tidy example
dzalkind d93d443
Update AWC example with instructions/theory
ndevelder 3c40565
Formatting fixes
ndevelder 83022e5
Prep for more modes
dzalkind a7d3303
Merge remote-tracking branch 'upstream/main' into develop
dzalkind f6d061f
Update 20_active_wake_control.py
kbrown1snl 1824f99
Fix units in schema
dzalkind cabbb2a
Merge pull request #1 from kbrown1snl/patch-1
ndevelder de16ecd
Test all AWC cases in example 20
dzalkind de3a6fe
Tidy up DISCON file writing
dzalkind 87b3f09
Revert setup directory
dzalkind 46e7168
Update 20_active_wake_control.py
kbrown1snl 32dc9fd
Update NREL-2p8-127_DISCON.IN
kbrown1snl ae5090b
Update Controllers.f90
kbrown1snl 5c878ad
Update ROSCO_Types.f90
kbrown1snl baaa8db
Update ReadSetParameters.f90
kbrown1snl b141c4e
Update 20_active_wake_control.py
kbrown1snl 826ca01
Update toolbox_schema.yaml
kbrown1snl 797e554
Update utilities.py
kbrown1snl ff0ce39
Update rosco_types.yaml
kbrown1snl 3bc2185
Added NREL-developed AWC-implementation
jfrederik-nrel 687b760
Undo unintentional changes to wrie_registry.py
jfrederik-nrel 70d5771
Fix file writing in AWC section
dzalkind b24f07b
Merge remote-tracking branch 'upstream/develop' into awc
dzalkind a9ec14e
Update all DISCONs
dzalkind 4604ebb
Add 20_awc to test_examples
dzalkind b17f350
Add 2.8 to update_discons, regenerate DISCON
dzalkind b2fdfbc
Update AWC_Mode descriptions
dzalkind e899600
Updated Coleman Transformation based AWC
jfrederik-nrel 1ccc1b3
Platform control and Optional Inputs (#227)
dzalkind 87cde8c
Merge remote-tracking branch 'upstream/develop' into awc
dzalkind 8ea0a4c
Merge remote-tracking branch 'jfred/AWC_NREL' into awc
dzalkind daf77e9
Merge remote-tracking branch 'ndev/rosco_awc_merge' into awc
dzalkind ca7c44d
Tidy print statements, file writing
dzalkind 4e2a778
Remove duplicate PF_Offsets input read
dzalkind 74c7fcb
Rename methods in readme
dzalkind e4d7ec2
Tidy input writing, remove `future` references
dzalkind 4194da4
Force AWC_n into int
dzalkind c1e4be7
Force AWC_n into int better
dzalkind 5e75601
Make AWC_n a list, too
dzalkind de8d228
Fix input file writing, force into int in write_array
dzalkind e1379de
Run ROSCO_testing from anywhere
dzalkind 2947b4f
Dylib -> so in Test_Cases
dzalkind cae3f17
Updated AWC input parameters.
jfrederik-nrel bd4d7d5
Added checks for AWC inputs.
jfrederik-nrel 1e25c88
Fixed bug in added AWC input checks.
jfrederik-nrel 50f4191
Update error message
dzalkind 50bd08c
Tidy up IPC, allow AWC and IPC with warning
dzalkind e02379d
Remove AWC references from IPC
dzalkind 3851a6b
Remove lingering comment
dzalkind 9d7e18d
Tidy file writing
dzalkind 7f12c9c
Clean up comments
dzalkind 8e4cf8b
Allow more than 99 local variables in dbg2
dzalkind bc33417
Update api_change.rst
jfrederik-nrel 17ce1a5
Merge remote-tracking branch 'jfred/patch-1' into awc
dzalkind 728c61d
Update 20_active_wake_control.py
kbrown1snl 820aa66
Merge pull request #2 from kbrown1snl/patch-2
dzalkind 90c4041
Add optimized NREL2p8 controller input
dzalkind 5afb385
Parallelize output processing
dzalkind fbb44c4
Add IPC gain to NREL2p8
dzalkind fe24704
Merge remote-tracking branch 'upstream/develop' into power_ref_tracking
dzalkind 52e3708
Finish merge with inputs and registry
dzalkind 1e38c90
Update IPC example for testing sat modes
dzalkind e49f383
Add latest plot_FAST notebook
dzalkind 9e5fd58
Add PRC example
dzalkind f1037ec
Merge remote-tracking branch 'origin/awc' into power_ref_tracking
dzalkind 099532b
Finish merge with awc inputs and registry
dzalkind 5a7046f
Active Wake Control (#230)
dzalkind 8a39f3c
Update example with ramp, reference
dzalkind 7669419
Merge remote-tracking branch 'upstream/develop' into power_ref_tracking
dzalkind de15e52
Various bug fixes (#233)
dzalkind ac14b17
Init PC_RefSpeed if no PRC
dzalkind 60b366d
Revert openfast changes
dzalkind 24bded0
Add note about offset
dzalkind 585e2c8
Open loop platform control (#236)
dzalkind 339ad53
Tidy example output
dzalkind 79426f7
Increment version number
dzalkind 90357a2
Merge remote-tracking branch 'upstream/develop' into power_ref_tracking
dzalkind 12f8fdb
Merge remote-tracking branch 'upstream/main' into develop
dzalkind 5fd97e2
Increment version number
dzalkind e5b1af5
Yaw Rate Bug Fix (#239)
dzalkind c701f67
OpenFAST 3.5.0 (#246)
dzalkind 2f069da
Floating Feedback Gain Scheduling (#241)
alandwright 9de385b
Merge remote-tracking branch 'upstream/develop' into power_ref_tracking
dzalkind d9547dd
Fix relative Cp filepaths
dzalkind 178217b
Regenerate registry, inputs
dzalkind c641b54
Rotor Position Control (#255)
dzalkind 31332d9
Update .readthedocs.yaml to remove use of 'system_packages' as it is …
abhineet-gupta 63bcb0d
Extend ROSCO for MHK (#257)
AthulKrishnaSundarrajan 716b2e4
Merge remote-tracking branch 'upstream/develop' into power_ref_tracking
dzalkind b27629b
Rename power ref example
dzalkind ea55560
Shorten PRC example
dzalkind b5eb5c0
Use updated DISCON writing functions for PRC inputs
dzalkind 24052dc
Revert run_FAST cases
dzalkind 3092e38
Tidy example documentation, output
dzalkind b817a5c
Bring back new VS_ControlMode that merge lost
dzalkind 38f27de
Add LPF on WSE for speed selection, use gen speed rather than rotor
dzalkind d9a31fb
Document API changes
dzalkind 32292e5
Bring back saturation of torque reference speed
dzalkind 3b0bde0
Update PRC example with PRC_GenSpeeds
dzalkind e75baa2
Remove pCrunch notebook
dzalkind 989ce5b
Merge pull request #170 from dzalkind/power_ref_tracking
abhineet-gupta 2c76747
Increase max file unit (#253)
dzalkind b66cd11
Add types to scalars (#264)
rthedin 0e80094
Update api_change.rst formatting
dzalkind f2a624d
Update .readthedocs.yaml with build.os
dzalkind 6f1ccfa
Update .readthedocs.yaml with other build options
dzalkind 80973fe
Update .readthedocs.yaml with python 3.9
dzalkind 04d3f52
Update .readthedocs.yaml with new python version
dzalkind c479034
Update .readthedocs.yaml with another python version
dzalkind 328d29e
Update .readthedocs.yaml with version key
dzalkind 8693d4b
Update .readthedocs.yaml
dzalkind dd01047
Update .readthedocs.yaml remove old python version
dzalkind a610e55
Better Open Loop Control Error Catching (#273)
dzalkind c75738e
Modified ZeroMQ interface to include pitch offsets (#261)
mvanv 1961f95
Merged upstream/develop
0ddbf0d
Merge remote-tracking branch 'upstream/develop' into develop
f846f17
Initial implementation of fixed blade pitch control for MHK turbines.…
748d975
Remove extra test_cases
dzalkind 2787ff9
Expanded test script and made cc-blade Cp surface generation extend t…
c15e869
Merged and regenerated rotor performance in the right place
32ecfc8
updated DISCONs
8c57a31
Remove extra RefSpd localvars
dzalkind 4c1202c
Merge remote-tracking branch 'ds/r3-fixed-pitch' into r3-fixed-pitch
dzalkind de4f6a7
Added overspeed config option and expanded Cp surface again
ae07303
Add constants for various VS_Control modes
dzalkind 2df9e54
Regen registry
dzalkind 8eab998
Cleaned up fixed pitch example script
38e28cf
Merge remote-tracking branch 'ds/r3-fixed-pitch' into r3-fixed-pitch
dzalkind 1008cc6
Added comments to fixed pitch controller tuning, rearranged torque co…
25001e0
Finished renaming FBP variables and VS ref speed filter
822b731
Regenerated DISCONs
e639706
Merge remote-tracking branch 'ds/r3-fixed-pitch' into r3-fixed-pitch
dzalkind 7726f0d
Disable the pitch controller at the DISCON level
dzalkind 01121e2
Working on overspeed operating schedule, still not yet giving stable …
be58bbb
Merge branch 'r3-fixed-pitch' of https://github.com/dstockhouse/ROSCO…
102286d
Considerable cahnges to fixed-blade-pitch (FBP) operation for marine …
ead419d
Merge remote-tracking branch 'upstream/develop' into develop
f0debea
Merged branch upstream/develop
6216972
Fixed bug in FBP control with VS_RefSpd turning to NaN if GenTq ever …
ce1b0eb
Revised usage of generator and gearbox efficiencies in toolbox contro…
44703b6
Modified comments related to GBoxEff in rng2K calculation
d77ba20
Restructured some controller code related to saturation, attempted to…
6d79062
Added more precise calculation of Cp-optimizing pitch and updated the…
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,139 @@ | ||
''' | ||
----------- 26_marine_hydro ------------------------ | ||
Run openfast with ROSCO and a MHK turbine | ||
----------------------------------------------- | ||
|
||
|
||
''' | ||
|
||
import os | ||
from rosco.toolbox.ofTools.case_gen.run_FAST import run_FAST_ROSCO | ||
from rosco.toolbox.ofTools.case_gen import CaseLibrary as cl | ||
from rosco.toolbox.ofTools.fast_io import output_processing | ||
from rosco.toolbox import controller as ROSCO_controller | ||
from rosco.toolbox import turbine as ROSCO_turbine | ||
from rosco.toolbox.utilities import write_DISCON | ||
from rosco.toolbox.inputs.validation import load_rosco_yaml | ||
import matplotlib.pyplot as plt | ||
|
||
''' | ||
Run MHK turbine in OpenFAST with ROSCO torque controller | ||
|
||
|
||
''' | ||
|
||
|
||
#directories | ||
this_dir = os.path.dirname(os.path.abspath(__file__)) | ||
rosco_dir = os.path.dirname(this_dir) | ||
example_out_dir = os.path.join(this_dir,'examples_out') | ||
os.makedirs(example_out_dir,exist_ok=True) | ||
|
||
def main(): | ||
|
||
# Input yaml and output directory | ||
parameter_filename = os.path.join(this_dir,'Tune_Cases/RM1_MHK_FBP.yaml') | ||
run_dir = os.path.join(example_out_dir,'29_MHK/0_baseline') | ||
os.makedirs(run_dir,exist_ok=True) | ||
|
||
inps = load_rosco_yaml(parameter_filename) | ||
path_params = inps['path_params'] | ||
turbine_params = inps['turbine_params'] | ||
controller_params = inps['controller_params'] | ||
|
||
# Instantiate turbine, controller, and file processing classes | ||
turbine = ROSCO_turbine.Turbine(turbine_params) | ||
controller = ROSCO_controller.Controller(controller_params) | ||
|
||
# Load turbine data from OpenFAST and rotor performance text file | ||
cp_filename = os.path.join(this_dir,path_params['rotor_performance_filename']) | ||
turbine.load_from_fast( | ||
path_params['FAST_InputFile'], | ||
os.path.join(this_dir,path_params['FAST_directory']), | ||
rot_source='txt',txt_filename= cp_filename | ||
) | ||
|
||
# Tune controller | ||
controller.tune_controller(turbine) | ||
|
||
# Write parameter input file | ||
param_file = os.path.join(run_dir,'DISCON.IN') | ||
write_DISCON(turbine, | ||
controller, | ||
param_file=param_file, | ||
txt_filename=cp_filename | ||
) | ||
|
||
# # Plot operating schedule | ||
# fig, ax = plt.subplots(2,2,constrained_layout=True,sharex=True) | ||
# ax = ax.flatten() | ||
# ax[0].plot(controller.v[len(controller.v_below_rated)+1:], controller.omega_pc_U) | ||
# ax[0].set_ylabel('omega_pc') | ||
|
||
# ax[1].plot(controller.v[len(controller.v_below_rated)+1:], controller.zeta_pc_U) | ||
# ax[1].set_ylabel('zeta_pc') | ||
|
||
# ax[2].plot(controller.v[len(controller.v_below_rated)+1:], controller.pc_gain_schedule.Kp) | ||
# ax[2].set_xlabel('Wind Speed') | ||
# ax[2].set_ylabel('Proportional Gain') | ||
|
||
# ax[3].plot(controller.v[len(controller.v_below_rated)+1:], controller.pc_gain_schedule.Ki) | ||
# ax[3].set_xlabel('Wind Speed') | ||
# ax[3].set_ylabel('Integral Gain') | ||
|
||
# plt.suptitle('Pitch Controller Gains') | ||
|
||
|
||
# simulation set up | ||
r = run_FAST_ROSCO() | ||
r.tuning_yaml = parameter_filename | ||
# r.wind_case_fcn = cl.simp_step # single step wind input | ||
r.wind_case_fcn = cl.power_curve | ||
r.wind_case_opts = { | ||
'U': [3.5], | ||
'TMax': 100.0, | ||
} | ||
r.case_inputs = {} | ||
# r.fst_vt = reader.fst_vt | ||
# r.controller_params = controller_params | ||
r.save_dir = run_dir | ||
r.rosco_dir = rosco_dir | ||
|
||
r.run_FAST() | ||
|
||
op = output_processing.output_processing() | ||
fast_out = op.load_fast_out([os.path.join(run_dir,'RM1_MHK_FBP/power_curve/base/RM1_MHK_FBP_0.out')], tmin=0) | ||
fig, axs = plt.subplots(4,1) | ||
axs[0].plot(fast_out[0]['Time'],fast_out[0]['Wind1VelX'],label='Flow Speed') | ||
axs[1].plot(fast_out[0]['Time'],fast_out[0]['GenSpeed'],label='Gen Speed') | ||
axs[2].plot(fast_out[0]['Time'],fast_out[0]['GenTq'],label='Gen Torque') | ||
axs[3].plot(fast_out[0]['Time'],fast_out[0]['GenPwr'],label='Gen Power') | ||
|
||
|
||
# op = output_processing.output_processing() | ||
# op2 = output_processing.output_processing() | ||
|
||
# md_out = op.load_fast_out([os.path.join(run_dir,'IEA15MW_cable/power_curve/base/IEA15MW_cable_0.MD.Line1.out')], tmin=0) | ||
# local_vars = op2.load_fast_out([os.path.join(run_dir,'IEA15MW_cable/power_curve/base/IEA15MW_cable_0.RO.dbg2')], tmin=0) | ||
|
||
# fig, axs = plt.subplots(4,1) | ||
# axs[0].plot(local_vars[0]['Time'],local_vars[0]['CC_DesiredL'],label='CC_DesiredL') | ||
# axs[1].plot(local_vars[0]['Time'],local_vars[0]['CC_ActuatedL'],label='CC_ActuatedL') | ||
# axs[2].plot(local_vars[0]['Time'],local_vars[0]['CC_ActuatedDL'],label='CC_ActuatedDL') | ||
# axs[3].plot(md_out[0]['Time'],md_out[0]['Seg20Lst'],label='Seg20Lst') | ||
|
||
# [a.legend() for a in axs] | ||
# [a.grid() for a in axs] | ||
|
||
# if False: | ||
# plt.show() | ||
# else: | ||
# plt.savefig(os.path.join(example_out_dir,'22_cable_control.png')) | ||
|
||
# # Check that the last segment of line 1 shrinks by 10 m | ||
# # np.testing.assert_almost_equal(md_out[0]['Seg20Lst'][-1] - md_out[0]['Seg20Lst'][0], line_ends[0], 2) | ||
|
||
|
||
|
||
if __name__=="__main__": | ||
main() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
--- # ---------------------NREL Generic controller tuning input file ------------------- | ||
# Written for use with ROSCO_Toolbox tuning procedures | ||
# Turbine: RM1 Marine Turbine | ||
# ------------------------------ OpenFAST PATH DEFINITIONS ------------------------------ | ||
path_params: | ||
FAST_InputFile: 'MHK_RM1_Floating.fst' # Name of *.fst file | ||
FAST_directory: '../Test_Cases/MHK_RM1' # Main OpenFAST model directory, where the *.fst lives | ||
# Optional | ||
rotor_performance_filename: '../Test_Cases/MHK_RM1/MHK_RM1_Cp_Ct_Cq.txt' # Filename for rotor performance text file (if it has been generated by ccblade already) | ||
|
||
# -------------------------------- TURBINE PARAMETERS ----------------------------------- | ||
turbine_params: | ||
rotor_inertia: 92169 # Rotor inertia [kg m^2], {Available in Elastodyn .sum file} | ||
rated_rotor_speed: 1.204 # 11.5 rpm # Rated rotor speed [rad/s] | ||
v_min: 0.5 # Cut-in wind speed [m/s] | ||
v_rated: 2.0 # Rated wind speed [m/s] | ||
v_max: 4.0 # Cut-out wind speed [m/s], -- Does not need to be exact (JUST ASSUME FOR NOW) | ||
max_pitch_rate: 0.1745 # Maximum blade pitch rate [rad/s] | ||
max_torque_rate: 1500000. # Maximum torque rate [Nm/s], {~1/4 VS_RtTq/s} | ||
rated_power: 500000 # Rated Power [W] | ||
bld_edgewise_freq: 60.2831853 # Blade edgewise first natural frequency [rad/s] | ||
bld_flapwise_freq: 0.0 # Blade flapwise first natural frequency [rad/s] | ||
reynolds_ref: 8e6 | ||
# Optional | ||
# TSR_operational: # None # Desired below-rated operational tip speed ratio (Cp-maximizing TSR is used if not defined) | ||
#------------------------------- CONTROLLER PARAMETERS ---------------------------------- | ||
controller_params: | ||
# Controller flags | ||
LoggingLevel: 2 # {0: write no debug files, 1: write standard output .dbg-file, 2: write standard output .dbg-file and complete avrSWAP-array .dbg2-file | ||
F_LPFType: 1 # {1: first-order low-pass filter, 2: second-order low-pass filter}, [rad/s] (currently filters generator speed and pitch control signals) | ||
F_NotchType: 1 # Notch filter on generator speed and/or tower fore-aft motion (for floating) {0: disable, 1: generator speed, 2: tower-top fore-aft motion, 3: generator speed and tower-top fore-aft motion} | ||
IPC_ControlMode: 0 # Turn Individual Pitch Control (IPC) for fatigue load reductions (pitch contribution) {0: off, 1: 1P reductions, 2: 1P+2P reductions} | ||
VS_ControlMode: 4 # Generator torque control mode in above rated conditions {0: constant torque, 1: constant power, 2: TSR tracking PI control} | ||
VS_ConstPower: 0 # Generator torque control mode in above rated conditions {0: constant torque, 1: constant power, 2: TSR tracking PI control} | ||
PC_ControlMode: 0 # Blade pitch control mode {0: No pitch, fix to fine pitch, 1: active PI blade pitch control} | ||
Y_ControlMode: 0 # Yaw control mode {0: no yaw control, 1: yaw rate control, 2: yaw-by-IPC} | ||
SS_Mode: 1 # Setpoint Smoother mode {0: no setpoint smoothing, 1: introduce setpoint smoothing} | ||
WE_Mode: 0 # Wind speed estimator mode {0: One-second low pass filtered hub height wind speed, 1: Immersion and Invariance Estimator (Ortega et al.)} | ||
PS_Mode: 0 # Pitch saturation mode {0: no pitch saturation, 1: peak shaving, 2: Cp-maximizing pitch saturation, 3: peak shaving and Cp-maximizing pitch saturation} | ||
SD_Mode: 0 # Shutdown mode {0: no shutdown procedure, 1: pitch to max pitch at shutdown} | ||
Fl_Mode: 1 # Floating specific feedback mode {0: no nacelle velocity feedback, 1: nacelle velocity feedback} | ||
Flp_Mode: 0 # Flap control mode {0: no flap control, 1: steady state flap angle, 2: Proportional flap control} | ||
# Controller parameters | ||
U_pc: [2.3,2.5] | ||
interp_type: sigma | ||
zeta_pc: [0.7,0.7] # Pitch controller desired damping ratio [-] | ||
omega_pc: [0.9,0.9] # Pitch controller desired natural frequency [rad/s] | ||
zeta_vs: 1.0 # Torque controller desired damping ratio [-] | ||
omega_vs: 0.8 # Torque controller desired natural frequency [rad/s] | ||
twr_freq: 3.3404 # Tower natural frequency [rad/s] # 0.4499 (old value) 3.3404(new value) | ||
# twr_freq: 0.061009 # 2P | ||
ptfm_freq: 0.6613 # Platform natural frequency [rad/s] (OC4Hywind Parameters, here) 0.2325 (old value) 0.6613879263 (new value) | ||
# Optional | ||
ps_percent: 0.80 # Percent peak shaving [%, <= 1 ], {default = 80%} | ||
sd_maxpit: 0.4363 # Maximum blade pitch angle to initiate shutdown [rad], {default = bld pitch at v_max} | ||
Kp_float: -0.3897 | ||
max_torque_factor: 5 | ||
FBP_ref_mode: 1 | ||
FBP_P_mode: 0 | ||
FBP_U: [2.0, 4.0] | ||
FBP_P: [1.0, 1.0] | ||
DISCON: | ||
F_NumNotchFilts: 0 | ||
F_NotchFreqs: [1.0, 2.4200] # 2P | ||
F_NotchBetaNum: [0.0, 0.0] | ||
F_NotchBetaDen: [0.25, 0.25] | ||
F_GenSpdNotch_N: 0 | ||
F_GenSpdNotch_Ind: [1,2] | ||
F_TwrTopNotch_N: 0 | ||
F_TwrTopNotch_Ind: [1,2] | ||
F_NotchCornerFreq_GS: [2.42] | ||
F_FlHighPassFreq: 1.5 | ||
VS_PwrFiltF: 0.05 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's happening with these commented pieces of code?