You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If the platform has more than one body, say two, and the model incorporates coupling between the bodies, the values for NBody and NBodyMod in HydroDyn will be two and one, respectively. In this scenario, AddF0 is a 12X1 vector (rather than a 6X1), while AddCLin, AddBLin, and AddBQuad are 12X12 matrices (rather than 6X6).
The dimensions of AddF0 are correctly understood by FAST_reader.py, but it appears to fall short of recognizing the dimensions of AddCLin, AddBLin, and AddBQuad, which may result in an error for such platforms.
According to lines no. 1684-1693 of FAST_reader.py:
`
if self.fst_vt['HydroDyn']['NBodyMod'] == 1:
self.fst_vt['HydroDyn']['AddF0'] = [float(f.readline().strip().split()[0]) for i in range(6*NBody)]
elif self.fst_vt['HydroDyn']['NBodyMod'] > 1:
self.fst_vt['HydroDyn']['AddF0'] = [[float(idx) for idx in f.readline().strip().split()[:NBody]] for i in range(6)]
else:
raise Exception("Invalid value for fst_vt['HydroDyn']['NBodyMod']")
self.fst_vt['HydroDyn']['AddCLin'] = np.array([[float(idx) for idx in f.readline().strip().split()[:6]] for i in range(6)])
self.fst_vt['HydroDyn']['AddBLin'] = np.array([[float(idx) for idx in f.readline().strip().split()[:6]] for i in range(6)])
self.fst_vt['HydroDyn']['AddBQuad'] = np.array([[float(idx) for idx in f.readline().strip().split()[:6]] for i in range(6)])`
I believe the issue is resolved if it is changed to the following:
`
if self.fst_vt['HydroDyn']['NBodyMod'] == 1:
self.fst_vt['HydroDyn']['AddF0'] = [float(f.readline().strip().split()[0]) for i in range(6*NBody)]
self.fst_vt['HydroDyn']['AddCLin'] = np.array([[float(idx) for idx in f.readline().strip().split()[:6*NBody]] for i in range(6*NBody)])
self.fst_vt['HydroDyn']['AddBLin'] = np.array([[float(idx) for idx in f.readline().strip().split()[:6*NBody]] for i in range(6*NBody)])
self.fst_vt['HydroDyn']['AddBQuad'] = np.array([[float(idx) for idx in f.readline().strip().split()[:6*NBody]] for i in range(6*NBody)])
elif self.fst_vt['HydroDyn']['NBodyMod'] > 1:
self.fst_vt['HydroDyn']['AddF0'] = [[float(idx) for idx in f.readline().strip().split()[:NBody]] for i in range(6)]
self.fst_vt['HydroDyn']['AddCLin'] = np.array([[float(idx) for idx in f.readline().strip().split()[:6]] for i in range(6)])
self.fst_vt['HydroDyn']['AddBLin'] = np.array([[float(idx) for idx in f.readline().strip().split()[:6]] for i in range(6)])
self.fst_vt['HydroDyn']['AddBQuad'] = np.array([[float(idx) for idx in f.readline().strip().split()[:6]] for i in range(6)])
else:
raise Exception("Invalid value for fst_vt['HydroDyn']['NBodyMod']")`
Based on the foregoing, I have the following questions:
Is my comprehension correct?
Is there anything we need to adjust in other files that use self.fst_vt?
(For instance, is self.fst_vt['HydroDyn']['AddCLin'] regarded a 6X6 matrix in other files.)
Thank you very much for your time in advance.
Iman
The text was updated successfully, but these errors were encountered:
I've been wrestling with this same part of the FAST_reader/writer as well over in this repo, but it may have not made it's way into ROSCO yet. Our approaches look similar.
I have not yet tracked the program to see how self.fst_vt['HydroDyn']['AddCLin'], self.fst_vt['HydroDyn']['AddBLin'], and self.fst_vt['HydroDyn']['AddBQuad'] are utilized.
I only need to know if their dimensions are calculated or if they are assumed to be 6X6 by default.
I have two questions regarding FAST_reader.py.
If the platform has more than one body, say two, and the model incorporates coupling between the bodies, the values for NBody and NBodyMod in HydroDyn will be two and one, respectively. In this scenario, AddF0 is a 12X1 vector (rather than a 6X1), while AddCLin, AddBLin, and AddBQuad are 12X12 matrices (rather than 6X6).
The dimensions of AddF0 are correctly understood by FAST_reader.py, but it appears to fall short of recognizing the dimensions of AddCLin, AddBLin, and AddBQuad, which may result in an error for such platforms.
According to lines no. 1684-1693 of FAST_reader.py:
`
I believe the issue is resolved if it is changed to the following:
`
Based on the foregoing, I have the following questions:
(For instance, is self.fst_vt['HydroDyn']['AddCLin'] regarded a 6X6 matrix in other files.)
Thank you very much for your time in advance.
Iman
The text was updated successfully, but these errors were encountered: