-
Notifications
You must be signed in to change notification settings - Fork 458
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
Updating MD Body Kinematics #2334
Conversation
Thanks @RyanDavies19 for the update. The equations and code changes look good to me. |
@RyanDavies19: I confirm that with the fix from an hour ago, the initial rotation is properly taken into account. I'm going to re-run the free-decays for the buoyant cans from the USFLOWT project and see if there is any improvement. |
I re-run the free-decay that I was commenting here: FloatingArrayDesign/MoorDyn#207 (comment) Unfortunately, I don't see any differences between this update and the previous MoorDyn version: In case someone wants to run this in MoorDyn standalone, the input file is available in the link that I provided above. |
@RBergua thank you for checking this, I was hopeful that wouldn't be the case. Either way, it's good to make things more accurate on the core kinematics. |
Interesting results. So this suggests MoorDyn is underpredicting the hydrodynamic added mass in pitch relative to the other models, right? |
That's right, @mattEhall. This suggests that the added mass effect in MoorDyn is slightly smaller than in the other models. Just as a clarification: none of the models accounts for added mass in the axial direction. The added mass is only included in the radial direction. |
Note this PR now also has additions to lines, including handling partial submergence and fluid inertia forces. These are from existing code in MD-C |
After OpenFAST/r-test#132 is merged, tests should be all good |
d895265
to
47bd9f8
Compare
47bd9f8
to
7808e17
Compare
Feature or improvement description
This adds centripetal and gyroscopic forces to bodies, rods, and points to account for differences between the object reference point and its COG. It also enables rod centripetal and gyroscopic force/moment calculations about end A that had been previously commented out.
The following general code has been added. In bodies it accounts for discrepancies between the reference position and the user defined COG. In points and rods it accounts for the centripetal force they exert on bodies that they are attached to. Note that for rods, while kinematics and forces are handled about end A of the rod, centripetal forces act between the rod COG and the body reference point.
Please review @luwang00 @mattEhall when you get a chance.
Related issue, if one exists
FloatingArrayDesign/MoorDyn#207
Impacted areas of the software
MoorDyn
Additional supporting information
This will likely cause reg tests to fail that use bodies and/or rods in MoorDyn.
Test results, if applicable
If the commented out changed code (will remove before merging) in the driver is uncommented and the attached input file set is run the following test is run:
This test has two bodies with rods attached. One body is located at [0,0,-2] with a rod attached to the body that has it's COG at the body ref point (this is body1 and rod1 in the md input file). The other body is located at [0,10,-2] with the rod COG located at [0,-10,0] relative to the body (body2 and rod2). This places both rods in the same place.
Body 1 is then given an initial velocity of [0, 0, 0, 0.2, 0, 0] and body 2 is given an initial velocity of [0, 0, 10*0.2, 0.2, 0, 0]. In theory this would cause both rods to rotate about their COG in the y-z plane with body 2 'orbiting' around rod 2. However what is seen is that body 2 moves constantly along the y=10 line with the rod orbiting it. This is best visualized from the original bug report of this on the C side, which ran the same test: FloatingArrayDesign/MoorDyn#207 (comment)
This test gives the following results (note in before the body2 y location is steady, indicating the body is not 'orbiting' the rod, and in the visualization of the rods, rod 2 clearly is not spinning about its COG):
Before:
Now:
kinematics_test.txt
kinematics_test_driver.txt