Skip to content

Commit 971740d

Browse files
committed
adding a maximum lay length constraint to LineDesign
1 parent c1691c2 commit 971740d

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

famodel/design/LineDesign.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,8 @@ def __init__(self, depth, lineProps=None, **kwargs):
342342
# a hard-coded dictionary that points to all of the possible constraint functions by name
343343
self.confundict = {"min_Kx" : self.con_Kx, # a minimum for the effective horizontal stiffness of the mooring
344344
"max_offset" : self.con_offset, # a maximum for the horizontal offset in the extreme loaded position
345-
"min_lay_length" : self.con_lay_length, # a minimum for the length of Line 1 on the seabed at x=x_extr_pos (replaces anchor_uplift)
345+
"min_lay_length" : self.con_min_lay_length, # a minimum for the length of Line 1 on the seabed at x=x_extr_pos (replaces anchor_uplift)
346+
"max_lay_length" : self.con_max_lay_length, # a maximum for the length of Line 1 on the seabed at x=x_extr_pos (replaces anchor_uplift)
346347
"rope_contact" : self.con_rope_contact, # a margin off the seabed for Point 2 (bottom of Line 2) at x=x_extr_neg
347348
"tension_safety_factor" : self.con_strength, # a minimum ratio of MBL/tension for all lines in the Mooring at x=x_extr_pos
348349
"min_sag" : self.con_min_sag, # a minimum for the lowest point's depth at x=x_extr_pos
@@ -359,6 +360,7 @@ def __init__(self, depth, lineProps=None, **kwargs):
359360
conUnitsDict = {"min_Kx" : "N/m",
360361
"max_offset" : "m",
361362
"min_lay_length" : "m",
363+
"max_lay_length" : "m",
362364
"rope_contact" : "m",
363365
"tension_safety_factor" : "-",
364366
"min_sag" : "m",
@@ -1759,10 +1761,14 @@ def con_offset(self, X, index, value):
17591761

17601762
# ----- lay length constraints -----
17611763

1762-
def con_lay_length(self, X, index, threshold, display=0):
1764+
def con_min_lay_length(self, X, index, threshold, display=0):
17631765
'''This ensures there is a minimum amount of line on the seabed at the +extreme displaced position.'''
17641766
return self.ss.getLayLength(iLine=index) - threshold + self.ss.LayLen_adj
17651767

1768+
def con_max_lay_length(self, X, index, threshold, display=0):
1769+
'''This ensures there is a maximum amount of line on the seabed at the minimum displaced position.'''
1770+
return threshold - self.ss.getLayLength(iLine=index)
1771+
17661772
def con_max_td_range(self, X, index, threshold, display=0):
17671773
'''Ensures the range of motion of the touchdown point betweeen the
17681774
range of offsets is less then a certain distance.

0 commit comments

Comments
 (0)