Building Simulink Bladed-style DLL(.so) for linux?

My first forum post. I’m new to FAST and not very experienced with programming in general. Just wanted to check if you think what I’m looking for is possible in the first place.

We are running FAST simulations on a linux cluster. I have been developing my own pitch controller in Simulink and would like to build it into a DLL with the bladed style interface for use on the cluster. But instead of running under Windows, obviously it should be a linux shared library (.so or .a maybe) Has anyone done this?

I have read all the posts with the word ‘bladed’ or ‘.dll’ in them but didn’t see this addressed.

Cheers,
~Orion

Orion,

Jason Jonkman is the one to give the official answer on this question, but he is on travel this week.

In general, we do Windows development here. We have not tried to port codes to Linux machines. I think others have done so, but I don’t know about converting the DLL to a share library. If someone outside the lab has done so, Jason will likely know. I’ll email this post to Jason so he can give a definitive answer.

Marshall

Dear Orion,

You are right, DLL files are useless in Linux. So if we want to use an external controller, a “discon.so” library has to be built. As Marshall pointed out, we don’t support Linux at NREL. However, another user of FAST has sent me a version of the BladedDLLInterface.f90 that is a compatible with Linux discon.so libraries. I’ve put the file for your use here: wind.nrel.gov/public/jjonkman/FAST/Linux/. I’ve not used it myself, but hopefully it is useful for you.

Alternatively, it should be very easy to change the DLL for the 5-MW turbine controller into a subroutine that can be compiled directly with FAST. All you should have to do is (1) eliminate the DLL interface logic and (2) change the call to the DLL to a call to the Fortran subroutine.

I hope that helps.

Best regards,