OpenFAST / openfast

Main repository for the NREL-supported OpenFAST whole-turbine and FAST.Farm wind farm simulation codes.
http://openfast.readthedocs.io
Apache License 2.0
686 stars 458 forks source link

Coupling MAP++ to OpenFAST causes Segmentation Fault #238

Closed dwalia closed 5 years ago

dwalia commented 5 years ago

I have an OpenFAST simulation set up using MoorDyn, which runs without problems. However, when replacing MoorDyn by MAP++ I run into a Segmentation fault error.

I need to run a OpenFAST simulation by use of MAP++ because I need to generate the mooring stiffness matrix, for setting up BModes.

I was running OpenFAST 2.0.0 in Linux when inicially running into this error. I rebuilt OpenFAST and installed v2.1.0 because I thought that there might be a link to error #227. This didn´ t solve the problem. I also downloaded the windows executable for OpenFAST v2.0.0 and ran the same simulation in Windows 10 with ending up with the same error.

 **************************************************************************************************
 OpenFAST

 Copyright (C)  National Renewable Energy Laboratory
 Copyright (C)  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.1.0
 Compile Info:
  - Architecture: 64 bit
  - Precision: double
  - Date: Feb  7 2019
  - Time: 10:38:14
 Execution Info:
  - Date: 02/07/2019
  - Time: 14:39:15+0100

 OpenFAST input file heading:
     OpenFAST Model Test verification # : NREL 5.0 MW Baseline Wind Turbine with Floating Substructure
     Configuration

 Running ElastoDyn.
 Running AeroDyn.
 Running AirfoilInfo.
 Running BEM.
 Running UnsteadyAero.
 Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0.  BladeNode = 1, Blade = 1
 Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0.  BladeNode = 2, Blade = 1
 Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0.  BladeNode = 3, Blade = 1
 Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0.  BladeNode = 4, Blade = 1
 Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0.  BladeNode = 1, Blade = 2
 Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0.  BladeNode = 2, Blade = 2
 Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0.  BladeNode = 3, Blade = 2
 Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0.  BladeNode = 4, Blade = 2
 Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0.  BladeNode = 1, Blade = 3
 Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0.  BladeNode = 2, Blade = 3
 Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0.  BladeNode = 3, Blade = 3
 Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0.  BladeNode = 4, Blade = 3
 Running InflowWind.
 Running HydroDyn.
  Generating incident wave kinematics and current time history.

Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

Backtrace for this error:
#0  0x7ff430093dff in ???
#1  0x7ff42deac930 in ???
#2  0x7ff42deaccd6 in ???
#3  0x7ff42dea7c47 in ???
#4  0x7ff42eec050c in ???
#5  0x7ff430704a50 in ???
#6  0x7ff43070655a in ???
#7  0x56295d4ca46e in ???
#8  0x56295d3f41be in ???
#9  0x7ff430080222 in ???
#10  0x56295d3f41fd in ???
#11  0xffffffffffffffff in ???
Segmentation fault (core dumped)

System Information:

This is reproducable by applying the precompiled executable provided here on github OpenFAST ver 2.0.0 for Windows:

C:\pathtoopenfast C:\pathtomaininputfile

**************************************************************************************************
OpenFAST

Copyright (C)  National Renewable Energy Laboratory
Copyright (C)  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.0.0-dirty
Compile Info:
 - Architecture: 64 bit
 - Precision: single
 - Date: Dec 06 2018
 - Time: 10:09:59
Execution Info:
 - Date: 02/07/2019
 - Time: 13:23:24+0100

OpenFAST input file heading:
    OpenFAST Model Test verification # : NREL 5.0 MW Baseline Wind Turbine with Floating Substructure
    Configuration

Running ElastoDyn.
Running AeroDyn.
Running AirfoilInfo.
Running BEM.
Running UnsteadyAero.
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0.  BladeNode = 1, Blade = 1
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0.  BladeNode = 2, Blade = 1
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0.  BladeNode = 3, Blade = 1
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0.  BladeNode = 4, Blade = 1
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0.  BladeNode = 1, Blade = 2
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0.  BladeNode = 2, Blade = 2
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0.  BladeNode = 3, Blade = 2
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0.  BladeNode = 4, Blade = 2
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0.  BladeNode = 1, Blade = 3
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0.  BladeNode = 2, Blade = 3
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0.  BladeNode = 3, Blade = 3
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0.  BladeNode = 4, Blade = 3
Running InflowWind.
Running HydroDyn.
  Setting WaveTMax to 0.0 since WaveMod = 0

forrtl: severe (157): Program Exception - access violation
Image              PC                Routine            Line        Source
MAP_x64.dll        00007FFB006EC1C8  Unknown               Unknown  Unknown
MAP_x64.dll        00007FFB006EB91E  Unknown               Unknown  Unknown
MAP_x64.dll        00007FFB006E2A4E  Unknown               Unknown  Unknown
openfast_x64.exe   00007FF6AF800B5B  Unknown               Unknown  Unknown
openfast_x64.exe   00007FF6AEE4C058  Unknown               Unknown  Unknown
openfast_x64.exe   00007FF6AEE561A4  Unknown               Unknown  Unknown
openfast_x64.exe   00007FF6AED311F6  Unknown               Unknown  Unknown
openfast_x64.exe   00007FF6B176ACDE  Unknown               Unknown  Unknown
openfast_x64.exe   00007FF6B1D3F2F9  Unknown               Unknown  Unknown
KERNEL32.DLL       00007FFB0E403034  Unknown               Unknown  Unknown
ntdll.dll          00007FFB10403691  Unknown               Unknown  Unknown

System Information (please complete the following information):

jjonkman commented 5 years ago

Dear @dwalia ,

I can't comment on the actual error right now, but if you using MAP++ in OpenFAST only to derive the 6x6 stiffness matrix associated with the mooring system for use in BModes, you can use the Python wrapper for standalone MAP++ to derive this, as discussed in the following topic on our forum: https://wind.nrel.gov/forum/wind/viewtopic.php?f=4&t=1123&p=10717.

Best regards,

dwalia commented 5 years ago

Dear @jjonkman ,

thank you very much for pointing out that possible workaround. I will have a look on that. I will also try to rerun the simulation by use of OpenFAST 1.0.0 as well as running a simulation provided by NREL for older (FAST 8.16) versions which use MAP++

dwalia commented 5 years ago

My bad, I had a bug in my input files. Closes: #238