NAVAL POSTGRADUATE SCHOOL

Monterey, California

THESIS
DEVELOPMENT OF A MYKLESTAD’S ROTOR BLADE
DYNAMIC ANALYSIS CODE FOR APPLICATION TO
JANRAD
by
Dogan Ozturk
September 2002
Thesis Advisor:
Co-Advisor :

E. Roberts Woods
Mark A. Couch

Approved for public release; distribution is unlimited.

THIS PAGE INTENTIONALLY LEFT BLANK

REPORT DOCUMENTATION PAGE

Form Approved OMB No. 0704-0188

Public reporting burden for this collection of information is estimated to average 1 hour per response, including
the time for reviewing instruction, searching existing data sources, gathering and maintaining the data needed, and
completing and reviewing the collection of information. Send comments regarding this burden estimate or any
other aspect of this collection of information, including suggestions for reducing this burden, to Washington
headquarters Services, Directorate for Information Operations and Reports, 1215 Jefferson Davis Highway, Suite
1204, Arlington, VA 22202-4302, and to the Office of Management and Budget, Paperwork Reduction Project
(0704-0188) Washington DC 20503.
1. AGENCY USE ONLY (Leave blank)

2. REPORT DATE
3. REPORT TYPE AND DATES COVERED
September 2002
Master’s Thesis
4. TITLE AND SUBTITLE: Development of a Myklestad’s Rotor Blade Dynamic 5. FUNDING NUMBERS
Analysis Code for Application to Janrad
6. AUTHOR(S)
Dogan Ozturk
7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES)
8. PERFORMING
Naval Postgraduate School
ORGANIZATION REPORT
Monterey, CA 93943-5000
NUMBER
9. SPONSORING /MONITORING AGENCY NAME(S) AND ADDRESS(ES)
10. SPONSORING/MONITORING
N/A
AGENCY REPORT NUMBER
11. SUPPLEMENTARY NOTES The views expressed in this thesis are those of the author and do not reflect the official
policy or position of the Department of Defense or the U.S. Government.
12a. DISTRIBUTION / AVAILABILITY STATEMENT
12b. DISTRIBUTION CODE
Approved for public release; distribution is unlimited.

13. ABSTRACT
Blade Dynamics Analysis is a major portion of a helicopter design. The success of the design is strictly related to
accuracy of the blade dynamic calculations. The natural frequencies and the mode shapes are not only difficult to calculate but
also can be a time consuming procedure. The Myklestad Extension Method gives the designer the opportunity of calculating
correct values of the natural frequencies and the mode shapes when centrifugal forces are present. This thesis provides a
transfer matrix Myklestad analysis programmed in MATLAB® and a Graphical User Interface (GUI) tool built in the
MATLAB® programming language version 6.1, to implement the Myklestad Extension Method. The generated code and the
GUI are designed to be a part of ‘Blade Dynamics Module’ of Joint Army/Navy Rotorcraft Analysis Design (JANRAD). For
comparison, nonrotating and uniform beam data from Young and Felgar and the actual data of an H-3 (S-61) helicopter blade
are used. Results of the comparison show that the accuracy and robustness of the program are very good, which would make
this generated code a valuable part of the helicopter designer’s toolbox.

14. SUBJECT TERMS
Rotor Blade Dynamics, Myklestad Extension Method, JANRAD, MATLAB, GUI.
Natural frequencies, mode shapes, flatwise axis, edgewise axis.
17. SECURITY
CLASSIFICATION OF
REPORT
Unclassified

18. SECURITY
CLASSIFICATION OF THIS
PAGE
Unclassified

NSN 7540-01-280-5500

15. NUMBER OF
PAGES
236
16. PRICE CODE

19. SECURITY
20. LIMITATION
CLASSIFICATION OF
OF ABSTRACT
ABSTRACT
Unclassified
UL
Standard Form 298 (Rev. 2-89)
Prescribed by ANSI Std. 239-18

i

THIS PAGE INTENTIONALLY LEFT BLANK

ii

Couch Co-Advisor Max F. Roberts Wood Thesis Advisor Mark A. Turkish Army Academy. Department of Aeronautics and Astronautics iii .Approved for public release. distribution is unlimited DEVELOPMENT OF A MYKLESTAD’S ROTOR BLADE DYNAMIC ANALYSIS CODE FOR APPLICATION TO JANRAD Dogan Ozturk First Lieutenant.S. 1995 Submitted in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE IN AERONAUTICAL ENGINEERING from the NAVAL POSTGRADUATE SCHOOL September 2002 Author: Dogan Ozturk Approved by: E.. Turkish Army B. Platzer Chairman.

THIS PAGE INTENTIONALLY LEFT BLANK iv .

The success of the design is strictly related to accuracy of the blade dynamic calculations. which would make this generated code a valuable part of the helicopter designer’s toolbox. The generated code and the GUI are designed to be a part of ‘Blade Dynamics Module’ of Joint Army/Navy Rotorcraft Analysis Design (JANRAD).1. This thesis provides a transfer matrix Myklestad analysis programmed in MATLAB® and a Graphical User Interface (GUI) tool built in the MATLAB® programming language version 6.ABSTRACT Blade Dynamics Analysis is a major portion of a helicopter design. The Myklestad Extension Method gives the designer the opportunity of calculating correct values of the natural frequencies and the mode shapes when centrifugal forces are present. The natural frequencies and the mode shapes are not only difficult to calculate but also can be a time consuming procedure. Results of the comparison show that the accuracy and robustness of the program are very good. nonrotating and uniform beam data from Young and Felgar and the actual data of H-3 (S-61) helicopter blade are used. For comparison. v . to implement the Myklestad Extension Method.

THIS PAGE INTENTIONALLY LEFT BLANK vi .

..................................... INTRODUCTION TO ROTOR BLADE DYNAMICS ............................................................25 a.......... Flapping Blade .................................................... BACKGROUND ................. MYKLESTAD ANALYSIS .............................. Slope ..........................................................25 1....................................23 e..........................................................................................................................................33 a..........................................................23 c....................................36 vii ................. MYKLESTAD METHOD APPLIED TO THE ROTOR BLADE .............................22 3.............................................................................................................................14 a................................................... Edgewise ...................... Moment..................1 A.................................................................................. BUILDING THE MATLAB® CODE AND VALIDATION OF THE CODE...........21 d........................ Myklestad Method Applied to Rotor Blade About Edgewise Axis ......................................20 a....................................................................2 1.............................................................. Shear.................................................... Coupled....................................................................................... Shear.....25 A......7 II........24 III.........................................23 b......33 b...........17 2....................................................34 c..................... Deflection .. Deflection ... Slope ................... Myklestad Method Applied to Rotor Blade About Coupled Axis ...............1 B............................................................................................................. Centrifugal Force........12 1...........................29 2...................................... Edgewise .........................................................................11 A.................................... Coupled....................................... APPLYING THE MATLAB® CODE TO MYKLESTAD ANALYSIS .............. Matrix Form of the Hingeless (Rigid) Blade ..................35 B..................23 a...... Flatwise..............16 d..20 b...................................................... INTRODUCTION.... Shear................. Centrifugal Force................ Deflection ..........................................................................25 b...16 b........................................... THE DISCUSSION OF THE MYKLESTAD METHOD................................................................... Flatwise..17 e...........TABLE OF CONTENTS I..............11 B............................................................................. Lagging Blade.........23 d................................................. Centrifugal Force............................................... Slope ...27 c............. VALIDATION OF THE CODE ...................................... Matrix Form of the Hinged (Articulated) Blade............................................................................ Moment............................6 2.......................................................................................................... Moment................................................16 c.....................21 e. Myklestad Method Applied to Rotor Blade About Flatwise Axis ..................................................................................21 c..................

......................97 1............111 3......................................174 APPENDIX C..... HINGELESS BLADE ABOUT EDGEWISE AXIS ................................................1..... Second Mode ..................................177 4...........................122 5........ MATLAB® PROGRAMS ..............171 b..128 6............................................................................ 10 stations ...................176 3........................................................................97 2..............................................39 Analysis of H-3R Helicopter with a Hingeless Rotor Blade................. HINGED BLADE ABOUT FLATWISE AXIS...........173 b..............................47 A.. DATA FOR THE SUPPORTED-FREE BEAM (HINGED BLADE) ....................................... 20 Stations........................... IV.............................................173 a.178 5...................... Hingeless Nonuniform Edgewise Function........................................156 10...................... Hingeless Uniform Flatwise Function ......... Hinged Nonuniform Edgewise Function.77 F......... First Mode ......................175 A..........................................................................171 A............................................ 50 Stations.173 c..........61 D.........142 8. 2....................................... Third Mode..................36 Comparison of the Uniform Nonrotating Hingeless Blade (Clamped-Free Beam) with Young and Felgar ......... HINGED BLADE ABOUT EDGEWISE AXIS ......... Hinged Uniform Edgewise Function . HINGELESS NONROTATING UNIFORM BLADE TEST ............ First Mode .......... Hinged Uniform Flatwise Function..........................45 APPENDIX A........ VALIDATION OF THE RESULTS OF THE GENERATED MATLAB® CODE ........................ VALIDATION OF HINGED NONROTATING UNIFORM BLADE.... Hingeless Uniform Edgewise Function ........................................... Comparison of the Uniform Nonrotating Hinged Blade (Supported-Free Beam) with Young and Felgar..................41 CONCLUSIONS AND RECOMMENDATIONS..............175 2.............179 viii .................. Third Mode..................................115 4.171 Clamped-Supported Beam (Second Derivative) ...................................................... HINGELESS BLADE ABOUT FLATWISE AXIS.... HINGED NONROTATING UNIFORM BLADE TEST .............................................................................................55 C............................................. TABLES OF CHARACTERISTIC FUNCTIONS REPRESENTING NORMAL MODES OF VIBRATION OF A BEAM.................................................175 1........................172 c.................................. Hingeless Nonuniform Flatwise Function.........................................................69 E....173 Clamped-Clamped Beam (Second Derivative)............... 30 Stations......... 4..148 9....................................171 a.......................163 APPENDIX B........ 3................................... Operation Function........... GUI PROGRAMS.........172 B DATA FOR THE CLAMPED-FREE BEAM (HINGELESS BLADE)............................... Call function file of the Gui page..........87 G........................................................135 7..................................................................................................................................................... Second Mode ...............................................................47 B....38 Analysis of H-3 Helicopter with an Articulated Rotor Blade ...................... Hinged Nonuniform Flatwise Function ........................................................................................................ 40 Stations............

.............................................. 20 Stations.................................................186 6......... THE RESULTS IN GUI.....................184 4................................................................. Input Boxes ..............................................................183 3...................195 1..................... 50 Stations.........182 2....................................................................................................................................................................................... D..................................................................................................................195 2.................................180 7...................................................215 ix ................198 APPENDIX D. C........................................................... Edgewise Mode Shapes.....................................209 1..................................................................................202 APPENDIX E........ 100 Stations............205 a......213 INITIAL DISTRIBUTION LIST .......... Popupmenus ....................... 200 Stations..B......209 2................ GENERATION OF THE GUI.......................................................................................209 B................................188 RESULTS FOR H-3 HELICOPTER FOR ANALYSIS OF ROTATING NONUNIFORM HINGED BLADES .........................182 1.................................................209 b......................................................... BUILDING GUI AND INCORPORATING MATLAB® CODE INTO JANRAD..........189 2..........205 A................................................... 100 Stations..............................................................................................................................................................................................................192 RESULTS FOR H-3R HELICOPTER FOR ANALYSIS OF ROTATING NONUNIFORM HINGELESS BLADES .............................211 LIST OF REFERENCES .. ABOUT THE GUI ...... Flatwise Mode Shapes............ USER GUIDE FOR GRAPHICAL USER INTERFACE (GUI) ...............................205 b.............................207 c.................................................... 30 Stations.............209 a................ Running with the m-file...................................................................................................................................187 7......... Edgewise Mode Shapes.................................................. 200 Stations................... RUNNING THE PROGRAM.... Static Boxes ........................ Flatwise Mode Shapes............................................................201 A.......................... 40 Stations.......205 1.. 6...................................................................................................................................................................................................................................189 1............................ Axis .............................. Output Boxes ...................................... Using ‘guide’command..... Edit Boxes....................208 2.201 B............................................................. Push Button...................................................................... 10 Staions ..........................................................181 VALIDATION OF HINGELESS NONROTATING UNIFORM BLADE.185 5....................

THIS PAGE INTENTIONALLY LEFT BLANK x .

