Compile FAST source file Fortran

Hi everyone,

I’m working with FAST-Simulink (PCMode=2; Pitch control mode user-defined from Simulink). I need start the simulations with a pitch angle which I choose but after the pitch control from Simulink must control the pitch maneuvers. Thus I have to change the FAST’s source file and compile it. I think that where is written BegPitMan (K) = .FALSE. I have to write BegPitMan (K) = .TRUE. and finally compile it. Am I right?

Does anybody have the source file compiled (for this case)? I can’t get Fortran.

Thanks

Dear Ana,

I’m not sure what you are asking. (Please clarify.)

That said, the FAST variable BegPitMan is used by FAST in its calculation of the override pitch maneuvers. The override pitch maneuver option in FAST is used to override whatever commands are coming from the pitch controller and to, instead, apply simple linear ramps and holds of pitch angle. I can’t see any reason why you’d want to change variable BegPitMan.

Best regards,

OK, I’ll try to explain it by an example:

  1. I want to start the simulation with pitch=17 deg
  2. After 10 seconds, the pitch must be given by the pitch controller from Simulink
  3. My problem: if I use the commands which override pitch maneuvers (in .fst file), FAST applies a linear ramp and holds of pitch angle (17 deg), and then the controller from Simulink doesn’t work.

Solution: Do I recompile the source code? If I’m right, what parameter I have to change?

Best regards,

Ana

Dear Ana,

I haven’t worked with pitch control so my answers may not be entirely correct. Jason or someone else will have to weigh in on this. But based on my understanding of the description of your problem and my knowledge of working with FAST and Simulink, I have a suggestion

Have you tried setting the Blade initial pitch variable (BlPitch) in the fast input file to 17 degrees. I think this will start your blade out with an initial pitch of 17 degrees. Your Simulink controller will have to stay inactive or send a 0 command for the initial 10 seconds and then start sending out the appropriate pitch control commands. I am not sure of the best way to implement this in Simulink although I believe if you use PCMode 2 in your input file, Fast will always look for a pitch command from Simulink. However as Jason has pointed out, if you use pitch override, it will take over and override all commands being issued by your Simulink pitch controller.

I hope this helps.

Best Regards,

Subin.

Thanks Subin,

I tried your suggestion the first time but it doesn’t work. The parameters BlPitch, BlPitchF, TPitManS and TPitManE in the fast input file work together. If you enable these parameters the commands from Simulink are canceled.

Best Regards,

Ana

Dear Ana,

I agree with Subin’s suggestion.

Just to clarify, BlPitch in FAST is the initial blade pitch angle, regardless of what method of pitch control is employed. The override pitch commands (TPitManS, TPitManE , BlPitchF) will override the commands from the controller (including a controller implemented in Simulink). Because the override pitch commands override the controller commands, you can’t use these to set the pitch angle to 17 degrees for 10 seconds, followed by control from Simulink.

Instead, you should build in your 10-s hold into your Simulink model. That is, you should implement a block in Simulink that returns the 17 degree pitch command for the first 10 s, than whatever pitch command you want after 10 s. You shouldn’t need to use the override pitch commands in this case.

I hope that helps.

Best regards,

OK, Thanks very much both.

I’ll proceed as you indicate to me.

Best Regards,

Ana

Hi Everyone

I’m working with FAST but it is needed to change and modify the original fortran code of FAST, and change it from equal to unequal blade in this regard first of all I need the original fortran code of fast as well as knowing how to change it for an unequal bladed turbine?
Thank you all in advance.

Regards;
Saeedeh

Dear Saedeh,

The FAST source code is included in the archive of FAST when you download it.

Which version of FAST are you using? What do you mean by “unequal blade”?

Best regards,

Dear Jason

I’m working with FAST v.7, Unequal blade turbine is a machine that had the same blades initially but after a while due to environmental effects (such as sand blasting effect, birds droppings,…) some unequality happened for it and caused we have two different blades. As I’m working on small scale wind turbine I think the effects of such phenomena are considerable. It would be appreciated if you tell me how we can modify the fortran code of fast in this regard?

Regards;
Saeedeh

Dear Saeedeh,

It sounds like you want to model some sort of rotor imbalance e.g. a mass or aerodynamic imbalance. Without customizing the source code in FAST v7, it is possible to model a mass imbalance, but an aerodynamic imbalance is only possible by setting the pitch angle uniquely for each blade. In FAST v8 with AeroDyn v15, it is also possible to model an aerodynamic imbalance (different chord, twist, or airfoils for each blade). The only reason I could see that you would need to change the source code is because you’d want to change e.g. the mass or aerodynamic properties over time within a given simulation. But this is not normally done, as the change in properties due to soiling etc. will not happen fast enough to warrant the modeling of the transient condition within a given simulation. Instead, you can set up different FAST input files corresponding to different states of soiling.

Best regards,