@@ -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