ValentinChb / SC_MPIClient

2 stars 0 forks source link

SC_MPIClient

This is a MPI bridge enabling alternative supercontroller implementations for NREL's FAST.farm (https://github.com/OpenFAST/openfast). It establishes a two-way real-time connection between on the one side a controller run in an external parallel environment (e.g. The Mathworks' Matlab/Simulink), and on the other side OpenFAST instances for each turbine in FAST.Farm, through the bladed-style controller dll loaded in ServoDyn.

At each turbine-level (ServoDyn) timestep, the bladed-style controller array (avrSWAP) is exchanged between the client (i.e. the turbine side, provided in this repository) and the server (i.e. the farm side). Parallel execution of OpenFAST instances within one farm-level (FAST.Farm) timestep is supported (using the OMP version of FAST.Farm).

It may be linked to an existing bladed-style turbine controller implementation (DTUWEC or ROSCO) to provide turbine-level controls (generator torque and blade pitch angles), while the external controller provides farm-level controls (yaw angles and power setpoints). If not, both farm- and turbine-level controls are read from the external controller.

Installation

Use