Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
151 commits
Select commit Hold shift + click to select a range
fd8b5b4
Crossflow VIV attempt 1
RyanDavies19 Feb 21, 2024
8e41671
Bug fixes VIV
RyanDavies19 Feb 26, 2024
f0fc52e
More viv bug fixes
RyanDavies19 Feb 26, 2024
09b94c1
Remove VIV IF statement, bug fix for end nodes
RyanDavies19 Mar 4, 2024
011c54c
Add VIV force output, frequency bug fix in lift force direction
RyanDavies19 Mar 6, 2024
5409dab
Removed natural frequency calc
RyanDavies19 Mar 18, 2024
4e8c803
Full CF VIV with hack for state var
RyanDavies19 Mar 26, 2024
e8cff61
Backwards compatibility with input file change
RyanDavies19 Mar 26, 2024
c173eef
Add rolling rms sampling time to options list as vivTs
RyanDavies19 Apr 27, 2024
58d616c
Docs update for failure
RyanDavies19 May 14, 2024
015dbaa
Update units for damping in comments and log
RyanDavies19 May 15, 2024
60855c3
Remove RMS sampling window from options, expand line list to include …
RyanDavies19 May 17, 2024
3568c8a
linear line initalization tolerance added
RyanDavies19 Jun 4, 2024
28b2fb1
Starting 2.3.4
sanguinariojoe Jun 24, 2024
550648b
Let's start building and testing MoorDynF
sanguinariojoe Jun 18, 2024
bbfe6ae
We do not need VTK
sanguinariojoe Jun 18, 2024
3e6cd67
pypa's build pacakge is required
sanguinariojoe Jun 18, 2024
42ae5e4
entries[0] is the failure index
sanguinariojoe Jun 20, 2024
c4b82d8
kbot and cbot options are accepted by MDF
sanguinariojoe Jun 20, 2024
fc94882
WIP verification against MDF
sanguinariojoe Jun 20, 2024
89a20e1
Verifier Python script
sanguinariojoe Jun 20, 2024
e237fd9
First try of verifying
sanguinariojoe Jun 20, 2024
1c4a758
The summary was wrong
sanguinariojoe Jun 20, 2024
6988737
Drop the automatic trigger on mdf branch
sanguinariojoe Jun 20, 2024
8b860b8
Slightly improved summary
sanguinariojoe Jun 20, 2024
8a85443
Send an error to github CI/CD if something fails
sanguinariojoe Jun 20, 2024
b05dde6
Check for MDF '***' outputs
sanguinariojoe Jun 24, 2024
7b20823
dict_values would be wrongly checked by np.all
sanguinariojoe Jun 24, 2024
d1d83be
I forgot the assert
sanguinariojoe Jun 24, 2024
dfb3227
Drop OpenGL functions
sanguinariojoe Jun 25, 2024
7d411cf
Removed a trace (unused) of OpenGL on Rust
sanguinariojoe Jun 25, 2024
71cec56
Added CFL base class
sanguinariojoe Dec 22, 2023
fad5f96
Added a CFL to the lines
sanguinariojoe Dec 22, 2023
4e33a7a
Added a CFL option to atumatically set the timestep according to the …
sanguinariojoe Dec 22, 2023
646672a
This is not anymore a problem
sanguinariojoe Dec 30, 2023
d3952e6
Stationary solution for initializations (and WIP Local-Euler)
sanguinariojoe Dec 30, 2023
840549b
Drop debugging VTK file printing
sanguinariojoe Dec 31, 2023
495cabc
Test the local-Euler and Euler time schemes consistency
sanguinariojoe Dec 31, 2023
c982879
Allow initializing lines hanging above the seabed
sanguinariojoe Jan 2, 2024
1d57ab6
Local-Euler test on a hanging line split on the middle
sanguinariojoe Jan 2, 2024
cd1f7b5
We do not need to initialize twice
sanguinariojoe Jan 2, 2024
53ed9ce
Upgraded Orcaflex validation to Catch2
sanguinariojoe Jan 3, 2024
a811fd0
Show a renormalized error, which makes more sense
sanguinariojoe Jan 3, 2024
c9e03eb
Complex system local-euler test
sanguinariojoe Jan 3, 2024
bb3b339
Slightly reduce the time step so it is stable when using ctest
sanguinariojoe Jan 13, 2024
1fb9436
Base class for local-timestep integrators
sanguinariojoe Jan 13, 2024
1632699
Non-tested local timestep Adam-Bashforth schemes
sanguinariojoe Jan 13, 2024
cf62831
Adams-Bashforths were not actually working as themselves
sanguinariojoe Jan 13, 2024
a5ec183
Added the new local-timestep schemes to the docs
sanguinariojoe Jan 14, 2024
b3bb9de
Windows...
sanguinariojoe Jan 15, 2024
dc5710c
More Windows...
sanguinariojoe Jan 15, 2024
380192b
Newmark implicit scheme (ACA)
sanguinariojoe Feb 6, 2024
ed9a666
Optimized Midpoint and Backward Euler schemes
sanguinariojoe Feb 19, 2024
cf8b66f
Fixed the wrong number of iterations
sanguinariojoe Feb 21, 2024
ba0883e
Added API entries to modify the time step related variables
sanguinariojoe Feb 22, 2024
681aada
Added a midpoint implicit test to optimize it
sanguinariojoe Feb 22, 2024
7b12887
Some fixes
sanguinariojoe Feb 22, 2024
78a7265
Optimized the time steps at the OrcaFlex validation
sanguinariojoe Feb 23, 2024
7766a5d
New time steps
sanguinariojoe Feb 23, 2024
11081e9
Added the complex example to the midpoint scheme
sanguinariojoe Feb 23, 2024
2aa724d
Wilson-theta scheme
sanguinariojoe Mar 22, 2024
9395781
WIP Anderson's acceleration
sanguinariojoe Mar 27, 2024
86ac45f
WIP Anderson's accelerator
sanguinariojoe Mar 27, 2024
b4a8cae
Simplified some computations
sanguinariojoe Jun 5, 2024
b074a30
Wrong number of nodes on the API provided wave kinematics
sanguinariojoe Jun 10, 2024
1e91467
Tweaked the AB2 scheme, which was failing
sanguinariojoe Jun 11, 2024
696c5b5
Unitialized q0 on zero-length rods
sanguinariojoe Jun 11, 2024
0924f14
Slightly reduce the time step so midpoint is not failing
sanguinariojoe Jun 11, 2024
ed4b4f1
Started the automatic memory checking
sanguinariojoe Jun 11, 2024
8a03a81
Typo checking if valgrind was found
sanguinariojoe Jun 11, 2024
7260f82
Suppress some system mem leaks
sanguinariojoe Jun 11, 2024
91c26e9
Release the logger when the MoorDyn system creation fails
sanguinariojoe Jun 11, 2024
ca1a348
RelWithDebInfo for running mem checks
sanguinariojoe Jun 11, 2024
eaaf847
Run several memchecks simutaneously
sanguinariojoe Jun 11, 2024
b7d3890
Mem leak on test
sanguinariojoe Jun 11, 2024
fc3e656
Release the previous time integrator before setting the new one
sanguinariojoe Jun 11, 2024
263adea
Uninitialized error values when no IC is computed (e.g. TmaxIC=0.0)
sanguinariojoe Jun 11, 2024
e04362f
Unintialized accelerations
sanguinariojoe Jun 11, 2024
fb73f93
Conn -> Point
sanguinariojoe Jun 11, 2024
cc8269c
Exclude very long tests from mem check
sanguinariojoe Jun 11, 2024
44cb75c
Give a shot to the memcheck on github
sanguinariojoe Jun 11, 2024
31498fb
Renamed job
sanguinariojoe Jun 11, 2024
11a7bfb
Disable more long tests
sanguinariojoe Jun 11, 2024
afff266
Mem leak on test
sanguinariojoe Jun 11, 2024
0c4c7f4
Do not mem check VTK (a lot of false positives)
sanguinariojoe Jun 11, 2024
16d7d9e
Restrict the mem checks to the pre-releases again
sanguinariojoe Jun 11, 2024
29395c9
Increase the stationary solution convergence verbosity
sanguinariojoe Jun 12, 2024
deb6e90
Lowe and Langley (OMAE-2006) validation
sanguinariojoe Jun 12, 2024
bf70e25
Dammit Windows!
sanguinariojoe Jun 12, 2024
e9a153b
Move the CFL documentation to the right place
sanguinariojoe Jun 14, 2024
c5c7c22
MoorDyn 2 -> Moordyn-C version 2
sanguinariojoe Jun 14, 2024
a64ce70
Added a note to clarify that time schemes are only available on MDC
sanguinariojoe Jun 14, 2024
63d8ddf
Added the Wilson scheme to the list
sanguinariojoe Jun 14, 2024
9055bb3
Typo that twisted MDF and MDC
sanguinariojoe Jun 14, 2024
44c8497
Typo on the name
sanguinariojoe Jun 14, 2024
37a218a
Documented the new time schemes
sanguinariojoe Jun 14, 2024
b27b57e
Restructuring the documentation
sanguinariojoe Jun 24, 2024
da6a618
Add old dynamic relax, tweak to default cfl, docs fixes
RyanDavies19 Jun 24, 2024
7119620
Small wording change in inputs.rst
RyanDavies19 Jun 24, 2024
9decd13
Set the legacy IC as the default one (just for backward compatibility)
sanguinariojoe Jun 25, 2024
67dddc7
Legacy IC is performing quite bad, I set stationary as the default on…
sanguinariojoe Jun 25, 2024
4463b47
It seems the test might fail on Windows, let's reduce the time step
sanguinariojoe Jun 25, 2024
a8f86a4
Docs update for OpenFAST PR 2280
RyanDavies19 Jun 25, 2024
c0b5b67
Some times there are coupled entities but there are not motions
sanguinariojoe Jun 26, 2024
b9fb4f3
Get the MoorDyn version on the legacy compilation systems
sanguinariojoe Jun 26, 2024
d842555
fix: Read first the writelog option, and then anything else
sanguinariojoe Jun 28, 2024
cc222d4
fix: The quaternions shall be renormalized to get the rotation matrix
sanguinariojoe Jun 28, 2024
2cff8b9
test: Excentrical body test
sanguinariojoe Jul 1, 2024
7fa5aa0
feat(body): Add centripetal forces for rotating bodies
sanguinariojoe Jul 2, 2024
13c55c2
test: Test the centripetal force on a simple case
sanguinariojoe Jul 2, 2024
8c0b8b0
test: Strip the VTK from the test and attach two points to the body t…
sanguinariojoe Jul 2, 2024
c4ffd66
build: MinGW needs the DECLDIR on Body::setState
sanguinariojoe Jul 2, 2024
bcdf7fe
fix: Freeze when writeLog is not the first option
sanguinariojoe Jul 2, 2024
7dd2a4c
fix: Centripetal force for parallel axes shall be null
sanguinariojoe Jul 3, 2024
50a919e
fix: Rebranding to include centripetal forces on getNetForceAndMass
sanguinariojoe Jul 3, 2024
8b68967
fix: Add a centripetal force to bodies with a excentric COG
sanguinariojoe Jul 4, 2024
1c59dca
Bump pypa/cibuildwheel from 2.19.1 to 2.19.2
dependabot[bot] Jul 8, 2024
4feaeba
fix: EulerZYX -> EulerXYZ on moordyn::Euler2Quat()
sanguinariojoe Jul 3, 2024
5f670e7
fix: accelerations of Coupled/fixed bodies/rods when there are severa…
sanguinariojoe Jul 4, 2024
d0ea9e1
fix: Odd treatment was meant for indexes from 1 to 3, not 0 to 2, and…
sanguinariojoe Jul 4, 2024
fce7756
test: Test the rotations
sanguinariojoe Jul 4, 2024
1634d17
test: Typo on the config file description
sanguinariojoe Jul 4, 2024
a62b60f
fix: EulerXYZ intrinsic angles instead of extrinsic
sanguinariojoe Jul 9, 2024
fc2d9cf
docs: Clarify that intrinsic angles are considered, and link to the e…
sanguinariojoe Jul 9, 2024
9992312
fix: Drop the patch to move from extrinsic to intrinsic Euler angles
sanguinariojoe Jul 10, 2024
290b300
Merge remote-tracking branch 'upstream/dev' into viv_dev2
RyanDavies19 Jul 25, 2024
5eb1d48
fix: make rod submergence calcs match what is in MDF (verified code)
RyanDavies19 Jul 26, 2024
d40897b
fix: make rod submergence calcs match what is in MDF (verified code)
RyanDavies19 Jul 26, 2024
7d0eb0a
Merge pull request #237 from RyanDavies19/rod_sub_fix
RyanDavies19 Jul 29, 2024
9770ece
Merge remote-tracking branch 'upstream/dev' into viv_dev2
RyanDavies19 Jul 29, 2024
2acbfcf
Updated consol printing for water kin, fixed lift force
RyanDavies19 Oct 2, 2024
23a48c2
feat: Cleaned up the hack-ish state to generalize it for visco stuff.…
RyanDavies19 Oct 17, 2024
ba78386
docs: Added # comment character instructions to docs
RyanDavies19 Oct 17, 2024
4c2f789
feat: Viscoelastic model with constant and load dependent dynamic sti…
RyanDavies19 Oct 17, 2024
4bcbe37
Merge remote-tracking branch 'upstream/dev' into viv_dev2
RyanDavies19 Oct 17, 2024
73aef12
docs: Minor change to update viscoelastic docs
RyanDavies19 Oct 17, 2024
084f231
fix: some small fixes for viscoelastic stuff
RyanDavies19 Oct 18, 2024
f3d4a2a
fix: removing files
RyanDavies19 Oct 18, 2024
b603998
fix: removing one more file
RyanDavies19 Oct 18, 2024
f575aef
fix: cleaned up some time scheme stuff (added in more spots where Mis…
RyanDavies19 Oct 18, 2024
2413666
fix: some more stiffness fixes. Noteably before when reading a non-li…
RyanDavies19 Oct 18, 2024
a7bd34c
docs: clarifying dtout
RyanDavies19 Oct 21, 2024
5f8006e
fix: dynamic current inflile reading fix
RyanDavies19 Oct 21, 2024
b39211a
fix: Some more notes explaining the synchronization model
RyanDavies19 Nov 13, 2024
ed6235a
Direction Fix
RyanDavies19 Nov 15, 2024
4abc5e5
fix: major clean up to the synchronization model
RyanDavies19 Nov 15, 2024
9386687
Merge remote-tracking branch 'upstream/dev' into viv_dev2
RyanDavies19 Jan 13, 2025
86e1505
fix: cleaning up after merge
RyanDavies19 Jan 13, 2025
b7ebf32
Merge remote-tracking branch 'upstream/dev' into viv_dev2
RyanDavies19 Jan 14, 2025
0cbabea
fix: comment out include random
RyanDavies19 Jan 14, 2025
f9dde93
fix: update docs with minor clarifications, move VIV model to interna…
RyanDavies19 Feb 25, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 29 additions & 13 deletions docs/inputs.rst
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,8 @@ two fixed points located far from where your system is located.
Most of the sections are set up to contain a table of input information. These
tables begin with two preset lines that contain the column names and the
corresponding units. These lines are followed by any number of lines containing
the entries in that section's table of inputs.
the entries in that section's table of inputs. # is the general comment chacater. If you are adding notes
to self after any of the lines, # will prevent MoorDyn from reading them.

Examples of input files for MoorDyn-C can be found in the `test directory <https://github.com/FloatingArrayDesign/MoorDyn/tree/master/tests/Mooring>`_ (note that these do not include outputs becasue they are for tests).

Expand All @@ -273,10 +274,10 @@ that will be used in the simulation

.. code-block:: none

---------------------- LINE TYPES -----------------------------------
TypeName Diam Mass/m EA BA/-zeta EI Cd Ca CdAx CaAx
(name) (m) (kg/m) (N) (N-s/-) (N-m^2) (-) (-) (-) (-)
Chain 0.1 150.0 1e8 -1 0 2.3 1 1.0 0.5
---------------------- LINE TYPES ----------------------------------------------------------------------
TypeName Diam Mass/m EA BA/-zeta EI Cd Ca CdAx CaAx Cl dF cF
(name) (m) (kg/m) (N) (N-s/-) (N-m^2) (-) (-) (-) (-) (-) (-) (-)
Chain 0.1 150.0 1e8 -1 0 2.3 1 1.0 0.5 0.8 0.08 0.18

The columns in order are as follows:

Expand All @@ -294,6 +295,14 @@ The columns in order are as follows:
- Ca – transverse added mass coefficient (with respect to line displacement)
- CdAx – tangential drag coefficient (with respect to surface area, π*d*l)
- CaAx – tangential added mass coefficient (with respect to line displacement)
- Cl – OPTIONAL - the crossflow VIV lift coefficient. If set to 0, then VIV calculations are disabled for the
line. This coefficient has been made backwards compatible. If it is not provided, then it is
assumed to be 0.0. The theory of vortex induced vibrations can be found :ref:`here <version2>`. Note that VIV is disabled
for end nodes (and thus end half-segments), so if simulating VIV users should ensure to include a higher number of segments.
- dF - OPTIONAL - the cF +- range of non-dimensional frequnecies for the CF VIV synchronization model. If it is not
provided and VIV is enabled (Cl > 0) then it is default to 0.08 to align with the the theory found :ref:`here <version2>`
- cF - OPTIONAL - the center of the range of non-dimensional frequnecies for the CF VIV synchronization model. If it is not
provided and VIV is enabled (Cl > 0) then it is default to 0.18 to align with the the theory found :ref:`here <version2>`

Note: Non-linear values for the stiffness (EA) are an option in MoorDyn. For this, a file name can be provided instead of a number. This file
must be located in the same folder as the main MoorDyn input file for MoorDyn-C or for MoorDyn-F
Expand All @@ -308,17 +317,19 @@ tabulated file with 3 header lines and then a strain column and a tension column
0.0 0.0
... ...

Note: MoorDyn-F has the ability to model the viscoelastic properties of synthetic lines in two ways. The first method, from work linked in the
Note: MoorDyn has the ability to model the viscoelastic properties of synthetic lines in two ways. The first method, from work linked in the
:ref:`theory section <theory>`, allows a user to specify a bar-seperated constant dynamic and static stiffness. The second method allows the user
to provide a constant static stiffness and two terms to determine the dynamic stiffness as a linear function of mean load. The equation is:
`EA_d = EA_Dc + EA_D_Lm * mean_load` where `EA_D_Lm` is the slope of the load-stiffness curve. Example inputs are below:
`EA_d = EA_Dc + EA_D_Lm * mean_load` where `EA_D_Lm` is the slope of the load-stiffness curve. Both of these methods allow users to provide static
and dynamic damping coefficients as values seperated by |. While the static damping can be described as a fraction of cricial, the dyanamic damping
needs to be input as a value. Example inputs are below:

.. code-block:: none

TypeName Diam Mass/m EA
(name) (m) (kg/m) (N)
Polyester ... ... EA_s|EA_d <-- Constant dynamic stiffness method
Polyester ... ... EA_s|EA_Dc|EA_D_Lm <-- Load dependent dynamic stiffness method
TypeName Diam Mass/m EA BA
(name) (m) (kg/m) (N) (N-s)
Polyester ... ... EA_s|EA_d BA_s|BA_d <-- Constant dynamic stiffness method with static and dynamic damping
Polyester ... ... EA_s|EA_Dc|EA_D_Lm BA_s|BA_d <-- Load dependent dynamic stiffness method with static and dynamic damping

Rod Types
^^^^^^^^^
Expand Down Expand Up @@ -488,6 +499,8 @@ outputs are wanted. Eight output properties are currently possible:
- D – hydrodynamic drag force at each node
- t – tension force at each segment
- c – internal damping force at each segment
- V - the cross-flow VIV lift force at each node
- K - the curvature at each node
- s – strain of each segment
- d – rate of strain of each segment

Expand Down Expand Up @@ -660,8 +673,8 @@ The list of possible options is:
- FricDamp (200.0): The seabed friction damping, to scale from no friction at null velocity to
full friction when the velocity is large
- StatDynFricScale (1.0): Ratio between Static and Dynamic friction coefficients
- dtOut (0.0): Time step size to be written to output files. A value of zero will use dtM as a
step size (s)
- dtOut (0.0): Time step size to be written to output files. A value of zero will use the coupling
timestep as a step size (s)
- SeafloorFile: A path to the :ref:`bathymetry file <seafloor_in>`
- ICgenDynamic (0): MoorDyn-C switch for using older dynamic relaxation method (same as MoorDyn-F).
If this is enabled initial conditions are calculated with scaled drag according to CdScaleIC.
Expand Down Expand Up @@ -720,6 +733,9 @@ The following options from MoorDyn-F are not supported by MoorDyn-C:
1: yes, 2: yes with ramp to inertialF_rampT]
- inertialF_rampT (30.0): Ramp time for inertial forces to reduce coupled object instability (s).
This is ignored unless inertialF = 2
- OutSwitch (1): Switch to disable outputs when running with full OpenFAST simulations, where the
MoorDyn-F output channels are written to the main FAST output file.
0: no MD main outfile, 1: write MD main outfile

Outputs
^^^^^^^
Expand Down
1 change: 1 addition & 0 deletions docs/structure.rst
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ Specific to each Line:
- *Cat*: real axial added mass coefficient
- *Cdn*: real normal drag coefficient w/r/t frontal area
- *Cdt*: real axial drag coefficient w/r/t surface area
- *Cl*: real VIV cross-flow lift coefficient
- *BAin*: real axial-internal damping
- *A*: real cross sectional area
- *nEApoints*: number of values in stress-strain lookup table
Expand Down
4 changes: 4 additions & 0 deletions docs/waterkinematics.rst
Original file line number Diff line number Diff line change
Expand Up @@ -346,6 +346,10 @@ and z = -10 are calculated by interpolating between the neighboring values.

For example, the current at point ``(10, -6, -5.5)`` would be ``(0.65, 0.0, 0.0)``

.. note::
When using steady currents, CdScaleIC for the initialization should be set to a smaller value (1-2) to
avoid initial transients in the simulation. Unlike waves, currents are included in dynamic relaxation.

.. code-block::

--------------------- MoorDyn steady currents File ----------------------------------
Expand Down
Loading
Loading