Skip to content

Conversation

andrew-platt
Copy link
Collaborator

Ready to merge... if it works

Feature or improvement description
Using MoorDyn was artificially limited to 30 attachments to bodies, which was an issue for very large shared mooring FAST.Farm simulations. This PR parameterizes these limits in the registry so that it is easy to change later (this PR also bumps up the limits for now).

Related issue, if one exists
#3022

Impacted areas of the software
Very large MoorDyn models with many interconnects only.

Additional supporting information
This is not the ideal way to deal with this. A better solution is to set the limits on these arrays while reading in the model. However the memory cost with doing it this way is not large compared to the complexity the code could end up with.

Test results, if applicable
No test results should change.

These parameters are used both in the code and in the registry for sizing arrays.
Some FAST.Farm simulations were running into issues with too many lines attached to anchors or bodies.
@andrew-platt andrew-platt added this to the v4.2.0 milestone Oct 14, 2025
@andrew-platt andrew-platt self-assigned this Oct 14, 2025
Copy link
Contributor

@RyanDavies19 RyanDavies19 left a comment

Choose a reason for hiding this comment

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

@andrew-platt thanks for putting this together. There is a call of Point%nAttached <10 in MoorDyn_Point.f90 that should be changed.

It might also be good to add a check of il against MD_MaxFailLines to avoid array overrun in this loop:

DO il = 1, m%FailList(l)%nLinesToDetach

@mattEhall
Copy link
Contributor

Thanks Andy! I didn't realize that something like MD_MaxBdAtch could be available within subroutines like Body_AddPoint without extra parameters being passed in. This will be great.

- Body_AddRod
- Body_AddPoint
- Rod_AddLine
- Check nLinesToDetach <= MD_MaxFailLines
@andrew-platt andrew-platt merged commit 0824380 into OpenFAST:dev Oct 20, 2025
23 of 24 checks passed
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.

3 participants