Skip to main content
Join the official 2020 Python Developers SurveyStart the survey!

A Python library for solving catenary equations

Project description



This python package solves catenary equations for cables at static equilibrium.

  • Elasticity taken into account
  • Contact with floor/seabed taken into account
  • Handles partly or fully lifted lines
  • Multisegmented cables possible


python install --user

Getting Started

To create a cable:

from pycatenary import cable

# define properties of cable
length = 6.98  # length of line
w = 1.036  # submerged weight
EA = 560e3  # axial stiffness
floor = True  # if True, contact is possible at the level of the anchor
anchor = [0., 0., 0.]
fairlead = [5.3, 0., 2.65]

# create cable instance
l1 = cable.MooringLine(L=length,

# compute calculations

Position of fairlead and anchor can be changed as follows:

# change fairlead position
l1.setFairleadCoords([5.4, 0., 2.65])

# recompute solution

Other functions exist:

# get tension along line (between 0. and total line length)
s = 5.
T = l1.getTension(s)

# get xyz coordinates along line
xyz = l1.s2xyz(s)

For extra functionality, please refer to the documentation:

Project details

Release history Release notifications | RSS feed

This version


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pycatenary, version 0.3
Filename, size File type Python version Upload date Hashes
Filename, size pycatenary-0.3-py3-none-any.whl (9.1 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size pycatenary-0.3.tar.gz (8.0 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page