......... (3 Degree of Freedom or Three Mode Shapes) “After [Ref...........4 Fuselage Dynamics “From [Ref.........................43 xi .............. 11]”................ Figure 5.............42 Edgewise Mode Shape for Hingeless Blade .3 Rotor Blade Dynamics “From [Ref..... 12]” ....................................... Edgewise System “After [Ref......................................6 Lagging Blade “After [Ref............... 12]” ................. 12]”......................... Figure 3.......... Figure 13..................... 11] .............................. 12]”............ 11]” ......7 String With 3 Masses............ 12]”. Figure 6......................... Figure 14................ Figure 8.. Figure 15......................4 Blade-Fuselage Coupling “From [Ref........9 Blade Element Equilibrium................................. 12]”.............. Figure 12.. Figure 17......40 Edgewise Mode Shape for Hinged Blade ...............38 Flatwise Mode Shape for Hinged Blade ...................41 Flatwise Mode Shape for Hingeless Blade ........................................ 12]” ......5 Flapping Blade “After [Ref..........................15 Determination of Natural Frequencies “From [Ref................................................................ Figure 2.........20 Blade Element Equilibrium......... Figure 7......... Figure 10........3 Calculation Of Aerodynamic Loads “From [Ref........................................................................LIST OF FIGURES Figure 1.21 Comparison to Young and Felgar Table (Hinged Blade 100 Stations) ..... Figure 16... 11]” ............... Figure 9.... Air Mass Dynamics “From [Ref..................37 Comparison to Young and Felgar Table (Hingeless Blade 100 Stations) .. Figure 4...... Flatwise System “After [Ref................................................ Figure 11...............................

THIS PAGE INTENTIONALLY LEFT BLANK xii .

........... Comparison of the Coefficients of Natural Frequencies........ Table 4................LIST OF TABLES Table 1.......39 Error Ratios of the Natural Frequency Coefficients (%) . Table 3.............38 Comparison of the Coefficients of Natural Frequencies.........39 xiii ................. Table 2..............................37 Error Ratios of the Natural Frequency Coefficients (%) ...........................

THIS PAGE INTENTIONALLY LEFT BLANK xiv .

LIST OF SYMBOLS AND ABBREVIATIONS β βT Ω ω ρ θ η ξ Blade Flap Angle Twist Angle Rotor Angular Velocity Natural Frequency Density of Air Blade Pitch Angle Discontinuity Blade Lag Angle Cn Dn+jdn e Fn +jfn g G Iβ Iξ l m M r S Sβ Sξ T X u U v V Z Flatwise Aerodynamic Damping Aerodynamic Drag Force Acting on the Blade Elements Hinge offset Aerodynamic Lift Force Acting on the Blade Elements Deflection Due to Load About Flatwise Axis (Coupling Term) Deflection Due to Load About Edgewise Axis (Coupling Term) Static Flapping Moment of Blade Static Lagging Moment of Blade Length of the section Mass of the Blade Element Bending Moment at the Blade Station Rotor Blade radius Shear Force Acting on the Blade Element Mass Flapping Moment of Inertia Mass Lagging Moment of Inertia Centrifugal Tension Force Acting on the Blade Element Edgewise Displacement of the Blade Station Slope Due to Load About Flatwise Axis (Coupling Term) Slope Due to Load About Edgewise Axis (Coupling Term) Slope Due to Moment About Flatwise Axis (Coupling Term) Slope Due to Moment About Edgewise Axis (Coupling Term) Flatwise Displacement of the Blade Station -E -F -0 -T Denotes Edgewise Denotes Flatwise Denotes Root Denotes Tip AHS c. GUI JANRAD UAV American Helicopter Society Center of Gravity Graphical User Interface Joint Army/Navy Rotorcraft Analysis and Design Unmanned Aerial Vehicle xv .g.

THIS PAGE INTENTIONALLY LEFT BLANK xvi .

Professor Wood and Commander Couch for their time.ACKNOWLEDGMENTS I would like to thank to my advisors. patience. I would also like to thank my family for their support from my country. It was an honor for me to work with them. Fikri and Done Ozturk. and contributions. xvii . I dedicate this thesis to my parents. With all my love and respect.

THIS PAGE INTENTIONALLY LEFT BLANK xviii .

The MATLAB® code generated in this thesis is going to be one part of the improvement to the blade dynamics analysis module of JANRAD and is focused on finding the mode shapes of the helicopter blades. A. Klein [Ref. 6] developed linear modeling of tilt rotor aircraft (in helicopter and airplane models) for stability analysis and preliminary design. 3] used a modified Myklestad-Prohl transfer matrix method for modeling helicopter blade dynamics. 4]. The computer code for interactive rotorcraft preliminary design using a harmonic balance method for rotor trim was developed by Nicholson [Ref. McEwen [Ref. Stability and Control. 2] in 1993. 1]. Cuesta [Ref. 10] developed the stability and control module for JANRAD software and GUI. 5]. The need of detailed and organized analysis on blade dynamics in JANRAD was basic inspiration of this research.I. 9] utilized JANRAD to determine the stability and control derivatives used in the simulation model of a small rotary wing UAV. Further improvements to the rotor dynamics portion were developed by Hiatt [Ref. JANRAD was developed to include three primary modules. And most recently Heathorn [Ref. Lapacik [Ref. The linear modeling of Stability Analysis and preliminary design was developed by Wirth [Ref. These modules are Performance. 7] developed the Graphical User Interface (GUI) for JANRAD. and Hucke [Ref. and Structural Dynamics. These codes have been used efficiently in helicopter design courses at the Naval Postgraduate School and for AHS Design Competitions. followed by a validation of the JANRAD by comparing with H-34 and UH-60A flight test data was made by Eccles [Ref. 1 . INTRODUCTION BACKGROUND The Joint Army/Navy Rotorcraft Analysis and Design (JANRAD) computer code was originally developed by students at the Naval Postgraduate School (NPS) for use in the 1993 American Helicopter Society (AHS) Design Competition. 8] made the performance enhancements to JANRAD and GUI.

it has been designed by extrapolation of existing parameters. The modern helicopter has reached the present state of design without waiting for a complete definition of its aerodynamic and dynamic characteristics. tail rotor drive shaft. and then allowed to prove itself through flight test and development programs [Ref. In addition. 12]. the helicopter incorporates an entire system of dynamic components consisting of the engines. In recent years. these are [Ref. all major areas of the aeromechanics problem were not able to be solved at the same time. 12]: • Air Mass Dynamics (see Figure 1) • Calculation of Aerodynamic Loads (see Figure 2) • Rotor Blade Dynamics (see Figure 3) • Blade-Fuselage Coupling (see Figure 4) • Fuselage Dynamics (see Figure 5) Throughout the history of helicopter design studies. the increased capability of the computer has allowed the designer to look at all areas simultaneously. A general helicopter aeromechanics problem can be subdivided into five major categories. 11]. Application of these time-varying forces cause a dynamic response to the blade with resultant forces at the blade root which result in an associated dynamic response to the airframe and its components. The focus of this thesis will be on rotor blade dynamics. Design studies were normally focused on one specific area or at most two of the areas. Instead.B. coupling drive shafts. intermediate and 90-degree tail rotor gearboxes which also cause dynamic response to the airframe [Ref. INTRODUCTION TO ROTOR BLADE DYNAMICS Dynamics is the study of how things change with time. and of the forces that bring these changes about. The forces that change with time and act upon the rotor blade are aerodynamic forces. engine gearboxes. 2 . the main transmission.

Figure 1. Figure 2. 12]” 3 . 12]” Calculation Of Aerodynamic Loads “From [Ref. Air Mass Dynamics “From [Ref.

12]” 4 .Figure 3. Figure 4. 12]” Blade-Fuselage Coupling “From [Ref. Rotor Blade Dynamics “From [Ref.

During the flapping or lagging. the resulting forces and motions will be amplified. the blades have an inertia force and a centrifugal force that act as spring. As in many physical systems. Fuselage Dynamics “From [Ref. one of the five categories of aeromechanics problem above. the helicopter blade has a number of natural frequencies. For that reason a primary goal in a good helicopter design is to have the natural frequencies sufficiently distant from known excitation frequencies. 5 . The rotating helicopter blades have both flapping and lagging movements. flapping blade motion in Figure 6 is an out-of-plane motion while the lagging blade in Figure 7 is in-plane motion. For that reason. Natural frequencies have significant importance because if the rotor blade system is excited at or close to one of its natural frequencies. 12]” Rotor Blade Dynamics. The Flapping blade (see Figure 6) and lagging blade (see Figure 7) and the related equations are listed below. The number of frequencies depends upon the number of coordinates necessary to define the motion of a blade.Figure 5. the success of the design or development of a helicopter is directly affected by the dynamics of the rotor blades. plays a major role in design and development of the modern-day helicopter.

∑M R R = 0 = ω 2 β ∫ A 2 dM Ω 2 β ∫ (e + A) AdM 0 e e (1) Let R 2 ∫ A dM = I Static flapping moment of blade. ω 2I β − Ω 2eS β − Ω2 I 6 β =0 (2) . Flapping Blade “After [Ref. Flapping Blade Figure 6. β e R ∫ AdM = S Mass flapping moment of inertia β e Hence. 11]” If we assume β is a small angle: sin β = β and cos β = 1 Therefore.1.

Lagging Blade Figure 7. ω = Ω 1+ eS I β (3) β If offset is equal to zero e = 0 .And. Then. sin ξ = ξ and cos ξ = 1 Therefore.02Ω . 11] Assuming small angles. Lagging Blade “After [Ref. ω = Ω . R R R 2 2 2 2 ∑ M = 0 = ∫ dM ω A θ + ∫ dM Ω (e + A)ξ A − ∫ dM Ω (e + A)Aθ = 0 0 e e e 7 (4) . 2. For normal offset ω = 1.

11]. Starting from the second modes. The natural frequencies are called eigenvalues and the mode shapes are eigenvectors. For the case of multiple degrees-of-freedom the same principles apply as in the single degree-of-freedom case. Every mode shape has maximum and minimum points. The only difference is that there are additional natural frequencies for each additional degree-of-freedom. For the system in Figure 8 ω3 > ω2 > ω1 [Ref. At each natural frequency (ω) the system vibrates in a characteristic shape. In general the nth node will have ‘n-1’ nodes (see Figure 8). ξ e R ∫ AdM = S . Ω 4 ≤ω ≤ Ω 3 . The statements in this paragraph are valid for all vibrating systems. ξ e Then. These characteristic shapes are called mode shapes. mode shapes will also have zero amplitude at some points (referred to as nodes). The second mode shape has only one node. ω =Ω eS ξ I (8) ξ For typical rotors.dM Ω 2ξ = dM Ω 2θ ω 2θ A A+e R R R (e + A)θ A 2 2 2 dM − ∫ Ω 2 (A + e)Aθ dM = 0 ∫ A dM + ∫ Ω (e + A ) e e e R R e e ω 2θ ∫ A 2 dM − eΩ 2θ ∫ AdM = 0 (5) (6) (7) Let R 2 ∫ A dM = I . 8 .

Figure 8. (3 Degree of Freedom or Three Mode Shapes) “After [Ref. String With 3 Masses. 11]” 9 .

THIS PAGE INTENTIONALLY LEFT BLANK 10 .

The Holzer Method was developed primarily for application to torsional vibration problems [Ref. MYKLESTAD ANALYSIS Vibrations of continuous systems. 14]. An extension of Holzer’s method to the beam lateral vibration (or bending) problem was made by Myklestad and has proven useful in analysis of airplane wings. divided into halves. such as beams. Also a useful and practical method of mode shape and frequency analysis was that developed by Holzer and has been used by engineers for years. Some of the methods for analyzing vibrations are [Ref. either in its graphical form or its numerical form [Ref. 15].II. The mass of each section is calculated. Both Holzer’s original method and Myklestad’s Extension are effectively step-by-step solutions of the differential equation of a lumped parameter system. THE DISCUSSION OF THE MYKLESTAD METHOD The beam in question is first divided into a convenient number of sections. A. and these halves concentrated at the two ends of each section. 13]: • Rayleigh’s Energy Method • Rayleigh-Ritz Method • Stodola Method • Holzer • Myklestad • Influence Coefficients Employing Matrix Methods One method for determining the natural frequencies or critical speeds of shafts or beams in bending is the iteration method of Stodola. Thus the beam is weightless between cuts and at each cut there is a concentrated mass equal to half of the sum of the masses of the two adjacent 11 . helicopter fuselage. or rotor blades. This method is referred to as Myklestad Extension or Myklestad-Prohl Method. can be analyzed mathematically by reducing the system to a system of discrete masses and springs. rotor blades and turbine blades.

the blade is a twisted beam. slope and deflection at one station is known. bending moment. B. Twenty-five to fifty stations gives a close value to the exact solution. 14] In the flexural problem. The blade has slope due to moment ( v ).sections. In the torsional problem (governed by a second-order differential equation) there are two quantities of importance at each cut: the angle and the twisting moment. a value for a frequency is assumed. [Ref. Its proper analysis requires considering the coupled flatwise-edgewise-torsional response of the blades. MYKLESTAD METHOD APPLIED TO THE ROTOR BLADE In actuality. it is possible to compute the corresponding values at the next station. if the shear. slope due to load ( u ) and deflection due to load ( g ) values about its flatwise (flapwise) principal axis. and the shear. it is necessary to find the relations between these quantities from one cut to the next. Also. If the frequency chosen is not the correct one. The number of iterations can be increased to a larger number so that the accuracy can be increased. slope due to load ( U ) and deflection due to load ( G ) are the values 12 . we assume a frequency and proceed from section to section along the beam. In the past. Recently computer technology has made this method more attractive. To solve the problem. the bending moment and the shear force. More stations mean the more iterations and the calculation of these values by hand was difficult and time consuming. boundary conditions at both ends of the beam will not be satisfied simultaneously. slope and deflection are calculated down the beam from mass to mass until the corresponding quantities at the other end are obtained. In order to solve either problem. the difficulty of this method was obtaining an accurate solution with a small number of stations. As in the Holzer method. Slope and deflection relationship of the blade and resultant twist coupling terms can be derived as shown in the equations below. bending moment. slope due to moment ( V ). the slope. In the flexural problem (governed by a fourth-order differential equation) there are four quantities of importance at each cut: the deflection.

n + 1 (16) v v zx zz = V = (V −v ) sin β cos β xz n.about the blade’s edgewise (chordwise) principal axis. n + 1 3 ( EI )  y n + 1  −η2 n. Allowing one discontinuity η in a station length l n. to the reference plane at right angles to the axis of rotation. n + 1  ( EI )  ( EI ) y n  y n +1   η2 1 n. n + 1   ( EI ) y n  (10)  l3 − η3 n. Then the slope and deflection relationships can be written as follows: =V sin 2 β + v cos 2 β n. n + 1 − η n . n + 1 13 (17) . n + 1 (15) V =V cos 2 β + v sin 2 β xx n. n + 1  = + v n. n + 1 = + g  n. n + 1 2  ( EI )  y n + 1  η3 1 n. n + 1   ( EI ) z n  (14) l2 Then if we take the blade element feathered at an angle. n + 1 . n + 1 n. n + 1 = + U n. n + 1   ( EI ) y n  (11) l2  η n . n + 1 n. n + 1   ( EI ) x n  (13)  −η3 l3 n. n + 1 3  ( EI )  x n + 1 (9) (12)  −η2 n. Here it includes twist β T and blade feathering θ . n + 1 n. n + 1 n. n + 1 2  ( EI )  x n + 1  η3 1 n. n + 1 = + u n. β . n + 1  ( EI ) ( EI )   x n +1 x n  η2 1 n. n + 1 n . n + 1 n. we can obtain  η  −η l n. n + 1 n. n + 1 n. n + 1   V = + n. n + 1 ln . n + 1 = + G n. n + 1 n.

n + 1 = (U cos 2 β + u n. When the deflection curve satisfies the ‘Boundary Conditions’ then the assumed frequency is the uncoupled natural bending frequency of the blade (or beam). n + 1 n. is divided into ‘n’ sections. n + 1 −u cos 2 β (18) sin 2 β (19) ) sin β cos β (20) n. which can be considered as a twisted beam. n + 1 n. n + 1 n. A frequency is assumed. n + 1 =G sin 2 β + g cos 2 β n. n + 1 (23) Illustration of an element of the blade with the dynamic forces and moments acting on it along the flatwise and edgewise principal axes are given in Figures 9 and 11 respectively. 14 . edgewise or coupling can be derived using the coupling terms above. Considering the forces acting on an element of the blade. As described in the beginning of this chapter. and the deflection is the normal bending mode (mode shape) of the blade. and the deflection curve is calculated. n + 1 (21) =G cos 2 β + g sin 2 β n. related equations for flatwise. Each section has the same properties as shown in Figure 9. n + 1 =U =U zx g =U xz sin 2 β + u n. n + 1 (22) =G xz = (G −g ) sin β cos β n. 1.u zz U u xx zz G g zx xx n. Myklestad Method Applied to Rotor Blade About Flatwise Axis The rotor blade. n + 1 n. the mass of each section is assumed to be concentrated at the spanwise c. n + 1 n.g of each section.

F + jf = 0 n n • Aerodynamic Drag Force acting on the blade elements for a particular frequency component. If we consider the forces acting on the blade the “Equations of Motion” can be described as follows: The assumptions for applying the method for an eigenvalue analysis are as follows: • Flatwise Aerodynamic Damping constant is neglected. Flatwise System “After [Ref. D + jd = 0 n n 15 . FN sin ω t + f N cos ω t . is neglected. we will describe from the tip to the root with ‘n+1” closer to the tip and “n” closer to the root of the blade. 12]” In this methodology. Dn sin ω t + d n cos ω t . C =0 n • Aerodynamic Lift Force acting on the blade elements for a particular frequency component. according to the Figure 9. Blade Element Equilibrium.Figure 9. is neglected.

a. and can be expressed by C = 5. Centrifugal Force Summing forces on this element + mΩ 2 r ∑ F = 0 = −T + T x n n +1 n Then the “Centrifugal Tension” will be given by T =T + m Ω2r n n +1 n n b. Writing the real equations. Moment Real and imaginary flatwise equations for moment are the same. n + 1 n + 1 n + 1 n 16 (26) . the corresponding equations are as follows: M F =M F + SF l −T (Z −Z ) n n + 1 n + 1 n.73(chord ) (l )( ρ / 2)(Ωr ) n n n. (24) Shear Summing of these forces on this element + m ω 2 Z − jC ω Z + F + jf ∑ F = 0 = −S + S z n n +1 n n n n n n Flatwise Shear can be written as: S F = S F + m ω 2 Z − jC ω Z + F + jf n n +1 n n n n n n The term C n (25) represents the flatwise aerodynamic damping on the blade element. n + 1 n Thus after applying the assumptions listed previously Equation (25) becomes: S F = S F + m ω 2Z n n +1 n n c.

n +1 3EI ( g zx does not affect the equation because of being multiplied by zero value θ E and S E ) 17 . Slope Real and imaginary flatwise equations for slope are the same. n + 1 n + 1 n + 1 zz n + 1 n + 1 zx −M F u − M E u − S F g − S E g n + 1 zz n + 1 zx n + 1 zz n + 1 zx (28) In the calculations about the flatwise principal axis.n +1 EI ( vzx is does not effect the equation because of being multiplied by zero value M E ).d. According to these assumptions the slope equation becomes: θ F =θ F (1 + T n n +1 n +1 e.n +1 2 EI ( u zx does not effect the equation because of being multiplied by zero value θ E and S E ) and vzz = ln . M E and S E ) are equal to 0. Writing the real equations. and the coefficients of coupling in Equation (28) are placed as g zz = l 3n . the corresponding equations are as follows: θF = θF u )+T (1 + T θE u −MF v −ME v n +1 n + 1 zz n + 1 n + 1 zx n + 1 zz n + 1 zx −S F u − S E u n + 1 zz n + 1 zx n (27) In the flatwise calculations the variables of edgewise principal axis ( θ E . Writing the real equations. M E and S E ) are equal to 0. ( θ E . the corresponding equations become: Z = n Z n +1 −θ F l +T θ F g +T θE g n n. l2 n. n + 1 − SF n +1 EI l2 n. n + 1 )−MF n +1 2 EI l2 n. and the terms of coupling in Equation (27) are as follows: u zz = l 2 n . n + 1 2 EI Deflection Real and imaginary flatwise equations for deflection are the same.

moments. ω. slopes and deflections are calculated element by element from the tip of the blade to the root. At the root of the blade we could write: (using subscript “0” as the root) SF =a Z +b θ F S T S T 0 M F =a Z +b θF 0 M T M T θ F =a Z +b θ F 0 θ T θ T Z =a Z +b θ F 0 y y T T In these equations the constants “a” and “b” are generated as we go down the blade. is assumed. 18 . shears and moments will be equal to zero and slope and deflection of the blade will have some values: SF =0 T M F =0 T θ F =θ F T T Z =Z T T Thus. n + 1 n. and the assumed frequency (ω). At the tip of the blade. These are carried along as unknowns. n + 1 F F θ Z =Z −θ l +T −M −S n n + 1 n n. the frequency. and shears. n + 1 n + 1 n + 1 3EI n + 1 2 EI n + 1 3EI To find the natural frequency of the rotor blade.and u zx = l 2 n . ZT and θTF . n + 1 n.n +1 2 EI ( u zx does not effect the equation because of being multiplied by zero value M E ). They are functions of the mass and stiffness properties of the blade. According to these assumptions the deflection equation becomes: l3 l2 l3 n. as we go element by element down the blade. the rotational speed (Ω). there are two unknowns.

At the root of the blade (for Hinged Blade):
M F =0
0
Z =0
0

Or,
+b θ F =0
M
T
T
a Z +b θ F =0
z
z
T
T
a

M

Z

In Matrix form:
 aM

 a z

b
M
b
z

  ZT 
   =0
 θT 

At the root of the blade (for Hingeless Blade):
θ =0

0
Z =0
0

Or,
a Z +b θ =0
θ T θ T
a Z +b θ =0
x T
z T

In Matrix form:
a
 θ
 a z

b  Z 
θ
  T  =0
b  θ 
z  T 

Since the values of ZT, and θT are non-zero, the solution to this equation is found
when the determinant goes to zero. At this point the assumed natural frequency is the
correct natural frequency. A graphical illustration of this procedure to find the natural
frequency of the rotor blade is shown in Figure 10.
19

Once the blade natural frequencies have been established for various rotor speeds
we can also construct a fanplot or “Southwell Plot”. Since the blade is stiffer in the
edgewise direction, the natural frequencies of the edgewise modes are higher than the
flatwise modes.

Figure 10.
2.

Determination of Natural Frequencies “From [Ref. 11]”

Myklestad Method Applied to Rotor Blade About Edgewise Axis

Using the same procedures that were applied to Flatwise Axis, the equations for
Edgewise Axis can also be found. The forces acting on the blade element can be seen in
Figure 11.

a.

Centrifugal Force

Same as in Equation (24).

20

b.

Shear
S

E
E
2
2
=S
+ m (ω + Ω ) X + D + jd
n
n +1
n
n
n
n

(29)

After the assumptions are applied, Equation (29) becomes
S E = S E + m (ω 2 + Ω 2 ) X
n
n +1
n
n

c.

Moment
M E =M E + SE l
−T
(X
−X )
n
n +1
n + 1 n, n + 1 n + 1 n + 1
n

Figure 11.

Blade Element Equilibrium; Edgewise System “After [Ref. 12]”

d.
θE =
n

(30)

Slope
θE

(1 + T
U )+T
θF U −ME V −MF V
n +1
n + 1 xx
n + 1 n + 1 xz
n + 1 xx
n + 1 zx
−S E U − S F U
n + 1 xx
n + 1 xz

21

(31)

In the edgewise calculations the variables of flatwise principal axis ( θ F ,

M F and S F ) are equal to 0, and the coefficients of coupling in Equation (31) become:
U xx =

l 2 n ,n +1
2 EI

( U xz does not effect the equation because of being multiplied by zero value

θ F and S F ) and Vxx =

ln ,n +1
EI

( Vxz is does not effect the equation because of being

multiplied by zero value M F ). Accordingly, the slope equation becomes:
θ E =θ E
(1 + T
n
n +1
n +1

e.
XE =
n

l2

n, n + 1
)−ME
n +1
2 EI

l2

n, n + 1
− SE
n +1
EI

l2

n, n + 1
2 EI

Deflection
X E −θ E l
+T
θ E G +T
θF G
n + 1 n + 1 n, n + 1 n + 1 n + 1 xx n + 1 n + 1 xz
−M E U − M F U − S E G − S F G
n + 1 xx
n + 1 xz
n + 1 xx
n + 1 xz

(32)

In the calculations about the edgewise principal axis, ( θ F , M F and S F )
are equal to 0, and the coefficients of coupling in Equation (32) become: Gxx =

l 3n ,n +1
3EI

( Gxz does not effect the equation because of being multiplied by zero value θ F and S F )
and U xx =

l 2 n ,n +1
2 EI

( U xz does not effect the equation because of being multiplied by zero

value M E ). Accordingly the deflection equation becomes:
θE
−θ E l
+T
X =X
n
n +1
n n, n + 1 n + 1 n + 1

l3
l2
l3
n, n + 1
n, n + 1
n, n + 1
E
E
−M
−S
n + 1 2 EI
n + 1 3EI
3EI

Using the equations above along with the boundary conditions, which depend on
the blade shape (hingeless or hinged), the same procedure can be followed as was in the
flatwise axis, and the corresponding natural frequencies and mode shapes can be found.

22

the equations for both flatwise and edgewise principal axis are included. Myklestad Method Applied to Rotor Blade About Coupled Axis In the calculations for the coupled natural frequencies. Slope Now all the coefficients for twist coupling will be used as described in both flatwise and edgewise axes applications. should be included in all equations. the following equations can be found. matrix dimension expands from 4X4 matrix to 8X8 matrix. because of having blade element feathered at an angle of β . n + 1 n + 1 n + 1 n d. which includes twist βT and blade feathering θ . the rotor blade twist coupling coefficients.3. Additionally. Moment M F =M F + SF l −T (Z −Z ) n n +1 n + 1 n. Centrifugal Force T =T + m Ω2r n n +1 n n b. Using the same procedure applied to both flatwise and edgewise axes. a. n + 1 n + 1 n + 1 n M E =M E + SE l −T (X −X ) n n +1 n + 1 n. Shear S F = S F + m ω 2 Z − jC ω Z + F + jf n n +1 n n n n n n S E = S E + m (ω 2 + Ω 2 ) X + D + jd n n +1 n n n n c. and the boundary condition matrix expands from 2X2 matrix to 4X4 matrix. As a result of using both principal axes. 23 .

the natural frequencies of the blade can be determined.θF = θF (1 + T u )+T θE u −MF v −ME v n +1 n + 1 zz n + 1 n + 1 zx n + 1 zz n + 1 zx −S F u − S E u n + 1 zz n + 1 zx n θE = n θE (1 + T U )+T θF U −ME V −MF V n +1 n + 1 xx n + 1 n + 1 xz n + 1 xx n + 1 zx −S E U − S F U n + 1 xx n + 1 xz e. 24 . Z = n Z n +1 −θ F l +T θ F g +T θE g −MF u −ME u n n. Deflection Same as the slope. for deflection equations the coefficients of twist coupling are included in the equations. n + 1 n + 1 n + 1 zz n + 1 n + 1 zx n + 1 zz n + 1 zx −S F g − S E g n + 1 zz n + 1 zx XE = n X E −θ E l +T θ E G +T θF G n + 1 n + 1 n. The natural frequencies are found in the same manner as in the previous sections. The only difference is that the dimension of the boundary conditions matrix is 4X4 instead of being 2X2. n + 1 n + 1 n + 1 xx n + 1 n + 1 xz −M E U − M F U − S E G − S F G n + 1 xx n + 1 xz n + 1 xx n + 1 xz By using the equations stated above and the boundary conditions.

III. A. The boundary conditions at the tip are same for both Hinged (Articulated) and Hingeless (Rigid) Blades. Matrix Form of the Hinged (Articulated) Blade a. the matrix form of the equations according to the boundary conditions is formed as follows: The boundary conditions at the tip are SF =0 T M F =0 T θ F =θ F T T Z =Z T T 0  0    or X =  F  . tip θ  T Z   T  and the boundary conditions at the root for a hinged blade are SF =SF 0 0 S   0 M F =0 0  0 or X =  root θ  0 θ F =θ F 0 0 0    Z =0 0 25 . Centrifugal Force for all the calculations is the same as in Equation (24): T =T + m Ω2r n n +1 n n 1. Flatwise Following the application of Myklestad Method to the rotor blade about flatwise axis as it is explained in the previous chapter. BUILDING THE MATLAB® CODE AND VALIDATION OF THE CODE APPLYING THE MATLAB® CODE TO MYKLESTAD ANALYSIS The primary difference for calculations between Hinged (Articulated) and Hingeless (Rigid) Blade are the boundary conditions at the root.

If the equations proceed from tip to root for the flatwise axis. n + 1 −T 1 0 n = n +1   2  0 1 0  θ F   −l 2 EI  n   3 0 l 1    −l 3EI n. new form of the equation becomes 26 . the equations can be written in the following matrix form: 1  0  0  0  S F   1 −m ω 2   n   n  l    M F   n. a simplified form of the equation becomes: −1  X  =[ F ]*  X   n  n + 1 Moving along from tip to the root by saving the new values of the [ F ] matrix through all stations. n + 1   Z  n  0 0 0 l 0 0 −l EI (1 + −T l 2 ) 2 EI n +1 T l 3 3EI n +1 −l 2 2 EI   S F n + 1    −T   F  n +1 M   n + 1   0  F    θ n +1   0   Z   n + 1  0 which is in the form [G ] *  X n  = [ A] *  X n + 1  Moving [G ] to the right side by pre-multiplying each side of the equation by [G ] yields −1  X  = [G ]−1 * [ A] *  X   n  n + 1 Letting [ F ] = [G ] * [ A] . the relationship between the root and the tip of the blade can be written as:  X  = F F  *  X  root     Tip  After applying the boundary conditions at the root.

S F   a  0  S 0  a  = M θ F   aθ  0  0   a z   b S b M b c S c M c b z c θ θ z d  0  S  0  d    M * F  d  θ T  θ    d   ZT  z  which can be simplified to a 2X2 matrix  0   cM 0 =  c    Z   F  M  θ T  *  d  Y Z   T  d When the determinant of the 2X2 matrix above goes to zero we get the natural frequency value.1[Ref. To see the complete text of generated MATLAB® code.the boundary conditions at the tip are SE =0 T M E =0 T E =θ E θ T T X =X T T 0  0    or X =  E  tip θ  T X   T  while the boundary conditions at the root are 27 . The deflection values in every station also give us the mode shape of the blade at that natural frequency. In the MATLAB® program. All the steps above are programmed in MATLAB® version 6. Once the natural frequency is found. refer to APPENDIX A. H-3 (S-61) helicopter data is used [Ref. 16]. Edgewise Using the same procedure as the flatwise case. 17]. corresponding relative deflection of the blade in every station can be found by placing the deflection at tip to a value of 1 ( ZTip = 1 ). b.

n + 1 S E   1 − m (ω 2 + Ω 2 )   n   n  l    M E   n.SE =SE S E  0 0  0 E 0  =0 M 0  or X = root  E  E E θ =θ θ  0 0 0 0  X =0   0 If the equations proceed from tip to root for the edgewise (chordwise) axis the equations can be written in the following matrix form: 1  0  0   0 0 0 1 0 0 1 0 l n. n + 1 −T n = n +1    −l 2 2 EI  0 θ E    n   3 1     −l 3EI X  n  0 0 l 0 −l EI l 2 ) 2 EI (1 + −T n +1 T l 3 3EI n +1 −l 2 2 EI   S E + n 1    −T   n + 1 M E   n + 1   0  E  θ n + 1    0   X   n + 1  0 which is in the form [G ] *  X n  = [ A] *  X n + 1  Moving [G ] to the right side by pre-multiplying each side of the equation by [G ] yields −1  X  = [G ]−1 * [ A] *  X   n  n + 1 Letting [ F ] = [G ] * [ A] a simplified form of the equation becomes: −1  X  =[ F ]*  X   n  n + 1 Moving along from tip to the root by saving the new values of the [ F ] matrix through all stations. the relationship between the root and the tip of the blade can be written as: 28 .

 X  = F E  *  X  root     Tip  After applying the boundary conditions at the root. the matrix can be formed as follows: 29 . c. we get the natural frequency values for the edgewise modes. new form of the equation becomes:  E S E   a S  0  E 0   a  = M θ E   a E  0  θ 0   E   a  X bE S bE M bE θ bE X cE S cE M cE θ cE X  S  0     d E  0  M *   E  θ dE   T  θ   X    dE   T  X dE which can also be simplified to a 2X2 matrix  E 0  c θ 0 =  E   c  X d E  θ E  θ * T     d E   XT  X When the determinant of the 2X2 matrix above goes to zero. Coupled Combining both flatwise and edgewise equations as explained in the previous chapter and using the same procedure.

The boundary conditions at the tip are SF =0 T F =0 M T θ F =θ E T T Z =Z T T SE =0 T M E =0 T θ E =θ E T T X =X T T 0  0    θ F   T Z   T  or X =   tip 0   0   E  θ   T  X T  and the boundary conditions at the root are SF =SF 0 0 S F  F  0 M =0 0 0    F F θ =θ F   0 0 θ 0   Z F =0 0  0  = or X root  E  E E S =S S 0 0  0 0  M E =0   0 θ E   0 θ E =θ E 0 0 0  E Z =0 0 30 .

n + 1  −v  −u zz zz  −u  − g zz zz  0 0   0 0   −U −V xz xz   −G − U  xz xz 0 S F   n   0 0  F   M n  0 0   F    θ 0 0 n    0 0   Z  n  =   0 −m (ω 2 + Ω 2 )   S E   n n  E  0 −T n +1  M n    1 0 E    θ  n  1 l  n. the equations can be written in matrix form: 1  0  0  0  0  0  0   0  0 0 1 0 0 1 0 l n.If the equations proceed from tip to root for coupling mode. n + 1 −m ω 2 n −T n +1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0  1 l 1  n. n + 1     X n  0 0 0 −T 0 0 n +1 −u −v u ) (1 + T 0 n + 1 zz zx zx −g −u T 1 n +1 zx zx 0 0 1 0 l 0 0 1 n. n + 1 −U −V T U 0 n + 1 xx xx xx −G −U T G 0 n + 1 xz xx xx 0 S F   n +1  0 0   F 0 0   M n + 1      T u 0  θ F n + 1 zx  n +1    −T g 0  Z n + 1 zx  n +1   0 0   S E  n +1   −T 0  n + 1  E M  n +1 U ) (1 + T 0  n + 1 xx  E  T G 1  θ n + 1  n + 1 xx  X   n + 1  which is also in the form [G ] *  X n  = [ A] *  X n + 1  Pre-multiplying each side of the equation by [G ] yields −1  X  = [G ]−1 * [ A] *  X   n  n + 1 31 .

Again letting [ F ] = [G ] * [ A] . new form of the equation becomes a  S F   S  0  a 0   M   a θ F   θ  0  a 0   Z  = a  S E   S E  0  0  a E M   θ E   a  0  θE  0   a  X b S b M b c S c M c d b Z b SE b ME b θE c d θ b X d M d θ θ Z c SE c ME c θE c e S e M e S d e Z e SE e ME e θE Z SE ME d θE d e X g S f M f θ d X f g M g θ f f f ME f θE f X θ g Z SE X S g Z SE g ME g θE g X   0   0     θ  θ F    T h    Z Z   T  h  * 0  E S     0  h E   M E  θ   h   T θ E  X    h   T  x  h S h M h which can be simplified to a 4X4 matrix  c 0  M  0   cZ  =  0 c E    M 0  c  X d M d Z d ME d X g M g Z g ME g X h  θ F  M   T  h  Z Z T   *  h  E  M E  θ T  h  X  X   T  When the determinant of the 4X4 matrix above goes to zero we get the natural frequency values. the relationship between the root and the tip of the blade can be written as:  X  =[ F ]*  X Total   root   Tip  After applying the boundary conditions at the root. simplified form of the equations becomes: −1  X  =[ F ]*  X   n  n + 1 Moving along from tip to the root by saving the new values of the [ F ] matrix through all stations. 32 .

2. new form of the equation becomes S F   a  0   S  F  a M 0  =  M    aθ 0   0   aZ   b S b M b θ b Z c S c M c θ c Z d  0  S  0  d    M * F  d  θ T  θ    d   ZT  Z  which can be simplified to a 2X2 matrix  0   cθ 0 = c    Z d  θ F  θ * T   d  Z Z  T  Using the same procedure as described in first section of this chapter natural frequencies and mode shapes can be found. Flatwise The boundary conditions at the root are SF =SF 0 0 =M F MF 0 0 =0 θF 0 =0 Z 0 S F   0   F  or X = M 0  root   0  0    After applying the boundary conditions at the root. Matrix Form of the Hingeless (Rigid) Blade The only difference from the Hinged (Articulated) Blade is to change to boundary conditions at the tip. Other equations are as listed in the Hinged (Articulated) Blade section. For that reason the same equations are not repeated in this section. a. 33 .

b. Edgewise The boundary conditions at the root are SE =S 0 0 M E =M E 0 0 =0 θE 0 =0 X 0 S E   0   E  or X = M 0  root   0  0    After applying the boundary conditions at the root. new form of the equation becomes a S E   S E  0    E  a E M 0  =  M   a 0   θE 0      a  X b SE b ME b θE b c SE c ME c θE c X X   S E  0    d 0  E  M  * θ E  d   T θ E  X    T  d X  d which can be simplified to a 2X2 matrix c 0  M E 0 =  c    X  θ  M E * T   X  d X   T d Using the same procedure as described in first section of this chapter natural frequencies and mode shapes can be found 34 .

Coupled The boundary conditions at the root are SF =SF 0 MF 0 θF 0 ZF 0 SE 0 ME 0 θE 0 E Z 0 0 =M F 0 S F   0   F  M 0  =0   0  =0 0   or X = root  E  E S =S 0  0   E  =M E M 0  0   0  =0  0  =0 After applying the boundary conditions at the root new form of the equation becomes a  S F   S  0   a  F   M M 0   a    θ 0   a 0   Z  = a  S E   S E  0    E  a E M 0   M   a 0   θE  0   a  X b S b M b c S c M c d b Z b SE b ME b θE c d θ b X d M d θ c θ Z c SE c ME c θE X S d Z SE d ME d θE d X e S e M e f f M f θ e Z e SE e ME e θE e f f M g f which can be simplified to a 4X4 matrix ME f θE f θ g Z SE X S g θ X 35 g S g Z SE g ME g θE g X    0   0       F θ  θ T  h    Z Z   T  h   * 0 E S      0 h E   M E  θ   h   T θ E  X    h   T  X  h S h M h .c.

 c 0  θ 0  cz  =  0 c E   θ 0  c  x d θ d z d θE d x g θ g z g θE g x  F  θ  θ T  h h  Z z * T h   E θ E  θ T h   X x   T       When the determinant of the 4X4 matrix above goes to zero we get the natural frequency value. 50. a validation of the results must be made. the program generated for H-3 (S-61) helicopter was modified as a uniform and nonrotating blade to compare with Young-Felgar data. while the blue lines represent the mode shapes of the generated MATLAB® code. The dashed lines with green. The MATLAB® code matched with the values of tables given in Young and Felgar. But the MATLAB® code given in this thesis is generated for H-3 (S-61) helicopter. red and magenta colors represent each mode shape of the corresponding Young and Felgar data. A good validation method is to compare the results of the program with the uniform and nonrotating beam mode shapes values in Young and Felgar [Ref. B. 36 . 30. The publication [Ref. 20. Figure 12 shows the results of one of these comparisons. Only first three mode shapes were used for the validation. For that reason in order to get accurate results. and the MATLAB® program was run for 10. 18]. VALIDATION OF THE CODE 1. Related data used for validation is included in APPENDIX B. 40. The modified program is included in APPENDIX A. 18] provides eigenvalues and eigenvectors for nonrotating uniform beams with a wide range of boundary conditions. and 200 blade stations. and using the same procedures above mode shapes can be found. Tables 1 and 2 contain a summary of the comparisons. which has a rotating blade with nonuniform blade properties. Comparison of the Uniform Nonrotating Hinged Blade (SupportedFree Beam) with Young and Felgar Although the MATLAB® Programming was written in accordance with procedures described in each subsection above. the accuracy of the plots increasing as the number of the stations were increased as is expected. 100.

Hinged Nonrotating Uniform Blade Comparison (100 Stations) 2 1st 2nd 3rd Young 3rd Young 2nd Young 1st 1.479129 0.5 0 -0.308580 0.479004 0. 0.306839 0.308564 0.308395 0.9 1 Comparison to Young and Felgar Table (Hinged Blade 100 Stations) If we look through the results of all stations in Table 1 and Table 2 we can see that by increasing the number of stations the accuracy of the program increases as well.5 Relative Deflection 1 0.8 0.479187 0.6 Blade Station 0.2 0.476928 0.5 -1 -1.308576 a3 0. Comparison of the Coefficients of Natural Frequencies 37 .308158 0.5 -2 0 Figure 12.1 0.4 0.480431 0.308515 0.478647 0.3 0.308477 0.479283 Table 1.479264 0. Young and Felgar a1 10 20 30 40 50 100 200 Stations Stations Stations Stations Stations Stations Stations 0 0 0 0 0 0 0 0 a2 0.5 0.7 0.

nonrotating.8 0.55644 -0.37131 -0.3 0.02132 -0.00131 a3 -0. Hingeless Nonrotating Uniform Blade Comparison (100 stations) 2 1.29696 -0.25884 -0.23891 Table 2.5 0 -0.4 0.06001 -0. hingeless blade.6 Blade Station (inc) 0.00522 -0.7 0. Error Ratios of the Natural Frequency Coefficients (%) 2. Figure 13 shows the results of one of the comparisons for a uniform.2 0. 0.5 Relative Deflection 1 0.5 -2 0 Figure 13.10 Stations 20 Stations 30 Stations 40 Stations 50 Stations 100 Stations 200 Stations a 0 0 0 0 0 0 0 a2 -0.72907 -0.03344 -0.24287 -0.9 1 Comparison to Young and Felgar Table (Hingeless Blade 100 Stations) 38 .13699 -0.27088 -0. Comparison of the Uniform Nonrotating Hingeless Blade (ClampedFree Beam) with Young and Felgar Using a similar analysis as described in the previous section.1 0.5 0.5 1st 2nd 3rd Young 3rd Young 2nd Young 1st -1 -1.

and the ratio of natural frequency to rotational speed are listed below each figure.162790 a2 0. Young and Felgar 10 20 30 40 50 100 200 Stations Stations Stations Stations Stations Stations Stations a1 0.48727 -2.155555 0.48251 Table 4.048210 a2 -1. Comparison of the Coefficients of Natural Frequencies 10 Stations 20 Stations 30 Stations 40 Stations 50 Stations 100 Stations 200 Stations a -6. natural frequencies.365853 0.05161 2.159523 0.356558 Table 3.44008 -2.048210 2.162790 0.148936 0.155566 0. 3.366000 0.45007 2.11281 -0.048210 2.49484 -0.48726 2.49484 -0.353383 0. respectively. Numerical values for the centrifugal force. Error Ratios of the Natural Frequency Coefficients (%) Analysis of H-3 Helicopter with an Articulated Rotor Blade The first three mode shapes for H-3 (S-61) helicopter for both flatwise and edgewise axes are shown in Figures 14 and 15.162790 0.If we look through the results of all stations in Table 3 and Table 4 it can be seen that increasing the number of stations improves the accuracy of the program as well.355371 0.349593 0. Additional plots for the fourth and fifth mode shapes are attached in APPENDIX C.63674 -2.048210 2.355371 0.357139 0. 39 .162790 0.

88151545715 The ratio of the Natural Frequency to Rotational Speed is: 1.94221371078 554.4 -0.01302042580 1006.04897642222062 2.96000746530618 400 .2 -0.8 Relative Deflection 0.Flatwise Mode Shapes at Operational Rotational Velocity 1 0.4 0.6 0. 150 200 250 Blade Station (inches) 300 350 Flatwise Mode Shape for Hinged Blade The results for Flatwise Axis: Number of Mode shapes: Centrifugal Force is : 3 4.2 0 -0.515809216498805e+004 The Natural Frequencies are (cpm): 212.72912817943742 40 4.6 0 50 100 Figure 14.

4 0.2 0 -0.00581951964430 Analysis of H-3R Helicopter with a Hingeless Rotor Blade The first three mode shapes for H-3R helicopter for both flatwise and edgewise axes are shown in Figures 16 and 17.45769531250 713.63831103516 1828.4 -0. Numerical values for the centrifugal force. natural frequencies. respectively.51545966027171 9.2 -0.6 0 50 Figure 15.31752559267241 4. and the ratio of the natural frequency to rotational speed are 41 .8 Relative Deflection 0.515809216498805 e+004 The Natural Frequencies are(cpm): 64.18136248779 The ratio of the Natural Frequency to Rotational Speed is: 0. 100 150 200 250 Blade Station (inches) 300 350 400 Edgewise Mode Shape for Hinged Blade The results for Edgewise Axis: Number of Mode shapes: 3 Centrifugal Force : 4.6 0. 3.Edgewise Mode Shapes at Operational Rotational Velocity 1 0.

515809216498805e+004 The Natural Frequencies are(cpm): 224.6 0.87100000000000 42 5.8 Relative Deflection 0.81300000000 1068.10700000000000 2. Additional plots for the fourth and fifth mode shapes are attached in APPENDIX C.6 0 50 Figure 16.79500000000 The ratio of the Natural Frequency/Rotational Speed is: 1.26500000000000 400 .2 0 -0.listed below each figure. 100 150 200 250 Blade Station (inc) 300 350 Flatwise Mode Shape for Hingeless Blade The results for Flatwise Axis: Number of Mode shapes: 3 Centrifugal Force : 4.4 0.2 -0.72100000000 582.4 -0. Flatwise Mode Shapes at Operational Rotational Velocity 1 0.

Edgewise Mode Shapes at Operational Rotational Velocity 2 1.98700000000 842.10700000000000 400 .72900000000000 4.515809216498805e+004 The Natural Frequencies are(cpm): 147.72100000000 The ratio of the Natural Frequency/Rotational Speed is: 0.5 Relative Deflection 1 0. 100 150 200 250 Blade Station (inc) 300 350 Edgewise Mode Shape for Hingeless Blade The results for Edgewise Axis: Number of Mode shapes: 3 Centrifugal Force : 4.5 0 50 Figure 17.24700000000 2051.14900000000000 43 10.5 0 -0.5 -1 -1.

THIS PAGE INTENTIONALLY LEFT BLANK 44 .

A GUI is also developed in order to provide a user-friendly interface for the designer. CONCLUSIONS AND RECOMMENDATIONS A useful method for ‘Blade Dynamic Analysis’ of a helicopter design is developed in this thesis. Assumptions for the analysis are given in Chapter II. the accuracy and the reliability of the program have been established and the GUI is verified. Myklestad Extension gives very good results when it is utilized with MATLAB®. which is not included in this thesis. Further research can be done on blade dynamics beyond the eigenvalue analysis presented here.IV. mode shapes and centrifugal force for a given rotor blade with varying mass and stiffness distribution and any root and boundary conditions. Blade dynamics is a complex area of research. By comparing the outputs with the actual data or recent research. 45 . In this thesis the theory and application of the theory to MATLAB® program is explained in detail. Also a coupled analysis (including flatwise-edgewise-torsion). A designer can utilize this program and find natural frequencies. Hence. the assumptions of neglecting the damping. If the blade forced response is desired. This thesis provides both uncoupled flatwise and edgewise analysis of the helicopter rotor blade. Although the theory of the coupled flatwise-edgewise case axis is presented in Chapter III. can be added to the program for more detailed analysis on rotor blade dynamics. a modified Myklestad Forced Response Analysis MATLAB® program can be generated. corresponding coupled MATLAB® codes have not been generated because of time. the aerodynamic lift force acting on the blade elements and the drag force acting on the blade elements can be removed and these values can be placed in the equations. The full text of the MATLAB® codes is attached to APPENDIX A in order to have availability of further research on Myklestad Analysis and its application to JANRAD.

THIS PAGE INTENTIONALLY LEFT BLANK 46 .

. 8. 93.20.04.00. 37. . 12. 75.^4) : [0. 2.95. 9. 2.40. 148. 1.80.93. 10. 12. 334.35.60.53.00.20 . 55.60. 260. % 111. 1.. 2. 2.00.20.60.00 ].40.00.57.60. 2.40.00.80.10. 9. 2. Articulated Blade % % Gross Weight 12000lb. 4. 2.20. 130.91.80. 167.63 ].97. 148.. 186. 241. 74.60. 241.91.21.17.91.80.14. 297.00.19.40 . HINGED BLADE ABOUT FLATWISE AXIS clear clc format long %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % MYKLESTAD ANALYSIS % % BASIC PROGRAM % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % TABLE B-1 % % % % BASIC BLADE DATA % % % % H-1 HELICOPTER % % % % 1-1 Planform. 2..46 ]. 204.04. % 20.20.51. 3. % %Segment Weight(lb) : [2.03.20. 18.99.60.00 . 9. 2.00.625 inches for H-1 Helicopter % %Flatwise Ixx(inch.06. 279. 45.01. % R_n = [372.45.04. 75. 2.29. 9.40. 204.60.18.40. 2. 2.71. 334. 353. % I_xx = [0. 47 .40.29.20.71. 353.29.10. 1. 279.00.80.. 1. 167. 9. 260.40. 18. 3.56.80. 111. 2. % 297.40. 12. 1.80.00.00. 2. 9.40. 9. 130. 75. 2.60 . 9.63 ]. % 2. 223. 55.. % 9.80.37.73.45.00.20. 316.00 ].00.99. 2. MATLAB® PROGRAMS A. 37...78. 2. 45. 2. 55.35. 75. 9. 84.00. 316. 9. 2.51.94. 74. 8.80 . 93. 223. 2. 2.19.45.60.60.97. 2. % hinge(e) = 12. 1.51. 2.. 150Knot Design % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Radius of the stations from tip to root are(inch) : [372.19.95.APPENDIX A. 9.93. 4.80. 186.04. 1.51.

91.. 20. 9.57. 9.78 . % R_V = 203.06.56.51. 9. 8.51. 48 . % % Aliminum E_n = 1e7. % radians (R_V1) % %====================================================================================== % Calculation of "Centrifugal Force" at the root: %-------------------------------------------------------------------------------------T_n(1) = m_n(1) * R_n(1) * R_V1^2. % %======================================================================================= % omega = 0. 9. 9.53.94.21.73. 9.03. 9.29.37. % modeshp = input('How many mode shapes would you like? '). 9..14. % end of loop for i--> { T_n(i) } % disp( ' Centrifugal Force is : ' ) disp(T_n(n)) % Displays "Centrifugal Force at r = 12. % n = length(R_n).18. 9. det_Bc = 0.01. % m_n = W_n/(32. end. % % n represents the number of the stations(segments). 10.174*12). T_n(i+1)=T_n(i) + m_n(i+1) * R_n(i+1) * R_V1^2.17.% W_n = [2.63" % %====================================================================================== k = 1. 9. 8.46 ]. % RPM (R_V) R_V1 = R_V * pi/30. 10. 84.45. 12. 55. 9. 9..19. % (T_n) and radians (R_V1) % % T_n(1) is the "Centrifugal Force at the TIP" % for i = 1 : n-1.

-(l_sn^2)/(2*EI). l_sn = R_n(j) .4) . 0. (T_n(j)*l_sn^3)/(3*EI). %----------------------------------------------------------------------------------for j = 1:n-1. i = i+1. det_bc(k) = det(B_c).1*modeshp^2*R_V. -T_n(j) 0.i = 1. -m_n(j+1)*omega(k)^2.F(2. 0 . .3). 0 . % if loop (1. % F_n = inv(G_n)*A_n. 1.4)]. 1 ]. 0 -(l_sn^3)/(3*EI).0001 % elseif loop (1) omega_natural(i) = omega(k). 1 . -T_n(j) . 0. F(4. 0. % radians (omega(k)) F = eye(4). 0. 0. % %------------------------------------------------------------------------------------%determination of the points and the natural frequencies where det crosses the "0 line" % if det_bc(k) < 0. end. ]. 0.3). 0. 0. G_n. 1+(T_n(j)*l_sn^2)/(2*EI). F = F_n * F. % G_n = [ 1. l_sn.a) 49 . % for omega_1 = 0 : modeshp^2*R_V/500 : 2. 0. % RPM (omega_1) omega(k) = omega_1*2*pi/60. % determine length of the segments. l_sn. % % detemine the stiffness EI = E_n * I_xx(j). -(l_sn^2)/(2*EI). F_n ) % %------------------------------------------------------------------------------------B_c = [ F(2. else if k >1. -l_sn/EI. 1. % end of loop for j --> { A_n. 1. 0.0001 & det_bc(k) > -0. A_n = [ 1.R_n(j+1).F(4.

elseif R == 0.s = k-1. % omega_old is in RPM flg_slope = 1. if R ==1 slope = 1. % end of elseif (1) % k = k+1. % end of loop for (m) % %=========================================================================================== % for count = 1 : modeshp omega_0 = real(omega_n(count)*pi/30). % radians (omega_0) . end.s))/2. % end of loop for omega_1 % %========================================================================================== % % Sorting the "Natural Frequencies" % % Sort and convert the unit of natural frequency to 'cpm' for m = 1:modeshp. if det_bc(k) * det_bc(:.a) end.b) end. end. % end of if (1. slope = -1. % %--------------------------------------------------------------------------------------% Determination of odd or even mode shapes % R = rem(count. else display('This is an incorrect mode shape input!') end % end of 'if loop R' 50 . % end of if (1. omega_n(m) = omega_natural(m)*30/pi.b) omega_natural(i) = (omega(k) + omega(:.s) < 0 % if loop (1.2).RPM (omega_n) % omega_new = 100. % omega_new i in RPM omega_old = -100. end. i = i +1.

omega_0 = 0. 1 ]. det_bcnew = 0. 0. % A_n=[1. F(2. l_sn. det_bcold = 0. det_bc = det(B_c). 1 ]. -(l_sn^2)/(2*EI). 0.4) . (T_n(j)*l_sn^3)/(3*EI). 0 . % l_sn = R_n(j) . flag_1 = 1. % EI = E_n * I_xx(j). G_n. 1. EI. -(l_sn^3)/(3*EI).% %--------------------------------------------------------------------------------------% Initial values flag = 1. 1+(T_n(j)*l_sn^2)/(2*EI). F = F_n * F. l_sn. 1. 0. 0. 1. % if natural frequency is negative. A_n.3). 0. . % G_n=[1. 0. F(4. if omega_0 < 0. -l_sn/EI. F_n) % B_c = [ F(2. end.3). %-----------------------------------------------------------------------------------% 51 . F(4. 0. -m_n(j+1)*omega_0^2 .R_n(j+1). 0 -T_n(j) . 0 . % end of loo for j --> { l_sn. -T_n(j) . 0. 0. -(l_sn^2)/(2*EI). 0. % %-------------------------------------------------------------------------------------% while flag == 1. % F_n = inv(G_n)*A_n. make it zero end % end of if loop omega % for j = 1:n-1.4) ]. 0. F = eye(4).

a % % Rearrange the values omega_old = omega_0. flag_1 = 1.b if det_bc > 0.b.if (abs(det_bc)<1000 | abs(omega_old-omega_new)<1e-10).b.b if abs(det_bcold + det_bc) > abs(det_bc) & det_bcnew == 0.b. det_bcold = 0.b.b.ii % if loop 1.') end % end of 'if loop 1.a' % % change the initial values flag = 0. % if loop 1.b. end. % if loop 1.(200*pi/30)*slope.a This value of omega may be in error. % radians (omega_0).a omega_new = omega_0 . % else % else for if loop 1 % if flag_1 == 1. % if loop 1 omega_n(count) = omega_0*30/pi. % end of 'if loop 1. flag_1 = 2. % end of 'loop if 1. else % else for if loop 1.ii. % elseif for if loop 1. disp('Warning!! % if loop 1. if det_bc > 0. end.(200*pi/30)*slope. det_bcold = det_bc. % elseif flag_1 == 2. det_bcnew = 0.a omega_new = omega_0 + (200*pi/30)*slope. omega_0 = omega_new.i omega_new = omega_0 + (200*pi/30)*slope. RPM (omega_n) % if abs(omega_old-omega_new)<1e-10. 52 .i' % % Rearrange the values % omega_old = omega_0.b.ii.i omega_new = omega_0 .ii. % if loop 1. % radians(omega_new) else % else for if loop 1.

omega_0 = omega_new.1). % According to the equation we can also use as : theta_n(count)= -B_c(2. det_bcnew = det_bc. elseif ((det_bc < 0 & det_bcnew > 0) | (det_bc > 0 & det_bcnew < 0)). end % end of 'if loop 1. end.% if loop 1.2)/B_c(2. % end of 'if loop 1' % end. det_bcold = det_bc.2) / B_c(1.iii omega_new = omega_0.ii omega_old = omega_0. X_n(:.b.1) = X_tip.b' % end.1) % end % end of loop for 'count' % %================================================================================================= % for m= 1 : count % for loop 'm' X_tip = [0 . F = eye(4). 1 ]. flag_1 = 0. % end of 'if loop 1. else % else for if loop 1.R_n(j+1). det_bcnew = det_bc. % end of 'if loop 1.b. % end. for j = 1:n-1. 0 . det_bcold = det_bc. 53 .b.ii' % omega_0 = (omega_new + omega_old)/2.b.ii omega_0 = (omega_new + omega_old)/2.ii' else % else for if loop 1-b if ((det_bc>0 & det_bcnew > 0) | (det_bc<0 & det_bcnew < 0)). % elseif for if loop 1. % end of 'while loop' % theta_n(count) = -B_c(1. theta_n(m) . % for loop 'j' % l_sn = R_n(j) .b.

G_n. -l_sn/EI. 0. EI.:). . 1 ]. 1. 0. 0. % end of loop for j --> { l_sn. l_sn. '-') grid on. 0. 0. xlabel ( ' Blade Station (inches)' ) . ylabel ( ' Relative Deflection ' ) . -(l_sn^2)/(2*EI). % F_n = inv(G_n)*A_n. -(l_sn^3)/(3*EI). 0. F = F_n * F. A_n. % A_n =[ 1. 0 . l_sn. 0. . -T_n(j) . 1 ]. 0 -T_n(j) 1+(T_n(j)*l_sn^2)/(2*EI). 0. plot ( R_n/R_n(1). 2*X_n(4. 0. 1. % end.:).j+1) = F * X_tip.:)=X_n(4. F_n) % % Get the total deflection at each radial station % deflection(m. 1. hold on end % end of for loop count hold off disp('The Natural Frequencies are(cpm): ') disp(omega_n) % disp('The ratio of the Natural Frequency to Rotational Speed is: ') disp(omega_n/R_V) % % End of program for " HINGED-FLATWISE " 54 . (T_n(j)*l_sn^3)/(3*EI). title ( ' Flapwise Mode Shapes at Operational Rotational Velocity ' ). % G_n =[ 1. -(l_sn^2)/(2*EI).% EI = E_n * I_xx(j). % X_n(:. 0 . 0. -m_n(j+1)*(omega_n(m)*pi/30)^2 . 0.

241..20 .00.. 24.03.20. 9.53.46 ]. 148.56. % 9.29. 75. 27. 10.18. 18.91.40. 9.00.46 ]. 9.20. 9.00.^4) : % I_yy = [10. 334. 9.80.60.40 . 93. 74.40.17.00. 28. 10. 23.40. HINGED BLADE ABOUT EDGEWISE AXIS clear clc format long %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % MYKELSTAD ANALYSIS % % BASIC PROGRAM % % FOR EDGEWISE % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % TABLE B-1 % % % % BASIC BLADE DATA % % % % H-1 HELICOPTER % % % % 1-1 Planform.40.03.30. 9.00. % 111. 18.80.20.73.14. 55. 223. 9.94.. 8. 279.00.20. 75.. 204.60.00.51. 37. 9.00 . 27. 12.14.60.60.625 inches for H-1 Helicopter % % %Edgewise Ixx(inch.. 8.00.80. 353. % %Segment Weight(lb) : [2. 260.40.30. % %===================================================================================== == % omega = 0.80.01.40.00.20.40. 70. 9. 28.80. 10. 130.29.00 ].37.73.51. 84. 8. 12.60.78.00.90.21. 9.06. 9. 24. 84. 35.63 ].174*12). % W_n = [2.80. 260. % n = length(R_n). 150Knot Design % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Radius of the stations from tip to root are(inch) : [372.80 . 9.. 9. 334.10.. 297. 20..45. % R_n = [372. 167. det_Bc = 0. 30.51. % modeshp = input('How many mode shapes would you like? '). ..94.19. 204.80. 8.. 24.51.50.18. 186... % hinge(e) = 12. 316. 167.19.50.57. 148. 29.00. % % n represents the number of the stations(segments).50. % 20.56. 111. 223. 12.78 . 9.80.60. 29. 186. 74. 9. 9. 9.60 . 55.91. 20. 241. 9. 9. 9. 20. 20. 12. % radians (R_V1) 55 . 279.20..17. 55. % 297.57.00. % R_V = 203.45.70. % RPM (R_V) R_V1 = R_V * pi/30.63 ]. 130.60.21. 9. Articulated Blade % % Gross Weight 12000lb. 316.30. 20. % m_n = W_n/(32. 9..80..60. 353.37. 93. 20.53.80.00.B. % % Aliminum E_n = 1e7.06. 55. 9.30.01. 37. 1.20.

-l_sn/EI. 0. F(4. 0.4) .F(4. l_sn = R_n(j) . . -(l_sn^3)/(3*EI). 1. 1 ]. -T_n(j) . det_bc(k) = det(B_c).4)]. %---------------------------------------------------------------------------------for j = 1:n-1. % %------------------------------------------------------------------------------------ 56 .1*modeshp^2*R_V. % for omega_1 = 0 : modeshp^2*R_V/500 : 2. 0. i = 1. 0. 0 .3). 0. 0 . % end of loop for i--> { T_n(i) } % disp( ' Centrifugal Force : ' ) disp(T_n(n)) % Displays "Centrifugal Force at r = 12. G_n. (T_n(j)*l_sn^3)/(3*EI). % RPM (omega_1) omega(k) = omega_1*2*pi/60. 0. A_n = [ 1. 0. F_n ) % %-----------------------------------------------------------------------------------B_c = [ F(2. % determine length of the segments. -m_n(j+1)*(omega(k)^2 + R_V1^2). 0. -(l_sn^2)/(2*EI). 1. F = F_n * F. -(l_sn^2)/(2*EI). l_sn.3). end. 0 . 0. % G_n = [ 1.625 " % %===================================================================================== = k = 1. % end of loop for j --> { A_n. % radians (omega(k)) F = eye(4). l_sn.F(2. % (T_n) and radians (R_V1) % % T_n(1) is is the "Centrifugal Force at the TIP" % for i = 1 : n-1. % F_n = inv(G_n)*A_n. 1. % % detemine the stiffness EI = E_n * I_yy(j).R_n(j+1). end. 0. T_n(i+1)=T_n(i) + m_n(i+1) * R_n(i+1) * R_V1^2. 1 ]. 0. -T_n(j) 1+(T_n(j)*l_sn^2)/(2*EI).% %===================================================================================== = % Calculation of "Centrifugal Force" at the root: %------------------------------------------------------------------------------------T_n(1) = m_n(1) * R_n(1) * R_V1^2.

end. % radians (omega_0) .%determination of the points and the natural frequencies where det crosses the "0 line" % if det_bc(k) < 0. % %-------------------------------------------------------------------------------------% Determination of odd or even mode shapes % R = rem(count. det_bcold = 0.2). elseif R == 0. % %------------------------------------------------------------------------------------- 57 . else if k >1.0001 & det_bc(k) > -0.b) end. % end of loop for omega_1 % %===================================================================================== ===== % % Sorting the "Natural Frequencies" % % Sort and convert the unit of natural frequency to 'cpm' for m = 1:modeshp. i = i +1. end. slope = -1.0001 % elseif loop (1) omega_natural(i) = omega(k). det_bcnew = 0.a) s = k-1. if det_bc(k) * det_bc(:. flag_1 = 1. % end of loop for (m) % %===================================================================================== ====== % for count = 1 : modeshp omega_0 = real(omega_n(count)*pi/30). if R ==1 slope = 1.b) omega_natural(i) = (omega(k) + omega(:. % if loop (1.RPM (omega_n) % omega_new = 100. i = i+1. % omega_old is in RPM flg_slope = 1. omega_n(m) = omega_natural(m)*30/pi.s) < 0 % if loop (1. % end of if (1.s))/2. % end of if (1. else display('This is an incorrect mode shape input!') end % end of 'if loop R' % %-------------------------------------------------------------------------------------% Initial values flag = 1. end. % end of elseif (1) % k = k+1. % omega_new i in RPM omega_old = -100.a) end.

det_bcold = 0. F(2. % EI = E_n * I_yy(j). T_n(j) . if omega_0 < 0. 0. F_n) % B_c = [ F(2. 1 ]. make it zero end % end of if loop omega % for j = 1:n-1. 0.i omega_new = omega_0 . % if loop 1. % if loop 1. % radians(omega_new) 58 . 1. -T_n(j) . F(4. 0. 0. % radians (omega_0). G_n. det_bc = det(B_c). -(l_sn^2)/(2*EI). % else % else for if loop 1 % if flag_1 == 1. 1+(T_n(j)*l_sn^2)/(2*EI). -(l_sn^3)/(3*EI). % l_sn = R_n(j) . F = F_n * F. 0 . -(l_sn^2)/(2*EI). 0. det_bcnew = 0. F(4.R_n(j+1).4) ]. % if loop 1 omega_n(count) = omega_0*30/pi.% while flag == 1. EI. (T_n(j)*l_sn^3)/(3*EI). 1 ]. % end of loo for j --> { l_sn. %----------------------------------------------------------------------------------% if (abs(det_bc)<1000 | abs(omega_old-omega_new)<1e-10). % F_n = inv(G_n)*A_n. % if natural frequency is negative. -m_n(j+1)*(omega_0^2 + R_V1^2) . % A_n=[1. % if loop 1.3). -l_sn/EI. % G_n=[1.(200*pi/30)*slope.') end % end of 'if loop 1. 0. RPM (omega_n) % if abs(omega_old-omega_new)<1e-10. 1. 1.b. A_n.4) . 0 . 0. 0.3). l_sn. end. 0 . flag_1 = 1.b if det_bc > 0. 0.a disp('Warning!! This value of omega may be in error. 0. l_sn. 0.a' % % change the initial values flag = 0. omega_0 = 0. F = eye(4).

b.b if abs(det_bcold + det_bc) > abs(det_bc) & det_bcnew == 0. % end of 'if loop 1' % 59 .b. flag_1 = 0.ii omega_old = omega_0.i' % % Rearrange the values % omega_old = omega_0. end % end of 'if loop 1. % end of 'loop if 1. % elseif flag_1 == 2.b. det_bcold = det_bc. det_bcold = det_bc.ii' else % else for if loop 1-b if ((det_bc>0 & % if loop 1.b.b.i omega_new = omega_0 + (200*pi/30)*slope.(200*pi/30)*slope. flag_1 = 2.ii.a % % Rearrange the values omega_old = omega_0.iii omega_new = det_bcnew = elseif ((det_bc det_bcnew > 0) | (det_bc<0 & det_bcnew < 0)).b. % else for if loop 1.ii.a omega_new = omega_0 + (200*pi/30)*slope.b.b. det_bcnew = det_bc.b.b' % end. end.a else omega_new = omega_0 .ii if det_bc > 0. % if loop 1.else % else for if loop 1.b. % end.ii % else for if loop omega_0 = (omega_new + omega_old)/2. < 0 & det_bcnew > 0) | (det_bc > 0 & det_bcnew < 0)). % elseif for if loop 1. % end of 'if loop 1. omega_0. omega_0 = omega_new. det_bcold = det_bc. else 1.ii. det_bc. end. end. omega_0 = omega_new. % end of 'if loop 1. % if loop 1. % elseif for if loop 1.ii' % omega_0 = (omega_new + omega_old)/2. % end of 'if loop 1.b.

% EI = E_n * I_yy(j). 1. % X_n(:. for j = 1:n-1.1) % end % end of loop for 'count' % %============================================================================================ % for m= 1 : count % for loop 'm' X_tip = [0 . + R_V1^2). F = F_n * F.1) = X_tip. X_n(:. 0. l_sn. 0. 0. l_sn. 0. % end of 'while loop' % theta_n(count) = -B_c(1.:). % According to the equation we can also use as : theta_n(count)= -B_c(2.2) / B_c(1. ]. 1 ]. % end. 0. A_n. -(l_sn^2)/(2*EI).R_n(j+1). EI. . 0. 0 (T_n(j)*l_sn^3)/(3*EI). -T_n(j) 0. -l_sn/EI. -m_n(j+1)*((omega_n(m)*pi/30)^2 0. -(l_sn^2)/(2*EI). . 1 ]. F = eye(4). % for loop 'j' % l_sn = R_n(j) . % G_n =[ 1.1). F_n) % % Get the total deflection at each radial station % deflection(m. 1. G_n. theta_n(m) .j+1) = F * X_tip. . 1 .:)=X_n(4. 0. 0 .end. 0. 60 . 0. 0 . -(l_sn^3)/(3*EI). % F_n = inv(G_n)*A_n. 0 -T_n(j) 1+(T_n(j)*l_sn^2)/(2*EI). 1. % A_n =[ 1. % end of loop for j --> { l_sn.2)/B_c(2.

:). 150 Knot Design % % % %************************************************************************************ % % R_n = input('Enter the radius of the stations: '). '-') grid on.Rigid Blade % % % % Gross Weight 12000lb. hold on end % end of for loop count hold off disp('The Natural Frequencies are(cpm): ') disp(omega_n) % disp('The ratio of the Natural Frequency to Rotational Speed is: ') disp(omega_n/R_V) % % End of Program " Hinged-Edgewise " C. title ( ' Chordwise Mode Shapes at Operational Rotational Velocity ' ). ylabel ( ' Relative Deflection ' ) . xlabel ( ' Blade Station (inches)' ) . . 61 .plot ( R_n/R_n(1). HINGELESS BLADE ABOUT FLATWISE AXIS clear clc format long %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % % % MYKELSTAD % HINGELESS BLADE FLATWISE % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % % Table B-17 % % % % Basic Blade Data % % % % H1-R Helicopter % % % % 1-1 Planform. 2*X_n(4.

5. 9.57.21. 20.40. 12.78. 9.93.21.71.29. % n = length(R_n).40.20. 8. 1.01. 93.45.80.20.29. % R_n = [372.80.73. 9. % the unit is radians % for i = 1 : n-1. % Weight_n = [2. 9.80. 334. 2. 2.91. 223. 9. 9.174*12).80..57.04.20.91. 186.37. 353.06.00.60.19.35.03..56.14.40. 148.60.00. % m_n = Weight_n/(32. 55. 20.60. T_n(i+1)=T_n(i) + m_n(i+1) * R_n(i+1) * R_V1^2.% Radius of the stations are( inch) : [372.20. 62 . 9. det_Bc = 0. 167.04. 74. 84.94. 9.20.60. 111. 9.00. 10.53. 0 ].60.56. 297. 9. 111.46.0 ]. 204. 2. 12. 2.78. 2.80. 9... 334. 55.17.40..40. 241.80. 5. % % Aliminum E_n = 1e7. 12.91. % 9. 10. 9.51..51.06.45. 8. 55.00. 353.40.10.19. 84. 9. % %*************************************************************************************** ** % R_V = 203. 2.94. % R_V1 is in radians T_n(1) = m_n(1) * R_n(1) * R_V1^2. 1. 2.00. % 260. 167. 2..37. 37. 8.17.01. 93. 3. 9.00. % omega = 0.20.03.00.80. % % Segment Weight(lb) : [2. 12.20.51. 1.63 ]..99. 18.97. % 55.00 ]. 316. 74.19.00.00. 2.51.63.29.00.46].95. 5.45. % % Flatwise Ixx(inch. 9.60. 8. 37.73. 9.60. 279.80. 9. 18.53. 297.14.60. % %9.. 2. 4. 223. 1..60.00. % R_V is in RPM R_V1= R_V * pi/30.4) % I_xx = [0.40.. 241. 9. 9. 279. % modeshp =input('How many mode shapes would you like? '). 2. 148.80. 260.. 130. 9.40. 9.51. 130. 186. 316.18. 204. 2. 10.40.18.20. 9.

1.1*modeshp^2*R_V.3). 63 . 0. -(l_sn^3)/(3*EI). %--------------------------------------------------------------for j = 1:n-1. 0. % if k >1. % omega1 is in RPM omega(k) = omega1*2*pi/60. i = 1. 0. s = k-1. l_sn. 0 . l_sn = R_n(j) . l_sn. % G_n=[1. 1]. F = F_n * F.end. 0. det_bc(k) = det(B_c).F(4. % % A_n=[1. F_n) %----------------------------------------------------------------B_c = [ F(3. end.4)]. 1.F(3. % omega(k) is in radians F = eye(4). 0. 0. % end of loo for j --> { l_sn. 0. 1+(T_n(j)*l_sn^2)/(2*EI). -m_n(j+1)*omega(k)^2. -(l_sn^2)/(2*EI). % end of loop for i--> { T_n(i) } disp( ' Centrifugal Force : ' ) disp(T_n(n)) % %*************************************************************************************** k = 1. % EI = E_n * I_xx(j). 1 ]. 0. G_n. -(l_sn^2)/(2*EI).s) < 0 omega_natural(i) = (omega(k) + omega(:. A_n.3). for omega1 = 0 : modeshp^2*R_V/500 : 2.R_n(j+1). % F_n = inv(G_n)*A_n. -T_n(j) 0. % omega(k) is in radians 0. 1.4) . -T_n(j). .s))/2. 0. i = i +1. F(4. -l_sn/EI. 0. EI. 0. if det_bc(k) * det_bc(:. (T_n(j)*l_sn^3)/(3*EI).

% omega_new is in RPM omega_old = -100. % omega_0 is in radians . % %----------------------------------------------------------------% determination of odd or even mode shapes R = rem(count. else display('This is an incorrect mode shape input!') end % end of 'if loop R' % %-----------------------------------------------------------------% % initial values flag = 1. end. det_bcold = 0. slope = -1. if R ==1 slope = 1.end. % k = k+1. omega_n is in RPM omega_new = 100. flag_1 = 1. % 64 . end. omega_n(m) = omega_natural(m)*30/pi. % end of loop for omega1 % %--------------------------------------------------------------------% for m = 1:modeshp.2). elseif R == 0. % %--------------------------------------------------------------------%*************************************************************************************** % for count = 1 : modeshp omega_0 = omega_n(count)*pi/30. % omega_old is in RPM flg_slope = 1. det_bcnew = 0. end.

omega_n is in RPM % %-------------------------------------------------------% if abs(omega_old-omega_new)<1e-10. 1 ]. 0. -(l_sn^2)/(2*EI). omega_n(count) = omega_0*30/pi. 0. F(4.3). F = eye(4). % end of loo for j --> { l_sn. if omega_0 < 0. % omega_0 .3). is in radians 0. 0 . -l_sn/EI. -m_n(j+1)*omega_0^2 0. (T_n(j)*l_sn^3)/(3*EI) 0 1 . G_n. 0. 1+(T_n(j)*l_sn^2)/(2*EI). % EI = E_n * I_xx(j). ].%-----------------------------------------------------------------% while flag == 1. % G_n=[1. -(l_sn^2)/(2*EI). F(3. 0. . 0. EI.4) ]. F(4. l_sn. -T_n(j) . 0.4) .R_n(j+1). % %------------------------------------------------------------if (abs(det_bc)<10000 | abs(omega_old-omega_new)<1e-10). % l_sn = R_n(j) . 1. 1. value make it zero % if real part of natural frequency is negative end % end of if loop omega % %--------------------------------------------------------------for j = 1:n-1. 0. % A_n=[1. F = F_n * F. end. % if loop 1 % omega_0 is in radians. det_bc = det(B_c). F_n) % B_c = [ F(3. A_n. % F_n = inv(G_n)*A_n. 1. omega_0 = 0. l_sn. % if loop 1-a 65 . -T_n(j). -(l_sn^3)/(3*EI). 0. 0 0.

% end of 'if loop 1-b-ii-a % % rearrange the values omega_old = omega_0.') end % end of 'if loop 1-a' % %--------------------------------------------------------% change the initial values flag = 0. omega_0 = omega_new. else % else for if loop 1-b-ii 66 . end.%omega_new is in radians end. else % omega_new is in radians % else for if loop 1-b-i omega_new = omega_0 + (200*pi/30)*slope. % if loop 1-b-ii-a omega_new = omega_0 . omega_0 = omega_new. % elseif for if loop 1-b if abs(det_bcold + det_bc) > abs(det_bc) & det_bcnew == 0.(200*pi/30)*slope. % else % else for if loop 1 %-------------------------------------------------------if flag_1 == 1.(200*pi/30)*slope. det_bcnew = 0. % if loop 1-b-i omega_new = omega_0 .%omega_new is in radians else % else for if loop 1-b-ii-a omega_new = omega_0 + (200*pi/30)*slope. % elseif flag_1 == 2. % omega_new is in radians % end of 'loop if 1-b-i' %---------------------------------------------------% rearrange the values % omega_old = omega_0. det_bcold = det_bc. % if loop 1-b if det_bc > 0. % if loop 1-b-ii if det_bc > 0. flag_1 = 1. flag_1 = 2. det_bcold = 0. det_bcold = det_bc.disp('Warning!! This value of omega may be in error.

0. % end % end of loop for count % *************************************************************************************** % for m= 1 : count % for loop count X_tip = [0 . % end of 'if loop 1-b' % %-------------------------------------------------------------------------end. % end of 'if loop 1-b-ii' omega_0 = (omega_new + omega_old)/2. theta_n(m) . det_bcnew = det_bc. elseif ((det_bc < 0 & det_bcnew > 0) | (det_bc > 0 & det_bcnew < 0)).omega_0 = (omega_new + omega_old)/2. end. 0 .1) = X_tip. det_bcold = det_bc. % elseif for if loop 1-b-ii omega_old = omega_0.and 0 are in radians det_bcnew = det_bc. 67 . 0. %omega_old.2) / B_c(2. 1 ].R_n(j+1). end.1). for j = 1:n-1. -m_n(j+1)*(omega_n(m)*pi/30)^2. F = eye(4). % for loop j % l_sn = R_n(j) . % EI = E_n * I_xx(j). % end of 'if loop 1' %-----------------------------------------------------------------------------end. flag_1 = 0. end % end of 'if loop 1-b-ii' else % else for if loop 1-b if ((det_bc>0 & det_bcnew > 0) | (det_bc<0 & det_bcnew < 0)). X_n(:. % end of 'while loop' % theta_n(count) = -B_c(2. % G_n=[1.new. % if loop 1-b-iii omega_new = omega_0.

title ( ' Flapwise Mode Shapes at Operational Rotational Velocity ' ). A_n. 1. -T_n(j). F = F_n * F. -(l_sn^3)/(3*EI). 0. 1]. 0.:). (T_n(j)*l_sn^3)/(3*EI). 0. hold on end % end of for loop count % %*************************************************************************************** hold off disp('The Natural Frequencies are(cpm): ') disp(omega_n) % disp('The ratio of the Natural Frequency/Rotational Speed is: ') disp(omega_n/R_V) % % End of the Program " Hingeless-Flatwise " 68 . % % A_n=[1.j+1) = F * X_tip. { l_sn. 0. deflection(m. X_n(:. grid on. EI.:)=X_n(4. l_sn. '-'). ylabel ( ' Relative Deflection ' ) . 0. G_n. 0. 0. -(l_sn^2)/(2*EI). F_n) % end of loop for j --> % % get the total deflection at each radial station deflection(m. 1].:). 0.0. 0. -T_n(j). l_sn. -l_sn/EI. % F_n = inv(G_n)*A_n. xlabel ( ' Blade Station (inc)' ) . 0. 1. 1+(T_n(j)*l_sn^2)/(2*EI). figure(2) plot ( R_n. 0. 1. -(l_sn^2)/(2*EI). end.

80. 9. 24.00. 130.. 20. 93. 353.90. 148.03.40..80.. 260. 260. 9. 9. 74.80. 186.30. 27. 148. 55. 93.00.80.60.00.20.D. 111.57. % %Segment Weight(lb) : [2. 186. 223.40. 20.63 ].60. 29. 9. 27.50..00.50.18. 24. 35.^4) : % I_yy = [10. 1. HINGELESS BLADE ABOUT EDGEWISE AXIS clear clc format long %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % MYKELSTAD ANALYSIS % % BASIC PROGRAM % % FOR EDGEWISE % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % TABLE B-1 % % % % BASIC BLADE DATA % % % % H-1 HELICOPTER % % % % 1-1 Planform.73. 9.00. 55. % R_n = [372. % 297.20.60 . 9.14.70.60.80. 37. 204. 20.53.. 316. 150Knot Design % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Radius of the stations from tip to root are(inch) : [372.40. 24.00 ].40.00. 30.40.40. 20. 23.80.00.45.91.80.10.40. 9. 29. 316. % 69 ..30.80. 37. 223. 204. 8. 353. 12.50. 167. 28.20..17.21.01. . 9.60. % 9..56. % hinge(e) = 12.94. 55.20 .. 12. 26. % 20. 26.60.80. 8. % 111.80 .46 ]. 9.29.00.51. 12. 241. 334.78.30.63 .0 ].20. 9. 26.20. 334. 18.19.80. 20. 241.00.37. 9.20.00..60. 297. 167. 279.00.60. 18.00.20.51.. 28.06.00.60.00 . 74. Articulated Blade % % Gross Weight 12000lb. 84..30.625 inches for H-1 Helicopter % % %Edgewise Ixx(inch. 279. 130. 10.40 .

. 9.51... 9.94.0 ]. % RPM (R_V) R_V1 = R_V * pi/30.53. 10. % % n represents the number of the stations(segments). 9.78 . % %======================================================================================= % omega = 0. 10.29. 9.45. 84. 20.63" % %====================================================================================== k = 1. 12. % R_V = 203. (T_n) and radians (R_V1) % % T_n(1) is is the "Centrifugal Force at the TIP" % for i = 1 : n-1. 9.46 . % radians (R_V1) % %====================================================================================== % Calculation of "Centrifugal Force" at the root: %-------------------------------------------------------------------------------------T_n(1) = m_n(1) * R_n(1) * R_V1^2.174*12).03..06. 55.19.. end. 9. i = 1.. 9. % n = length(R_n). 9.37.91.18. 9. % % Aliminum E_n = 1e7.17.. 8. % . % m_n = W_n/(32.. 9. 8.73. det_Bc = 0. 9.51.56. 70 . % modeshp = input('How many mode shapes would you like? '). 9.. T_n(i+1)=T_n(i) + m_n(i+1) * R_n(i+1) * R_V1^2.14.21. % end of loop for i--> { T_n(i) } % disp( ' Centrifugal Force : ' ) disp(T_n(n)) % Displays "Centrifugal Force at r = 12.01.W_n = [2.57.

-T_n(j) 0. 0 . % G_n = [ 1. % F_n = inv(G_n)*A_n. -(l_sn^2)/(2*EI).0001 & det_bc(k) > -0. % RPM (omega_1) omega(k) = omega_1*2*pi/60.4)].0001 % elseif loop (1) omega_natural(i) = omega(k). F_n ) % %---------------------------------------------------------------------------------B_c = [ F(3.3). 0. 0. i = i+1. 0. 1 ].3). 1. -T_n(j) . F(4. %----------------------------------------------------------------------------------for j = 1:n-1. ].1*modeshp^2*R_V. 1. end. 0. 0. 0. % determine length of the segments.F(4. % end of loop for j --> { A_n. 1+(T_n(j)*l_sn^2)/(2*EI). . 1 . 0.% for omega_1 = 0 : modeshp^2*R_V/500 : 2. l_sn. -m_n(j+1)*(omega(k)^2 + R_V1^2). 0.4) . A_n = [ 1. (T_n(j)*l_sn^3)/(3*EI). F = F_n * F. -l_sn/EI. 0 -(l_sn^3)/(3*EI). G_n. 0. 0. det_bc(k) = det(B_c). 1. l_sn = R_n(j) .F(3. l_sn.R_n(j+1). else 71 . -(l_sn^2)/(2*EI). 0 . % % detemine the stiffness EI = E_n * I_yy(j). % %---------------------------------------------------------------------------------%determination of the points and the natural frequencies where det crosses the "0 line" % if det_bc(k) < 0. % radians (omega(k)) F = eye(4).

slope = -1. % end of if (1. end.s))/2. if det_bc(k) * det_bc(:.b) end. % omega_new i in RPM omega_old = -100. i = i +1. if R ==1 slope = 1. omega_n(m) = omega_natural(m)*30/pi.RPM (omega_n) % omega_new = 100. % omega_old is in RPM flg_slope = 1.if k >1.a) s = k-1. end. % end of elseif (1) % k = k+1. % end of if (1. % end of loop for omega_1 % %====================================================================================== % % Sorting and Displaying the "Natural Frequencies" % % Sort and convert the unit of natural frequency to 'cpm' for m = 1:modeshp.2). % if loop (1. elseif R == 0.s) < 0 % if loop (1.b) omega_natural(i) = (omega(k) + omega(:. end. else 72 . % %----------------------------------------------------------------------------------% Determination of odd or even mode shapes % R = rem(count. % % radians (omega_0) .a) end. % end of loop for (m) % %======================================================================================= % for count = 1 : modeshp omega_0 = real(omega_n(count)*pi/30).

0 . -(l_sn^2)/(2*EI). % EI = E_n * I_yy(j).4) . -(l_sn^2)/(2*EI).3). 1+(T_n(j)*l_sn^2)/(2*EI). EI. % end of loo for j --> { l_sn. % %---------------------------------------------------------------------------------% while flag == 1. if omega_0 < 0. 0. F = F_n * F. 73 . -(l_sn^3)/(3*EI). 1. 1 ]. % G_n=[1. A_n. ]. omega_0 = 0. 0. (T_n(j)*l_sn^3)/(3*EI). -l_sn/EI. flag_1 = 1. G_n. 0. l_sn. % F_n = inv(G_n)*A_n.F(3. 0. l_sn.4)]. % if natural frequency is negative. F = eye(4). 0.display('This is an incorrect mode shape input!') end % end of 'if loop R' % %----------------------------------------------------------------------------------% Initial values flag = 1. . . F_n) % B_c = [ F(3. det_bc = det(B_c). 0. make it zero end % end of if loop omega % for j = 1:n-1.R_n(j+1).F(4.3). 0 -T_n(j) 0 1 . % l_sn = R_n(j) . 1. -m_n(j+1)*(omega_0^2 + R_V1^2) 0. . det_bcold = 0. 0. det_bcnew = 0. . F(4. % A_n=[1. -T_n(j) 0. 1. 0. 0. end.

% if loop 1. det_bcnew = 0.b.b if abs(det_bcold + det_bc) > abs(det_bc) & det_bcnew == 0. % end of 'loop if 1.b. omega_0 = omega_new. % if loop 1. % radians (omega_0). % if loop 1 omega_n(count) = omega_0*30/pi.ii. % else % else for if loop 1 % if flag_1 == 1.%------------------------------------------------------------------------------% if (abs(det_bc)<10000 | abs(omega_old-omega_new)<1e-10). end.a 74 . det_bcold = 0.ii if det_bc > 0. flag_1 = 1.b. % if loop 1. disp('Warning!! % if loop 1.i omega_new = omega_0 . % if loop 1.') end % end of 'if loop 1. % elseif for if loop 1. det_bcold = det_bc.i omega_new = omega_0 + (200*pi/30)*slope.b. RPM (omega_n) % if abs(omega_old-omega_new)<1e-10.a' % % change the initial values flag = 0. flag_1 = 2.a This value of omega may be in error.b. % elseif flag_1 == 2. else % radians(omega_new) % else for if loop 1.i' % % Rearrange the values % omega_old = omega_0.b if det_bc > 0.(200*pi/30)*slope.

% According to the equation we can also use as : theta_n(count)= -B_c(2.1) % end % end of loop for 'count' % %====================================================================================== % 75 .ii omega_0 = (omega_new + omega_old)/2.ii omega_old = omega_0.b.iii omega_new = omega_0.2) / B_c(2. det_bcold = det_bc. % end.b.b. end % end of 'if loop 1.b' % end.b. omega_0 = omega_new.ii. det_bcnew = det_bc.% if loop 1.b.b.ii' else % else for if loop 1-b if ((det_bc>0 & det_bcnew > 0) | (det_bc<0 & det_bcnew < 0)).(200*pi/30)*slope. det_bcold = det_bc.omega_new = omega_0 . % end of 'while loop' % theta_n(count) = -B_c(2. % end of 'if loop 1. elseif ((det_bc < 0 & det_bcnew > 0) | (det_bc > 0 & det_bcnew < 0)). end. % end of 'if loop 1. end.a omega_new = omega_0 + (200*pi/30)*slope.% elseif for if loop 1.2)/B_c(2. % end of 'if loop 1' % end. % end of 'if loop 1.b. else % else for if loop 1.ii. det_bcnew = det_bc. else % else for if loop 1.ii' % omega_0 = (omega_new + omega_old)/2. flag_1 = 0.1).a % % Rearrange the values omega_old = omega_0.

-l_sn/EI. 0 0. 1. (T_n(j)*l_sn^3)/(3*EI). 0. '-'). % A_n =[ 1. 0. EI.j+1) = F * X_tip.for m= 1 : count % for loop 'm' X_tip = [0 . -(l_sn^2)/(2*EI). 0. 1. 1 ]. X_n(:. F = eye(4). 2*X_n(4. A_n. 1 ]. -m_n(j+1)*((omega_n(m)*pi/30)^2 0. . . 0.:). theta_n(m) . F_n) % % Get the total deflection at each radial station % deflection(m. 0 . + R_V1^2). % F_n = inv(G_n)*A_n. % EI = E_n * I_yy(j). plot ( R_n.:)=X_n(4. -(l_sn^2)/(2*EI).1) = X_tip. 0. . 0 . grid on. % G_n =[ 1. % for loop 'j' % l_sn = R_n(j) . % end of loop for j --> { l_sn. -(l_sn^3)/(3*EI). G_n. -T_n(j) 1+(T_n(j)*l_sn^2)/(2*EI). F = F_n * F. title ( ' Chordwise Mode Shapes at Operational Rotational Velocity ' ). l_sn. % X_n(:. % end. 1 ]. l_sn. -T_n(j) 0. xlabel ( ' Blade Station (inc)' ) . ylabel ( ' Relative Deflection ' ) . 0 . hold on end % end of for loop count hold off 76 .:). 2*X_n(4. 0. 0. for j = 1:n-1.R_n(j+1). 0.:). '-') %plot ( R_n. 1.

0001. Weight_n(51)= 0.23/50.6/50.00001. % for seg = 2:50 r_n(seg) = r_n(z) . r_n = R. HINGED NONROTATING UNIFORM BLADE TEST clear clc format long %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Test of Hinged Nonrotating Uniform Beam % Corresponding Data Supported-Free Beam % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Uniform blade R = 372 . segment = 372/50. Weight_n(seg) = segment_W. I_xx(1) = segment_I.6.0001. % E_n = 3e7. end.disp('The Natural Frequencies are(cpm): ') disp(omega_n) % disp('The ratio of the Natural Frequency/Rotational Speed is: ') disp(omega_n/R_V) % % end of program “HINGELESS-EDGEWISE” E. % 77 . I_xx(51) = 0. I_xx(seg) = segment_I. z = z+1. segment_I = 238. weight = 316. z = 1.segment. r_n(51) = 0. Ixx = 238.23. segment_W = 316. Weight_n(1) = segment_W.

A_n=[1.174*12). 1 ]. %----------------------------------------------------------------------------------for j = 1:n-1. -m_n(j+1)*omega(k)^2. -T_n(j). % Nonrotating Blade rotational speed should be 0 R_V1= R_V * pi/30. -T_n(j) 0. 78 0. 0.1*modeshp^2*200. omega(k) = omega1*2*pi/60. 0. end. % end of loop for i--> { T_n(i) } disp( ' Centrifugal Force : ' ) disp(T_n(n)) % %*************************************************************************************** k = 1. 0. EI = E_n * I_xx(j). G_n=[1. 1. l_sn. l_sn = r_n(j) . 0. T_n(i+1)=T_n(i) + m_n(i+1) * r_n(i+1) * R_V1^2. % omega1 is in RPM % omega(k) is in radians F = eye(4). 0 . i = 1. 0. % the unit is radians % for i = 1 : n-1. 0. 1. l_sn. % m_n = Weight_n/(32. det_Bc = 0. 0. 1. %************************************************************************************** R_V = 0. for omega1 = 0 :modeshp^2:2. % R_V1 is in radians T_n(1) =0. . % omega = 0. 0.r_n(j+1). .n = length(r_n). modeshp =input('How many mode shapes would you like? '). 0. 0.

F_n = inv(G_n)*A_n. omega_n is in RPM omega_new = 100. omega_n(m) = omega_natural(m)*30/pi. end. A_n. end. % omega_old is in RPM 79 in RPM .3). i = i +1. % end of if (1. end. EI. -(l_sn^2)/(2*EI).F(4. -(l_sn^3)/(3*EI).4)]. -l_sn/EI. % omega_0 is in radians .s) < 0 % if loop (1.F(2. F_n) %---------------------------------------------------------------------------------B_c = [ F(2. else if k >1.a) % end of elseif (1) % k = k+1. F(4. det_bc(k) = det(B_c).a) s = k-1. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for count = 1 : modeshp omega_0 = real(omega_n(count)*pi/30). % end of loo for j --> { l_sn. i = i+1. 1]. %determination of the points and the natural frequencies where det crosses the "0 %line" % if det_bc(k) < 0. end.-(l_sn^2)/(2*EI). % omega_new is omega_old = -100.3).b) % end of if (1. 0.4) . end. 1+(T_n(j)*l_sn^2)/(2*EI).s))/2. if det_bc(k) * det_bc(:.b) omega_natural(i) = (omega(k) + omega(:. % if loop (1. G_n. (T_n(j)*l_sn^3)/(3*EI). F = F_n * F. % end of loop for omega_1 % for m = 1:modeshp.0001 & det_bc(k) > -0.0001 % elseif loop (1) omega_natural(i) = omega(k). end.

. F = eye(4). det_bcold = 0.2). % EI = E_n * I_xx(j). 0. -T_n(j) . % G_n=[1. 1. if omega_0 < 0. if R ==1 slope = 1. 80 0 . 1+(T_n(j)*l_sn^2)/(2*EI). det_bcnew = 0. -(l_sn^2)/(2*EI). 0 0. 0 . -l_sn/EI. 1 ]. slope = -1. flag_1 = 1. 1. is in radians 0. -m_n(j+1)*omega_0^2 0. %----------------------------------------------% while flag == 1. omega_0 = 0. else display('This is an incorrect mode shape input!') end % end of 'if loop R' %---------------------------------------------% initial values flag = 1. l_sn. 0. % % determination of odd or even mode shapes R = rem(count. -T_n(j). 0. 0.% if real part of natural frequency is negative value make it %zero end % end of if loop omega %------------------------------------------for j = 1:n-1. 0. % A_n=[1. elseif R == 0. .r_n(j+1). 1. % l_sn = r_n(j) .flg_slope = 1. % omega_0 . 0. 0. 0. l_sn.

% omega_new is in radians end. % end of 'loop if 1-b-i' % rearrange the values omega_old = omega_0. % F_n = inv(G_n)*A_n. F = F_n * F.-(l_sn^3)/(3*EI). F(2. end. elseif flag_1 == 2. det_bc = det(B_c). F(4. det_bcnew = 0. %--------------------------------------------------------if (abs(det_bc)<100 | abs(omega_old-omega_new)<1e-10). % if loop 1-b if det_bc > 0. % end of loo for j --> { l_sn. -(l_sn^2)/(2*EI). omega_0 = omega_new.') end % end of 'if loop 1-a' %------------------------------% change the initial values flag = 0. 1 ]. % if loop 1-b-i omega_new = omega_0 . omega_n(count) = omega_0*30/pi. F_n) % B_c = [ F(2.3). flag_1 = 2. % if loop 1-b-ii-a omega_new = omega_0 . flag_1 = 1.3).(200*pi/30)*slope. % if loop 1-b-ii if det_bc > 0. % elseif for if loop 1-b if abs(det_bcold + det_bc) > abs(det_bc) & det_bcnew == 0.4) ]. omega_n is in RPM % %-------------------------------if abs(omega_old-omega_new)<1e-10. 81 . A_n. disp('Warning!! % if loop 1-a This value of omega may be in error. F(4. det_bcold = 0. det_bcold = det_bc. % if loop 1 % omega_0 is in radians. else % else for if loop 1 %------------------------------if flag_1 == 1. % omega_new is in radians else % else for if loop 1-b-i omega_new = omega_0 + (200*pi/30)*slope. G_n.4) .(200*pi/30)*slope. EI. (T_n(j)*l_sn^3)/(3*EI).

X_n(:. % end of 'if loop 1-b' %--------------------------------------end. det_bcnew = det_bc. flag_1 = 0. for j = 1:n-1. % end of 'if loop 1-b-ii-a % rearrange the values omega_old = omega_0. end % end of loop for count % ************************************************************************************** % for m= 2 : count % for loop count X_tip = [0 . end. elseif ((det_bc < 0 & det_bcnew > 0) | (det_bc > 0 & det_bcnew < 0)). det_bcold = det_bc. % end of 'if loop 1' %----------------------------------------------------------------------------end.1). end. det_bcold = det_bc.1) = X_tip. theta_n(m) . % if loop 1-b-iii omega_new = omega_0. else % else for if loop 1-b-ii omega_0 = (omega_new + omega_old)/2. omega_0 = omega_new. % for loop j 82 . % end of 'while loop' % theta_n(count) = -B_c(2. end % end of 'if loop 1-b-ii' else % else for if loop 1-b if ((det_bc>0 & det_bcnew > 0) | (det_bc<0 & det_bcnew < 0)). % end of 'if loop 1-b-ii' omega_0 = (omega_new + omega_old)/2. F = eye(4). % omega_new is in radians end. 1 ]. % elseif for if loop 1-b-ii omega_old = omega_0.% omega_new is in radians else % else for if loop 1-b-ii-a omega_new = omega_0 + (200*pi/30)*slope. 0 .2) / B_c(2. % omega_old.new and 0 are in radians det_bcnew = det_bc.

1. 0.:). 83 .j+1) = F * X_tip.:)=X_n(4. l_sn. 1. ylabel ( ' Relative Deflection ' ) .16974.. 0. -T_n(j). 0. xlabel ( ' Blade Station (inc)' ) .:). 1. -0.. 0. % plot ( r_n/r_n(1). F = F_n * F. -m_n(j+1)*(omega_n(m)*pi/30)^2.r_n(j+1). EI.10243. F_n) % % get the total deflection at each radial station deflection(m. A_n.. -T_n(j). -(l_sn^3)/(3*EI).. 0. -l_sn/EI.58594. A_n=[1. (T_n(j)*l_sn^3)/(3*EI).37287. end. '-'). -0. 1. 0. 1]. -(l_sn^2)/(2*EI). X_n(:. hold on end % end of for loop count hold on % The University of Texas Publication uniform beam % Clamped-Free Beams %===================================================================================== Deflection_tx_mod3 = [ 2. l_sn. % G_n=[1. 0. 0.35563. 0. 0.% l_sn = r_n(j) . % end of loop for j --> { l_sn. -0. % EI = E_n * I_xx(j). 1].06189.00000.75558. 2*deflection(m. 0. 0. axis([0 1 -2 2]) title ( ' Hinged Nonrotating Uniform Blade Comparison (50 stations) ' ). 0.45702. 1.. 0. -(l_sn^2)/(2*EI). G_n. 0. 0.6861. 1. grid on. 1+(T_n(j)*l_sn^2)/(2*EI).. F_n = inv(G_n)*A_n. 0.

0. 0.68568.31055.66985. -1..03301.. -1.43920...92728.28859.51046..10452. 0. 0. 1.31238.. 0.. 1. -0. -1.58800..61120.78852. 1.05185. 0].51248. 1. . 0. 0.83483. -0. -1. -0. -0.33573..42680. 0. 0. 0. -0. 0. 1. 1.. .-0.40289.12889.. 1. 0].94753.87992. .38065. 1.07646..37202. -0. .... 0.42619. -1.80877. 1.. 1. 0. 1.39555..92227.. 1. -0.41376.32534. -1. -1. -1. 0.59802.68568. 1.19398. 0. 0.88431..36694.23500..41952. -0.20196.94494. .. -1.02168. . 0...39660. -1. -0.18526.47822.17895.23660.14007..45614. -1.. 1.. 1.03937. 1.77392.27297.10515.01231. -1. -1.50131.. -0.67484. 1. 0.49261...51002. -1. 1.02339. 1.45096. 1. 1. .25365.08559.20236. -1.04750.31485..49475. 0.18727.78975.00000.09222. -0.-0.48203. 1.52869.31600.. 0]. 1. 0..02865.76419. -1. -1.61496... 1. -1..08829. -0.20936.. 0. 0. 0. 84 . 0.. 0. -0. 0. 1. 1.. -0.. -0..45977. -0. -0..72603..36578.03355.21175.88988.. 1. 0.86004. 1..19123.07535... -0.24030.15301. 0.. -0.34322.12774.50549.08340. -1. 0. 0. 1.. -1.... .26103.34247.0... .41931. 0.69544. 0.. 1. 1.. Deflection_tx_mod2 = [2.43871.00139.72480.77980. 0.. -1.63410. -0.31409.04784. 0. -0.30730.87209.. 0. 1. 0. . .0000...82262..34687. -1.. 0. -1. -0. 0. -0. Deflection_tx_mod1 = [2.87841.12305. .84282..40209. 0.00853. 0.07174. .97309. -0.18175.28189.18024.99384.42070.56016. 0.63301. 1.26974.77049. -0.54408. .32324.13068. 1.47707.18130. 0.25670.02451... -0. .. 1. -1. 0. 1.60211...42733. 0.32141.. 0.0000. 1.06449... -1.20901.61764.78359. -0.. %============================================================================== % Clamped-Supported Beam %============================================================================== Deflection_tex_mod1 = [2.05227. 1.26626.67905.96375. 1..96827. 0. 0.00552. 0.

28198.32158.-1.82967. 1. 0..06927.. 0.-1...-0..-1.17711.47775. -1.30845.. 0. 1.-1..59173..-0.41124.. 0.-0..-0.43502.00000.-1.11133.-1. -0. 0].24904. 1.39411.31263.51204. 0.33049.32086.-1.58271.-0.06244. 0]..-0..15633..... x_over_l(q)= x_over_l(w) + 0..-0.-1.. 1.71729.13323...31162... 0].-1.-0.00000.39504..04447... 0. 1.-0..-1.28992...78508.80569. 1.32224.1.06927. 1. 1.09776.08494. w = 51...-0.29160.-1. 1.32106.. 85 . -1..30935.26983.52547.42455. x_over_l(51) = 0.15858. 1.16712.96918.45136..35450..03009.28677. 0.25968...30588.63460..87658. 0..-0. -0.99330.45486..-0..71636.88574.21507.-0.21590.36386.-1.38344.91976.-0.-1.-0.-0.. 0. 0.04596.-0.. -1.32637.72134.21281.40010. 1.10335.11017.06348.84553.58802.-1..59009.. 0.15424.-0...18195.-1.-1..-0..96606.10554...38158. 0. 0.. Deflection_tex_mod3 = [2.. 0.17673..88849. 0.81313. 1..40755.23807..30395.86560. -1..-1.21875.-1.75386.25894.39391.45927.-1.20786.02866.10157. -0.-0..20092.-0. w = w-1..-1.75879.-1..-1.28180.-1. 1.17821.93412. 1.25518. 1..69582.41789.. 0.77300. 1.-1.03085.31068.29988.32640.. 0.-0.-1.18532.-0.03725.-0. 1.21523.32402.90103. 1.-0.. 1..20573. -0.. 0... for q = 50:-1:1.90647.33937.-0.. 0. Deflection_tex_mod2 = [2. 0.-1. 0. -1. -1.10569.51362. -1. 0.35923.32714.-0.28137..-1.-0. 0.59110..39996.-0.02...06060. 0.60968.96112. 1. 0.-1.-0.14631. -1.95356.56162.79450... 0.39742.-0.-0. 0..16950.-1.25980..60318. -0.-0.10789. 1.-1.62295.60415..-0. 0.02863.23500. -0..-0.19951. -1. 0.-0.76897.. 0.-0. 0....-1..18399.68631.-1.66123. 0.30380.. 1. 1. 0. -0.80507.41807.36930....98634. 1.

Deflection_tex_mod3.418206.4. betal_young= [0. end % for i = 1:(com-1).end. end display ( ' According to Hartog the coefficients are: ') disp( a_hartog_compare) display ( ' According to Young and Felgar the coefficients are: ') disp( betal_young_compare) display ( ' According to Our Program the coefficients are: ') 86 . Deflection_tex_mod1. 49. 50.page:432): % "Hinged-free" beam or wing of autogyro may be considered as half a "free-free" beam %for even a-numbers a_hartog = [0. else com = modeshp. plot (x_over_l. compare (i) = omega_n(i)/omega_n(i+1). 'r--') hold on plot (x_over_l. 104. 15. 'm--') hold off disp('The Natural Frequencies are(cpm): ') disp(omega_n) % % % Comparison of the Natural Frequencies: % % HARTOG( Mechanical Vibrations .269730 ]. a_hartog_compare(i) = a_hartog(i) / a_hartog(i+1). Deflection_tex_mod2. % Our Program: if modeshp > 5 com = 5. betal_young_compare(i) = betal_young(i) / betal_young(i+1). 15. 'g--') hold on plot ( x_over_l.964862. 178.0.247697. % % Dana Young: % Second derivative of Clamped-Supported is Free-Supported(hinged). 104. 178 ].

6. I_xx(1) = segment_I.0001.segment. weight = 316. Ixx = 58. I_xx(51) = 0. HINGELESS NONROTATING UNIFORM BLADE TEST clear clc format long %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Hingeless Nonrotating Uniform Blade Comparison % % Corresponding Data is Clamped-Free Beam % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Uniform blade R = 372 . segment_W = 316. segment_I = 58. 87 .23. r_n(51) = 0.1) *100.23/50.0001.6/50. segment = 372/50.00001. end end disp ( 'The Error of the Natural Frequencies(%) ' ) disp ( accuracy) % % end of program "HINGED-TEST" F. Weight_n(51)= 0. accuracy(j) = compare(j) * 100.disp( compare) % for j = 1:(com-1) if betal_young_compare(j) == 0. Weight_n(1) = segment_W. % for seg = 2:50 r_n(seg) = r_n(z) . z = 1. else accuracy (j) = (compare(j) / betal_young_compare(j) . r_n = R.

modeshp =input('How many mode shapes would you like? '). T_n(i+1)=T_n(i) + m_n(i+1) * r_n(i+1) * R_V1^2. %-------------------------------------------------------------------------------for j = 1:n-1. end. omega(k) = omega1*2*pi/60. det_Bc = 0. % R_V1 is in radians T_n(1) = m_n(1) * r_n(1) * R_V1^2. % n = length(r_n). i = 1. Weight_n(seg) = segment_W. EI = E_n * I_xx(j).174*12). % E_n = 3e7.1*modeshp^2*200. end.I_xx(seg) = segment_I. for omega1 = 0 : modeshp^2 : 2. % omega1 is in RPM % omega(k) is in radians F = eye(4).r_n(j+1). z = z+1. 88 . % the unit is radians % for i = 1 : n-1. % m_n = Weight_n/(32. % end of loop for i--> { T_n(i) } disp( ' Centrifugal Force : ' ) disp(T_n(n)) % %************************************************************************************ k = 1. l_sn = r_n(j) . % Operational Velocity should be zero R_V1= R_V * pi/30. %************************************************************************************ R_V = 0. % omega = 0.

(T_n(j)*l_sn^3)/(3*EI). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for count = 1 : modeshp omega_0 = real(omega_n(count)*pi/30). 89 in RPM . 0. if k >1. 1]. 0. 0.G_n=[1.3). -l_sn/EI. end. -(l_sn^3)/(3*EI). end. -T_n(j) 0. G_n. 0. 0. 1. l_sn. -T_n(j). A_n=[1. -(l_sn^2)/(2*EI). F = F_n * F. % omega_new is omega_old = -100. % omega_0 is in radians . l_sn.F(3. omega_n is in RPM omega_new = 100.4) . end. F(4. % omega_old is in RPM flg_slope = 1. -(l_sn^2)/(2*EI). 0 . end. 0. 0.s) < 0 omega_natural(i) = (omega(k) + omega(:. 0. % end of loo for j --> { l_sn. 0. F_n = inv(G_n)*A_n. 0. s = k-1.F(4. det_bc(k) = det(B_c). if det_bc(k) * det_bc(:.3).4)]. end. 1. 1 ]. 0. i = i +1. A_n. . 1. omega_n(m) = omega_natural(m)*30/pi.s))/2. EI. 0. k = k+1. % end of loop for omega1 % for m = 1:modeshp. 1+(T_n(j)*l_sn^2)/(2*EI). F_n) %----------------------------------------------------------------------------------B_c = [ F(3. -m_n(j+1)*omega(k)^2.

omega_0 = 0. % EI = E_n * I_xx(j). % if real part of natural frequency is negative value make it zero end % end of if loop omega %------------------------------------------for j = 1:n-1. det_bcnew = 0. 1. 0. flag_1 = 1. 0. -T_n(j) . 1. . ]. 0. 0 -T_n(j). -(l_sn^2)/(2*EI). if omega_0 < 0. else display('This is an incorrect mode shape input!') end % end of 'if loop R' %---------------------------------------------% initial values flag = 1. F = eye(4). 0. if R ==1 slope = 1.% % determination of odd or even mode shapes R = rem(count.% omega_0 is in radians . -m_n(j+1)*omega_0^2 0. -(l_sn^3)/(3*EI). 1+(T_n(j)*l_sn^2)/(2*EI). 0. l_sn. %----------------------------------------------% while flag == 1.2). . 0. % G_n=[1. -(l_sn^2)/(2*EI). 0 . 1. 0. l_sn. 0. slope = -1. elseif R == 0. % A_n=[1.r_n(j+1). 0. 0. 1 90 . -l_sn/EI. 0 (T_n(j)*l_sn^3)/(3*EI). 1 ]. % l_sn = r_n(j) . det_bcold = 0.

EI. % if loop 1-b-i omega_new = omega_0 . omega_n(count) = omega_0*30/pi. % omega_new is in radians 91 .(200*pi/30)*slope. A_n. % if loop 1 omega_0 is in radians. det_bcold = 0. det_bcnew = 0. flag_1 = 1.3). % end of 'loop if 1-b-i' % rearrange the values omega_old = omega_0. % if loop 1-b-ii-a omega_new = omega_0 .% F_n = inv(G_n)*A_n.4) . else % else for if loop 1 %------------------------------if flag_1 == 1.4) ]. %--------------------------------------------------------if (abs(det_bc)<100 | abs(omega_old-omega_new)<1e-10). F(3. det_bc = det(B_c). % end of loo for j --> { l_sn. % elseif for if loop 1-b if abs(det_bcold + det_bc) > abs(det_bc) & det_bcnew == 0. end. det_bcold = det_bc. % if loop 1-b if det_bc > 0. % omega_new is in radians end. flag_1 = 2. % omega_new is in radians else % else for if loop 1-b-i omega_new = omega_0 + (200*pi/30)*slope.') end % end of 'if loop 1-a' %------------------------------% change the initial values flag = 0.3). % if loop 1-b-ii if det_bc > 0. F = F_n * F. F(4. G_n. elseif flag_1 == 2. F_n) % B_c = [ F(3. omega_n is in RPM % %-------------------------------if abs(omega_old-omega_new)<1e-10. omega_0 = omega_new. F(4. disp('Warning!! % if loop 1-a This value of omega may be in error.(200*pi/30)*slope.

% elseif for if loop 1-b-ii omega_old = omega_0. omega_0 = omega_new. end % end of 'if loop 1-b-ii' else % else for if loop 1-b if ((det_bc>0 & det_bcnew > 0) | (det_bc<0 & det_bcnew < 0)). end. else % else for if loop 1-b-ii omega_0 = (omega_new + omega_old)/2. 1 ]. % if loop 1-b-iii omega_new = omega_0. % end of 'if loop 1-b-ii' omega_0 = (omega_new + omega_old)/2. det_bcold = det_bc. end. elseif ((det_bc < 0 & det_bcnew > 0) | (det_bc > 0 & det_bcnew < 0)). theta_n(m) . % end of 'if loop 1-b-ii-a % rearrange the values omega_old = omega_0. det_bcnew = det_bc. end % end of loop for count % ************************************************************************************* % for m= 1 : count % for loop count X_tip = [0 . % for loop j % 92 . % omega_old.1) = X_tip. for j = 1:n-1. 0 .2) / B_c(2. flag_1 = 0.new and 0 are in radians det_bcnew = det_bc. % end of 'if loop 1' %----------------------------------------------------------------------------end. % end of 'if loop 1-b' %--------------------------------------end. F = eye(4). det_bcold = det_bc. % end of 'while loop' % theta_n(count) = -B_c(2. % omega_new is in radians end. X_n(:.else omega_new % else for if loop 1-b-ii-a = omega_0 + (200*pi/30)*slope.1).

16974. 0. 0. (T_n(j)*l_sn^3)/(3*EI). 0. axis([0 1 -2 2]) title ( ' Hingeless Nonrotating Uniform Blade Comparison (50 stations) ' ). 0. 0.45702. -l_sn/EI... -0. plot ( r_n/r_n(1). 1.78975. 1. -0. -1. 0. A_n=[1. 1]..10243. 1. 0. 0. xlabel ( ' Blade Station (inc)' ) .19398. -1.6861.10515. 1+(T_n(j)*l_sn^2)/(2*EI). X_n(:. -(l_sn^2)/(2*EI). 0. % end of loop for j --> { l_sn. G_n. 0. -0. 1.37287.96375. -m_n(j+1)*(omega_n(m)*pi/30)^2.06189.r_n(j+1). -(l_sn^3)/(3*EI). -1.31055. 0.26974.. 93 . % EI = E_n * I_xx(j). -T_n(j). A_n. F_n) % % get the total deflection at each radial station deflection(m... % G_n=[1. -1. l_sn.. -0. EI. 1.75558.. 0.28189. 0. ylabel ( ' Relative Deflection ' ) . grid on. -1.21175. F_n = inv(G_n)*A_n.31485. 1. l_sn. -1.. -(l_sn^2)/(2*EI).08559.00000. -1. 0.:)=X_n(4.j+1) = F * X_tip. hold on end % end of for loop count hold on % The University of Texas Publication uniform beam % Clamped-Free Beams %===================================================================================== Deflection_tx_mod3 = [ 2. 0. end. 0.:).:). -T_n(j). '-')..l_sn = r_n(j) .58594. 2*deflection(m. -1..-0. F = F_n * F..35563. 0. 1].

-1.36694. 1.49261. -0.32324. ..30730. 1.34247..08829. -0. 1.. 0. 0. -0... Deflection_tx_mod1 = [2. 0..02339..67484.58800. 0. 1. -1.94753. 1..78852..02168. .78359.45486.77392.03301.07535. 0. 0.18130.00552.72480. 1..07174. -0. 0.60318.32534. 0..42070. -1. 0.15301... 0... 1.59802.77980. 0. -1..67905.88988. -0.51046.01231.39660..41376.. 0. 1.04784. 0. 0.. -1..0000. . 1.76419.13068.66985.08340. 0.12305. 0].83483... 0. -0.87841. -1. 1. -0..... 1. 1.47707.40289.07646.43871.38065. 0.12889..18175. 0.61496. -0.61764.02866. 0. 0. 0. 0.45614.18727.77049. 0.50549. . -0..-0. 1. 1.82262. .33573. -0.50131. ...09222.31600.. 1. 0... 1. 0. -0.18024..42680.... 0... 0.. 1.27297. 0. 0. 1.23660..03937.04750. 0]. -1. -0.-0. 0.12774.45977.80877.63301.14007.. 0. 0.49475... 0. 0. 0].52869. 0.06060. 1.92728. 0.88431. 0. . 0. 0.43920. 1.. -1. -1.56016. -0.. . .99384. -1. 0. 1.94494.28859..23500.34322.75386.. -0.36578.05227. 1.0000. 1.. 1. 1. 1.10452. 0.48203.31409.10554. 1.45096.0.69544. -0.. 1..51248. -1.47822..02865.00139. 0.16712. . -1. 0..54408.32141... 0..37202.34687.42733.03355..25670.68568.86004. -0.19123. . 0. 1....63410.20901.60211. -1.87209. 1.30935.31238. 1.21590.. -0..42619.25365.39555. 1. -1. -0. -0.41931.96827. 1.. -0. 0.. -0.72603. -0.26103. -1. 1. .02451. 1..20196.41952. -0.20236. 1.. -0.97309. 1. .40209.92227.90647.87992. 0. 0.51002.17895.. 94 . . 1. 0. Deflection_tx_mod2 = [2.00853.. -0..84282.24030. .18526.. 0. 0. -1. 0. -1. -0. 1.20936. 0.05185.68568.06449. 0. 0.. 1.26626.00000.. 1. %============================================================================== % Clamped-Supported Beam %============================================================================== Deflection_tex_mod1 = [2.61120.

-0. 0. 1.. 0...25894. -0.15858.43502.32158.. -1.45136..26983. Deflection_tex_mod2 = [2..13323. 1.-1. -1. -0..91976..31068...-0. 1...-1..-1. 0. end.-0. for q = 50:-1:1.-0. -0.51204. x_over_l(51) = 0....-1.-1.29988.59009.25518. 0.40010...38344.25980.18195.21281. 0..76897.. -1.28677.32086.-1.60968.. 1...-0.-1.96918.21507.. 'r--') 95 .-1. Deflection_tx_mod3.72134. 0..39391..58802.41807.-0.31263. 1.-1.-0.23500.79450.32402.36930.06348.00000...-1. 1.45927.11017.10335...10157.28180.04596.02863.-1.62295..80569. -1.95356..-1..32714. 1. 0.. 1..33049.42455.. 1.32640.15424.36386.16950..-0.75879.18399. 1.14631.-0.11133.-0.17821..-0.10569.25968.24904.88849. 0.32637.59110..28992. 1. -1.51362.31162..32106.-1.99330.-1..-1.40755.03009. 0.68631.47775.87658.-0.09776. 0.66123.69582.-0.. -0.56162.28137. 1. 1.33937. 0. 0]..-1.-0..86560. -1.-1.-0.-0. 0.00000. 0.-1..-1.-0. 1.. 0.35923.93412.80507.-0.41789.19951.78508.52547.-0.63460. 1.-1.59173.-0..06927...-0..20786. 0. Deflection_tex_mod3 = [2. 0....84553.18532..-1..-1.21523..-0.30588..15633. 1..21875.30845.. 1.-0.-0. 0.28198. -1.77300..96112.71636... 0.88574.60415.. w = 51. 0. -0.39996.-0.39504.-1.-0. 1.30380.-0...-1.58271. 1..-0.. -1.-1.38158.-1.-1. x_over_l(q)= x_over_l(w) + 0.41124.-0..17711.-0.98634.. 0. -1.71729.-0..90103. 0. 0].39411.-0.82967. 1.35450. 0. w = w-1.-0. 0].81313. 1.-1.30395.. 0. 0.-0.-0. -0.-1.96606..23807. 0.20573.10789. 0.-1.17673.-0.-1.32224. 1.20092.02.03725.08494.04447.-1.29160......... 1.-0.39742.06244.06927..03085. plot (x_over_l.

betal_young= [3. % % Dana Young: % Second derivative of Clamped-Supported is Free-Supported(hinged). 22. 22. 61. 200]. compare (i) = omega_n(i)/omega_n(i+1).hold on plot (x_over_l. 121.0. betal_young_compare(i) = betal_young(i) / betal_young(i+1). 120. a_hartog_compare(i) = a_hartog(i) / a_hartog(i+1). Deflection_tx_mod2.034492.0. 199. end display ( ' According to Hartog the coefficients are: ') disp( a_hartog_compare) display ( ' According to Dana Youn the coefficients are: ') disp( betal_young_compare) display ( ' According to Our Program the coefficients are: ') disp( compare) % % for j = 1:(com-1) 96 .859530]. else com = modeshp.page:432): % "Hinged-free" beam or wing of autogyro may be considered as half a "free-free" beam %for even a-numbers a_hartog = [3.5150154.52. % Our Program: if modeshp > 5 com = 5. end % for i = 1:(com-1). 'g--') hold on plot ( x_over_l. Deflection_tx_mod1.7. 61.697214. 'm--') hold off % %================================================================================== % % Comparison of the Natural Frequencies: % % HARTOG( Mechanical Vibrations .901916.

% Last Modified by GUIDE v2.0 05-Sep-2002 13:06:07 if nargin == 0 % LAUNCH GUI fig = openfig(mfilename.'Color'.fig % FIG = FINALTHESIS launch finalthesis GUI. end end disp ( 'The Accuracy of the Natural Frequencies(%) ' ) disp ( accuracy) % % end of program "HINGELESS-TEST" G. % Use system color scheme for figure: set(fig. % Generate a structure of handles to pass to callbacks. handles). .en_popupmenu.[]. else accuracy (j) = (compare(j) / betal_young_compare(j) . %======================================================================== % Call the popup menu callback to initialize the handles. % FINALTHESIS('callback_name'.'reuse').data % Field with the current value of the popup % % (1) Popup Menu "en" en_popupmenu_Callback(handles...handles) 97 . and store it.'defaultUicontrolBackgroundColor')). Call function file of the Gui page function varargout = finalthesis(varargin) % FINALTHESIS Application M-file for finalthesis.if betal_young_compare(j) == 0. accuracy(j) = compare(j) * 100. handles = guihandles(fig). guidata(fig.1) *100. GUI PROGRAMS 1.get(0.) invoke the named callback.

[]. % FEVAL switchyard else feval(varargin{:}).mode shape_popupmenu. % FEVAL switchyard end catch disp(lasterr). end end %| ABOUT CALLBACKS: %| GUIDE automatically appends subfunction prototypes to this file.[].handles) % % (4) Popup Menu "axis" axis_popupmenu_Callback(handles.handles) % % (3) Popup Menu "hinge" hinge_popupmenu_Callback(handles. and %| sets objects' callback properties to call them through the FEVAL 98 .[].hinge_popupmenu.handles) % % (5) Popup Menu "form" form_popupmenu_Callback(handles.handles) % % ======================================================================== if nargout > 0 varargout{1} = fig.axis_popupmenu. end elseif ischar(varargin{1}) % INVOKE NAMED SUBFUNCTION OR CALLBACK try if (nargout) [varargout{1:nargout}] = feval(varargin{:}).form_popupmenu.[].% % (2) Popup Menu "mode shape" mode shape_popupmenu_Callback(handles.

Type "help guihandles" and "help guidata" for more %| information. 'slider2_Callback'. eventdata.'Value'). handles. GUIDE sets the property to: %| <MFILENAME>('<SUBFUNCTION_NAME>'. VARARGIN) %| %| The subfunction name is composed using the object's Tag and the %| callback type separated by '_'.g. guidata(gcbo)) %| Add any extra arguments after the last argument. %| %| EVENTDATA is empty. varargin) % val = get(h. This comment describes that mechanism.figure1. %| %| VARARGIN contains any extra arguments you have passed to the %| callback. By default. handles.slider2. 'axis1_ButtondownFcn'. %| %| HANDLES is a structure containing handles of components in GUI using %| tags as fieldnames. and you can change the structure %| during callbacks. You can store additional information in %| this structure at GUI startup. gcbo. Call guidata(h. %| %| Each callback subfunction declaration has the following form: %| <SUBFUNCTION_NAME>(H. e. Specify the extra arguments by editing the callback %| property in the inspector. HANDLES. handles) after changing your %| copy to replace the stored original so that subsequent callbacks see %| the updates. %| 'figure1_CloseRequestFcn'. e.g. but reserved for future use. % -------------------------------------------------------------------function varargout = en_popupmenu_Callback(h. before the final %| closing parenthesis. A copy of the structure %| is passed to each callback. handles. []. %| %| H is the callback object's handle (obtained using GCBO).%| switchyard above. EVENTDATA. This %| structure is created at GUI startup using GUIHANDLES and stored in %| the figure's application data using GUIDATA. % switch val 99 .

5e7. case 3 % user selected '3 mode shape' modeshp = 3. handles. switch val case 1 % user selected '1 mode shape' modeshp = 1. case 2 % user selected 'composite' E_n = 2e7. varargin) % val = get(h.en = E_n.handles) % Save the handles structure after adding data % % -------------------------------------------------------------------function varargout = mode shape_popupmenu_Callback(h.mode shape = modeshp.'Value').mode shape = modeshp. case 2 % user selected '2 mode shape' modeshp = 2. handles. 100 .en = E_n. case 3 % user selected 'steel' E_n = 3e7. handles.en = E_n. handles. handles. handles.en = E_n.case 1 % user selected 'aliminum' E_n = 1e7. case 4 % user selected 'titanium' E_n = 2. eventdata. handles. end % guidata(h.

handles.mode shape = modeshp.'Value'). eventdata. varargin) % val = get(h.hinge = hinge_option.'Value'). case 5 % user selected '5 mode shape' modeshp = 5. handles.handles. handles. handles. end % guidata(h. varargin) % val = get(h.mode shape = modeshp. case 4 % user selected '4 mode shape' modeshp = 4. end % guidata(h. % switch val case 1 % user selected 'hinged' hinge_option = 1. % 101 . eventdata. handles.handles) % save the handles structure after adding data % % -------------------------------------------------------------------function varargout = axis_popupmenu_Callback(h.handles) % Save the handles structure after adding data % % -------------------------------------------------------------------function varargout = hinge_popupmenu_Callback(h. case 2 % user selected 'hingeless' hinge_option = 2. handles.mode shape = modeshp.hinge = hinge_option.

% switch val case 1 % user selected 'uniform' form_option = 1.switch val case 1 % user selected 'flatwise' axis_option = 1. handles.form = form_option. case 3 % user selected 'coupled' axis_option = 3. case 2 % user selected 'hingeless' form_option = 2.handles) % save the handles structure after adding data % % -------------------------------------------------------------------- 102 . case 2 % user selected 'edgewise' axis_option = 2. handles. handles.form = form_option. handles. varargin) % val = get(h.axis = axis_option. handles. eventdata. end % guidata(h.axis = axis_option.handles) % save the handles structure after adding data % % -------------------------------------------------------------------function varargout = form_popupmenu_Callback(h. end % guidata(h.'Value').axis = axis_option. handles.

weight = weight.radius = R.inertia = I_xx. eventdata. varargin) % weight = str2num(get(h. % guidata(h. varargin) % R_V = str2num(get(h.e = e.'String')). % % -------------------------------------------------------------------function varargout = radius_edit_Callback(h. varargin) % R = str2num(get(h.handles). % guidata(h. handles. handles. % save the handles structure after adding data % % -------------------------------------------------------------------function varargout = e_edit_Callback(h. % % -------------------------------------------------------------------function varargout = weight_edit_Callback(h.handles). handles. handles.'String')). eventdata. handles. varargin) % I_xx = str2num(get(h. handles. % % -------------------------------------------------------------------function varargout = inertia_edit_Callback(h.handles). % guidata(h. handles.rpm = R_V. % guidata(h. varargin) % e = str2num(get(h. eventdata. eventdata. handles.'String')). % 103 .handles). handles.'String')). handles. eventdata. % guidata(h.'String')).function varargout = rpm_edit_Callback(h.handles).

% I_xx = handles. % form_option = handles. % e = handles.'modal') Blade Should Have 0 Hinge-Offset!'.form. % R = handles. eventdata. varargin) % E_n = handles. % hinge_option = handles. % axis_option = handles. eventdata.inertia.mode shape. varargin) % -------------------------------------------------------------------function varargout = ok_pushbutton_Callback(h. % % % R_V = handles. handles. % % %======================================================================================= if hinge_option == 2 & e ~= 0 errordlg('Hingeless Dialog Box'.hinge.' Offset Error . % weight = handles.'modal') Blade Should Have Hinge-Offset else % 104 Value!'.radius.% -------------------------------------------------------------------function varargout = cancel_pushbutton_Callback(h.axis.en. % modeshp = handles.weight. ' Offset Error else % %======================================================================================= if hinge_option == 1 & e == 0 errordlg('Hinged Dialog Box2'.rpm. handles.e.

e.'String'.cpm3_text. hinge_option. str2 = sprintf('%.2f'.'modal') else % %======================================================================================= if R_V < 0 | e < 0 | R < 0 | weight < 0 | I_xx < 0 errordlg('Invalid Input Value'.tn] = operate( E_n.cpm1_text.str3). I_xx ).'Blade Form Input Warning Dialog Box'.ratio.2f'. axis_option.str1). R. set (handles. % value4 = 0.cpm2_text. 'Invalid Input Error Dialog Box'. % value3 = 0. str3 = sprintf('%.'String'. % value2 = 0. value1 = cpm(1). form_option.'modal') Number of Stations Should Match!'.value1).str2). set (handles.value2).'String'. R_V. 105 .%======================================================================================= if length(R) ~= length(weight) | length(R) ~= length(I_xx) | length(weight) ~= length(I_xx) errordlg('The Box'. weight.value3). str1 = sprintf('%. % % % if length(cpm) == 1. set (handles.'modal') else % %======================================================================================= reset(gca) % [cpm.'Input Error Dialog else % %======================================================================================= if form_option == 1 & length(R) >1 warndlg('Use More Than 1 Stations for Only Nonuniform Blades!'.2f'. modeshp.

'String'.cmp4_text.'String'. set (handles.str2).2f'.2f'.str4 = sprintf('%.str1). end %----------------------------------------if length(cpm) == 2.'String'. str1 = sprintf('%. % value2 = cpm(2).'String'. str5 = sprintf('%.str5).cpm5_text. end %----------------------------------------if length(cpm) == 3 value1 = cpm(1). % value3 = 0.value5).value2).2f'.cpm2_text. % value3 = cpm(3). set (handles. % value2 = cpm(2).2f'. set (handles.str3).cpm1_text. % value5 = 0. set (handles. set (handles.value1). str4 = sprintf('%.cpm1_text.cmp4_text.'String'. set (handles. str2 = sprintf('%. % value5 = 0. set (handles.2f'. value1 = cpm(1). set (handles.2f'.'String'.value1).cpm3_text.value3).str5). str1 = sprintf('%.value4).str4).value5). str2 = sprintf('%. str5 = sprintf('%.'String'. 106 .2f'.cpm2_text.'String'.str4).value4).'String'.str2).2f'. set (handles.value2).2f'.cpm5_text. str3 = sprintf('%. % value4 = 0.str1).

str5). % value3 = cpm(3).str3).'String'.str3 = sprintf('%. str4 = sprintf('%. str5 = sprintf('%.2f'.value4).'String'. set (handles. % value5 = 0.2f'.'String'.2f'. str2 = sprintf('%. str5 = sprintf('%. set (handles. str3 = sprintf('%.2f'.value1).str2).cpm1_text.str1).value2).2f'.cmp4_text. 107 .'String'. % value4 = cpm(4). str1 = sprintf('%. % value2 = cpm(2). set (handles. end %-----------------------------------------if length(cpm) == 4 value1 = cpm(1).cmp4_text.str5).cpm5_text.str1). % value2 = cpm(2). set (handles. str1 = sprintf('%. end %-----------------------------------------if length(cpm) == 5 value1 = cpm(1).value1).2f'.value4).'String'. set (handles.str4).value3).2f'.cpm3_text.cpm1_text.str4). set (handles.'String'.cpm3_text. set (handles.value5). set (handles. % value5 = 0.'String'.2f'.'String'. str4 = sprintf('%.cpm5_text.2f'.cpm2_text. % value4 = 0.value5).str3).value3).'String'. set (handles.

str2).'String'. strg5 = sprintf('%. % val4 = 0.2f'.value2).strg2).value4).ratio1_text. str3 = sprintf('%.'String'.'String'.cmp4_text.'String'.ratio4_text.'String'.str2 = sprintf('%. str5 = sprintf('%.2f'.'String'.strg1). set (handles.'String'. % val5 = 0. % val3 = 0. set (handles.ratio3_text. set (handles.val5).'String'.str5). % value5 = cpm(5).cpm3_text.ratio2_text. set (handles.2f'.2f'. strg1 = sprintf('%. str4 = sprintf('%.value5). % value3 = cpm(3).value3). strg3 = sprintf('%.val4). strg2 = sprintf('%. end % %============================================================== if length(ratio) == 1 % val1 = ratio(1).str4). strg4 = sprintf('%.strg4). set (handles. set (handles. set (handles. % value4 = cpm(4).2f'.val3).2f'. set (handles.strg5). end %------------------------------------------- 108 .2f'.cpm5_text.'String'. set (handles.2f'.val1).2f'.cpm2_text.strg3).val2). % val2 = 0.ratio5_text.str3).

val2).ratio3_text. strg3 = sprintf('%. set (handles.val4).val4).2f'.ratio5_text. % val4 = 0.2f'.strg3).'String'.2f'.ratio4_text.ratio4_text. strg2 = sprintf('%.'String'.ratio3_text. strg1 = sprintf('%.2f'. set (handles. strg5 = sprintf('%. strg1 = sprintf('%. % val4 = 0. % val3 = ratio(3). strg3 = sprintf('%. set (handles.val1).ratio1_text.2f'. % val5 = 0. set (handles. % val2 = ratio(2). % val3 = 0.'String'. end %--------------------------------------------if length(ratio) == 3 % val1 = ratio(1). set (handles. set (handles.strg1).strg2).val3).ratio1_text. % val2 = ratio(2).'String'.strg2).2f'.2f'.2f'.strg5).strg4).strg1).'String'. set (handles.if length(ratio) == 2 % val1 = ratio(1). 109 . strg4 = sprintf('%. strg4 = sprintf('%.val1).'String'.ratio2_text. set (handles.val5).strg4).strg3).'String'.val2). set (handles.'String'.val3).'String'.2f'.ratio2_text. strg2 = sprintf('%.

