Converting Plane Stress Statics to 2D Natural Frequencies, changes in red

Similar documents
Quintic beam closed form matrices (revised 2/21, 2/23/12) General elastic beam with an elastic foundation

General elastic beam with an elastic foundation

3. Numerical integration

Contents as of 12/8/2017. Preface. 1. Overview...1

Level 7 Postgraduate Diploma in Engineering Computational mechanics using finite element method

A two-dimensional FE truss program

Vibration of Thin Beams by PIM and RPIM methods. *B. Kanber¹, and O. M. Tufik 1

Post Graduate Diploma in Mechanical Engineering Computational mechanics using finite element method

(Linear equations) Applied Linear Algebra in Geoscience Using MATLAB

Analysis of Planar Truss

DISPENSA FEM in MSC. Nastran

Example 37 - Analytical Beam

CHAPTER 14 BUCKLING ANALYSIS OF 1D AND 2D STRUCTURES

The following syntax is used to describe a typical irreducible continuum element:

Finite Element Method-Part II Isoparametric FE Formulation and some numerical examples Lecture 29 Smart and Micro Systems

Stretching of a Prismatic Bar by its Own Weight

Leaf Spring (Material, Contact, geometric nonlinearity)

10. Applications of 1-D Hermite elements

International Journal of Advanced Engineering Technology E-ISSN

12. Thermal and scalar field analysis

A.0 IDUKKI ARCH DAM - ANALYSIS FOR VARIOUS LOAD CASES AND DISCRETISATIONS

2. Polynomial interpolation


As an example, the two-bar truss structure, shown in the figure below will be modelled, loaded and analyzed.

Institute of Structural Engineering Page 1. Method of Finite Elements I. Chapter 2. The Direct Stiffness Method. Method of Finite Elements I

Module 10: Free Vibration of an Undampened 1D Cantilever Beam

Two-Dimensional Steady State Heat Conduction

Random Vibration Analysis in FEMAP An Introduction to the Hows and Whys

Response Spectrum Analysis Shock and Seismic. FEMAP & NX Nastran

Companion. Jeffrey E. Jones

Lecture Notes, Finite Element Analysis, J.E. Akin, Rice University

Finite Element Method in Geotechnical Engineering

. D CR Nomenclature D 1

Institute of Structural Engineering Page 1. Method of Finite Elements I. Chapter 2. The Direct Stiffness Method. Method of Finite Elements I

Methods of Analysis. Force or Flexibility Method

Effect of Mass Matrix Formulation Schemes on Dynamics of Structures

Lecture 27 Introduction to finite elements methods

Multi-Point Constraints

MMJ1153 COMPUTATIONAL METHOD IN SOLID MECHANICS PRELIMINARIES TO FEM

Linear Static Analysis of a Simply-Supported Truss (SI)

Program System for Machine Dynamics. Abstract. Version 5.0 November 2017

Eigenvalues and Eigenvectors

Stress analysis of a stepped bar

Theoretical Manual Theoretical background to the Strand7 finite element analysis system

ME 475 Modal Analysis of a Tapered Beam

1 Nonlinear deformation

ME FINITE ELEMENT ANALYSIS FORMULAS

N = Shear stress / Shear strain

Lecture Notes: Finite Element Analysis, J.E. Akin, Rice University

BHAR AT HID AS AN ENGIN E ERI N G C O L L E G E NATTR A MPA LL I

MATHEMATICAL PRELIMINARIES

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

HANDOUT E.22 - EXAMPLES ON STABILITY ANALYSIS

Module 2: Thermal Stresses in a 1D Beam Fixed at Both Ends

CAEFEM v9.5 Information

ME 563 Mechanical Vibrations Lecture #15. Finite Element Approximations for Rods and Beams

Prepared by M. GUNASHANKAR AP/MECH DEPARTMENT OF MECHANICAL ENGINEERING

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

Finite element modelling of structural mechanics problems

Vibrationdata FEA Matlab GUI Package User Guide Revision A

Article. Kamlesh Purohit and Manish Bhandari*

MSC Nastran N is for NonLinear as in SOL400. Shekhar Kanetkar, PhD

3. Overview of MSC/NASTRAN

Using MATLAB and. Abaqus. Finite Element Analysis. Introduction to. Amar Khennane. Taylor & Francis Croup. Taylor & Francis Croup,

MEI solutions to exercise 4 1

Transactions of the VŠB Technical University of Ostrava, Mechanical Series. article No Roland JANČO *

Eigenvalues and Eigenvectors

Back Matter Index The McGraw Hill Companies, 2004

Finite Elements for Nonlinear Problems

Formulation of the displacement-based Finite Element Method and General Convergence Results

Blade Group Fatigue Life Calculation under Resonant Stresses

FEA CODE WITH MATLAB. Finite Element Analysis of an Arch ME 5657 FINITE ELEMENT METHOD. Submitted by: ALPAY BURAK DEMIRYUREK

D && 9.0 DYNAMIC ANALYSIS

Measurement of deformation. Measurement of elastic force. Constitutive law. Finite element method

Computational Stiffness Method

Finite Element Method

Discontinuous Distributions in Mechanics of Materials

Development of finite element tools for assisted seismic design

HIGHER-ORDER THEORIES

#SEU16. FEA in Solid Edge and FEMAP Mark Sherman

Introduction. Finite and Spectral Element Methods Using MATLAB. Second Edition. C. Pozrikidis. University of Massachusetts Amherst, USA

BECAS - an Open-Source Cross Section Analysis Tool

CIVL 7/8117 Chapter 4 - Development of Beam Equations - Part 2 1/34. Chapter 4b Development of Beam Equations. Learning Objectives

Workshop 8. Lateral Buckling

An exact reanalysis algorithm using incremental Cholesky factorization and its application to crack growth modeling

A MODIFIED DECOUPLED SCALED BOUNDARY-FINITE ELEMENT METHOD FOR MODELING 2D IN-PLANE-MOTION TRANSIENT ELASTODYNAMIC PROBLEMS IN SEMI-INFINITE MEDIA

Due Monday, September 14 th, 12:00 midnight

Code_Aster. SDLX02 - Piping: Problem of Hovgaard. Spectral analysis

Code_Aster. SDLX02 - Piping: Problem of Hovgaard. Spectral analysis

EML4507 Finite Element Analysis and Design EXAM 1

TMA4220: Programming project - part 1

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI DEPARTMENT OF MECHANICAL ENGINEERING ME 6603 FINITE ELEMENT ANALYSIS PART A (2 MARKS)

Introduction to PDEs: Assignment 9: Finite elements in 1D

Section 4.5 Eigenvalues of Symmetric Tridiagonal Matrices

Computational Materials Modeling FHLN05 Computer lab

Linear Static Analysis of a Cantilever Beam (SI Units)

JEPPIAAR ENGINEERING COLLEGE

Volume II. Finite Elements

Structural Dynamics Lecture Eleven: Dynamic Response of MDOF Systems: (Chapter 11) By: H. Ahmadian

FREE VIBRATIONS OF FRAMED STRUCTURES WITH INCLINED MEMBERS

Transcription:

