Skip to content
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

[BugFix] AD15 nacelle reference position was set to hub position #982

Merged
merged 1 commit into from
Jan 27, 2022

Conversation

andrew-platt
Copy link
Collaborator

This PR is ready for merging

Feature or improvement description
The AeroDyn 15 nacelle reference position was set to the hub reference position.

The effect of this is likely very small since mesh mapping at the glue code accounts for any location differences, and aero loads on the nacelle from AD15 would be nearly identical calculated at the correct nacelle location or at the hub. However, buoyancy loads on the nacelle were applied at the hub rather than nacelle location, but mapped to the nacelle in the glue code which would result in an unexpected moment.

Related issue, if one exists
#957

Impacted areas of the software
This likely only affects buoyancy loads on the nacelle the MHK feature under development.

@andrew-platt
Copy link
Collaborator Author

@bjonkman, could you review this?

@andrew-platt andrew-platt requested a review from jjonkman January 27, 2022 23:09
Copy link
Collaborator

@jjonkman jjonkman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense to me.

@andrew-platt andrew-platt merged commit 596208b into OpenFAST:dev Jan 27, 2022
@@ -1031,7 +1031,7 @@ subroutine Init_u( u, p, p_AD, InputFileData, InitInp, errStat, errMsg )
if (errStat >= AbortErrLev) return

! set node initial position/orientation
position = InitInp%HubPosition
position = InitInp%NacellePosition
position(1:2) = 0
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This mesh was originally created to transfer nacelle drag loads, which are calculated at the tower center line at hub height with the orientation of the nacelle. If you want this to be the actual nacelle position, you should probably also remove the line setting position(1:2)=0.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! I'll do that.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be great to add the drag loads at some point though. Should this mesh have two points then ? A nacelle center and an aerodynamic center?

Copy link
Collaborator Author

@andrew-platt andrew-platt Jan 31, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems like any offset to the aero center should be handled within AD15. So I would expect only a single mesh point is necessary for the loads to ED.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe two points on the mesh would be better.... I feel like we had a conversation with Hannah about this when I first sent her the code to add the nacelle mesh to AeroDyn. Did she alter her equations to be calculated at this different point???

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just saw this. The buoyancy calculations for the nacelle assume a nacelle reference position aligned with the tower centerline and vertically with the hub, which is how the nacelle position was defined previously. I assume this means I need to adjust the buoyancy calculation now? Where is the new nacelle reference position? @andrew-platt

Copy link
Collaborator Author

@andrew-platt andrew-platt Jan 31, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The nacelle reference position from the ElastoDyn NacelleLoads mesh (and sibling mesh NacelleMotion) is located at (0,0,TwrHt). This is what is passed to AD15 for the Nacelle initial position. So this should work as expected with the MHK buoyancy updates.

Copy link
Contributor

@hkross hkross Jan 31, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, I see. I think the key thing is to make sure it is clear in the documentation that the nacelle center of buoyancy input by the user should be relative to the tower top position. I believe Jason already suggested that "nacelle reference position" be changed to "yaw bearing", so that should take care of it.

We do have a calculation to move the correction for the tower top (since it is not exposed to fluid) from the center of buoyancy of the tower top node to the nacelle reference position. Since the tower center of buoyancy is assumed along the centerline and we are now defining the nacelle reference position as (0,0,TwrHt), these points should be coincident, so I could remove this calculation. Does this sound correct, @jjonkman? I could also leave it since it is more robust to future changes this way.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@hkross -- Yes, that sounds correct, but may as well leave that code in there in case the nacelle reference position is moved again.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I came across another potential issue with this. The AeroDyn driver does not pass the nacelle position to AeroDyn. Since the mesh creation in AeroDyn used to call InitInp%HubPosition, the nacelle position was not needed. This is fairly easy to fix and pass in the nacelle position. However, the nacelle position in the driver is set to (0, 0, HubHt+overhang*sin(shftTilt)) rather than (0,0,TwrHt), meaning that the nacelle position is defined differently when the AeroDyn driver vs OpenFAST driver is used. This will affect the buoyancy calculations, since the user inputs offsets for the nacelle center of buoyancy relative to the tower top. I'm not sure there is even enough info in the AeroDyn driver input file to be able to calculate TwrHt. @andrew-platt and @ebranlard, do either of you have any input on this?

andrew-platt added a commit that referenced this pull request Jan 31, 2022
Forgot to remove an override of the position for the Nacelle mesh in PR #982.
@andrew-platt andrew-platt deleted the b/AD15_NacelleRef branch January 31, 2022 19:09
andrew-platt added a commit to andrew-platt/openfast that referenced this pull request Feb 15, 2022
Forgot to remove an override of the position for the Nacelle mesh in PR OpenFAST#982.
@rafmudaf rafmudaf mentioned this pull request Mar 2, 2022
11 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants