Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix Example 12 #158

Merged
merged 1 commit into from
Dec 20, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 4 additions & 5 deletions weis/aeroelasticse/LinearFAST.py
Original file line number Diff line number Diff line change
Expand Up @@ -139,17 +139,16 @@ def gen_linear_cases(self,inputs={}):
else: # if using fst_vt inputs from openfast_openmdao
rosco_inputs = self.fst_vt['DISCON_in']

# TODO: check this in below rated wind_speeds
k_opt = rosco_inputs['VS_Rgn2K']/ (30 / np.pi)**2 # openfast units
omega_rated_rpm = rosco_inputs['PC_RefSpd'] * 30 / np.pi * .9 # rpm, include slip percent
omega_rated_rpm = rosco_inputs['PC_RefSpd'] * 30 / np.pi * 0.9 # rpm, offset so torque not active above rated, someday do a pseudo setpoint-smoother here

if k_opt * omega_rated_rpm ** 2 > rosco_inputs['VS_RtTq']:
print('LinearFAST WARNING: need to rescale VS_Rgn2K to be legal in openfast')
k_opt = rosco_inputs['VS_RtTq'] / omega_rated_rpm ** 2
k_opt = 0.99 * rosco_inputs['VS_RtTq'] / omega_rated_rpm ** 2 # include slight reduction in k_opt so it always works

case_inputs[("ServoDyn","VS_RtGnSp")] = {'vals':[omega_rated_rpm], 'group':0} # convert to rpm and use 95% of rated
case_inputs[("ServoDyn","VS_RtGnSp")] = {'vals':[omega_rated_rpm], 'group':0}
case_inputs[("ServoDyn","VS_RtTq")] = {'vals':[rosco_inputs['VS_RtTq']], 'group':0}
case_inputs[("ServoDyn","VS_Rgn2K")] = {'vals':[k_opt] , 'group':0} # reduce so k\omega^2 < VS_RtTq
case_inputs[("ServoDyn","VS_Rgn2K")] = {'vals':[k_opt] , 'group':0}
case_inputs[("ServoDyn","VS_SlPc")] = {'vals':[10.], 'group':0}

# set initial pitch to fine pitch
Expand Down