Ejemplo n.º 1
0
U_vec = np.linspace(1,342,100)
# In addition, a vector of trial reduced frequencies must be initialized. Keep
# in mind that the because the non-looping pk method is used, a wide range of
# reduced frequencies may need to be used.
kr_vec = np.array([0.,1e-06,1e-04,.001,.01,.05,.1,.5,1.,5.,10.,50])*10
# A vector of mach numbers must also be used. These should be kept close to
# The suspected flutter mach number. If mach numbers greater than 0.7 are used,
# is is likely doublet lattice method is no-longer valid.
M_vec = [0.]*len(kr_vec)
# Initialize the sea level density
rho_0 = 1.225
# Determine the number of modes to be used
nmodes = 6
# Run the flutter analysis. Depending on how many reduced frequencies and
# velocities sampled, this could take anywhere from a 30 seconds to 2 minutes.
model.flutterAnalysis(U_vec,kr_vec,M_vec,c,rho_0,nmodes,symxz=True,g=0.0)

# POST-PROCESS THE FLUTTER RESULTS
# ================================
# Note that in these figures, the dashed lines are the NASTRAN results, whereas
# the solid lines are the AeroComBAT results.
cvec = ['b','g','r','c','m','y']
plt.figure(1)
plt.hold(True)
for PID, point in model.flutterPoints.iteritems():
    plt.plot(U_vec,point.gamma,color=cvec[PID],label='Mode '+str(PID+1))
plt.legend(loc=2)
plt.ylim([-1,1])
plt.plot(UNAST,Damp1,str(cvec[0])+'--',label='NASTRAN Mode 1')
plt.plot(UNAST,Damp2,str(cvec[1])+'--',label='NASTRAN Mode 2')
plt.plot(UNAST,Damp3,str(cvec[2])+'--',label='NASTRAN Mode 3')
Ejemplo n.º 2
0
#cProfile.run('model.calcAIC(M,kr,b,symxz=True)')
#cProfile.run('calcAIC(M,kr,b,delta_x_vec,sweep_vec,l_vec,dihedral_vec,\
#    Xr_vec,Xi_vec,Xc_vec,Xo_vec,symxz=True)',sort='tottime')
'''
# CASE 1:
# Apply the case load
model.resetPointLoads()
tipLoad = np.array([10000.,0.,0.,0.,0.,0.])
F = {80:tipLoad}
model.applyLoads(1,F=F)
# Run the analysis
model.staticAnalysis(1)
model.plotDeformedModel(figName='V8 Case 1',numXSects=8,contLim=[-4.0e6,4.0e6],\
    warpScale=100,displScale=10,contour='sig_33')
'''
'''
U_vec = np.linspace(1,30,30)
kr_vec = np.array([.001,.01,.1,.5,2.5,15.,35.])*10
M_vec = [0.,0.,0.,0.,0.,0.,0.]
rho_0 = 1.225
nmodes = 8

model.flutterAnalysis(U_vec,kr_vec,M_vec,c/2,rho_0,nmodes,symxz=True)

# flutter plots
import matplotlib.pyplot as plt
plt.figure(1)
plt.hold(True)
for PID, point in model.flutterPoints.iteritems():
    plt.plot(U_vec,point.gamma,label='mode'+str(PID))
plt.legend()
Ejemplo n.º 3
0
'''

# Flutter Analysis
# Note units are inches, seconds, and pounds
U_vec = np.linspace(1, 100, 100)
kr_vec = np.array(
    [.001, .005, .01, .05, .1, .5, 1., 5., 10., 50., 100., 500., 1000., 5000.])
M_vec = [0.] * len(kr_vec)
# In slinch
rho_0 = 1.225
nmodes = 6

model.flutterAnalysis(U_vec,
                      kr_vec,
                      M_vec,
                      croot * 4,
                      rho_0,
                      nmodes,
                      symxz=True,
                      g=.01)

# flutter plots
import matplotlib.pyplot as plt

plt.figure(1)
plt.hold(True)
for PID, point in model.flutterPoints.iteritems():
    plt.plot(U_vec, point.gamma, label='mode' + str(PID))
plt.legend(loc=3)
#plt.ylim([-.001,150])
plt.grid(True)
plt.hold(False)
model.plotDeformedModel(figName='normalMode 4',numXSects=10,contLim=[0,293000],\
    warpScale=25,displScale=10,contour='none',mode=4)
model.plotDeformedModel(figName='normalMode 5',numXSects=10,contLim=[0,293000],\
    warpScale=25,displScale=10,contour='none',mode=5)
'''

# Flutter Analysis
# Note units are inches, seconds, and pounds
U_vec = np.linspace(1,100,100)
kr_vec = np.array([.001,.005,.01,.05,.1,.5,1.,5.,10.,50.,100.,500.,1000.,5000.])
M_vec = [0.]*len(kr_vec)
# In slinch
rho_0 = 1.225
nmodes = 6

model.flutterAnalysis(U_vec,kr_vec,M_vec,croot*4,rho_0,nmodes,symxz=True,g=.01)

# flutter plots
import matplotlib.pyplot as plt
plt.figure(1)
plt.hold(True)
for PID, point in model.flutterPoints.iteritems():
    plt.plot(U_vec,point.gamma,label='mode'+str(PID))
plt.legend(loc=3)
#plt.ylim([-.001,150])
plt.grid(True)
plt.hold(False)

plt.figure(2)
plt.hold(True)
for PID, point in model.flutterPoints.iteritems():
Ejemplo n.º 5
0
#cProfile.run('model.calcAIC(M,kr,b,symxz=True)')
#cProfile.run('calcAIC(M,kr,b,delta_x_vec,sweep_vec,l_vec,dihedral_vec,\
#    Xr_vec,Xi_vec,Xc_vec,Xo_vec,symxz=True)',sort='tottime')
'''
# CASE 1:
# Apply the case load
model.resetPointLoads()
tipLoad = np.array([10000.,0.,0.,0.,0.,0.])
F = {80:tipLoad}
model.applyLoads(1,F=F)
# Run the analysis
model.staticAnalysis(1)
model.plotDeformedModel(figName='V8 Case 1',numXSects=8,contLim=[-4.0e6,4.0e6],\
    warpScale=100,displScale=10,contour='sig_33')
'''
'''
U_vec = np.linspace(1,30,30)
kr_vec = np.array([.001,.01,.1,.5,2.5,15.,35.])*10
M_vec = [0.,0.,0.,0.,0.,0.,0.]
rho_0 = 1.225
nmodes = 8

model.flutterAnalysis(U_vec,kr_vec,M_vec,c/2,rho_0,nmodes,symxz=True)

# flutter plots
import matplotlib.pyplot as plt
plt.figure(1)
plt.hold(True)
for PID, point in model.flutterPoints.iteritems():
    plt.plot(U_vec,point.gamma,label='mode'+str(PID))
plt.legend()