Skip to content

Commit

Permalink
added new cd0 calculator
Browse files Browse the repository at this point in the history
  • Loading branch information
FernCarrera committed May 31, 2019
1 parent 051cabb commit 375c457
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 12 deletions.
Binary file modified Model/Propulsion/__pycache__/cruise_comp.cpython-36.pyc
Binary file not shown.
Binary file modified Model/Propulsion/__pycache__/power_comp.cpython-36.pyc
Binary file not shown.
18 changes: 13 additions & 5 deletions Model/Propulsion/cruise_comp.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,17 @@ class CruiseComp(ExplicitComponent):

def setup(self):
self.add_input('W',desc='Weight of aircraft')
self.add_input('Cd',desc='coefficient of drag')
self.add_input('Cl',desc='coefficient of lift')
#self.add_input('Cd',desc='coefficient of drag')
#self.add_input('Cl',desc='coefficient of lift')
self.add_input('AR',desc='Aspect Ratio')
self.add_input('S',desc='Refernce Area')
self.add_input('V',desc='Airspeed')
self.add_input('cd0',desc='zero lift drag')
#self.add_input('cd0',desc='zero lift drag')

self.add_output('P_C',desc='Power required for cruise')
self.add_output('cl')
self.add_output('cd')
self.add_output('cd0')
self.declare_partials(of='*', wrt='*', method='cs')


Expand All @@ -26,10 +27,17 @@ def compute(self,inputs,outputs):
W = inputs['W']*9.81
# add Cl & Cd if airfoil code doesnt work
cl = 2*W/(rho*(inputs['V']**2)*inputs['S'])

a = -2.5529
b = 1
c = 0.8635
d = 0.5632
Swet = (10**c)*(inputs['W']*2.2046)**d
f = (10**a)*Swet**b
cd0 = f/(inputs['S']*10.7639)
k = 1/(3.14*0.8*inputs['AR']) # e = 0.8
cd = inputs['cd0'] + k*cl**2
cd = cd0 + k*cl**2
outputs['cl'] = cl
outputs['cd'] = cd
outputs['cd0'] = cd0
#outputs['P_C'] = (( (2*(W**3)*(inputs['Cd']**2))/(inputs['S']*rho*(inputs['Cl']**3)) )**.5)/1000
outputs['P_C'] = (( (2*(W**3)*(cd**2))/(inputs['S']*rho*(cl**3) ))**.5)/1000
15 changes: 8 additions & 7 deletions solver.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,12 @@
ivc.add_output('m')
ivc.add_output('r')
ivc.add_output('TS',val=188) # ~50% of mach @ Sl
ivc.add_output('cd0',val=0.0197)
#ivc.add_output('cd0',val=0.0197)
ivc.add_output('rho',val=1.225)

ivc.add_output('V')
ivc.add_output('Cd',val=0.03)
ivc.add_output('Cl',val=0.32)
#ivc.add_output('Cd',val=0.03)
#ivc.add_output('Cl',val=0.32)
ivc.add_output('S',val=13.2)
ivc.add_output('AR',val=7)

Expand Down Expand Up @@ -71,19 +71,19 @@

# connecting to Props comp
model.connect('weight.W0','FOM.W')
model.connect('cd0','FOM.cd0')
model.connect('cruiseP.cd0','FOM.cd0')
model.connect('rho','FOM.rho')
model.connect('TS','FOM.TS')
model.connect('r','FOM.r')

# connecting to cruise power comp
model.connect('weight.W0','cruiseP.W')
model.connect('Cd','cruiseP.Cd')
model.connect('Cl','cruiseP.Cl')
#model.connect('Cd','cruiseP.Cd')
#model.connect('Cl','cruiseP.Cl')
model.connect('AR','cruiseP.AR')
model.connect('S','cruiseP.S')
model.connect('V','cruiseP.V')
model.connect('cd0','cruiseP.cd0')
#model.connect('cd0','cruiseP.cd0')

# connecting to range comp
model.connect('Wb','range.B_W')
Expand Down Expand Up @@ -143,4 +143,5 @@
print('Max Trip Range @',prob['V'],'[m/s]:',prob['range.R'],'[km]','Time',prob['range.t'],'[hr]')
print('cl',prob['cruiseP.cl'])
print('cd',prob['cruiseP.cd'])
print('cd0',prob['cruiseP.cd0'])

0 comments on commit 375c457

Please sign in to comment.