-
Notifications
You must be signed in to change notification settings - Fork 469
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
Runtime error when linearizing with dev branch #620
Comments
I haven't tried to test the segmentation fault or runtime error, but I see another issue in this case. ElastoDyn is issuing a warning about the initial blade tip displacements being incompatible with the the enabled DOFs. In @dzalkind's case, all blade DOFs are disabled, and so, all the blade displacements should be zeroed (which is also what ElastoDyn does for the tower--that is, all initial tower displacements are ignored when all tower DOFs are disabled. But instead, based on the error message, it appears that some nonzero edgewise displacement is being set. This suggest a bug in the logic within SUBROUTINE ElastoDyn.f90/InitBlDefl() that should be fixed. @dzalkind -- To avoid this issue before it is fixed, you could set OoPDefl = IPDefl = 0.0 when FlapDOF1 = FlapDOF2 = EdgeDOF = FALSE. |
the code uses size(Ary) on an Ary that is not necessarily allocated. Now it is allocated to size 0 if there are no continuous states, which should fix the issues with using the size() function.
@dzalkind, I didn't run your files, but based on the error in your screenshot, I think the updated code in https://github.com/bjonkman/openfast/tree/b/issue620 will fix the segmentation fault / runtime error issue. Let us know if that fixes your issue, and I'll submit a pull request to get this fixed on OpenFAST/dev, too. |
@bjonkman, this fix works! Thank you! |
@jjonkman, thanks for the explanation! This will save me some time when doing linearizations. I was solving for the steady state deflections and using them as initial conditions because I thought OpenFAST was using them as constant offsets in the simulation when the blade/tower DOFs were disabled. |
Fixes issue #620 The code uses size(Ary) on an Ary that is not necessarily allocated. Now it is allocated to size 0 if there are no continuous states, which should fix the issues with using the size() function.
I'm reopening this issue because the second bug--identified in ElastoDyn--has not yet been fixed. |
Dear Everyone, I saw this issue was fixed in the latest dev branch, but I still have similar (segmentation fault) but different errors as below. Do you have any ideas on how to fix this issue? Thank you!
|
@Seager1989, can you compile in debug mode and run the linearization again with the latest dev? That might give an indication of where the segmentation fault is (the stacktrace above is not something I can decipher without more context). |
Hi Andy, I compiled the latest dev in debug mode and run the model again. To save time, I only set 20 s simulation time with the first linearization time at 10 s. The full output with the error is listed below. I do not see much difference but hope you can get useful information. In addition, I compiled the latest dev with debug mode by (for your reference): If you need any other information, please let me know. Thank you!
|
You say you have the latest dev branch, but the git hash is from an earlier version from December 11. Could you pull the latest changes from dev and try again? I don't think you have the fix that was merged in #623. |
Thank you for pointing this out. I merged the latest update and checked it with the #623 merged. The error is still in there but with some detailed error information. There are many messages so I attached them as a document. Thank you and Andy for your help to fix this problem. The major error is listed below for your quick review and warnings were reported on the Elastodyn.
|
Found in error message from OpenFAST#620
Thanks, That error message helps a lot. I fixed a couple of things in https://github.com/bjonkman/openfast/tree/b/HD_lin. Hopefully that will solve the issue here. I'll create a pull request with this change, too. |
Yes, the new branch works well on my side even with some warnings from the Elastodyn. Thank you for your help to fix this problem. |
Found in error message from #620
Closing this issue since #634 has been merged to |
I'm reopening this issue because the second bug--identified in ElastoDyn--has not yet been fixed. |
There are actually 3 separate issues in this thread, so maybe we should open a new issue for the one that is not yet fixed? |
Linearization appears to also be broken in the TCF_mods2 PR #537. |
I'm not sure at the moment if this issue should still be open, so I'm going to close it. One thing to note: I have recently run across a bug where linearization will seg-fault if an invalid channel name was requested AND the |
Bug description
I get either a segmentation fault or runtime error (depending on compilation) when trying to linearize on the dev branch with
and only the
GenDOF
is enabled in ElastoDyn.To Reproduce
Steps to reproduce the behavior:
Expected behavior
When running this same case (and deleting a line in lin_0_InflowWind.dat) on the master branch, the linearization completes as expected.
Screenshots, if applicable

OpenFAST Version
System Information (please complete the following information):
Additional context
It looks like
p%dx
is empty but has a size of 1...that's about as far as I got into debugging. Have a happy new year, OpenFAST team!The text was updated successfully, but these errors were encountered: