netsse.model.ship#
Closed-form expressions of the linear wave-to-motion transfer functions for a box-shaped uniformly-loaded monohull ship.
Copyright (C) 2023-2026 Technical University of Denmark, R.E.G. Mounet
This code is part of the NetSSE software.
NetSSE is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
NetSSE is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.
To credit the author, users are encouraged to use below reference:
Mounet, R. E. G., & Nielsen, U. D. NetSSE: An open-source Python package
for network-based sea state estimation from ships, buoys, and other
observation platforms (version 2.2). Technical University of Denmark,
GitLab. February 2026. https://doi.org/10.11583/DTU.26379811.
Last updated on 20-02-2026 by R.E.G. Mounet
Functions#
|
Computes the heave transfer function amplitude, using the closed-form |
|
Computes the pitch transfer function amplitude, using the closed-form |
|
Computes the roll transfer function amplitude, using the closed-form |
Module Contents#
- netsse.model.ship.heaveCF(om0, beta_deg, U, L, B0, T, C_B=1)[source]#
Computes the heave transfer function amplitude, using the closed-form expressions presented in Jensen et al. (2004).
- Parameters:
om0 (array_like of shape (Nom0,)) – Vector of absolute wave frequencies [rad/s].
beta_deg (array_like of shape (Nbeta,)) – Vector of heading angles [deg].
U (float) – Vessel forward speed [m/s].
L (float) – Length of the ship [m].
B0 (float) – Breadth of the ship [m].
T (float) – Draft of the ship [m].
C_B (float, default 1) – Block coefficient of the ship [-].
- Returns:
heave – Coefficients of the heave transfer function amplitude [m/m].
- Return type:
numpy.ndarray of shape (Nom0,Nbeta)
References
Jensen, J. J., Mansour, A. E., & Olsen, A. S. (2004). Estimation of ship motions using closed-form expressions. Ocean Engineering, 31(1), 61–85. https://doi.org/10.1016/S0029-8018(03)00108-2
Example
>>> heave = heaveCF(om0,beta_deg,U,L,B0,T,C_B=1)
- netsse.model.ship.pitchCF(om0, beta_deg, U, L, B0, T, C_B=1)[source]#
Computes the pitch transfer function amplitude, using the closed-form expressions presented in Jensen et al. (2004).
- Parameters:
om0 (array_like of shape (Nom0,)) – Vector of absolute wave frequency [rad/s].
beta_deg (array_like of shape (Nbeta,)) – Vector of heading angle [deg].
U (float) – Vessel forward speed [m/s].
L (float) – Length of the ship [m].
B0 (float) – Breadth of the ship [m].
T (float) – Draft of the ship [m].
C_B (float, default 1) – Block coefficient of the ship [-].
- Returns:
pitch – Coefficients of the pitch transfer function amplitude [rad/m].
- Return type:
numpy.ndarray of shape (Nom0,Nbeta)
References
Jensen, J. J., Mansour, A. E., & Olsen, A. S. (2004). Estimation of ship motions using closed-form expressions. Ocean Engineering, 31(1), 61–85. https://doi.org/10.1016/S0029-8018(03)00108-2
Example
>>> pitch = pitchCF(om0,beta_deg,U,L,B0,T,C_B=1)
- netsse.model.ship.rollCF(om0, beta_deg, U, L, B0, T, C_B, C_WP, GM_T, kappa, mu, T_N=0)[source]#
Computes the roll transfer function amplitude, using the closed-form expressions presented in Jensen et al. (2004).
- Parameters:
om0 (array_like of shape (Nom0,)) – Vector of absolute wave frequencies [rad/s].
beta_deg (array_like of shape (Nbeta,)) – Vector of heading angles [deg].
U (float) – Vessel forward speed [m/s].
L (float) – Length of the ship [m].
B0 (float) – Breadth of the ship [m].
T (float) – Draft of the ship [m].
C_B (float) – Block coefficient of the ship [-].
C_WP (float) – Waterplane area coefficient of the ship [-].
GM_T (float) – Transverse metacentric height [m].
kappa (float) – Custom parameter (chosen between 0 and
C_WP) representing the ratio between the length of the aft beam and the whole ship length in the simplified ship model for roll.mu (float, default 0) – Ratio between added viscous damping and critical damping.
T_N (float, optional) –
Roll natural period [s].
Note
If not specified as input,
T_Nis calculated using empirical formulas from ADA147598.
- Returns:
roll – Coefficients of the roll transfer function amplitude [rad/m].
- Return type:
numpy.ndarray of shape (Nom0,Nbeta)
References
Jensen, J. J., Mansour, A. E., & Olsen, A. S. (2004). Estimation of ship motions using closed-form expressions. Ocean Engineering, 31(1), 61–85. https://doi.org/10.1016/S0029-8018(03)00108-2
ADA147598, 1973. Code of Safety for Fishermen and Fishing Vessels. Part B. Safety and Health Requirements for the Construction and Equipment of Fishing Vessels. Inter-Governmental Maritime Consultative Organization, London, England.
Example
>>> roll = rollCF(om0,beta_deg,U,L,B0,T,C_B,C_WP,GM_T,kappa,mu,T_N=0)