from AeroComBAT.FEM import Model from AeroComBAT.Aerodynamics import calcAIC # Define the width of the cross-section x1 = -1 x2 = 1 c = 0.4572 ctip = c/10 croot = c/10 span = .697 p1 = np.array([c/2,0.,0.]) p2 = np.array([c/2,span,0.]) Y_rib = np.linspace(0.,1.,2) b_s = np.linalg.norm((Y_rib[0],Y_rib[-1])) matLib = MaterialLib() matLib.addMat(1,'AL','iso',[71.7e9,.33,2810],.001) matLib.addMat(2,'Weak_mat','iso',[100,.33,10],.005) matLib.addMat(3,'AS43501-6*','trans_iso',[142e9,9.8e9,.34,.42,6e9,2000],0.005) n_ply = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1] m_ply = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1] # For tension bending coupling #m_ply = [3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3] #th_ply = [0,0,0,0,-30,-30,-30,-30,0,0,0,0,30,30,30,30] noe_dens = 60 chordVec=np.array([1.,0.,0.]) wing1 = Wing(1,p1,p2,croot,ctip,x1,x2,Y_rib,n_ply,m_ply,matLib,name='box',\ noe=noe_dens,chordVec=chordVec,ref_ax='shearCntr')#,th_ply=th_ply)
# IMPORT NUMPY PACKAGES # ===================== import numpy as np import matplotlib.pyplot as plt # IMPORT AEROCOMBAT CLASSES # ========================= from AeroComBAT.Structures import MaterialLib from AeroComBAT.AircraftParts import Wing from AeroComBAT.FEM import Model # ADD MATERIALS TO THE MATERIAL LIBRARY # ===================================== # Create a material library object matLib = MaterialLib() # Add an aluminum material (SI) matLib.addMat(1,'AL','iso',[68.9e9,.33,2700*2],.00025) # Add an soft material material (SI) matLib.addMat(2,'Weak_mat','iso',[100,.33,10],.00025) # Add material property from Hodges 1999 Asymptotically correct anisotropic # beam theory (SI) matLib.addMat(3,'AS43501-6*','trans_iso',[142e9,9.8e9,.34,.42,6e9,20000],0.0005) # CREATE THE WING # =============== # Define the chord length of the model c = .076 # Define the chord length (this will be the hight of the box beam) ctip = 0.0076+.001 # Since the wing isn't tapered
from AeroComBAT.AircraftParts import Wing import numpy as np from AeroComBAT.FEM import Model # Define the width of the cross-section x1 = -0.8990566037735849 x2 = 0.8990566037735849 c = 1. ctip = c croot = c p1 = np.array([0., 0., 0.]) p2 = np.array([0., 0., 20.]) Y_rib = np.linspace(0., 1., 2) b_s = np.linalg.norm((Y_rib[0], Y_rib[-1])) matLib = MaterialLib() matLib.addMat(1, 'AL', 'iso', [71.7e9, .33, 2810], .005) matLib.addMat(2, 'Weak_mat', 'iso', [100, .33, 10], .005) 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] noe_dens = 2 wing1 = Wing(1,p1,p2,croot,ctip,x1,x2,Y_rib,n_ply,m_i,matLib,name='box',\ noe=noe_dens,meshSize=3,lam_sym=True) sbeam1 = wing1.wingSects[0].SuperBeams[0] xsect = sbeam1.xsect model = Model() model.addAircraftParts([wing1])
# IMPORTS: import sys import os import cProfile sys.path.append(os.path.abspath('..')) from AeroComBAT.Structures import MaterialLib from AeroComBAT.AircraftParts import Wing from AeroComBAT.FEM import Model import numpy as np # Add the material property matLib = MaterialLib() matLib.addMat(1,'AS43501-6','trans_iso',[20.6e6,1.42e6,.3,.34,.87e6,0.057/386.09],0.005) matLib.addMat(3,'AS43501-6*','trans_iso',[20.6e6,1.42e6,.34,.42,.87e6,0.057/386.09],0.005) matLib.addMat(2,'AL','iso',[9900000.,.33,2.53881E-4],.005) # Layup 3 Configuration n_i_1 = [1,1,1,1,1,1] m_i_1 = [2,2,2,2,2,2] th_1 = [-15,-15,-15,-15,-15,-15] n_i_2 = [1,1,1,1,1,1] m_i_2 = [2,2,2,2,2,2] th_2 = [15,-15,15,-15,15,-15] n_i_3 = [1,1,1,1,1,1] m_i_3 = [2,2,2,2,2,2] th_3 = [15,15,15,15,15,15] n_i_4 = [1,1,1,1,1,1]
# -*- coding: utf-8 -*- """ Created on Fri Jun 10 08:22:12 2016 @author: Ben """ from AeroComBAT.Structures import MaterialLib, Laminate, XSect, SuperBeam from AeroComBAT.Aerodynamics import Airfoil import numpy as np from AeroComBAT.FEM import Model # ADD MATERIALS TO THE MATERIAL LIBRARY # ===================================== # Create a material library object matLib = MaterialLib() matLib.addMat(1, "IM7 Uni Tape", "trans_iso", [22950000.0, 1360000.0, 0.34, 0.3, 620000.0, 0.058], 0.005) matLib.addMat(2, "31IG Rohacell", "trans_iso", [5220.0, 5220.0, 0.34, 0.3, 1885.0, 0.1], 0.19 / 2) # Add an aluminum material (SI) matLib.addMat(3, "A-286", "iso", [29.1e3, 29.1e3 / (11.1e3 * 2) - 1, 0.1], 0.005) # NACA 2412 BOX BEAM # ================== # Now let's mesh a NACA2412 box beam. We will use the last of the supported # meshing routines for this. This is the less restrictive than the 'rectBox' # routine, and has different laminate mesh interfaces. This time we will also # make a slightly more interesting mesh using unbalanced and unsymetric # laminates. First let's initialize the airfoil shape: # Initialize a chord length of four inches c3 = 17.68515
import os # Append the root to the system path sys.path.append(os.path.abspath('..')) # IMPORT AEROCOMBAT CLASSES # ========================= from AeroComBAT.Structures import MaterialLib, Laminate from AeroComBAT.Utilities import RotationHelper from AeroComBAT.tabulate import tabulate import numpy as np # MATERIAL lIBRARY VALIDATION # =========================== # Generate Empty Material Library matlib = MaterialLib() # Add a graphite orthotropic material matlib.addMat(1, 'Graphite-Polymer Composite ortho', 'ortho', \ [155.0e9, 12.1e9, 12.1e9, .458, .248, .248, 3.2e9, 4.4e9,\ 4.4e9, 1.7e3], .15e-3) # Add a graphite transversely isotropic material matlib.addMat(2, 'Graphite-Polymer Composite', 'trans_iso', \ [155.0e9, 12.1e9, .458, .248, 4.4e9, 1.7e3], .15e-3) # Add a glass transversely isotropic material matlib.addMat(3, 'Glass-Polymer Composite', 'trans_iso', \ [50.0e9, 15.2e9, .428, .254, 4.7e9, 1.2e3], .15e-3) # Add a T300 transversely isotropic material matlib.addMat(4, 'T300/5208', 'trans_iso', \ [181.0e9, 10.3e9, .458, .28, 7.17e9, 1.8e3], .15e-3) # Add a aluminum isotropic material matlib.addMat(5, 'AL-2050', 'iso',[75.8, 0.33, 2.7e3], .15e-3)
# IMPORTS: import sys import os import cProfile sys.path.append(os.path.abspath('..')) from AeroComBAT.Structures import MaterialLib from AeroComBAT.AircraftParts import Wing from AeroComBAT.FEM import Model import numpy as np # Add the material property matLib = MaterialLib() matLib.addMat(1, 'AS43501-6', 'trans_iso', [20.6e6, 1.42e6, .3, .34, .87e6, 0.057 / 386.09], 0.005) matLib.addMat(3, 'AS43501-6*', 'trans_iso', [20.6e6, 1.42e6, .34, .42, .87e6, 0.057 / 386.09], 0.005) matLib.addMat(2, 'AL', 'iso', [9900000., .33, 2.53881E-4], .005) # Layup 3 Configuration n_i_1 = [1, 1, 1, 1, 1, 1] m_i_1 = [2, 2, 2, 2, 2, 2] th_1 = [-15, -15, -15, -15, -15, -15] n_i_2 = [1, 1, 1, 1, 1, 1] m_i_2 = [2, 2, 2, 2, 2, 2] th_2 = [15, -15, 15, -15, 15, -15] n_i_3 = [1, 1, 1, 1, 1, 1] m_i_3 = [2, 2, 2, 2, 2, 2]
# IMPORT AEROCOMBAT CLASSES # ========================= from AeroComBAT.Structures import MaterialLib, Laminate, XSect, SuperBeam from AeroComBAT.Aerodynamics import Airfoil from AeroComBAT.FEM import Model # IMPORT NUMPY MODULES # ==================== import numpy as np import mayavi.mlab as mlab # ADD MATERIALS TO THE MATERIAL LIBRARY # ===================================== # Create a material library object matLib = MaterialLib() # Add material property from Hodges 1999 Asymptotically correct anisotropic # beam theory (Imperial) matLib.addMat(1,'AS43501-6','trans_iso',[20.6e6,1.42e6,.34,.3,.87e6,.1],.005) # Add material property from Hodges 1999 Asymptotically correct anisotropic # beam theory (Imperial) matLib.addMat(2,'AS43501-6*','trans_iso',[20.6e6,1.42e6,.34,.42,.87e6,.1],.005) # Add an aluminum material (SI) matLib.addMat(3,'AL','iso',[71.7e9,.33,2810],.005) # CREATE A WRAPPED RECTANGULAR BOX-BEAM CROSS-SECTION # =================================================== # Layup 1 Box beam (0.5 x 0.923 in^2 box with laminate schedule [0]_6) # Before we make a beam, we must first make the cross-section of that beam. We # are going to start with a cross-section we used in the third tutorial.
import os sys.path.append(os.path.abspath('..')) # IMPORT AEROCOMBAT CLASSES # ========================= from AeroComBAT.Structures import Node, MaterialLib, CQUADX from AeroComBAT.Aerodynamics import Airfoil # IMPORT NUMPY MODULES # ==================== import numpy as np import matplotlib.pyplot as plt # Material Info mat_lib = MaterialLib() # Add an aluminum isotropic material mat_lib.addMat(1, 'AL-2050', 'iso',[75.8, 0.33, 2.7e3], .15e-3) # CQUADX 2D ELEMENT CREATION # ========================== # Create a node 1 object n1 = Node(1,[0.,0.,0.]) # Create a node 2 object n2 = Node(2,[2.,0.,0.]) # Create a node 3 object n3 = Node(3,[2.,3.,0.]) # Create a node 4 object n4 = Node(4,[0.,5.,0.]) # Create a CQUADX element
import sys import os # Append the root to the system path sys.path.append(os.path.abspath('..')) # IMPORT AEROCOMBAT CLASSES # ========================= from AeroComBAT.Structures import MaterialLib, Laminate from AeroComBAT.Utilities import RotationHelper from AeroComBAT.tabulate import tabulate import numpy as np # MATERIAL lIBRARY VALIDATION # =========================== # Generate Empty Material Library matlib = MaterialLib() # Add a graphite orthotropic material matlib.addMat(1, 'Graphite-Polymer Composite ortho', 'ortho', \ [155.0e9, 12.1e9, 12.1e9, .458, .248, .248, 3.2e9, 4.4e9,\ 4.4e9, 1.7e3], .15e-3) # Add a graphite transversely isotropic material matlib.addMat(2, 'Graphite-Polymer Composite', 'trans_iso', \ [155.0e9, 12.1e9, .458, .248, 4.4e9, 1.7e3], .15e-3) # Add a glass transversely isotropic material matlib.addMat(3, 'Glass-Polymer Composite', 'trans_iso', \ [50.0e9, 15.2e9, .428, .254, 4.7e9, 1.2e3], .15e-3) # Add a T300 transversely isotropic material matlib.addMat(4, 'T300/5208', 'trans_iso', \ [181.0e9, 10.3e9, .458, .28, 7.17e9, 1.8e3], .15e-3) # Add a aluminum isotropic material matlib.addMat(5, 'AL-2050', 'iso', [75.8, 0.33, 2.7e3], .15e-3)
# -*- coding: utf-8 -*- """ Created on Fri Jun 10 08:22:12 2016 @author: Ben """ from AeroComBAT.Structures import MaterialLib, Laminate, XSect, SuperBeam from AeroComBAT.Aerodynamics import Airfoil import numpy as np from AeroComBAT.FEM import Model # ADD MATERIALS TO THE MATERIAL LIBRARY # ===================================== # Create a material library object matLib = MaterialLib() matLib.addMat(1, 'IM7 Uni Tape', 'trans_iso', [22950000., 1360000., .34, .3, 620000., 0.058], .005) matLib.addMat(2, '31IG Rohacell', 'trans_iso', [5220., 5220., .34, .3, 1885., .1], .19 / 2) # Add an aluminum material (SI) matLib.addMat(3, 'A-286', 'iso', [29.1e3, 29.1e3 / (11.1e3 * 2) - 1, 0.1], .005) # NACA 2412 BOX BEAM # ================== # Now let's mesh a NACA2412 box beam. We will use the last of the supported # meshing routines for this. This is the less restrictive than the 'rectBox' # routine, and has different laminate mesh interfaces. This time we will also # make a slightly more interesting mesh using unbalanced and unsymetric # laminates. First let's initialize the airfoil shape:
# -*- coding: utf-8 -*- """ Created on Fri Jun 10 08:22:12 2016 @author: Ben """ from AeroComBAT.Structures import MaterialLib, Laminate, XSect from AeroComBAT.Aerodynamics import Airfoil import numpy as np # ADD MATERIALS TO THE MATERIAL LIBRARY # ===================================== # Create a material library object matLib = MaterialLib() matLib.addMat(1,'A-286','iso',[29.1e3,29.1e3/(11.1e3*2)-1,0.1],.005) # NACA 2412 BOX BEAM # ================== # Now let's mesh a NACA2412 box beam. We will use the last of the supported # meshing routines for this. This is the less restrictive than the 'rectBox' # routine, and has different laminate mesh interfaces. This time we will also # make a slightly more interesting mesh using unbalanced and unsymetric # laminates. First let's initialize the airfoil shape: # Initialize a chord length of four inches # Initialize the non-dimesional locations for the airfoil points to be # generated: a = 0.91
import os sys.path.append(os.path.abspath('..')) # IMPORT AEROCOMBAT CLASSES # ========================= from AeroComBAT.Structures import Node, MaterialLib, CQUADX from AeroComBAT.Aerodynamics import Airfoil # IMPORT NUMPY MODULES # ==================== import numpy as np import matplotlib.pyplot as plt # Material Info mat_lib = MaterialLib() # Add an aluminum isotropic material mat_lib.addMat(1, 'AL-2050', 'iso', [75.8, 0.33, 2.7e3], .15e-3) # CQUADX 2D ELEMENT CREATION # ========================== # Create a node 1 object n1 = Node(1, [0., 0., 0.]) # Create a node 2 object n2 = Node(2, [2., 0., 0.]) # Create a node 3 object n3 = Node(3, [2., 3., 0.]) # Create a node 4 object n4 = Node(4, [0., 5., 0.]) # Create a CQUADX element elem1 = CQUADX(1, [n1, n2, n3, n4], 1, mat_lib)
from AeroComBAT.AircraftParts import Wing import numpy as np from AeroComBAT.FEM import Model # Define the width of the cross-section x1 = -0.8990566037735849 x2 = 0.8990566037735849 c = 1. ctip = c croot = c p1 = np.array([0.,0.,0.]) p2 = np.array([0.,0.,20.]) Y_rib = np.linspace(0.,1.,2) b_s = np.linalg.norm((Y_rib[0],Y_rib[-1])) matLib = MaterialLib() matLib.addMat(1,'AL','iso',[71.7e9,.33,2810],.005) matLib.addMat(2,'Weak_mat','iso',[100,.33,10],.005) 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] noe_dens = 2 wing1 = Wing(1,p1,p2,croot,ctip,x1,x2,Y_rib,n_ply,m_i,matLib,name='box',\ noe=noe_dens,meshSize=3,lam_sym=True) sbeam1 = wing1.wingSects[0].SuperBeams[0] xsect = sbeam1.xsect model = Model() model.addAircraftParts([wing1])
# -*- coding: utf-8 -*- """ Created on Fri Jun 10 08:22:12 2016 @author: Ben """ from AeroComBAT.Structures import MaterialLib, Laminate, XSect from AeroComBAT.Aerodynamics import Airfoil import numpy as np # ADD MATERIALS TO THE MATERIAL LIBRARY # ===================================== # Create a material library object matLib = MaterialLib() matLib.addMat(1, 'A-286', 'iso', [29.1e3, 29.1e3 / (11.1e3 * 2) - 1, 0.1], .005) # NACA 2412 BOX BEAM # ================== # Now let's mesh a NACA2412 box beam. We will use the last of the supported # meshing routines for this. This is the less restrictive than the 'rectBox' # routine, and has different laminate mesh interfaces. This time we will also # make a slightly more interesting mesh using unbalanced and unsymetric # laminates. First let's initialize the airfoil shape: # Initialize a chord length of four inches # Initialize the non-dimesional locations for the airfoil points to be # generated: a = 0.91 b = 0.75