Пример #1
0
laminates_Lay3 = [lam1,lam2,lam3,lam4]
# Create the cross-section object and mesh it
xsect_Lay3 = XSect(4,af3,xdim3,laminates_Lay3,matLib,typeXSect='box',meshSize=2)
# Run the cross-sectional analysis. Since this is an airfoil and for this,
# symmetric airfoils the AC is at the 1/c chord, we will put the reference axis
# here
xsect_Lay3.xSectionAnalysis(ref_ax=[0.25*c3,0.])
# Let's see what the rigid cross-section looks like:
xsect_Lay3.plotRigid()
# Print the stiffness matrix
xsect_Lay3.printSummary(stiffMat=True)
# Create an applied force vector. For a wing shape such as this, let's apply a
# semi-realistic set of loads:
force3 = np.array([10.,100.,0.,10.,1.,0.])
# Calculate the force resultant effects
xsect_Lay3.calcWarpEffects(force=force3)
# This time let's plot the max principle stress:
xsect_Lay3.plotWarped(figName='NACA2412 Box Beam Max Principle Stress',\
    warpScale=10,contour='MaxPrin',colorbar=True)

# Establish Matricies
A = xsect_Lay3.A
R = xsect_Lay3.R
E = xsect_Lay3.E
C = xsect_Lay3.C
L = xsect_Lay3.L
M = xsect_Lay3.M
D = xsect_Lay3.D
Z6 = np.zeros((6,6))
nd = 3*len(xsect_Lay3.nodeDict)
Tr = np.zeros((6,6));Tr[0,4] = -1;Tr[1,3] = 1
Пример #2
0
# Note that while it might look like the cross-section is made of triangular
# elements, it's actually made of quadrilaterals. This is an artifact of how
# the visualizer mayavi works. Let's get a summary of the cross-section's
# stiffnesses, ect.
xsect1.printSummary(stiffMat=True)
# Notice that from the command line output, all of the important cross-
# sectional geometric properties are located at the origin. By observing the
# cross-section stiffness matrix, it can be seen by the 1,3 entry that there
# is shear-axial coupling. From the non-zero 4,6 entry, we can also tell that
# the cross-section has bending-torsion coupling.
# We can apply a force to the face of this cross-section at the reference axis
# (which in this case is at x,y = 0,0) and see what the stresses look like. In
# this case we'll apply [Fx,Fy,Fz,Mx,My,Mz]=[0.,0.,0.,100.,0.,0.] as if the
# beam belonging to this cross-section were in pure bending.
force1 = np.array([0., 100., 0., 10., 0., 0.])
xsect1.calcWarpEffects(force=force1)
# Having applied the force, let's see what the sigma_zz (normal stresses of the
# beam) look like
xsect1.plotWarped(figName='Laminate Sigma_33 Stress',warpScale=10,\
    contour='sig_33',colorbar=True)
# Let's look at the sigma_13 stress state now since we know there is torsion
# coupling:
xsect1.plotWarped(figName='Laminate Sigma_13 Stress',warpScale=10,\
    contour='sig_13',colorbar=True)
# Notice the increased stress in two of the plies? Recall which ones those are?
# Those plies are the 45 degree plies which are currently taking the shear!

# CREATE A LAMIANTE CROSS-SECTION WITH A DIFFERENT REFERENCE AXIS
# ===============================================================
# The cross-section we just made happened to have all of it's geometrical
# locations (mass center, shear center, tension center) at the origin, which
Пример #3
0
force = np.array([0,0,0,0,0,1.])
xsect_Lay3.calcWarpEffects(force=force)
xsect_Lay3.plotWarped(figName='Warping Displacement Mz',warpScale=0,contour='none')
xsect_Lay3.plotWarped(figName='Warping Displacement Mz',warpScale=5e8,contLim=[0,1e-9])
'''

lam1.printSummary()
lam2.printSummary()
lam3.printSummary()
lam4.printSummary()
laminates_Lay3 = [lam1,lam2,lam3,lam4]
xsect_Lay3 = XSect(4,af2,xdim2,laminates_Lay3,matLib,typeXSect='rectBox',meshSize=1.87)
xsect_Lay3.xSectionAnalysis()
xsect_Lay3.printSummary(stiffMat=True)
xsect_Lay3.calcWarpEffects(force=force)

#import mayavi.mlab as mlab

#xsect_Lay3.plotWarped(figName='Stress sig_11',warpScale=1,contLim=[-500,500],contour='sig_11')
xsect_Lay3.plotWarped(figName='Stress sig_11',warpScale=0,contour='sig_11')
#xsect_Lay3.plotRigid(figName='Stress sig_11')
#mlab.colorbar()

#xsect_Lay3.plotWarped(figName='Stress sig_22',warpScale=1,contLim=[-5075,9365],contour='sig_22')
xsect_Lay3.plotWarped(figName='Stress sig_22',warpScale=0,contour='sig_22')
#mlab.colorbar()

#xsect_Lay3.plotWarped(figName='Stress sig_33',warpScale=1,contLim=[25762,293000],contour='sig_33')
xsect_Lay3.plotWarped(figName='Stress sig_33',warpScale=0,contour='sig_33')
#mlab.colorbar()
Пример #4
0
# Note that while it might look like the cross-section is made of triangular
# elements, it's actually made of quadrilaterals. This is an artifact of how
# the visualizer mayavi works. Let's get a summary of the cross-section's
# stiffnesses, ect.
xsect1.printSummary(stiffMat=True)
# Notice that from the command line output, all of the important cross-
# sectional geometric properties are located at the origin. By observing the
# cross-section stiffness matrix, it can be seen by the 1,3 entry that there
# is shear-axial coupling. From the non-zero 4,6 entry, we can also tell that
# the cross-section has bending-torsion coupling.
# We can apply a force to the face of this cross-section at the reference axis
# (which in this case is at x,y = 0,0) and see what the stresses look like. In
# this case we'll apply [Fx,Fy,Fz,Mx,My,Mz]=[0.,0.,0.,100.,0.,0.] as if the
# beam belonging to this cross-section were in pure bending.
force1 = np.array([0.,100.,0.,10.,0.,0.])
xsect1.calcWarpEffects(force=force1)
# Having applied the force, let's see what the sigma_zz (normal stresses of the
# beam) look like
xsect1.plotWarped(figName='Laminate Sigma_33 Stress',warpScale=10,\
    contour='sig_33',colorbar=True)
# Let's look at the sigma_13 stress state now since we know there is torsion
# coupling:
xsect1.plotWarped(figName='Laminate Sigma_13 Stress',warpScale=10,\
    contour='sig_13',colorbar=True)
# Notice the increased stress in two of the plies? Recall which ones those are?
# Those plies are the 45 degree plies which are currently taking the shear!

# CREATE A LAMIANTE CROSS-SECTION WITH A DIFFERENT REFERENCE AXIS
# ===============================================================
# The cross-section we just made happened to have all of it's geometrical
# locations (mass center, shear center, tension center) at the origin, which