From 05feb29136584bcb51f7bafd95f808802aa8f4e2 Mon Sep 17 00:00:00 2001 From: David Robert Verelst <dave@dtu.dk> Date: Thu, 4 Oct 2018 10:29:09 +0200 Subject: [PATCH] prepost.hawcstab2: also read the aero gains from the controller tuning --- wetb/prepost/hawcstab2.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/wetb/prepost/hawcstab2.py b/wetb/prepost/hawcstab2.py index 5d630e9..825f4e9 100644 --- a/wetb/prepost/hawcstab2.py +++ b/wetb/prepost/hawcstab2.py @@ -410,10 +410,14 @@ class ReadControlTuning(object): def __init__(self): """ """ - pass + self._aerogains = False def parse_line(self, line, controller): + if line.startswith('Aerodynamic gains'): + self._aerogains = True + return + split1 = line.split('=') var1 = split1[0].strip() try: @@ -449,8 +453,17 @@ class ReadControlTuning(object): elif i == 10: controller = 'aero_damp' setattr(self, controller, dummy()) - else: + elif not self._aerogains: self.parse_line(line, controller) + elif self._aerogains: + break + + arr = np.loadtxt(fpath, skiprows=17) + columns = ['theta', 'dq/dtheta', 'dq/dtheta_fit', 'dq/domega', + 'dq/domega_fit'] + self.aero_gains_units = ['[deg]', '[kNm/deg]', '[kNm/deg]', + '[kNm/(rad/s)]', '[kNm/(rad/s)]'] + self.aero_gains = pd.DataFrame(arr, columns=columns) # set some parameters to zero for the linear case, or when aerodynamic # gain scheduling is not used -- GitLab