-
Notifications
You must be signed in to change notification settings - Fork 465
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fortran compiler is not able to compile a simple test program. #853
Comments
Hi @QusayHawari Did you do the command I think it might not be totally clear the steps you need to go through to "install" OpenFAST. You have two options on macOS: compile the code yourself or install via conda/brew. If you aren't going to make changes to the source code, I highly recommend using conda/brew. Doing Try running a test case with this command: I hope this helps! |
Hello Rafael,
Thanks for your quick reply!
I am new to OpenFAST, so I was reading through the documentation and got a little confused.
I thought you needed to create the Makefiles by running cmake ..
I previously worked on HAWC2, but the tool does not linearize offshore turbines and FOWTs (done using HawcStab2 on onshore).
My confusion is that I could not locate the input files e.g for the 5MW, 10MW, and 15MW (.fst). Each turbine model has its own aerodyn, aerodyn, hydrodyne...etc.
I only found those input files on the ROSCO controller as test cases and tuning cases.
Is there a way I can find those files or be able to access them. I am trying to get the open loop full order and reduced order linearized models of the FOWTs so that I can perform frequency analysis via Matlab?
Apologies for the long email,
Qusay,
…________________________________
From: Rafael M Mudafort ***@***.***>
Sent: 05 October 2021 15:31
To: OpenFAST/openfast ***@***.***>
Cc: Qusay Hawari ***@***.***>; Mention ***@***.***>
Subject: Re: [OpenFAST/openfast] Fortran compiler is not able to compile a simple test program. (#853)
Hi @QusayHawari<https://github.com/QusayHawari>
Did you do the command brew install openfast? If so, then you have already installed a working OpenFAST binary. In fact, the command which openfast shows that you do have one installed and it was compiled with GCC 11.1 on June 26, 2021. This corresponds to the commits where the Homebrew formula was updated: ***@***.***<Homebrew/homebrew-core@ad28f76> and ***@***.***<Homebrew/homebrew-core@5a28114>.
I think it might not be totally clear the steps you need to go through to "install" OpenFAST. You have two options on macOS: compile the code yourself or install via conda/brew. If you aren't going to make changes to the source code, I highly recommend using conda/brew. Doing brew install openfast completely installs everything you need to run OpenFAST and you do not need to do anything with CMake or Make or the Intel compilers.
Try running a test case with this command: openfast your_input.fst.
I hope this helps!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#853 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AV5GZZAIZVE2RROZHDUZJ6DUFMD2XANCNFSM5FJ53PGA>.
Triage notifications on the go with GitHub Mobile for iOS<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> or Android<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
|
Dear @QusayHawari, OpenFAST models of the NREL 5-MW baseline wind turbine atop various offshore support structures (OC3-monopile, OC3-tripod, OC4-jacket, OC3-Hywind spar, ITI Energy barge, MIT/NREL TLP, OC4 DeepCwind semisubmersible), are available in the OpenFAST r-test: https://github.com/OpenFAST/r-test/tree/main/glue-codes/openfast. An OpenFAST model of the land-based IEA Wind 10-MW reference wind turbine (an update of the DTU 10-MW reference wind turbine) is available in the github repository of IEA Wind Task 37: https://github.com/IEAWindTask37/IEA-10.0-198-RWT/tree/master/openfast (but no offshore configurations are included here). OpenFAST models of the IEA Wind 15-MW reference wind turbine atop various offshore support structures (monopile, UMaine semisubmersible) are available in the github repository of IEA Wind Task 37: https://github.com/IEAWindTask37/IEA-15-240-RWT/tree/master/OpenFAST. Best regards, |
Hello, Thank you for sending all the input files, much appreciated. I tried running the 10MW model, but I faced this FATAL error. I pointed at the correct path for the IEA-10.0-198-RWT_Cp_Ct_Cq.txt in the DISCON file. Should I give the full paths to all the input files? Thanks in advance, cd /Users/qusayhawari/Downloads/openfast_IEA_10MW OpenFAST Copyright (C) 2021 National Renewable Energy Laboratory This program is licensed under Apache License Version 2.0 and comes with ABSOLUTELY NO WARRANTY. OpenFAST-HEAD-HASH-NOTFOUND
OpenFAST input file heading: Running ElastoDyn. FAST_InitializeAll:InflowWind_Init:Steady_ValidateInput: Horizontal wind speed (HWindSpeed) for OpenFAST encountered an error during module initialization. Aborting OpenFAST. |
Dear @QusayHawari, The pathnames specified in OpenFAST input files can have an absolute or relative path. Regarding the error you are receiving, my guess is that the input files you are using are formatted for a different version of OpenFAST than you are running. I don't see that the OpenFAST version is stated in the IEA Wind 10-MW reference wind turbine repository, and I can't tell what version you are running. But you should be able to figure those out by reviewing OpenFAST's API documentation: https://openfast.readthedocs.io/en/main/source/user/api_change.html. Enabling the Echo option may also help to debug problems with the input file formatting. Best regards, |
Hello, Thank you for the clarification. I have OpenFAST -v3.0.0. The 15MW model is written for v2.4. As you mentioned I didn't see any documentation on the version for the 10MW. Is there a possibility I can install previous OpenFAST versions instead of having to update all the input files according to each version? This could help a lot specially when checking other turbine models, which may require other versions :) Regards, |
Dear @QusayHawari, You can find older releases of OpenFAST here: https://github.com/OpenFAST/openfast/releases. In general, however, I recommend using the newest version of the software unless there is a strong reason to use an older release, e.g., to ensure consistency with previous results. Best regards, |
Hello, Thanks for sending the link :) I changed the input files for the UMaine 15MW) to be compatible with the version I have. Unfortunately, I am still getting an error that the Elastodyn file is improperly formatted. OpenFAST input file heading: Running ElastoDyn. FAST_InitializeAll:AD_Init:ParsePrimaryFileInfo:ParseSiAry:
OpenFAST encountered an error during module initialization. Aborting OpenFAST. I have attached all the echo and input files (aero and elaso) for you to have a look at. From my understanding is that the eco files truncate the line were there's an error in the input file, but I could see were the error is. Echos_853.zip Thanks in advance :) |
Dear @QusayHawari, I understand that you are using OpenFAST v3.0; is that correct? The table of tower aerodynamic analysis nodes in the AeroDyn primary input file previously had three columns (TwrElev, TwrDiam, and TwrCd), but recently in OpenFAST v2.6 and newer, a fourth column was added (TwrElev, TwrDiam, TwrCd, and TwrTI). It looks like you need to add one column of data. Best regards, |
Hello, Thanks for you help throughout this process. I finally managed to run OpenFAST on the 15MW (semi-sub). The simulation only managed to linearized the model at one of the indicated times only (due to the FATAL error). I wanted to also ask about the content on the .lin files. The output contained .lin from the following inputs: My question are :
Thanks in advance, and apologies for asking too much :) ----------------------------OUTPUT FROM RUN--------------------------- OpenFAST input file heading: Running ElastoDyn. FAST_Solution:FAST_AdvanceStates:ED_ABM4:ED_CalcContStateDeriv:SetCoordSy:Small angle assumption
The BEM solution is being turned off due to low TSR. (TSR = -632.51). This warning will not be FAST_Solution:FAST_AdvanceStates:AD_UpdateStates:SetInputs:TwrInfl:getLocalTowerProps:Tower OpenFAST encountered an error at simulation time 19.35 of 110 seconds. Aborting OpenFAST. |
Dear @QusayHawari, I'm glad you got the IEA 15-MW model upgraded to OpenFAST v3.0. Just a few comments:
Best regards, |
Hello, Thanks for clarifying the state matrices. Regarding point three, the input wind speed I assigned in the InflWind input was 15m/s (which is in region 3), so TrimCase was set to 3. The problem is that TrimCase input is only active if CalcSteady is active, and if CalcSteady is active I cannot obtain the .lin files, because the LinTimes input will be inactive as it require that both Linearize and CalcSteady be True and False, respectively. I have attached the .fst file I am using. Regards, |
Dear @QusayHawari, When With Best regards, |
Hello,
I ran the model and I got the following: OpenFAST input file heading: Running ElastoDyn. Intialization: MAP_WARNING[1] : Extra characters are present in the cable library portion of the MAP input file. word: <(-)> FAST_InitializeAll:MAP_Init:MAP_WARNING[1] : Extra characters are present in the cable library OpenFAST encountered an error during module initialization. Aborting OpenFAST. This seems to be just a warning, so I am not sure why the simulation is FATAL! Finally, I have a question also related to linearization. Previously I received an error that I should set PCMode to 0 if I want to linearize. Does this mean that no pitch control will be used, which is creating those unstable results? I have attached the .fst, ServoDyn, HydroDyn, and MoorDyn for you to look at. Thanks in Advance, |
Dear @QusayHawari, When there are are as many warnings as you are showing, then the string being written to the screen may not be long enough to show the actual error. But briefly looking at your files, the problem is that you are calling MAP++, but are using a MoorDyn input file. In OpenFAST v3.0, full system linearization functionality is not available when MoorDyn is enabled. So, you'll need to convert your MoorDyn model to MAP++. (NREL is wrapping up work to allow for the linearization of MoorDyn within the full-system linearization capability of OpenFAST; this functionality should be released soon.) You are correct that the full system linearization functionality of OpenFAST currently requires that Best regards, |
Hi, Thanks for the clarification. I am not sure if what I did is accurate, but based on what you said, I just copy pasted what's in the MAP file in to the Moordyn. I ran two simulations: a- NLinTimes = 1 b- NLinTimes >1 I have attached a .txt file containing all the relevant settings I changed from all the input files. If you have time, please double check if they are correct. Those settings remained the same for a, and b except for NLinTimes. Thanks in Advance, ----------------------------RUN A-------------------------- OpenFAST input file heading:
Running ElastoDyn. Setting WaveTMax to 0.0 since WaveMod = 0 Total Real Time: 9.223 seconds OpenFAST terminated normally. --------------------------RUN B-------------------------- Simulation error level: FATAL ERROR |
Dear @QusayHawari, I agree that there is a bug associated with For you simulation where Best regards, |
Hi, Thank you for the quick reply, I Changed TimGenOn to 0.0s, but unfortunately the simulation crashes again. It occurred at a different time (5e-2 s), and due to a low TSR. Does it have to do with the following changes (in .fst)? 0.455456 TrimGain I was not sure what is meant by damping of the tower. Is it the damping for the tower mode? if so is is for the side-side, or fore-aft? similarly for the blade? I just set the damping to be low for the tower, and 50% for the blade. Finally, for TrimGain, I just used the proportional gain factor from the DISCON.IN file at my input wind speed. Time: 0 of 30 seconds. FAST_Solution:FAST_AdvanceStates:AD_UpdateStates:BEMT_UpdateStates:UpdatePhi(node 5, blade FAST_Linearize_T:FAST_CalcSteady:The rotor is spinning too fast. The time step or NLinTimes is OpenFAST encountered an error at simulation time 5.00000E-02 of 30 seconds. Thanks, |
Dear @QusayHawari,
For Best regards, |
Hi, There is something strange with DT in the main .fst file. I tried reducing it, and simulation crashed at later times, for example, the following. 0.025s : System ran to 0.025s. I will keep working on it, and let you know! Thanks, |
Dear @QusayHawari, If the time step is having a strong effect on the solution, it sounds like your model is numerically unstable. Are you simulating with Can you run a standard time-domain simulation (with controller enabled) rather than a steady-state solution with the original time step? If so, what exactly do you change between the simulation that runs and the steady-state solve that crashes? Best regards, |
Hi, I changed PCMode to 5, set linearize, and CalSteady to false, and increased DT to its original value of 0.025s. The problem is that the libdiscon.so file is for 32-bit. Is there a 64-bit release. otherwise I can use pitch.ipt input file? Thanks, |
Dear @QusayHawari, The IEA Wind 15-MW reference wind turbine should be simulated using the ROSCO controller (rather than the old sample pitch controller that relies on a pitch.ipt input file.) To make full use of this controller, you should also set I don't use Mac/Linux, but I'm surprised the provided *.so file for the ROSCO controller is 32-bit. Perhaps you can find the 64-bit version on the ROSCO github site: https://github.com/NREL/ROSCO? Otherwise, I'd post your question there. Best regards, |
@QusayHawari could you share the error message you encountered? How did you determine you are using a 32-bit version of the DISCON controller? |
Hi, I was using *.so instead of the *.dylib on MAC :) Thanks |
Ok, and then OpenFAST was giving you the error about either the controller being 32 bit or that the path is not found? |
Hi, OpenFAST was giving either file not found or is for a 32-bit applications shown in the message below: FAST_InitializeAll:SrvD_Init:BladedInterface_Init:The dynamic library I asked the ROSCO team about it, and they directed me to the .dylib file :) Regards, |
Got it. And is it correct that the fix for this problem was to double check the file path for the controller library and change it use the correct extension for the controller on your system? (I'm clarifying for the reference of any future readers) |
Yes exactly. It was not clear from the ServoDyn file that there was a .dylib. The comment on the DLL_FileName specified that there is either .dll or .so. I thought the only way was to generate it yourself. Now it's clear. Qusay |
Ah good to know, thanks for the additional information. |
Hi,
I am working on MAC, and trying to obtain the OpenFAST build libraries.
I used Brew to get all the necessary tools (cmake, gcc, fortran, openblas, lapack). I also used Brew install OpenFAST.
To make sure I have all the tools, I used Brew info OpenFAST, and I got the following;
To get the Makefiles I used cmake .. (after moving into the directory of /OpenFAST/build, and using mkdir build && cd build) and executed/got the following:
Is there anything I can change from the cmake file, or use a different cmake compiler for it to work?
I previously used clang 4.0, but did't work as well.
Thanks in advance,
Qusay.
The text was updated successfully, but these errors were encountered: