Issue with DLL controller file when running OpenFAST through the C++ API

Hi everyone,

I am using OpenFast in conjunction with a LES solver. To provide some context:
The coupling code (between the LES solver and OpenFAST) takes a single input file similar to the one given in the OpenFAST documentation (https://openfast.readthedocs.io/en/dev/source/user/cppapi/index.html). At each time step the LES code and OpenFAST exchange velocity and force values to implement the turbine’s rotor blades as actuator lines in the LES domain. The data exchange uses the functions getVelocity() and getForce() provided by the OpenFAST cpp API.

Currently, I am using the Nrel5MW turbine baseline case in OpenFAST. When including a controller in ServoDyn (user-defined from Bladed-style DLL) OpenFast encounters an error that the BLADED interface DLL cannot be opened:

[code]**************************************************************************************************
OpenFAST

Copyright (C) 2021 National Renewable Energy Laboratory
Copyright (C) 2021 Envision Energy USA LTD

This program is licensed under Apache License Version 2.0 and comes with ABSOLUTELY NO WARRANTY.
See the “LICENSE” file distributed with this software for details.


OpenFAST-v2.5.0-568-gee3f411c
Compile Info:

  • Compiler: GCC version 7.5.0
  • Architecture: 64 bit
  • Precision: double
  • Date: Feb 15 2021
  • Time: 22:40:44
    Execution Info:
  • Date: 11/29/2021
  • Time: 15:24:05+0100

OpenFAST input file heading:
NREL 5.0 MW Baseline Wind Turbine coupled to GRASP

Running ElastoDyn.
Nodal outputs section of ElastoDyn input file not found or improperly formatted.
Running AeroDyn.

AD15 Nodal Outputs: Nodal output section of AeroDyn input file not found or improperly formatted.

Skipping nodal outputs.
Running ServoDyn.
Running ServoDyn Interface for Bladed Controllers (using GNU Fortran for Linux, ).
Using legacy Bladed DLL interface.

FAST_InitializeAll:SrvD_Init:BladedInterface_Init:Error opening BLADED interface DLL. Checking
for legacy DLL.[/code]

This error only occurs in case OpenFast is executed in the coupled mode to the LES solver. The same controller DLL file can be read without any errors when running the case with OpenFAST in a standalone mode (using the InflowWind module to provide the inflow).
I also set up the case with different controllers/DLL files. The error stays the same so it does not seem to be a controller specific issue.

If someone has an idea what could cause this error, any help would be appreciated.

Thanks in advance and best regards,
Emanuel