Composite Plate Documentation. John Robinson

Similar documents
As an example we consider the stacking and analysis of a 2-ply symmetric laminate. First we clear the Matlab space and close figures.

Module-6: Laminated Composites-II. Learning Unit-1: M6.1. M 6.1 Structural Mechanics of Laminates

TABLE OF CONTENTS. Mechanics of Composite Materials, Second Edition Autar K Kaw University of South Florida, Tampa, USA

ON THE NUMERICAL ANALYSIS OF COMPOSITE MATERIAL

Composite Structures. Indian Institute of Technology Kanpur

Module 5: Laminate Theory Lecture 17: Laminate Constitutive Relations. The Lecture Contains: Laminate Constitutive Relations

Chapter 2 - Macromechanical Analysis of a Lamina. Exercise Set. 2.1 The number of independent elastic constants in three dimensions are: 2.

Composites Design and Analysis. Stress Strain Relationship

Mechanics of Composite Materials, Second Edition Autar K Kaw University of South Florida, Tampa, USA

Finite element analysis of FRP pipelines dynamic stability

UNIVERSITY OF SASKATCHEWAN ME MECHANICS OF MATERIALS I FINAL EXAM DECEMBER 13, 2008 Professor A. Dolovich

Lecture 8. Stress Strain in Multi-dimension

Linear elastic analysis of thin laminated beams with uniform and symmetric cross-section

Bending of Simply Supported Isotropic and Composite Laminate Plates

LAMINATED COMPOSITE PLATES

Mechanics of Composite Materials with MATLAB

EFFECT OF LAMINATION ANGLE AND THICKNESS ON ANALYSIS OF COMPOSITE PLATE UNDER THERMO MECHANICAL LOADING

Module III - Macro-mechanics of Lamina. Lecture 23. Macro-Mechanics of Lamina

Composite Structural Mechanics using MATLAB

HIGHER-ORDER THEORIES

ELASTICITY (MDM 10203)

Finite Element Method in Geotechnical Engineering

Hygrothermal stresses in laminates

QUESTION BANK Composite Materials

Finite Element Analysis of Composite Laminate By Using ABDH Matrix(Stiffness Matrix)

Getting Started with Composites Modeling and Analysis

International Journal of Advanced Engineering Technology E-ISSN

2.2 Relation Between Mathematical & Engineering Constants Isotropic Materials Orthotropic Materials

Comparison of Ply-wise Stress-Strain results for graphite/epoxy laminated plate subjected to in-plane normal loads using CLT and ANSYS ACP PrepPost

Stress, Strain Stress strain relationships for different types of materials Stress strain relationships for a unidirectional/bidirectional lamina

Smart Materials, Adaptive Structures, and Intelligent Mechanical Systems

VIBRATION AND DAMPING ANALYSIS OF FIBER REINFORCED COMPOSITE MATERIAL CONICAL SHELLS

VIBRATION CONTROL OF RECTANGULAR CROSS-PLY FRP PLATES USING PZT MATERIALS

LAMINATED COMPOSITE PLATES

Materials and Structures. Indian Institute of Technology Kanpur

Predicting Failure of Multiangle Composite Laminates

3D and Planar Constitutive Relations

MATERIAL ELASTIC ANISOTROPIC command

Fig. 1. Circular fiber and interphase between the fiber and the matrix.

HIGHER-ORDER THEORIES

Review of Strain Energy Methods and Introduction to Stiffness Matrix Methods of Structural Analysis

Constitutive Equations

Basic Equations of Elasticity

Mechanical Behavior of Composite Tapered Lamina

Thermo-mechanical Analysis 1II"1I~Ot" lln via Fused Deposition

2. Rigid bar ABC supports a weight of W = 50 kn. Bar ABC is pinned at A and supported at B by rod (1). What is the axial force in rod (1)?

Mechanical Properties of Materials

Classical Lamination Theory: The Kirchhoff Hypothesis

Passive Damping Characteristics of Carbon Epoxy Composite Plates

Mechanics PhD Preliminary Spring 2017

ME 7502 Lecture 2 Effective Properties of Particulate and Unidirectional Composites