end % %--------------------------------------------if length(ratio) == 4 % val1 = ratio(1). set (handles. set (handles. % val2 = ratio(2).val2).2f'. 110 . strg1 = sprintf('%.strg2).val2).'String'.'String'.val3). % val4 = ratio(4).strg5).% val5 = 0.2f'.2f'.strg4).2f'.ratio5_text. set (handles. set (handles. set (handles.ratio2_text.'String'. strg5 = sprintf('%. % val3 = ratio(3).ratio5_text.2f'.strg2).'String'. strg5 = sprintf('%. strg3 = sprintf('%. strg2 = sprintf('%.strg3). strg2 = sprintf('%.val5).ratio3_text.ratio1_text.2f'. set (handles.strg5).val5).2f'.val4). set (handles.ratio1_text.'String'.val1).'String'.'String'. strg1 = sprintf('%. % val2 = ratio(2). strg4 = sprintf('%.ratio2_text.strg1).strg1). end % %-----------------------------------------if length(ratio) == 5% % val1 = ratio(1). % val5 = 0. set (handles.2f'.'String'.ratio4_text.val1).

'String'.strg3). I_xx) E_n. % %================================================================================ ======= % This function is the main 'Mykelstad Blade Dynamics Analysis' operating function of the gui program of the % %================================================================================ ====== 111 . e.varargout] = operate( axis_option.val5).2f'.strg4).tn.val3).ratio4_text.tn_text.% val3 = ratio(3). weight. form_option.'String'.'String'.strg5).ratio3_text.ratio. set (handles. strg5 = sprintf('%.2f'. strg3 = sprintf('%.value_tn).'String'. set(handles. Operation Function function [cpm.2f'. end % %=================================================================== value_tn = tn. R.strin).2f'. strg4 = sprintf('%. set (handles. hinge_option. set (handles. modeshp.ratio5_text. R_V. % val4 = ratio(4).val4). % val5 = ratio(5). strin = sprintf('%. %=================================================================== end % ifelse for 'hingeless' end % ifelse for 'hinged' end % ifelse for 'inputs' end % ifelse for 'form inputs' end % ifelse for 'invalid inputs' % % end of program "FINALTHESIS" 2.

5.6. end % %----------------------------------------------------------% %^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 112 . end % %***** if isempty(I_xx) I_xx = 2. end % %** if isempty(e) e = 0. end % %**** if isempty(weight) weight = 316. end % %*** if isempty(R) R = 372.% %-------------------------------------------------------------% Assigning the default values of the program: % (All the default values are given for the H-3 Helicopter values with no hinge) % %* %global cpm %global ratio %global tn % if isempty(R_V) R_V = 372.

R_V. % 'coupled' switch hinge_option % switch(3) case 1 [cpm. I_xx).I_xx). modeshp.ratio.I_xx). % switch(1) case 1 % 'uniform' switch axis_option. end % end switch(3) %---------------------- case 2. e. . case 2 % 'hingeless' 113 e.ratio. modeshp. e.tn] = hinged_uniform_edgewise(E_n.ratio. R. R.ratio. % 'edgewise' switch hinge_option % switch(3) case 1 % 'hinged' [cpm. R_V. weight. modeshp. R_V. % switch(2) case 1 % 'flatwise' switch hinge_option % switch(3) case 1 % 'hinged' [cpm. I_xx).ratio. weight. R. e. modeshp.tn] = hinged_uniform_flatwise(E_n. R. R_V. end % end switch(3) %---------------------- case 3. weight. case 2 % 'hingeless' [cpm. case 2 % 'hingeless' [cpm. R.tn] = hingeless_uniform_flatwise(E_n. modeshp. weight. R_V.switch form_option. I_xx).tn] = hingeless_uniform_edgewise(E_n. weight. e.tn] % 'hinged' = hinged_uniform_coupled(E_n.

[cpm,ratio,tn] = hingeless_uniform_coupled(E_n, modeshp, R_V, e, R,
weight, I_xx);
end

% end switch(3)

end

% end switch(2)

%-----------------------

case 2

% ' nonuniform'

switch axis_option;

% switch(2)

case 1

% 'flatwise'

switch hinge_option

% switch(3)

case 1

% 'hinged'

[cpm,ratio,tn] = hinged_nonuniform_flatwise(E_n, modeshp, R_V, e,
R, weight, I_xx);
case 2

% 'hingeless'

[cpm,ratio,tn] = hingeless_nonuniform_flatwise(E_n, modeshp, R_V,
e, R, weight, I_xx);
end

% end switch(3)

%-----------------------

case 2;

% 'edgewise'

switch hinge_option

% switch(3)

case 1

% 'hinged'

[cpm,ratio,tn] = hinged_nonuniform_edgewise(E_n, modeshp, R_V, e,
R, weight, I_xx);
case 2

% 'hingeless'

[cpm,ratio,tn] = hingeless_nonuniform_edgewise(E_n, modeshp, R_V,
e, R, weight, I_xx);
end

% end switch(3)

%------------------------

case 3;

% 'coupled'

switch hinge_option

% switch(3)

case 1

% 'hinged'

114

[cpm,ratio,tn] = hinged_nonuniform_coupled(E_n, modeshp, R_V, e,
R, weight, I_xx);
case 2

% 'hingeless'

[cpm,ratio,tn] = hingeless_nonuniform_coupled(E_n, modeshp, R_V,
e, R, weight, I_xx);
end

% end switch(3)

%------------------------

end

% end switch(2)

end

% end switch(1)

% end of the function "OPERATE"

3.

Hinged Uniform Flatwise Function

function
[omega_n,omega_rate,cent_force,varargout]
modeshp, R_V, e, R, weight,I_xx)

=

hinged_uniform_flatwise(E_n,

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%

This function if for the uniform hinged blades

%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
segment

= R/50;

segment_W

= weight/50;

z

= 1;

r_n(1)

= R;

r_n(51)

= e;

I_x(51)

= 0.0001;

Weight_n(51)= 0.0001;
I_x(1)

= I_xx;

Weight_n(1) = segment_W;
for seg = 2:50
r_n(seg)

= r_n(z) - segment;

if r_n(seg) < e
r_n(seg) = e;
end

115

I_x(seg)

= I_xx;

Weight_n(seg)

= segment_W;

z = z+1;
end;
%
n = length(r_n);
%
m_n = Weight_n/(32.174*12);
%
R_V1= R_V * pi/30;
T_n(1)

% R_V1 is in radians

= 0;

% the unit is radians

%
for i = 1 : n-1,
T_n(i+1)=T_n(i) + m_n(i+1) * r_n(i+1) * R_V1^2;
end; % end of loop for i--> { T_n(i) }
cent_force = T_n(n);
disp( ' Centrifugal Force : ' )
disp(T_n(n))
%
%**************************************************************************************
k = 1;
i = 1;
for omega1 = 0 :modeshp^2:2.1*modeshp^2*200,
omega(k) = omega1*2*pi/60;

% omega1 is in RPM

% omega(k) is in radians

F = eye(4);
%---------------------------------------------------------------------------------for j = 1:n-1,
l_sn = r_n(j) - r_n(j+1);

EI = E_n * I_x(j);
G_n=[1,

0,

0,

-m_n(j+1)*omega(k)^2;

0,

1,

0,

-T_n(j)

0,

0,

1,

0

;

0,

0,

l_sn,

1

];

A_n=[1,
l_sn,

omega(k) is in radians

;

0,

0,

1,

0,

116

0;
-T_n(j);

-(l_sn^2)/(2*EI),

-l_sn/EI,

1+(T_n(j)*l_sn^2)/(2*EI),

-(l_sn^3)/(3*EI), -(l_sn^2)/(2*EI), (T_n(j)*l_sn^3)/(3*EI),

0;
1];

F_n = inv(G_n)*A_n;
F = F_n * F;
end; % end of loo for j --> { l_sn, EI, A_n, G_n, F_n)
%--------------------------------------------------------------------------------B_c = [ F(2,3),F(2,4) ; F(4,3),F(4,4)];
det_bc(k) = det(B_c);

%determination of the points and the natural frequencies where det crosses the "0
%line"
%
if

det_bc(k) < 0.0001 & det_bc(k) > -0.0001 % elseif loop (1)
omega_natural(i) = omega(k);
i = i+1;

else
if k >1,

% if loop (1.a)

s = k-1;
if det_bc(k) * det_bc(:,s) < 0

% if loop (1.b)

omega_natural(i) = (omega(k) + omega(:,s))/2;
i = i +1;
end;
end;
end;

% end of if (1.b)
% end of if (1.a)
% end of elseif (1)

%
k = k+1;
end;

for

% end of loop for omega_1 %

m = 1:modeshp,
omega_n(m) = omega_natural(m)*30/pi;

end;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for count = 1 : modeshp
omega_0 = real(omega_n(count)*pi/30);

% omega_0 is in radians , omega_n is in RPM

omega_new = 100;

% omega_new is

117

in RPM

-T_n(j) . det_bcold = 0. % if real part of natural frequency is negative value make it zero end % end of if loop omega %------------------------------------------for j = 1:n-1. 0. 0. else display('This is an incorrect mode shape input!') end % end of 'if loop R' %---------------------------------------------% initial values flag = 1. if omega_0 < 0. det_bcnew = 0. 1. % G_n=[1. 1. F = eye(4). 0. % A_n=[1. 0.r_n(j+1). elseif R == 0. 0. 0. %----------------------------------------------% while flag == 1. is in radians 0. 0. 1 ]. 0 . % omega_0 . . if R ==1 slope = 1. 0. % EI = E_n * I_x(j).2). omega_0 = 0. -m_n(j+1)*omega_0^2 0. % % determination of odd or even mode shapes R = rem(count. % omega_old is in RPM flg_slope = 1. slope = -1.omega_old = -100. % l_sn = r_n(j) . l_sn. 0 118 . flag_1 = 1.

% omega_new is in radians else % else for if loop 1-b-i omega_new = omega_0 + (200*pi/30)*slope. det_bc = det(B_c). G_n. F = F_n * F. 1+(T_n(j)*l_sn^2)/(2*EI). A_n.4) . elseif flag_1 == 2. %--------------------------------------------------------if (abs(det_bc)<100 | abs(omega_old-omega_new)<1e-10). % if loop 1-b-i omega_new = omega_0 . -(l_sn^2)/(2*EI). omega_0 = omega_new. 0. % elseif for if loop 1-b if abs(det_bcold + det_bc) > abs(det_bc) & det_bcnew == 0. F(4. det_bcnew = 0.4) ].(200*pi/30)*slope. -l_sn/EI. % if loop 1 omega_0 is in radians. end. disp('Warning!! % if loop 1-a This value of omega may be in error. F(2. % end of 'loop if 1-b-i' % rearrange the values omega_old = omega_0.l_sn. % if loop 1-b if det_bc > 0. F(4. flag_1 = 2. -(l_sn^3)/(3*EI). % omega_new is in radians end. else % else for if loop 1 %------------------------------if flag_1 == 1. ]. 0 1 .3). EI. 1-b-ii 119 % if loop . omega_n is in RPM % %-------------------------------if abs(omega_old-omega_new)<1e-10. (T_n(j)*l_sn^3)/(3*EI). omega_n(count) = omega_0*30/pi.3). F_n) % B_c = [ F(2. -T_n(j). -(l_sn^2)/(2*EI). 1.') end % end of 'if loop 1-a' %------------------------------% change the initial values flag = 0. det_bcold = 0. % end of loo for j --> { l_sn. flag_1 = 1. det_bcold = det_bc. % F_n = inv(G_n)*A_n.

1). X_n(:. 120 . % elseif for if loop 1-b-ii omega_old = omega_0. det_bcold = det_bc. end. omega_new % if loop 1-b-ii-a = omega_0 - (200*pi/30)*slope. omega_0 = omega_new. % end of 'while loop' % theta_n(count) = -B_c(2. 1 ]. % end of 'if loop 1' %------------------------------------------------------------------------------end. theta_n(m) . % end of 'if loop 1-b-ii-a % rearrange the values omega_old = omega_0.if det_bc > 0.1) = X_tip. end. elseif ((det_bc < 0 & det_bcnew > 0) | (det_bc > 0 & det_bcnew < 0)). % if loop 1-b-iii omega_new = omega_0. % end of 'if loop 1-b-ii' omega_0 = (omega_new + omega_old)/2. else % else for if loop 1-b-ii omega_0 = (omega_new + omega_old)/2.2) / B_c(2. % omega_new is in is in radians else omega_new % else for if loop 1-b-ii-a = omega_0 + (200*pi/30)*slope. det_bcold = det_bc.new and 0 are in radians det_bcnew = det_bc. 0 . % end of 'if loop 1-b' %--------------------------------------end. end % end of loop for count % *********************************************************************************** % for m= 1 : count % for loop count X_tip = [0 . flag_1 = 0. % omega_old. % omega_new radians end. end % end of 'if loop 1-b-ii' else % else for if loop 1-b if ((det_bc>0 & det_bcnew > 0) | (det_bc<0 & det_bcnew < 0)). det_bcnew = det_bc.

% EI = E_n * I_x(j). -(l_sn^2)/(2*EI). 2*deflection(m.j+1) = F * X_tip. 1. X_n(:. % for loop j % l_sn = r_n(j) . -T_n(j). -(l_sn^3)/(3*EI). F_n = inv(G_n)*A_n. ylabel ( ' Relative Deflection ' ) . 1. 0. 0. 1. G_n. 0. hold on end % end of for loop count hold off disp('The Natural Frequencies are(cpm): ') disp(omega_n) % disp('The ratio of the Natural Frequency to Rotational Speed is: ') disp(omega_n/R_V) omega_rate = omega_n/R_V. end. 0. (T_n(j)*l_sn^3)/(3*EI). 0. grid on. 0. 0. -(l_sn^2)/(2*EI). F = F_n * F. 1].r_n(j+1). -m_n(j+1)*(omega_n(m)*pi/30)^2. plot ( r_n. 0. Mode Shapes at Operational Rotational Velocity for Uniform xlabel ( ' Blade Station (inc)' ) .:). l_sn. title ( ' Flatwise Blade' ). % G_n=[1. -T_n(j). 0.F = eye(4).:). A_n. 0. 0. l_sn. -l_sn/EI. 0. % 121 .:)=X_n(4. % end of loop for j --> { l_sn. for j = 1:n-1. EI. 0. F_n) % % get the total deflection at each radial station deflection(m. A_n=[1. 1+(T_n(j)*l_sn^2)/(2*EI). 0. 1]. '-').

% end of program "HINGED_UNIFORM_FLATWISE" 4.I_xx) = hinged_uniform_edgewise(E_n. 122 .omega_rate. % R_V1= R_V * pi/30. % for seg = 2:50 r_n(seg) = r_n(z) . % n = length(r_n). e. z = 1.segment. end.0001. Weight_n(1) = segment_W.cent_force. T_n(i+1)=T_n(i) + m_n(i+1) * r_n(i+1) * R_V1^2. % m_n = Weight_n/(32.0001. end I_x(seg) Weight_n(seg) = I_xx. if r_n(seg) < e r_n(seg) = e. z = z+1. I_x(1) = I_xx. % R_V1 is in radians % the unit is radians % for i = 1 : n-1. r_n(1) = R. R_V. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This function if for the uniform hinged blades % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % segment = R/50.174*12). Hinged Uniform Edgewise Function function [omega_n. segment_W = weight/50. weight. I_x(51) = 0. Weight_n(51)= 0. R. r_n(51) = e.varargout] modeshp. T_n(1) = 0. = segment_W.

EI = E_n * I_x(j). 1. 0. l_sn. -(l_sn^3)/(3*EI).3). EI. omega(k) = omega1*2*pi/60. %------------------------------------------------------------------------for j = 1:n-1. 0. -T_n(j). F = F_n * F. 1+(T_n(j)*l_sn^2)/(2*EI). % end of loop for i--> { T_n(i) } cent_force = T_n(n).1*modeshp^2*200. 1]. 0.r_n(j+1). 0. -T_n(j) . det_bc(k) = det(B_c). 1 ]. l_sn. disp( ' Centrifugal Force : ' ) disp(T_n(n)) % %********************************************************************************** k = 1. G_n. -(l_sn^2)/(2*EI).4)]. if det_bc(k) < 0.0001 & det_bc(k) > -0. 0. A_n. 1. for omega1 = 0 :modeshp^2:2. omega(k) is in radians 0. 0. F(4. 0 . 0. 0. 1. 0.3). (T_n(j)*l_sn^3)/(3*EI).4) . 0.0001 % elseif loop (1) 123 % . 0.F(4. 0. -m_n(j+1)*(omega(k)^2 + R_V1^2).F(2. i = 1. -(l_sn^2)/(2*EI). end. l_sn = r_n(j) .end. % omega1 is in RPM % omega(k) is in radians F = eye(4). G_n=[1. -l_sn/EI. A_n=[1. F_n = inv(G_n)*A_n. % end of loop for j --> { l_sn. F_n) %-------------------------------------------------------------------------B_c = [ F(2.

% % determination of odd or even mode shapes R = rem(count. if R ==1 slope = 1. if det_bc(k) * det_bc(:. % omega_0 is in radians . % end of if (1. elseif R == 0. % end of elseif (1) % k = k+1.a) s = k-1. i = i+1.s) < 0 % if loop (1. % omega_old is in RPM flg_slope = 1. % omega_new is omega_old = -100.b) omega_natural(i) = (omega(k) + omega(:. % end of loop for omega_1 % for m = 1:modeshp. end.a) end. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for count = 1 : modeshp omega_0 = real(omega_n(count)*pi/30).2).s))/2. end. % if loop (1. else display('This is an incorrect mode shape input!') end % end of 'if loop R' %---------------------------------------------% initial values flag = 1. omega_n(m) = omega_natural(m)*30/pi. slope = -1.b) end. else if k >1. 124 in RPM . % end of if (1. end. i = i +1.omega_natural(i) = omega(k). omega_n is in RPM omega_new = 100.

0. ]. % l_sn = r_n(j) .4) ]. 1 -(l_sn^2)/(2*EI). . A_n. -(l_sn^2)/(2*EI). 0. F = F_n * F. l_sn. omega_0 = 0. % if loop 1-a 125 . -l_sn/EI. omega_n(count) = omega_0*30/pi. if omega_0 < 0. l_sn. 0.flag_1 = 1. % G_n=[1. . -m_n(j+1)*(omega_0^2 + R_V1^2) 0. det_bc = det(B_c). 0 (T_n(j)*l_sn^3)/(3*EI). F(4. 1+(T_n(j)*l_sn^2)/(2*EI). det_bcold = 0. . -(l_sn^3)/(3*EI). -T_n(j) 0. % F_n = inv(G_n)*A_n.4) . 1. 0. 0. . %----------------------------------------------% while flag == 1. % EI = E_n * I_x(j). 1 ]. 1. G_n.3). % A_n=[1. 0. omega_n is in RPM % %-------------------------------if abs(omega_old-omega_new)<1e-10. make it zero % if real part of natural frequency is negative value end % end of if loop omega %------------------------------------------for j = 1:n-1. EI. % if loop 1 % omega_0 is in radians. F = eye(4).3). %--------------------------------------------------------if (abs(det_bc)<100 | abs(omega_old-omega_new)<1e-10). F_n) % B_c = [ F(2. det_bcnew = 0.r_n(j+1). 0. 0. -T_n(j). % end of loo for j --> { l_sn. F(2. end. 1. 0 0. F(4. 0 .

det_bcold = det_bc. end % end of 'if loop 1-b-ii' else % else for if loop 1-b 126 .%omega_new is in radians else % else for if loop 1-b-ii-a omega_new = omega_0 + (200*pi/30)*slope. % if loop 1-b-ii if det_bc > 0. elseif flag_1 == 2. % elseif for if loop 1-b if abs(det_bcold + det_bc) > abs(det_bc) & det_bcnew == 0. det_bcnew = 0. det_bcold = det_bc. % if loop 1-b if det_bc > 0.%omega_new is in radians end. omega_0 = omega_new. % end of 'loop if 1-b-i' % rearrange the values omega_old = omega_0. flag_1 = 1. det_bcold = 0.') end % end of 'if loop 1-a' %------------------------------% change the initial values flag = 0. % omega_new is in radians end. flag_1 = 2. % omega_new is in radians else % else for if loop 1-b-i omega_new = omega_0 + (200*pi/30)*slope. omega_0 = omega_new.(200*pi/30)*slope. % if loop 1-b-ii-a omega_new = omega_0 . else % else for if loop 1-b-ii omega_0 = (omega_new + omega_old)/2. % end of 'if loop 1-b-ii-a % rearrange the values omega_old = omega_0.new and 0 are in radians det_bcnew = det_bc. flag_1 = 0. % omega_old.(200*pi/30)*slope. else % else for if loop 1 %------------------------------if flag_1 == 1. % if loop 1-b-i omega_new = omega_0 .disp('Warning!! This value of omega may be in error.

det_bcold = det_bc. -m_n(j+1)*((omega_n(m)*pi/30)^2 + R_V1^2). 0. % end of 'while loop' % theta_n(count) = -B_c(2. 127 0. % end of 'if loop 1-b' %--------------------------------------end. 0. % EI = E_n * I_x(j). end. X_n(:. % elseif for if loop 1-b-ii omega_old = omega_0. -(l_sn^3)/(3*EI).r_n(j+1). for j = 1:n-1. 0. 1]. -(l_sn^2)/(2*EI). l_sn. 0. . 0. elseif ((det_bc < 0 & det_bcnew > 0) | (det_bc > 0 & det_bcnew < 0)). % end of 'if loop 1' %------------------------------------------------------------------------------end. 0. end % end of loop for count % ********************************************************************************** % for m= 1 : count % for loop count X_tip = [0 . 1]. 0. 0. % for loop j % l_sn = r_n(j) . det_bcnew = det_bc.2) / B_c(2. % end of 'if loop 1-b-ii' omega_0 = (omega_new + omega_old)/2. 1. 1. 0 . -(l_sn^2)/(2*EI). 0. 0. 0.1). end. 1. 1+(T_n(j)*l_sn^2)/(2*EI). % G_n=[1. 1 ].1) = X_tip. -T_n(j). theta_n(m) . F = eye(4). 0. % if loop 1-b-iii omega_new = omega_0.if ((det_bc>0 & det_bcnew > 0) | (det_bc<0 & det_bcnew < 0)). -l_sn/EI. (T_n(j)*l_sn^3)/(3*EI). A_n=[1. 0. -T_n(j). l_sn.

0001. hold on end % end of for loop count % disp('The Natural Frequencies are(cpm): ') disp(omega_n) % disp('The ratio of the Natural Frequency to Rotational Speed is: ') disp(omega_n/R_V) omega_rate = omega_n/R_V. R. '-').omega_rate. r_n(1) = R. r_n(51) = 0.F_n = inv(G_n)*A_n. ylabel ( ' Relative Deflection ' ) . F_n) % % get the total deflection at each radial station deflection(m.:)=X_n(4. X_n(:. Hingeless Uniform Flatwise Function function [omega_n.varargout] modeshp. z = 1. % % end of function "HINGED_UNIFORM_EDGEWISE" 5.:). xlabel ( ' Blade Station (inc)' ) . I_x(1) = I_xx.cent_force. R_V.0001. end. A_n. G_n.:).j+1) = F * X_tip. Weight_n(1) = segment_W. I_x(51) = 0.I_xx) = hingeless_uniform_flatwise(E_n. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This function if for the uniform hingeless blades %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% segment = R/50. EI. weight. title ( ' Chordwise Mode Shapes at Operational Rotational Velocity for Uniform Blade' ). %end of loop for j --> { l_sn. segment_W = weight/50. plot ( r_n. e. 128 % . grid on. 2*deflection(m. Weight_n(51)= 0. F = F_n * F.

174*12). %---------------------------------------------------------------------------------for j = 1:n-1. l_sn = r_n(j) . = segment_W. for seg = 2:50 r_n(seg) = r_n(z) . i = 1. z = z+1. T_n(1) % R_V1 is in radians = 0. % end of loop for i--> { T_n(i) } % cent_force = T_n(n).1*modeshp^2*200. % omega1 is in RPM % omega(k) is in radians F = eye(4). EI = E_n * I_x(j). disp( ' Centrifugal Force : ' ) disp(T_n(n)) % %************************************************************************************** k = 1.segment. T_n(i+1)=T_n(i) + m_n(i+1) * r_n(i+1) * R_V1^2. % m_n = Weight_n/(32. end. 129 . end. for omega1 = 0 :modeshp^2:2. omega(k) = omega1*2*pi/60. % the unit is radians % for i = 1 : n-1. % n = length(r_n). end I_x(seg) Weight_n(seg) = I_xx.r_n(j+1).e = 0. if r_n(seg) < 0 r_n(seg) = e. % R_V1= R_V * pi/30.

-(l_sn^3)/(3*EI). F_n) %--------------------------------------------------------------------------------B_c = [ F(3. end. i = i +1. 1+(T_n(j)*l_sn^2)/(2*EI). -T_n(j) 0. end. EI. -(l_sn^2)/(2*EI).a) s = k-1.b) % end of if (1. else if k >1. i = i+1. if det_bc(k) * det_bc(:. 0. .0001 % elseif loop (1) omega_natural(i) = omega(k). 0. 0. end.0001 & det_bc(k) > -0. -(l_sn^2)/(2*EI). -T_n(j). % omega(k) is in radians 0.F(4. A_n. 1. (T_n(j)*l_sn^3)/(3*EI). 0. % end of loo for j --> { l_sn.4)]. % if loop (1. 0. -l_sn/EI.4) . 1. 0. 1]. F_n = inv(G_n)*A_n.b) omega_natural(i) = (omega(k) + omega(:. %determination of the points and the natural frequencies where det crosses the "0 %line" % if det_bc(k) < 0. end. F(4. % end of if (1.F(3. 0. % end of loop for omega_1 % 130 . G_n. l_sn. det_bc(k) = det(B_c).G_n=[1.s) < 0 % if loop (1. 1. -m_n(j+1)*omega(k)^2. 0. l_sn. end.3). 1 ].a) % end of elseif (1) % k = k+1. 0 . A_n=[1. 0.s))/2. 0. 0. F = F_n * F.3).

for m = 1:modeshp. if R ==1 slope = 1. det_bcold = 0. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for count = 1 : modeshp omega_0 = real(omega_n(count)*pi/30). flag_1 = 1.2).r_n(j+1). elseif R == 0. end. omega_n(m) = omega_natural(m)*30/pi. F = eye(4). omega_0 = 0. 131 . if omega_0 < 0. % omega_new is omega_old = -100. % if real part of natural frequency is negative value make it zero end % end of if loop omega %------------------------------------------for j = 1:n-1. % omega_0 is in radians . % EI = E_n * I_x(j). else display('This is an incorrect mode shape input!') end % end of 'if loop R' %---------------------------------------------% initial values flag = 1. % % determination of odd or even mode shapes R = rem(count. % omega_old is in RPM in RPM flg_slope = 1. slope = -1. %----------------------------------------------% while flag == 1. det_bcnew = 0. % l_sn = r_n(j) . omega_n is in RPM omega_new = 100.

F = F_n * F. F(4. det_bcold = 0. 0 . % F_n = inv(G_n)*A_n. % if loop 1-b if det_bc > 0. omega_n is in RPM % %-------------------------------if abs(omega_old-omega_new)<1e-10.4) ]. -T_n(j) . A_n. 1. -(l_sn^3)/(3*EI). % omega_new is in radians else % else for if loop 1-b-i omega_new = omega_0 + (200*pi/30)*slope. % end of 'loop if 1-b-i' 132 . -T_n(j). %--------------------------------------------------------if (abs(det_bc)<100 | abs(omega_old-omega_new)<1e-10). 0. -(l_sn^2)/(2*EI). -(l_sn^2)/(2*EI).% G_n=[1. 0 0. 0.') end % end of 'if loop 1-a' %------------------------------% change the initial values flag = 0. % if loop 1-b-i omega_new = omega_0 . 0. flag_1 = 1. 1+(T_n(j)*l_sn^2)/(2*EI). % if loop 1 % omega_0 is in radians. % end of loo for j --> { l_sn. EI. l_sn. 0.(200*pi/30)*slope. 0. 1. -m_n(j+1)*omega_0^2 . (T_n(j)*l_sn^3)/(3*EI). omega_n(count) = omega_0*30/pi. F_n) % B_c = [ F(3. l_sn. det_bc = det(B_c). else % else for if loop 1 %------------------------------if flag_1 == 1.3). F(4. 0. -l_sn/EI. . F(3. 0.4) . % A_n=[1. det_bcnew = 0. % omega_new is in radians end. 0. 1 ]. 0 . disp('Warning!! % if loop 1-a This value of omega may be in error. 1. end. 1 ]. % omega_0 is in radians 0. G_n. 0.3).

% omega_new is in radians else % else for if loop 1-b-ii-a omega_new = omega_0 + (200*pi/30)*slope. % if loop 1-b-iii omega_new = omega_0. % end of 'if loop 1-b-ii' omega_0 = (omega_new + omega_old)/2. omega_0 = omega_new. % if loop 1-b-ii-a omega_new = omega_0 .new and 0 are in radians det_bcnew = det_bc. flag_1 = 2. % elseif for if loop 1-b if abs(det_bcold + det_bc) > abs(det_bc) & det_bcnew == 0. % end of 'if loop 1-b-ii-a % rearrange the values omega_old = omega_0. det_bcold = det_bc. elseif flag_1 == 2. else % else for if loop 1-b-ii omega_0 = (omega_new + omega_old)/2. elseif ((det_bc < 0 & det_bcnew > 0) | (det_bc > 0 & det_bcnew < 0)).% rearrange the values omega_old = omega_0. end. flag_1 = 0. det_bcold = det_bc. % omega_new is in radians end. end % end of 'if loop 1-b-ii' else % else for if loop 1-b if ((det_bc>0 & det_bcnew > 0) | (det_bc<0 & det_bcnew < 0)). % end of 'if loop 1-b' %--------------------------------------end. end. % end of 'if loop 1' %------------------------------------------------------------------------------- 133 .(200*pi/30)*slope. % if loop 1-b-ii if det_bc > 0. det_bcold = det_bc. % omega_old. omega_0 = omega_new. det_bcnew = det_bc. % elseif for if loop 1-b-ii omega_old = omega_0.

X_n(:. 0. % EI = E_n * I_x(j). F = eye(4). 0. F_n) % % get the total deflection at each radial station deflection(m. F = F_n * F. 2*deflection(m.1) = X_tip. -T_n(j). A_n. % end of loop for j --> { l_sn. -(l_sn^2)/(2*EI). EI. end.end. -T_n(j). X_n(:. 1]. 0. l_sn. % for loop j % l_sn = r_n(j) . 0. theta_n(m) . G_n. end % end of loop for count % *********************************************************************************** % for m= 1 : count % for loop count X_tip = [0 .2) / B_c(2. 0. for j = 1:n-1. l_sn. -l_sn/EI. 0 . 1. 0. ylabel ( ' Relative Deflection ' ) . hold on 134 . -m_n(j+1)*(omega_n(m)*pi/30)^2. -(l_sn^3)/(3*EI). 1]. 0.r_n(j+1). F_n = inv(G_n)*A_n. 0. Mode Shapes at Operational Rotational Velocity for Uniform xlabel ( ' Blade Station (inc)' ) . % G_n=[1. grid on title ( ' Flatwise Blade' ). 0.:). 0. 0. 1. '-'). (T_n(j)*l_sn^3)/(3*EI). 1 ]. 0. 0. 1. -(l_sn^2)/(2*EI). A_n=[1.1). plot ( r_n.:)=X_n(4.j+1) = F * X_tip.:). % end of 'while loop' % theta_n(count) = -B_c(2. 1+(T_n(j)*l_sn^2)/(2*EI). 0.

% % end of program “Hingeless Uniform Flatwise” 6.varargout] modeshp.I_xx) = hingeless_uniform_edgewise(E_n. z = z+1. r_n(1) = R. I_x(51) = 0. for seg = 2:50 r_n(seg) = r_n(z) . R. z = 1.0001. Hingeless Uniform Edgewise Function function [omega_n. % 135 . = segment_W.0001. segment_W = weight/50. Weight_n(51)= 0. if r_n(seg) < 0 r_n(seg) = 0.cent_force. Weight_n(1) = segment_W.omega_rate.end % end of for loop count hold off disp('The Natural Frequencies are(cpm): ') disp(omega_n) % disp('The ratio of the Natural Frequency to Rotational Speed is: ') disp(omega_n/R_V) % omega_rate = omega_n/R_V. r_n(51) = 0. e. I_x(1) = I_xx. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This function if for the uniform hingeless blades % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % segment = R/50.segment. end. end I_x(seg) Weight_n(seg) = I_xx. R_V. weight.

0. % omega1 is in RPM % omega(k) is in radians F = eye(4). A_n=[1.174*12). 0. T_n(i+1)=T_n(i) + m_n(i+1) * r_n(i+1) * R_V1^2. l_sn. EI = E_n * I_x(j). %-------------------------------------------------------------------for j = 1:n-1. disp( ' Centrifugal Force : ' ) disp(T_n(n)) % %******************************************************************************* k = 1. % . 136 0. % end of loop for i--> { T_n(i) } % cent_force = T_n(n). 0. l_sn. T_n(1) % R_V1 is in radians = 0. omega(k) is in radians 0. 0 . 0. 1. l_sn = r_n(j) . -T_n(j). 0. 0. % R_V1= R_V * pi/30. 0. end. G_n=[1. 1 ]. for omega1 = 0 :modeshp^2:2. 1. i = 1. 0. -m_n(j+1)*(omega(k)^2 + R_V1^2). 1. 0.r_n(j+1). omega(k) = omega1*2*pi/60.1*modeshp^2*200. % m_n = Weight_n/(32. 0. -T_n(j) .n = length(r_n). % the unit is radians % for i = 1 : n-1.

a) % end of elseif (1) % k = k+1. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for count = 1 : modeshp omega_0 = real(omega_n(count)*pi/30).4)]. if det_bc(k) * det_bc(:. F(4. end.0001 % elseif loop (1) omega_natural(i) = omega(k). omega_n(m) = omega_natural(m)*30/pi. F_n) %-------------------------------------------------------------------------B_c = [ F(3.s) < 0 % if loop (1. %determination of the points and the natural frequencies where det crosses the "0 %line" % if det_bc(k) < 0.b) omega_natural(i) = (omega(k) + omega(:. G_n. i = i +1. 0. -(l_sn^3)/(3*EI).3). end.4) .F(3. % omega_0 is in radians . end.F(4. -(l_sn^2)/(2*EI). F = F_n * F. omega_n is in RPM 137 . else if k >1. end. % end of loo for j --> { l_sn.s))/2. -l_sn/EI. % end of if (1. i = i+1. end. 1].a) s = k-1. EI.-(l_sn^2)/(2*EI).b) % end of if (1.3). 1+(T_n(j)*l_sn^2)/(2*EI). end. % if loop (1. A_n. F_n = inv(G_n)*A_n.0001 & det_bc(k) > -0. (T_n(j)*l_sn^3)/(3*EI). det_bc(k) = det(B_c). % end of loop for omega_1 % % for m = 1:modeshp.

omega_new = 100. omega_0 = 0. . 0. % % determination of odd or even mode shapes R = rem(count. else display('This is an incorrect mode shape input!') end % end of 'if loop R' %---------------------------------------------% initial values flag = 1. 138 0 . det_bcold = 0. 0 . if omega_0 < 0. flag_1 = 1. % EI = E_n * I_x(j). det_bcnew = 0. %----------------------------------------------% while flag == 1. % if real part of natural frequency is negative value make it zero end % end of if loop omega %------------------------------------------for j = 1:n-1. % omega_old is in RPM flg_slope = 1. slope = -1. 0. % l_sn = r_n(j) . if R ==1 slope = 1. . l_sn. % G_n=[1. % A_n=[1. 0. % omega_new is in RPM omega_old = -100.r_n(j+1).2). 1. -m_n(j+1)*(omega_0^2 + R_V1^2) 0. 0. -T_n(j) 0. 1. 0. . 0. elseif R == 0. 0. F = eye(4). 1 ]. 0.

-(l_sn^2)/(2*EI). det_bcnew = 0. G_n. omega_n(count) = omega_0*30/pi. F = F_n * F.(200*pi/30)*slope. 1+(T_n(j)*l_sn^2)/(2*EI). flag_1 = 2.4) . -T_n(j). -l_sn/EI. det_bc = det(B_c). F(4. flag_1 = 1. elseif flag_1 == 2. F(4.') end % end of 'if loop 1-a' %------------------------------% change the initial values flag = 0. -(l_sn^2)/(2*EI). else % else for if loop 1 %------------------------------if flag_1 == 1. 0. det_bcold = 0. -(l_sn^3)/(3*EI). %--------------------------------------------------------if (abs(det_bc)<100 | abs(omega_old-omega_new)<1e-10). % end of 'loop if 1-b-i' % rearrange the values omega_old = omega_0. % omega_new is in radians end. ]. % if loop 1 omega_0 is in radians. (T_n(j)*l_sn^3)/(3*EI). % F_n = inv(G_n)*A_n. % if loop 1-b if det_bc > 0. det_bcold = det_bc.l_sn. 0 1 . % elseif for if loop 1-b if abs(det_bcold + det_bc) > abs(det_bc) & det_bcnew == 0. F(3. EI.3). disp('Warning!! % if loop 1-a This value of omega may be in error.4) ]. % if loop 1-b-ii-a 139 % . % end of loo for j --> { l_sn. % if loop 1-b-i omega_new = omega_0 . omega_n is in RPM %-------------------------------if abs(omega_old-omega_new)<1e-10. F_n) % B_c = [ F(3. end. % if loop 1-b-ii if det_bc > 0. omega_0 = omega_new.3). A_n. % omega_new is in radians else % else for if loop 1-b-i omega_new = omega_0 + (200*pi/30)*slope. 1.

X_n(:. end % end of 'if loop 1-b-ii' else % else for if loop 1-b if ((det_bc>0 & det_bcnew > 0) | (det_bc<0 & det_bcnew < 0)). end % end of loop for count % ******************************************************************************* % for m= 1 : count % for loop count X_tip = [0 . % if loop 1-b-iii omega_new = omega_0. 1 ]. det_bcnew = det_bc. 0 . % elseif for if loop 1-b-ii omega_old = omega_0. 140 .omega_new = omega_0 . % omega_new is in radians else omega_new % else for if loop 1-b-ii-a = omega_0 + (200*pi/30)*slope. det_bcold = det_bc.1) = X_tip.1). % end of 'if loop 1' %-------------------------------------------------------------------end. end. det_bcold = det_bc.2) / B_c(2.(200*pi/30)*slope.new and 0 are in radians det_bcnew = det_bc. % omega_old. flag_1 = 0. F = eye(4). % end of 'if loop 1-b' %--------------------------------------end. elseif ((det_bc < 0 & det_bcnew > 0) | (det_bc > 0 & det_bcnew < 0)). theta_n(m) . % omega_new is in radians end. else % else for if loop 1-b-ii omega_0 = (omega_new + omega_old)/2. end. % end of 'if loop 1-b-ii' omega_0 = (omega_new + omega_old)/2. % end of 'while loop' % theta_n(count) = -B_c(2. omega_0 = omega_new. % end of 'if loop 1-b-ii-a % rearrange the values omega_old = omega_0.

plot ( r_n. -(l_sn^2)/(2*EI). 2*deflection(m. X_n(:. 0. % for loop j % l_sn = r_n(j) . 0. -T_n(j). 0.:). -T_n(j). F = F_n * F. 0. 0. 0. 0. '-').j+1) = F * X_tip. -(l_sn^3)/(3*EI). 0. ylabel ( ' Relative Deflection ' ) . EI. hold on end % end of for loop count % disp('The Natural Frequencies are(cpm): ') disp(omega_n) % disp('The ratio of the Natural Frequency to Rotational Speed is: ') disp(omega_n/R_V) omega_rate = omega_n/R_V. 1. grid on. % EI = E_n * I_x(j). 1]. end. 0. A_n. title ( ' Chordwise Mode Shapes at Operational Rotational Velocity for Uniform Blade' ).:)=X_n(4. l_sn. l_sn. A_n=[1. -(l_sn^2)/(2*EI). 1.for j = 1:n-1. 0. 0. 1+(T_n(j)*l_sn^2)/(2*EI). xlabel ( ' Blade Station (inc)' ) . (T_n(j)*l_sn^3)/(3*EI).r_n(j+1). 0. % % end of function "HINGELESS_UNIFORM_EDGEWISE" 141 . % G_n=[1. 0. -m_n(j+1)*((omega_n(m)*pi/30)^2 + R_V1^2). % end of loop for j --> { l_sn. G_n. 1. 1].:). F_n = inv(G_n)*A_n. F_n) % % get the total deflection at each radial station deflection(m. -l_sn/EI. 0.

= segment_W.cent_force. r_n(1) = R. if r_n(seg) < 0 r_n(seg) = 0. r_n(51) = 0.7. Weight_n(1) = segment_W. for seg = 2:50 r_n(seg) = r_n(z) .omega_rate. z = z+1. % R_V1= R_V * pi/30. segment_W = weight/50. Weight_n(51)= 0.0001.segment. I_x(51) = 0. z = 1. I_x(1) = I_xx. end.I_xx) = hingeless_uniform_edgewise(E_n. Hinged Nonuniform Flatwise Function function [omega_n.varargout] modeshp. R_V. % n = length(r_n). e. end I_x(seg) Weight_n(seg) = I_xx.174*12). T_n(1) = 0. end. T_n(i+1)=T_n(i) + m_n(i+1) * r_n(i+1) * R_V1^2.0001. % m_n = Weight_n/(32. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This function if for the uniform hingeless blades % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % segment = R/50. weight. % end of loop for i--> { T_n(i) } 142 . % R_V1 is in radians % the unit is radians % for i = 1 : n-1. R.

0. end. 1. -l_sn/EI.F(3. 0.% cent_force = T_n(n). F = F_n * F. 1. F_n) %-------------------------------------------------------------------------B_c = [ F(3.4) . det_bc(k) = det(B_c).F(4. EI. %-------------------------------------------------------------------for j = 1:n-1. F(4.r_n(j+1). l_sn = r_n(j) . for omega1 = 0 :modeshp^2:2. A_n=[1. omega(k) = omega1*2*pi/60.1*modeshp^2*200.3). 0. 0. 0. -T_n(j). l_sn. 0. -(l_sn^3)/(3*EI). omega(k) is in radians 0. 0 . -(l_sn^2)/(2*EI). i = 1. F_n = inv(G_n)*A_n. (T_n(j)*l_sn^3)/(3*EI). G_n. 0. 1. EI = E_n * I_x(j). -(l_sn^2)/(2*EI). A_n.3). 1]. l_sn. % end of loo for j --> { l_sn. % omega1 is in RPM % omega(k) is in radians F = eye(4). -T_n(j) . -m_n(j+1)*(omega(k)^2 + R_V1^2). 143 % . 0. 1 ]. 0. 0. 0.4)]. 0. 1+(T_n(j)*l_sn^2)/(2*EI). disp( ' Centrifugal Force : ' ) disp(T_n(n)) % %******************************************************************************* k = 1. G_n=[1.

% omega_old is in RPM flg_slope = 1. else if k >1. % end of loop for omega_1 % % for m = 1:modeshp.%determination of the points and the natural frequencies where det crosses the "0 %line" % if det_bc(k) < 0.a) s = k-1.s) < 0 % if loop (1.2). % if loop (1. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for count = 1 : modeshp omega_0 = real(omega_n(count)*pi/30). omega_n is in RPM omega_new = 100.0001 % elseif loop (1) omega_natural(i) = omega(k). else 144 in RPM . end. i = i+1. % % determination of odd or even mode shapes R = rem(count. % omega_new is omega_old = -100.0001 & det_bc(k) > -0.b) omega_natural(i) = (omega(k) + omega(:. end. omega_n(m) = omega_natural(m)*30/pi. % omega_0 is in radians . if R ==1 slope = 1. % end of elseif (1) % k = k+1. % end of if (1.a) end.b) end. if det_bc(k) * det_bc(:. end. elseif R == 0. % end of if (1. i = i +1.s))/2. slope = -1.

F = F_n * F. 1+(T_n(j)*l_sn^2)/(2*EI). % l_sn = r_n(j) . (T_n(j)*l_sn^3)/(3*EI). 0 0.3). l_sn. end.display('This is an incorrect mode shape input!') end % end of 'if loop R' %---------------------------------------------% initial values flag = 1. -m_n(j+1)*(omega_0^2 + R_V1^2) 0. -T_n(j). . 0. % A_n=[1. 1. . % end of loo for j --> { l_sn. 0. -(l_sn^2)/(2*EI). det_bcnew = 0. . flag_1 = 1. % G_n=[1. A_n. if omega_0 < 0. -l_sn/EI. %--------------------------------------------------------- 145 . det_bc = det(B_c). -(l_sn^2)/(2*EI). % F_n = inv(G_n)*A_n.4) ]. F(4. ]. 0. 0. omega_0 = 0. 1 ]. %----------------------------------------------% while flag == 1. 0. 0. l_sn. 0. % EI = E_n * I_x(j). EI. 0. F(3. F_n) % B_c = [ F(3. 0 1 . -T_n(j) 0.4) . -(l_sn^3)/(3*EI). 1. G_n. % if real part of natural frequency is negative value make it zero end % end of if loop omega %------------------------------------------for j = 1:n-1. 1. F = eye(4).r_n(j+1).3). 0 . F(4. det_bcold = 0.

if (abs(det_bc)<100 | abs(omega_old-omega_new)<1e-10). % elseif for if loop 1-b if abs(det_bcold + det_bc) > abs(det_bc) & det_bcnew == 0. flag_1 = 1. else % else for if loop 1-b-ii 146 is in . omega_0 = omega_new. % if loop 1-b-ii-a omega_new = omega_0 .(200*pi/30)*slope. % omega_new % end of 'if loop 1-b-ii-a % rearrange the values omega_old = omega_0.') end % end of 'if loop 1-a' %------------------------------% change the initial values flag = 0. det_bcnew = 0. % if loop 1-b-i omega_new = omega_0 . % omega_new is in radians else omega_new radians % else for if loop 1-b-ii-a = omega_0 end. % omega_new is in radians end. % omega_new is in radians else % else for if loop 1-b-i omega_new = omega_0 + (200*pi/30)*slope.(200*pi/30)*slope. omega_0 = omega_new. + (200*pi/30)*slope. % end of 'loop if 1-b-i' % rearrange the values omega_old = omega_0. det_bcold = 0. det_bcold = det_bc. det_bcold = det_bc. % if loop 1 omega_0 is in radians. omega_n(count) = omega_0*30/pi. elseif flag_1 == 2. omega_n is in RPM % %-------------------------------if abs(omega_old-omega_new)<1e-10. flag_1 = 2. else % else for if loop 1 %------------------------------if flag_1 == 1. % if loop 1-b-ii if det_bc > 0. disp('Warning!! % if loop 1-a This value of omega may be in error. % if loop 1-b if det_bc > 0.

% if omega_new = omega_0. -m_n(j+1)*((omega_n(m)*pi/30)^2 -T_n(j). end. l_sn. 0 . 0. det_bcold = det_bc. % end of 'if loop 1-b' %--------------------------------------end. X_n(:.omega_0 = (omega_new + omega_old)/2. 0. % end of 'if loop 1' %-------------------------------------------------------------------end. % EI = E_n * I_x(j). theta_n(m) . % end of 'if loop 1-b-ii' omega_0 = (omega_new + omega_old)/2. % end of 'while loop' % theta_n(count) = -B_c(2.r_n(j+1). for j = 1:n-1. det_bcnew = det_bc. 0.2) / B_c(2. F = eye(4).new and 0 are in radians det_bcnew = det_bc. 0. end. % G_n=[1. 1. 0.1). 0. % for loop j % l_sn = r_n(j) . . elseif ((det_bc < 0 & det_bcnew > 0) | (det_bc > 0 & det_bcnew < 0)). 0. end % end of loop for count % ******************************************************************************* % for m= 1 : count % for loop count X_tip = [0 . 0.1) = X_tip. 1]. 1. % elseif for if loop 1-b-ii omega_old = omega_0. end % end of 'if loop 1-b-ii' else loop 1-b-iii % else for if loop 1-b if ((det_bc>0 & det_bcnew > 0) | (det_bc<0 & det_bcnew < 0)). 147 + R_V1^2). 1 ]. 0. % omega_old. flag_1 = 0.

EI. 1+(T_n(j)*l_sn^2)/(2*EI).cent_force. G_n. 1. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This function is for % % Hinged NonUniform Blades % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % R_n = R. -(l_sn^2)/(2*EI). title ( ' Chordwise Mode Shapes at Operational Rotational Velocity for Uniform Blade' ). % % end of function "HINGELESS_UNIFORM_EDGEWISE" 8.j+1) = F * X_tip. grid on. -T_n(j).:). 1]. R. 0. e. -l_sn/EI. 0. weight. % end of loop for j --> { l_sn. ylabel ( ' Relative Deflection ' ) .varargout] modeshp. A_n. 0. 0. (T_n(j)*l_sn^3)/(3*EI).:). l_sn. R_V. plot ( r_n. F_n = inv(G_n)*A_n. '-'). F = F_n * F. X_n(:.:)=X_n(4. F_n) % % get the total deflection at each radial station deflection(m. hold on end % end of for loop count % disp('The Natural Frequencies are(cpm): ') disp(omega_n) % disp('The ratio of the Natural Frequency to Rotational Speed is: ') disp(omega_n/R_V) omega_rate = omega_n/R_V.I_xx) = hinged_nonuniform_edgewise(E_n. 0.A_n=[1. 2*deflection(m. 148 . omega_rate. end. Hinged Nonuniform Edgewise Function function [omega_n. xlabel ( ' Blade Station (inc)' ) . -(l_sn^3)/(3*EI). -(l_sn^2)/(2*EI).

end.% W_n = weight. % end of loop for i--> { T_n(i) } % cent_force = T_n(n). % (T_n) and radians (R_V1) % % T_n(1) is is the "Centrifugal Force at the TIP" % for i = 1 : n-1. T_n(i+1)=T_n(i) + m_n(i+1) * R_n(i+1) * R_V1^2. % I_yy = I_xx. % R_V1 = R_V * pi/30. i = 1. det_Bc = 0. % %======================================================================================= % omega = 0. % n = length(R_n). disp( ' Centrifugal Force : ' ) disp(T_n(n)) % Displays "Centrifugal Force at r " % %====================================================================================== k = 1. % m_n = W_n/(32. end R_n(n) = e. 149 . % radians (R_V1) % %====================================================================================== % Calculation of "Centrifugal Force" at the root: %-------------------------------------------------------------------------------------T_n(1) = m_n(1) * R_n(1) * R_V1^2. % if R_n(n) < e R_n(n) = e.174*12).

-T_n(j) .3). det_bc(k) = det(B_c). 1.% for omega_1 = 0 : modeshp^2*R_V/500 : 2. % %----------------------------------------------------------------------%determination of the points and the natural frequencies where det crosses the "0 %line" % if det_bc(k) < 0. end. -T_n(j) 0.a) 150 . 1. % if loop (1. 0 . ]. (T_n(j)*l_sn^3)/(3*EI). % G_n = [ 1. %----------------------------------------------------------------------------------for j = 1:n-1. 0. 1 .4) . 1 ]. % determine length of the segments. l_sn. % F_n = inv(G_n)*A_n. F_n ) % %-------------------------------------------------------------------------B_c = [ F(2. 0 . 0. -(l_sn^2)/(2*EI). % radians (omega(k)) F = eye(4). -(l_sn^2)/(2*EI).3). 0. % % detemine the stiffness EI = E_n * I_yy(j). F = F_n * F.0001 % elseif loop (1) omega_natural(i) = omega(k). l_sn = R_n(j) .4)]. l_sn. . % end of loop for j --> { A_n. 1.F(4. -l_sn/EI. else if k >1. 0. G_n. 0.F(2. A_n = [ 1. % RPM (omega_1) omega(k) = omega_1*2*pi/60. 0. 0.R_n(j+1).1*modeshp^2*R_V. 1+(T_n(j)*l_sn^2)/(2*EI). 0. i = i+1. 0. F(4. 0 -(l_sn^3)/(3*EI). 0. -m_n(j+1)*(omega(k)^2 + R_V1^2).0001 & det_bc(k) > -0.

end. % end of if (1. slope = -1. % %---------------------------------------------------------------------% Determination of odd or even mode shapes % R = rem(count.s) < 0 % if loop (1. % end of loop for (m) % %============================================================================ % for count = 1 : modeshp omega_0 = real(omega_n(count)*pi/30). end. if det_bc(k) * det_bc(:. % end of elseif (1) % k = k+1. elseif R == 0. i = i +1.b) omega_natural(i) = (omega(k) + omega(:.s))/2. if R ==1 slope = 1. % end of loop for omega_1 % %============================================================================= % % Sorting and Displaying the "Natural Frequencies" % % Sort and convert the unit of natural frequency to 'cpm' for m = 1:modeshp.RPM (omega_n) % omega_new = 100. else display('This is an incorrect mode shape input!') 151 . % omega_new i in RPM omega_old = -100. end.s = k-1. % end of if (1.a) end.2). % omega_old is in RPM flg_slope = 1. omega_n(m) = omega_natural(m)*30/pi.b) end. % radians (omega_0) .

0. F(2. % l_sn = R_n(j) . -(l_sn^2)/(2*EI). % EI = E_n * I_yy(j). % if natural frequency is negative. G_n. % end of loo for j --> { l_sn. det_bcold = 0. % A_n=[1. 152 .end % end of 'if loop R' % %--------------------------------------------------------------------------% Initial values flag = 1.3).R_n(j+1). F(4. EI. 1. 1 ]. % F_n = inv(G_n)*A_n. F(4. -(l_sn^3)/(3*EI). 0. omega_0 = 0. if omega_0 < 0. F = eye(4). F_n) % B_c = [ F(2. -m_n(j+1)*(omega_0^2 + R_V1^2) 0.4) ]. flag_1 = 1. l_sn. 1. make it zero end % end of if loop omega % for j = 1:n-1.3). . 0 . % %-----------------------------------------------------------------------% while flag == 1. 1. 1 ]. det_bcnew = 0. det_bc = det(B_c). -(l_sn^2)/(2*EI). F = F_n * F. % G_n=[1. -l_sn/EI. end. 0. 0. 0 . 1+(T_n(j)*l_sn^2)/(2*EI). 0. . (T_n(j)*l_sn^3)/(3*EI). 0. -T_n(j) 0. 0. A_n. 0. 0 -T_n(j) .4) . 0. . l_sn.

else % radians(omega_new) % else for if loop 1.b.i omega_new = omega_0 + (200*pi/30)*slope. % radians (omega_0). flag_1 = 1.a omega_new = omega_0 . end.ii. omega_0 = omega_new.(200*pi/30)*slope.ii if det_bc > 0.ii. end. det_bcnew = 0. det_bcold = det_bc. RPM (omega_n) % if abs(omega_old-omega_new)<1e-10.a 153 . % elseif for if loop 1.b. else % else for if loop 1.a' % % change the initial values flag = 0.a omega_new = omega_0 + (200*pi/30)*slope. % else % else for if loop 1 % if flag_1 == 1.a This value of omega may be in error. det_bcold = 0. % if loop 1.b.i' % % Rearrange the values % omega_old = omega_0.i omega_new = omega_0 .b if abs(det_bcold + det_bc) > abs(det_bc) & det_bcnew == 0. % if loop 1 omega_n(count) = omega_0*30/pi. % if loop 1.') end % end of 'if loop 1. % if loop 1.b.(200*pi/30)*slope. % if loop 1. % end of 'if loop 1.b if det_bc > 0.b.b. flag_1 = 2. % end of 'loop if 1.b. % elseif flag_1 == 2.%-----------------------------------------------------------------------------% if (abs(det_bc)<1000 | abs(omega_old-omega_new)<1e-10). disp('Warning!! % if loop 1.ii.

%
% Rearrange the values
omega_old = omega_0;
omega_0 = omega_new;
det_bcold = det_bc;
else

% else for if loop 1.b.ii

omega_0 = (omega_new + omega_old)/2;
det_bcnew = det_bc;
flag_1 = 0;
end

% end of 'if loop 1.b.ii'

else

% else for if loop 1-b

if ((det_bc>0 & det_bcnew > 0) | (det_bc<0 & det_bcnew < 0)),% if loop
1.b.iii
omega_new = omega_0;
det_bcnew = det_bc;
elseif ((det_bc < 0 & det_bcnew > 0) | (det_bc > 0 & det_bcnew < 0)),%
elseif for if loop 1.b.ii
omega_old = omega_0;
det_bcold = det_bc;
end;

% end of 'if loop 1.b.ii'

%
omega_0 = (omega_new + omega_old)/2;
%
end;

% end of 'if loop 1.b'

%
end;

% end of 'if loop 1'

%
end;

% end of 'while loop'

%
theta_n(count) = -B_c(1,2) / B_c(1,1);
% According to the equation we can also use as : theta_n(count)= -B_c(2,2)/B_c(2,1)
%
end
'count'

% end of loop for

%
%================================================================================
for m= 1 : count

% for loop 'm'

X_tip = [0 ; 0 ; theta_n(m) ; 1 ];
X_n(:,1) = X_tip;
F = eye(4);

154

for j = 1:n-1,

% for loop 'j'

%
l_sn

= R_n(j) - R_n(j+1);

%
EI

= E_n * I_yy(j);

%
G_n

=[ 1,

0,

0,

-m_n(j+1)*((omega_n(m)*pi/30)^2

0,

1,

0,

-T_n(j)

0,

0,

1,

0,

0,

l_sn,

+ R_V1^2);
;

0

;
1

];

%
A_n

=[ 1,

0,

l_sn,

1,

-(l_sn^2)/(2*EI),
-(l_sn^3)/(3*EI),

-l_sn/EI,

0,
0,

0

;

-T_n(j)

1+(T_n(j)*l_sn^2)/(2*EI),

-(l_sn^2)/(2*EI), (T_n(j)*l_sn^3)/(3*EI),

0
1

%
F_n = inv(G_n)*A_n;
F = F_n * F;
%
X_n(:,j+1) = F * X_tip;
%
end;

% end of loop for j --> { l_sn, EI, A_n, G_n, F_n)

%
% Get the total deflection at each radial station
%
deflection(m,:)=X_n(4,:);
plot ( R_n, X_n(4,:), '-')

%plot ( R_n, 2*X_n(4,:), '-');
grid on;
title ( ' Chordwise Mode Shapes at Operational Rotational Velocity ' );
xlabel ( ' Blade Station (inc)' ) ;
ylabel ( ' Relative Deflection ' ) ;
hold on
end % end of for loop count
hold off
disp('The Natural Frequencies are(cpm): ')
disp(R_V)
%

155

;
;
];

disp('The ratio of the Natural Frequency/Rotational Speed is: ')
disp(omega_n/R_V)
omega_rate = omega_n/R_V;
%
% end of program “HINGED_NONUNIFORM_EDGEWISE”

9.

Hingeless Nonuniform Flatwise Function

function [omega_n,omega_rate,cent_force,varargout] = hingeless_nonuniform_flatwise(E_n,
modeshp, R_V, e, R, weight,I_xx)
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%

This function is for

%

%

Hingeless NonUniform Blades

%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
R_n

= R;

%
W_n

= weight;

%
m_n

= W_n/(32.174*12);

%
n

= length(R_n);

%
e = 0;
if R_n(n) < e
R_n(n) = e;
end
R_n(n) = e;
%
% n represents the number of the stations(segments);
%
%=======================================================================================
%
omega

= 0;

det_Bc

= 0;

%
R_V1

= R_V * pi/30;

% radians (R_V1)

%
%======================================================================================

156

% Calculation of "Centrifugal Force" at the root:
%-------------------------------------------------------------------------------------T_n(1)

= m_n(1) * R_n(1) * R_V1^2;

% ....... (T_n) and radians (R_V1)

%
% T_n(1) is is the "Centrifugal Force at the TIP"
%
for i = 1 : n-1,
T_n(i+1)=T_n(i) + m_n(i+1) * R_n(i+1) * R_V1^2;
end;

% end of loop for i--> { T_n(i) }

%
cent_force = T_n(n);
disp( ' Centrifugal Force : ' )
disp(T_n(n))
% Displays "Centrifugal Force at the root"
%
%======================================================================================
k

= 1;

i

= 1;

%
for omega_1 = 0 : modeshp^2*R_V/200 : 2.1*modeshp^2*R_V,
% RPM (omega_1)
omega(k) = omega_1*2*pi/60;

% radians (omega(k))

F = eye(4);
%----------------------------------------------------------------------------------for j = 1:n-1,
% determine the length of the segments
l_sn = R_n(j) - R_n(j+1);
%
% determine the stiffness
EI = E_n * I_xx(j);
%
G_n=[1,

0,

0,

-m_n(j+1)*omega(k)^2; % omega(k) is in radians

0,

1,

0,

-T_n(j)

0,

0,

1,

0

;

0,

0,

l_sn,

1

];

;

%
A_n=[1,
l_sn,
-(l_sn^2)/(2*EI),

0,

0,

1,

0,

-l_sn/EI,

0;
-T_n(j);

1+(T_n(j)*l_sn^2)/(2*EI),

-(l_sn^3)/(3*EI), -(l_sn^2)/(2*EI), (T_n(j)*l_sn^3)/(3*EI),

157

0;
1];

i = i +1. if det_bc(k) * det_bc(:. end. else % elseif loop (1) if k >1. % if loop (1. G_n. F(4.0001 & det_bc(k) > -0.F(3. A_n. % end of loop for (m) % %============================================================================ % 158 . % end of loop for omega_1 % %========================================================================== % % Sorting and Displaying the "Natural Frequencies" % % Sort and convert the unit of Natural Frequency to 'cpm' for m = 1:modeshp. EI. % end of if (1.F(4.F_n = inv(G_n)*A_n. omega_n(m) = omega_natural(m)*30/pi. crosses the "0 %line" % if det_bc(k) < 0. end. end. i = i+1. F = F_n * F.3).s) < 0 % if loop (1. end. end. F_n) %------------------------------------------------------------------------B_c = [ F(3.3). end.s))/2.4)].b) % end of if (1. % end of loo for j --> { l_sn. det_bc(k) = det(B_c).a) s = k-1.b) omega_natural(i) = (omega(k) + omega(:.4) .0001 % elseif loop (1) omega_natural(i) = omega(k).a) % end of elseif (1) % k = k+1. % %--------------------------------------------------------------------------% determination of the points and the natural frequencies where det.

% 159 . elseif R == 0. % l_sn = R_n(j) . % omega_new i in RPM omega_old = -100.RPM (omega_n) % omega_new = 100. % omega_old is in RPM flg_slope = 1. F = eye(4). if omega_0 < 0.R_n(j+1). make it zero end % end of if loop omega % %--------------------------------------------------------------------for j = 1:n-1. else display('This is an incorrect mode shape input!') end % end of 'if loop R' % %-------------------------------------------------------------------------% Initial values flag = 1. slope = -1. % %------------------------------------------------------------------------% Determination of odd or even mode shapes % R = rem(count. det_bcnew = 0. flag_1 = 1. if R ==1 slope = 1.2). % if natural frequency is negative. omega_0 = 0.for count = 1 : modeshp omega_0 = real(omega_n(count)*pi/30). % %----------------------------------------------------------------------% while flag == 1. det_bcold = 0. % radians (omega_0) .

0. G_n. % G_n=[1. disp('Warning!! % if loop 1. end. F(3.(200*pi/30)*slope. 0 . det_bcold = 0. 160 % radians(omega_new) . % end of loo for j --> { l_sn. F_n) % B_c = [ F(3. . 0 1 . 1 ]. F(4. det_bcnew = 0. . RPM (omega_n) % if abs(omega_old-omega_new)<1e-10. %--------------------------------------------------------------------------%-----------------------------------------------------------------------------------% if (abs(det_bc)<10000 | abs(omega_old-omega_new)<1e-10).4) ].EI = E_n * I_xx(j).a This value of omega may be in error. det_bc = det(B_c). % radians (omega_0). 0. -(l_sn^2)/(2*EI). (T_n(j)*l_sn^3)/(3*EI). 0. -(l_sn^3)/(3*EI).3). -T_n(j). 0. -m_n(j+1)*omega_0^2 .i omega_new = omega_0 . -(l_sn^2)/(2*EI). -T_n(j) 0. % if loop 1. % A_n=[1. l_sn. 1.b if det_bc > 0. 1. 0. 0.4) .3). % if loop 1. % if loop 1 omega_n(count) = omega_0*30/pi. 0. % else % else for if loop 1 % if flag_1 == 1. EI.') end % end of 'if loop 1. 1+(T_n(j)*l_sn^2)/(2*EI). 0. 1. F = F_n * F. -l_sn/EI. flag_1 = 1.b. 0 0.a' % % change the initial values flag = 0. % F_n = inv(G_n)*A_n. 0. ]. F(4. l_sn. A_n.

iii omega_new = omega_0.b.ii if det_bc > 0. omega_0 = omega_new.b. % end of 'loop if 1. end.ii' % 161 . end % end of 'if loop 1.a omega_new = omega_0 .% elseif for if loop 1.ii' else % else for if loop 1-b if ((det_bc>0 & det_bcnew > 0) | (det_bc<0 & det_bcnew < 0)). else % else for if loop 1. omega_0 = omega_new.ii omega_0 = (omega_new + omega_old)/2. else % else for if loop 1.b. end.b. det_bcold = det_bc. % if loop 1.b.else % else for if loop 1. % elseif for if loop 1. det_bcnew = det_bc.ii.b.ii. flag_1 = 2.ii omega_old = omega_0. det_bcnew = det_bc.b.ii.b. % end of 'if loop 1. % elseif flag_1 == 2. % end of 'if loop 1.a omega_new = omega_0 + (200*pi/30)*slope.b. elseif ((det_bc < 0 & det_bcnew > 0) | (det_bc > 0 & det_bcnew < 0)). % if loop 1.b. end. flag_1 = 0.(200*pi/30)*slope.i omega_new = omega_0 + (200*pi/30)*slope. det_bcold = det_bc.i' % % Rearrange the values % omega_old = omega_0. det_bcold = det_bc. % if loop 1.b if abs(det_bcold + det_bc) > abs(det_bc) & det_bcnew == 0.b.a % % Rearrange the values omega_old = omega_0.

F = eye(4). 0 . l_sn. -(l_sn^2)/(2*EI). 0. 0. 0 .1) = X_tip. % F_n = inv(G_n)*A_n. % EI = E_n * I_xx(j). (T_n(j)*l_sn^3)/(3*EI). 1 ]. 1. % According to the equation we can also use as : theta_n(count)= -B_c(2. -T_n(j) . X_n(:.b' % end. % end of 'while loop' % theta_n(count) = -B_c(2. ]. 0. 0 -T_n(j) 1+(T_n(j)*l_sn^2)/(2*EI). % A_n =[ 1. -(l_sn^2)/(2*EI). -l_sn/EI. . 0. 1 ]. . 0. % end of 'if loop 1' % end. % for loop 'j' % l_sn = R_n(j) . 162 . for j = 1:n-1. 0.omega_0 = (omega_new + omega_old)/2. -(l_sn^3)/(3*EI).1). % end.2) / B_c(2.2)/B_c(2. 0. 0. % X_n(:. % end of 'if loop 1. 1. 1.R_n(j+1).j+1) = F * X_tip.1) % end % end of loop for 'count' % %================================================================================ % % for m= 1 : count % for loop 'm' X_tip = [0 . l_sn. 0. 0 1 . theta_n(m) . 0. 0. F = F_n * F. -m_n(j+1)*(omega_n(m)*pi/30)^2 . % G_n =[ 1.

z = 1. A_n.:). ( ' Flatwise Mode Shapes Of Hingeless(Rigid) Rotor Blade for Nonuniform xlabel ( ' Blade Station ' ) .cent_force. r_n(51) = 0. weight.0001. segment_W = weight/50.:)=X_n(4. R.:). r_n(1) = R. % end of loop for j --> { l_sn. Weight_n(51)= 0. % % end of function "HINGELESS_NONUNIFORM_FLATWISE" 10. plot ( R_n . hold on end % end of for loop count hold off disp('The Natural Frequencies are(cpm): ') disp(omega_n) % disp('The ratio of the Natural Frequency/Rotational Speed is: ') disp(omega_n/R_V) % omega_rate = omega_n/R_V. 2*X_n(4.% end.varargout] = hingeless_uniform_edgewise(E_n.omega_rate. 163 . '-') grid on. I_x(51) = 0. G_n. I_x(1) = I_xx. EI. Hingeless Nonuniform Edgewise Function function [omega_n. modeshp.0001. title Blade' ). ylabel ( ' Relative Deflection ' ) . R_V. e.I_xx) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This function if for the uniform hingeless blades % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % segment = R/50. F_n) % % Get the total deflection at each radial station % deflection(m.

T_n(1) % R_V1 is in radians = 0. % end of loop for i--> { T_n(i) } % cent_force = T_n(n). % n = length(r_n). l_sn = r_n(j) . end. % m_n = Weight_n/(32. % R_V1= R_V * pi/30. %------------------------------------------------------------------------for j = 1:n-1. for omega1 = 0 :modeshp^2:2.segment. i = 1. end I_x(seg) Weight_n(seg) = I_xx. z = z+1. end. omega(k) = omega1*2*pi/60. T_n(i+1)=T_n(i) + m_n(i+1) * r_n(i+1) * R_V1^2. 164 .r_n(j+1).174*12). if r_n(seg) < 0 r_n(seg) = 0. for seg = 2:50 r_n(seg) = r_n(z) . disp( ' Centrifugal Force : ' ) disp(T_n(n)) % %******************************************************************************* k = 1.1*modeshp^2*200. % omega1 is in RPM % omega(k) is in radians F = eye(4).Weight_n(1) = segment_W. % the unit is radians % for i = 1 : n-1. = segment_W.

% end of loo for j --> { l_sn. (T_n(j)*l_sn^3)/(3*EI). -l_sn/EI. -(l_sn^2)/(2*EI).b) % end of if (1. A_n=[1. F_n) %------------------------------------------------------------------------B_c = [ F(3. 1 ]. %determination of the points and the natural frequencies where det crosses the "0 %line" % if det_bc(k) < 0.a) % end of elseif (1) 165 . if det_bc(k) * det_bc(:. 0. 0.a) s = k-1. i = i+1.4) . -T_n(j). EI. 1. end.3).s) < 0 % if loop (1. G_n=[1. 0. G_n. 0. 0. 1]. % omega(k) is in radians 0.0001 & det_bc(k) > -0. -(l_sn^2)/(2*EI).F(4.0001 % elseif loop (1) omega_natural(i) = omega(k).s))/2. 0. 0. else if k >1. A_n. 1.3). -(l_sn^3)/(3*EI). % end of if (1. det_bc(k) = det(B_c). end. end.EI = E_n * I_x(j). % if loop (1. -m_n(j+1)*(omega(k)^2 + R_V1^2). 0. F = F_n * F. i = i +1. 0. F_n = inv(G_n)*A_n. l_sn. 0. -T_n(j) . end. 0.4)]. 0 . 0. 1.b) omega_natural(i) = (omega(k) + omega(:. F(4.F(3. l_sn. 1+(T_n(j)*l_sn^2)/(2*EI).

% omega_new is omega_old = -100. det_bcnew = 0.% k = k+1. det_bcold = 0. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for count = 1 : modeshp omega_0 = real(omega_n(count)*pi/30). if R ==1 slope = 1. slope = -1. F = eye(4). omega_0 = 0. %----------------------------------------------% while flag == 1. end.2). omega_n is in RPM omega_new = 100. else display('This is an incorrect mode shape input!') end % end of 'if loop R' %---------------------------------------------% initial values flag = 1. omega_n(m) = omega_natural(m)*30/pi. flag_1 = 1. % omega_0 is in radians . elseif R == 0. % % determination of odd or even mode shapes R = rem(count. if omega_0 < 0. end. % if real part of natural frequency is negative value make it zero end % end of if loop omega 166 . % omega_old is in RPM in RPM flg_slope = 1. % end of loop for omega_1 % % for m = 1:modeshp.

%------------------------------------------for j = 1:n-1,
%
l_sn = r_n(j) - r_n(j+1);
%
EI = E_n * I_x(j);
%
G_n=[1,

0,

0,

-m_n(j+1)*(omega_0^2 + R_V1^2)

0,

1,

0,

-T_n(j)

0,

0,

1,

0

;

0,

0,

l_sn,

1

];

;

;

%
A_n=[1,
l_sn,
-(l_sn^2)/(2*EI),
-(l_sn^3)/(3*EI),

0,
1,

0,

0

0,

-l_sn/EI,

-T_n(j);

1+(T_n(j)*l_sn^2)/(2*EI),

-(l_sn^2)/(2*EI),

;

(T_n(j)*l_sn^3)/(3*EI),

0
1

;
];

%
F_n = inv(G_n)*A_n;
F = F_n * F;
end; % end of loo for j --> { l_sn, EI, A_n, G_n, F_n)
%
B_c = [ F(3,3), F(3,4) ; F(4,3), F(4,4) ];
det_bc = det(B_c);
%--------------------------------------------------------if (abs(det_bc)<100 | abs(omega_old-omega_new)<1e-10),
omega_n(count) = omega_0*30/pi;

% if loop 1

% omega_0 is in radians, omega_n is in RPM

%
%-------------------------------if abs(omega_old-omega_new)<1e-10,
disp('Warning!!

% if loop 1-a

This value of omega may be in error.')

end

% end of 'if loop 1-a'

%------------------------------% change the initial values
flag = 0;
flag_1 = 1;
det_bcold = 0;
det_bcnew = 0;
else

% else for if loop 1

%------------------------------if flag_1 == 1,

% if loop 1-b

167

if det_bc > 0,

% if loop 1-b-i

omega_new = omega_0 - (200*pi/30)*slope; % omega_new is in radians
else

% else for if loop 1-b-i

omega_new = omega_0 + (200*pi/30)*slope; % omega_new is in radians
end;

% end of 'loop if 1-b-i'

% rearrange the values
omega_old = omega_0;
omega_0 = omega_new;
det_bcold = det_bc;
flag_1 = 2;
elseif flag_1 == 2,

% elseif for if loop 1-b

if abs(det_bcold + det_bc) > abs(det_bc) & det_bcnew == 0,
% if loop 1-b-ii
if det_bc > 0,
omega_new

% if loop 1-b-ii-a
=

omega_0

-

(200*pi/30)*slope;

%

omega_new

is

in

radians
else

% else for if loop 1-b-ii-a

omega_new = omega_0 + (200*pi/30)*slope;
% omega_new is in radians
end;

% end of 'if loop 1-b-ii-a

% rearrange the values
omega_old = omega_0;
omega_0 = omega_new;
det_bcold = det_bc;
else

% else for if loop 1-b-ii

omega_0 = (omega_new + omega_old)/2; % omega_old,new and 0 are in
radians
det_bcnew = det_bc;
flag_1 = 0;
end

% end of 'if loop 1-b-ii'

else

% else for if loop 1-b

if ((det_bc>0 & det_bcnew > 0) | (det_bc<0 & det_bcnew < 0)),
% if loop 1-b-iii
omega_new = omega_0;
det_bcnew = det_bc;
elseif ((det_bc < 0 & det_bcnew > 0) | (det_bc > 0 & det_bcnew < 0)), %
elseif for if loop 1-b-ii
omega_old = omega_0;
det_bcold = det_bc;
end;

% end of 'if loop 1-b-ii'

omega_0 = (omega_new + omega_old)/2;

168

end;

% end of 'if loop 1-b'

%--------------------------------------end;

% end of 'if loop 1'

%------------------------------------------------------------------------------end;

% end of 'while loop'

%
theta_n(count) = -B_c(2,2) / B_c(2,1);
end % end of loop for count
% **********************************************************************************
%
for m= 1 : count

% for loop count

X_tip = [0 ; 0 ; theta_n(m) ; 1 ];
X_n(:,1) = X_tip;
F = eye(4);
for j = 1:n-1,

% for loop j

%
l_sn = r_n(j) - r_n(j+1);
%
EI = E_n * I_x(j);
%
G_n=[1,

0,

0,

-m_n(j+1)*((omega_n(m)*pi/30)^2

0,

1,

0,

0,

0,

1,

0,

0,

l_sn,

A_n=[1,
l_sn,
-(l_sn^2)/(2*EI),

+ R_V1^2);

-T_n(j);
0;
1];

0,

0,

1,

0,

-l_sn/EI,

0;
-T_n(j);

1+(T_n(j)*l_sn^2)/(2*EI),

-(l_sn^3)/(3*EI), -(l_sn^2)/(2*EI), (T_n(j)*l_sn^3)/(3*EI),

0;
1];

F_n = inv(G_n)*A_n;
F = F_n * F;
X_n(:,j+1) = F * X_tip;
end;

% end of loop for j --> { l_sn, EI, A_n, G_n, F_n)

%
% get the total deflection at each radial station
deflection(m,:)=X_n(4,:);
plot ( r_n, 2*deflection(m,:), '-');
grid on;

169

title ( ' Chordwise Mode Shapes at Operational Rotational Velocity for Uniform
Blade' );
xlabel ( ' Blade Station (inc)' ) ;
ylabel ( ' Relative Deflection ' ) ;
hold on
end % end of for loop count
%
disp('The Natural Frequencies are(cpm): ')
disp(omega_n)
%
disp('The ratio of the Natural Frequency to Rotational Speed is: ')
disp(omega_n/R_V)
omega_rate = omega_n/R_V;
%
% end of function "HINGELESS_NONUNIFORM_EDGEWISE"

170

04447.-1.APPENDIX B.69582.-1. It may be shown that the characteristic function for a free-supported beam is the same as the second derivative of the characteristic function for a clamped-supported beam.-0. 18]: a.-1. 0.-1.-0. 18] A. 1. 1.30588.03725. Also the characteristic function for a clamped-free beam is the same as second derivative of the characteristic function for a clamped-clamped beam.-1.16950. 0.-0.5).52869. 18] give the values of the characteristic function and its first three derivatives for each of the first five modes (n = 1.28180. -1. First Mode 2. We use only two types of them: 1.59009.28992. 1. 3.21590. 0.11133. Clamped-supported Beam The functions are tabulated to five decimal places at intervals of the argument corresponding to 1/50 of the beam length.79450. 0.84282.-1.02866. -0.35923.47775.31162. -1.45486.-1. 1.-1.75386.30935.[Ref. of three different types of beams. 0.15858.32106.-0.-1.24904.60318.-1.-0.-1. TABLES OF CHARACTERISTIC FUNCTIONS REPRESENTING NORMAL MODES OF VIBRATION OF A BEAM The tables in [Ref.37202. Clamped-free Beam 2.20786. that is.16712.23500.02 l.06060.-1.32714.96918.88574. DATA FOR THE SUPPORTED-FREE BEAM (HINGED BLADE) Clamped-Supported Beam (Second Derivative) From [Ref. 0.-0. -0.-1.90647.25894.-1.21875. 1.00000. 0. 0.32402.-0. 1.68568.10157. -1.10554. 4. 171 . 2.

00000.62295.32224.11017.13323. 1.32086.-0.42455.06244.-1.80507.51362.14631. 1. -0.18399.-0.-0. 0.40755.-1.52547.-0.71729.25980.15424. 1.80569.76897. 0. 0.-1.-1. -1.-1.04596.26983. -1.32637. 1.59110.-0.29988.00000.99330.09776.39391.-0.06348. 0.-1.90103. 0. 1.18532. 1.-0.28137.88849.77300.-1. 172 .21523.35450.-0.02863. 1. -1.41124.31068. -0. 1.-1. 1.86560.43502. 0.72134.31263.75879.33937.-1.30380. 0.-0.59173. 1. 1.-0.40010.51204.-1.33049.25968. 1.-0. 1.39996.98634.-0. Second Mode 2.82967.20092. 0.32640. 0.21281. 1.-0. 1.-0. -0.-0.-0. 0.0 c. 0.-1.-0.-0. -1.58271.-1.30395.66123. 1.-0. 1. 0.30845.71636. 0.21507.93412.36930.17821.-0. 0.23807.60415.08494. 1.06927.-1.91976. 0. 0.45136.63460.84553. 0.03009.06927.10335. -1. -0.87658. 1. 0. 1.41789.60968.17711.-1.17673. 0.39504. 0.18195.36386.32158.38344.96112.28198.10789. Third Mode 2.-1.68631. 0.41807.39742.-0.0 b.-0. 0.19951.45927. 0. 1. 0.-0.-1. 1. 1.-0.-0.38158.25518.15633.96606.78508.39411.-0.-0. 0.95356.58802.-1. 0.29160.-0.10569.

61764.19123.99384.47707.43871.59802.41376.39555.19398. 0. 1. -0. 1.14007. -1.-0. -0. 0. 1. -1.28677.05227.20196. -0. Second Mode 2.69544. -0. 0. 1.-1.03937. -1. 0.06189.47822.96827. -1. 0. 0.03085. -1.13068. 1.40209. 0. -0.49261. -0. 1. -0.20901. -0.96375. -0.37287. 1.18727.58594. -1. -0. 0.31600. -1.31055. 1. -1.51248.87992.23660. -1.43920. -1.20236. -0.45702.34687. -1.32534. 0. 0.36578.25365.17895.78359. 1.31409.07535. -0.0000.56162. 1. 0. 1. 0. -1. -1. 1.28189. -1.31485.32141.88431.42680. -1.08559.45614. -0.86004.10243.20573. -1. 1.16974. -1.32324. -0.6861.80877.-0.08829. -0. -0.63410. -1. -1. -1.31238. 1.-1.76419.-0.10515.77049.81313. 173 .68568.35563.26103.36694.78852.42733.26626.18130.49475.87841. 1. 1. -1. -0.48203.41931. 0. 1. 0. 1.04750.61120.94753.05185. 0. 0.. -0.92728.0 b.40289.00000.67484. 18] a. 0. 1. 0. First Mode 2.42619.75558. 0.21175. -0.02865.26974.51046. -0. 0.78975.0 B DATA FOR THE CLAMPED-FREE BEAM (HINGELESS BLADE) Clamped-Clamped Beam (Second Derivative) From [Ref. -1.09222. -0. 0. -1. -1. -1.-0. 1.02339.

1.15301.02168.67905.30730. 1.0 174 .24030.39660.42070.34322.-0.01231. 0.45096.56016.18175.92227.04784. 0.66985. 1. 1. 1. Third Mode 2. 0. 0. -0. 0.02451.12774. 1.00139. 1.33573.18024.61496.27297.51002. -0.45977.82262. -0.23500. -0.08340.58800.72603.12889. 1.03355.83483.12305.10452.00853. 0.03301. 0. 0.63301.0. 1. 0. 1. 0. 1.00552. 1. 1.0000. 0. -0.54408.60211.94494.06449. 0. 1. -0.77392. 0.72480. 0.34247.97309.87209.18526. 0. -0.41952. 0. 0. -0. -0.0 c. 0. 0.77980. 0. 0. 1. 0.28859. 0.25670. 0. 0. 1. 0.50549. 0.07646. 1.88988.50131.07174.20936.38065. 1. 0. 0. 0.

48043136538462 According to Our Program the coefficients are: 0 0.5 -1 -1.9 1 .2 0.30683909929673 0.30858097836836 0. 0.5 0 -0.72907417521673 175 0. 10 stations Hinged Uniform Nonrotating Blade Comparison (10 Stations) 2 1st 2nd 3rd Young 3rd Young 2nd Young 1st 1.7 0.3 0.APPENDIX C.55644803775140 -0.4 0.47692866436996 The Error ratio of the Natural Frequencies(%) 0 -0.30800000000000 0.6 Blade Station 0.48076923076923 According to Young and Felgar the coefficients are: 0 0.5 -2 0 0.8 0 According to Hartog the coefficients are: 0 0. VALIDATION OF THE RESULTS OF THE GENERATED MATLAB® CODE VALIDATION OF HINGED NONROTATING UNIFORM BLADE 1.5 0.1 Centrifugal Force : 0.5 1 Relative Deflection A.

20 Stations Hinged Nonrotating Uniform Blade Comparison (20 statios) 2 1st 2nd 3rd Young 3rd Young 2nd Young 1st 1.47864743924780 The Error ratio of the Natural Frequencies(%) 0 -0.30858097836836 0.48076923076923 According to Young and Felgar the coefficients are: 0 0.6 Blade Station 0.30815824117762 0.37131758360296 176 0.1 0.7 0.5 0 -0.13699392392129 -0.5 Relative Deflection 1 0.9 1 .2.30800000000000 0.4 0.8 0 According to Hartog the coefficients are: 0 0.3 0.5 -1 -1.2 Centrifugal Force : 0.5 0.5 -2 0 0.48043136538462 According to Our Program the coefficients are: 0 0.

06001173436615 -0.30858097836836 0.48076923076923 According to Young and Felgar the coefficients are: 0 0.47900464866249 The Error Ratio of the Natural Frequencies (%) 0 -0.5 0 -0.1 0.5 -2 0 0.3 0.3.5 0.5 Relative Deflection 1 0.29696577386870 177 0.5 -1 -1.48043136538462 According to Our Program the coefficients are: 0 0.7 0. 30 Stations Hinged Nonrotating Uniform Blade Comparison (30 stations) 2 1st 2nd 3rd Young 3rd Young 2nd Young 1st 1.4 0.30839579357132 0.8 0 According to Hartog the coefficients are: 0 0.2 Centrifugal Force : 0.30800000000000 0.6 Blade Station 0.9 1 .

7 0.48043136538462 According to Our Program the coefficients are: 0 0.30800000000000 0.3 0.1 0.48076923076923 According to Young and Felgar the coefficients are: 0 0.2 Centrifugal Force : 0.5 0.27088019472901 178 0.9 1 .30858097836836 0.30847776443562 0.5 Relative Deflection 1 0.5 0 -0.5 -2 0 0.5 -1 -1. 40 Stations Hinged Nonrotating Uniform Blade Comparison (40 stations) 2 1st 2nd 3rd Young 3rd Young 2nd Young 1st 1.8 0 According to Hartog the coefficients are: 0 0.03344792452286 -0.6 Blade Station 0.4.4 0.47912997196652 The Error Ratio of the Natural Frequencies(%) 0 -0.

50 Stations Hinged Nonrotating Uniform Blade Comparison (50 stations) 2 1st 2nd 3rd Young 3rd Young 2nd Young 1st 1.02132060199573 -0.1 0.5 -1 -1.30851518704613 0.48043136538462 According to Our Program the coefficients are: 0 0.25884069830882 179 0.47918781348356 The Error Ratio of the Natural Frequencies(%) 0 -0.5 0 -0.5.3 0.5 Relative Deflection 1 0.9 1 .8 0 According to Hartog the coefficients are: 0 0.5 0.7 0.30858097836836 0.5 -2 0 0.2 Centrifugal Force : 0.6 Blade Station 0.4 0.30800000000000 0.48076923076923 According to Young and Felgar the coefficients are: 0 0.

48076923076923 According to Young and Felgar the coefficients are: 0 0.5 -1 -1.4 0.5 0 -0.2 Centrifugal Force : 0.5 0.3 0.30858097836836 0.1 0.6 Blade Station 0.5 -2 0 0.9 1 .7 0.00522628461558 -0.24287483764511 180 0.30856485104816 0.6.47926451848594 The Error Ratio of the Natural Frequencies(%) 0 -0.48043136538462 According to Our Program the coefficients are: 0 0. 100 Stations Hinged Nonrotating Uniform Blade Comparison (100 Stations) 2 1st 2nd 3rd Young 3rd Young 2nd Young 1st 1.30800000000000 0.8 0 According to Hartog the coefficients are: 0 0.5 Relative Deflection 1 0.

30858097836836 0.30800000000000 0.48076923076923 According to Young and Felgar the coefficients are: 0 0.6 Blade Station 0.9 1 .4 0.7.5 Relative Deflection 1 0.7 0.48043136538462 According to Our Program the coefficients are: 0 0.30857690987193 0. 200 Stations Hinged Nonrotating Uniform Blade Comparison (200 stations) 2 1st 2nd 3rd Young 3rd Young 2nd Young 1st 1.5 -2 0 0.00131845340836 -0.5 -1 -1.47928353213819 The Error Ratio of the Natural Frequencies(%) 0 -0.5 0 -0.5 0.2 Centrifugal Force : 0.3 0.23891721671936 181 0.1 0.8 0 According to Hartog the coefficients are: 0 0.

5 Relative Deflection 1 0.16000000000000 0.14893617021277 0.35338345864662 The Error Ratio of the Natural Frequencies(%) -6.5 0 -0.63674329666294 -1.5 0.15952332370540 0.1 0.2 Centrifugal Force : 0.9 1 .6 Blade Station 0.05161093715956 182 0.7 0 According to Hartog the coefficients are: 0.35656401944895 According to Young and Felgar the coefficients are: 0.5 -2 0 0.8 0.4 0.B. VALIDATION OF HINGELESS NONROTATING UNIFORM BLADE 1. 10 Staions Hingeless Nonrotating Uniform Blade Comparison (10 stations) 2 1.35713917325343 According to Our Program the coefficients are: 0.3 0.5 1st 2nd 3rd Young 3rd Young 2nd Young 1st -1 -1.

5 1st 2nd 3rd Young 3rd Young 2nd Young 1st -1 -1.5 0. 20 Stations Hingeless Nonrotating Uniform Blade Comparison (20 stations) 2 1.8 0.1 0.2.3 0.9 1 .5 Relative Deflection 1 0.5 -2 0 0.35713917325343 According to Our Program the coefficients are: 0.16000000000000 0.5 0 -0.7 0 According to Hartog the coefficients are: 0.15952332370540 0.36600000000000 The Error Ratio of the Natural Frequencies(%) -2.6 Blade Station 0.45007975167658 183 0.4 0.2 Centrifugal Force : 0.15555555555556 0.48726522095906 2.35656401944895 According to Young and Felgar the coefficients are: 0.

4 0.6 Blade Station 0.3 0.48726522095906 2.44008104845181 184 0.3.1 0. 30 Stations Hingeless Nonrotating Uniform Blade Comparison (30 stations) 2 1.5 1st 2nd 3rd Young 3rd Young 2nd Young 1st -1 -1.15952332370540 0.2 Centrifugal Force : 0.5 0.7 0 According to Hartog the coefficients are: 0.15555555555556 0.16000000000000 0.8 0.36585365853659 The Error Ratio of the Natural Frequencies(%) -2.5 0 -0.5 -2 0 0.35713917325343 According to Our Program the coefficients are: 0.9 1 .5 Relative Deflection 1 0.35656401944895 According to Young and Felgar the coefficients are: 0.

5 -2 0 0.4.16000000000000 0.5 0.9 1 .2 Centrifugal Force : 0.35656401944895 According to Young and Felgar the coefficients are: 0.6 Blade Station 0.3 0.35713917325343 According to Our Program the coefficients are: 0. 40 Stations Hingeless Nonrotating Uniform Blade (40 stations) 2 1.1 0.5 1st 2nd 3rd Young 3rd Young 2nd Young 1st -1 -1.34959349593496 The Error Ratio of the Natural Frequencies(%) 2.4 0.11281144259047 185 0.7 0 According to Hartog the coefficients are: 0.5 Relative Deflection 1 0.04821081527540 -2.15952332370540 0.16279069767442 0.8 0.5 0 -0.

5.4 0.5 0.35537190082645 The Error Ratio of the Natural Frequencies(%) 2.6 Blade Station 0.9 1 .8 0. 50 Stations Hingeless Nonrotating Uniform Blade Comparison (50 stations) 2 1.15952332370540 0.16279069767442 0.7 0 According to Hartog the coefficients are: 0.04821081527540 -0.49484138379032 186 0.3 0.1 0.16000000000000 0.5 -2 0 0.5 1st 2nd 3rd Young 3rd Young 2nd Young 1st -1 -1.5 0 -0.35713917325343 According to Our Program the coefficients are: 0.35656401944895 According to Young and Felgar the coefficients are: 0.5 Relative Deflection 1 0.2 Centrifugal Force : 0.

3 0.1 0.7 0 According to Hartog the coefficients are: 0.9 1 .04821081527540 -0.16000000000000 0.6 Blade Station 0.6.5 0 -0.2 Centrifugal Force : 0.5 -2 0 0.35713917325343 According to Our Program the coefficients are: 0.5 1st 2nd 3rd Young 3rd Young 2nd Young 1st -1 -1.16279069767442 0.35537190082645 The Error Ratio of the Natural Frequencies(%) 2.5 Relative Deflection 1 0.49484138379032 187 0.15952332370540 0.35656401944895 According to Young and Felgar the coefficients are: 0. 100 Stations Hingeless Nonrotating Uniform Blade Comparison (100 stations) 2 1.4 0.8 0.5 0.

35656401944895 According to Young and Felgar the coefficients are: 0.04821081527540 1.7 0 According to Hartog the coefficients are: 0.3 0.8 0.6 Blade Station 0.7.5 -2 0 0.17751422320480 188 0.16000000000000 0.2 Centrifugal Force : 0.16279069767442 0.36134453781513 The Error Ratio of the Natural Frequencies(%) 2.5 0.9 1 .5 1st 2nd 3rd Young 3rd Young 2nd Young 1st -1 -1.15952332370540 0.5 0 -0. 200 Stations Hingeless Nonrotating Uniform Blade Comparison (200 Stations) 2 1.5 Relative Deflection 1 0.4 0.35713917325343 According to Our Program the coefficients are: 0.1 0.

4 -0.2 0 -0.4 0. Flatwise Mode Shapes Flatwise Mode Shapes at Operational Rotational Velocity 1 0.C.1 0 0 50 100 150 200 250 Blade Station (inches) 300 350 400 Flatwise Mode Shapes at Operational Rotational Velocity 1 0.3 0.8 Relative Deflection 0.8 Relative Deflection 0.6 0 50 100 150 200 250 Blade Station (inches) 189 300 350 400 .2 0.6 0.9 0.6 0.7 0.4 0.2 -0. RESULTS FOR H-3 HELICOPTER FOR ANALYSIS OF ROTATING NONUNIFORM HINGED BLADES 1.5 0.

6 0.4 0.2 0 -0.4 0.6 0 50 100 150 200 250 Blade Station (inches) 300 350 400 Flatwise Mode Shapes at Operational Rotational Velocity 1 0.4 -0.2 -0.2 -0.8 Relative Deflection 0.2 0 -0.Flatwise Mode Shapes at Operational Rotational Velocity 1 0.4 -0.6 0 50 100 150 200 250 Blade Station (inches) 190 300 350 400 .8 Relative Deflection 0.6 0.

2 -0.515809216498805e+004 The Natural Frequencies are(cpm): 212.2 0 -0.76349859378608 11.01301746368 1006.72912816484574 4.04897645283215 2.94221992493 554.53651044272568 191 350 400 .8 Relative Deflection 0.88151531219 1575.4 -0.Flatwise Mode Shapes at Operational Rotational Velocity 1 0.91161987331 The ratio of the Natural Frequency to Rotational Speed is: 1.6 0 50 100 150 200 250 Blade Station (inches) 300 Centrifugal Force is : 4.6 0.99021453857 2341.96000746459209 7.4 0.

4 0.8 Relative Deflection 0.5 0.2 0.4 -0.8 Relative Deflection 0.1 0 0 50 100 150 200 250 Blade Station (inches) 300 350 400 Edgewise Mode Shapes at Operational Rotational Velocity 1 0.2 0 -0.6 0 50 100 150 200 250 Blade Station (inches) 192 300 350 400 .7 0.6 0.2 -0.6 0.3 0.2.4 0. Edgewise Mode Shapes Edgewise Mode Shapes at Operational Rotational Velocity 1 0.9 0.

2 0 -0.6 0.6 0.6 0 50 100 150 200 250 Blade Station (inches) 193 300 350 400 .2 -0.4 0.8 Relative Deflection 0.4 -0.8 Relative Deflection 0.4 0.4 -0.Edgewise Mode Shapes at Operational Rotational Velocity 1 0.2 -0.6 0 50 100 150 200 250 Blade Station (inches) 300 350 400 Edgewise Mode Shapes at Operational Rotational Velocity 1 0.2 0 -0.

2 0 -0.63865966797 1828.515809216498805e+004 The Natural Frequencies are(cpm): 64.31754150390625 3.24688033461 The ratio of the Natural Frequency to Rotational Speed is: 0.2 -0.96350152997548 28.Edgewise Mode Shapes at Operational Rotational Velocity 1 0.4 -0.04555113465327 194 350 400 .51546137767472 9.6 0 50 100 150 200 250 Blade Station (inches) 300 Centrifugal Force : 4.8 Relative Deflection 0.18133850098 3443.00581940148264 16.59081058502 5693.6 0.46092529297 713.4 0.

9 0.6 Relative Deflection D.4 0. Flatwise Mode Shapes Flatwise Mode Shapes at Operational Rotational Velocity 1 0.4 -0.4 0.8 Relative Deflection 0. 0.2 0.5 0.RESULTS FOR H-3R HELICOPTER FOR ANALYSIS OF ROTATING NONUNIFORM HINGELESS BLADES 1.3 0.8 0.1 0 0 50 100 150 200 250 Blade Station (inc) 300 350 400 Flatwise Mode Shapes at Operational Rotational Velocity 1 0.7 0.6 0.6 0 50 100 150 200 250 Blade Station (inc) 195 300 350 400 .2 0 -0.2 -0.

6 0.2 0 -0.2 -0.4 -0.4 -0.8 Relative Deflection 0.4 0.4 0.Flatwise Mode Shapes at Operational Rotational Velocity 1 0.2 -0.2 0 -0.6 0.6 0 50 100 150 200 250 Blade Station (inc) 300 350 400 Flatwise Mode Shapes at Operational Rotational Velocity 1 0.8 Relative Deflection 0.6 0 50 100 150 200 250 Blade Station (inc) 196 300 350 400 .

97500000000 The ratio of the Natural Frequency/Rotational Speed is: 1.2 0 -0.515809216498805e+004 The Natural Frequencies are(cpm): 228.2 -0.27500000000000 8.6 0.12500000000000 2.37500000000 583.6 0 50 100 150 200 250 Blade Station (inc) 300 Centrifugal Force : 4.8 Relative Deflection 0.Flatwise Mode Shapes at Operational Rotational Velocity 1 0.87500000000000 5.02500000000000 11.32500000000000 197 350 400 .07500000000 2298.4 0.62500000000 1070.82500000000 1629.4 -0.

4 -0.8 0 50 100 150 200 250 Blade Station (inc) 198 300 350 400 .3 0.2 -0.2 0 -0.6 -0. Edgewise Mode Shapes Edgewise Mode Shapes at Operational Rotational Velocity 1 0.2.6 0.8 Relative Deflection 0.9 0.5 0.7 0.4 0.1 0 0 50 100 150 200 250 Blade Station (inc) 300 350 400 Edgewise Mode Shapes at Operational Rotational Velocity 1 0.2 0.6 0.4 0.8 Relative Deflection 0.

2 -0.8 Relative Deflection 0.8 0 50 100 150 200 250 Blade Station (inc) 199 300 350 400 .2 0 -0.6 -0.4 -0.4 -0.8 Relative Deflection 0.8 0 50 100 150 200 250 Blade Station (inc) 300 350 400 Edgewise Mode Shapes at Operational Rotational Velocity 1 0.6 -0.2 0 -0.6 0.2 -0.6 0.4 0.4 0.Edgewise Mode Shapes at Operational Rotational Velocity 1 0.

17500000000 5506.72500000000000 27.12500000000000 200 350 400 .8 Relative Deflection 0.2 0 -0.17500000000 847.4 -0.17500000000000 10.37500000000 The ratio of the Natural Frequency/Rotational Speed is: 0.37500000000 3598.2 -0.12500000000000 17.Edgewise Mode Shapes at Operational Rotational Velocity 1 0.515809216498805e+004 The Natural Frequencies are(cpm): 147.4 0.8 0 50 100 150 200 250 Blade Station (inc) 300 Centrifugal Force : 4.6 -0.72500000000000 4.52500000000 2055.6 0.

Being the blade dynamics portion of the JANRAD program. The main reason of such a different approach is to give the opportunity of seeing both the inputs and the results and the plots of the blade dynamics in one window.1 creates an m-file code which essentially runs the GUI window. this GUI is generated with the newest version of MATLAB®. 201 . The properties of the each object can be arranged by ‘Editor Preferences’ tool.APPENDIX D. The most important tool in order to generate a GUI is a function called GUIDE (Graphical User Interface Design Environment) allows the programmer to create an interactive window which has the same properties as in Windows. The user window of the GUI is shown in figure below. Once the front page of the GUI with a fig-file is generated. In this thesis GUI page is designed in a different approach that the input icons and axis of the output plot and the results of natural frequencies and the centrifugal force are displayed in one end page. using ‘drag and drop’ controls or objects from a master pallet. Main role of the programmer is to write the m-files and callback functions of the m-file of GUI in order to have the program run as desired.1[Ref. 7] and Hucke [Ref. 8]. 16]. BUILDING GUI AND INCORPORATING MATLAB® CODE INTO JANRAD A. MATLAB® version 6. GENERATION OF THE GUI The development of the GUI is accomplished utilizing tools of MATLAB® version 6. Different portions and versions of the GUI are outlined by Lapacik [Ref.

19] and [Ref. As it can be concluded from the figure the results and the plots of the GUI matches with original generated program in Chapter III. This shows that the developed GUI program is working properly. 202 . B.E gives details and features of the generated program. THE RESULTS IN GUI To show the results in the GUI page. The results of the application are depicted in figure below. 20]. same data for H-3 (S-61) helicopter data is utilized.Graphical User Interface (GUI) of the Program The User’s Guide attached in APPENDIX. For further detailed GUI developments in MATLAB® refer to [Ref.

9.94 554.95.00.! 100 50 150 200 250 300 350 Blade Station fine) OmegaJ CANCEL OK J 0mega_2 0mega_3 Omega_4 Omega_5 0.05 2.00 1006. 12.9.96 Graphical User Interface (GUI) Plot for H-3 (S-61) Helicopter 'Flat wise’ 203 .57.1.40. Weight(stations) 2 5G.51.93.00 cpm 212.625 Radius(stations) 372.00 0. Ineitia(stations) 0.353.73 4.35 ratio 1.1.Jnjx| I Untitled Flatwise Mode Shapes at Operational Rotational Velocity for Nonuniform Blade Aluminum - (3Modeshape zl |Hinged(Articulated) d Flatwise H | Nonuniform d Rolot RPM Hinge Offset 12.00 0.19.00 0.97.1.

THIS PAGE INTENTIONALLY LEFT BLANK 204 .

APPENDIX E.9 0mega_5 cpm ratio Main GUI Window For better understanding refer to the figure above and go through the input and output explanations.8 1 HingedlAfticulated) \ H [ Flatwise 0.5 \ ipm \ |n put R jxes inches inches / . USER GUIDE FOR GRAPHICAL USER INTERFACE (GUI) A.7 \ \ Output Boxes \ H | Uniform Rotor RPM Hinge Ottset ■ Radius! stations) \0. Input Boxes Inputs in this GUI are three types.8 Gmega_4 I 0.2 I 0.6 0mega_3 1 1 0.9 |1 Modeshape zl 0.5 I 0. Popupmenus 205 .3 \ 0mega_1 I 0.1 0 /inch" A Inertia! stations) err l\ 0. 1. ABOUT THE GUI GUI window has two essential parts: • Input Parts • Output Parts -inlxl -) Untitled 1 Aluminum -1 Centrifugal Force 0.7 0.4 0mega_2 I 0. a.l\ I I 0.: / Weight(stations) r / / 0.

Aluminum 2. 2. Mode shapes (Number of mode shapes) You can select up to 5 mode shapes.Mode shape 4. i. 5 Mode shape iii. Hingeless (Rigid Blade) iv. If you want to plot more than 5 mode shapes. 3. 1.Mode shape 5.There are 5 popupmenus. Composite 3. Blade Root You can select one of these 2 options: 1. Titanium 4. 4. Hinged (Articulated) Blade 2. Plot Axis You can select one of the 3 options: 206 .Mode shape 2. 1. you should use the related MATLAB® code listed in APPENDIX A manually. They are itemized as they are appeared in ‘Main GUI Window’. Steel ii.Mode shape 3. E_n (Elasticity module-stiffness) You can pick either of the following options: 1.

then the number of the stations should match in the input boxes for “ Radius”. 1. Note that once you select ‘Uniform’ blade you should use corresponding values for uniform otherwise the program will not run and give error or warning dialog boxes. 207 .(For current version of the generated GUI program coupled is not available.) 1. If the design is about a ‘Nonuniform Blade’. Nonuniform b. Edit Boxes Write numerical data in the input edit boxes. i. You can enter a non-zero value as long as you have picked ‘Hinged (Articulated)’ in the ‘Blade Root’ popupmenu box. Uniform 2. Flatwise 2. Coupled v. It is the same for the nonuniform blade. Rotor RPM Rotational Speed of the design helicopter in units of ‘rpm’. this will avoid the GUI to run. Do not use any nonnumerical inputs. ii. Hinge Offset Hinge Offset (e) of the rotor blade in units of ‘inches’. Do not use ‘0’ for rotational speed this will cause problems in GUI. and you will see error statements in MATLAB® Command Window. Otherwise you should enter 0 for ‘Hingeless (Rigid)’. Blade Form You can select one of the 2 options. Edgewise 3. “Weight” and “Inertia”.

230.6. 2. 5.4.1. OK This pushbutton is used to run the program..235. 2. Push Button i.5} Then enter the inertia in the edit box as: 1.4.5 …………………….5 c. Use the unit of ‘lbs’ Example: If the weight values of each station are: { 7. 5. 2.) in between the stations. If you have selected “Uniform”: You should enter only one numerical value.10} Then enter the radius in the edit box as: 250. 2.2.5 . 230. …. 3} Then enter the weight in the edit box as: 7.10 iv. 4. After pushing this button GUI will automatically run all the necessary programs. Use the unit of ‘inch4’ Example: If the inertia values of each station are: { 1.5.……. and give the plots and the results on the ‘Main GUI Window’. 5..4.240.1.3 v. 240. 3. Weight (stations) Weight input procedure is the same as the radius procedure. 3. ……….. Example: If the radius values of the blade are: {250. 2. 208 . Use commas (. 2.iii.2. 235.6.5……. I_xx (stations) Inertia input procedure is the same as the radius procedure. Once you entered all the inputs push on this button. …………………. Radius (stations) Radius input changes depending on the selection made in ‘Blade Form’ popupmenu box. which should be the length of the blade in units of ‘inches’.

i. Omega_1……. Omega_1…. Using ‘guide’command 209 .ii. you can see the input and output values at the same time. RUNNING THE PROGRAM There are two different ways of running the GUI program: 1.. Output Boxes There are two types of outputs in this GUI program. Axis Mode shape plot is depicted in this box. 2. still stays in the GUI window after running the program.Omega_5 for side label “cpm” The Natural Frequency values are depicted in these boxes on the right side of the ‘cpm’ label. B. iii. Centrifugal Force The box under this title gives the Centrifugal Force value of inputs entered ii. CANCEL If you push on this it will cancel to run the program. Natural frequency values correspond the boxes under each ‘omega’ box. b. Hence. You can see which plot is depicted from both the inputs you have chosen and the title of the plot located in the axis box. a. Static Boxes Note that the inputs entered. Each ratio corresponds the boxes under each ‘omega’ box.Omega_5 for the side label “ratio” Ratio of Natural Frequencies to the Operational Speed is depicted in these boxes on the right side of the ‘ratio' label.

> untitled. MATLAB® will open the ‘gui layout editor window’ File Edit View D Of I X Web C t'l l*i Window " Help " I If I ? I Current Directory: | H:\npstez\tlneltez: MATLAB® Command Window -|n| X| .fiq File Edit View Layout Tools Help D^e x % fe ^ ^ i ii m*t ■ m0 „i- IXI m G3 Icf GUI Layout Editor j From this window you can go to ‘open files’ icon and open the ‘finalthesis.fig’ file where it is saved in your computer.Print ‘guide’ and press ‘enter’ in MATLAB® Command window. 210 .

. Running with the m-file Open the Command window of MATLAB®. guidata(fig. H Generate a structure of handles to pass to callbacks.m’file. Do not make any changes in this program page.m File Edit View Text Debug Breakpoints Web Window Help är e © en* F & function varargout = final diesis(varargin) H FIHALTHESIS Application H-file for finalthesis. It may cause problems when you want to run the GUI.0 OS-Sep-2002 13:06:07 if nargin == 0 H LAUHCH GUI fig = openfig(mfilename.Once you open the ‘finalthesis.'defaultUicontrolBackgroundColor')).m file’ Go to ‘debug’ and ‘run’ the program.[]/handles) % (2) Popup Menu "modeshape" modeshape_popupmenu_Callback(handles. H Use system color scheme for figure: set(fig. But it is not exactly the same window. The window that you have opened is ‘gui layout editor window’.en_popupmenu. and store it. handles = guihandles(fig).data =i Field with the current value of the popup % (1) Popup Menu "en" en_popupmenu_Callback(handles. H Last Modified by GUIDE v2. Then enter the input values as described in previous section and run the program. on top of the window and click on it.hinge_popupmenu. Do not make any additions or changes on this window. handles).handles\ ’finalthesis. This will bring you another window.[]. Go to the open files part and open the ‘finalthesis.) invoke the named callback..fig ‘ file you will see the similar window as ‘Main GUI Window’. which has the main running m-file of the GUI. H FIHALTHESIS('callback_name'. This may cause problems while you are running the GUI ?J H:\npstez\finaUez2\finalthesis. .fig H FIG = FIHALTHESIS launch finalthesis GUI. This will open you the ‘main GUI window’.modeshape_popupmenuf[]fhandles) H (3) Popup Henu "hinge" hinge_popupmenu_Callback(handles. This will open you the ‘Main Go to the GUI Window’.'reuse'). 2.'Color'ygetfO. Then enter the input values as described above and run the program 211 . % Call the popup menu callback to initialize the handles.

THIS PAGE INTENTIONALLY LEFT BLANK 212 .

. Computer Code for Interactive Rotorcraft Preliminary Design Using a Harmonic Balance Method for Rotor Trim. Master’s Thesis.D. Monterey.. Jr. December 1995. December 1994. Monterey. California. Linear Modeling of Tiltrotor Aircraft (In Helicopter and Airplane Modes) for Stability Analysis and Preliminary Design. California. California. September 1995. Master’s Thesis. 2. D. June 1996. September 1993.M.L.LIST OF REFERENCES 1.W. Monterey. 7.. Linear Modeling of Rotorcraft for Stability Analysis and Preliminary Design. Monterey. Wirth. 6. 8.D. A Validation of the Joint Army/Navy Rotorcraft Analysis and Design Software by Comparison With H-34 and UH-60A Flight Test. Naval Postgraduate School.R.M. California. Naval Postgraduate School. Eccles. 3.. Master’s Thesis. G. Modeling Helicopter Blade Dynamics Using a Modified MyklestadProhl Transfer Matrix Method. Klein.S. September 1993. June 1998 213 . Monterey. Cuesta. California. W. Performance Enhancements to Joint Army/Navy Rotorcraft Analysis and Design (JANRAD) Software and Graphical User Interface (GUI)... Master’s Thesis. California. Hiatt. Monterey. A Study of Helicopter Rotor Dynamics and Modeling Methods. California. Master’s Thesis. C.. D. J. Naval Postgraduate School. Jr. March 1998. Nicholson. Master’s Thesis.K.. Hucke. Lapacik. Development of Graphical User Interface (GUI) for Joint Army/Navy Rotorcraft Analysis and Design (JANRAD) Software. Monterey. 5. 4.F. Master’s Thesis. Master’s Thesis. Naval Postgraduate School. California. Monterey.

Stability and Control Module for Joint Army/Navy Rotorcraft Analysis and Design (JANRAD) Software and Graphical User Interface (GUI). Dynamic System Identification and Modeling of a Rotary Wing UAV for Stability and Control Analysis.. 185-433.. M. October 1963.P. The Macmillan Company. California. March 1999.10. 44. “Analysis of Helicopter Aerolastic Characteristic in High-Speed Flight. 18. P. D. Chapman. 1985. H.no. 15. Young. Marchand.J. pp.. 5 October 2001. Monterey. Mcewen. R. Inc. Gerstenberger..L.. and Rosenbaum R. pp. 1951 14. S. Monterey.J.. D. Ashley. J.” paper presented AA 3402 Helicopter Aeromechanics Course. and Halfman.. 159-188..P.9. Bisplinghoff. S. MATLAB® Programming for Engineers. 4913. Graphics and GUIs with MATLAB.. no. Mechanical Vibrations. Heathorn. “Tables of Characteristic Functions Representing Normal Modes of Vibration of a Beam. CRC Press.. 2d ed. Dover Publication.C.R.L. Master’s Thesis. Buffalano. 149... Scanlan. California. vol. 2002. 13..Wood and A. H.” The University of Texas Publication. by E.D. California. Hartog. pp.” AIAA Journal.R. “An Introduction to Helicopter Dynamics. 11. 16. v. and Wood. 1..R.. R. 20. Aerolasticity. Brooks/Cole. Wood. 1-33. MATLAB® Programming for Engineers. 1999. Chapman. 1 July 1949. 214 . Monterey. W. E. Parametric Investigation of the Aerodynamic and Aerolastic Characteristic of Articulated and Rigid (Hingeless) Helicopter Rotor Systems. E.A. Dover Publications. June 1998. p. Jr.D. 2d ed. 2366-2381.. 19. Introduction to the Study of Aircraft Vibration and Flutter. Master’s Thesis. April 1964. pp. R. 1996. 2000.. 12. Inc.R. 17. 10. TRECOM Technical Report 64-15.. and Felgar. Brooks/Cole.

Istanbul. Turkiye 8. Professor E. California 7.INITIAL DISTRIBUTION LIST 1.U. Turkiye 11. California 3.A. Roberts Wood Naval Postgraduate School Monterey.T.Arc.H. Turkiye 215 . Defense Technical Information Center Ft. Virginia 2. Ucak ve Uzay Bilimleri Fakultesi Dekanligi Maslak. K. California 6. Dudley Knox Library Naval Postgraduate School Monterey. Turkiye 12.U. Kara Kuvveleri Komutanligi Ankara. Turkish Aerospace Industries Inc.D. Turkiye 13. K. O. ve Fb. Ankara.Hv.ligi Guvercinlik. Turkiye 4. Belvoir. I. Savunma Bilimleri Enstitusu Ankara.T. 901. Havacilik Muhendisligi Bolumu Ankara. Turkiye 10. Anadolu Universitesi Sivil Havacilik Okulu Eskisehir. CDR Mark A.Dp.O. 1 LT. Erciyes Universitesi Sivil Havacilik Okulu Kayseri. Dogan Ozturk Turkish Army Ankara. Ankara. Turkiye 9. Couch Naval Postgraduate School Monterey. Turkiye 5.

Hakki Erdem Akin Turkish Army Ankara. Turkiye 16. Refik Irfan Ozturk Istanbul. Turkiye 17. New Jersey 18. Turkiye 15. Turkiye 216 . Iskender Girgin Ankara. 1 LT.14. Fikri Ozturk Manisa. Suat Gokhan Ozturk Belleville.

Sign up to vote on this title
UsefulNot useful