BasicDTUController issueshttps://gitlab.windenergy.dtu.dk/OpenLAC/BasicDTUController/-/issues2023-02-16T12:19:58Zhttps://gitlab.windenergy.dtu.dk/OpenLAC/BasicDTUController/-/issues/55Compliation error using gfortran2023-02-16T12:19:58ZfamenCompliation error using gfortran
cmake .. -DCMAKE_Fortran_COMPILER="gfortran"
make
But after this I receive the following error message in terminal :
BasicDTUController/utils/io/dll_utils.f90:211:22:
211 | loadsymbol1 = getprocaddress(libhandle,trim(tmp)//CH...
cmake .. -DCMAKE_Fortran_COMPILER="gfortran"
make
But after this I receive the following error message in terminal :
BasicDTUController/utils/io/dll_utils.f90:211:22:
211 | loadsymbol1 = getprocaddress(libhandle,trim(tmp)//CHAR(0))
| 1
Error: Cannot convert INTEGER(8) to TYPE(c_funptr) at (1)
I think this issue is related to the changes made in "utils" module and somehow it breaks the compilation using gfortran.
@mmpe : if you have time, could you please have a look?
Thanks
Best regards
FanzhongMads M. PedersenMads M. Pedersenhttps://gitlab.windenergy.dtu.dk/OpenLAC/BasicDTUController/-/issues/54Compilation issue of branch dev_bladed_dll_wrapper with MinGW on Windows2023-02-03T09:39:39ZBertrand AuriacCompilation issue of branch dev_bladed_dll_wrapper with MinGW on WindowsHi all
I would like first to thank you for the great work made with DTU controller :)
I'm trying to compilate the branch "dev_bladed_dll_wrapper" with the following tool
- Cmake for the make files with minGW compiler
And I obtain the f...Hi all
I would like first to thank you for the great work made with DTU controller :)
I'm trying to compilate the branch "dev_bladed_dll_wrapper" with the following tool
- Cmake for the make files with minGW compiler
And I obtain the following errors:
[ 39%] Building Fortran object src/bladed_controller_hawc2/CMakeFiles/bladed_hawc2_interface.dir/bladed_controller_hawc2.f90.obj
C:\Generic_WTG\DTUWEC_Bladed\BasicDTUController\src\bladed_controller_hawc2\bladed_controller_hawc2.f90:23:22:
type(C_FUNPTR) :: p_func ! function pointer to DISCON subroutine in DLL for gfortran compiler
1
Error: Type name 'c_funptr' at (1) is ambiguous
C:\Generic_WTG\DTUWEC_Bladed\BasicDTUController\src\bladed_controller_hawc2\bladed_controller_hawc2.f90:184:20:
discon_dll%p_func = loadsymbol(discon_dll%p_dll,trim(adjustl(discon_dll%func_name)),0)
1
Error: 'p_func' at (1) is not a member of the 'tdiscon_dll' structure
C:\Generic_WTG\DTUWEC_Bladed\BasicDTUController\src\bladed_controller_hawc2\bladed_controller_hawc2.f90:186:33:
if (transfer(discon_dll%p_func,C_INTPTR_T)==0) then
1
Error: 'p_func' at (1) is not a member of the 'tdiscon_dll' structure
C:\Generic_WTG\DTUWEC_Bladed\BasicDTUController\src\bladed_controller_hawc2\bladed_controller_hawc2.f90:189:7:
else
1
Error: Unexpected ELSE statement at (1)
C:\Generic_WTG\DTUWEC_Bladed\BasicDTUController\src\bladed_controller_hawc2\bladed_controller_hawc2.f90:192:6:
endif
1
Error: Expecting END SUBROUTINE statement at (1)
C:\Generic_WTG\DTUWEC_Bladed\BasicDTUController\src\bladed_controller_hawc2\bladed_controller_hawc2.f90:196:50:
call c_f_procpointer(transfer(discon_dll%p_func,c_null_funptr),fp_discon)
1
Error: 'p_func' at (1) is not a member of the 'tdiscon_dll' structure
C:\Generic_WTG\DTUWEC_Bladed\BasicDTUController\src\bladed_controller_hawc2\bladed_controller_hawc2.f90:418:22:
write (6,'(A,3I)') 'Floater motion sensor type used in htc-file must be 1 or 2. Now the type is:',floater_motion_type
1
Error: Nonnegative width required in format string at (1)
make[2]: *** [src/bladed_controller_hawc2/CMakeFiles/bladed_hawc2_interface.dir/bladed_controller_hawc2.f90.obj] Erreur 1
make[1]: *** [src/bladed_controller_hawc2/CMakeFiles/bladed_hawc2_interface.dir/all] Erreur 2
make: *** [all] Erreur 2
Do you have any idea where the problem come fromes ?
Thanks in advance
Best regardshttps://gitlab.windenergy.dtu.dk/OpenLAC/BasicDTUController/-/issues/53Compilation issue on Linux2021-08-27T07:32:39Zbenoit paillardCompilation issue on LinuxHi all, trying to compile on Ubuntu with cmake 3.16.3, I'm getting the following errors
```
BasicDTUController/src/dtu_we_controller/dtu_we_controller.f90:903:22:
903 | external_dll%p_dll=loaddll(external_dll%filename,0)
| ...Hi all, trying to compile on Ubuntu with cmake 3.16.3, I'm getting the following errors
```
BasicDTUController/src/dtu_we_controller/dtu_we_controller.f90:903:22:
903 | external_dll%p_dll=loaddll(external_dll%filename,0)
| 1
Error: Cannot convert TYPE(c_ptr) to INTEGER(8) at (1)
BasicDTUController/src/dtu_we_controller/dtu_we_controller.f90:913:25:
913 | external_dll%p_func = loadsymbol(external_dll%p_dll,trim(adjustl(external_dll%func_name)),0)
| 1
Error: There is no specific function for the generic ‘loadsymbol’ at (1)
make[2]: *** [src/dtu_we_controller/CMakeFiles/dtu_we_controller.dir/build.make:63: src/dtu_we_controller/CMakeFiles/dtu_we_controller.dir/dtu_we_controller.f90.o] Error 1
```
Any hints ? Thankshttps://gitlab.windenergy.dtu.dk/OpenLAC/BasicDTUController/-/issues/52Problems with the Bladed Interface2021-09-06T12:22:03ZMarcus WiensProblems with the Bladed InterfaceHello there,
first, I want to say thank you for providing this open source wind turbine controller.
I found some irregularities in the Bladed Interface.
1. The gearbox ratio is obtained from [array1(82)](https://gitlab.windenergy.dtu.dk...Hello there,
first, I want to say thank you for providing this open source wind turbine controller.
I found some irregularities in the Bladed Interface.
1. The gearbox ratio is obtained from [array1(82)](https://gitlab.windenergy.dtu.dk/OpenLAC/BasicDTUController/-/blob/master/src/dtu_we_controller_bladed/dtu_we_controller_bladed.f90#L88), but according to [line 353](https://gitlab.windenergy.dtu.dk/OpenLAC/BasicDTUController/-/blob/master/src/dtu_we_controller/dtu_we_controller.f90#L353) of "dtu_we_controller.f90" it should be array1(76).
2. The gearbox ratio is applied twice for the generator speed from the avrSWAP. First, it is applied in "dtu_we_controller_bladed.f90" in [line 107](https://gitlab.windenergy.dtu.dk/OpenLAC/BasicDTUController/-/blob/master/src/dtu_we_controller_bladed/dtu_we_controller_bladed.f90#L107) before passing array1 to "update_regulation" and also in [line 662](https://gitlab.windenergy.dtu.dk/OpenLAC/BasicDTUController/-/blob/master/src/dtu_we_controller/dtu_we_controller.f90#L662) of the subroutine "update_regulation" of "dtu_we_controller.f90".
3. The generator torque has the same issue, as it is divided twice by the gearbox ratio. Once in the [Bladed interface](https://gitlab.windenergy.dtu.dk/OpenLAC/BasicDTUController/-/blob/master/src/dtu_we_controller_bladed/dtu_we_controller_bladed.f90#L133) and once in the "[update_regulation](https://gitlab.windenergy.dtu.dk/OpenLAC/BasicDTUController/-/blob/master/src/dtu_we_controller/dtu_we_controller.f90#L717)".
I could make the interface run, by removing the division by the gearbox ratio for array1(2) and array2(1) "dtu_we_controller_bladed.f90", but this solution seems not correct, since array1(2) should contain the rotor speed.
My suggestion for a solution is, to remove the gearbox ratio from the subroutine "update_regulation" of "dtu_we_controller.f90". But I don't know if this would cause other problems in the regular interface for HAWC2.https://gitlab.windenergy.dtu.dk/OpenLAC/BasicDTUController/-/issues/51Constant 36 and 37 is 2 pi bigger than what they should be2020-11-12T15:40:36ZAlan Wai Hou LioConstant 36 and 37 is 2 pi bigger than what they should beConstant 36 and 37 is 2 pi bigger than what they should be. Time constant tau is defined as tau=1/omega, where omega in rad/s.
https://gitlab.windenergy.dtu.dk/OpenLAC/BasicDTUController/-/blob/master/src/dtu_we_controller/dtu_we_contro...Constant 36 and 37 is 2 pi bigger than what they should be. Time constant tau is defined as tau=1/omega, where omega in rad/s.
https://gitlab.windenergy.dtu.dk/OpenLAC/BasicDTUController/-/blob/master/src/dtu_we_controller/dtu_we_controller.f90#L172
https://gitlab.windenergy.dtu.dk/OpenLAC/BasicDTUController/-/blob/master/src/dtu_we_controller/dtu_we_controller.f90#L173https://gitlab.windenergy.dtu.dk/OpenLAC/BasicDTUController/-/issues/50re-instate sphinx generated docs as gitlab-pages2020-10-16T08:28:33ZDavid Verelstre-instate sphinx generated docs as gitlab-pagesWe have [documentation sources](docs) that Sphinx could turn into a nice and convenient doc-web-page, see http://dtuwindenergy.github.io/BasicDTUController/index.html. These need to be updated and re-activated using [Gitlab pages](https:...We have [documentation sources](docs) that Sphinx could turn into a nice and convenient doc-web-page, see http://dtuwindenergy.github.io/BasicDTUController/index.html. These need to be updated and re-activated using [Gitlab pages](https://gitlab.windenergy.dtu.dk/help/user/project/pages/index.md).
Updating/generating the docs should be part of the CI.https://gitlab.windenergy.dtu.dk/OpenLAC/BasicDTUController/-/issues/49add documentation for the flap controller2020-09-25T12:51:45ZDavid Verelstadd documentation for the flap controllerhttps://gitlab.windenergy.dtu.dk/OpenLAC/BasicDTUController/-/issues/48add CI for Linux2020-09-25T12:51:45ZDavid Verelstadd CI for LinuxUse the new DTU cloud infrastructure for the Linux CI.Use the new DTU cloud infrastructure for the Linux CI.https://gitlab.windenergy.dtu.dk/OpenLAC/BasicDTUController/-/issues/47Update the docs according to the latest development of the codes2020-09-25T12:51:45ZfamenUpdate the docs according to the latest development of the codeshttps://gitlab.windenergy.dtu.dk/OpenLAC/BasicDTUController/-/issues/46add test cases using Python wrapper and HAWC22020-09-25T14:56:52ZDavid Verelstadd test cases using Python wrapper and HAWC2There are already some tests made ready, but everything needs to be re-activated.
- [ ] re-activate the existing Python based tests
- [ ] add more Python based tests
- [ ] make sure the intended HAWC2 versions + license manager are on t...There are already some tests made ready, but everything needs to be re-activated.
- [ ] re-activate the existing Python based tests
- [ ] add more Python based tests
- [ ] make sure the intended HAWC2 versions + license manager are on the CI (download dev version too)
- [ ] test that HAWC2 can load the controller successfully
- [ ] select a few very simple HAWC2 simulations that test certain controller features
Wait until @sjan has further extend Python wrapping work in the `DTUcontroller2Flex` branch.https://gitlab.windenergy.dtu.dk/OpenLAC/BasicDTUController/-/issues/45Minor Bug: Bandpassed filter generator speed output not assigned2020-09-22T12:30:43ZLeonardo BergamiMinor Bug: Bandpassed filter generator speed output not assignedHey, in `dtu_we_controller`. The bandpassed filter generator speed output `array2( 9) = dump_array(5)` is never assigned (keeps zero) in normal operation. The shutdown routine seems to be te only one writing something in there. Might nee...Hey, in `dtu_we_controller`. The bandpassed filter generator speed output `array2( 9) = dump_array(5)` is never assigned (keeps zero) in normal operation. The shutdown routine seems to be te only one writing something in there. Might need to take the value out from the damper subroutine. Thanks :)https://gitlab.windenergy.dtu.dk/OpenLAC/BasicDTUController/-/issues/44Feature request: time to ignore shutdown2020-06-22T13:50:41ZJenni RinkerFeature request: time to ignore shutdownConsidering that shutdown often occurs due to simulation start-up, it would be awesome if there was an option to ignore shut down for a specific timeframe at the beginning of a simulation. This would also be super useful for our NREL col...Considering that shutdown often occurs due to simulation start-up, it would be awesome if there was an option to ignore shut down for a specific timeframe at the beginning of a simulation. This would also be super useful for our NREL colleagues, because OpenFAST doesn't allow wind ramps. :(https://gitlab.windenergy.dtu.dk/OpenLAC/BasicDTUController/-/issues/42Derating and Notch filter inputs are not included in example script ( DTU_10M...2019-09-19T09:08:15ZJaime LiewDerating and Notch filter inputs are not included in example script ( DTU_10MW_RWT.htc)The example `examples/HAWC2/DTU10MW/htc/DTU_10MW_RWT.htc` should show the usage of the notch filter and derating by including constants 77 - 80 at line 471The example `examples/HAWC2/DTU10MW/htc/DTU_10MW_RWT.htc` should show the usage of the notch filter and derating by including constants 77 - 80 at line 471https://gitlab.windenergy.dtu.dk/OpenLAC/BasicDTUController/-/issues/41input constants 77 - 80 are not included in documentation2019-09-19T09:04:20ZJaime Liewinput constants 77 - 80 are not included in documentationsee http://dtuwindenergy.github.io/BasicDTUController/io.html#init-regulation-advancedsee http://dtuwindenergy.github.io/BasicDTUController/io.html#init-regulation-advancedhttps://gitlab.windenergy.dtu.dk/OpenLAC/BasicDTUController/-/issues/40Controller status=7 missing from documentation2019-07-15T14:59:40ZDavid VerelstController status=7 missing from documentationThe documentation (see http://dtuwindenergy.github.io/BasicDTUController/io.html#controller-status) is currently missing a description of controller status `7`, which is set here: https://gitlab.windenergy.dtu.dk/OpenLAC/BasicDTUControll...The documentation (see http://dtuwindenergy.github.io/BasicDTUController/io.html#controller-status) is currently missing a description of controller status `7`, which is set here: https://gitlab.windenergy.dtu.dk/OpenLAC/BasicDTUController/blob/master/src/dtu_we_controller/turbine_controller.f90#L560. It seems to relate to the `Pitch angle deviation` but I have not tried to figure it out just yet.famenfamenhttps://gitlab.windenergy.dtu.dk/OpenLAC/BasicDTUController/-/issues/39calling multiple times per time step2019-03-22T10:49:37ZDavid Verelstcalling multiple times per time stepBy default the HAWC2 `type2_dll` interface is used. This means there are no iterations between the controller/servo's and the aeroleastic solution of HAWC2. This can result in an underestimation of the damping of modes with a significant...By default the HAWC2 `type2_dll` interface is used. This means there are no iterations between the controller/servo's and the aeroleastic solution of HAWC2. This can result in an underestimation of the damping of modes with a significant drive train torsional component. Especially the generator servo model should be part of a converged aero-servo-elastic solution, rather than an aeroelastic solution with a generator torque output on top of it.
@gepir has already made the necessary fixes in the master to allow for the controller and servo's to be called multiple times per time step (see MR !29) . However, that still requires another HAWC2 dll interface. This interface should look, ideally, like a `type2_dll` but has an option to specify if it has to be called once or multiple times per time step. @anmh made a prototype for this, but it is not yet merged into HAWC2 master.
What this should NOT result in is that the controller can look into the future. In real systems the controller always lags one time step behind the system: a measurement signal is sampled, passed on to the controller, and a response is formulated. That response can only become available one sample later.
I suggest we use this issue to track that:
- [ ] the basic principle is documented with an example (@dave and @gepir have the simulations)
- [ ] HAWC2 gets an updated `type2_dll` interface that can be called multiple times per time step
- [ ] the "call multiple times per time step" feature is added to the documentation and reporthttps://gitlab.windenergy.dtu.dk/OpenLAC/BasicDTUController/-/issues/26Input to Generator Torque PID : Filter or not ?2019-02-14T10:31:23ZMikkel Friis-MøllerInput to Generator Torque PID : Filter or not ?*Created by: amurDTU*
According to the diagram in the manual (page 6) the rotor speed error should be filtered to calculate the generator torque reference. However, the source code indicates that the unfiltered rotor speed is used, see ...*Created by: amurDTU*
According to the diagram in the manual (page 6) the rotor speed error should be filtered to calculate the generator torque reference. However, the source code indicates that the unfiltered rotor speed is used, see here : [src/dtu_we_controller/turbine_controller.f90#L564](https://github.com/DTUWindEnergy/BasicDTUController/blob/master/src/dtu_we_controller/turbine_controller.f90#L564) .
@profhansen Is that intentional or a mistake?
Thanks
https://gitlab.windenergy.dtu.dk/OpenLAC/BasicDTUController/-/issues/32Issues with gearbox ratio2019-02-26T16:24:22ZMikkel Friis-MøllerIssues with gearbox ratio*Created by: jennirinker*
Constants 2 and 3 are described as minimum and rated rotor speed, but then they are used as minimum/maximum generator speeds. The issue is especially problematic when you specify an overspeed percentage, becaus...*Created by: jennirinker*
Constants 2 and 3 are described as minimum and rated rotor speed, but then they are used as minimum/maximum generator speeds. The issue is especially problematic when you specify an overspeed percentage, because that is calculated from the rotor speed but applied to the generator speed so things die.
Moreover, there might be an error in the equation converting LSS speed to HSS speed. (line 464)https://gitlab.windenergy.dtu.dk/OpenLAC/BasicDTUController/-/issues/33Redundant inputs? 39 and 452019-02-14T10:31:24ZMikkel Friis-MøllerRedundant inputs? 39 and 45*Created by: jennirinker*
They both seem to specify the same thing. Overspeed percentage.*Created by: jennirinker*
They both seem to specify the same thing. Overspeed percentage.https://gitlab.windenergy.dtu.dk/OpenLAC/BasicDTUController/-/issues/36control status 7 not defined in docs2019-02-14T10:31:24ZMikkel Friis-Møllercontrol status 7 not defined in docs*Created by: jennirinker*
have defined up to 6, not 7 (pitch angle deviation)*Created by: jennirinker*
have defined up to 6, not 7 (pitch angle deviation)