Skip to content

Commit

Permalink
Updates to dynamic EA stiffness implementation
Browse files Browse the repository at this point in the history
1) line.activateDynamicStiffness now takes the maximum value of the dynamic and static stiffness, at whatever line tension, to ensure that a dynamic stiffness value that is lower than a static stiffness value (usually at low tensions) is not used
2) unit error in the dynamic stiffness inputs: the beta term (in other research studies) is defined as the slope of the Krd vs. %MBL curve, where %MBL values are in units of 20,30,40...[%MBL]. So, we would have to add a factor of 100 to the mean tension value used to calculate the dynamic stiffness, or multiply the beta/slope values by 100 in MoorProps_default.yaml
  • Loading branch information
shousner committed Nov 2, 2023
1 parent 0b32da2 commit 1a39ae0
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 5 deletions.
6 changes: 3 additions & 3 deletions moorpy/MoorProps_default.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ lineProps:
MBL_d2 : 308.2e6 # minimum breaking load per diameter^2 [N/m^2]
EA_MBL : 14 # quasi-static stiffness per MBL [N/N]
EAd_MBL : 11.615 # dynamic stiffness per MBL [N/N]
EAd_MBL_Lm : 0.396 # dynamic stiffness per MBL per fraction of mean load (not %) [N/N]
EAd_MBL_Lm : 39.6 # dynamic stiffness per MBL per fraction of mean load (not %) [N/N] (beta term to be multiplied with the absolute mean tension)
density : 1380 # density of the polyester material [kg/m^3] (taken from specific gravity of 1.38, relative to 1000 kg/m^3)
cost_MBL : 1.65e-05 # cost per MBL [$/m/N]

Expand All @@ -77,7 +77,7 @@ lineProps:
MBL_d2 : 207.0e6 # minimum breaking load per diameter^2 [N/m^2]
EA_MBL : 5 # quasi-static stiffness per MBL [N/N] (can range from 1 to 10)
EAd_MBL : 2.08 # dynamic stiffness per MBL [N/N]
EAd_MBL_Lm : 0.39 # dynamic stiffness per MBL per fraction of mean load (not %) [N/N]
EAd_MBL_Lm : 39.0 # dynamic stiffness per MBL per fraction of mean load (not %) [N/N] (beta term to be multiplied with the absolute mean tension)
density : 1140 # density of the nylon material [kg/m^3] (taken from specific gravity of 1.14, relative to 1000 kg/m^3)
cost_MBL : 4.29e-05 # cost per MBL [$/m/N]

Expand All @@ -87,7 +87,7 @@ lineProps:
MBL_d2 : 579.5e6 # minimum breaking load per diameter^2 [N/m^2]
EA_MBL : 56.54 # quasi-static stiffness per MBL [N/N]
EAd_MBL : 59 # dynamic stiffness per MBL [N/N]
EAd_MBL_Lm : 0.54 # dynamic stiffness per MBL per fraction of mean load (not %) [N/N]
EAd_MBL_Lm : 54.0 # dynamic stiffness per MBL per fraction of mean load (not %) [N/N] (beta term to be multiplied with the absolute mean tension)
density : 975 # density of the hmpe/dyneema material [kg/m^3] (taken from specific gravity of 0.975, relative to 1000 kg/m^3


Expand Down
4 changes: 2 additions & 2 deletions moorpy/line.py
Original file line number Diff line number Diff line change
Expand Up @@ -1069,8 +1069,8 @@ def activateDynamicStiffness(self, display=0):
if self.type['EAd'] > 0:
# switch to dynamic stiffness value
EA_old = self.type['EA']
EA_new = self.type['EAd'] + self.type['EAd_Lm']*self.TA # this implements the sloped Krd = alpha + beta*Lm
self.EA = EA_new
EA_new = self.type['EAd'] + self.type['EAd_Lm']*np.mean([self.TA, self.TB]) # this implements the sloped Krd = alpha + beta*Lm
self.EA = np.max([EA_new, EA_old]) # only if the dynamic stiffness is higher than the static stiffness, activate the dynamic stiffness

# adjust line length to maintain current tension (approximate)
self.L = self.L0 * (1 + self.TB/EA_old)/(1 + self.TB/EA_new)
Expand Down

0 comments on commit 1a39ae0

Please sign in to comment.