The following illustrates typical modifications for converting any plane stress static formulation into a plane stress natural frequency and mode shape calculation. The changes and additions to a prior static solution Matlab script are shown below in red. Usually, you are interested in only the first 5 to 10 frequencies. There are eigen-solvers that allow the option of extracting the first few of many eigen-values and eigen-vectors. Matlab does not do that (to the author s knowledge) so most of the additions to the script are just extracting selected results for listing or plotting and have nothing to do with finite element theory. The problem considered is a trapezoidal cantilever fixed on its left edge, and pinned at the center of the right edge (node 1). The mesh is shown below (using plot scripts (mesh_plot, mesh_shrink_plot). There are 44 degrees of freedom, but 10 are assigned as essential boundary conditions (nodes 18-22). The first four mode shapes output by the script are shown below (via mode_2d_mesh_plot). Note that the frequency is given in the title. Copyright J.E. Akin. All rights reserved. Page 1 of 9

The script that created these results follows: function Plane_Stress_T6_Frequency (n_modes) %... % Plane Stress Frequency Analysis (2.5D), Isoparametric T6 % (deleted reference to load vectors) %... if ( nargin == 0 ) ; % check for optional data n_modes = 3 ; % modes to be output from argument count echo_user_remarks % optional use of new file msh_remarks.tmp % Application and element dependent controls n_g = 2 ; % number of DOF per node n_r = 3 ; % number of rows in B_e matrix % Read mesh input data files [n_m, n_s, P, x, y, z] = get_mesh_nodes ; % Extract EBC flags from packed integer flag P [EBC_flag] = get_ebc_flags (n_g, n_m, P) ; % unpack flags EBC_count = sum( sum ( EBC_flag > 0 ) ) ; % # of EBC [n_e, n_n, n_t, el_type, nodes] = get_mesh_elements ; n_d = n_g*n_m ; % system degrees of freedom (DOF) n_i = n_g*n_n ; % number of DOF per element S = zeros (n_d, n_d) ; C = zeros (n_d, 1) ; % initalize sums M = zeros (n_d, n_d) ; ; % initalize sums % Read EBC values, if any if ( EBC_count > 0 ) ; % need EBC data [EBC_value] = get_ebc_values (n_g, n_m, EBC_flag) ; % read data any EBC data expected % Load the element properties array load msh_properties.tmp ; % one row per element n_prop = size(msh_properties, 1) ; % == 1 if homogeneous fprintf ('\n(echoing columns of file msh_properties.tmp) \n') if ( n_prop == 1 ) E = msh_properties (1, 1) ; % modulus of elasticity nu = msh_properties (1, 2) ; % Poisson's ratio Body_x = msh_properties (1, 3) ; % x-body force component Body_y = msh_properties (1, 4) ; % y-body force component Thick = msh_properties (1, 5) ; % thickness Rho = msh_properties (1, 6) ; % mass density % ECHO PROPERTIES fprintf ('\nproperties for all elements \n') fprintf ('Elastic Modulus = %g \n', E) fprintf ('Poisson;s ratio = %g \n', nu) fprintf ('X-body force component = %g \n', Body_x) fprintf ('Y-body force component = %g \n', Body_y) fprintf ('Thickness = %g \n', Thick) fprintf ('Mass Density = %g \n', Rho) if ( n_prop > n_e ) error ('ERROR: number of property sets exceeds number of elements') Copyright J.E. Akin. All rights reserved. Page 2 of 9

% Tabulate quadrature data for unit triangle n_q = 7 ; % exact for 4-th degree polynomials r_q = [ 0.10128651, 0.47014206, 0.79742699, 0.47014206,... 0.10128651, 0.05971587, 0.33333333 ] ; s_q = [ 0.10128651, 0.05971587, 0.10128651, 0.47014206,... 0.79742699, 0.47014206, 0.33333333 ] ; w_q = [ 0.06296959, 0.06619708, 0.06296959, 0.06619708,... 0.06296959, 0.06619708, 0.11250000 ] ; % GENERATE ELEMENT MATRICES AND ASSYMBLE INTO SYSTEM % Assemble n_d by n_d square matrix terms from n_e by n_e for j = 1:n_e ; % element loop ===>> ===>> ===>> ===>> ===>> ===>> e_nodes = nodes (j, 1:n_n) ; % connectivity % SET ELEMENT PROPERTIES & GEOMETRY if ( n_prop > 1 ) E = msh_properties (j, 1) ; % modulus of elasticity nu = msh_properties (j, 2) ; % Poisson's ratio Body_x = msh_properties (j, 3) ; % x-body force component Body_y = msh_properties (j, 4) ; % y-body force component Thick = msh_properties (j, 5) ; % thickness Rho = msh_properties (j, 6) ; % mass density % ECHO PROPERTIES fprintf ('\nproperties for all elements \n') fprintf ('Elastic Modulus = %g \n', E) fprintf ('Poisson;s ratio = %g \n', nu) fprintf ('X-body force component = %g \n', Body_x) fprintf ('Y-body force component = %g \n', Body_y) fprintf ('Thickness = %g \n', Thick) fprintf ('Mass Density = %g \n', Rho) if ( Thick <= 0 ) error ('\nerror: zero thickness at element %g ', j) invalid data E_e = E / (1 - nu^2) * [ 1, nu, 0 ;... nu, 1, 0 ;... 0, 0, (1 - nu)/2 ] ; % stress-strain relation % Gather nodal coordinates xy_e (1:n_n, 1) = x(e_nodes) ; % x coord at el nodes xy_e (1:n_n, 2) = y(e_nodes) ; % 6 x 2 % y coord at el nodes % Numerical Intergation of S_e, C_e S_e = zeros (n_i, n_i) ; % initalize values B_q = zeros (n_r, n_i) ; % initalize values M_e = zeros (n_i, n_i) ; % initalize values M_x = zeros (n_n, n_n) ; % initalize working values Copyright J.E. Akin. All rights reserved. Page 3 of 9

for q = 1:n_q ; % begin loop ---> ---> ---> ---> ---> ---> ---> ---> r = r_q (q) ; s = s_q (q) ; w = w_q (q) ; % recover data % element type interpolation functions, 1 x 6 H_q = [ (1-3*r - 3*s + 2*r*r + 4*r*s + 2*s*s), (2*r*r - r),... (2*s*s - s), 4*(r - r*r - r*s), 4*r*s, 4*(s - r*s - s*s) ] ; DLH_q = [ (-3 + 4 * r + 4 * s), (-1 + 4 * r), 0,... (4-8 * r - 4 * s), (4 * s), (-4 * s) ;... % dh/dr (-3 + 4 * r + 4 * s), 0, (-1 + 4 * s),... (-4 * r), (4 * r), (4-4 * r - 8 * s) ] ; % dh/ds % Global position and Jacobian xy_q = H_q * xy_e ; % 1 x 2 % global (x, y) Jacobian = DLH_q * xy_e ; % 2 x 2 % d(x,y)/d(r,s) J_det = abs( det (Jacobian)) ; % 1 x 1 % determinant J_Inv = inv (Jacobian) ; % 2 x 2 % inverse % Global derivatives of H DGH_q = J_Inv * DLH_q ; % 2 x 6 % dh/dx & dh/dy E_q = E_e ; % 3 x 3 % properties t_q = Thick ; % 1 x 1 % thickness % Insert gradient terms into the differential operator B_q (1, 1:2:11) = DGH_q (1, 1:6) ; % for esplion_x B_q (2, 2:2:12) = DGH_q (2, 1:6) ; % for esplion_y B_q (3, 1:2:11) = DGH_q (2, 1:6) ; % for gamma B_q (3, 2:2:12) = DGH_q (1, 1:6) ; % for gamma % ELEMENT MATRICES UPDATES, 12 x 12 and 12 x 1 S_e = S_e + (B_q' * E_q * B_q) * t_q * J_det * w_q (q) ; % square M_x = M_x + (H_q' * Rho * H_q) * t_q * J_det * w_q (q) ; % mass 1 dof end % for quadratures <--- <--- <--- <--- <--- <--- <--- <--- <--- M_e (1:2:11, 1:2:11) = M_x ; % repeat mass for x-motion, odd rows and columns M_e (2:2:12, 2:2:12) = M_x ; % repeat mass for y-motion, even rows and columns % SCATTER TO (ASSEMBLE INTO) SYSTEM ARRAYS % Insert completed element matrices into system matrices [rows] = get_element_index (n_g, n_n, e_nodes); % eq numbers S (rows, rows) = S (rows, rows) + S_e ; % add to system sq M (rows, rows) = M (rows, rows) + M_e ; % add to system sq (all rows & columns) end % for elements <<==== <<==== <<==== <<==== <<==== <<==== <<==== % ENFORCE ESSENTIAL BOUNDARY CONDITIONS if ( EBC_count > 0 ) % then no rigid body motion modes, hopefully Ignore = -987654 ; % flag for setting eigenvalues to ignore [S, M] = eigen_essential_bc (EBC_flag, Ignore, S, M) ; % apply EBC % above 2 lines NOT needed if all unknowns numbered first % COMPUTE SOLUTION & SAVE [V,D] = eig(s, M) ; % solve full general eigen-problem % D = a diagonal matrix D of all eigen-values % V = full matrix whose columns are the corresponding eigenvectors % (Zero value eigenvalues correspond to rigid body motions.) Copyright J.E. Akin. All rights reserved. Page 4 of 9

% REMARKS ON EFFICIENCY % If all the unknown dof are numbered first, its more efficient to use % n_unkn = n_d - EBC_count ; % ASSUME all unknowns numbered first % if ( n_unkn < n_modes ) % (Requires manual generation of mesh) % n_modes = n_unkn % % [V,D] = eig(s(1:n_unkn, 1:n_unkn), M(1:n_unkn, 1:n_unkn)) ; % faster V = real(v) ; D = real(d) for j = 1:n_d F_sq (j) = D (j,j) end % for j format long [F_sq, Order] = sort (F_sq) ; % clean up. Should be real % extract diagonal matrix, frequency squared ; % (fake bc values = Ignore) ; % reorder eigenvalues, lo to hi % POST-PROCESS THE MODES OF INTEREST & SAVE FOR PLOTS % list the results kount = 0 ; % number of true eigenvalues for j = 1:n_d ; % list eigenvalues only if ( F_sq(j) ~= Ignore ) ; % then not essential BC dof kount = kount + 1 ; % number of true eigenvalues Freq = sqrt(f_sq(j))/(2*pi); % frequency, cycles per second fprintf ('Natural frequency (Hz) %i = %g \n',... kount, Freq ) ; % values a true frequency if ( kount == n_modes ) ; break % out of this for loop end % for j show = n_modes ; % option to show eigenvectors if ( show > 0 ) ; % open for writing fid = fopen('mode_value_vector.tmp', 'w') ; kount = 0 ; % number of true eigenvalues for j = 1:n_d ; % list eigenvalues only if ( F_sq(j) ~= Ignore ) ; % then not essential BC dof kount = kount + 1 ; % number of true eigenvalues Freq = sqrt(f_sq(j))/(2*pi); ; % frequency actual = Order(j) ; % where in the sorted list fprintf ('Frequency (Hz) %i = %g \n', kount, Freq); % values fprintf ('Eigenvector (mode shape): \n') ; % vectors fprintf ('x-component, y_component \n') ; % vectors results = reshape ( V(:, actual), n_g, n_m)' ; % x-y form % Scale the eigenvector (mode shape) biggest = max ( max ( abs (results) ) ) ; % scale results = results / biggest ; % scaled disp (results) ; % save results for mode shape plots for k = 1:n_m ; % loop over all nodes fprintf (fid,'%i %g %g %g \n',... kount, Freq, results (k, 1), results (k, 2)) end % for result save if ( kount == n_modes ) ; % break out of this for loop break ; finished requested number of modes Copyright J.E. Akin. All rights reserved. Page 5 of 9

a true mode, not associated w a EBC dof end % for j over all degrees of freedom fclose(fid) ; % done with all requested plot data saves list % End finite element calculations. % See /home/mech517/public_html/matlab_plots for graphic options % http://www.owlnet.rice.edu/~mech517/help_plot.html for help % end of function Plane_Stress_T6_Frequency >> % Validation run >> addpath /net/course-a/mech517/public_html/matlab_plots >> Plane_Stress_T6_frequency(4) (Echo of msh_remarks.tmp) Natural frequency of a tapered beam. Material brass. Fixed - pinned ends Compare to "Formulas for Natural Frequency & Mode Shape" by Blevins, Fig. 8-19 Read 22 nodes. (Echo of file msh_bc_xyz.tmp) bc_flag, x-, y-coordinates 11 15 0 00 15-1 00 15 1 00 12.5-1.833 00 12.5-0.5 00 12.5 0.5 00 12.5 1.833 00 10-2.667 00 10-1.375 00 1 00 10 1.375 00 10 2.667 00 5-4.333 00 5-1.333 00 5 0 00 5 1.333 00 5 4.333 11 0-6 11 0-3 11 11 0 3 11 0 6 (Echo of file msh_typ_nodes.tmp) Read 7 elements with (ignored) type & 6 nodes each. 1 2 3 10 1 6 5 1 8 2 10 4 5 9 1 10 3 12 6 7 11 1 8 10 20 9 15 14 1 10 12 20 11 16 15 1 18 8 20 13 14 19 1 20 12 22 16 17 21 Copyright J.E. Akin. All rights reserved. Page 6 of 9

Applied Displacement Boundary Conditions: 12 (Echo of file load msh_ebc.tmp) Node, DOF (1=u, 2=v, 3=r), Value. 1 1 0 1 2 0 18 1 0 19 1 0 20 1 0 21 1 0 22 1 0 18 2 0 19 2 0 20 2 0 21 2 0 22 2 0 (Echoing columns of file a) Properties for all elements Elastic Modulus = 1e+11 Poisson;s ratio = 0.33 X-body force component = 0 Y-body force component = 0 Thickness = 1 Mass Density = 8500 Natural frequency (Hz) 1 = 52.3112 Natural frequency (Hz) 2 = 107.995 Natural frequency (Hz) 3 = 112.327 Natural frequency (Hz) 4 = 208.705 Frequency (Hz) 1 = 52.3112 Eigenvector (mode shape): x-component, y_component -0.29497729608831 0.00787598556598 0.29497729519989 0.00787598514531-0.22998794688469 0.77743786213498-0.06907255521933 0.79523176937558 0.06907255398872 0.79523176950069 0.22998794608075 0.77743786207141 0.04116517315606 0.98931016710651-0.01708444962725 0.99999999978127-0.00000000017687 0.99989853632782 0.01708444776027 1.00000000000000-0.04116517527959 0.98931016745942 0.19026482769648 0.53032163544070 0.03593409909354 0.54494320543470-0.00000000017399 0.55314928499829-0.03593409996644 0.54494320534016-0.1902648289909.53032163569119 Copyright J.E. Akin. All rights reserved. Page 7 of 9

Frequency (Hz) 2 = 107.995 Eigenvector (mode shape): x-component, y_component 0.26520282289455-0.04611953258454 0.26520281601056 0.04611953255637 0.82950459703056-0.09823196179123 0.71693224285308-0.04024822231382 0.71693224441931 0.04024820326112 0.82950459689238 0.09823194375443 0.99744403755503-0.05996215921777 0.99999999506775-0.04043145660446 0.98803839027058-0.00000000460062 1.0000000000000.04043144693531 0.9974440497479.05996214985148 0.54427938299956 0.13747750901604 0.72409162947443 0.04475612745107 0.76377960625529 0.00000000744726 0.72409163069098-0.04475611279049 0.54427938942194-0.13747749590277 Frequency (Hz) 3 = 112.327 Eigenvector (mode shape): x-component, y_component 0.37457045128507-0.02452446792161-0.37457045462373-0.02452446765080-0.00118233281321-0.95957827555328 0.02106613941823-0.99999999903800-0.02106614922787-1.00000000000000 0.00118231988647-0.95957827710579-0.62636881047423-0.50406573327587-0.25181685130372-0.54171275715869-0.00000000797261-0.55604017613948 0.25181683713304-0.54171275876215 0.62636879818848-0.50406573570238-0.2764191234539.59025861062446-0.13802345262758 0.65880573249900-0.00000000681424 0.65997344811191 0.13802344033501 0.65880573314446 0.2764191165016.59025861083543 Copyright J.E. Akin. All rights reserved. Page 8 of 9

Frequency (Hz) 4 = 208.705 Eigenvector (mode shape): x-component, y_component -0.24536814735684-0.00804728782143 0.24536815751015-0.00804728529275-0.58988394769963 0.27448854386331-0.19910990520204 0.25810878939915 0.19910992617783 0.25810879042709 0.58988396383152 0.27448854400688-0.99999998159637 0.31605744642658-0.64669917191066 0.33612138402351 0.00000001345827 0.34499913583645 0.64669918403228 0.33612138068617 1.0000000000000.31605744002585-0.99206988294904-0.30055116425256-0.59382039468131-0.11945385702581-0.00000000153873-0.11208123422262 0.59382038774371-0.11945385715791 0.99206987265114-0.30055116123003 >> quit Copyright J.E. Akin. All rights reserved. Page 9 of 9