# Convert it back to a stiffness matrix Cp = np.linalg.inv(Sp) print('The rotated stiffness matrix:') print(tabulate(np.around(Cp - C, decimals=3), tablefmt="fancy_grid")) # ============================================================================= # CLT VALIDATION # ============================================================================= # Initialize the number of plies per each orientation n_i = [1, 1, 1, 1] # Initialize the materials to be used at each orientation m_i = [4, 4, 4, 4] # Initialize the angle orientations for the plies th = [30, -30, 0, 45] # Create a laminate with default orientations (for 4 orientations, this will # default to th_defalt = [0,45,90,-45]) lam1 = Laminate(n_i, m_i, matlib) # Print a summary of laminate 1 print('Laminate 1 summary:') lam1.printSummary(decimals=3) # Create a laminate with default orientations (for more or less than 4 # orientations, th_default = [0]*len(n_i)) lam2 = Laminate(n_i + n_i, m_i + m_i, matlib) # Print summary of laminate 2 print('Laminate 2 summary:') lam2.printSummary(decimals=3) # Create a laminate using the above rotation orientations lam3 = Laminate(n_i, m_i, matlib, th=th) # Print Summary of laminate 3 print('Laminate 3 summary:') lam3.printSummary(decimals=3)
# Convert it back to a stiffness matrix Cp = np.linalg.inv(Sp) print('The rotated stiffness matrix:') print(tabulate(np.around(Cp-C,decimals=3),tablefmt="fancy_grid")) # ============================================================================= # CLT VALIDATION # ============================================================================= # Initialize the number of plies per each orientation n_i = [1,1,1,1] # Initialize the materials to be used at each orientation m_i = [4,4,4,4] # Initialize the angle orientations for the plies th = [30,-30,0,45] # Create a laminate with default orientations (for 4 orientations, this will # default to th_defalt = [0,45,90,-45]) lam1 = Laminate(n_i,m_i,matlib) # Print a summary of laminate 1 print('Laminate 1 summary:') lam1.printSummary(decimals=3) # Create a laminate with default orientations (for more or less than 4 # orientations, th_default = [0]*len(n_i)) lam2 = Laminate(n_i+n_i,m_i+m_i,matlib) # Print summary of laminate 2 print('Laminate 2 summary:') lam2.printSummary(decimals=3) # Create a laminate using the above rotation orientations lam3 = Laminate(n_i,m_i,matlib,th=th) # Print Summary of laminate 3 print('Laminate 3 summary:') lam3.printSummary(decimals=3)
xsect_Lay3.calcWarpEffects(force=force) xsect_Lay3.plotWarped(figName='Warping Displacement Mx',warpScale=0,contour='none') xsect_Lay3.plotWarped(figName='Warping Displacement Mx',warpScale=1e9,contLim=[0,1e-9]) force = np.array([0,0,0,0,1,0.]) xsect_Lay3.calcWarpEffects(force=force) xsect_Lay3.plotWarped(figName='Warping Displacement My',warpScale=0,contour='none') xsect_Lay3.plotWarped(figName='Warping Displacement My',warpScale=1e9,contLim=[0,1e-9]) 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()