tz = 1e3
    return np.array([vx,vy,pz,tz])
    

for noe in noe_dens:
    # Create Wing
    tmpWing = Wing(b_s,croot,ctip,x1,x2,Y_rib,n_ply,m_i,matLib,\
        name='box',noe_per_unit_length=noe)
    wings+=[tmpWing]
    # Save Super Beam
    tmpSBeam = tmpWing.wingSects[0].SuperBeams[0]
    sbeams+=[tmpSBeam]
    # Fix End of Wing
    tmpWing.addConstraint(0,'fix')
    # Load Wing
    tmpWing.applyLoads(f=f,eid=range(0,int(L*noe)))
    # Run Analysis
    tmpWing.staticAnalysis(resetPointLoads=True)
    # Recover displacements and rotations:
    displArr+=[tmpSBeam.writeDisplacements(Return=True)]

# Establish analytical answers:
def u(z):
    return 5.74786e-6*z + 0.0000144388*z**2 - 4.86082e-7*z**3 + 6.07603e-9*z**4
def v(z):
    return 0.0000136249*z + 0.0000360233*z**2 - 1.21213e-6*z**3 + 1.51516e-8*z**4
def w(z):
    return -3.20696e-8*(40*z - z**2)
def psi(z):
    return -0.0000727279*z + 3.6364e-6*z**2 - 6.06066e-8*z**3
def gam(z):
예제 #2
0
# Write the beam displacements and rotations to a file
freqs = model.freqs
model.plotDeformedModel(mode=1,figName='Mode 1',analysis_name='Normal_Modes',\
    numXSects=10,warpScale=1,displScale=2)
model.plotDeformedModel(mode=2,figName='Modes 2',analysis_name='Normal_Modes',\
    numXSects=10,warpScale=1,displScale=2)
model.plotDeformedModel(mode=3,figName='Modes 3',analysis_name='Normal_Modes',\
    numXSects=10,warpScale=1,displScale=2)
model.plotDeformedModel(mode=4,figName='Modes 4',analysis_name='Normal_Modes',\
    numXSects=10,warpScale=1,displScale=2)
model.plotDeformedModel(mode=5,figName='Modes 5',analysis_name='Normal_Modes',\
    numXSects=10,warpScale=1,displScale=2)
model.plotDeformedModel(mode=6,figName='Modes 6',analysis_name='Normal_Modes',\
    numXSects=10,warpScale=1,displScale=2)
'''
'''
# CASE 2:
# Apply the case load
def f(x):
    vx = -0.1*(-1.0e3*x[2]**2+6e7*x[2]+1.0e6)
    vy = (-1.0e3*x[2]**2+6e7*x[2]+1.0e6)
    pz = 0
    tz = .2*c*(-1.0e3*x[2]**2+6e7*x[2]+1.0e6)
    return np.array([vx,vy,pz,tz])/1.0e5
wing1.applyLoads(f=f,allElems=True)
# Run the analysis
wing1.staticAnalysis(resetPointLoads=True)
wing1.plotDeformedWing(figName='V8 Case 2',numXSects=10,contLim=[0.,5.0e8],\
    warpScale=10,displScale=10,contour='MaxPrin')
# Write the beam displacements and rotations to a file
sbeam1.writeDisplacements(fileName = 'V8_Case_2.csv')
예제 #3
0
             n_ply,
             m_i,
             matLib,
             name='box',
             noe_per_unit_length=5)
sbeam1 = wing1.wingSects[0].SuperBeams[0]
#wing1.plotRigidWing()

# Apply the constraint for the model
wing1.addConstraint(0, 'fix')

# CASE 4:
# Apply the case load
tipLoad = np.array([-10000., 100000., -300000., 35000., 60000., 10000.])
F = {100: tipLoad}
wing1.applyLoads(F=F)
# Run the analysis
wing1.staticAnalysis()
#wing1.plotDeformedWing(figName='V8 Case 4',numXSects=10,contLim=[0.,5.0e8],\
#    warpScale=100,displScale=10,contour='MaxPrin')
# Write the beam displacements and rotations to a file
sbeam1.writeDisplacements(fileName='V8_Case_4.csv')


# CASE 5:
# Apply the case load
def f(x):
    vx = -0.1 * (-1.0e3 * x[2]**2 + 6e7 * x[2] + 1.0e6)
    vy = (-1.0e3 * x[2]**2 + 6e7 * x[2] + 1.0e6)
    pz = 0
    tz = .2 * c * (-1.0e3 * x[2]**2 + 6e7 * x[2] + 1.0e6)
    tz = 1e3
    return np.array([vx, vy, pz, tz])


