Last updated on Feb 20, 2026.

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#

heaveCF(om0, beta_deg, U, L, B0, T[, C_B])

Computes the heave transfer function amplitude, using the closed-form

pitchCF(om0, beta_deg, U, L, B0, T[, C_B])

Computes the pitch transfer function amplitude, using the closed-form

rollCF(om0, beta_deg, U, L, B0, T, C_B, C_WP, GM_T, ...)

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)

See also

pitchCF, rollCF

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)

See also

heaveCF, rollCF

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_N is 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)

See also

heaveCF, pitchCF

References

  1. 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

  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)