Skip to content

Conversation

@luwang00
Copy link
Contributor

@luwang00 luwang00 commented Feb 20, 2025

Feature or improvement description
This PR adds the implementation of rectangular members in HydroDyn and SubDyn. It also includes various other bug fixes and improvements including the following:

HydroDyn

  • In HydroDyn, ballast water is now handled consistently assuming no internal free surface when computing the inertial loads and the internal hydrostatic loads. This is consistent with the fact that HydroDyn does not model internal sloshing.
  • In HydroDyn, corrections were made to the rotational equations of motion of ballast water and marine growth.
  • In HydroDyn, inertial loads from marine growth on joints were previously zeroed when the joint emerges from water. This is now corrected.

SubDyn

  • In SubDyn, the implementation of arbitrary-section beams was previously incomplete. This is addressed by this PR.
  • In SubDyn, it was previously assumed that the torsion constant is the same as the section polar area moment of inertia for arbitrary beam sections. However, this is only true for circular sections. Now, two separate values can be provided for the torsion constant and polar area moment of inertia for arbitrary beam sections.
  • In SubDyn, the orientation of arbitrary-section beams was previously set according to user-defined direction cosine matrices. However, there was no check on whether the user-defined direction cosine matrices are valid rotation matrices, or that they are consistent with the member end joints. Now the orientation of arbitrary-section beams is determined based on its two end joints plus a spin angle about its axis, same as rectangular members. The spin angle is also introduced for circular members to give users more control on the element local coordinate system for load outputs. Now, only spring elements still use the user-defined direction cosine matrices.
  • In SubDyn, addressed Issue SubDyn: direction cosine matrix has no checks #2634 by checking the orthogonality and the determinants of user-defined direction cosine matrices.
  • SubDyn now errors out if the COSMID of a spring member references a nonexistent entry in the direction cosine matrix table. Previously, it defaults back to the identity matrix by a series of coincidence without reporting an error.

OpenFAST_IO

  • OpenFAST_IO has been updated with the new HydroDyn and SubDyn inputs.

TO-DOs
The HydroDyn strip-theory member visualization should be updated to support rectangular members. @andrew-platt and @deslaughter will help with this.

Related issue, if one exists
Issue #2634

Impacted areas of the software
HydroDyn, SubDyn, OpenFAST_IO

Test results, if applicable

  • Due to the changes and bug fixes to ballast-water and marine-growth modeling, results of r-test cases involving either need to be updated.
  • The HydroDyn and SubDyn input files also need to be updated due to the addition of rectangular members. These are completed in the referenced r-test commit, and all tests passed.
  • Added a new r-test for the semi-numerical computation of hydrostatic loads on rectangular members.
  • A new r-test with a cantilever rectangular-section beam in SubDyn is developed by @RBergua and added through this PR.

Mostly finished member and joint initialization
…ngular members. Also introduced spin about member axis.
…hydrostatic loads if one of the edge length is zero
…al and rectangular members, added missing input checks, and made various other small fixes
Also patched up the arbitrary-section beam implementation.
…lar (for outputs), rectangular, and arbitrary sections
…rectangular beam sections

* Added alternative torsion constant and shear coefficient estimates for solid rectangular sections in addition to thin-walled sections.
* Use a more accurate formula for the shear coefficient of thin-walled rectangular sections.
* Added a warning message if the section is neither solid nor thin-walled.
* Other small bug fixes.
@RBergua
Copy link
Contributor

RBergua commented Feb 27, 2025

I performed one verification for a cantilever beam using rectangular cross sections. This verification test is based on the OC7 Phase II project (undergoing).

The first part of the verification is a static deflection test according to the gravity acceleration (9.80665 m/s^2) and a vertical force Fz = 1.345E7 N. The system and boundary conditions are as follows:
image

The properties of the flexible pontoon are:
image

The properties of the outer column (lumped mass) are:
image

I compared the results from SubDyn (linear assumption) against SAMCEF (non-linear approach) and HOTINT (non-linear approach). As can be observed, there is excellent agreement between the three codes for the vertical deflections along the pontoon:
image

In addition, another verification regarding the eigenfrequencies of the system was performed. The below table compares the first 4 eigenfrequencies. Once again, very good agreement between SubDyn and SAMCEF is obtained:
image

This verification test has been added in the r-test repository:
https://github.com/OpenFAST/r-test/tree/main/modules/subdyn/SD_CantileverBeam_Rectangular

For reference, a comparison between the Timoshenko beam theory (see above results) and the Euler-Bernoulli beam theory is provided next. As can be observed, when modeling the system with Euler-Bernoulli beams, the system behaves slightly stiffer (as expected). The vertical deflection of the last point when using Euler-Bernoulli beams is 2.5% smaller. Good agreement is observed between SubDyn and Project Chrono for the Euler-Bernoulli approach.
image

@luwang00 luwang00 marked this pull request as ready for review February 28, 2025 19:15
@andrew-platt andrew-platt self-assigned this Mar 7, 2025
@andrew-platt andrew-platt added this to the v4.1.0 milestone Mar 7, 2025
@andrew-platt
Copy link
Collaborator

andrew-platt commented Mar 14, 2025

- [ ] add visualization of rectangular members

@andrew-platt
Copy link
Collaborator

Visualization will be in a separate PR (requires changes to the meshes)

Copy link
Collaborator

@andrew-platt andrew-platt left a comment

Choose a reason for hiding this comment

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

Looks good. I didn't go through all the equations, but the modifications look reasonable.

Copy link
Collaborator

@deslaughter deslaughter left a comment

Choose a reason for hiding this comment

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

I think it looks good. We should get together sometime and work in restructuring Morison for better performance, but this is relatively easy to read. Just had a couple of suggestions to make the code easier to maintain.

@andrew-platt andrew-platt merged commit a835be1 into OpenFAST:dev Apr 11, 2025
22 checks passed
@andrew-platt andrew-platt mentioned this pull request Jun 18, 2025
37 tasks
@luwang00 luwang00 deleted the f/RectangularMembers branch July 9, 2025 17:47
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.

4 participants