Closed caroledaniel closed 3 years ago
@jjonkman @NRELAdmin
Dear @caroledaniel,
The linearization capability for offshore wind turbines was not available in FAST v8. This was added recently in OpenFAST--see: https://github.com/OpenFAST/openfast/pull/350.
There have been many discussions regarding how to perform a linearization analysis on our forum--search for similar questions here: https://wind.nrel.gov/forum/wind/.
Best regards,
Dear @jjonkman , sorry but i meant the onshore 5MW , Test 26
Dear @caroledaniel,
Test26 is a model of the NREL 5-MW turbine with a BeamDyn representation of the blade structural dynamics. Linearization with BeamDyn was not available in FAST v8, but introduced in OpenFAST a while ago. You said you are using FAST v8, but are you actually using some version of OpenFAST?
Best regards,
No, i'm using only v8. i was capable of linearizing the model in region 3 but it failed in region2
i'm using 2 DOF : DrTrDOF GenDOF. my target is to have torque controller in region 2 for a variable speed wind turbine
So, you have not enabled BeamDyn? What do you mean by "failed"?
this is my input file for test 26
------- FAST v8.16.* INPUT FILE ------------------------------------------------
FAST Certification Test #26: NREL 5.0 MW Baseline Wind Turbine (Onshore)
---------------------- SIMULATION CONTROL --------------------------------------
False Echo - Echo input data to
This is ServoDyn:
------- SERVODYN v1.05.* INPUT FILE -------------------------------------------- NREL 5.0 MW Baseline Wind Turbine for Use in Offshore Analysis. Properties from Dutch Offshore Wind Energy Converter (DOWEC) 6MW Pre-Design (10046_009.pdf) and REpower
5M 5MW (5m_uk.pdf)
---------------------- SIMULATION CONTROL --------------------------------------
False Echo - Echo input data to
style DLL} (switch) 0 TPCOn - Time to enable active pitch control (s) [unused when PCMode=0] 9999.9 TPitManS(1) - Time to start override pitch maneuver for blade 1 and end standard pitch control (s) 9999.9 TPitManS(2) - Time to start override pitch maneuver for blade 2 and end standard pitch control (s) 9999.9 TPitManS(3) - Time to start override pitch maneuver for blade 3 and end standard pitch control (s) [unused for 2 blades] 2 PitManRat(1) - Pitch rate at which override pitch maneuver heads toward final pitch angle for blade 1 (deg/s) 2 PitManRat(2) - Pitch rate at which override pitch maneuver heads toward final pitch angle for blade 2 (deg/s) 2 PitManRat(3) - Pitch rate at which override pitch maneuver heads toward final pitch angle for blade 3 (deg/s) [unused for 2 blades] 0 BlPitchF(1) - Blade 1 final pitch for pitch maneuvers (degrees) 0 BlPitchF(2) - Blade 2 final pitch for pitch maneuvers (degrees) 0 BlPitchF(3) - Blade 3 final pitch for pitch maneuvers (degrees) [unused for 2 blades] ---------------------- GENERATOR AND TORQUE CONTROL ---------------------------- 1 VSContrl - Variable-speed control mode {0: none, 1: simple VS, 3: user-defined from routine UserVSCont, 4: user-defined from Simulink/Labview, 5: user-
defined from Bladed-style DLL} (switch) 1 GenModel - Generator model {1: simple, 2: Thevenin, 3: user-defined from routine UserGen} (switch) [used only when VSContrl=0] 94.4 GenEff - Generator efficiency [ignored by the Thevenin and user-defined generator models] (%) True GenTiStr - Method to start the generator {T: timed using TimGenOn, F: generator speed using SpdGenOn} (flag) True GenTiStp - Method to stop the generator {T: timed using TimGenOf, F: when generator power = 0} (flag) 9999.9 SpdGenOn - Generator speed to turn on the generator for a startup (HSS speed) (rpm) [used only when GenTiStr=False] 0 TimGenOn - Time to turn on the generator for a startup (s) [used only when GenTiStr=True] 9999.9 TimGenOf - Time to turn off the generator (s) [used only when GenTiStp=True] ---------------------- SIMPLE VARIABLE-SPEED TORQUE CONTROL -------------------- 9999.9 VS_RtGnSp - Rated generator speed for simple variable-speed generator control (HSS side) (rpm) [used only when VSContrl=1] 9999.9 VS_RtTq - Rated generator torque/constant generator torque in Region 3 for simple variable-speed generator control (HSS side) (N-m) [used only when
VSContrl=1] 9999.9 VS_Rgn2K - Generator torque constant in Region 2 for simple variable-speed generator control (HSS side) (N-m/rpm^2) [used only when VSContrl=1] 9999.9 VS_SlPc - Rated generator slip percentage in Region 2 1/2 for simple variable-speed generator control (%) [used only when VSContrl=1] ---------------------- SIMPLE INDUCTION GENERATOR ------------------------------ 9999.9 SIG_SlPc - Rated generator slip percentage (%) [used only when VSContrl=0 and GenModel=1] 9999.9 SIG_SySp - Synchronous (zero-torque) generator speed (rpm) [used only when VSContrl=0 and GenModel=1] 9999.9 SIG_RtTq - Rated torque (N-m) [used only when VSContrl=0 and GenModel=1] 9999.9 SIG_PORt - Pull-out ratio (Tpullout/Trated) (-) [used only when VSContrl=0 and GenModel=1] ---------------------- THEVENIN-EQUIVALENT INDUCTION GENERATOR ----------------- 9999.9 TEC_Freq - Line frequency [50 or 60] (Hz) [used only when VSContrl=0 and GenModel=2] 9998 TEC_NPol - Number of poles [even integer > 0] (-) [used only when VSContrl=0 and GenModel=2] 9999.9 TEC_SRes - Stator resistance (ohms) [used only when VSContrl=0 and GenModel=2] 9999.9 TEC_RRes - Rotor resistance (ohms) [used only when VSContrl=0 and GenModel=2] 9999.9 TEC_VLL - Line-to-line RMS voltage (volts) [used only when VSContrl=0 and GenModel=2] 9999.9 TEC_SLR - Stator leakage reactance (ohms) [used only when VSContrl=0 and GenModel=2] 9999.9 TEC_RLR - Rotor leakage reactance (ohms) [used only when VSContrl=0 and GenModel=2] 9999.9 TEC_MR - Magnetizing reactance (ohms) [used only when VSContrl=0 and GenModel=2] ---------------------- HIGH-SPEED SHAFT BRAKE ---------------------------------- 0 HSSBrMode - HSS brake model {0: none, 1: simple, 3: user-defined from routine UserHSSBr, 4: user-defined from Simulink/Labview, 5: user-defined from
Bladed-style DLL} (switch) 9999.9 THSSBrDp - Time to initiate deployment of the HSS brake (s) 0.6 HSSBrDT - Time for HSS-brake to reach full deployment once initiated (sec) [used only when HSSBrMode=1] 28116.2 HSSBrTqF - Fully deployed HSS-brake torque (N-m) ---------------------- NACELLE-YAW CONTROL ------------------------------------- 0 YCMode - Yaw control mode {0: none, 3: user-defined from routine UserYawCont, 4: user-defined from Simulink/Labview, 5: user-defined from Bladed-
style DLL} (switch) 9999.9 TYCOn - Time to enable act
When i Run my openloop i get an error saying that VS_Rgn2K*VS_RtGnSp ^2 must not be greater than VS_RtTq
@jjonkman @bjonkman
This error results from using VSContrl = 1, but not setting appropriate values for VS_RtGnSp, VS_RtTq, VS_Rgn2K, and VS_SlPc.
Normally it is recommend to use a constant generator torque during the linearization process, as described in the "Linearization" section of the old FAST User's Guide. To summarize, to set constant torque in ServoDyn, it is easiest to set VSContrl = 1, VS_RtTq = the constant torque you want in Nm (e.g., 43093.55 Nm is the rated generator torque of the NREL 5-MW turbine) and VS_RtGnSp = VS_Rgn2K = VS_SlPc = some small number greater than zero, e.g., 0.001.
i did as you said and it got me another error: i set the set VSContrl = 1, VS_RtTq = the constant torque you want in Nm =43093.55 Nm ind VS_RtGnSp = VS_Rgn2K = VS_SlPc = 0.001.
FAST_Solution:CalcOutputs_And_SolveForInputs:SolveOption2:SrvD_CalcOutput:CalculateTorque:u%HSS_Spd is negative. Simple variable-speed control model is not valid for motoring situations.
@jjonkman @bjonkman
are those numbers valid for region2? as i'm trying to linearize at 8m/s
43093.55 Nm is the rated torque of the NREL 5-MW baseline turbine, so, not suitable for region 2. My guess is this generator torque is higher than the aerodynamic torque, which is slowing down the rotor and triggering the error.
To obtain a steady-state solution suitable for linearization, you should set the torque appropriate to the mean wind speed you are simulating. Expected steady-state values for the NREL 5-MW baseline turbine are documented in Figure 9-1 of its specifications report: https://www.nrel.gov/docs/fy09osti/38060.pdf.
So if i’ll linearize at 8m/s, my goal is to reach its rated torque(2000 Nm) right?
The torques are plotted in kNm in that figure, not Nm. And you want the generator torque, not rotor torque. The expected generator torque at 8 m/s is around 20000 Nm.
Thank you, i have another question. Im trying to implement a torque controller using mpc in region 2. As i said my 2 DOF are drive train and generator. So basically i have 4 states. I’m trying to put a reference for the third state which is the perturbation of the generator speed. Some are saying i need to get the feedback from this state and minus from it the reference state but it failed. Could you please help me on this?
I'm not sure I understand what you are saying, but you'll likely need to eliminate the generator azimuth state from your state-space model (reducing the total states from 4 to 3). See the following forum topic for more information: https://wind.nrel.gov/forum/wind/viewtopic.php?f=4&t=1903&p=9924. As I said before, the linearization process has been discussed many times on our forum. Please use "Search" there and review the many questions and answers before posting additional linearization questions here.
I'm trying to simulate my controller and i get this error, keep in mind i'm not putting Yaw as a DOF: FAST_Solution:FAST_AdvanceStates:AD_UpdateStates:BEMT_UpdateStates(node 2, blade 1):BEMT_UnCoupledSolve:DeterminePhiBounds:There is no valid value of phi for these operating conditions! Vx = NaN, Vy = NaN, rlocal = NaN, theta = NaN
I read some articles about changing aeroDyn file, but i dont understand which file to be changed. im using NRELOFFSHORE5MWBaseline_Onshore_aerodyn15,dat file. what changes should i do? @jjonkman @bjonkman
also i'm using onshore 5MW , Test 26
You are getting "NaN" in your solution, which suggests to me some sort of numerical or physical instability. You mention that you are using your own controller; does the solution work as expect without your controller? If so, I would guess that there is a problem in your controller. I can't really comment more without knowing more about how you've set up your OpenFAST model.
Hello, I'm trying to linearize the model 5MW offshore turbine in region 2, i dont know which steps i need to do or numbers i need to change.