MASSACHUSETTS INSTITUTE OF TECHNOLOGY DEPARTMENT OF MATERIALS SCIENCE AND ENGINEERING CAMBRIDGE, MASSACHUSETTS 02139

SOME RESEARCH ON FINITE ELEMENT ANALYSIS OF COMPOSITE MATERIALS

MECH 5312 Solid Mechanics II. Dr. Calvin M. Stewart Department of Mechanical Engineering The University of Texas at El Paso

PROMAL2012 SOFTWARE PACKAGE A USER GUIDE

If you take CT5143 instead of CT4143 then write this at the first of your answer sheets and skip problem 4 and 6.

Sub. Code:

COMPUTER AIDED DESIGN IN CASE OF THE LAMINATED COMPOSITE MATERIALS

3D Elasticity Theory

INTRODUCTION TO STRAIN

Aerospace Structural Composites I Homework 6. Anirban Chaudhuri

20. Rheology & Linear Elasticity

Effect of Thermal Stresses on the Failure Criteria of Fiber Composites

The stiffness of plates

Module 5: Laminate Theory Lecture 19: Hygro -thermal Laminate Theory. Introduction: The Lecture Contains: Laminate Theory with Thermal Effects

3.2 Hooke s law anisotropic elasticity Robert Hooke ( ) Most general relationship

Chapter 12 Plate Bending Elements. Chapter 12 Plate Bending Elements

Calculation of Energy Release Rate in Mode I Delamination of Angle Ply Laminated Composites

BI-STABLE COMPOSITE SHELLS

DESIGN OF LAMINATES FOR IN-PLANE LOADING

Design of Hybrid Composites for Axial loads with Zero Coefficient of Thermal Expansion

Strain Transformation equations

Free Vibration Response of a Multilayer Smart Hybrid Composite Plate with Embedded SMA Wires

Design Survey of Laminated Composite I-Beam

FLEXURAL RESPONSE OF FIBER RENFORCED PLASTIC DECKS USING HIGHER-ORDER SHEAR DEFORMABLE PLATE THEORY

CHAPTER 5. Beam Theory

Applicability of Engineering Models in Multiscale Modeling of Natural Fiber Hygro- Elastic Properties

Materials and Structures. Indian Institute of Technology Kanpur

NDT&E Methods: UT. VJ Technologies CAVITY INSPECTION. Nondestructive Testing & Evaluation TPU Lecture Course 2015/16.

Passive Damping Characteristics of Carbon Epoxy Composite Plates

Materials and Structures. Indian Institute of Technology Kanpur

STRUCTURAL ANALYSIS OF FIBER REINFORCED COMPOSITE MATERIALS CESAR AUGUSTO ROJAS. Presented to the Faculty of the Graduate School of

Vibro-acoustic response of FGM plates considering the thermal effects Tieliang Yang1, a, Qibai Huang1, *

CHAPTER THREE SYMMETRIC BENDING OF CIRCLE PLATES

Stacking sequences for Extensionally Isotropic, Fully Isotropic and Quasi-Homogeneous Orthotropic Laminates.

ARTICLE A-8000 STRESSES IN PERFORATED FLAT PLATES

Example 3.7 Consider the undeformed configuration of a solid as shown in Figure 3.60.

Nomenclature. Length of the panel between the supports. Width of the panel between the supports/ width of the beam

ANALYTICAL SOLUTIONS USING HIGH ORDER COMPOSITE LAMINATE THEORY FOR HONEYCOMB SANDWICH PLATES WITH VISCOELASTIC FREQUENCY DEPENDENT DAMPING

Tensor Visualization. CSC 7443: Scientific Information Visualization

Thermal buckling and post-buckling of laminated composite plates with. temperature dependent properties by an asymptotic numerical method

IDE 110 Mechanics of Materials Spring 2006 Final Examination FOR GRADING ONLY

UNEXPECTED TWISTING CURVATURE GENERATION OF BISTABLE CFRP LAMINATE DUE TO THE UNCERTAINTY OF LAY-UP SEQUENCE AND NEGATIVE INITIAL CURVATURE

Composite Laminate Modeling

Constitutive Relations

ULTRASOUND EXAMINATION OF FIBER GLASS POLYESTER COMPOSITE

SEMM Mechanics PhD Preliminary Exam Spring Consider a two-dimensional rigid motion, whose displacement field is given by

Buckling Behavior of 3D Randomly Oriented CNT Reinforced Nanocomposite Plate

Introduction, Basic Mechanics 2

Prediction of Elastic Constants on 3D Four-directional Braided

Transcription:

Composite Plate Documentation Release v ersion John Robinson February 18, 2016

Contents 1 Indices and tables 3 2 How to Use Composite Plate 5 3 Modules 7 Python Module Index 15 i

ii

Contents: Contents 1

2 Contents

CHAPTER 1 Indices and tables genindex modindex search 3

4 Chapter 1. Indices and tables

CHAPTER 2 How to Use Composite Plate The goal of this module is to provide you with a way to determine how a composite plate will respond to either stresses or strains. In order to do this, you must define the composite plate in the following way. 1. Define a ply material using composite_plate.ply 2. Use the ply and a given orientation to define a laminae using composite_plate.laminae 3. One or more of the laminae in a list to define a laminate using composite_plate.laminate Example: >>> import composite_plate.classical_plate_theory as cpt >>> E1 = 133.44; # Modulus in fiber direction [GPa] >>> E2 = 8.78; # Modulus in transverse direction [GPa] >>> G12 = 3.254; # Shear Modulus [GPa] >>> nu12 = 0.26; # Poissons Ratio (principal) [ ] >>> h = 6; # Ply thickness [mm] >>> ply = cpt.ply(e1=e1,e2=e2,g12=g12,nu12=nu12,h=h) >>> theta_deg = 45; # Orientation (+ from X) [deg] >>> theta_rad = theta_deg*np.pi/180.0; # [rad] >>> laminae1 = cpt.laminae(ply, theta_rad); >>> laminae2 = cpt.laminae(ply,-theta_rad); >>> laminate = composite_plate.laminate([laminae1, laminae2]) After the laminate is created, you can then apply strains and see the resulting stress using composite_plate.laminate.applied_strain(). Example: >>> Epsilon = numpy.matrix([]); >>> Kappa = numpy.matrix([]); >>> force_and_moment_dict = laminate.applied_strain(epsilon, Kappa) >>> N = force_and_moment_dict('n') >>> print("the forces are Nxx = {0}, Nyy = {1}, Nxy = {2}".format(N[1],N[2],N[3])) >>> M = force_and_moment_dict('m') >>> print("the moments are Mxx = {0}, Myy = {1}, Mxy = {2}".format(M[1],M[2],M[3])) 5

6 Chapter 2. How to Use Composite Plate

CHAPTER 3 Modules exception composite_plate.classical_plate_theory.compplateerror Base class for exceptions in this module. weakref list of weak references to the object (if defined) exception composite_plate.classical_plate_theory.inputerror(expr, msg) Exception raised for errors in the input. expr -- input expression in which the error occurred msg -- explanation of the error class composite_plate.classical_plate_theory.isotropiclamina(e, G, h) Isotropic layer to be used in a laminate Composites can have isotropic (uniform properties) materials in addition to composite ply layers. This class allows the user to define a material with equal properties in all directions and use this material to construct a composite plate with both types of materials. Note for isotropic materials we have the constraint E = 2*G(1+nu), therefore only 2/3 of E, G and nu are required to define the material properties. Example >>> E = 10; # Youngs Modulus [GPa] >>> G = 3.3; # Shear Modulus [GPA] >>> h = 3; # Layer Thickness [mm] >>> iso_layer = IsotropicLamina(E=E, G=G, h=h) init (E, G, h) Initializes properties of the isotropic layer Units can be any set of self consistent units desired. Parameters E (float) Youngs Modulus G (float) Shear Modulus h (float) Layer Thickness S_bar numpy.matrix Compliance matrix 7

