Hello,
Iam using Moorpy for static analysis of catenary mooring line .
Iam trying to get the segment wise axial forces , but facing errors.
Iam able to get the axial tension at the fairlead and anchor point, but not at the other segments.
It will helpful if i could know how to do it ?
import moorpy as mp
import numpy as np
1. Create the system object
ms = mp.System(depth=200)
print("System created")
2. Define Line Type
ms.setLineType(dnommm=185, material=None, source=None, name="chain", mass=685, d_vol=0.333, w=None, EA=3.27e9, lineType=None,
overwrite=True)
print("Line type added")
3. Add anchor point (fixed)
ms.addPoint(mytype=1, r=[-837.6, 0, -200])
print("Anchor point added")
4. Add fairlead point (fixed directly)
ms.addPoint(mytype=1, r=[-58, 0, -14],body=0)
print("Fairlead point added (fixed)")
5. Add mooring line
ms.addLine(lUnstr=850, lineType='chain', nSegs=50, pointA=1, pointB=2)
print("Line added")
6. Initialize and solve
ms.initialize()
ms.solveEquilibrium()
print("Equilibrium solved")
#######################################################################################################################
7. Get the line object
line = ms.lineList[0]
8. Print tensions
print("Tension at anchor end (TA):", (line.TA/1000).round(), "kN")
print("Tension at fairlead end (TB):", (line.TB/1000).round(), "kN")
#####################################################################################
9. Get line coordinates
coords = line.getLineCoords(0)
X = coords[0]
Y = coords[1]
Z = coords[2]
10. Print coordinates
print("\nLine coordinates (x, y, z):")
for i in range(len(X)):
print(f"{i}: ({X[i]:.2f}, {Y[i]:.2f}, {Z[i]:.2f})")
Hello,
Iam using Moorpy for static analysis of catenary mooring line .
Iam trying to get the segment wise axial forces , but facing errors.
Iam able to get the axial tension at the fairlead and anchor point, but not at the other segments.
It will helpful if i could know how to do it ?
import moorpy as mp
import numpy as np
1. Create the system object
ms = mp.System(depth=200)
print("System created")
2. Define Line Type
ms.setLineType(dnommm=185, material=None, source=None, name="chain", mass=685, d_vol=0.333, w=None, EA=3.27e9, lineType=None,
overwrite=True)
print("Line type added")
3. Add anchor point (fixed)
ms.addPoint(mytype=1, r=[-837.6, 0, -200])
print("Anchor point added")
4. Add fairlead point (fixed directly)
ms.addPoint(mytype=1, r=[-58, 0, -14],body=0)
print("Fairlead point added (fixed)")
5. Add mooring line
ms.addLine(lUnstr=850, lineType='chain', nSegs=50, pointA=1, pointB=2)
print("Line added")
6. Initialize and solve
ms.initialize()
ms.solveEquilibrium()
print("Equilibrium solved")
#######################################################################################################################
7. Get the line object
line = ms.lineList[0]
8. Print tensions
print("Tension at anchor end (TA):", (line.TA/1000).round(), "kN")
print("Tension at fairlead end (TB):", (line.TB/1000).round(), "kN")
#####################################################################################
9. Get line coordinates
coords = line.getLineCoords(0)
X = coords[0]
Y = coords[1]
Z = coords[2]
10. Print coordinates
print("\nLine coordinates (x, y, z):")
for i in range(len(X)):
print(f"{i}: ({X[i]:.2f}, {Y[i]:.2f}, {Z[i]:.2f})")