for noe in noe_dens:
    # Create Wing
    tmpWing = Wing(b_s,croot,ctip,x1,x2,Y_rib,n_ply,m_i,matLib,\
        name='box',noe_per_unit_length=noe)
    wings += [tmpWing]
    # Save Super Beam
    tmpSBeam = tmpWing.wingSects[0].SuperBeams[0]
    sbeams += [tmpSBeam]
    # Fix End of Wing
    tmpWing.addConstraint(0, 'fix')
    # Load Wing
    tmpWing.applyLoads(f=f, eid=range(0, int(L * noe)))
    # Run Analysis
    tmpWing.staticAnalysis(resetPointLoads=True)
    # Recover displacements and rotations:
    displArr += [tmpSBeam.writeDisplacements(Return=True)]


# Establish analytical answers:
def u(z):
    return 5.74786e-6 * z + 0.0000144388 * z**2 - 4.86082e-7 * z**3 + 6.07603e-9 * z**4


def v(z):
    return 0.0000136249 * z + 0.0000360233 * z**2 - 1.21213e-6 * z**3 + 1.51516e-8 * z**4

n_ply = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
m_i = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]

wing1 = Wing(b_s,croot,ctip,x1,x2,Y_rib,n_ply,m_i,matLib,name='box',noe_per_unit_length=5)
sbeam1 = wing1.wingSects[0].SuperBeams[0]
#wing1.plotRigidWing()


# Apply the constraint for the model
wing1.addConstraint(0,'fix')

# CASE 4:
# Apply the case load
tipLoad = np.array([-10000.,100000.,-300000.,35000.,60000.,10000.])
F = {100:tipLoad}
wing1.applyLoads(F=F)
# Run the analysis
wing1.staticAnalysis()
#wing1.plotDeformedWing(figName='V8 Case 4',numXSects=10,contLim=[0.,5.0e8],\
#    warpScale=100,displScale=10,contour='MaxPrin')
# Write the beam displacements and rotations to a file
sbeam1.writeDisplacements(fileName = 'V8_Case_4.csv')

# CASE 5:
# Apply the case load
def f(x):
    vx = -0.1*(-1.0e3*x[2]**2+6e7*x[2]+1.0e6)
    vy = (-1.0e3*x[2]**2+6e7*x[2]+1.0e6)
    pz = 0
    tz = .2*c*(-1.0e3*x[2]**2+6e7*x[2]+1.0e6)
    return np.array([vx,vy,pz,tz])/1.0e4
예제 #6
0
# Write the beam displacements and rotations to a file
freqs = model.freqs
model.plotDeformedModel(mode=1,figName='Mode 1',analysis_name='Normal_Modes',\
    numXSects=10,warpScale=1,displScale=2)
model.plotDeformedModel(mode=2,figName='Modes 2',analysis_name='Normal_Modes',\
    numXSects=10,warpScale=1,displScale=2)
model.plotDeformedModel(mode=3,figName='Modes 3',analysis_name='Normal_Modes',\
    numXSects=10,warpScale=1,displScale=2)
model.plotDeformedModel(mode=4,figName='Modes 4',analysis_name='Normal_Modes',\
    numXSects=10,warpScale=1,displScale=2)
model.plotDeformedModel(mode=5,figName='Modes 5',analysis_name='Normal_Modes',\
    numXSects=10,warpScale=1,displScale=2)
model.plotDeformedModel(mode=6,figName='Modes 6',analysis_name='Normal_Modes',\
    numXSects=10,warpScale=1,displScale=2)
'''
'''
# CASE 2:
# Apply the case load
def f(x):
    vx = -0.1*(-1.0e3*x[2]**2+6e7*x[2]+1.0e6)
    vy = (-1.0e3*x[2]**2+6e7*x[2]+1.0e6)
    pz = 0
    tz = .2*c*(-1.0e3*x[2]**2+6e7*x[2]+1.0e6)
    return np.array([vx,vy,pz,tz])/1.0e5
wing1.applyLoads(f=f,allElems=True)
# Run the analysis
wing1.staticAnalysis(resetPointLoads=True)
wing1.plotDeformedWing(figName='V8 Case 2',numXSects=10,contLim=[0.,5.0e8],\
    warpScale=10,displScale=10,contour='MaxPrin')
# Write the beam displacements and rotations to a file
sbeam1.writeDisplacements(fileName = 'V8_Case_2.csv')