OC3 blade pitch control problem & its errors

Hi Fellows,
I want to model OC3Hywind floating wind turbine in ADAMS. For this purpose I built my *.adm file through FAST using NRELOffshrBsline5MW_OC3Hywind, but during running FAST as the adm and acf file created the following error appeared in prompt command window,
An Adams control file for a LINEAR analysis can’t be built when using incident wave kinematics. Set Wavemod to 0 or makeLIN acf to false. Aborting FAST.
Then when I import *.adm file to ADAMS/View I encountered with bellow warnings,
Warning: The RESULT/NOTIRES ARGUMENT is obsolete and ADAMS/Solver will ignore it.
Warning: Argument : NOTIRES
Statement : RESULT/etc.
Warning Line number : 10354
I can see the figure of OC3 concept in ADAMS/View window. It seems to be true.
About creating ADAMS.dll file I am trying to build my dll file, but have not created it yet.
If I succeed in modeling of OC3, I want to control blade pitch angle via interfacing ADAMS&MATLAB. Is there anybody that knows how I can introduce blade pitch angle variable to Matlab/Simulink through ADAMS/Control? I think if I can run my model in ADAMS/View then I will be able to define my variables to transfer to Simulink. But I don’t know how to do so.
Could anybody help me to solve these problems? Or is there anybody that have faced with such issues?
Note I am using Windows 7 x64 and IVF v11.066 compiler, MD ADAMS 2010 x64 and I installed ADAMS after installing IVF.
Please guide me comprehensively.
Thanks
Mehdi,

Dear Mehdi,

It is not useful to linearize a model with stochastic wave excitation. So, the FAST-to-ADAMS preprocessor does not allow one to create an ADAMS control file (*.acf) for a linearization analysis if wave excitation is enabled. The FAST error message explains how to resolve this problem.

I don’t think you need to worry about the ADAMS warning message regarding NOTIRE.

Regarding interfacing ADAMS with MATLAB/Simulink, this is a question better answered by MSC technical support. This forum is meant for wind-turbine specific questions.

I hope that helps.

Best regards,

Dear Jason,

I finally created the ADAMS.dll file. I put it in my working folder (C:\Design Codes\NRELOffshrBsline5MW_OC3Hywind), Then run the model but encounter with some errors as bellow.

could you tell me what is the problem? And how and where i can solve it?

Thanks beforehand,

All the Best,
Mehdi

Dear Mehdi,

Now that you got the ADAMS.dll compiled properly per your forum post found here: http://forums.nrel.gov/t/a2ad-error/398/1, did this solve the problem you reported above?

Best regards,

Dear Jason,

Many thanks to your reply.
No, I only got adams.dll file. And above problem exists.
I am waiting your comments to solve above problem.
Also when I import adm file created via FAST (NRELOffshrBsline5MW_Floating_OC3Hywind_ADAMS.adm) into Adams/View, some similar warnings appears as below:


All the Best
Mehdi,

The error forrtl: severe (104): incorrect RECL= specifier value for connected file, unit 6, file CONOUT$ seems to be related to the console output. I have noticed that the newer versions of Adams do not seem to be compatible with INTEGER CU in the SysSubs MODULE. If you compiled with a version of the NWTC Subroutine Library that sets CU = 6, you can change the unit number to be 7 instead (i.e. change line 47 in SysIVF.f90 to INTEGER :: CU = 7).

I am not sure why you are getting the warnings that user subroutines are not supplied. It looks like the dll was not created properly.

Hi,
For the OC3 I built my *.wnd and *.sum file with TurbSim for mean wind speed=24m/s, then built my *.adm and *.acf file using fast to adams PREPROCESSOR. After that run my model with adams/solver and faced with bellow error:


