Extra Machine dll Layer

Hello NREL people

We’re planning to use FAST to model a few different turbines. The turbines will not be fully defined by the .fst file and require things like the safety chain, actuators, sensors and fault conditions to be modelled in fortran code. The turbines will tend to have a DISCON controller too. With the existing structure of FAST, these items ought to be modelled in BladedDLLInterface which is compiled into FAST, which will mean that we will need to have multiple versions of FAST, some of which will contain improvements to the simulation environment of HAWTs (e.g. tower wind loads) and some which are specific to particular machines being modelled.

We thought this would create havoc with version control, so we made a new dll which sits between FAST and DISCON. Let’s call it Machine Layer dll. This new dll contains simulations of safety chain, actuators etc and is compiled separately from FAST.

It’s been tested and we had identical results with FAST - DISCON compared to FAST - Machine layer - DISCON.

Is this something that you might like to incorporate into future versions of FAST? I can see pro’s (above) and con’s (lack of backward compatibility, possibly added complication if you’re only interested in one machine).

Let me know if you’d like to know more.


Dear Alec,

It sounds like you have come up with a quite convenient way of adding features that are missing from the present version of FAST (safety system, actuators, etc.) without a major change to FAST. This sounds quite good and I’m sure other users of FAST would be interested in hearing more about your approach.

We will soon be publically introducing a new modularization framework for FAST that make it far easier to expand FAST with your own components. I think this new framework will make it convenient to introduce the features you’ve now added into your own version of FAST. More information will be forthcoming.

Best regards,