-
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
OLAF improvements for WEIS #648
Conversation
…n some functions NOTE: overcylcing will still introduce frequencies, even without rollup and prescribed gamma. results are worst at tip when rotating.
…ble at t, needs to call inflowwind within OLAF
Per discussion here: OpenFAST#595 (comment) The single quote on the `-fstack-reuse='none'` flag was creating issues in windows builds with gfortran.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR may be undoing PR #627.
|
||
|
||
!> Flatten/ravel a 3D grid of vectors (each of size n) | ||
subroutine FlattenValues(GridValues, FlatValues, iHeadP) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wouldn't it be possible to use the Fortran intrinsic reshape
to do what FlattenValues
and DeflateValues
do?
FlatValues(:,:) = reshape( GridValues, (/ size(gridvalues,1), size(gridvalues,4)*size(gridvalues,3)*size(gridvalues,2) /) )
(or something along those lines -- I don't remember the exact syntax)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From my teaching and experience I've avoided using intrinsic functions for large datasets, some of them are using the stack and fail without reporting errors. I've been told these simple loops are easy for the compiler to optimize. But
in that case you might be right, and I don't know which one would perform best!!! This function has a little "bonus" that allows me to flatten several grids into one array by calling this function several times for different arrays, changing iHeadP. I'm using this to pack all the control points from all the user-grids into one array that is then sent to the induced velocity function.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't check through the full logic of the over cycling, but I think I have a rough understanding of how it works.
I also noticed a few print*
and save
variables, but as far as I can tell, those are all debug related so they shouldn't pose issues in normal use.
We may need to merge |
This also clears conflicts with r-test/f/weis_olaf
Oops. I didn't update the elliptical wing results before merging. :( I'll setup a new PR for that update. |
I should have updated them in: |
I see the updates for the linux-gnu results there, but not for the other 3. Do you have some updates for the intel ones that didn't get pushed? I can handle the macos-gnu one. |
Issue #742 may be related to the missing updates for the Windows baselines for the EllipticalWing regression test. |
This pull request is not ready to be merged.
Feature or improvement description
The following features are included in this pull request:
The features have been documented in OLAF's documentation. The changes to the input file (gridOutputs) are optional.
Related
Requires #647 and #589
Impacted areas of the software
AeroDyn/OLAF
Additional supporting information
Test results, if applicable
Changes in EllipticalWing test case are negligible and down to numerics.
Checklist