Skip to content

Commit e4dc36f

Browse files
author
Rudy Alkarem
committed
fixing reorientation + resetArray for the new base code:
- array reorientation now orients the platforms by using the setPosition function which also rotates the fairleads with the platforms. - array reset function also uses setPosition to reset the position of the platform along with fairleads attached.
1 parent 166fa76 commit e4dc36f

File tree

1 file changed

+7
-26
lines changed

1 file changed

+7
-26
lines changed

famodel/project.py

Lines changed: 7 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -4964,14 +4964,9 @@ def resetArrayCenter(self, FOWTOnly=True):
49644964

49654965
# Change all platform locations and associated anchors/moorings/cables
49664966
for pf in self.platformList.values():
4967-
pf.r[:2]-=delta
4968-
for i, att in enumerate(pf.attachments.values()):
4969-
obj = att['obj']
4970-
if isinstance(obj, Mooring):
4971-
obj.reposition(project=self)
4972-
4973-
if isinstance(obj, Cable):
4974-
obj.reposiiton(project=self)
4967+
r2 = pf.r[:2] - delta
4968+
r3 = np.append(r2, 0)
4969+
pf.setPosition(r3)
49754970

49764971
# Change RAFTDict if available.
49774972
if self.RAFTDict:
@@ -5060,25 +5055,11 @@ def reorientArray(self, windHeading=None, degrees=False):
50605055

50615056
# Rotate the platforms
50625057
for pf in self.platformList.values():
5063-
pf.r[:2] = np.dot(R, pf.r[:2].T).T
5064-
pf.phi = pf.phi + windHeadingRef - windHeading
5065-
5058+
r2 = np.dot(R, pf.r[:2].T).T
5059+
phi = pf.phi + windHeadingRef - windHeading
5060+
r3 = np.append(r2, 0)
5061+
pf.setPosition(r3, heading=phi, degrees=False)
50665062

5067-
# Rotate moorings
5068-
for moor in self.mooringList.values():
5069-
# if not moor.shared:
5070-
mooringHeading = np.radians(moor.heading) + windHeadingRef - windHeading
5071-
moor.reposition(heading=mooringHeading, project=self)
5072-
# else:
5073-
# mooringHeading = np.radians(obj.heading)
5074-
# moor.reposition(heading=mooringHeading)
5075-
5076-
5077-
5078-
# if isinstance(obj, Cable):
5079-
# cableHeading = [obj.subcomponents[0].headingA + phi, obj.subcomponents[-1].headingB + phi]
5080-
# obj.reposiiton(headings=cableHeading, project=self)
5081-
50825063
# Change RAFTDict if available.
50835064
if self.RAFTDict:
50845065
x_idx = self.RAFTDict['array']['keys'].index('x_location')

0 commit comments

Comments
 (0)