I checked the created *.gra file in Adams/View. It seems that the above error has occured due to large pitching motion of tower and support plattform.
I also used turbine control by setting YCMode=1 PCMde=1 VSContrl=2 in *.fst file, and built the adm and acf file again, then rerun my model, but the metioned issues occured again. Maybe the prepared control strategies are unable, to control such conditions.
Are my above results true?
I expected that above rated wind speed (11.6m/s) the thrust must be decreased, so the moment of thrust about platform must be decreased, as well. And I must have small platform pitching motion.
Are my statements right? Or I am wrong?
What factors are very effective in causing large pitching motion of support platform?

Thanks,

Dear Mehdi,

Certainly the error regarding FF wind boundaries is simply the first error that the program found after exhibiting large platform displacement. But without more information, it is hard to know what is causing your OC3-Hywind model to show large platform displacement. I have run many simulations with this model at 24 m/s and I have not seen this error before. Besides the change to 24 m/s, what else have you changed in your OC3-Hywind model? Here are some questions for you:

*Have you changed your initial conditions (particularly initial blade-pitch angle and rotor speed) to be appropriate for 24 m/s winds?
*Are you using the DISCON.dll controller specifically developed for the OC3-Hywind turbine?
*Are you exciting the system with extremely large waves?
*Did you change one of the model’s time steps?
*Did you change the gearbox ratio?

Best regards,

Dear Jason,
Thanks to your kind answers.
About regarding questions:
1.I have not changed ititial conditions. All of them are defaults one.
2.I got my *.acf and *.adm file by using FAST_v7.00.01a-bjj_AeroDyn_v13.00.00a-bjj_BladedDLLInterface.exe and also used ADAMS_A2AD_v13.00.00a-bjj_AeroDyn_v13.00.00a-bjj_BladedDLLInterface.dll in asolver. I set YCMode=1 PCMde=1 VSContrl=2 in *.fst file.
3.I set WaveHs=16m to have large wave.
4.I have not changed model’s time steps, I just set integrator ERROR = 0.1 to keep on running.
5.I changed GBRatio to 1.0 becase of VSContrl=2.

Are metioned procedures enough to achieve a stable model, or large wave height leads model to instability.

Your comments will be so appreciable.

Best Regards,
Mehdi,

Dear Mehdi,

Your answers to questions 1, 3, and 5 are likely causing problems.

  1. It is important to set the model initial conditions properly. To minimize the start-up transients, I always recommend that–at a minimum–the initial blade-pitch angles and rotor speed be set appropriotely for the given wind speed. For the NREL 5-MW turbine, Figure 9-1 in the specifications report shows steady-state values of many parameters (including blade-pitch angle and rotor speed) as a function of wind speed: nrel.gov/docs/fy09osti/38060.pdf. These are the values you can use for initial conditions.

  2. A large wave will certainly induce large motion.

  3. I suspect you changed GBRatio to 1 because you tried ot use Kirk Pierce’s sample UserVSCont routine instead of the GH Bladed-style controller needed by the NREL 5-MW turbine. Changing GBRatio from 97 to 1 effectively gives the free-free torsion mode of the drivetrain an extremely large natural frequency, which is not realistic. The ADAMS model becomes unstable if the structural time step is not dramatically reduced or if natural frequency is changed back to what it should be. See the forum post found here for more information: http://forums.nrel.gov/t/fast/348/1.

I hope that helps.

Best regards,

Dear Jason,

About case 5 you noted, I am using FAST_v7.00.01a-bjj_AeroDyn_v13.00.00a-bjj_BladedDLLInterface.exe to build *.acf and *.adm files.
I restored Gearbox ratio to 97, but I dont know what the VSContrl must be? (0, 1or 3). Should I set it to 3 or 0?
In fact I dont know how the FAST or ADAMS knows that, it uses GH Bladed-style control strategies. is there any switch in *.fst file that clears to FAST or ADAMS to use GH Bladed-style DLL format as a controller?

Many thanks,
Mehdi,

Dear Mehdi,