Exceptions: InputError: If any input value is not > 0 weakref list of weak references to the object (if defined) class composite_plate.classical_plate_theory.laminae(ply, theta_rad) Composite Laminae defined for each layer in a composite. A laminae is an individual layer in a composite laminate. It consists of a ply rotated some angle in the composite. The angle is defined as the angle between the plys primary (1) axis and the composites x axis. Example To instantiate a laminae, you must start with a ply, and then use the ply instance and a specified angle to get a single laminae.: >>> E1 = 133.44; # Modulus in fiber direction [GPa] >>> E2 = 8.78; # Modulus in transverse direction [GPa] >>> G12 = 3.254; # Shear Modulus [GPa] >>> nu12 = 0.26; # Poissons Ratio (principal) [ ] >>> h = 6; # Ply thickness [mm] >>> ply = Ply(E1=E1,E2=E2,G12=G12,nu12=nu12,h=h) >>> theta_deg = 45; # Orientation (+ from X) [deg] >>> theta_rad = theta_deg*np.pi/180.0; # [rad] >>> laminae1 = Laminae(ply, theta_rad); init (ply, theta_rad) Initialize the composite Laminae Defines an individual laminae based on the ply and orientation of the laminae x-axis to the ply 1 axis (theta_rad) Parameters ply (composite_plate.ply) A ply object theta_rad (float) The orientation of the plys primary (1) axis to the composites x axis [radians] weakref list of weak references to the object (if defined) class composite_plate.classical_plate_theory.laminate(laminae_list) A class defining a composite Laminate. Input is as the composites laminae, the laminae thickness and stacking order. Parameters laminae_list (list of composite_plate.laminae) A list of laminae which compose the laminate, in order from bottom to top A,B,D numpy.matrix Compliance matrices will become class variables after init. laminae_midplane_z list[float] A list of heights from the midplane of the laminate to the midplane of each laminae. Epsilon numpy.matrix 8 Chapter 3. Modules

If defined contains a vector [3x1] of the midplane laminate strains. Kappa numpy.matrix If defined contains a vector [3x1] of the laminate curvatures. Example To instantiate a laminate, you must start with one or more laminae, and then use the laminae instance(s) in a list to create the laminate.: >>> E1 = 133.44; # Modulus in fiber direction [GPa] >>> E2 = 8.78; # Modulus in transverse direction [GPa] >>> G12 = 3.254; # Shear Modulus [GPa] >>> nu12 = 0.26; # Poissons Ratio (principal) [ ] >>> h = 6; # Ply thickness [mm] >>> ply = Ply(E1=E1,E2=E2,G12=G12,nu12=nu12,h=h) >>> theta_deg = 45; # Orientation (+ from X) [deg] >>> theta_rad = theta_deg*np.pi/180.0; # [rad] >>> laminae1 = Laminae(ply, theta_rad); >>> laminae2 = Laminae(ply,-theta_rad); >>> laminate = Laminate([laminae1, laminae2]) [N](3x1) = [A](3x3) * [ε](3x1) + [B](3x3) * [κ](3x1) [M](3x1) = [B](3x3) * [ε](3x1) + [D](3x3) * [κ](3x1) Normal Force/ unit lenght [F/l] in x,y and xy directions: [N] = [N xx N yy N xy ] T [M] = [M xx M yy M xy ] T -> Moment / unit length [F*l/l] [ε] = [ε 0 xxε 0 yyγxy] 0 T [κ] = [κ xx κ yy κ xy ] T Midplane strains indicated by ε 0 N [A] mn = ( Q mn ) j (h j h j 1 ) j=1 [B] mn = 1 N ( 2 Q mn ) j (h 2 j h 2 j 1) j=1 [D] mn = 1 N ( 3 Q mn ) j (h 3 j h 3 j 1) j=1 9

