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

Initial active tensioning capabilities in MoorDyn #565

Merged
merged 14 commits into from
Dec 18, 2020

Conversation

mattEhall
Copy link
Contributor

This pull request is probably ready to be merged, but it may require glue code changes to work.

Feature or improvement description
This PR adds active tendon tensioning capability to MoorDyn and also includes MoorDyn driver. The added active tensioning capability is based on changing the length and length rate of change of the last segment in a mooring line. Commanded DeltaL and DeltaLdot inputs are expected from the glue code. A new column as been added to the Line Properties table in the input file, to assign each mooring line a control channel number. Currently, the number of control channels (and the size of these input arrays) is determined based on the highest control channel number given in the input file.

Impacted areas of the software
This update adds inputs for active tensioning, which would be provided by ServoDyn through the glue code. However, it may work without these inputs being provided. This update requires a small adjustment to the input file format.

Additional supporting information - input file change required
Below is an update to the MoorDyn input file for the "5MW_OC4Semi_WSt_WavesWN" test case, providing the added CtrlChan column in the Line Properties section:

--------------------- MoorDyn Input File ------------------------------------
Mooring system for OC4-DeepCwind Semi
FALSE    Echo      - echo the input file data (flag)
----------------------- LINE TYPES ------------------------------------------
1        NTypes    - number of LineTypes
Name     Diam      MassDen      EA    BA/-zeta  Can   Cat   Cdn   Cdt
(-)       (m)      (kg/m)       (N)   (N-s/-)   (-)   (-)   (-)   (-)
main     0.0766    113.35     7.536E8  -1.0     0.8   0.25  2.0   0.4
---------------------- CONNECTION PROPERTIES --------------------------------
6       NConnects - number of connections including anchors and fairleads
Node    Type      X        Y        Z       M     V      FX   FY   FZ   CdA   CA
(-)     (-)      (m)      (m)      (m)     (kg)  (m^3)  (kN) (kN) (kN) (m^2)  (-)
1      Fixed   418.8    725.383  -200.0     0      0      0    0    0    0     0
2      Fixed  -837.6      0.0    -200.0     0      0      0    0    0    0     0
3      Fixed   418.8   -725.383  -200.0     0      0      0    0    0    0     0
4      Vessel   20.434   35.393   -14.0     0      0      0    0    0    0     0
5      Vessel  -40.868    0.0     -14.0     0      0      0    0    0    0     0
6      Vessel   20.434  -35.393   -14.0     0      0      0    0    0    0     0
---------------------- LINE PROPERTIES --------------------------------------
3        NLines    - number of line objects
Line    LineType  UnstrLen  NumSegs   NodeAnch  NodeFair  Outputs  CtrlChan
(-)       (-)       (m)       (-)       (-)       (-)       (-)      (-)
1         main     835.35      20        1         4         -        0
2         main     835.35      20        2         5         -        0
3         main     835.35      20        3         6         -        0
---------------------- SOLVER OPTIONS ---------------------------------------
0.001    dtM       - time step to use in mooring integration (s)
3.0e6    kbot      - bottom stiffness (Pa/m)
3.0e5    cbot      - bottom damping (Pa-s/m)
2.0      dtIC      - time interval for analyzing convergence during IC gen (s)
60.0     TmaxIC    - max time for ic gen (s)
4.0      CdScaleIC - factor by which to scale drag coefficients during dynamic relaxation (-)
0.01    threshIC  - threshold for IC convergence (-)
------------------------ OUTPUTS --------------------------------------------
FairTen1
FairTen2
FairTen3
AnchTen1
AnchTen2
AnchTen3
END
------------------------- need this line --------------------------------------

…g time variable double-precision at all times.
…ver working:

 - Added active tensioning capability based on changing the length and lenght rate
   of change of the last segment in a mooring line. Commanded DeltaL and DeltaLdot
   changes are provided by the glue code in corresponding arrays, which are sized
   for the number of "channels". A new column as been added to the Line Properties
   table in the input file, to assign each mooring line a control channel number.
 - Currenlty, the number of control channels (and the size of these input arrays)
   is determined based on the highest control channel number given in the input file.
 - The current lenght change capability is limited to +100%/-50% of the original
   segment length. In future, greater changes can be possible if segments are
   dynamically added/removed from a line. This is future work.
 - Updated MoorDyn_Driver to (1) work and (2) allow testing of the dynamic tension
   capability.
@rafmudaf rafmudaf marked this pull request as draft November 6, 2020 17:54
@rafmudaf
Copy link
Collaborator

rafmudaf commented Nov 6, 2020

@mattEhall We've changed this to a draft pull request since it depends on @andrew-platt's upcoming TMD changes.

@andrew-platt
Copy link
Collaborator

r-test has been updated (branch r-test/MDmods). Everything passes locally.

@andrew-platt andrew-platt marked this pull request as ready for review December 17, 2020 21:49
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.

This is ready to merge. No baselines need updating.

@andrew-platt andrew-platt merged commit d297262 into OpenFAST:dev Dec 18, 2020
@rafmudaf rafmudaf mentioned this pull request Jan 13, 2021
rafmudaf pushed a commit that referenced this pull request Apr 6, 2021
* Docs: fix missing MD note in the api_change.rst

This was pointed out in bug #694

* Docs: update text in api_change.rst
@rafmudaf rafmudaf mentioned this pull request May 12, 2021
11 tasks
@WS991106 WS991106 mentioned this pull request Jun 4, 2024
@WS991106 WS991106 mentioned this pull request Jun 20, 2024
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