As explained in the FAST User’s Guide, the current implemenation of the GH Bladed DLL controller interface is through source file BladedDLLInterface.f90. This source file contains a set of FAST user routines (PitchCntrl, UserHSSBr, UserVSCont, and UserYawCont) used to interface FAST to a GH Bladed DLL controller. To use this feature in FAST, you must recomple FAST with the BladedDLLInterface.f90 source file (the executable you are running already has this) and you must enable the user control options by setting YCMode to 1, PCMode to 1, and VSContrl to 2 (from your earlier post it sounds like you were doing this too). These control options are passed to ADAMS when using the FAST-to-ADAMS preprocessor.

I hope that helps.

Best regards,

Hi,
I run my model many times for a special mean wind speed (for example for mean wind speed 24m/s). All of the results in every stage is accurately similar with other stages. For example the the wave elevation versus time is same for all simulations, while I explected different responses, because of random wave.
Do you know that why the attitude of random wave is same for same simulations?

Thanks,

Dear Mehdi,

I’ve answered a similar question in my August 30, 2010 post to the forum topic found here: http://forums.nrel.gov/t/wind-wave-data/207/1.

Best regards,

Dear Jason,

According to viewtopic.php?f=4&t=306, if I want to have different results in every simuation, I must change waveseed numbers in NRELOffshrBsline5MW_Platform_OC3Hywind.dat file, then run FAST to build new *.adm and *.acf files and after that run my model. because I want to do this many times, It seems a little boring.
Can I directly change that number from inside of adm or acf files through adams/solver? Can I change it through Adams/View as well? If yes how?
What about wind data? Is there any optimum short way, that ASolver modify TurbSim input file and run it to get *.wnd and *.sum files thereafter run the model again and then again?
I think I must write a batch file to do these isuues.

Thanks,
Mehdi,

Dear Mehdi,

In FAST v7.00.01a-bjj, the value of WaveSeed is passed to ADAMS through the FAST-to-ADAMS preprocessor as one of the parameters in the GFORCE/1000 statement in the *.adm file. You could change it there instead of rerunning FAST if you wish.

Most of the AeroDyn parameters are read directly from the AeroDyn input file when ADAMS is run. The wind file, for example, can be changed in the AeroDyn input file and used by ADAMS without the need of rerunning the FAST-to-ADAMS preprocessor first. We are currently working on a version of HydroDyn (with its own input file) that will function similarly. This should make it easier to run various ADAMS simulations with HydroDyn without rerunning the FAST-to-ADAMS preprocessor first.

I hope that helps.

Best regards,

Hi,

What parameters of wind and wave that prepared by FAST and ADAMS, are best variable for descibing the wave and wind loads. I mean if I want to build a control block in simulink, I must take account the wind and wave loads as input for block. But I dont know which parameters are best choice. For example Are wind Vx and wave Vy good choice?

Thanks

Dear Mehdi,

Most wind turbine control systems don’t use direct wind or wave measurements. However, if I want to examine the wind and waves, I typically output WindVxi, WindVyi, WindVzi, and WaveElev.

I hope that helps.

Best regards,

Dear Jason,

Thanks for your reply,

I want to control the generator torque through my own control strategy in simulink. For this purpose I must have a variable in my adm file (I use simulink with ADAMS) that describes the generator torque, But I couldnt find any variable relating to gen torque as an input that I can control the GenTorq. Or I must have an input for my simulink block that can ontrol gentorq. For example there are some variables in adm file such blade k pitch angle that you can select them as input for simulink block then by changing them you can see the platform pitching, … . But there is not any thing for gen torq.
In a nutshell my question is that how one can change generatore torque in simulink and then measure platform pitching?

Please give me more information about variable speed cotrol strategy

Thanks,

Dear Mehdi,

In FAST and the FAST-to-ADAMS preprocessor, the generator torque is available through output GenTq (add this to the FAST output list if it is not already there). For the platform-pitch angle, use output PtfmPtch (or PtfmRDyi, which is equivalent).

I hope that helps.

Best regards,