Laminae stiffness matrix Q [ε] = [A 1 ] * [N] + [B 1 ] * [M] [κ] = [C 1 ] * [N] + [D 1 ] * [M] [A 1 ] = [A 1 ] + [A 1 ][B][D * 1 ][B][A 1 ] [B 1 ] = [A 1 ][B][D * 1 ] [C 1 ] = [D * 1 ][B][A 1 ] = [B 1 ] T [D * ] = [D] [B][A 1 ][B] [D 1 ] = [D * 1 ] init (laminae_list) Initialize class Laminate Parameters self This object instance. laminae_list A list containing objects of type Laminae, defined in Laminae.py Example ply1 = CompositePlate.Ply(...) laminae1 = CompositePlate.Laminae laminate = CompositePlate.Laminate([laminae1, laminae2, laminae1] weakref list of weak references to the object (if defined) applied_strain(epsilon, Kappa) Method for applying midplane strains to the laminate instance and determine the resulting midplane stresses Parameters Returns Epsilon (numpy.matrix) A [3x1] vector of midplane strains. [ε] 1 = ε 0 xx, [ε] 2 = ε 0 yy, [ε] 3 = γ 0 xy Kappa (numpy.matrix) A [3x1] vector of curvatures. [κ] 1 = κ xx, [κ] 2 = κ yy, [κ] 3 = κ xy A dictionary containing the Normal stresses (N) and Moments (M) N (numpy.matrix): A [3x1] vector containing the normal stresses M (numpy.matrix): A [3x1] vector containing the resulting moments Return type numpy.matrix applied_stress(n, M) Method for applying forces normalized by the section width to the laminate at the midplane. Parameters N (numpy.matrix) A [3x1] vector of normal stresses normalized by the section width [N] 1 = N xx, [N] 2 = N yy, [N] 3 = N xy 10 Chapter 3. Modules

Returns M (numpy.matrix) A [3x1] vector of moments normalized by the section width [M] 1 = M xx, [M] 2 = M yy, [M] 3 = M xy A dictionary containing the normal strains (Epsilon) and curvatures (Kappa) Epsilon (numpy.matrix): A [3x1] vector of laminate midplane strains. Kappa (numpy.matrix): A [3x1] vector of laminate curvatures. Return type numpy.matrix laminae_midplane_strain(epsilon=none, Kappa=None) Method for determining the laminae midplane strains in response to laminate nidplane strains and curvatures. If no laminate strain (Epsilon) or curvature (Kappa) is specified, the method will attempt to use the laminate s current strain and curvaure. If the laminate s strain and curvature haven t been set and no strain or curvature are specified, the method will throw an InputError exception. Note: If the strain and curvature are specified for the method, it does not alter the laminates current state of strain and curvature. If they are not specified, the laminates strain and curvature state will be used, and the laminae midplane strains will be saved to the laminate state. Parameters Returns Epsilon (numpy.matrix) A [3x1] vector of laminate midplane strains. If a value is specified, this will be assigned to the laminate as the current state of strain. Kappa (numpy.matrix) A [3x1] vector of laminate curvatures. If a value is specified, this will be assigned to the laminate as the current state of curvature. A list of strain values corresponding to the midplane strain in each laminae of the laminate. Epsilon (numpy.matrix): A [3x1] vector of laminate midplane strains. Return type numpy.matrix laminae_stress(epsilon=none, Kappa=None) Determine the stresses at the midplane of each laminae in the X & Y directions of the laminate. Also translates these to the principal 1 & 2 direction stresses of the ply. If no laminate strain (Epsilon) or curvature (Kappa) is specified, the method will attempt to use the laminate s current strain and curvaure. If the laminate s strain and curvature haven t been set and no strain or curvature are specified, the method will throw an InputError exception. Note: If the strain and curvature are specified for the method, it does not alter the laminates current state of strain and curvature. If they are not specified, the laminates strain and curvature state will be used, and the laminae stresses will be saved to the laminate state. Parameters Returns Epsilon (numpy.matrix) A [3x1] vector of laminate midplane strains. If a value is specified, this will be assigned to the laminate as the current state of strain. Kappa (numpy.matrix) A [3x1] vector of laminate curvatures. If a value is specified, this will be assigned to the laminate as the current state of curvature. A list of stress values corresponding to the midplane stress in each laminae of the laminate. Sigma (numpy.matrix): A [3x1] vector of laminate midplane stresses. 11

Return type numpy.matrix class composite_plate.classical_plate_theory.ply(e1, E2, G12, nu12, h) Defines a ply for a composite. A ply is the material which goes into a composite. Typically a ply will have a different modulus in the primary (E1) direction and the traverse (E2) direction. The ply will have a shear modulus (G12) and poissons ratio (nu12), as well as a thickness (h) Example To instantiate a ply, you must specify the plys parameter values: >>> E1 = 133.44; # Modulus in fiber direction [GPa] >>> E2 = 8.78; # Modulus in transverse direction [GPa] >>> G12 = 3.254; # Shear Modulus [GPa] >>> nu12 = 0.26; # Poissons Ratio (principal) [ ] >>> h = 6; # Ply thickness [mm] >>> ply = Ply(E1=E1,E2=E2,G12=G12,nu12=nu12,h=h) init (E1, E2, G12, nu12, h) Initializes the properties of the anisotropic ply. Anisotropic ply. Need to define 4 of [E1,E2,nu12,nu21,G12] (4 of 5 independent variables). Dependent constraint: nu21/e2 = nu12/e1 Units can be any set of self consistent units desired. Parameters E1 (float) Modulus in the primary direction E2 (float) Modulus perpendicular to the primary direction G12 (float) Shear Modulus nu12 (float) Poissons Ratio h (float) Ply thickness Exceptions: InputError: If any input value is not > 0 weakref list of weak references to the object (if defined) degree_of_isotropy() Returns the degree of Isotropy of the Ply (E1/E2) E1/E2 is a metric used to compare how isotropic plys are class composite_plate.classical_plate_theory.plyfromfiber Estimate ply properties from Fiber and Matrix properties Will provide estimates of various elastic and thermal ply properties based on the Fiber and matrix properties init () Initialize the PlyFromFiber object, all member variables to NaN This initializes all possible member variables to NaN, since different estimated properties require different variables to be defined. When using, define the required fiber and matrix values for your property of interest, and then calculate the property. 12 Chapter 3. Modules

Member Variables: E_f: Elastic modulus of the fiber v_f: Volume fraction of the ply that is fiber nu_f: Poissons ratio of the fiber G_f: Shear modulus of the fiber E_m: Elastic modulus of the matrix v_m: Volume fraction of the ply that is matrix nu_m: Poissons ratio of the matrix G_m: Shear modulus of the matrix weakref list of weak references to the object (if defined) elastic_props() Calculates the elastic properties of the ply from the fiber and matrix properties. composite_plate.classical_plate_theory.rotation_matrix(_theta_rad) Rotation Matrix 13

14 Chapter 3. Modules

Python Module Index c composite_plate.classical_plate_theory, 7 15

16 Python Module Index

Index Symbols init () (composite_plate.classical_plate_theory.isotropiclamina elastic_props() (composite_plate.classical_plate_theory.plyfromfiber method), 7 init () (composite_plate.classical_plate_theory.laminae method), 8 method), 13 Epsilon (composite_plate.classical_plate_theory.laminate init () (composite_plate.classical_plate_theory.laminate attribute), 8 method), 10 init () (composite_plate.classical_plate_theory.ply method), 12 I InputError, 7 init () (composite_plate.classical_plate_theory.plyfromfiber IsotropicLamina (class in composite_plate.classical_plate_theory), method), 12 7 weakref (composite_plate.classical_plate_theory.compplateerror attribute), 7 K weakref (composite_plate.classical_plate_theory.isotropiclamina Kappa (composite_plate.classical_plate_theory.laminate attribute), 8 attribute), 9 weakref (composite_plate.classical_plate_theory.laminae attribute), 8 L weakref (composite_plate.classical_plate_theory.laminate Laminae (class in composite_plate.classical_plate_theory), 8 attribute), 10 weakref (composite_plate.classical_plate_theory.ply laminae_midplane_strain() (composite_plate.classical_plate_theory.laminate attribute), 12 weakref (composite_plate.classical_plate_theory.plyfromfiber method), 11 attribute), 13 laminae_midplane_z (composite_plate.classical_plate_theory.laminate A attribute), 8 applied_strain() (composite_plate.classical_plate_theory.laminatite_plate.classical_plate_theory.laminate laminae_stress() (compos- method), 10 method), 11 applied_stress() (composite_plate.classical_plate_theory.laminatite_plate.classical_plate_theory), 8 Laminate (class in compos- method), 10 C composite_plate.classical_plate_theory (module), 7 CompPlateError, 7 D (compos- method), degree_of_isotropy() ite_plate.classical_plate_theory.ply 12 E P Ply (class in composite_plate.classical_plate_theory), 12 PlyFromFiber (class in composite_plate.classical_plate_theory), 12 R rotation_matrix() (in module composite_plate.classical_plate_theory), 13 17

S S_bar (composite_plate.classical_plate_theory.isotropiclamina attribute), 7 18 Index