Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
39e8fa4
build(deps): bump actions/checkout from 6 to 7
dependabot[bot] Jun 22, 2026
114f849
build(deps): bump pypa/cibuildwheel from 3.4.1 to 4.1.0
dependabot[bot] Jun 15, 2026
d7076f1
build(deps): bump actions/setup-python from 6 to 7
dependabot[bot] Jul 27, 2026
86efdbf
build(deps): bump pypa/cibuildwheel from 4.1.0 to 4.1.1
dependabot[bot] Jul 27, 2026
4576e1a
feat(lines,waves): implement improvements from OpenFAST
RyanDavies19 Apr 8, 2026
03e9d07
feat(io): added `!` and `%` as comment characters in input files (to …
RyanDavies19 May 11, 2026
eb35107
feat(core): add water velocity outputs to rods, disable currents if w…
RyanDavies19 May 19, 2026
8c97a5e
docs: Clarify difference between per-node tension outputs and FairTen…
RyanDavies19 Jul 14, 2026
c515306
docs: Add VIV paper to references, clarify line acc output and WEC-Si…
RyanDavies19 Jul 17, 2026
4497d37
fix(tests): Improve VIV test peak finding, add VIV test plotting script
RyanDavies19 Jul 17, 2026
d7fc901
docs: update core object docstrings to reflect input files
RyanDavies19 Jul 21, 2026
6edc78e
fix(tests): Adjust VIV test sensitivity for windows
RyanDavies19 Jul 27, 2026
7cd9744
build(deps): bump pypa/cibuildwheel from 4.1.1 to 4.2.1
dependabot[bot] Sep 14, 2026
e81724f
fix(core): Do not raise floating point exceptions with CFL sentinel v…
hgopalan Oct 2, 2026
00073da
fix(core): Do not divide by zero when setting up zero-length rods
hgopalan Oct 2, 2026
1359b26
fix(core): Discard floating point exceptions raised by the catenary I…
hgopalan Oct 2, 2026
ee890c2
test: Check that no floating point exceptions are raised
hgopalan Oct 2, 2026
2e69e3d
chore: Increased the version to 2.7.2
sanguinariojoe Oct 6, 2026
808c5f7
Updated the changelog
sanguinariojoe Oct 6, 2026
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
2 changes: 1 addition & 1 deletion .github/workflows/build-mingw.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
os: [windows-latest]

steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7

- name: Create folders
run: |
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
release_id: ${{ steps.create_release.outputs.id }}
upload_url: ${{ steps.create_release.outputs.upload_url }}
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
if: github.event_name == 'push'

- name: moordyn_tag_name
Expand Down Expand Up @@ -71,7 +71,7 @@ jobs:
os: [ubuntu-latest, windows-latest, macos-latest]

steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7

- name: moordyn_version
id: moordyn_version
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/check-version.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
name: Check that the version is valid
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7

- name: moordyn_version
id: moordyn_version
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/matlab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:

steps:
- name: Check out repository
uses: actions/checkout@v6
uses: actions/checkout@v7

- name: Create install folder
run: |
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/mdf_verification.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
os: [ubuntu-latest]

steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7

- name: Install deps
run: |
Expand All @@ -30,7 +30,7 @@ jobs:
if: runner.os == 'Linux'

- name: Setup Python
uses: actions/setup-python@v6
uses: actions/setup-python@v7
id: setup-python

- name: Install Python dependencies
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/memcheck.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
os: [ubuntu-latest]

steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7

- name: Install valgrind
run: |
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/python-wheels-emulated.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,10 @@ jobs:
rm -rf docs extern source tests

steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7

# Used to host cibuildwheel
- uses: actions/setup-python@v6
- uses: actions/setup-python@v7
with:
python-version: '3.x'

Expand All @@ -75,7 +75,7 @@ jobs:
if: runner.os == 'Linux'

- name: Build wheels
uses: pypa/cibuildwheel@v3.4.1
uses: pypa/cibuildwheel@v4.2.1
with:
output-dir: dist

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/python-wheels-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ jobs:
os: ${{ fromJSON(inputs.os) }}

steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7

- uses: actions/setup-python@v6
- uses: actions/setup-python@v7
with:
python-version: '3.12'

Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/python-wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ jobs:
os: [ubuntu-22.04]

steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7

# Used to host cibuildwheel
- uses: actions/setup-python@v6
- uses: actions/setup-python@v7
with:
python-version: '3.x'

Expand Down Expand Up @@ -133,7 +133,7 @@ jobs:
os: [ubuntu-22.04]

steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7

- name: Download artifacts
uses: actions/download-artifact@v8
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/python-wrapper.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ jobs:
os: [ubuntu-latest]

steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7

- name: Setup Python
uses: actions/setup-python@v6
uses: actions/setup-python@v7
id: setup-python

- name: Install Python dependencies
Expand Down
124 changes: 74 additions & 50 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,40 @@
## [2.7.2] - 2026-10-06

### 🚀 Features

- *(lines,waves)* Implement improvements from OpenFAST
- *(io)* Added `!` and `%` as comment characters in input files (to match OpenFAST)
- *(core)* Add water velocity outputs to rods, disable currents if water-kinematic ramping enabled

### 🐛 Bug Fixes

- *(tests)* Improve VIV test peak finding, add VIV test plotting script
- *(tests)* Adjust VIV test sensitivity for windows
- *(core)* Do not raise floating point exceptions with CFL sentinel values
- *(core)* Do not divide by zero when setting up zero-length rods
- *(core)* Discard floating point exceptions raised by the catenary IC solver

### 💼 Other

- *(deps)* Bump actions/checkout from 6 to 7
- *(deps)* Bump pypa/cibuildwheel from 3.4.1 to 4.1.0
- *(deps)* Bump actions/setup-python from 6 to 7
- *(deps)* Bump pypa/cibuildwheel from 4.1.0 to 4.1.1
- *(deps)* Bump pypa/cibuildwheel from 4.1.1 to 4.2.1

### 📚 Documentation

- Clarify difference between per-node tension outputs and FairTen outputs
- Add VIV paper to references, clarify line acc output and WEC-Sim errors
- Update core object docstrings to reflect input files

### 🧪 Testing

- Check that no floating point exceptions are raised

### ⚙️ Miscellaneous Tasks

- Increased the version to 2.7.2
## [2.7.1] - 2026-06-10

### 🐛 Bug Fixes
Expand Down Expand Up @@ -80,6 +117,9 @@

### 🚀 Features

- *(body)* Add centripetal forces for rotating bodies
- Cleaned up the hack-ish state to generalize it for visco stuff. Made # a comment character in input files. Readded diable VIV during ICgen
- Viscoelastic model with constant and load dependent dynamic stiffness is now live!
- *(rust)* First test using the Rust wrapper
- *(core)* New flexible states
- *(core)* Create a base class for the instances which provides a unique identifier
Expand All @@ -93,6 +133,27 @@

### 🐛 Bug Fixes

- Read first the writelog option, and then anything else
- The quaternions shall be renormalized to get the rotation matrix
- Freeze when writeLog is not the first option
- Centripetal force for parallel axes shall be null
- Rebranding to include centripetal forces on getNetForceAndMass
- Add a centripetal force to bodies with a excentric COG
- EulerZYX -> EulerXYZ on moordyn::Euler2Quat()
- Accelerations of Coupled/fixed bodies/rods when there are several isntances of them
- Odd treatment was meant for indexes from 1 to 3, not 0 to 2, and the matrix indexes were transposed
- EulerXYZ intrinsic angles instead of extrinsic
- Drop the patch to move from extrinsic to intrinsic Euler angles
- Make rod submergence calcs match what is in MDF (verified code)
- Make rod submergence calcs match what is in MDF (verified code)
- Some small fixes for viscoelastic stuff
- Removing files
- Removing one more file
- Cleaned up some time scheme stuff (added in more spots where Misc states should be accounted for)
- Some more stiffness fixes. Noteably before when reading a non-linear look up table it assumed stress strain. This is not correct and doesnt match theory paper or docs. CHanges to stress tension.
- Dynamic current inflile reading fix
- Some more notes explaining the synchronization model
- Major clean up to the synchronization model
- Added dummy AllOutput to old API
- Old AllOutput back to voids, cleans it up a bit
- Rename AllOutput -> WriteOutputs (To match MD-F)
Expand Down Expand Up @@ -143,12 +204,25 @@

### 💼 Other

- MinGW needs the DECLDIR on Body::setState
- *(deps)* Bump pypa/cibuildwheel from 2.22.0 to 2.23.0
- *(deps)* Bump pypa/cibuildwheel from 2.23.0 to 2.23.1

### 📚 Documentation

- Clarify that intrinsic angles are considered, and link to the external resources
- Added # comment character instructions to docs
- Minor change to update viscoelastic docs
- Clarifying dtout
- Updated docs for OpenFAST/openfast#2597

### 🧪 Testing

- Excentrical body test
- Test the centripetal force on a simple case
- Strip the VTK from the test and attach two points to the body to get a more stable orbit
- Test the rotations
- Typo on the config file description
## [2.3.8] - 2024-12-12

### 🚀 Features
Expand Down Expand Up @@ -178,14 +252,6 @@
- *(python)* Autonomous MoorPy IC exporter
- *(docs and tests)* Initialization notes with a practical application
- *(python)* Absolute paths are not accepted any longer
- Some small fixes for viscoelastic stuff
- Removing files
- Removing one more file
- Cleaned up some time scheme stuff (added in more spots where Misc states should be accounted for)
- Some more stiffness fixes. Noteably before when reading a non-linear look up table it assumed stress strain. This is not correct and doesnt match theory paper or docs. CHanges to stress tension.
- Dynamic current inflile reading fix
- Some more notes explaining the synchronization model
- Major clean up to the synchronization model
- *(python)* Added the missing time scheme manipulation API entries
- *(python)* Missing GetXXXNumberNodes missing entries
- *(fortran)* Added the time scheme manipulation entries
Expand Down Expand Up @@ -213,8 +279,6 @@
- Updates and typo fixes
- References file rename
- Fixing broken links
- Minor change to update viscoelastic docs
- Clarifying dtout
- Add disable output to the docs and options list

### 🧪 Testing
Expand Down Expand Up @@ -284,46 +348,6 @@
### ⚙️ Miscellaneous Tasks

- Disable memcheck on lowe_and_langley, which is way too slow
## [2.3.3] - 2024-06-24

### 🚀 Features

- *(body)* Add centripetal forces for rotating bodies
- Cleaned up the hack-ish state to generalize it for visco stuff. Made # a comment character in input files. Readded diable VIV during ICgen
- Viscoelastic model with constant and load dependent dynamic stiffness is now live!

### 🐛 Bug Fixes

- Read first the writelog option, and then anything else
- The quaternions shall be renormalized to get the rotation matrix
- Freeze when writeLog is not the first option
- Centripetal force for parallel axes shall be null
- Rebranding to include centripetal forces on getNetForceAndMass
- Add a centripetal force to bodies with a excentric COG
- EulerZYX -> EulerXYZ on moordyn::Euler2Quat()
- Accelerations of Coupled/fixed bodies/rods when there are several isntances of them
- Odd treatment was meant for indexes from 1 to 3, not 0 to 2, and the matrix indexes were transposed
- EulerXYZ intrinsic angles instead of extrinsic
- Drop the patch to move from extrinsic to intrinsic Euler angles
- Make rod submergence calcs match what is in MDF (verified code)
- Make rod submergence calcs match what is in MDF (verified code)

### 💼 Other

- MinGW needs the DECLDIR on Body::setState

### 📚 Documentation

- Clarify that intrinsic angles are considered, and link to the external resources
- Added # comment character instructions to docs

### 🧪 Testing

- Excentrical body test
- Test the centripetal force on a simple case
- Strip the VTK from the test and attach two points to the body to get a more stable orbit
- Test the rotations
- Typo on the config file description
## [2.3.2] - 2024-06-24

### 💼 Other
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 3.10)
set(MOORDYN_MAJOR_VERSION 2)
set(MOORDYN_MINOR_VERSION 7)
set(MOORDYN_PATCH_VERSION 1)
set(MOORDYN_PATCH_VERSION 2)
set(MOORDYN_VERSION ${MOORDYN_MAJOR_VERSION}.${MOORDYN_MINOR_VERSION})
project(Moordyn VERSION ${MOORDYN_VERSION})

Expand Down
5 changes: 4 additions & 1 deletion docs/drivers.rst
Original file line number Diff line number Diff line change
Expand Up @@ -806,7 +806,10 @@ WEC-Sim

WEC-Sim is coupled with MoorDyn-C v2 as of Spring 2024 with `WEC-Sim PR #1212 <https://github.com/WEC-Sim/WEC-Sim/pull/1212>`_.
The original coupling was with MoorDyn v1 and the the publication can be found in the
:ref:`theory section <theory>`. The WEC-Sim source code can be found `here <https://github.com/WEC-Sim/WEC-Sim>`_.
:ref:`theory section <theory>`. The WEC-Sim source code can be found `here <https://github.com/WEC-Sim/WEC-Sim>`_. Note that the current
library-based coupling does not handle MoorDyn errors, causing WEC-Sim/MATLAB to crash if MoorDyn fails. This is a known issue and will be
fixed in the future. For debugging your simulations, you can test your MoorDyn model standalone using the example driver on the
`examples page <https://github.com/FloatingArrayDesign/MoorDyn/tree/master/example>`_.

DualSPHysics
^^^^^^^^^^^^
Expand Down
Loading
Loading