Skip to content

Commit 60d9ddd

Browse files
Merge pull request #245 from FloatingArrayDesign/dev
Release 2.3.6
2 parents ed2f96a + f7e04d9 commit 60d9ddd

31 files changed

+203
-133
lines changed

.github/workflows/python-wheels-emulated.yml

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
os: ${{ fromJSON(inputs.os) }}
2525
env:
2626
# Skip 32-bit windows wheels builds.
27-
CIBW_SKIP: "*-win32* *musllinux*"
27+
CIBW_SKIP: "*-win32* *musllinux* pp38* pp39* pp310*"
2828
CIBW_ARCHS: ${{inputs.arch}}
2929
CIBW_ENVIRONMENT_LINUX: "LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/project/install/lib"
3030
CIBW_BEFORE_ALL_LINUX: >
@@ -38,15 +38,20 @@ jobs:
3838
fi &&
3939
cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=install -DEXTERNAL_EIGEN:BOOL=OFF -DPYTHON_WRAPPER:BOOL=OFF -DFORTRAN_WRAPPER:BOOL=OFF -DRUST_WRAPPER:BOOL=OFF -DUSE_VTK=ON -DVTK_DIR=$VTK_DIR -DMOORDYN_PACKAGE_IGNORE_VTK_DEPENDENCY=ON -DBUILD_TESTING=OFF &&
4040
cmake --build build --config Release &&
41-
cmake --install build --config Release
41+
cmake --install build --config Release &&
42+
rm -rf docs extern source tests
43+
CIBW_BEFORE_BUILD_WINDOWS: "pip install delvewheel"
4244
CIBW_BEFORE_ALL_WINDOWS: >
43-
cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/install -DEXTERNAL_EIGEN:BOOL=OFF -DPYTHON_WRAPPER:BOOL=OFF -DFORTRAN_WRAPPER:BOOL=OFF -DRUST_WRAPPER:BOOL=OFF -DUSE_VTK=ON -DVTK_DIR=${{github.workspace}}/vtk/lib/cmake/vtk-9.2/ -DMOORDYN_PACKAGE_IGNORE_VTK_DEPENDENCY=ON -DBUILD_TESTING=OFF &&
44-
cmake --build ${{github.workspace}}/build --config Release &&
45-
cmake --install ${{github.workspace}}/build --config Release
45+
cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=install -DEXTERNAL_EIGEN:BOOL=OFF -DPYTHON_WRAPPER:BOOL=OFF -DFORTRAN_WRAPPER:BOOL=OFF -DRUST_WRAPPER:BOOL=OFF -DUSE_VTK=ON -DVTK_DIR=vtk/lib/cmake/vtk-9.2/ -DMOORDYN_PACKAGE_IGNORE_VTK_DEPENDENCY=ON -DBUILD_TESTING=OFF &&
46+
cmake --build build --config Release &&
47+
cmake --install build --config Release &&
48+
rm -rf docs extern source tests
49+
CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: "delvewheel repair --add-path install/bin -w {dest_dir} {wheel}"
4650
CIBW_BEFORE_ALL_MACOS: >
47-
cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/install -DEXTERNAL_EIGEN:BOOL=OFF -DPYTHON_WRAPPER:BOOL=OFF -DFORTRAN_WRAPPER:BOOL=OFF -DRUST_WRAPPER:BOOL=OFF -DUSE_VTK=ON -DMOORDYN_PACKAGE_IGNORE_VTK_DEPENDENCY=ON -DBUILD_TESTING=OFF -DCMAKE_OSX_DEPLOYMENT_TARGET=10.15 &&
48-
cmake --build ${{github.workspace}}/build --config Release &&
49-
cmake --install ${{github.workspace}}/build --config Release
51+
cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=install -DEXTERNAL_EIGEN:BOOL=OFF -DPYTHON_WRAPPER:BOOL=OFF -DFORTRAN_WRAPPER:BOOL=OFF -DRUST_WRAPPER:BOOL=OFF -DUSE_VTK=ON -DMOORDYN_PACKAGE_IGNORE_VTK_DEPENDENCY=ON -DBUILD_TESTING=OFF -DCMAKE_OSX_DEPLOYMENT_TARGET=10.15 &&
52+
cmake --build build --config Release &&
53+
cmake --install build --config Release &&
54+
rm -rf docs extern source tests
5055
5156
steps:
5257
- uses: actions/checkout@v4

CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
1+
## [](https://github.com/core-marine-dev/MoorDyn/compare/v2.3.5...v) (2024-08-14)
2+
3+
### Bug Fixes
4+
5+
* **python-wheels:** {project} placeholder seems to be ignored/invalid ([0a97f4d](https://github.com/core-marine-dev/MoorDyn/commit/0a97f4dcff2bfa1f83c0b943f0c1695b71e33f69))
6+
* **python-wheels:** Add the DLL path to delvewheel ([9310754](https://github.com/core-marine-dev/MoorDyn/commit/9310754b965ee3602db579e22fd1f242970dff05))
7+
* **python-wheels:** Remove the useless folders after installing ([e6aa341](https://github.com/core-marine-dev/MoorDyn/commit/e6aa341be866183266afacd996accf0afde30837))
8+
* **python-wheels:** Temporary disable pypy3.10, which is not working on the CI ([49dd580](https://github.com/core-marine-dev/MoorDyn/commit/49dd5805db58c21a09a7012cdf6cce685ceeaf72))
9+
* **python-wheels:** Temporary disable pypy3.8, which is not working on the CI ([27166f6](https://github.com/core-marine-dev/MoorDyn/commit/27166f6575586727d2893bc9094eb3fb121aed05))
10+
* **python-wheels:** Temporary disable pypy3.9, which is not working on the CI ([b5b4003](https://github.com/core-marine-dev/MoorDyn/commit/b5b400327b9ec1debeab328c57a314715b0740d9))
11+
* **python-wheels:** Use delvewheel on Windows ([89b5ddc](https://github.com/core-marine-dev/MoorDyn/commit/89b5ddcbc5f64404ff902c8a536e304052ab580a))
12+
* **python-wheels:** Use the installed headers ([ad18025](https://github.com/core-marine-dev/MoorDyn/commit/ad18025c6ff5353f4c99fa7bd58a988c5016c9cd))
13+
* resolves typos and warnings thrown at compiling ([e4a8f08](https://github.com/core-marine-dev/MoorDyn/commit/e4a8f08195e031cbfecfd30574edaad08b15a4d0))
114
## [](https://github.com/core-marine-dev/MoorDyn/compare/v2.3.3...v) (2024-08-07)
215

316
### Features

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
cmake_minimum_required(VERSION 3.10)
22
set(MOORDYN_MAJOR_VERSION 2)
33
set(MOORDYN_MINOR_VERSION 3)
4-
set(MOORDYN_PATCH_VERSION 5)
4+
set(MOORDYN_PATCH_VERSION 6)
55
set(MOORDYN_VERSION ${MOORDYN_MAJOR_VERSION}.${MOORDYN_MINOR_VERSION})
66
project(Moordyn VERSION ${MOORDYN_VERSION})
77

docs/compiling.rst

Lines changed: 68 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -30,24 +30,78 @@ Pre-Compiled Releases
3030
---------------------
3131
.. _releases:
3232

33-
Pre-compiled releases can be found at the
34-
`releases page <https://github.com/FloatingArrayDesign/MoorDyn/releases>`_. These releases contain the
35-
libraries and header files required by driver scripts. These provide the same libraries as compiling
36-
as a :ref:`simple library <compile_simple>` and as compiling with :ref:`cmake <CMake_compile>`. Typically
37-
if you are just looking for the compiled libraries, this is the easiest way to obtain them.
33+
Typically if you are just looking for the compiled libraries,
34+
either because it is a dependency of some other software,
35+
or because you are integrating it on your C/C++ project,
36+
this is the easiest way to obtain them.
3837

39-
The lastest release corresponds to the current state of the master branch of MoorDyn. The releases
40-
contain the source code, as well as three executables (OS dependent) that install the libraries and
41-
header files. The executables correspond to the following OS:
38+
Depending on your OS, you have several options to download and install
39+
precompiled packages.
40+
No matter the way you install it, the precompiled package will provide you with
41+
the same libraries, headers and CMake project files as compiling with
42+
:ref:`cmake <CMake_compile>`.
4243

43-
* Windows: Moordyn-X.Y.Z-win64.exe (with X.Y.Z replaced by the specific version)
44-
* Linux: Moordyn-X.Y.Z-Linux.sh
45-
* MacOS: Moordyn-X.Y.Z-Darwin.sh
44+
Windows
45+
^^^^^^^
46+
47+
An installer for each released version can be found at the
48+
`releases page <https://github.com/FloatingArrayDesign/MoorDyn/releases>`_.
49+
Just select/expand the latest release, download the file named
50+
"Moordyn-X.Y.Z-win64.exe" (with X.Y.Z the specific version you chosen) and
51+
execute it.
52+
53+
MacOS
54+
^^^^^
55+
56+
Similarly to Windows, just head your browser to the
57+
`releases page <https://github.com/FloatingArrayDesign/MoorDyn/releases>`_,
58+
select/expand the latest release, download the file named
59+
"Moordyn-X.Y.Z-Darwin.sh" (with X.Y.Z the specific version you chosen) and
60+
execute it.
61+
62+
NOTE: The self-extracting file you have downloaded cannot be executed until you
63+
give it execution permissions.
64+
This can be done by executing the following command:
65+
66+
.. code-block:: bash
67+
68+
chmod u=rwx <executable name>
69+
70+
Linux
71+
^^^^^
72+
73+
Some GNU/Linux distributions have already packages deployed for their package
74+
managers, which would make your life way easier.
75+
Otherwise, a self-extracting package is also provided.
76+
77+
Arch
78+
""""
79+
80+
There is an AUR package that you can easily install on your system, just typing
81+
82+
.. code-block:: bash
83+
84+
yay -S moordyn
85+
86+
This is also valid for Arch derivatives, like Manjaro or Endeavour OS.
87+
88+
Others
89+
""""""
90+
91+
On other Linux distributions you can give a shot to the self-extracting
92+
package.
93+
However, it is strongly recommended to compile it yourself with
94+
:ref:`cmake <CMake_compile>`.
4695

47-
To install the MoorDyn libraries, download the appropriate executable for your library and execute it.
96+
To use the self-extracting package head your browser to the
97+
`releases page <https://github.com/FloatingArrayDesign/MoorDyn/releases>`_,
98+
select/expand the latest release, download the file named
99+
"Moordyn-X.Y.Z-Linux.sh" (with X.Y.Z the specific version you chosen) and
100+
execute it.
48101

49-
NOTE: When you download the self-extracting files for Linux and MacOS they
50-
cannot be launched until you give them execution permissions. This can be done by executing the following command:
102+
NOTE: The self-extracting file you have downloaded cannot be executed until you
103+
give it execution permissions.
104+
This can be done by executing the following command:
51105

52106
.. code-block:: bash
53107

source/Body.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ Body::setup(int number_in,
108108
rPointRel.clear();
109109
r6RodRel.clear();
110110

111-
// set up body initial mass matrix (excluding any rods or attachements)
111+
// set up body initial mass matrix (excluding any rods or attachments)
112112
mat6 Mtemp = mat6::Zero();
113113
Mtemp(Eigen::seqN(0, 3), Eigen::seqN(0, 3)) = mat::Identity() * bodyM;
114114
Mtemp(Eigen::seqN(3, 3), Eigen::seqN(3, 3)) = bodyI.asDiagonal();

source/Body.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ class Rod;
6363
/** @class Body Body.hpp
6464
* @brief A rigid body
6565
*
66-
* Some really basic dynamics are implemented for rigid bodiesout of the box,
66+
* Some really basic dynamics are implemented for rigid bodies out of the box,
6767
* which can be extended through the usage of coupled ones.
6868
*
6969
* In the configuration file the options are:
@@ -144,7 +144,7 @@ class Body final : public io::IO, public SuperCFL
144144
/// total body mass + added mass matrix including all elements
145145
mat6 M;
146146
/// starting mass and added mass matrix (6x6) of body without any rod
147-
/// elements in inertital orientation
147+
/// elements in inertial orientation
148148
mat6 M0;
149149

150150
/// orientation matrix of body (rotation matrix that gets it to its current

source/IO.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ pack754(long double f, unsigned bits, unsigned expbits)
9191
}
9292
fnorm = fnorm - 1.0;
9393

94-
// calculate the binary form (non-float) of the significand data
94+
// calculate the binary form (non-float) of the significant data
9595
significand = fnorm * ((1LL << significandbits) + 0.5f);
9696

9797
// get the biased exponent

source/IO.hpp

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ namespace moordyn {
5353
namespace io {
5454

5555
/** @class IO IO.hpp
56-
* @brief A base class for all the entitites that must save/load data to/from
56+
* @brief A base class for all the entities that must save/load data to/from
5757
* disk
5858
*
5959
* @note Since this class already publicly inherits moordyn::LogUser, all the
@@ -108,91 +108,91 @@ class IO : public LogUser
108108
virtual uint64_t* Deserialize(const uint64_t* data) = 0;
109109

110110
protected:
111-
/** @brief Pack an unsigned integer to make it writtable
111+
/** @brief Pack an unsigned integer to make it writable
112112
* @param i The unsigned integer number
113113
* @return The packed number
114114
*/
115115
uint64_t Serialize(const uint64_t& i);
116116

117-
/** @brief Pack an integer to make it writtable
117+
/** @brief Pack an integer to make it writable
118118
* @param i The integer number
119119
* @return The packed number
120120
*/
121121
uint64_t Serialize(const int64_t& i);
122122

123-
/** @brief Pack a float to make it writtable
123+
/** @brief Pack a float to make it writable
124124
* @param f The float number
125125
* @return The packed number
126126
*/
127127
uint64_t Serialize(const real& f);
128128

129-
/** @brief Pack a 3D vector to make it writtable
129+
/** @brief Pack a 3D vector to make it writable
130130
* @param m The matrix
131131
* @return The packed matrix
132132
*/
133133
std::vector<uint64_t> Serialize(const vec& m);
134134

135-
/** @brief Pack a 6D vector to make it writtable
135+
/** @brief Pack a 6D vector to make it writable
136136
* @param m The matrix
137137
* @return The packed matrix
138138
*/
139139
std::vector<uint64_t> Serialize(const vec6& m);
140140

141-
/** @brief Pack a 3x3 matrix to make it writtable
141+
/** @brief Pack a 3x3 matrix to make it writable
142142
* @param m The matrix
143143
* @return The packed matrix
144144
*/
145145
std::vector<uint64_t> Serialize(const mat& m);
146146

147-
/** @brief Pack a 6x6 matrix to make it writtable
147+
/** @brief Pack a 6x6 matrix to make it writable
148148
* @param m The matrix
149149
* @return The packed matrix
150150
*/
151151
std::vector<uint64_t> Serialize(const mat6& m);
152152

153-
/** @brief Pack a quaternion to make it writtable
153+
/** @brief Pack a quaternion to make it writable
154154
* @param m The quaternion
155155
* @return The packed quaternion
156156
*/
157157
std::vector<uint64_t> Serialize(const quaternion& m);
158158

159-
/** @brief Pack an XYZQuat to make it writtable
159+
/** @brief Pack an XYZQuat to make it writable
160160
* @param m The XYZQuat
161161
* @return The packed XYZQuat
162162
*/
163163
std::vector<uint64_t> Serialize(const XYZQuat& m);
164164

165-
/** @brief Pack a list of floating point numbers to make it writtable
165+
/** @brief Pack a list of floating point numbers to make it writable
166166
* @param l The list
167167
* @return The packed list
168168
*/
169169
std::vector<uint64_t> Serialize(const std::vector<real>& l);
170170

171-
/** @brief Pack a list of 3D vectors to make it writtable
171+
/** @brief Pack a list of 3D vectors to make it writable
172172
* @param l The list
173173
* @return The packed list
174174
*/
175175
std::vector<uint64_t> Serialize(const std::vector<vec>& l);
176176

177-
/** @brief Pack a list of 6D vectors to make it writtable
177+
/** @brief Pack a list of 6D vectors to make it writable
178178
* @param l The list
179179
* @return The packed list
180180
*/
181181
std::vector<uint64_t> Serialize(const std::vector<vec6>& l);
182182

183-
/** @brief Pack a list of 3x3 matrices to make it writtable
183+
/** @brief Pack a list of 3x3 matrices to make it writable
184184
* @param l The list
185185
* @return The packed list
186186
*/
187187
std::vector<uint64_t> Serialize(const std::vector<mat>& l);
188188

189-
/** @brief Pack a list of 6x6 matrices to make it writtable
189+
/** @brief Pack a list of 6x6 matrices to make it writable
190190
* @param l The list
191191
* @return The packed list
192192
*/
193193
std::vector<uint64_t> Serialize(const std::vector<mat6>& l);
194194

195-
/** @brief Pack a list of lists to make it writtable
195+
/** @brief Pack a list of lists to make it writable
196196
* This function might act recursively
197197
* @param l The list
198198
* @return The packed list

source/Line.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -552,7 +552,7 @@ Line::GetLineOutput(OutChanProps outChan)
552552
else if (outChan.QType == VelZ)
553553
return rd[outChan.NodeID][2];
554554
else if (outChan.QType == Ten) {
555-
if ((outChan.NodeID == 0) || (outChan.NodeID == N))
555+
if ((outChan.NodeID == 0) || (outChan.NodeID == (int)N))
556556
return getNodeForce(outChan.NodeID).norm();
557557
return getNodeTen(outChan.NodeID).norm();
558558
}
@@ -775,7 +775,7 @@ Line::getStateDeriv()
775775
// NOTE:
776776
// Jose Luis Cercos-Pita: This is by far the most consuming function of the
777777
// whole library, just because it is called every single time substep and
778-
// it shall makecomputations in every single line node. Thus it is worthy
778+
// it shall make computations in every single line node. Thus it is worthy
779779
// to invest effort on keeping it optimized.
780780

781781
// attempting error handling <<<<<<<<

source/Line.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ extern "C"
281281
* the water density, \f$F(i)\f$ the portion of the segment submerged and
282282
* \f$\bar{g}\f$ the gravity acceleration.
283283
*
284-
* The weight and bounyancy force at any internal node is computed as the
284+
* The weight and buoyancy force at any internal node is computed as the
285285
* average of the surrounding segments, while on the line-ends \b half of
286286
* the associated ending segment weight force is returned.
287287
*

0 commit comments

Comments
 (0)