This book provides the theory of anisotropic elasticity with the computer program for analytical solutions as well as bo
408 82 28MB
English Pages 925 [913] Year 2021
Table of contents :
Preface
Reference
Contents
1 Anisotropic Elasticity
1.1 Theory of Elasticity
1.2 Linear Anisotropic Elastic Materials
1.2.1 Three-Dimensional Constitutive Relations
1.2.2 Two-Dimensional Constitutive Relations
1.2.3 Laminate Constitutive Relations
1.3 Thermoelastic Problems
1.4 Piezoelectric Materials
References
2 Complex Variable Formalism
2.1 Two-Dimensional Analysis
2.1.1 Lekhnitskii Formalism
2.1.2 Stroh Formalism
2.1.3 Extended Stroh Formalism for Thermoelastic Problems
2.1.4 Expanded Stroh Formalism for Piezoelectric Materials
2.2 Plate Bending Analysis
2.2.1 Lekhnitskii Bending Formalism
2.2.2 Stroh-Like Bending Formalism
2.3 Coupled Stretching-Bending Analysis
2.3.1 Stroh-Like Formalism
2.3.2 Extended Stroh-Like Formalism for Thermal Stresses in Laminates
2.3.3 Expanded Stroh-Like Formalism for Electro-Elastic Laminates
2.4 Explicit Expressions
2.4.1 Fundamental Elasticity Matrix N
2.4.2 Material Eigenvector Matrices A and B
2.4.3 Barnett-Lothe Tensors S, H and L
2.5 General Remarks
2.5.1 Degeneracy of Material Eigenvectors
2.5.2 Units, Scaling Factors, and Dimensions
2.5.3 Sign Convention
2.5.4 Common Symbols
2.5.5 Extended Symbols
References
3 Computer Program with Matlab
3.1 Program Structures
3.1.1 Computational Procedure
3.1.2 Control Parameters
3.1.3 Global Variables
3.1.4 Input
3.1.5 Output
3.2 Main Program and Functions
3.2.1 Main Program
3.2.2 Function Description
3.3 Input and Calculation of Material Properties
3.3.1 Function—elastic
3.3.2 Function—thermal
3.3.3 Function—piezoM
3.4 Calculation of Material Eigenvalues and Eigenvectors
3.4.1 Function—material_eigen
3.4.2 Function—thermal_eigen
3.5 Calculation of Analytical Solutions
3.5.1 Function—internal, positionTime
3.5.2 Function—uphi_bank
3.6 Functions for Double Check
3.6.1 Function—piezo2, piezoM2
3.6.2 Function—fundamental_N
3.6.3 Function—eigen_muAB
3.6.4 Function—identities
3.7 Functions for Output
3.7.1 Function—output_caption
3.7.2 Function—printTF
3.7.3 Function—TableFig, TableFig3D
3.8 Examples
3.8.1 Elastic Properties
3.8.2 Thermal Properties
3.8.3 Piezoelectric Properties
References
4 Infinite Space, Half Space and Bi-materials
4.1 Infinite Space
4.1.1 Uniform Load—s411infUL
4.1.2 Inplane Bending—s412infIB
4.1.3 Point Force—s413infPF
4.1.4 Point Moment—s414infPM
4.1.5 Dislocation—s415infDL
4.2 Half Space
4.2.1 Point Force—s421halfPF
4.2.2 Point Force on Surface—s422halfPFs
4.2.3 Distributed Load—s423halfDT
4.2.4 Point Moment—s424halfPM
4.2.5 Dislocation—s425halfDL
4.3 Bi-materials
4.3.1 Point Force and Dislocation—s431bimatPFD
4.3.2 Point Force and Dislocation on the Interface—s432bimatPFDi
4.4 Functions for Common Use
4.4.1 Function—Stroh_matrices
4.4.2 Function—Gauss
4.5 Examples
4.5.1 Infinite Space
4.5.2 Half Space
4.5.3 Bi-materials
References
5 Wedges and Interface Corners
5.1 Uniform Tractions on the Wedge Sides
5.1.1 Non-critical Wedge Angles
5.1.2 Critical Wedge Angles—s512wedgeUT
5.2 Forces at the Wedge Apex
5.2.1 A Single Wedge Under a Point Force—s521wedgePF
5.2.2 A Single Wedge Under a Point Moment—s522wedgePM
5.2.3 Multi-material Wedge Spaces—s523MwedgePFD
5.2.4 Multi-material Wedges—s524MwedgePF
5.3 Stress Singularities
5.3.1 Multi-material Wedge Spaces
5.3.2 Multi-material Wedges
5.3.3 Eigenfunctions—s533MwedgeSOE
5.4 Stress Intensity Factors
5.4.1 Near Tip Field Solutions
5.4.2 Unified Definition—s542MwedgeNTS
5.4.3 H-Integral for 2D Interface Corners—s543MwedgeSIF2d
5.4.4 H-Integral for 3D Interface Corners—s544MwedgeSIF3d
5.5 Functions for Common Use
5.5.1 Function—multiwedge
5.5.2 Function—muller
5.5.3 Function—s5_ut
5.5.4 Function—MLS
5.6 Examples
5.6.1 Single Wedge
5.6.2 Multi-material Wedges
5.6.3 Interface Corners
References
6 Holes
6.1 Elliptical Holes
6.1.1 Uniform Load at Infinity—s611EholeUL
6.1.2 In-plane Bending at Infinity—s612EholeIB
6.1.3 Arbitrary Load Along the Hole Boundary—s613EholeAL
6.1.4 Point Force at an Arbitrary Location—s614EholePF
6.1.5 Dislocation at an Arbitrary Location—s615EholeDL
6.2 Polygon-Like Holes
6.2.1 Transformation Function
6.2.2 Uniform Load at Infinity—s622PholeUL
6.2.3 In-plane Bending at Infinity—s623PholeIB
6.3 Functions for Common Use
6.3.1 Function—mapEP
6.3.2 Function—logBranch
6.4 Examples
6.4.1 Elliptical Holes
6.4.2 Polygon-Like Holes
References
7 Cracks
7.1 Singular Characteristics of Cracks
7.1.1 Cracks in Homogeneous Materials—s711crackNTS
7.1.2 Interfacial Cracks—s712IFcrackNTS
7.1.3 Cracks Terminating at the Interfaces—s713crackTI
7.2 A Finite Straight Crack
7.2.1 Uniform Load at Infinity—s721crackUL
7.2.2 In-plane Bending at Infinity—s722crackIB
7.2.3 Arbitrary Load on the Crack Surfaces—s723crackAL
7.2.4 Point Force at Arbitrary Location—s724crackPF
7.2.5 Dislocation at Arbitrary Location—s725crackDL
7.3 Collinear Cracks
7.3.1 General Solutions
7.3.2 Two Collinear Cracks—s732CO2crackUL
7.3.3 Collinear Periodic Cracks—s733COPcrackUL
7.4 Collinear Interface Cracks
7.4.1 General Solutions—s741IFcrack
7.4.2 Semi-infinite Interface Crack—s742SIFcrackPFs
7.4.3 Finite Interface Crack—s743_1IFcrackPFs, S743_2IFcrackUL
7.4.4 Two Collinear Interface Cracks—s744CO2IFcrackUL
7.5 Examples
7.5.1 Near Tip Solutions
7.5.2 Finite Straight Crack
7.5.3 Collinear Cracks
7.5.4 Collinear Interface Cracks
References
8 Inclusions
8.1 Elliptical Elastic Inclusions
8.1.1 Uniform Load at Infinity—s811EEincluUL
8.1.2 A Point Force at the Matrix—s812EEincluPFm
8.2 Rigid Inclusions
8.2.1 Elliptical Rigid Inclusions—s821_1ERincluUL, s821_2ERincluPF
8.2.2 Rigid Line Inclusions—s822_1RLincluUL
8.2.3 Polygon-Like Rigid Inclusions—s823PRincluUL
8.3 Interactions Between Inclusions and Dislocations
8.3.1 Dislocations Outside the Inclusions—s831EEincluDLo
8.3.2 Dislocations Inside the Inclusions—s832EEincluDLi
8.3.3 Dislocations on the Interfaces—s833EEincluDLf
8.4 Interactions Between Inclusions and Cracks
8.4.1 Cracks Outside the Inclusions—s841EEincluCo
8.4.2 Cracks Inside the Inclusions—s842EEincluCi
8.4.3 Cracks Penetrating the Inclusions—s843EEincluCp
8.4.4 Curvilinear Cracks Lying Along the Interfaces—s844EEincluCc
8.5 Functions for Common Use
8.5.1 Function—TGCEF
8.5.2 Function—Gauss_elimination
8.5.3 Function—s84_CoeffUniform
8.5.4 Function—s84_abcEFG
8.5.5 Function—s84_Kt
8.5.6 Function—s84_F12
8.5.7 Function—s84_Kbeta
8.5.8 Function—s84_uphi
8.6 Examples
8.6.1 Elliptical Elastic Inclusions
8.6.2 Rigid Inclusions
8.6.3 Inclusions and Dislocations
8.6.4 Inclusions and Cracks
References
9 Contact Problems
9.1 Rigid Punches on a Half-Plane
9.1.1 General Solutions
9.1.2 A Flat-Ended Punch Indented by a Load—s912FpunchL
9.1.3 A Flat-Ended Punch Tilted by a Moment—s913FpunchM
9.1.4 A Parabolic Punch Indented by a Load—s914PpunchL
9.2 Rigid Stamp Indentation on a Curvilinear Hole Boundary
9.2.1 General Solutions
9.2.2 Elliptical Hole Boundaries—s922Estamp
9.2.3 Polygonal Hole Boundaries—s923Pstamp
9.3 Rigid Punches on a Perturbed Surface
9.3.1 Straight Boundary Perturbation
9.3.2 Elliptical Boundary Perturbation
9.3.3 Illustrative Examples—s933_1Cpunch, s933_2Tstamp
9.4 Sliding Punches with or without Friction
9.4.1 General Solutions
9.4.2 A Sliding Wedge-Shaped Punch—s942SWpunch
9.4.3 A Sliding Parabolic Punch—s943SPpunch
9.4.4 Two Sliding Flat-Ended Punches—s944S2punch
9.5 Contact Between Two Elastic Bodies
9.5.1 Contact in the Presence of Friction—s951P2Fcontact
9.5.2 Contact in the Absence of Friction—s952P2contact
9.5.3 Contact in Complete Adhesion
9.6 Functions for Common Use
9.6.1 Function—s9_delLam
9.6.2 Function—s9_fzp
9.6.3 Function—s9_uphi
9.6.4 Function—s9_Plemelj
9.7 Examples
9.7.1 Rigid Punches on a Half-Plane
9.7.2 Rigid Stamp Indentation on a Curvilinear Hole Boundary
9.7.3 Rigid Punches on a Perturbed Surface
9.7.4 Sliding Punches with or without Friction
9.7.5 Contact Between Two Elastic Bodies
References
10 Thermoelastic Problems
10.1 Extended Stroh Formalism
10.2 Holes and Cracks
10.2.1 Elliptical Holes Under Uniform Heat Flow—s1021EholeUH
10.2.2 Cracks Under Uniform Heat Flow—s1022crackUH
10.3 Rigid Inclusions
10.3.1 Elliptical Rigid Inclusions Under Uniform Heat Flow—s1031ERincluUH
10.3.2 Rigid Line Inclusions Under Uniform Heat Flow—s1032RLincluUH
10.4 Collinear Interface Cracks
10.4.1 General Solutions
10.4.2 Uniform Heat Flow—s1042IFcrackUH
10.5 Multi-material Wedges
10.5.1 Stress and Heat Flux Singularity
10.5.2 Eigenfunctions—s1052MwedgeTH
10.6 Function for Common Use
10.6.1 Function—s10_gamma
10.7 Examples
10.7.1 Holes, Cracks and Inclusions
10.7.2 Multi-material Wedges
References
11 Piezoelectric and Magneto-Electro-Elastic Materials
11.1 Constitutive Laws
11.1.1 Piezoelectric Materials
11.1.2 Magneto-Electro-Elastic Materials—MEE, MEExy, MEE3Dto2D
11.2 Expanded Stroh Formalism
11.2.1 Piezoelectric Materials
11.2.2 Magneto-Electro-Elastic Materials
11.3 Holes
11.3.1 Elliptical Holes—s1131piezoEhole
11.3.2 Polygon-Like Holes—s1132piezoPhole
11.4 Multi-material Wedges
11.4.1 Orders of Stress/Electric Singularity
11.4.2 Near Tip Field Solutions
11.4.3 H-Integral
11.5 Singular Characteristics of Cracks
11.5.1 Cracks
11.5.2 Interface Cracks
11.6 Some Crack Problems
11.6.1 Cracks—s1161piezoCOcrack
11.6.2 Interface Cracks—s1162piezoIFcrack
11.7 Examples
11.7.1 Holes and Cracks
11.7.2 Multi-material Wedges
11.7.3 Inclusions
11.7.4 Contact Problems
11.7.5 Thermoelastic Problems
References
12 Viscoelastic Materials
12.1 Linear Anisotropic Viscoelasticity
12.1.1 Stroh Formalism in Laplace Domain
12.1.2 Material Eigenvalues and Eigenvectors—visco
12.1.3 Numerical Inversion of the Laplace Transform—Laplace_inv
12.2 Linear Anisotropic Thermo-Viscoelasticity
12.3 Problems with Viscoelastic Materials—s1221visco, visco_load
12.4 Examples
12.4.1 Holes, Cracks and Inclusions
12.4.2 Wedges and Interface Corners
12.4.3 Contact Problems
References
13 Plate Bending Analysis
13.1 Bending Theory of Anisotropic Plates
13.2 Holes/Inclusions/Cracks
13.2.1 Elliptical Holes—s1321EholeUB
13.2.2 Elliptical Rigid Inclusions—s1322ERincluUB, s1420LAMincluUSB
13.2.3 Cracks—s1323crackUB
13.2.4 Elliptical Elastic Inclusions—s1324EEincluUB, s1423LAMEEincluUSB
13.3 Examples
References
14 Coupled Stretching-Bending Analysis
14.1 Coupled Stretching-Bending Theory of Laminates
14.2 Holes in Laminates
14.2.1 Uniform Stretching and Bending Moments—s1421LAMholeUSB
14.2.2 Uniform Heat Flow—s1422LAMholeUH
14.3 Holes in Electro-elastic Laminates
14.4 Green’s Functions for Laminates—s1441LAMinfPFM
14.5 Green’s Functions for Laminates with Holes/Cracks
14.5.1 Holes—s1451LAMholePFM
14.5.2 Cracks—s1452LAMcrackPFM
14.6 Green’s Functions for Laminates with Elastic Inclusions
14.6.1 Outside the Inclusion—s1461LAMincluPFMo
14.6.2 Inside the Inclusion—s1462LAMincluPFMi
14.7 Functions for Common Use
14.7.1 Function—s14_mdinf
14.7.2 Function—s14_eck
14.8 Examples
14.8.1 Holes in Laminates
14.8.2 Green’s Functions
References
15 Boundary Element Analysis
15.1 An Overview
15.1.1 Boundary Integral Equations
15.1.2 Fundamental Solutions—Greenbank
15.1.3 Interpolation Functions
15.1.4 Boundary Element Formulation
15.1.5 Boundary-Based Finite Element
15.1.6 Computational Procedure
15.1.7 Program Structure—BEMbankB, BEMbankIN
15.2 Fundamental Solutions for Two-Dimensional Anisotropic Elastic Analysis
15.2.1 An Infinite Plane—G1inf2D
15.2.2 A Half Plane—G2half2D
15.2.3 Interfaces—G3interface2D
15.2.4 Holes—G4hole2D
15.2.5 Cracks
15.2.6 Rigid Inclusions—G6Rinclusion2D
15.2.7 Elastic Inclusions—G7Einclusion2D
15.3 Fundamental Solutions for Coupled Stretching-Bending Analysis
15.3.1 An Infinite Laminate—G1infCouple
15.3.2 Holes—G4holeCouple
15.3.3 Cracks
15.3.4 Inclusions—G7inclusionCouple
15.4 Two-Dimensional Anisotropic Elastic Analysis—Basic Version
15.4.1 Mesh Generation of Boundary Element—BEMmesh
15.4.2 Influence Matrices—BEMinfluence, BEMinfluence_YG
15.4.3 Computation of Singular Integrals—BEMinfluence_G2
15.4.4 Solutions at the Boundary Nodes—BEM2DelasticB
15.4.5 Solutions at the Internal Points—BEM2DelasticIN, BEMinfluenceIN
15.4.6 Multiple Holes/Cracks/Inclusions—BFEM
15.5 Two-Dimensional Anisotropic Elastic Analysis—Extended Version
15.5.1 Piezoeletric/MEE Analysis
15.5.2 Viscoelastic Analysis—BEM2DviscoB, BEM2DviscoIN, BFEMv
15.5.3 Thermoelastic Analysis—BEMload_thermo, thermal_BEM
15.6 Two-Dimensional Anisotropic Dynamic Analysis
15.6.1 Particular Solutions—BEMload_dynamic
15.6.2 Boundary Element Formulation—BEM_YGMVsplit
15.6.3 Free Vibration
15.6.4 Steady-State Forced Vibration
15.6.5 Transient Analysis—BEM2DdynamicB, BEM2DdynamicIN
15.7 Coupled Stretching-Bending Analysis
15.7.1 Boundary Element Formulation—BEMcoupleB, BEMload_couple, BEMinfluence_Cc, BEMinfluence_Yt
15.7.2 Computation of Singular Integrals
15.7.3 Auxiliary Relations for the Multiple Nodes of Corners—BEM_aux
15.7.4 Solutions at the Boundary Nodes—BEMstrainstressB
15.7.5 Solutions at the Internal Points—BEMcoupleIN
15.8 Contact Analysis
15.8.1 Contact of Two Elastic Solids—BEM2Dcontact2ElaB
15.8.2 Indentation by Multiple Rigid Punches—BEM2DcontactMReB
15.8.3 Contact of Viscoelastic Solids—BEM2Dcontact2VisB, BEM2DcontactMRvBc, BEM2DcontactMRvBt
15.8.4 Functions for Common Use—BEM2Dcontact_BCv, BEM2Dcontact_CCR, BEM2Dcontact_Cstatus, BEM2Dcontact_Dfq, BEM2Dcontact_DT, BEM2Dcontact_localC, BEM2Dcontact_MRB, BEM2Dcontact_ut12, BEM2Dcontact_vtv, BEM2Dcontact_YGtoKf, BEM2DviscoINt
15.9 Three-Dimensional Analysis
15.9.1 Radon-Stroh Formalism—CijkstoCik
15.9.2 Fundamental Solutions—G1inf3D
15.9.3 Boundary Element Formulation—BEM3DelasticB, BEM3DelasticIN, BEMinfluence3D_YG, BEMstrainstressB3D
15.9.4 Extension to Piezoelectric and MEE Materials
15.10 Functions for Common Use
15.10.1 Function—GreenCouple
15.10.2 Function—BEM_YGtoVg
15.10.3 Function—CSABD_star
15.10.4 Function—s15_pgzV
15.11 Examples
15.11.1 Two-Dimensional Anisotropic Elastic Analysis
15.11.2 Two-Dimensional Piezoelectric/Viscoelastic/Thermoelastic Analysis
15.11.3 Two-Dimensional Anisotropic Dynamic Analysis
15.11.4 Coupled Stretching-Bending Analysis
15.11.5 Contact Analysis
15.11.6 Three-Dimensional Analysis
References
Appendix_1
A.1 Numerical Integration
A.1.1 Gaussian Quadrature Rule
A.1.2 Weakly Singular Integration—GaussLog
A.1.3 Strongly Singular Integration—GaussInv
A.2 Solving Systems of Linear Equations
A.2.1 Gaussian Elimination
A.3 Finding Zeros of Functions
A.3.1 Newton’s Method
A.3.2 Muller’s Method
A.3.2 Muller’s Method
B.1 Array Versus Matrix Operations
B.2 “for loop” Vectorization
B.3 “if statement” Vectorization
B.3 “if statement” Vectorization
B.3 “if statement” Vectorization
B.3 “if statement” Vectorization
E.1 Input Files for All Cases (Sect. 3.1.4)
E.2 Input Files for Material Properties (Sect. 3.1.4)
E.3 Input Files for the Arrangement of Internal Points (Sect. 3.1.4)
E.4 Input Files for Load and Structural Information (Sects. from 4.1.1 to 15.1.7)
E.5 Additional Input Files for BEM (Sect. 15.1.7)
E.5 Additional Input Files for BEM (Sect. 15.1.7)
Author Index
Subject Index
Solid Mechanics and Its Applications
Chyanbin Hwu
Anisotropic Elasticity with Matlab
Solid Mechanics and Its Applications Volume 267
Founding Editor G. M. L. Gladwell, University of Waterloo, Waterloo, ON, Canada Series Editors J. R. Barber, Department of Mechanical Engineering, University of Michigan, Ann Arbor, MI, USA Anders Klarbring, Mechanical Engineering, Linköping University, Linköping, Sweden
The fundamental questions arising in mechanics are: Why?, How?, and How much? The aim of this series is to provide lucid accounts written by authoritative researchers giving vision and insight in answering these questions on the subject of mechanics as it relates to solids. The scope of the series covers the entire spectrum of solid mechanics. Thus it includes the foundation of mechanics; variational formulations; computational mechanics; statics, kinematics and dynamics of rigid and elastic bodies; vibrations of solids and structures; dynamical systems and chaos; the theories of elasticity, plasticity and viscoelasticity; composite materials; rods, beams, shells and membranes; structural control and stability; soils, rocks and geomechanics; fracture; tribology; experimental mechanics; biomechanics and machine design. The median level of presentation is the first year graduate student. Some texts are monographs defining the current state of the field; others are accessible to final year undergraduates; but essentially the emphasis is on readability and clarity. Springer and Professors Barber and Klarbring welcome book ideas from authors. Potential authors who wish to submit a book proposal should contact Dr. Mayra Castro, Senior Editor, Springer Heidelberg, Germany, email: [email protected] Indexed by SCOPUS, Ei Compendex, EBSCO Discovery Service, OCLC, ProQuest Summon, Google Scholar and SpringerLink.
More information about this series at http://www.springer.com/series/6557
Chyanbin Hwu
Anisotropic Elasticity with Matlab
123
Chyanbin Hwu Department of Aeronautics and Astronautics National Cheng Kung University Tainan, Taiwan
ISSN 0925-0042 ISSN 2214-7764 (electronic) Solid Mechanics and Its Applications ISBN 978-3-030-66675-0 ISBN 978-3-030-66676-7 (eBook) https://doi.org/10.1007/978-3-030-66676-7 © The Editor(s) (if applicable) and The Author(s), under exclusive license to Springer Nature Switzerland AG 2021 This work is subject to copyright. All rights are solely and exclusively licensed by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, expressed or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations. This Springer imprint is published by the registered company Springer Nature Switzerland AG The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
Preface
Because the analytical solutions are usually expressed in the closed-form of mathematical expressions, they often offer the advantages of transparency and efficiency, and can serve as the benchmarks for the numerical solutions. However, unlike the numerical techniques that can provide a general-purpose engineering analysis, such as finite element method and boundary element method, due to the limit of simple models very few computer programs were developed for the analytical solutions. In my previous book, Anisotropic Elastic Plates (Hwu, 2010), more than one hundred analytical solutions are presented for the problems of anisotropic elasticity. Most of the solutions are applicable to all kinds of linear anisotropic elastic materials, and can be extended to piezoelectric, piezomagnetic, magneto-electro-elastic, and viscoelastic materials. So it would be useful if these analytical solutions can be computed numerically through a well-designed computer program. With this consideration, in this book I plan to provide the computer program for the analytical solutions and boundary element analysis presented in my previous book. Since the analytical solutions presented in (Hwu, 2010) are expressed in complex variable matrix form, the programming language Matlab, which is good for array operation and matrix operation, is selected for our computer program. The program is named as AEPH (Anisotropic Elastic Plates - Hwu). To handle different kinds of problems, several Matlab functions are created in this program. These functions are modularly structured so that the readers can readily extend or adapt them to suit their own needs. To help the readers understand the codes, appropriate comments as well as the associated equation number are added in the related lines of the function to enhance its readability. If special numerical techniques are used in the programming, some remarks will be stated in the related sections. Representative examples are shown in all chapters (except Chaps. 1 and 2) to illustrate how to prepare the input files to get the analytical solutions and boundary element solutions. All the solutions of the representative examples together with many other unpublished examples calculated by AEPH have been verified internally by different approaches and/or externally by the commercial finite element software ANSYS. Even though every attempt has been made to verify all the functions created in AEPH, due to the vast range it may cover still no guarantee can be given for their performance in practice. For the convenience of the readers’ reference, most of the chapters and the sections are purposely arranged according to my previous book (Hwu, 2010). Also, a control parameter named by the section number is used to direct the function flow. To avoid duplication with the previous book and to provide complete information for the computer program, all the analytical solutions are presented in this book without providing the detailed derivation. The basic theory of anisotropic elasticity and complex variable formalism are summarized in Chaps. 1 and 2 without going into details. Chapter 3 is a totally new chapter stating program structures, the main program, and the related functions. The computational procedures as well as the nomenclature of control parameters, global variables, input, and output used in AEPH are described in this chapter.
v
vi
Chapters 4–9 provide the analytical solutions and their associated functions for the problems of wedges, interface corners, holes, cracks, inclusions, and contact. Chapter 10 deals with thermoelastic problems. Chapters 11 and 12 extend all the previous solutions to the cases of piezoelectric, magneto-electro-elastic and viscoelastic materials. Chapter 13 presents the solutions for plate bending analysis which are all implemented as special cases of coupled stretching-bending analysis stated in Chap. 14. Chapter 15 starts with an overview of the boundary element method (BEM) that includes the brief introduction of the boundary integral equation, fundamental solution, interpolation function, boundary element formulation, boundary-based finite element, computational procedure, and program structure. All the problems of boundary element analysis are managed by two main functions, BEMbankB and BEMbankIN, except those for three-dimensional (3D) analysis which instead are managed by BEM3DelasticB and BEM3DelasticIN. The function whose name ends with the letter B is responsible for the solutions of boundary nodes, whereas the one that ends with IN is for the solutions of internal points. The boundary elements collected in BEMbankB and BEMbankIN are further categorized by (1) linear or quadratic, (2) static, dynamic or contact, (3) two-dimensional or coupled stretching-bending, (4) anisotropic, piezoelectric, magneto-electro-elastic, viscoelastic or thermoelastic, and (5) problem with a traction-free line, an interface, a hole, a crack, a rigid inclusion, an elastic inclusion, or multiple holes/cracks/inclusions. To implement the boundary element provided in AEPH, additional input files are required to input mesh information, boundary conditions, and other necessary data for different kinds of boundary element methods. To compute the analytical solutions numerically, several standard numerical algorithms such as those for numerical integration, solving systems of linear equations, and finding zeros of functions have been employed in our programs. For the convenience of the readers’ reference, these algorithms are briefly introduced in Appendix A. To provide a way of improving the efficiency of our computer program, part of 3D-BEM was coded through ‘for loop’ vectorization, whose details are presented in Appendix B. Since totally 204 functions are provided in our computer program - AEPH, a lot of global variables are used and different input files are required for different problems. To have a clear picture of them, lists of functions, global variables, and input files are provided in Appendix C, D, and E. The source codes of all these functions are then provided in Appendix F. To provide a friendly interface for the users to prepare their input files via messages from the operating system, a Windows program written using Microsoft Visual C++ is also designed for running the program AEPH, but not included in this book. Just like all the other computational products, even if the readers have difficulties to understand the computer codes of AEPH, they still can use this program to get the solutions for the problems presented in this book. Since this program can deal with the two-dimensional, coupled stretching-bending, and three-dimensional problems with linear anisotropic elastic, piezoelectric, magneto-electro-elastic, and viscoelastic materials, I believe it is helpful for engineers and scientists who want to have the analytical or boundary element solutions for the general anisotropic elastic plates or solids. The topics such as wedges, interfaces, cracks, holes, inclusions, contact, and thermal stresses are all included. The solutions obtained here, especially the analytical solutions, can then serve as the benchmarks or play as the alternatives to the numerical solutions commonly calculated by commercial finite element software. This book is appropriate to be a university textbook for the courses related to anisotropic elasticity and computational mechanics, which is generally offered for the graduate students majoring in aerospace, mechanical, civil, and naval engineering, applied mechanics, and engineering science. It is difficult to cover all the contents in a one-semester course. By properly selecting the related book chapters, it may be a good reference book for the standard courses such as elasticity, mechanics of composite materials, fracture mechanics, plates and shells, boundary element method, smart materials and structures, etc. and for the advanced courses such as advanced elasticity, viscoelasticity, themoelasticity, advanced mechanics of composite materials, contact mechanics, micromechanics, etc. It will be helpful for engineers
Preface
Preface
vii
and scientists who want to have an advanced knowledge of the theory of elasticity and mechanics of composite materials and structures. Moreover, students, engineers, researchers, and scientists can all use the results run by the codes provided in this book as their benchmark for the solutions from other methods. I wish to express my gratitude to my Ph.D. thesis adviser, Prof. T. C. T. Ting, and my mentors, Prof. C. S. Yeh of National Taiwan University and Prof. W. H. Chen of National Tsing-Hua University, for their guidance during my studies. Since the publication of my previous book (Hwu, 2010), some of my friends encouraged me to write down the computer program for the analytical solutions of anisotropic elasticity. Here, I would like to thank my friends, Profs. K. Kishimoto (Tokyo Institute of Technology), M. Omiya (Keio University), N. Miyazaki (Kyoto University), T. Ikeda (Kagoshima University), Y. W. Mai (Sydney University), T. Aoki (Tokyo University), T. Yokozeki (Tokyo University), and C. Zhang (Siegen University), who have helped me during my visit to their departments. I would also like to thank my friends, V. Mantic of University of Seville, C. K. Chao of National Taiwan University of Science and Technology, T. Chen, Y. C. Shiah of National Cheng Kung University, and C. C. Ma, C. K. Wu, and T. T. Wu of National Taiwan University for their helpful discussions during my research on anisotropic elasticity. Special thanks also to my former assistant H. Shen, who helped me in drawing parts of figures presented in this book, and my students C. W. Hsu, V. T. Nguyen, C. L. Hsu, H. W. Chang, H. Y. Huang, Y. C. Chen, J. H. Shu, R. F. Liang, S. T. Huang, W. R. Chen, Z. H. Zhou, B. H. Shu, C. C. Li, S. H. Ho, T. H. Lo, J. C. Yu, H. B. Ko, C. Y. Chen, D. W. Huang, S. Y. Duan, H. S. Huang, J. Y. Hu, etc., who debugged and verified the computer codes, and Y. J. Yang, C. F. Chou, R. J. Wang, K. H. Weng, P. M. Chan, W. S. Huang, P. F. Ho, J. G. Jang, etc., who designed the Windows program, and many other former students who have ever contributed to part of AEPH. I acknowledge the Ministry of Science and Technology of Taiwan for the support of my research in the area of anisotropic elasticity. Finally, I would like to dedicate this book to my wife, Wenling, and my daughters, Frannie and Vevey, with thanks for their constant support and encouragement in everything. Tainan, Taiwan October 2020
Reference Hwu, C., 2010, Anisotropic Elastic Plates, Springer, New York.
Chyanbin Hwu
Contents
1
Anisotropic Elasticity . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 Theory of Elasticity . . . . . . . . . . . . . . . . . . . . . . . 1.2 Linear Anisotropic Elastic Materials . . . . . . . . . . . 1.2.1 Three-Dimensional Constitutive Relations 1.2.2 Two-Dimensional Constitutive Relations . 1.2.3 Laminate Constitutive Relations . . . . . . . 1.3 Thermoelastic Problems . . . . . . . . . . . . . . . . . . . . 1.4 Piezoelectric Materials . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
1 1 3 3 7 10 13 15 20
2
Complex Variable Formalism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Two-Dimensional Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1 Lekhnitskii Formalism . . . . . . . . . . . . . . . . . . . . . . . . 2.1.2 Stroh Formalism . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.3 Extended Stroh Formalism for Thermoelastic Problems 2.1.4 Expanded Stroh Formalism for Piezoelectric Materials . 2.2 Plate Bending Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 Lekhnitskii Bending Formalism . . . . . . . . . . . . . . . . . 2.2.2 Stroh-Like Bending Formalism . . . . . . . . . . . . . . . . . . 2.3 Coupled Stretching-Bending Analysis . . . . . . . . . . . . . . . . . . . . 2.3.1 Stroh-Like Formalism . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.2 Extended Stroh-Like Formalism for Thermal Stresses in Laminates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.3 Expanded Stroh-Like Formalism for Electro-Elastic Laminates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Explicit Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.1 Fundamental Elasticity Matrix N . . . . . . . . . . . . . . . . . 2.4.2 Material Eigenvector Matrices A and B . . . . . . . . . . . . 2.4.3 Barnett-Lothe Tensors S, H and L . . . . . . . . . . . . . . . . 2.5 General Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5.1 Degeneracy of Material Eigenvectors . . . . . . . . . . . . . 2.5.2 Units, Scaling Factors, and Dimensions . . . . . . . . . . . . 2.5.3 Sign Convention . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5.4 Common Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5.5 Extended Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
21 21 22 23 27 28 29 30 31 32 32
......
35
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
38 39 39 42 48 50 51 51 56 59 61 63
Computer Program with Matlab . . . . . . 3.1 Program Structures . . . . . . . . . . . . 3.1.1 Computational Procedure 3.1.2 Control Parameters . . . . . 3.1.3 Global Variables . . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
65 65 65 68 71
3
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . . . . . .
. . . . .
. . . . . . . . .
. . . . .
. . . . . . . . .
. . . . .
. . . . . . . . .
. . . . .
. . . . . . . . .
. . . . .
. . . . . . . . .
. . . . .
. . . . . . . . .
. . . . .
. . . . . . . . .
. . . . .
. . . . . . . . .
. . . . .
. . . . .
ix
x
Contents
3.1.4 Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.5 Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Main Program and Functions . . . . . . . . . . . . . . . . . . 3.2.1 Main Program . . . . . . . . . . . . . . . . . . . . . . 3.2.2 Function Description . . . . . . . . . . . . . . . . . 3.3 Input and Calculation of Material Properties . . . . . . . 3.3.1 Function—elastic . . . . . . . . . . . . . . . . . . . . 3.3.2 Function—thermal . . . . . . . . . . . . . . . . . . . 3.3.3 Function—piezoM . . . . . . . . . . . . . . . . . . . 3.4 Calculation of Material Eigenvalues and Eigenvectors 3.4.1 Function—material_eigen . . . . . . . . . . . . . . 3.4.2 Function—thermal_eigen . . . . . . . . . . . . . . 3.5 Calculation of Analytical Solutions . . . . . . . . . . . . . . 3.5.1 Function—internal, positionTime . . . . . . . . 3.5.2 Function—uphi_bank . . . . . . . . . . . . . . . . . 3.6 Functions for Double Check . . . . . . . . . . . . . . . . . . . 3.6.1 Function—piezo2, piezoM2 . . . . . . . . . . . . 3.6.2 Function—fundamental_N . . . . . . . . . . . . . 3.6.3 Function—eigen_muAB . . . . . . . . . . . . . . . 3.6.4 Function—identities . . . . . . . . . . . . . . . . . . 3.7 Functions for Output . . . . . . . . . . . . . . . . . . . . . . . . . 3.7.1 Function—output_caption . . . . . . . . . . . . . . 3.7.2 Function—printTF . . . . . . . . . . . . . . . . . . . 3.7.3 Function—TableFig, TableFig3D . . . . . . . . 3.8 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8.1 Elastic Properties . . . . . . . . . . . . . . . . . . . . 3.8.2 Thermal Properties . . . . . . . . . . . . . . . . . . . 3.8.3 Piezoelectric Properties . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
74 79 80 80 80 81 82 82 82 83 83 83 83 84 84 86 86 87 87 87 87 87 88 88 89 89 92 94 97
Infinite Space, Half Space and Bi-materials . . . . . . . . . . . . . 4.1 Infinite Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.1 Uniform Load—s411infUL . . . . . . . . . . . . . . 4.1.2 Inplane Bending—s412infIB . . . . . . . . . . . . . 4.1.3 Point Force—s413infPF . . . . . . . . . . . . . . . . 4.1.4 Point Moment—s414infPM . . . . . . . . . . . . . 4.1.5 Dislocation—s415infDL . . . . . . . . . . . . . . . . 4.2 Half Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.1 Point Force—s421halfPF . . . . . . . . . . . . . . . 4.2.2 Point Force on Surface—s422halfPFs . . . . . . 4.2.3 Distributed Load—s423halfDT . . . . . . . . . . . 4.2.4 Point Moment—s424halfPM . . . . . . . . . . . . . 4.2.5 Dislocation—s425halfDL . . . . . . . . . . . . . . . 4.3 Bi-materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.1 Point Force and Dislocation—s431bimatPFD . 4.3.2 Point Force and Dislocation on the Interface—s432bimatPFDi . . . . . . . . . . . . . . 4.4 Functions for Common Use . . . . . . . . . . . . . . . . . . . . 4.4.1 Function—Stroh_matrices . . . . . . . . . . . . . . . 4.4.2 Function—Gauss . . . . . . . . . . . . . . . . . . . . . 4.5 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
99 100 100 102 103 105 107 108 108 109 110 111 112 113 113
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
114 115 115 116 117
Contents
xi
4.5.1 4.5.2 4.5.3 References . . . .
Infinite Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Half Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Bi-materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
5
Wedges and Interface Corners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1 Uniform Tractions on the Wedge Sides . . . . . . . . . . . . . . . . . . . . . 5.1.1 Non-critical Wedge Angles . . . . . . . . . . . . . . . . . . . . . . . 5.1.2 Critical Wedge Angles—s512wedgeUT . . . . . . . . . . . . . . 5.2 Forces at the Wedge Apex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.1 A Single Wedge Under a Point Force—s521wedgePF . . . 5.2.2 A Single Wedge Under a Point Moment—s522wedgePM 5.2.3 Multi-material Wedge Spaces—s523MwedgePFD . . . . . . 5.2.4 Multi-material Wedges—s524MwedgePF . . . . . . . . . . . . 5.3 Stress Singularities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.1 Multi-material Wedge Spaces . . . . . . . . . . . . . . . . . . . . . 5.3.2 Multi-material Wedges . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.3 Eigenfunctions—s533MwedgeSOE . . . . . . . . . . . . . . . . . 5.4 Stress Intensity Factors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.1 Near Tip Field Solutions . . . . . . . . . . . . . . . . . . . . . . . . 5.4.2 Unified Definition—s542MwedgeNTS . . . . . . . . . . . . . . . 5.4.3 H-Integral for 2D Interface Corners—s543MwedgeSIF2d . 5.4.4 H-Integral for 3D Interface Corners—s544MwedgeSIF3d . 5.5 Functions for Common Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5.1 Function—multiwedge . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5.2 Function—muller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5.3 Function—s5_ut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5.4 Function—MLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6.1 Single Wedge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6.2 Multi-material Wedges . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6.3 Interface Corners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
121 121 121 123 126 126 127 129 130 131 131 131 132 133 133 134 136 139 140 140 141 141 141 141 141 142 143 144
6
Holes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1 Elliptical Holes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.1 Uniform Load at Infinity—s611EholeUL . . . . . . . . . . . . . 6.1.2 In-plane Bending at Infinity—s612EholeIB . . . . . . . . . . . 6.1.3 Arbitrary Load Along the Hole Boundary—s613EholeAL 6.1.4 Point Force at an Arbitrary Location—s614EholePF . . . . 6.1.5 Dislocation at an Arbitrary Location—s615EholeDL . . . . 6.2 Polygon-Like Holes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.1 Transformation Function . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.2 Uniform Load at Infinity—s622PholeUL . . . . . . . . . . . . . 6.2.3 In-plane Bending at Infinity—s623PholeIB . . . . . . . . . . . 6.3 Functions for Common Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3.1 Function—mapEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3.2 Function—logBranch . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.1 Elliptical Holes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.2 Polygon-Like Holes . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
145 145 145 148 149 151 155 156 156 157 159 160 160 160 161 161 162 163
xii
7
8
Contents
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
165 165 165 166 167 168 168 169 170 170 172 172 172 173 176 177 177 178
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
179 182 183 183 184 185 185 186
Inclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.1 Elliptical Elastic Inclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.1.1 Uniform Load at Infinity—s811EEincluUL . . . . . . . . . 8.1.2 A Point Force at the Matrix—s812EEincluPFm . . . . . . 8.2 Rigid Inclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2.1 Elliptical Rigid Inclusions—s821_1ERincluUL, s821_ 2ERincluPF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2.2 Rigid Line Inclusions—s822_1RLincluUL . . . . . . . . . . 8.2.3 Polygon-Like Rigid Inclusions—s823PRincluUL . . . . . 8.3 Interactions Between Inclusions and Dislocations . . . . . . . . . . . . 8.3.1 Dislocations Outside the Inclusions—s831EEincluDLo . 8.3.2 Dislocations Inside the Inclusions—s832EEincluDLi . . 8.3.3 Dislocations on the Interfaces—s833EEincluDLf . . . . . 8.4 Interactions Between Inclusions and Cracks . . . . . . . . . . . . . . . . 8.4.1 Cracks Outside the Inclusions—s841EEincluCo . . . . . . 8.4.2 Cracks Inside the Inclusions—s842EEincluCi . . . . . . . 8.4.3 Cracks Penetrating the Inclusions—s843EEincluCp . . . 8.4.4 Curvilinear Cracks Lying Along the Interfaces— s844EEincluCc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.5 Functions for Common Use . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.5.1 Function—TGCEF . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.5.2 Function—Gauss_elimination . . . . . . . . . . . . . . . . . . . 8.5.3 Function—s84_CoeffUniform . . . . . . . . . . . . . . . . . . . 8.5.4 Function—s84_abcEFG . . . . . . . . . . . . . . . . . . . . . . . 8.5.5 Function—s84_Kt . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
187 187 190 191 192
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
193 195 195 197 197 199 200 203 203 206 207
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
209 210 210 211 211 211 211
Cracks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1 Singular Characteristics of Cracks . . . . . . . . . . . . . . . . . . . . . . 7.1.1 Cracks in Homogeneous Materials—s711crackNTS . . 7.1.2 Interfacial Cracks—s712IFcrackNTS . . . . . . . . . . . . . 7.1.3 Cracks Terminating at the Interfaces—s713crackTI . . 7.2 A Finite Straight Crack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2.1 Uniform Load at Infinity—s721crackUL . . . . . . . . . . 7.2.2 In-plane Bending at Infinity—s722crackIB . . . . . . . . 7.2.3 Arbitrary Load on the Crack Surfaces—s723crackAL 7.2.4 Point Force at Arbitrary Location—s724crackPF . . . . 7.2.5 Dislocation at Arbitrary Location—s725crackDL . . . . 7.3 Collinear Cracks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.1 General Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.2 Two Collinear Cracks—s732CO2crackUL . . . . . . . . . 7.3.3 Collinear Periodic Cracks—s733COPcrackUL . . . . . . 7.4 Collinear Interface Cracks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4.1 General Solutions—s741IFcrack . . . . . . . . . . . . . . . . 7.4.2 Semi-infinite Interface Crack—s742SIFcrackPFs . . . . 7.4.3 Finite Interface Crack—s743_1IFcrackPFs, S743_ 2IFcrackUL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4.4 Two Collinear Interface Cracks—s744CO2IFcrackUL 7.5 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5.1 Near Tip Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5.2 Finite Straight Crack . . . . . . . . . . . . . . . . . . . . . . . . 7.5.3 Collinear Cracks . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5.4 Collinear Interface Cracks . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contents
xiii
8.5.6 Function—s84_F12 . . . . . . 8.5.7 Function—s84_Kbeta . . . . . 8.5.8 Function—s84_uphi . . . . . . 8.6 Examples . . . . . . . . . . . . . . . . . . . . . 8.6.1 Elliptical Elastic Inclusions . 8.6.2 Rigid Inclusions . . . . . . . . . 8.6.3 Inclusions and Dislocations . 8.6.4 Inclusions and Cracks . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . 9
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
211 211 212 213 213 213 214 215 216
Contact Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1 Rigid Punches on a Half-Plane . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1.1 General Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1.2 A Flat-Ended Punch Indented by a Load—s912FpunchL . 9.1.3 A Flat-Ended Punch Tilted by a Moment—s913FpunchM 9.1.4 A Parabolic Punch Indented by a Load—s914PpunchL . . 9.2 Rigid Stamp Indentation on a Curvilinear Hole Boundary . . . . . . . . 9.2.1 General Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.2 Elliptical Hole Boundaries—s922Estamp . . . . . . . . . . . . . 9.2.3 Polygonal Hole Boundaries—s923Pstamp . . . . . . . . . . . . 9.3 Rigid Punches on a Perturbed Surface . . . . . . . . . . . . . . . . . . . . . . 9.3.1 Straight Boundary Perturbation . . . . . . . . . . . . . . . . . . . . 9.3.2 Elliptical Boundary Perturbation . . . . . . . . . . . . . . . . . . . 9.3.3 Illustrative Examples—s933_1Cpunch, s933_2Tstamp . . . 9.4 Sliding Punches with or without Friction . . . . . . . . . . . . . . . . . . . . 9.4.1 General Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.4.2 A Sliding Wedge-Shaped Punch—s942SWpunch . . . . . . . 9.4.3 A Sliding Parabolic Punch—s943SPpunch . . . . . . . . . . . . 9.4.4 Two Sliding Flat-Ended Punches—s944S2punch . . . . . . . 9.5 Contact Between Two Elastic Bodies . . . . . . . . . . . . . . . . . . . . . . 9.5.1 Contact in the Presence of Friction—s951P2Fcontact . . . . 9.5.2 Contact in the Absence of Friction—s952P2contact . . . . . 9.5.3 Contact in Complete Adhesion . . . . . . . . . . . . . . . . . . . . 9.6 Functions for Common Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.6.1 Function—s9_delLam . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.6.2 Function—s9_fzp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.6.3 Function—s9_uphi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.6.4 Function—s9_Plemelj . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.7 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.7.1 Rigid Punches on a Half-Plane . . . . . . . . . . . . . . . . . . . . 9.7.2 Rigid Stamp Indentation on a Curvilinear Hole Boundary 9.7.3 Rigid Punches on a Perturbed Surface . . . . . . . . . . . . . . . 9.7.4 Sliding Punches with or without Friction . . . . . . . . . . . . . 9.7.5 Contact Between Two Elastic Bodies . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
217 217 217 220 221 222 223 223 225 225 226 226 227 228 231 231 233 234 236 237 238 239 240 241 241 241 241 242 242 242 242 243 244 244 245
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
10 Thermoelastic Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1 Extended Stroh Formalism . . . . . . . . . . . . . . . . . . . . . . . . . 10.2 Holes and Cracks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2.1 Elliptical Holes Under Uniform Heat Flow—s1021EholeUH . . . . . . . . . . . . . . . . . . . . . 10.2.2 Cracks Under Uniform Heat Flow—s1022crackUH 10.3 Rigid Inclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . . 247 . . . . . . . . . 247 . . . . . . . . . 247 . . . . . . . . . 247 . . . . . . . . . 250 . . . . . . . . . 251
xiv
Contents
10.3.1
Elliptical Rigid Inclusions Under Uniform Heat Flow—s1031ERincluUH . . . . . . . . . . . . . . . . . 10.3.2 Rigid Line Inclusions Under Uniform Heat Flow—s1032RLincluUH . . . . . . . . . . . . . . . . . 10.4 Collinear Interface Cracks . . . . . . . . . . . . . . . . . . . . . . . . 10.4.1 General Solutions . . . . . . . . . . . . . . . . . . . . . . . 10.4.2 Uniform Heat Flow—s1042IFcrackUH . . . . . . . 10.5 Multi-material Wedges . . . . . . . . . . . . . . . . . . . . . . . . . . 10.5.1 Stress and Heat Flux Singularity . . . . . . . . . . . . 10.5.2 Eigenfunctions—s1052MwedgeTH . . . . . . . . . . 10.6 Function for Common Use . . . . . . . . . . . . . . . . . . . . . . . 10.6.1 Function—s10_gamma . . . . . . . . . . . . . . . . . . . 10.7 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.7.1 Holes, Cracks and Inclusions . . . . . . . . . . . . . . 10.7.2 Multi-material Wedges . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 251 . . . . . . . . . . . . .
. . . . . . . . . . . . .
11 Piezoelectric and Magneto-Electro-Elastic Materials . . . . . . . . . . 11.1 Constitutive Laws . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1.1 Piezoelectric Materials . . . . . . . . . . . . . . . . . . . . . 11.1.2 Magneto-Electro-Elastic Materials—MEE, MEExy, MEE3Dto2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Expanded Stroh Formalism . . . . . . . . . . . . . . . . . . . . . . . . . 11.2.1 Piezoelectric Materials . . . . . . . . . . . . . . . . . . . . . 11.2.2 Magneto-Electro-Elastic Materials . . . . . . . . . . . . . 11.3 Holes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.3.1 Elliptical Holes—s1131piezoEhole . . . . . . . . . . . . 11.3.2 Polygon-Like Holes—s1132piezoPhole . . . . . . . . . 11.4 Multi-material Wedges . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.4.1 Orders of Stress/Electric Singularity . . . . . . . . . . . 11.4.2 Near Tip Field Solutions . . . . . . . . . . . . . . . . . . . 11.4.3 H-Integral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.5 Singular Characteristics of Cracks . . . . . . . . . . . . . . . . . . . . 11.5.1 Cracks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.5.2 Interface Cracks . . . . . . . . . . . . . . . . . . . . . . . . . . 11.6 Some Crack Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.6.1 Cracks—s1161piezoCOcrack . . . . . . . . . . . . . . . . 11.6.2 Interface Cracks—s1162piezoIFcrack . . . . . . . . . . 11.7 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.7.1 Holes and Cracks . . . . . . . . . . . . . . . . . . . . . . . . . 11.7.2 Multi-material Wedges . . . . . . . . . . . . . . . . . . . . . 11.7.3 Inclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.7.4 Contact Problems . . . . . . . . . . . . . . . . . . . . . . . . . 11.7.5 Thermoelastic Problems . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Viscoelastic Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.1 Linear Anisotropic Viscoelasticity . . . . . . . . . . . . . . . . . 12.1.1 Stroh Formalism in Laplace Domain . . . . . . . . 12.1.2 Material Eigenvalues and Eigenvectors—visco . 12.1.3 Numerical Inversion of the Laplace Transform—Laplace_inv . . . . . . . . . . . . . . . . 12.2 Linear Anisotropic Thermo-Viscoelasticity . . . . . . . . . . .
. . . .
. . . .
. . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
252 253 253 255 257 257 258 261 261 261 261 263 263
. . . . . . . . . 265 . . . . . . . . . 265 . . . . . . . . . 265 . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
266 274 274 275 278 278 280 280 280 280 281 282 282 282 282 283 283 283 283 284 285 286 286 287
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
289 289 289 290
. . . . . . . . . . . . 295 . . . . . . . . . . . . 295
Contents
xv
12.3 12.4
Problems with Viscoelastic Materials—s1221visco, visco_load Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.4.1 Holes, Cracks and Inclusions . . . . . . . . . . . . . . . . . 12.4.2 Wedges and Interface Corners . . . . . . . . . . . . . . . . . 12.4.3 Contact Problems . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13 Plate Bending Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.1 Bending Theory of Anisotropic Plates . . . . . . . . . . . . . . 13.2 Holes/Inclusions/Cracks . . . . . . . . . . . . . . . . . . . . . . . . 13.2.1 Elliptical Holes—s1321EholeUB . . . . . . . . . . . 13.2.2 Elliptical Rigid Inclusions—s1322ERincluUB, s1420LAMincluUSB . . . . . . . . . . . . . . . . . . . 13.2.3 Cracks—s1323crackUB . . . . . . . . . . . . . . . . . 13.2.4 Elliptical Elastic Inclusions—s1324EEincluUB, s1423LAMEEincluUSB . . . . . . . . . . . . . . . . . 13.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Coupled Stretching-Bending Analysis . . . . . . . . . . . . . . . . . . . 14.1 Coupled Stretching-Bending Theory of Laminates . . . . . 14.2 Holes in Laminates . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.2.1 Uniform Stretching and Bending Moments—s1421LAMholeUSB . . . . . . . . . . . 14.2.2 Uniform Heat Flow—s1422LAMholeUH . . . . 14.3 Holes in Electro-elastic Laminates . . . . . . . . . . . . . . . . . 14.4 Green’s Functions for Laminates—s1441LAMinfPFM . . 14.5 Green’s Functions for Laminates with Holes/Cracks . . . . 14.5.1 Holes—s1451LAMholePFM . . . . . . . . . . . . . . 14.5.2 Cracks—s1452LAMcrackPFM . . . . . . . . . . . . 14.6 Green’s Functions for Laminates with Elastic Inclusions . 14.6.1 Outside the Inclusion—s1461LAMincluPFMo . 14.6.2 Inside the Inclusion—s1462LAMincluPFMi . . 14.7 Functions for Common Use . . . . . . . . . . . . . . . . . . . . . 14.7.1 Function—s14_mdinf . . . . . . . . . . . . . . . . . . . 14.7.2 Function—s14_eck . . . . . . . . . . . . . . . . . . . . . 14.8 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.8.1 Holes in Laminates . . . . . . . . . . . . . . . . . . . . 14.8.2 Green’s Functions . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . .
. . . .
. . . .
. . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
297 298 298 300 301 302
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
303 303 305 305
. . . . . . . . . . . . 308 . . . . . . . . . . . . 308 . . . . . . . . . . . . 309 . . . . . . . . . . . . 310 . . . . . . . . . . . . 311 . . . . . . . . . . . . 313 . . . . . . . . . . . . 313 . . . . . . . . . . . . 316 . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
316 319 321 322 324 324 328 329 329 332 335 335 335 335 335 336 337
15 Boundary Element Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.1 An Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.1.1 Boundary Integral Equations . . . . . . . . . . . . . . . . . . . . 15.1.2 Fundamental Solutions—Greenbank . . . . . . . . . . . . . . 15.1.3 Interpolation Functions . . . . . . . . . . . . . . . . . . . . . . . . 15.1.4 Boundary Element Formulation . . . . . . . . . . . . . . . . . . 15.1.5 Boundary-Based Finite Element . . . . . . . . . . . . . . . . . 15.1.6 Computational Procedure . . . . . . . . . . . . . . . . . . . . . . 15.1.7 Program Structure—BEMbankB, BEMbankIN . . . . . . . 15.2 Fundamental Solutions for Two-Dimensional Anisotropic Elastic Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.2.1 An Infinite Plane—G1inf2D . . . . . . . . . . . . . . . . . . . . 15.2.2 A Half Plane—G2half2D . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
339 339 339 342 343 344 344 346 347
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . 353 . . . . . . 353 . . . . . . 354
xvi
Contents
15.3
15.4
15.5
15.6
15.7
15.8
15.9
15.2.3 Interfaces—G3interface2D . . . . . . . . . . . . . . . . . . . . . . . . . 15.2.4 Holes—G4hole2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.2.5 Cracks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.2.6 Rigid Inclusions—G6Rinclusion2D . . . . . . . . . . . . . . . . . . . 15.2.7 Elastic Inclusions—G7Einclusion2D . . . . . . . . . . . . . . . . . . Fundamental Solutions for Coupled Stretching-Bending Analysis . . . . 15.3.1 An Infinite Laminate—G1infCouple . . . . . . . . . . . . . . . . . . 15.3.2 Holes—G4holeCouple . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.3.3 Cracks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.3.4 Inclusions—G7inclusionCouple . . . . . . . . . . . . . . . . . . . . . . Two-Dimensional Anisotropic Elastic Analysis—Basic Version . . . . . 15.4.1 Mesh Generation of Boundary Element—BEMmesh . . . . . . 15.4.2 Influence Matrices—BEMinfluence, BEMinfluence_YG . . . . 15.4.3 Computation of Singular Integrals—BEMinfluence_G2 . . . . 15.4.4 Solutions at the Boundary Nodes—BEM2DelasticB . . . . . . . 15.4.5 Solutions at the Internal Points—BEM2DelasticIN, BEMinfluenceIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.4.6 Multiple Holes/Cracks/Inclusions—BFEM . . . . . . . . . . . . . . Two-Dimensional Anisotropic Elastic Analysis—Extended Version . . . 15.5.1 Piezoeletric/MEE Analysis . . . . . . . . . . . . . . . . . . . . . . . . . 15.5.2 Viscoelastic Analysis—BEM2DviscoB, BEM2DviscoIN, BFEMv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.5.3 Thermoelastic Analysis—BEMload_thermo, thermal_BEM . . Two-Dimensional Anisotropic Dynamic Analysis . . . . . . . . . . . . . . . . 15.6.1 Particular Solutions—BEMload_dynamic . . . . . . . . . . . . . . . 15.6.2 Boundary Element Formulation—BEM_YGMVsplit . . . . . . 15.6.3 Free Vibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.6.4 Steady-State Forced Vibration . . . . . . . . . . . . . . . . . . . . . . . 15.6.5 Transient Analysis—BEM2DdynamicB, BEM2DdynamicIN . Coupled Stretching-Bending Analysis . . . . . . . . . . . . . . . . . . . . . . . . 15.7.1 Boundary Element Formulation—BEMcoupleB, BEMload_ couple, BEMinfluence_Cc, BEMinfluence_Yt . . . . . . . . . . . 15.7.2 Computation of Singular Integrals . . . . . . . . . . . . . . . . . . . . 15.7.3 Auxiliary Relations for the Multiple Nodes of Corners— BEM_aux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.7.4 Solutions at the Boundary Nodes—BEMstrainstressB . . . . . . 15.7.5 Solutions at the Internal Points—BEMcoupleIN . . . . . . . . . . Contact Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.8.1 Contact of Two Elastic Solids—BEM2Dcontact2ElaB . . . . . 15.8.2 Indentation by Multiple Rigid Punches— BEM2DcontactMReB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.8.3 Contact of Viscoelastic Solids—BEM2Dcontact2VisB, BEM2DcontactMRvBc, BEM2DcontactMRvBt . . . . . . . . . . 15.8.4 Functions for Common Use—BEM2Dcontact_BCv, BEM2Dcontact_CCR, BEM2Dcontact_Cstatus, BEM2Dcontact_Dfq, BEM2Dcontact_DT, BEM2Dcontact_ localC, BEM2Dcontact_MRB, BEM2Dcontact_ut12, BEM2Dcontact_vtv, BEM2Dcontact_YGtoKf, BEM2DviscoINt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Three-Dimensional Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.9.1 Radon-Stroh Formalism—CijkstoCik . . . . . . . . . . . . . . . . . . 15.9.2 Fundamental Solutions—G1inf3D . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
354 355 355 355 356 357 357 359 360 361 362 365 365 366 369
. . . .
. . . .
371 373 373 373
. . . . . . . . .
. . . . . . . . .
374 374 379 379 381 382 382 383 386
. . 386 . . 391 . . . . .
. . . . .
393 397 399 401 402
. . 410 . . 413
. . . .
. . . .
416 417 417 421
Contents
xvii
15.9.3
Boundary Element Formulation—BEM3DelasticB, BEM3DelasticIN, BEMinfluence3D_YG, BEMstrainstressB3D . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.9.4 Extension to Piezoelectric and MEE Materials . . . . . . . . . 15.10 Functions for Common Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.10.1 Function—GreenCouple . . . . . . . . . . . . . . . . . . . . . . . . . 15.10.2 Function—BEM_YGtoVg . . . . . . . . . . . . . . . . . . . . . . . 15.10.3 Function—CSABD_star . . . . . . . . . . . . . . . . . . . . . . . . . 15.10.4 Function—s15_pgzV . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.11 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.11.1 Two-Dimensional Anisotropic Elastic Analysis . . . . . . . . 15.11.2 Two-Dimensional Piezoelectric/Viscoelastic/Thermoelastic Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.11.3 Two-Dimensional Anisotropic Dynamic Analysis . . . . . . . 15.11.4 Coupled Stretching-Bending Analysis . . . . . . . . . . . . . . . 15.11.5 Contact Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.11.6 Three-Dimensional Analysis . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
422 426 427 427 427 427 427 427 427
. . . . . .
. . . . . .
. . . . . .
. . . . . .
435 436 440 442 446 447
Appendix A: Numerical Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449 Appendix B: Loops and Vectorization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461 Appendix C: List of Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 Appendix D: List of Global Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471 Appendix E: List of Input Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489 Appendix F: AEPH Source Code (Listed in Alphabetic Order). . . . . . . . . . . . . . . . 505 Author Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 903 Subject Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905
1
Anisotropic Elasticity
To study the behavior of an elastic continuous medium, the theory of elasticity is a generally accepted model. A simple idealized linear stress-strain relationship gives a good description of the mechanical properties of many elastic materials around us. By this relation, we need 21 elastic constants to describe a linear anisotropic elastic material if the materials do not possess any symmetry properties. Consideration of the material symmetry may reduce the number of elastic constants. If the two-dimensional deformation is considered, the number of elastic constants used in the theory of elasticity can be further reduced. If the materials are under thermal environment, additional thermal properties are needed to express the temperature effects on the stress-strain relation. If the materials exhibit the piezoelectric effects, the stress-strain relation should be further expanded to include the electric displacements and the electric fields. If not only the inplane deformation but also the out-of-plane deflection are considered for the laminates made by laying up various unidirectional fiber-reinforced composites, the elastic constants will generally be reorganized into the extensional, coupling and bending stiffnesses to suit for the classical lamination theory. Since the computer program developed in this book covers all these kinds of materials, their constitutive relations are now described in this Chapter. Further extensions to magneto-electro-elastic and viscoelastic materials will then be described in Chaps. 11 and 12.
1.1
Theory of Elasticity
In the study of elasticity, the body is generally considered to be a deformable continuous medium. Usually the objectives of analysis are the determination of stresses and strains induced by the external loads. The state of stress at a given point of a continuous body, which is either in equilibrium or in motion as a result of external forces, is known to be represented by the stress components rij . The first subscript of r indicates the direction of normal to the plane, while the second indicates the direction of the stress component. The components r11 ; r22 and r33 which are normal to the element surfaces are called normal stresses. The remaining components that are parallel to the surfaces are called shear stresses. The stress components are symmetric if the body moment is neglected. Knowing the stress components on the planes normal to the coordinate axes, we can always determine the stress vector t on any surface with unit outer normal vector n, which passes through the given point. This stress vector is determined by Cauchy’s formula as ti ¼ rij nj ;
ð1:1Þ
in which repeated indices imply summation through 1–3. This rule of summation convention will be applied in the whole text unless stated otherwise. The stress components in a continuous body that is in equilibrium must satisfy the equilibrium equations, which in Cartesian coordinates are rij;j þ fi ¼ 0;
ð1:2Þ
where fi ; i ¼ 1; 2; 3; designate the body forces referred to a unit volume in directions x1 ; x2 and x3 , and a subscript comma stands for differentiation. Forces applied to solids cause deformation. When the relative position of points in a continuous body is altered, the body is strained. The change in the relative position of points is a deformation. All material bodies are to some extent deformable. If there exists an ideal body which is nondeformable such that the distance between every pair of its points remains invariant © The Author(s), under exclusive license to Springer Nature Switzerland AG 2021 C. Hwu, Anisotropic Elasticity with Matlab, Solid Mechanics and Its Applications 267, https://doi.org/10.1007/978-3-030-66676-7_1
1
2
1
Anisotropic Elasticity
throughout the history of the body, we call it a rigid body. The motion of a rigid body is usually described by translation and rotation. A deformable solid will experience an additional change in shape, i.e. deformation. Let the variables, a1 ; a2 ; a3 ; refer to any particle in the original configuration of the body, and let x1 ; x2 ; x3 be the coordinates of that particle when the body is deformed. The deformation of the body is known if x1 ; x2 ; x3 are known functions of a1 ; a2 ; a3 . The displacement vector u is defined by its components ui ¼ x i ai :
ð1:3Þ
Since the displacements defined in (1.3) may include the rigid body motion and deformation in which the former induces no stress. Thus, the displacements themselves are not directly related to the stresses. To relate deformation with stress, we must consider the stretching and distortion of the body, which is related to the changes in distance and angle among points of the body. For this purpose, when the deformation is infinitesimal the Cauchy’s infinitesimal strain tensor is defined as 1 eij ¼ ðui;j þ uj;i Þ: 2
ð1:4Þ
Like the stresses, the components of the strains that reflect the stretching or shortening of the body, i.e., e11 ; e22 and e33 are called normal strains. The remaining components related to the distortion of the body are called shear strains. Sometimes cij ¼ 2eij ; i 6¼ j are used to represent engineering shear strains. With reference to the definition given in (1.4), it is clear that a sufficiently well-behaved displacement field ui will generate an equally well-behaved strain field by differentiation. The converse, however, is not necessarily true. It is not always possible to find a continuous, single-valued displacement field for any set of six well-behaved scalar functions eij by integration of (1.4). For this reason we need to have the compatibility conditions for the strain fields to insure the existence of a single-valued, continuous displacement field for simply connected continuous body. The equations of compatibility obtained by St. Venant for infinitesimal strains are eij;kl þ ekl;ij eik;jl ejl;ik ¼ 0:
ð1:5Þ
The system of equations (1.5) consists of 34 ¼ 81 equations, but some of these are identically satisfied, and some are repetitions. Considering the symmetry of the strains, there are only six strain components for three-dimensional problems. Since the six strains are defined in terms of three displacement functions, then only three independent compatibility equations within (1.5) are essential. In the case of two-dimensional problems, only three strain components and two displacement functions are necessary. Thus, only one independent compatibility equation should be satisfied for two-dimensional problems, which can be written as 2e12;12 ¼ e11;22 þ e22;11 :
ð1:6Þ
In continuous media the state of stress is completely determined by the stress tensor rij , and the state of deformation by the strain tensor eij . If a material deforms as it is loaded and will return to its original dimensions during unloading, it is called an elastic material. In other words, an elastic material has a one-to-one analytical relation between stresses and strains. If the materials obey a linear relationship between stresses and strains, which is usually called the generalized Hooke’s law, they are linear elastic materials. When a linear elastic material is maintained at a fixed temperature and the stresses vanish when the strains are all zero, i.e., the initial unstrained state of the solid is unstressed, the generalized Hooke’s law can be written as rij ¼ Cijkl ekl ;
ð1:7Þ
where Cijkl are elastic constants which characterize the elastic behavior of the solid. From the previous description, we know that the basic equations for anisotropic elasticity consist of equilibrium equations for static loading conditions (1.2), strain–displacement relations for small deformations (1.4) as well as stress-strain laws for linear anisotropic elastic solids (1.7). These three equation sets constitute 15 partial differential equations with 15 unknown functions ui ; eij ; rij , i; j ¼ 1; 2; 3; in terms of three coordinate variables xi ; i ¼ 1; 2; 3. All these basic equations and unknown functions are designated to every point of the elastic body. A general solution for these 15 unknown functions satisfying 15 basic equations has been derived using complex variable formulation and will be stated in Chap. 2. Since all the equations stated are designated to points of the elastic body without considering the structure type and size, their associated general solutions can be applied to the studies of micromechanics or macromechanics, etc. If the structures constructed by
1.1 Theory of Elasticity
3
the anisotropic elastic body are clearly defined and their associated loading and boundary conditions are well described, the undetermined functions of the general solutions and hence the 15 unknown functions will then be uniquely determined through the satisfaction of the boundary conditions. In other words, the state of stress and deformation will be determined by taking into account the boundary conditions. Depending on what is given at the boundary, there are several distinct problems. Generally, they are separated into the following three types: the first fundamental problem (or called traction-prescribed problem), the second fundamental problem (or called displacement-prescribed problem), and the third fundamental problem (or called mixed boundary value problem).
1.2
Linear Anisotropic Elastic Materials
An elastic body is called isotropic when its elastic properties are identical in all directions, and anisotropic (or called triclinic) when its elastic properties are different for different directions. If the anisotropic elastic materials obey a linear relationship between stresses and strains, the constitutive law may be expressed by using the generalized Hooke’s law (1.7) in which Cijkl is a fourth rank tensor and has 81 elastic constants. Because of various symmetry conditions in practice there is no need to deal with such many constants. Reduction of the number of elastic constants will then be described below for three-dimensional constitutive relations, two-dimensional constitutive relations, and laminate constitutive relations.
1.2.1 Three-Dimensional Constitutive Relations Due to the symmetry of stresses and strains, and the existence of an elastic potential function whose derivative with respect to a strain component determines the corresponding stress component, it is required that Cijkl ¼ Cjikl ; Cijkl ¼ Cijlk ; Cijkl ¼ Cklij :
ð1:8Þ
Because of the symmetry properties, the number of independent elastic constants can be drastically decreased from 81 to 21. To avoid dealing with double sums, a contracted notation has been introduced as r11 ¼ r1 ; r22 ¼ r2 ; r33 ¼ r3 ; r23 ¼ r4 ; r31 ¼ r5 ; r12 ¼ r6 ; e11 ¼ e1 ; e22 ¼ e2 ; e33 ¼ e3 ; 2e23 ¼ e4 ; 2e31 ¼ e5 ; 2e12 ¼ e6 :
ð1:9Þ
And hence, through the symmetry conditions (1.8), the generalized Hooke’s law (1.7) can be written as rp ¼ Cpq eq ;
Cpq ¼ Cqp ;
p; q ¼ 1; 2; . . .; 6;
ð1:10aÞ
or, in matrix notation, r ¼ Ce;
C ¼ CT ;
ð1:10bÞ
where the superscript T denotes the transpose of a matrix. Note that rp ; Cpq ; eq are not tensor quantities and therefore cannot be transformed as tensors. Cpq is sometimes called stiffness matrix. The transformation between Cijkl and Cpq is accomplished by the replacement of the subscript according to the following rules for ij (or kl) $ p (or q): 11 $ 1; 22 $ 2; 33 $ 3; 23(or 32Þ $ 4; 31(or 13Þ $ 5; 12(or 21Þ $ 6.
ð1:11Þ
The relations between stresses and strains written in (1.7) must be reversible, and we can write eij ¼ Sijkl rkl ;
ð1:12Þ
where Sijkl are the compliances which are components of a fourth rank tensor. They also possess the full symmetry conditions like (1.8), i.e., Sijkl ¼ Sjikl ; Sijkl ¼ Sijlk ; Sijkl ¼ Sklij :
ð1:13Þ
4
1
Anisotropic Elasticity
Similar to the contracted notation introduced for the elastic tensor Cijkl , the compliance tensor Sijkl can also be contracted according to the rules shown in (1.11) except suitable factors should be added as (Ting 1996) Sijkl ¼ Spq ; if both p; q 3; 2Sijkl ¼ Spq ; if either p or q 3; 4Sijkl ¼ Spq ; if both p;q [ 3.
ð1:14Þ
With (1.13) and (1.14), the stress-strain law (1.12) in contracted notation is ep ¼ Spq rq ;
Spq ¼ Sqp ;
ð1:15aÞ
S ¼ ST :
ð1:15bÞ
or, in matrix notation, e ¼ Sr; Substitution of (1.15b) into (1.10b) yields CS ¼ I ¼ SC;
ð1:16Þ
where I is the 6 6 unit matrix. The relation (1.16) indicates that the stiffness matrix C and the compliance matrix S are the inverses of each other. With the foregoing reduction from 81 to 21 independent constants, the stress-strain relations (1.10a, 1.10b) are 8 9 2 38 9 C11 C12 C13 C14 C15 C16 > r1 > e1 > > > > > > 6 > > > > > > 7> r C C C C C C e2 > > > > > 2 12 22 23 24 25 26 > 7> = 6 = < > < > 7 6 r3 C C C C C C e 13 23 33 34 35 36 3 7 ¼6 ; ð1:17Þ 7 6 r4 > C14 C24 C34 C44 C45 C46 7> e4 > > > > > > 6 > > > > > > > r > 4 C15 C25 C35 C45 C55 C56 5> e > > > > > ; ; : 5> : 5> r6 C16 C26 C36 C46 C56 C66 e6 which is the most general expression within the framework of linear anisotropic elasticity. For most elastic solids, the number of independent elastic constants is far smaller than 21. The reduction is caused by the existence of material symmetry. If there is one plane of material symmetry such as the plane x3 ¼ 0, the stress-strain relations reduce to 8 9 2 38 9 C11 C12 C13 r1 > 0 0 C16 > > > > > > e1 > > > > 7> > > e2 > 6 C12 C22 C23 r2 > 0 0 C > > > 26 > > > > 7> = < = 6 < 7 6 r3 C13 C23 C33 0 0 C36 7 e3 6 ¼6 : ð1:18Þ 0 0 C44 C45 0 7 e4 > > 6 0 > r4 > > > > 7> > > > > > 0 0 C45 C55 0 5> > 4 0 > > r5 > > e5 > > > ; ; : > : > C16 C26 C36 r6 0 0 C66 e6 Such a material is termed monoclinic or aelotropic, which has 13 independent elastic constants. If a material has two orthogonal planes of material symmetry, it can be proved that the symmetry will exist relative to a third mutually orthogonal plane (Ting 1996). Such materials are said to be orthotropic (or rhombic), whose stress-strain relations in coordinates aligned with principal material directions are 8 9 2 38 9 r1 > C11 C12 C13 0 0 0 > > > > > > e1 > > > 6 C12 C22 C23 > > r2 > > e2 > 7> 0 0 0 > > > > > > > 7 6 = < = 6 < > 7 C r3 C C 0 0 0 e 13 23 33 7 3 ; ¼6 ð1:19Þ 6 0 0 0 C44 r4 > 0 0 7 e4 > > > > > > 7> 6 > > > > > 0 0 0 C55 r > 0 5> e > > 4 0 > > > > > ; ; : 5> : 5> 0 0 0 0 0 C66 r6 e6 which has 9 independent elastic constants. If at every point of a material there is one plane in which the mechanical properties are equal in all directions, then the material is termed transversely isotropic. If, for example, the x3 ¼ 0 plane is the special plane of isotropy, the stress-strain relations of this kind of materials are
1.2 Linear Anisotropic Elastic Materials
5
8 9 2 C11 r1 > > > > > 6 > > C12 r2 > > > > > 6 < = 6 C r3 ¼ 6 13 0 > 6 > r4 > > 6 > 4 > > 0 r5 > > > > > : ; 0 r6
C12 C11 C13 0 0 0
C13 C13 C33 0 0 0
0 0 0 C44 0 0
0 0 0 0 C44 0
38 9 0 > > > e1 > > > e2 > 7> 0 > > > 7> = < 7 0 7 e3 ; 7> e4 > 0 > 7> > > 5> 0 e5 > > > > ; : > ðC11 C12 Þ=2 e6
ð1:20Þ
which have only five independent constants. The greatest reduction in the number of elastic constants is obtained when the material is symmetric with respect to any plane and any axis, or say, the elastic properties are identical in all directions. Such materials are called isotropic materials, whose stress-strain relations can be expressed by only two independent elastic constants as 8 9 2 38 9 r1 > C11 C12 C12 0 0 0 > > > > > > e1 > > > 6 C12 C11 C12 > > r2 > > e2 > 7> 0 0 0 > > > > > > > 7 6 = < = 6 < > 7 C r3 C C 0 0 0 e 12 12 11 7 3 : ¼6 ð1:21Þ 7> e4 > 6 0 0 0 ðC11 C12 Þ=2 r4 > 0 0 > > > > 7> 6 > > > > > 5> 0 0 0 ðC11 C12 Þ=2 r > 0 e > > 4 0 > > > > > ; ; : 5> : 5> 0 0 0 0 0 ðC11 C12 Þ=2 r6 e6 By letting C12 ¼ k; and ðC11 C12 Þ=2 ¼ l;
ð1:22Þ
where k and l are the Lame constants, the generalized Hooke’s law for an isotropic material can also be written in the following form rij ¼ kdij ekk þ 2leij ; i;j; k ¼ 1; 2; 3;
ð1:23Þ
in which dij is defined as dij ¼ 1 when i ¼ j and dij ¼ 0 when i 6¼ j, and is called the Kronecker delta. Restrictions on elastic constants are due to the positive definiteness of the strain energy which implies that the stiffness (or the compliances) matrices must be positive-definite. The necessary and sufficient conditions for Cij (or Sij ) to be positive definite are that the eigenvalues of Cij (or Sij ) are positive, or alternatively all the leading principal minors of the stiffness (or compliance) matrix are positive. The obtained restrictions on elastic constants can then be used to examine experimental data to see if they are physically consistent within the framework of the mathematical elasticity model. It’s known that the components of stresses and strains will be different in a different coordinate system, and will transform according to the law of second rank tensor, whereas the components of elastic constants and elastic compliances will transform like a tensor of rank 4. In other words, they will transform according to rpq ¼ Xpi Xqj rij ;
epq ¼ Xpi Xqj eij ;
Cpqrs ¼ Xpi Xqj Xrk Xsl Cijkl ;
Spqrs ¼ Xpi Xqj Xrk Xsl Sijkl ;
ð1:24Þ
where Xpi are the direction cosines between rotated (starred) and original (unstarred) axes. Since in numerical computation it is much more convenient using contracted notation than tensor notation, a matrix form transformation relation has been derived as r ¼ Kr; e ¼ ðK1 ÞT e; C ¼KCKT ; S ¼ ðK1 ÞT SK1 ;
ð1:25Þ
in which K is a 6 6 matrix whose explicit form for the general three-dimensional coordinate transformation can be found in (Ting 1996). Here, we just show the special case in which the transformation is a rotation about the x3-axis an angle h,
6
1
2
c2 6 s2 6 6 0 K¼6 6 0 6 4 0 cs
s2 c2 0 0 0 cs
0 0 1 0 0 0
0 0 0 c s 0
0 0 0 s c 0
3 2cs 2cs 7 7 0 7 7; c ¼ cos h; s ¼ sin h: 0 7 7 0 5 c 2 s2
Anisotropic Elasticity
ð1:26Þ
Note that K1 which is the inverse of the transformation matrix K, can easily be calculated from K by setting the angle h to h, i.e., ½KðhÞ1 ¼ KðhÞ. Engineering constants (also known as technical constants) are generalized Young’s moduli, Poisson’s ratios and shear moduli as well as some other behavior constants. These constants are measured in simple tests such as uniaxial tension or pure shear tests. Thus, these constants with their obvious physical interpretation have more direct meaning than the components of the relatively abstract compliance and stiffness matrices discussed previously. Most simple tests are performed with a known load or stress. The resulting displacement or strain is then measured. Thus, the components of the compliance matrix are determined more directly than those of the stiffness matrix. For a general anisotropic elastic material, the compliance matrix components in terms of the engineering constants are 2 1 g1;23 g1;31 g1;12 3 m21 m31 E1
6 m12 6 E1 6 m13 6 E 1 S¼6 6 g23;1 6 E1 6 g31;1 4 E1 g12;1 E1
E2 1 E2 m23 E2 g23;2 E2 g31;2 E2 g12;2 E2
E3 m32 E3 1 E3 g23;3 E3 g31;3 E3 g12;3 E3
G23 g2;23 G23 g3;23 G23 1 G23 l31;23 G23 l12;23 G23
G31 g2;31 G31 g3;31 G31 l23;31 G31 1 G31 l12;31 G31
G12 g2;12 G12 g3;12 G12 l23;12 G12 l31;12 G12 1 G12
7 7 7 7 7; 7 7 7 5
ð1:27Þ
where E1 ; E2 ; E3 are the Young’s moduli in x1 ; x2 and x3 directions, respectively; mij is the Poisson’s ratio for transverse strain in the xj -direction when stressed in the xi -direction, that is, mij ¼ ej =ei for ri ¼ r and all other stresses are zero; G23 ; G31 ; G12 are the shear moduli in the x2 x3 , x3 x1 and x1 x2 planes, respectively; gi;ij is the coefficient of mutual influence of the first kind which characterizes stretching in the xi -direction caused by shear in the xi xj -plane, that is, gi;ij ¼ ei =cij for sij ¼ s and all other stresses are zero; gij;i is the coefficient of mutual influence of the second kind which characterizes shearing in the xi xj -plane caused by a normal stress in the xi -direction, that is, gij;i ¼ cij =ei for ri ¼ r and all other stresses are zero; lij;kl is the Chentsov coefficient which characterizes the shearing strain in the xi xj -plane due to shearing stress in the xk xl -plane, that is, lij;kl ¼ cij =ckl for skl ¼ s and all other stresses are zero. Due to the symmetry of the compliance matrix, the Poisson’s ratios, the coefficients of mutual influences and the Chentsov coefficients are subject to the following reciprocal relations mij mji gi;jk gjk;i lij;kl lkl;ij ¼ ; ¼ ; ¼ : Ei Ej Gjk Ei Gkl Gij
ð1:28Þ
Full matrix shown in (1.27) for the general anisotropic elastic materials also indicates that application of a normal stress leads not only to extension in the direction of the stress and contraction perpendicular to it, but to shearing deformation. Conversely, shearing stress causes extension and contraction in addition to the distorsion of shearing deformation. From (1.16) we know by inversion of (1.27) the stiffness matrix components Cij in terms of the engineering constants can be obtained. However, since the compliance matrix shown in (1.27) is a 6 6 full symmetric matrix, it is not easy to get a simple analytical expression of its inverse matrix. Following we just list the stiffness matrix components Cij for orthotropic materials, 3 2 1m m m12 þ m32 m13 m13 þ m12 m23 23 32 0 0 0 E2 E3 D E1 E3 D E1 E2 D 7 6 1m13 m31 m23 þ m21 m13 0 0 0 7 6 E1 E3 D E1 E2 D 7 6 1m12 m21 6 0 0 0 7 ð1:29aÞ C¼6 E1 E2 D 7; 6 symm: G23 0 0 7 7 6 4 G31 0 5 G12
1.2 Linear Anisotropic Elastic Materials
7
where D¼
1 m12 m21 m23 m32 m31 m13 2m21 m32 m13 ; E1 E2 E3
ð1:29bÞ
and the symmetry conditions gives us m21 þ m31 m23 m12 þ m32 m13 m31 þ m21 m32 m13 þ m12 m23 m32 þ m12 m31 m23 þ m21 m13 ¼ ; ¼ ; ¼ : E 2 E3 D E 1 E3 D E2 E 3 D E1 E2 D E1 E3 D E1 E2 D
ð1:30Þ
1.2.2 Two-Dimensional Constitutive Relations Two-dimensional problems usually considered in isotropic elasticity fall into two physical distinct types. One of these arises in the study of deformation of large cylindrical bodies acted by the external forces so distributed that the component of deformation in the direction of the axis of the cylinder vanishes and the remaining components do not vary along the length of the cylinder. This is the class of problems in plane deformation (or called plane strain). Take the cross section of the cylinder be a plane parallel to x1 x2 -plane, the state of plane deformation may be characterized by ua ¼ ua ðx1 ; x2 Þ;
u3 ¼ 0;
a ¼ 1; 2;
ð1:31Þ
which will lead to e13 ¼ e23 ¼ e33 ¼ 0:
ð1:32Þ
The other type appears in the study of the deformation of thin plates, the state of stress in which is characterized by the vanishing of the stress components in the direction of the thickness of the plate. These are the problems in plane stress and can be characterized by r13 ¼ r23 ¼ r33 ¼ 0:
ð1:33Þ
In the plane strain problem, all the displacement and stress components are independent of the x3 -coordinate, whereas in the problem of plane stress these components may depend on x3 . Since the variable x3 may appear as a parameter in the elasticity equations (for example if e33 6¼ 0 through integration we get u3 which will depend on x3 ), the problem of plane stress is not truly two-dimensional. However, by dealing with the mean values of the displacements and stresses, and supposing that the faces of the thin plates are free of applied loads and all external surface forces acting on the edge of the plate lie in the plane parallel to the middle plane, a mathematical-truely two-dimensional problem can be obtained for a thin plate (Sokolnikoff 1956), which is called the problems of generalized plane stress. It can be proved that the mathematical formulations of plane strain and generalized plane stress are identical. The relevant differential equations and boundary conditions differ only in the Lame constant k as well as the use of average displacements and stresses in the generalized plane stress problems. For plane strain problems we use ua ; rab ; k, etc., while for generalized plane stress problems we use e ua; e r ab ; e k where 1 e u a ðx1 ; x2 Þ ¼ h
e r ab ðx1 ; x2 Þ ¼
1 h
Zh=2 ua ðx1 ; x2 ; x3 Þdx3 ; h=2
ð1:34aÞ
Zh=2 rab ðx1 ; x2 ; x3 Þdx3 ;
a; b ¼ 1; 2;
h=2
and 2kl e k¼ : k þ 2l In (1.34a), h is the thickness of the plate.
ð1:34bÞ
8
1
Anisotropic Elasticity
In practical applications, to describe the isotropic materials it is common to use the engineering constants E and m instead of the Lame constants k and l. Thus, it is useful to know their relations which are shown below, E¼
lð3k þ 2lÞ ; kþl
m¼
k ; 2ðk þ lÞ
ð1:35aÞ
or l¼
E ; 2ð1 þ mÞ
k¼
Em : ð1 þ mÞð1 2mÞ
ð1:35bÞ
With these relations, the replacement of l; k by l; e k from plane strain problem to generalized plane stress problem can also e ~m where (Hwu 2010) be made with the replacement of E; m by E; e ¼ Eð1 þ 2mÞ ; E ð1 þ mÞ2
~m ¼
m : 1þm
ð1:36Þ
Due to the mathematical equivalence, the plane strain and generalized plane stress problems are usually referred to be plane problems or two-dimensional problems. However, in a body with anisotropy of a general form, plane deformation is usually not possible except for some special forms because, assuming u3 ¼ 0, it is generally impossible to satisfy the equations of equilibrium of an elastic body (Lekhnitskii 1963). We can only assert that all the components of stresses and displacements will not depend on x3 . The deformation of such a body (one of infinite length bounded by a cylindrical surface and possessing anisotropy of a general form) which corresponds to plane deformation in an isotropic body is called generalized plane deformation or generalized plane strain. In other words, a body is said to be in the state of generalized plane deformation (or generalized plane strain), parallel to the x1 x2 -plane, if all the displacement components u1 ; u2 , and u3 are functions of the coordinates x1 and x2 , but not of x3 . Thus, the state of generalized plane deformation is characterized by. ui ¼ ui ðx1 ; x2 Þ;
i ¼ 1; 2; 3;
ð1:37aÞ
which will lead to e3 ¼ 0: When e3 ¼ 0, the stress-strain relation written in (1.10a) becomes X Cpq eq ; p ¼ 1; 2; . . .. . .; 6; rp ¼
ð1:37bÞ
ð1:38Þ
q6¼3
and its inverse relation (1.15a) becomes ep ¼
X
b S pq rq ;
p ¼ 1; 2; 4; 5; 6;
ð1:39aÞ
q6¼3
where b S pq are the reduced elastic compliances which are defined as. Sp3 S3q b b ¼ S qp : S pq ¼ Spq S33
ð1:39bÞ
The relation (1.39a, 1.39b) is derived by employing the requirement e3 ¼ 0 ¼ S3q rq , which will lead to P r3 ¼ q6¼3 S3q rq =S33 . Substituting the result of r3 into (1.15a), we obtain the relation (1.39a). Equations (1.38) and (1.39a) can also be written in matrix notation as r0 ¼ C0 e0 ;
e0 ¼ b Sr0 ;
ð1:40aÞ
1.2 Linear Anisotropic Elastic Materials
9
where 8 9 r1 > > > > > > > = < r2 > 0 r ¼ r4 ; > > > > > r5 > > ; : > r6 2
C11 6 C12 6 C0 ¼ 6 6 C14 4 C15 C16
C12 C22 C24 C25 C26
C14 C24 C44 C45 C46
C15 C25 C45 C55 C56
3 C16 C26 7 7 C46 7 7; C56 5 C66
8 9 e1 > > > > > > > = < e2 > 0 e ¼ e4 ; > > > > > e5 > > ; : > e6 2
b S 11 6b 6 S 12 b S¼6 S 14 6b 4b S 15 b S 16
Similarly, when r3 ¼ 0 the stress-strain relation can be written as X X b pq eq ; ep ¼ rp ¼ C Spq rq ; q6¼3
ð1:40bÞ
b S 12 b S 22 b S 24 b S 25 b S 26
b S 14 b S 24 b S 44 b S 45 b S 46
b S 15 b S 25 b S 45 b S 55 b S 56
p ¼ 1; 2; 4; 5; 6;
3 b S 16 b S 26 7 7 b S 46 7 7: b S 56 5 b S 66
ð1:40cÞ
ð1:41aÞ
q6¼3
or, in matrix notation, b 0; r0 ¼ Ce
e0 ¼ S0 r0 ;
ð1:41bÞ
b is a 5 5 reduced stiffness where S0 is a 5 5 compliance matrix whose components are Spq ; p, q = 1, 2, 4, 5, 6, and C b pq are the reduced elastic stiffnesses defined by matrix whose components C b qp : b pq ¼ Cpq Cp3 C3q ¼ C C C33
ð1:42Þ
Similar to the inversion relation for C and S proved in (1.16), it can easily be proved that C0 b S¼I¼b SC0 ;
b ¼ I ¼ CS b 0: S0 C
ð1:43Þ
By using the relations given in (1.21) and (1.22) for the isotropic materials, we see that the replacement given in (1.34b) is a special case of (1.42). Therefore, like the equivalence of the mathematical formulation for plane strain and generalized plane stress in isotropic elasticity, we can conclude that when the general anisotropic materials are considered the elastic stiffnesses 1 Cpq or the reduced elastic compliances b S pq ð¼ Cpq Þ should be employed for the generalized plane strain problems. While for b pq ð¼ S1 Þ. the generalized plane stress problems, we employ the elastic compliances Spq or the reduced elastic stiffnesses C pq
The elastic constants for the monoclinic materials with symmetry plane x3 ¼ 0 have been given in (1.18). By deleting the third row and third column of the stiffness matrix for the general two-dimensional problems, we see that the in-plane and anti-plane properties are decoupled. The stress-strain relation (1.40a, 1.40b, 1.40c) for the problems of generalized plane deformation can therefore be splitted into two parts. One is the in-plane relation, and the other is the anti-plane relation. They are, 8 9 2 38 9 C11 C12 C16 < e1 = < r1 = e4 r4 C44 C45 4 5 r2 ¼ C12 C22 C26 e2 ; ¼ : ð1:44Þ r5 C45 C55 e5 : ; : ; r6 C16 C26 C66 e6 b ij . For the problems of generalized plane stress, similar relations can be written in terms of Sij or C The elastic constants for the orthotropic materials in coordinates aligned with principal material directions have been given in (1.19). There is no interaction between normal stresses and shearing strains. Also, there is no interaction between shearing stresses and normal strains as well as none between shearing stresses and shearing strains in different planes. Similar to (1.44), the in-plane and anti-plane relations for the problems of generalized plane deformation can then be written as
10
1
8 9 2 C11 < r1 = r2 ¼ 4 C12 : ; 0 r6
C12 C22 0
38 9 0 < e1 = 0 5 e2 ; : ; C66 e6
r4 r5
C44 ¼ 0
0 C55
e4 : e5
Anisotropic Elasticity
ð1:45Þ
With (1.29a, 1.29b), the above relation can be written in terms of the engineering constants. For generalized plane stress, we have 8 9 2 38 9 b 11 C b 12 < r1 = C 0 < e1 = r b e4 0 C 44 4 5 b 22 b 12 C ; r2 ¼ 4 C e ¼ : ð1:46Þ 0 2 b 55 r e5 : ; : ; 0 C 5 b r6 e 0 0 C 66 6 By using the engineering constants given in (1.29a, 1.29b) and the definitions for the reduced stiffness constants (1.42), we obtain E1 E2 b 22 ¼ ; C ; 1 m12 m21 1 m12 m21 m12 E2 m21 E1 ¼ ¼ ; 1 m12 m21 1 m12 m21 b 44 ¼ G23 ; C b 55 ¼ G31 : ¼ G12 ; C
b 11 ¼ C b 12 C b 66 C
ð1:47Þ
From (1.43)2 we know that the reduced stiffness constants can also be determined by the inversion of the compliance matrix. That is, 2
b 11 C 4C b 12 0
b 12 C b 22 C 0
31 2 1=E1 0 0 5 ¼ 4 m12 =E1 b 66 0 C
m21 =E2 1=E2 0
3 0 0 5; 1=G12
ð1:48aÞ
and
b 44 C 0
0 b 55 C
1
¼
1=G23 0
0 : 1=G31
ð1:48bÞ
1.2.3 Laminate Constitutive Relations In engineering applications, one commonly used orthotropic material is unidirectional fiber-reinforced composite. The laminated composites are made by laying up various unidirectional fiber-reinforced composites. A single layer of the laminated composites is generally referred to as a ply or lamina. A single lamina is generally too thin to be directly used in engineering applications. Several laminae are bonded together to form a structure termed a laminate. Properties of a lamina may be predicted by knowing the properties of its constituents, i.e., fibers, matrices and their volume fractions. The overall properties of the laminates can be designed by changing the fiber orientation and the stacking sequence of laminae.To describe the overall properties and macromechanical behavior of a laminate, the most popular way is the classical lamination theory (Jones 1974). According to the observation of actual mechanical behavior of laminates, Kirchhoff assumptions are usually made in this theory: (1) The laminate consists of perfectly bonded laminae and the bonds are infinitesimally thin as well as non-shear-deformable. Thus, the displacements are continuous across lamina boundaries so that no lamina can slip relative to another. (2) A line originally straight and perpendicular to the middle surface of the laminate remains straight and perpendicular to the middle surface of the laminate when the laminate is deformed. In other words, the transverse shear strains are ignored, i.e., cxz ¼ cyz ¼ 0. (3) The normals have constant length so that the strain perpendicular to the middle surface is ignored, i.e. ez ¼ 0. Based upon the above assumptions, the laminate displacements u, v and w in the x, y and z directions can be expressed as
1.2 Linear Anisotropic Elastic Materials
11
@wðx; yÞ ; @x @wðx; yÞ vðx; y; zÞ ¼ v0 ðx; yÞ z ; @y wðx; y; zÞ ¼ w0 ðx; yÞ; uðx; y; zÞ ¼ u0 ðx; yÞ z
ð1:49Þ
where u0, v0 and w0 are the middle surface displacements. If small deformations are considered, the laminate strains can be written in terms of the middle surface displacements as follows. @u @u0 @2w ¼ z 2 ¼ e0x þ zjx ; @x @x @x @v @v0 @2w ¼ z 2 ¼ e0y þ zjy ; ey ¼ @y @y @y @u @v @u0 @v0 @2w þ ¼ ¼ c0xy þ zjxy ; þ 2z cxy ¼ @y @x @x@y @y @x ex ¼
ð1:50Þ
in which e0x ; e0y ; c0xy and jx ; jy ; jxy , denote, respectively, the midsurface strain and curvature. Substituting (1.50) into the stress-strain relation for each lamina, the stresses in the kth lamina can be written as 8 9 2 91 3 08 0 9 8 Q11 Q12 Q16 < rx = < e x = < jx = 0 rk ¼ ry ¼ 4 Q12 Q22 Q26 5 @ ey þ z jy A ¼ Qk ðe0 þ zjÞ; ð1:51aÞ : ; : 0 ; : ; sxy jxy Q16 Q26 Q66 k cxy where Q11 ¼ Q11 cos4 h þ 2ðQ12 þ 2Q66 Þ sin2 h cos2 h þ Q22 sin4 h; Q12 ¼ ðQ11 þ Q22 4Q66 Þ sin2 h cos2 h þ Q12 ðsin4 h þ cos4 hÞ; Q22 ¼ Q11 sin4 h þ 2ðQ12 þ 2Q66 Þ sin2 h cos2 h þ Q22 cos4 h; Q16 ¼ ðQ11 Q12 2Q66 Þ sin h cos3 h þ ðQ12 Q22 þ 2Q66 Þ sin3 h cos h;
ð1:51bÞ
Q26 ¼ ðQ11 Q12 2Q66 Þ sin3 h cos h þ ðQ12 Q22 þ 2Q66 Þ sin h cos3 h; Q66 ¼ ðQ11 þ Q22 2Q12 2Q66 Þ sin2 h cos2 h þ Q66 ðsin4 h þ cos4 hÞ: h is the angle oriented from the reference coordinate axes to the principal material axes of the kth lamina, and the principal material axes means the axes parallel and perpendicular to the fibers of the lamina. When the reference coordinate axes coincide with the principal material directions, the lamina made by the unidirectional fiber-reinforced composites will behave as the orthotropic materials, and hence the stiffness constants Qij ; i; j ¼ 1; 2; 6 can be obtained from (1.47) as EL ET ; Q22 ¼ ; 1 mLT mTL 1 mLT mTL mLT ET mTL EL ¼ ¼ ; Q66 ¼ GLT ; 1 mLT mTL 1 mLT mTL
Q11 ¼ Q12
ð1:52Þ
where the subscripts L and T denote, respectively, the directions parallel and perpendicular to fibers, which are generally called the longitudinal and transverse directions. Like the classical plate theory, the thickness of the laminate is considered to be small compared to its other dimensions. Therefore, instead of dealing the stress distribution across the laminate thickness, an integral equivalent system of forces and moments acting on the laminate cross section is used in the classical lamination theory. By integration of the stresses in each lamina through the laminate thickness, the resultant forces N and moments M acting on a laminate cross section are defined as follows,
12
1
9 8 8 9 8 9 > Zh=2 > Zhk > Zhk n n = = = < Nx > < rx > < rx > X X ry dz ¼ ry ¼ N ¼ Ny dz¼ rk dz; > > > > ; ; ; : : > : > k¼1 k¼1 Nxy sxy sxy k hk1 hk1 h=2 9 8 8 9 8 9 > Zh=2 > Zhk > Zhk = = = < Mx > < rx > < rx > n n X X ry zdz ¼ ry ¼ zdz¼ rk zdz; M ¼ My > > > > ; ; ; : : > : > k¼1 k¼1 Mxy sxy sxy k hk1 hk1 h=2
Anisotropic Elasticity
ð1:53Þ
where hk and hk1 are defined in Fig. 1.1. Substituting (1.51a) into (1.53), the resultant forces N and moments M can be written in terms of the laminate middle surface strains e0 and curvatures j as N A B e0 ; ð1:54aÞ ¼ j M B D where A, B and D are called the extensional, coupling and bending stiffness matrices, respectively, and are determined by A¼
Zhk n X k¼1
B¼
D¼
Zhk
Qk ðhk hk1 Þ;
k¼1
Qk zdz¼
hk1
Zhk n X k¼1
n X
hk1
n X k¼1
Qk dz¼
n 1X Q ðh2 h2k1 Þ; 2 k¼1 k k
Qk z2 dz¼
hk1
ð1:54bÞ
n 1X Q ðh3 h3k1 Þ: 3 k¼1 k k
From (1.54a), we see that if the coupling matrix B is a zero matrix, the resultant forces N will induce only the midsurface strains while the resultant moments M will induce only the plate curvatures. The presence of the matrix B implies coupling between bending and extension of a laminate. Thus, when a laminate is subjected to an extensional force or a bending moment, it may suffer extensional as well as bending and/or twisting deformations at the same time. By (1.54b)2, we also know that the presence of a nonzero coupling matrix is not only attributable to the orthotropy or anisotropy of the layers but also to the nonsymmetric stacking of laminae. The aim of the analysis of laminated composites is to determine the stresses and strains in each of the laminae forming the laminate. These stresses and strains can be used to predict the load at which failure initiates. If the resultant forces N and moments M are known at a particular cross section through the structural analysis, the midsurface strains and curvatures at this cross section may then be determined by the inversion of (1.54a), i.e.,
e0 j
¼
A B
B D
1
N M
¼
A BT
B D
N ; M
ð1:55aÞ
where A ¼ A1 þ A1 BD BA1 ;
B ¼ A1 BD ;
D ¼ ðD BA1 BÞ1 :
ð1:55bÞ
The stresses and strains in each lamina can therefore be determined from (1.51a, 1.51b) and (1.50). In addition to (1.54a, 1.54b) and (1.55a, 1.55b), two more equivalent expressions of laminate constitutive relations are e e e e e0 N N e0 A B A B ¼ ; ð1:56aÞ ; ¼ eT D e e e T D j j M M B B where e ¼ A BD1 B; B e ¼ BD1 ; D e ¼ D1 ; A e ¼ A1 ; B e ¼ A1 B; D e ¼ D BA1 B: A
ð1:56bÞ
1.2 Linear Anisotropic Elastic Materials
13
Fig. 1.1 Laminate geometry, resultant forces and moments
e D, e and D e A e defined in (1.56b) are also symmetric, Because A, B and D defined in (1.54b) are symmetric matrices, A, e and B e are not necessarily symmetric. whereas B
1.3
Thermoelastic Problems
Considering the effects of temperature change, the stress-strain relations shown in (1.7) or (1.12) for the linear anisotropic elastic materials are generally modified as
14
1
rij ¼ Cijkl ekl bij T;
or
eij ¼ Sijkl rkl þ aij T;
Anisotropic Elasticity
ð1:57Þ
where bij and aij are, respectively, thermal moduli and thermal expansion coefficients; T denotes the change in temperature from the stress-free state, which is related to the heat flux hi by hi ¼ kij T;j
ð1:58Þ
where kij are the heat conduction coefficients. From the relations shown in (1.16) and (1.57), we know that bij and aij are related by bij ¼ Cijkl akl ;
aij ¼ Sijkl bkl :
ð1:59Þ
By using the contracted notation, we have b ¼ Ca;
a ¼ Sb;
ð1:60aÞ
where a ¼ ða1 ; a2 ; a3 ; a4 ; a5 ; a6 ÞT ¼ ða11 ; a22 ; a33 ; 2a23 ; 2a31 ; 2a12 ÞT ; b ¼ ðb1 ; b2 ; b3 ; b4 ; b5 ; b6 ÞT ¼ ðb11 ; b22 ; b33 ; b23 ; b31 ; b12 ÞT :
ð1:60bÞ
Like the reduction shown in (1.40a, 1.40b, 1.40c) and (1.41a, 1.41b), the relations given in (1.60a, 1.60b) for two-dimensional thermoelastic problems should also be modified as b0 ¼ C 0 b a; b b 0; b ¼ Ca
b a¼b Sb0 ; for generalized plane strain; a0 ¼ S0 b b; for generalized plane stress;
ð1:61aÞ
8 9 b1 > > > > > > > = < b2 > b0 ¼ b4 ; > > > > > b5 > > ; : > b6
ð1:61bÞ
where 8 9 a1 > > > > > > > = < a2 > a 0 ¼ a4 ; > > > > > a5 > > ; : > a6
8 9 ^ a1 > > > > > > > a2 > =
> > a > > >^ > ; : 5> ^ a6
8 9 ^ > b > 1> > > > > ^ = < b2 > b ^ ; b¼ b 4 > > > ^ > > > b > ; : ^5 > b6
and ^ap ¼ ap
Sp3 a3 ; S33
^ ¼ b Cp3 b3 ; b p p C33
p ¼ 1; 2; 4; 5; 6:
ð1:61cÞ
Similarly, for the laminates considered in Sect. 1.2.3, the constitutive relations (1.54a, 1.54b) and (1.55a, 1.55b) should be modified as 0 N A B e0 bA bB T ¼ ; M B D j bB bD T ð1:62Þ aA aB N B A e0 T0 þ ; ¼ M j BT D aB aD T where T 0 and T are related to the temperature change T by Tðx; y; zÞ ¼ T 0 ðx; yÞ þ zT ðx; yÞ: bA ; bB ; bD and aA ; aB ; aD are related to bij and aij by
ð1:63Þ
1.3 Thermoelastic Problems
15
8 t 9 > = < A11 > bA ¼ At22 ; > ; : t > A 9 8 12 t > = < A11 > aA ¼ At ; 22 > ; : t > A12
8 t 9 > = < B11 > bB ¼ Bt22 ; > ; : t > B 9 8 12 t > = < B11 > aB ¼ Bt ; 22 > ; : t > B12
8 t 9 > = < D11 > bD ¼ Dt22 ; > ; : t > D 9 8 12 t > = < D11 > aD ¼ Dt ; 22 > ; : t > D12
ð1:64aÞ
where Zh=2 Atij
¼
Zh=2 bij dz;
Btij
¼
bij zdz;
h=2
At ij ¼
¼
h=2
Zh=2 aij dz;
bij z2 dz;
i; j ¼ 1; 2;
h=2
Zh=2
Bt ij ¼
h=2
1.4
Zh=2 Dtij
aij zdz;
Dt ij ¼
h=2
Zh=2
ð1:64bÞ aij z2 dz;
i; j ¼ 1; 2:
h=2
Piezoelectric Materials
It is well known that piezoelectric materials produce an electric field when deformed and undergo deformation when subjected to an electric field. To describe their electromechanical behaviors, the constitutive relation between elastic field tensors (stresses rij and strains eij ) and electric field vectors (electric displacements or called induction Dj and electric field Ej ) can be represented by four equally important systems of piezoeffect equations. In tensor notation, they can be written as (Rogacheva 1994) (
E ekl ekij Ek ; rij ¼ Cijkl
(
eij ¼ SEijkl rkl þ dkij Ek ;
Dj ¼ ejkl ekl þ xejk Ek ;
Dj ¼ djkl rkl þ xrjk Ek ; ( ( D eij ¼ SD rij ¼ Cijkl ekl hkij Dk ; ijkl rkl þ gkij Dk ; Ej ¼ hjkl ekl þ bejk Dk ;
Ej ¼ gjkl rkl þ brjk Dk ;
ð1:65Þ i; j; k; l ¼ 1; 2; 3;
E D where SEijkl and SD ijkl are elastic compliances at constant electric field and induction; Cijkl and Cijkl are elastic stiffnesses at e r e r constant electric field and induction; xjk ; xjk and bjk ; bjk are dielectric permittivities and non-permittivities at constant strains and stresses; dkij ; ekij ; gkij and hkij are four different but related piezoelectric tensors. The SI units used for the above symbols E D ; Cijkl : Nt/m2, Dj , ekij : Coul/m2 or Nt/(m-Volt), Ek ; hijk : Nt/Coul or Volt/m, xejk ; xrjk : Coul2/(m2Nt) or Nt/Volt2, are: rij , Cijkl 2 2 2 2 2 e r SEijkl ; SD ijkl : m /Nt, dijk : Coul/Nt or m/Volt, gijk : m /Coul or m-Volt/Nt; bjk ; bjk : m Nt/Coul or Volt /Nt. Consideration of the symmetry of stresses and strains, and the path-independency of elastic strain energy, these constants have the following symmetry properties E E E Cijkl ¼ Cjikl ¼ Cklij ;
SEijkl ¼ SEjikl ¼ SEklij ; D D D Cijkl ¼ Cjikl ¼ Cklij ; D D SD ijkl ¼ Sjikl ¼ Sklij ;
ekij ¼ ekji ;
xejk ¼ xekj ;
dkij ¼ dkji ;
xrjk ¼ xrkj ;
hkij ¼ hkji ; gkij ¼ gkji ;
bejk ¼ bekj ;
ð1:66Þ
brjk ¼ brkj :
To express the constitutive laws in matrix form, the contracted notation assigning 11 to 1, 22 to 2, 33 to 3, 23 or 32 to 4, 13 or 31 to 5, 12 or 21 to 6, 14 or 41 to 7, 24 or 42 to 8, 34 or 43 to 9 are usually used in engineering expressions. With this assignment and the symmetry properties (1.66), certain transformations need add a factor of 2 or 4. They are (see (1.14) for reference)
16
1
2Sijkl ¼ Spq ;
if either p or q [ 3;
4Sijkl ¼ Spq ;
if both p and q [ 3;
Anisotropic Elasticity
ð1:67Þ
2eij ¼ ep ; 2dkij ¼ dkp ; 2gkij ¼ gkp ; if p [ 3; no factors are needed for all other transformations: By using the contracted notation, the constitutive laws (1.65) can be written in matrix form as # " r e e r CE eT SE dT ¼ ; ¼ ; D E D E e xe d xr # " r e e r SD gT CD hT ; ; ¼ ¼ D D E E g br h be
ð1:68aÞ
where 9 8 9 8 r11 > r1 > > > > > > > > > > > > > r2 > r22 > > > > > > > > > = < = < r3 r33 ¼ ; r¼ r4 > r23 > > > > > > > > > > > > > > > > > > > > r5 > > r13 > ; ; : : r6 r12 8 9 < E1 = E ¼ E2 ; : ; E3
9 8 9 8 e1 > e11 > > > > > > > > > > > > > e2 > e22 > > > > > > > > > = < = < e3 e33 e¼ ¼ ; e4 > 2e23 > > > > > > > > > > > > > > > > > > > > e5 > > 2e13 > ; ; : : e6 2e12
8 9 < D1 = D ¼ D2 ; : ; D3
2
e11 e ¼ 4 e21 e31
e12 e22 e32
e13 e23 e33
2
E C11 6 CE 6 12 6 CE 13 CE ¼ 6 6 CE 6 14 4 CE 15 E C16
e14 e24 e34
e15 e25 e35
E C12 E C22 E C23 E C24 E C25 E C26
3 e16 e26 5; e36
E C13 E C23 E C33 E C34 E C35 E C36
E C14 E C24 E C34 E C44 E C45 E C46
E C15 E C25 E C35 E C45 E C55 E C56
2
xe11 4 xe ¼ xe12 xe13
xe12 xe22 xe23
3 E C16 E 7 C26 7 E 7 C36 7 E 7; C46 7 E 5 C56 E C66 3 xe13 xe23 5; xe33
ð1:68bÞ
ð1:68cÞ
and similar expressions for SE ; SD ; CD ; d; g; h; xr ; br ; be : Since the four equation sets shown in (1.68a) describe the same materials from different bases, the matrices in different set of (1.68a) should have some relations. In other words, from any one of the four equation sets, one can obtain the other three sets by simple mathematical operation. For example, starting from the first set of (1.68a) we can obtain the following relations SE ¼ C1 E ; CD ¼ CE þ eT x1 e e; 1 T 1 1 SD ¼ C1 C E E e xr eCE ;
d ¼ eC1 E ; h ¼ x1 e e; 1 g ¼ x1 r eCE ;
T xr ¼ eC1 E e þ xe ; 1 be ¼ x e ; br ¼ x1 r :
ð1:69aÞ
Generally, their relations can be expressed by the following equations CE ¼ S1 E ;
CD ¼ S1 D ;
d ¼ eSE ¼ xr g;
be ¼ x1 e ;
br ¼ x1 r ;
e ¼ dCE ¼ xe h; g ¼ hSD ¼ br d; h ¼ gCD ¼ be e;
xr xe ¼ dCE d ¼ eSE eT ¼ deT ; T
be br ¼ hSD hT ¼ gCD gT ¼ hgT ;
ð1:69bÞ
CD CE ¼ eT be e ¼ hT xe h ¼ hT e; SE SD ¼ gT xr g ¼ dT br d ¼ dT g: If we consider the most general anisotropic materials, the in-plane and anti-plane deformations will not be decoupled. Under this condition, the two-dimensional states are usually described by generalized plane strain ðe3 ¼ 0Þ or generalized plane stress ðr3 ¼ 0Þ without requiring the transverse shear strain or transverse shear stress to be zero. While for electric fields, open circuit condition ðD3 ¼ 0Þ is considered when the faces of piezoelectric materials are in contact with nonconducting media and the top and bottom surfaces are free of charge; or short circuit condition ðE3 ¼ 0Þ is considered if the top and bottom surfaces of the piezoelectric materials are held at the same electric potential. With the above consideration, the two-dimensional states will be divided into four different situations, i.e.,
1.4 Piezoelectric Materials
17
I: Generalized plane strain and short circuit: e3 ¼ 0 and E3 ¼ 0: II: Generalized plane strain and open circuit: e3 ¼ 0 and D3 ¼ 0:
ð1:70Þ
III: Generalized plane stress and short circuit: r3 ¼ 0 and E3 ¼ 0: IV: Generalized plane stress and open circuit: r3 ¼ 0 and D3 ¼ 0:
Under the above four different states, the constitutive laws (1.68a, 1.68b, 1.68c) can be further reduced by eliminating the terms associated with zero values of e3 (or r3 ) and E3 (or D3 ), and replacing r3 (or e3 ) and D3 (or E3 ) by the other two-dimensional terms. By this way, the constitutive laws for piezoelectric materials in two-dimensional states can be written in matrix form as follows. State I: e3 ¼ 0 and E3 ¼ 0. # # 0 " 0 0 " b r e0 r0 e CE e0T dT SE b ¼ ; ¼ ; b x D0 E0 D0 E0 e0 x0e br d # # ð1:71aÞ 0 " 0 " b0 g 0T SD b e0 r0 CD h0T e0 r ¼ ; ¼ ; h0 b0e E0 D0 E0 D0 b g 0 b b 0r
where 8 9 8 9 r1 > e1 > > > > > > > > > > > > > > > > > > > r > > > = < 2= < e2 > 0 0 r ¼ r4 ; e ¼ e4 ; > > > > > > > > > > > e5 > > > > > > > r5 > > > > > ; : ; : > r6 e6 E1 D1 E0 ¼ ; D0 ¼ ; E2 D2 2
b S 0D 11 6b 0D 6 S 12 6 b S 0D ¼ 6 b S 0D 6 14 4b S 0D 15 b S 0D 16
b S 0D 12 b S 0D 22 b S 0D 24 b S 0D 25 b S 0D 26
b S 0D 14 b S 0D 24 b S 0D 44 b S 0D 45 b S 0D 46
b S 0D 15 b S 0D 25 b S 0D 45 b S 0D 55 b S 0D 56
2
E C11
6 E 6 C12 6 E 0 CE ¼ 6 6 C14 6 E 4 C15 e0 ¼
3 b S 0D 16 7 b S 0D 26 7 7 b ; S 0D 46 7 7 b 5 S 0D 56 b S 0D
E C16
e11 e21
^ g0 b g ¼ 11 ^ g021 0
E C12
E C14
E C15
E C22 E C24
E C24 E C44
E C25 E C45
E C16
3
E 7 C26 7 7 E 7; C46 7 E E E E 7 C25 C45 C55 C56 5 E E E E C26 C46 C56 C66 e x11 e12 e14 e15 e16 ; x0e ¼ xe12 e22 e24 e25 e26
^ g012 ^ g022
^ g014 ^ g024
^ g016 ; ^ g026
0r ^ b 0 b b r ¼ ^11 b0r 12
b br b 0r ij ¼ b ij
b b r3i b b r3j ¼b b 0r ji ; r b b
^ g015 ^ g025
ð1:71bÞ xe12 ; xe22
^0r b 12 ^0r b 22
ð1:71cÞ
66
and bD g^3i ^g3j ¼ b b S 0D S 0D ij ¼ S ij þ ji ; b b r33
b g 0ij
b br ^ g3j ¼^ gij 3ir ; b b 33
ð1:71dÞ
33
in which D b SD ij ¼ Sij
D SD 3i S3j ¼b SD ji ; SD 33
^ gij ¼ gij
gi3 SD 3j ; SD 33
gi3 gj3 b r b b rij ¼ brij þ D ¼ b ji : S33
ð1:71eÞ
b r ; C0D ; h0 and b0e , which can be obtained by the same way, are not shown d; x To save the space, the expressions for b SE; b here. Similarly, only two types of constitutive laws are shown below for the other three states. State II: e3 ¼ 0 and D3 ¼ 0 0 0 0 0 0 T b CE e0T r e e r b g S D ¼ ; ¼ : ð1:72Þ e0 x0e D0 E0 E0 D0 b g b br
18
1
State III: r3 ¼ 0 and E3 ¼ 0 0 b r ¼ CE 0 D ^e
^eT be x
State IV: r3 ¼ 0 and D3 ¼ 0 0 b0 r ¼ CE 0 D be
be 0T b 0e x
e0 ; E0
e0 ; E0
e0ij ¼ eij
xe3i e3j ; xe33
e0 E0
e0 E0
¼
¼
S0D g0
g0T b0r
S0D g0
g0T b0r
Anisotropic Elasticity
r0 : D0
ð1:73Þ
r0 : D0
ð1:74Þ
In the above, e3i e3j ¼ Cji0E ; xe33
Cij0E ¼ CijE þ
b E ¼ CE C ij ij
E E C3i C3j b E; ¼C ji E C33
b 0E ¼ C b E þ ^e3i^e3j ¼ C b 0E ; C ij ij ji ^ e33 x D S0D ij ¼ Sij þ
g3i g3j ¼ S0D ji ; br33
^eij ¼ eij
b e 0ij ¼ ^eij
x0eij ¼ xeij
E ei3 C3j ; E C33
b e3i^e3j x ; b e33 x
g0ij ¼ gij
ð1:75aÞ
ei3 ej3 E ; C33
ð1:75bÞ
b e3i x b e3j x b 0eji ; ¼x b e33 x
ð1:75cÞ
b eij ¼ xeij þ x
b 0eij ¼ x b eij x
br3i g3j ; br33
xe3i xe3j ¼ x0eji ; xe33
r b0r ij ¼ bij
br3i br3j ¼ b0r ji ; br33
ð1:75dÞ
^0r are given in (1.71d) and (1.71e). gij ; b b rij ; b S 0D g0ij ; b and b SD ij ij ; ^ ij ; ^ Similar to the three-dimensional states, some relations between the material constants can be obtained through simple inversion such as # 0 " 0 0 b b g 0T SD b CD h0T CE e0T d T ¼ I; SE b ð1:76aÞ ¼ I; b h0 b0e e0 x0e br d x b g 0 b b 0r and
C0E e0
e0T x0e
b SD b g
b gT b br
¼
bE C be
be T be x
S0D g0
g0T b0r
¼
b0 C E be 0
be 0T b 0e x
S0D g0
g0T b0r
¼ I:
ð1:76bÞ
If a multilayered composite is made up of different layers such as fiber-reinforced composite layers and composite layers consisting of the piezoelectric materials, it may exhibit electric effects that are more complicated than those of single-phase piezoelectric materials. For this kind of electro-elastic composite laminates, the constitutive relations (1.54a, 1.54b) should be modified as 38 0 9 9 2 8 A11 A12 A16 A17 A18 B11 B12 B16 B17 B18 > N11 > > > > > > > e11 > > 6 A12 A22 A26 A27 A28 B12 B22 B26 B27 B28 7> > > N22 > > e022 > > > > > 7 6 > > > > > > 0 > 6 A16 A26 A66 A67 A68 B16 B26 B66 B67 B68 7> > > > > N 2e > > > 12 12 > 7 6 > > > > > > > > 0 > > > 7 6 N41 > A17 A27 A67 A77 A78 B17 B27 B67 B77 B78 7> 2e41 > > > > > > 6 = 6 = < < 0 > 7 N42 A A A A A B B B B B 2e 18 28 68 78 88 18 28 68 78 88 42 7 ¼6 : ð1:77Þ 7 6 M11 > j11 > > > > > > 6 B11 B12 B16 B17 B18 D11 D12 D16 D17 D18 7> > > > > > 6 B12 B22 B26 B27 B28 D12 D22 D26 D27 D28 7> M22 > > > > j22 > > > > > 7> 6 > > > > > > > > 7 6 > > > > M B B B B B D D D D D 2j 12 16 26 66 67 68 16 26 66 67 68 12 > > > 7> 6 > > > > > > > 5 4 > > > M41 > > 2j41 > B17 B27 B67 B77 B78 D17 D27 D67 D77 D78 > > > ; ; : : M42 B18 B28 B68 B78 B88 D18 D28 D68 D78 D88 2j42 Or, written in matrix form,
1.4 Piezoelectric Materials
19
9 2 8 Ac N > > > > = < 6 ATe ND ¼6 > 4 Bc > M > > ; : BTe MD
Ae Aw Be Bw
Bc BTe Dc DTe
38 9 Be > e0 > > = < > Bw 7 e E 7 ; De 5> > j > ; : > Dw jE
ð1:78aÞ
where 8 9 8 9 < N11 = < Nx = N ¼ N22 ¼ Ny ; : ; : ; Nxy N12
8 9 8 9 < M11 = < Mx = M ¼ M22 ¼ My ; : ; : ; Mxy M12
8 9 8 09 < e011 = < ex = ¼ e0 ; e0 ¼ e0 : 220 ; : 0y ; 2e12 cxy 2
X11 X c ¼ 4 X21 X61
X12 X22 X62
ND ¼
8 9 8 9 < j11 = < jx = j ¼ j22 ¼ jy ; : ; : ; jxy 2j12
3 X16 X26 5; X66
2
3 X18 X28 5; X68
X17 X e ¼ 4 X27 X67
N41 ; N42
eE ¼
MD ¼
2e041 ; 2e042
X77 Xw ¼ X87
M41 ; M42
jE ¼
2j41 ; 2j42
X78 ; X ¼ A; B; D: X88
ð1:78bÞ
ð1:78cÞ
ð1:78dÞ
In the above, the generalized stress resultants/moments ðN4j =M4j Þ and generalized midplane strains/curvatures ðe04j =j4j Þ are related to the electric displacements Dj and electric fields Ej by Zh=2 N4j ¼
Zh=2 M4j ¼
Dj dz; h=2
Dj zdz; h=2
1 ð0Þ e04j ¼ Ej ; 2
1 ð1Þ j4j ¼ Ej ; 2
ð1:79aÞ
j ¼ 1; 2;
where ð0Þ
ð1Þ
Ej ðx; y; zÞ ¼ Ej ðx; yÞ þ zEj ðx; yÞ:
ð1:79bÞ
The generalized extensional, coupling and bending stiffness Aab ; Bab ; Dab , a; b ¼ 1; 2; 6; 7; 8; are defined by Aab ¼
n X
ðCab Þk ðhk hk1 Þ;
k¼1 n X
Bab ¼
1 ðCab Þk ðh2k h2k1 Þ; 2 k¼1
Dab ¼
n 1X ðCab Þk ðh3k h3k1 Þ; 3 k¼1
ð1:80aÞ
where E Cab ¼ Cab ;
¼ e1a ;
a; b ¼ 1; 2; 6; a ¼ 1; 2; 6;
b ¼ 7;
¼ e2a ; a ¼ 1; 2; 6; b ¼ 8; e ¼ xða6Þðb6Þ ; a; b ¼ 7; 8:
ð1:80bÞ
20
References Hwu, C. 2010. Anisotropic elastic plates. New York: Springer. Jones, R.M. 1974. Mechanics of composite materials. Washington, D.C.: Scripta. Lekhnitskii, S.G. 1963. Theory of elasticity of an anisotropic body. Moscow: MIR. Rogacheva, N.N. 1994. The theory of piezoelectric shells and plates. London: CRC Press. Sokolnikoff, I.S. 1956. Mathematical theory of elasticity. New York: McGraw-Hill. Ting, T.C.T. 1996. Anisotropic elasticity: Theory and applications. N.Y.: Oxford Science Publications.
1
Anisotropic Elasticity
2
Complex Variable Formalism
In engineering applications if a thin plate is considered, most of the stress analyses will concentrate on the plane variation instead of the distribution in thickness direction, and hence the complex variable formalism which combines two variables into one becomes a useful and powerful tool. When a thin plate is subjected to inplane loads, uniform distribution across the plate thickness is usually assumed for the deformations and stresses, and hence the two-dimensional analysis can be employed. When a thin plate is under transverse loads or bending moments, linear distribution across the plate thickness is usually assumed and the analysis is generally called plate bending analysis. By taking the stress resultants and the deformations of the middle surface as the basic functions, the plate bending analysis can also be treated with two plane coordinate variables. When the thin plates are made by laying up various layers, the inplane and plate bending deformations may uncouple or couple depending on the symmetry or unsymmetry with respect to the middle surface of the plate. In this case, the coupled stretching-bending analysis should be employed. Since all these kinds of problems have been well treated by using the theory of complex variable, summarizing the formalisms introduced in the book (Hwu 2010) several complex variable formalisms are presented in this chapter such as Lekhnitskii formalism and Stroh formalism for two-dimensional analysis and plate bending analysis, and Stroh-like formalism for the coupled stretching-bending analysis. In addition, the extended versions of Stroh formalism for thermoelastic problems and piezoelectric materials are also presented in the related sections of this chapter. Further extensions to magneto-electro-elastic and viscoelastic materials will be described in Chaps. 11 and 12. Moreover, through the use of Radon transform, the Stroh formalism can also be applied to the three-dimensional analysis, whose detailed description will be presented in Sect. 15.9.1.
2.1
Two-Dimensional Analysis
From Sect. 1.1, we know that the basic equations for anisotropic elasticity consist of the equilibrium equations for static loading conditions (1.2), the strain–displacement relations for small deformations (1.4) as well as the stress–strain laws for linear anisotropic elastic solids (1.7). That is, rij;j þ fi ¼ 0;
1 eij ¼ ðui;j þ uj;i Þ; 2
rij ¼ Cijkl ekl ;
i; j; k; l ¼ 1; 2; 3:
ð2:1Þ
These three equation sets (2.1) constitute 15 partial differential equations with 15 unknown functions ui ; eij ; rij , i; j ¼ 1; 2; 3; in terms of three coordinate variables xi ; i ¼ 1; 2; 3. If only the two-dimensional deformation is considered, the complex variable formulation can be used to establish the general solution for these 15 unknown functions satisfying 15 basic equations. In the literature, there are two different complex variable formulations for two-dimensional linear anisotropic elasticity. One is the Lekhnitskii formalism which starts with the equilibrated stress functions followed by compatibility equations, and the other is the Stroh formalism which starts with the compatible displacements followed by equilibrium equations. Detailed derivation of Lekhinitskii formalism and Stroh formalism can be found in the books of Lekhnitskii (1963, 1968), Ting (1996), and Hwu (2010). Only the general solutions of these two formalisms and the extension of Stroh formalism to thermoelastic problems and piezoelectric materials are presented in this Section.
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2021 C. Hwu, Anisotropic Elasticity with Matlab, Solid Mechanics and Its Applications 267, https://doi.org/10.1007/978-3-030-66676-7_2
21
22
2
Complex Variable Formalism
2.1.1 Lekhnitskii Formalism In Lekhnitskii formalism, the two-dimensional problem is considered as a body bounded by a cylindrical surface. The region of the cross section can be either finite or infinite. The body possesses rectilinear anisotropy of the form shown in (2.1)3 and is under the influence of body forces and tractions distributed along the surface. In order to have the fields that the stresses depend only on two coordinates, the body forces and surface tractions are assumed to act in planes normal to the generator of the cylindrical surface and do not vary along the generator. If the body forces fi are neglected and the stresses are assumed to depend only on the two coordinates x1 and x2 , the stresses rij and displacements ui satisfying 15 basic equations (2.1) have been obtained in Lekhnitskii formalism as follows. r11 ¼ 2Re l21 f10 ðz1 Þ þ l22 f20 ðz2 Þ þ l23 k3 f30 ðz3 Þ ; 0 r22 ¼ 2Re f1 ðz1 Þ þ f20 ðz2 Þ þ k3 f30 ðz3 Þ ; ð2:2aÞ r12 ¼ 2Re l1 f10 ðz1 Þ þ l2 f20 ðz2 Þ þ l3 k3 f30 ðz3 Þ ; 0 0 0 r13 ¼ 2Re l1 k1 f1 ðz1 Þ þ l2 k2 f2 ðz2 Þ þ l3 f3 ðz3 Þ ; r23 ¼ 2Re k1 f10 ðz1 Þ þ k2 f20 ðz2 Þ þ f30 ðz3 Þ ; and u1 ¼
3 X AS33 2 x3 ax2 x3 þ x2 x3 x3 x2 þ u0 þ 2Re a1k fk ðzk Þ; 2 k¼1
u2 ¼
3 X BS33 2 x3 þ ax1 x3 þ x3 x1 x1 x3 þ v0 þ 2Re a2k fk ðzk Þ; 2 k¼1
u3 ¼ ðAx1 þ Bx2 þ CÞS33 x3 þ x1 x2 x2 x1 þ w0 þ 2Re
3 X
ð2:2bÞ
a3k fk ðzk Þ:
k¼1
In (2.2a, 2.2b), Re denotes the real part of a complex number, fk ðzk Þ; k ¼ 1; 2; 3 are three holomorphic functions of complex variables zk , and zk ¼ x1 þ lk x2 ; k ¼ 1; 2; 3:
ð2:3Þ
The prime ð0 Þ denotes differentiation with respect to zk . lk ; k ¼ 1; 2; 3; are the complex parameters with positive real part, which charaterize the degree of anisotropy and can be determined by the following sixth order characteristic equation l4 ðlÞl2 ðlÞ l23 ðlÞ ¼ 0;
ð2:4aÞ
in which ^45 l þ S ^44 ; l2 ðlÞ ¼ ^S55 l2 2S l3 ðlÞ ¼ ^S15 l3 ð^ S14 þ ^ S56 Þl2 þ ð^ S25 þ ^ S46 Þl ^ S24 ;
ð2:4bÞ
l4 ðlÞ ¼ ^S11 l4 2^ S16 l3 þ ð2^ S12 þ ^ S66 Þl2 2^ S26 l þ ^ S22 ; and ^Sij are the reduced elastic compliances defined in (1.39b). kk and aik , i; k ¼ 1; 2; 3 are defined as k1 ¼
l3 ðl1 Þ ; l2 ðl1 Þ
k2 ¼
l3 ðl2 Þ ; l2 ðl2 Þ
k3 ¼
l3 ðl3 Þ ; l4 ðl3 Þ
ð2:5aÞ
2.1 Two-Dimensional Analysis
23
a1k ¼ p1 ðlk Þ þ kk q1 ðlk Þ; a2k ¼ ½p2 ðlk Þ þ kk q2 ðlk Þ=lk ; a3k ¼ ½p4 ðlk Þ þ kk q4 ðlk Þ=lk ; a13 ¼ k3 p1 ðl3 Þ þ q1 ðl3 Þ;
k ¼ 1; 2;
ð2:5bÞ
a23 ¼ ½k3 p2 ðl3 Þ þ q2 ðl3 Þ=l3 ; a33 ¼ ½k3 p4 ðl3 Þ þ q4 ðl3 Þ=l3 ; where pj ðlk Þ ¼ l2k ^Sj1 þ ^Sj2 lk ^ Sj6 ;
Sj5 ^ qj ðlk Þ ¼ lk ^ Sj4 ;
j ¼ 1; 2; 4; 5; 6:
ð2:5cÞ
In the general expression (2.2b), the constants u0 ; v0 ; w0 and x1 ; x2 ; x3 characterize the rigid body translations and rotations with respect to the x1, x2 and x3 axes; a is the relative angle of rotation about the x3-axis associated with the torsion problems, i.e., the angle of twist per unit length; A and B characterize the bending of the body in the x1x3 and x2x3 planes; C is related to the axial force in x3 axis. Note that the general solutions given in (2.2a, 2.2b) are valid only for lk distinct. In this case, l2 ðl1 Þ; l2 ðl2 Þ; l4 ðl3 Þ 6¼ 0 will always be satisfied by properly designating the subscript k for the roots lk of the characteristic equation (2.4a). In the case of repeated roots, the solutions should be modified by considering the differentiation with respect to lk (Ting 1996; Hwu 2010).
2.1.2 Stroh Formalism In Lekhnitskii formalism the derivation starts with the two-dimensional equilibrated stress functions, due to the integration of getting displacements from strains, the deformations may depend on all three coordinates like those shown in (2.2b). In Stroh formalism the derivation starts with the two-dimensional compatible displacements, due to the differentiation of getting strains from displacements, the strains and their corresponding stresses will all depend on two coordinates only. Consideration of the two-dimensional deformations, in Stroh formalism the general solutions satisfying (2.1) are usually expressed in matrix form as u ¼ 2RefAfðzÞg;
/ ¼ 2RefBfðzÞg;
ð2:6aÞ
where A ¼ ½ a1 a2 a3 ; B ¼ ½ b1 b2 b3 ; 9 8 8 9 8 9 f ðz Þ > > 1 1 / u > > > > > > = < 1= < 1= < u ¼ u2 ; / ¼ /2 ; fðzÞ ¼ f2 ðz2 Þ ; > > > > > ; ; > : > : > ; : u3 /3 f3 ðz3 Þ
za ¼ x1 þ la x2 ;
a ¼ 1; 2; 3:
ð2:6bÞ
In (2.6b), /i , i ¼ 1; 2; 3 are the stress functions related to the stresses rij by ri1 ¼ /i;2 ;
ri2 ¼ /i;1 :
ð2:7Þ
la and ðaa ; ba Þ; a ¼ 1; 2; 3 are, respectively, the material eigenvalues and material eigenvectors (sometimes called Stroh’s eigenvalues and Stroh’s eigenvectors) of the following eigen-relation N n ¼ ln; where N is the fundamental elasticity matrix and n is its eigenvector defined by N1 N2 a N¼ ; n¼ ; N3 NT1 b
ð2:8aÞ
ð2:8bÞ
24
2
Complex Variable Formalism
and N1 ¼ T1 RT ;
N2 ¼ T1 ¼ NT2 ;
N3 ¼ RT1 RT Q:
ð2:8cÞ
The superscript T stands for the transpose and Q, R, T are the 3 3 real matrices defined by Qik ¼ Ci1k1 ;
Rik ¼ Ci1k2 ;
Tik ¼ Ci2k2 ;
ð2:9aÞ
or in matrix form, 2
C11 Q ¼ 4 C16 C15
C16 C66 C56
3 C15 C56 5; C55
2
C16 R ¼ 4 C66 C56
C12 C26 C25
3 C14 C46 5; C45
2
C66 T ¼ 4 C26 C46
C26 C22 C24
3 C46 C24 5: C44
ð2:9bÞ
From the definition (2.9a, 2.9b) we see that Q and T are symmetric and positive definite if the strain energy is positive. A generalized eigen-relation associated with the dual coordinate system is NðhÞn ¼ lðhÞn;
ð2:10aÞ
where NðhÞ ¼
N1 ðhÞ N2 ðhÞ ; N3 ðhÞ NT1 ðhÞ
n¼
a ; b
lðhÞ ¼
l cos h sin h ; l sin h þ cos h
ð2:10bÞ
and N1 ðhÞ ¼ T1 ðhÞRT ðhÞ;
N2 ðhÞ ¼ T1 ðhÞ ¼ NT2 ðhÞ;
N3 ðhÞ ¼ RðhÞT1 ðhÞRT ðhÞ QðhÞ:
ð2:10cÞ
QðhÞ; RðhÞ; TðhÞ are related to Q, R, T by QðhÞ ¼ Q cos2 h þ ðR þ RT Þ sin h cos h þ T sin2 h; RðhÞ ¼ R cos2 h þ ðT QÞ sin h cos h RT sin2 h; 2
ð2:11Þ
2
TðhÞ ¼ T cos h ðR þ R Þ sin h cos h þ Q sin h; T
where h is the angle between the two coordinates (Fig. 2.1). It can be proved that the material eigenvectors ðai ; bi Þ and ðbj ; aj Þ are orthogonal each other, if they are associated with different eigenvalues li and lj . The orthogonality relation can be written in matrix form as T T I 0 I 0 B AT B AT A A A A ¼ ; ð2:12Þ ¼ ; or T T T T 0 I 0 I B A B A B B B B
where the overbar denotes the complex conjugate, and I is an identity matrix. Equation (2.12)2 implies that AAT , BBT and ABT ð1=2ÞI are purely imaginary, and hence three real matrices S, H and L are introduced as H ¼ 2iAAT ;
L ¼ 2iBBT ;
S ¼ ið2ABT IÞ;
ð2:13Þ
where H and L are symmetric. It can be shown that both H and L are positive definite if the strain energy is positive (Ting 1996).
2.1 Two-Dimensional Analysis
25
Fig. 2.1 The original and rotated coordinate systems
The matrix form orthogonality relations shown in (2.12) are based upon the fact that the eigenvectors of fundamental matrix N are independent. A matrix is called simple if all of its eigenvalues are distinct. A matrix of order n that has repeated eigenvalues and possesses n independent eigenvectors is called semisimple. If the matrix has less than n independent eigenvectors, it is called nonsemisimple. When the fundamental elasticity matrix N is simple or semisimple, through the eigen-relation (2.8a, 2.8b, 2.8c) and the orthogonality relation (2.12) it can be proven that the diagonalization of N can be achieved by T 0 B AT A A \la [ N¼ ð2:14Þ T ; T 0 \la [ B A B B where the angular bracket < > stands for a diagonal matrix in which each component is varied according to its subscript, e.g. \la [ ¼ diag½l1 ; l2 ; l3 . As to the generalized fundamental elasticity matrix NðhÞ, we have T 0 B AT A A \la ðhÞ [ NðhÞ ¼ ð2:15Þ T : T 0 \la ðhÞ [ B A B B Integrating (2.15) with respect to h ranging from 0 to p, one can prove that. S¼
1 p
Zp N1 ðhÞdh; 0
H¼
1 p
Zp N2 ðhÞdh; L ¼ 0
1 p
Zp N3 ðhÞdh:
ð2:16Þ
0
These relations indicate that S, H and L are, respectively, the average values of N1 ðhÞ; N2 ðhÞ and N3 ðhÞ over the interval 0 h p. Equations (2.16) were first obtained by Barnett and Lothe (1973). The matrices S, H and L which are tensors of rank two are thus called the Barnett-Lothe tensors. Equations (2.16) allow us to compute S, H and L directly from the elastic constants Cijkl without computing the material eigenvalues and their associated eigenvectors. The problems associated with degenerate materials (whose fundamental elasticity matrix N is nonsemisimple) are therefore circumvented. It is known that the relations (2.7) are important for the calculation of the stresses from the stress function /. To calculate the stress components along any other coordinate axes, one usually applies the transformation law of second order tensors.
26
2
Complex Variable Formalism
An alternative approach to determine the stress components of the rotated coordinate axes directly from the stress functions has been introduced in Ting (1996), and Hwu (2010). To apply this approach, let ðs; nÞ be the unit vector tangent and normal to a surface boundary (see Fig. 2.1). If tn and ts denote the traction vectors on the surfaces with normals n and s, respectively, we have tn ¼ /;s ;
ts ¼ /;n :
ð2:17Þ
The stress components on s–n coordinate can therefore be calculated by rnn ¼ nT tn ¼ nT /;s ;
rns ¼ sT tn ¼ sT /;s ;
rss ¼ sT ts ¼ sT /;n ;
rn3 ¼ iT3 tn ¼ ð/;s Þ3 ;
rsn ¼ nT ts ¼ nT /;n ¼ rns ;
rs3 ¼ iT3 ts ¼ ð/;n Þ3 ;
ð2:18aÞ
where sT ¼ ðcos h; sin h; 0Þ;
nT ¼ ð sin h; cos h; 0Þ;
iT3 ¼ ð0; 0; 1Þ;
ð2:18bÞ
and the angle h is directed counterclockwise from the positive x1 -axis to the direction of s. For a polar coordinate system ðr; hÞ, we may let s and n denote the directions of r and h, and @s and @n be replaced by @r and r@h. With this replacement, it can be proved that the traction vectors and stress components in the polar coordinate system are related to the stress functions by th ¼ /;r ; tr ¼ /;h =r; rhh ¼ nT /;r ; rrr ¼ sT /;h =r; rrh ¼ sT /;r ¼ nT /;h =r; rh3 ¼ ð/;r Þ3 ; rr3 ¼ ð/;h Þ3 =r:
ð2:19Þ
Special Cases In the case of plane strain deformation, u1 ¼ u1 ðx1 ; x2 Þ;
u2 ¼ u2 ðx1 ; x2 Þ;
u3 ¼ 0;
ð2:20Þ
the solutions (2.6a, 2.6b) can be reduced to u ¼ 2RefAfðzÞg;
/ ¼ 2RefBfðzÞg;
ð2:21aÞ
where A ¼ ½ a1 a2 ; B ¼ ½ b1 b2 ; ( ) ( ) ( ) u1 /1 f1 ðz1 Þ u¼ ; za ¼ x1 þ la x2 ; a ¼ 1; 2: ; /¼ ; fðzÞ ¼ f2 ðz2 Þ u2 /2
ð2:21bÞ
For the anti-plane deformation, u1 ¼ u2 ¼ 0;
u3 ¼ u3 ðx1 ; x2 Þ;
ð2:22Þ
the solutions (2.6a, 2.6b) can be reduced to (Ting 1996) u ¼ Imff ðzÞg=G;
/ ¼ Reff ðzÞg;
ð2:23aÞ
where G¼
qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 2 C44 C55 C45
is a real and positive number, and is the shear modulus for isotropic materials.
ð2:23bÞ
2.1 Two-Dimensional Analysis
27
2.1.3 Extended Stroh Formalism for Thermoelastic Problems For the uncoupled steady state thermoelastic problems, to include the thermal effects on the anisotropic elastic solids the basic equations stated in (2.1) should be modified as hi ¼ kij T;j ; hi;i ¼ kij T;ij ¼ 0; 1 eij ¼ ðui;j þ uj;i Þ; rij ¼ Cijkl ekl bij T; 2
rij;j ¼ 0;
i; j; k; l ¼ 1; 2; 3;
ð2:24Þ
where the relations associated with the heat conduction coefficients kij and thermal moduli bij have been described in (1.57) and (1.58); and hi;i ¼ 0 is the relation for energy balance. For two-dimensional deformations in which uk ; k ¼ 1; 2; 3 and T depend on x1 and x2 only, a general solution for the temperature change T, the heat flux hi , and the displacements and stresses has been obtained as (Hwu 2010) T ¼ 2Refg0 ðzt Þg;
hi ¼ 2Refðki1 þ ski2 Þg00 ðzt Þg;
u ¼ 2RefAfðzÞ þ cgðzt Þg;
zt ¼ x1 þ sx2 ;
/ ¼ 2RefBfðzÞ þ dgðzt Þg;
ð2:25Þ
where gðzt Þ is an arbitrary function of the complex variable zt and the prime 0 denotes differentiation with respect to its argument zt . s is the thermal eigenvalue calculated by k22 s2 þ ðk12 þ k21 Þs þ k11 ¼ 0:
ð2:26Þ
The fact that heat always flows from higher temperature to lower temperature tells us that the roots of (2.26) cannot be real (Ting 1996). There is one pair of complex conjugates for s, and we let s in (2.25) be the one with positive imaginary part. Like the eigen-relation established in (2.8a, 2.8b, 2.8c) for the determination of the material eigenvectors a and b, the thermal eigenvectors c and d can be determined from the following eigenrelation Ng ¼ sg þ c:
ð2:27Þ
In this eigenrelation, N is the fundamental elasticity matrix defined in (2.8b, 2.8c), and g and c are defined by 0 N2 c b1 g¼ ; c¼ ; ð2:28aÞ I NT1 d b2 where 8 9 < b11 = b1 ¼ b21 ; : ; b31
8 9 < b12 = b2 ¼ b22 : : ; b32
ð2:28bÞ
Like (2.10a, 2.10b, 2.10c), the generalization of (2.27) for a dual coordinate system can also be established as NðhÞg ¼ sðhÞg þ ^s1 ðhÞcðhÞ;
ð2:29aÞ
N1 ðhÞ N2 ðhÞ 0 N2 ðhÞ b1 ðhÞ ; ; cðhÞ ¼ N3 ðhÞ NT1 ðhÞ I NT1 ðhÞ b2 ðhÞ s cos h sin h ^sðhÞ ¼ cos h þ s sin h; ; sðhÞ ¼ s sin h þ cos h
ð2:29bÞ
where
NðhÞ ¼
28
2
Complex Variable Formalism
and b1 ðhÞ ¼ cos hb1 þ sin hb2 ;
b2 ðhÞ ¼ sin hb1 þ cos hb2 :
ð2:29cÞ
Integrating the generalized eigen-relation (2.29a) with respect to h from 0 to 2p, we can get the following identities Sc þ Hd ¼ ic þ e c 1 ;
Lc þ ST d ¼ id þ e c 2 ;
ð2:30aÞ
where e c 1
1 ¼ 2p
Z2p
1
^s ðhÞc1 ðhÞdh; 0
c1 ðhÞ ¼ N2 ðhÞb2 ;
e c 2
1 ¼ 2p
Z2p
^s1 ðhÞc2 ðhÞdh;
0
ð2:30bÞ
c2 ðhÞ ¼ b1 NT1 ðhÞb2 :
2.1.4 Expanded Stroh Formalism for Piezoelectric Materials Since Stroh formalism starts from the compatible displacements and the electric fields Ek are usually treated as the generalized strains, to develop the expanded Stroh formalism for anisotropic piezoelectric elasticity the most appropriate constitutive relation is the first equation set of (1.65). Thus, to describe the expanded Stroh formalism for anisotropic piezoelectric elasticity, it is better to write the basic equations as ( ( E rij ¼ Cijkl ekl ekij Ek ; rij;j ¼ 0; 1 i; j; k; l ¼ 1; 2; 3; ð2:31Þ eij ¼ ðui;j þ uj;i Þ; e 2 Di;i ¼ 0; Dj ¼ ejkl ekl þ xjk Ek ; where the relation Di;i ¼ 0 is the electrostatic equation. By letting Dj ¼ r4j ; Cijkl ¼
E Cijkl ;
Ej ¼ u4;j ¼ 2e4j ;
j ¼ 1; 2; 3;
i; j; k; l ¼ 1; 2; 3;
ð2:32Þ
Cij4l ¼ C4lij ¼ elij ; i; j; l ¼ 1; 2; 3; C4j4l ¼ xejl ; j; l ¼ 1; 2; 3; the basic equations (2.31) can be rewritten in an expanded notation as rIJ ¼ CIJKL eKL ;
1 eIJ ¼ ðuI;J þ uJ;I Þ; 2
rIJ;J ¼ 0;
I; J; K; L ¼ 1; 2; 3; 4;
ð2:33aÞ
in which the assumptions of uJ;4 ¼ 0, CIJKL ¼ CJIKL ¼ CIJLK ¼ CKLIJ , rIJ ¼ rJI , and eIJ ¼ eJI have been made, and the components of r44 ; e44 ; Cij44 ; and C44ij are set to be zero. Eliminating the undefined quantities, sometimes (2.33a) was written as rIj ¼ CIjKl eKl ;
1 eIj ¼ ðuI;j þ uj;I Þ; 2
rIj;j ¼ 0;
I; K ¼ 1; 2; 3; 4; j; l ¼ 1; 2; 3:
ð2:33bÞ
One should be careful that if (2.33b) is considered, the relation Ej ¼ u4;j ¼ 2e4j should be changed to Ej ¼ u4;j ¼ e4j , and the assumption uj;4 ¼ 0 should also be changed to uj;4 ¼ u4;j . To be consistent with all the basic equations used for the anisotropic elastic materials, in this book we will follow the expressions given in (2.32) and (2.33a) instead of (2.33b). Since the mathematical form of expanded expression (2.33a) for anisotropic piezoelectric elasticity is exactly the same as that of pure anisotropic elasticity shown in (2.1) except the expansion of index from 3 to 4, the general solutions satisfying all the basic equations (2.31) under two-dimensional deformation can therefore be written in the form of Stroh formalism and is called expanded Stroh formalism. Following is the general solutions satisfying (2.31), which possesses exactly the same
2.1 Two-Dimensional Analysis
29
matrix form as that shown in (2.6a, 2.6b) for pure anisotropic elastic materials. The only differences between them are the size and contents of the matrices. u ¼ 2RefAfðzÞg;
/ ¼ 2RefBfðzÞg;
ð2:34aÞ
where
u¼
8 9 u1 > > > > > > > > > < u2 > = > u3 > > > > > > > > : > ; u4
A ¼ ½ a1
;
a2
/¼
a3
8 9 / > > > > 1> > > > > < /2 > = > /3 > > > > > > > > : > ; /4
a4 ;
;
f ð zÞ ¼
B ¼ ½ b1
8 9 f1 ðz1 Þ > > > > > > > > > < f2 ðz2 Þ > = > f3 ðz3 Þ > > > > > > > > > : ; f4 ðz4 Þ
b2
b3
;
za ¼ x1 þ la x2 ;
a ¼ 1; 2; 3; 4;
ð2:34bÞ
b4 :
The generalized stress functions /i are related to the stresses and electric displacements by ri1 ¼ /i;2 ;
ri2 ¼ /i;1 ;
D1 ¼ r41 ¼ /4;2 ;
i ¼ 1; 2; 3;
D2 ¼ r42 ¼ /4;1 :
ð2:35Þ
lk and ðak ; bk Þ, k = 1, 2, 3, 4, are the material eigenvalues and eigenvectors which can be determined by the eigenrelation (2.8a, 2.8b, 2.8c) in which N is now a 8 8 fundamental matrix and n is a 8 1 column vector, and the associated matrices Q, R, T are three 4 4 real matrices related to the expanded elastic constants CIjKl defined in (2.32), i.e., 2 E 3 2 E 3 2 E 3 E E E E E E C15 e11 C14 e21 C46 e26 C16 C12 C66 C26 C11 C16 6 CE CE CE 6 E CE CE 6 E CE CE e16 7 e26 7 e22 7 16 66 56 26 46 22 24 7; R ¼ 6 C66 7; T ¼ 6 C26 7: ð2:36Þ Q¼6 E E E E E E 4 CE CE CE 5 4 5 4 e15 C56 C25 C45 e25 C46 C24 C44 e24 5 15 56 55 e11 e16 e15 xe11 e16 e12 e14 xe12 e26 e22 e24 xe22 The calculation of the stress components on s–n coordinate or polar coordinate system ðr; hÞ still follows the relations given in (2.18a, 2.18b) and (2.19), whereas the electric displacements are related to the generalized stress function vector / by Dn ¼ iT4 /;s ;
Ds ¼ iT4 /;n ;
or Dh ¼ iT4 /;r ;
Dr ¼ iT4 /;h =r;
ð2:37aÞ
where iT4 ¼ ð0; 0; 0; 1Þ:
2.2
ð2:37bÞ
Plate Bending Analysis
Plate bending analysis concerns a plate subjected to transverse loadings and/or out-of-plane bending moments. Under this kind of loading conditions, the assumptions made in two-dimensional problems are not valid for plate bending problems. If the plate is composed of the anisotropic elastic materials having one plane of elastic symmetry located at the middle surface of the plate (or say, the material is monoclinic not the most general anisotropic), the inplane and plate bending deformation will be uncoupled. If only the plate bending deformation is considered, the displacements u, v and w of the plates in x1 ; x2 and x3 directions are assumed as u ¼ x3 w;1 ðx1 ; x2 Þ;
v ¼ x3 w;2 ðx1 ; x2 Þ;
w ¼ wðx1 ; x2 Þ;
ð2:38Þ
where w is the deflection of the plate. Since the assumption for the displacement fields (2.38) is a special case of (1.49) for the laminated plates with coupling stiffness Bij ¼ 0, by (1.54) the bending moments M11 ; M22 and M12 of the anisotropic elastic plates can be expressed in terms of the deflection w as
30
2
Complex Variable Formalism
@2w @2w @2w M11 ¼ D11 2 þ D12 2 þ 2D16 ; @x1 @x2 @x1 @x2
@2w @2w @2w M22 ¼ D12 2 þ D22 2 þ 2D26 ; @x1 @x2 @x1 @x2
@2w @2w @2w M12 ¼ D16 2 þ D26 2 þ 2D66 ; @x1 @x2 @x1 @x2
ð2:39Þ
where Dij ; i; j ¼ 1; 2; 6; are the bending stiffness defined in (1.54). Neglecting the body forces and the tractions on the top and bottom surfaces of the plate except the lateral load qðx; yÞ, the force and moment equilibrium equations of the plate can be expressed as @Q1 @Q2 þ þ q ¼ 0; @x1 @x2
@M11 @M12 þ Q1 ¼ 0; @x1 @x2
@M12 @M22 þ Q2 ¼ 0; @x1 @x2
ð2:40Þ
r23 dx3 :
ð2:41Þ
where Q1 and Q2 are the transverse shear forces defined by Zh=2 Q1 ¼
Zh=2 r13 dx3 ;
h=2
Q2 ¼ h=2
Substitution of (2.40)2 and (2.40)3 into (2.40)1 will further lead the force equilibrium equation in the x3 direction to @ 2 M11 @ 2 M12 @ 2 M22 þ2 þ þ q ¼ 0: 2 @x1 @x2 @x1 @x22
ð2:42Þ
With the moment–curvature relation (2.39) and the equilibrium equations (2.40)2 and (2.40)3, the transverse shear forces and the equilibrium equation (2.42) can also be expressed in terms of the lateral deflection w as @3w @3w @3w @3w Q1 ¼ D11 3 þ 3D16 2 þ ðD12 þ 2D66 Þ þ D ; 26 @x1 @x2 @x1 @x22 @x1 @x32 ð2:43Þ @3w @3w @3w @3w þ 3D26 þ D Q2 ¼ D16 3 þ ðD12 þ 2D66 Þ 2 ; 22 @x1 @x2 @x1 @x22 @x1 @x32 and D11
@4w @4w @4w @4w @4w þ 4D þ 2ðD þ 2D Þ þ 4D þ D ¼ q: 16 12 66 26 22 @x41 @x21 @x22 @x42 @x31 @x2 @x1 @x32
ð2:44Þ
2.2.1 Lekhnitskii Bending Formalism A solution satisfying the governing differential equation (2.44) has been obtained as w ¼ w0 þ 2Refw1 ðz1 Þ þ w2 ðz2 Þg;
ð2:45Þ
where w0 is a particular solution of equation (2.44) whose form depends on the load distribution qðx1 ; x2 Þ on the plate surface; w1 ðz1 Þ and w2 ðz2 Þ are holomophic functions of complex variables z 1 ¼ x 1 þ l1 x 2 ;
and
z2 ¼ x1 þ l2 x2 :
ð2:46Þ
The complex parameters l1 and l2 are the roots of the characteristics equation D22 l4 þ 4D26 l3 þ 2ðD12 þ 2D66 Þl2 þ 4D16 l þ D11 ¼ 0:
ð2:47Þ
2.2 Plate Bending Analysis
31
It has been proved that the Eq. (2.47) has no real roots for any anisotropic elastic materials. Two pairs of complex conjugates exist, and l1 , l2 are selected to be the two with positive imaginary part. On the basis of (2.39) and (2.43), general expressions for the moments and shear forces can be obtained as (for the case l1 6¼ l2 ) (Lekhnitskii 1968): 0 M11 ¼ M11 2Refg1 ðl1 Þw001 ðz1 Þ þ g1 ðl2 Þw002 ðz2 Þg; 0 M22 ¼ M22 2Refg2 ðl1 Þw001 ðz1 Þ þ g2 ðl2 Þw002 ðz2 Þg; 0 2Refg6 ðl1 Þw001 ðz1 Þ þ g6 ðl2 Þw002 ðz2 Þg; M12 ¼ M12 000 Q1 ¼ Q01 2Refl1 sðl1 Þw000 1 ðz1 Þ þ l2 sðl2 Þw2 ðz2 Þg;
Q2 ¼ V1 ¼ V2 ¼
ð2:48Þ
000 Q02 þ 2Refsðl1 Þw000 1 ðz1 Þ þ sðl2 Þw2 ðz2 Þg; 2 000 V10 þ 2Refl21 g2 ðl1 Þw000 1 ðz1 Þ þ l2 g2 ðl2 Þw2 ðz2 Þg; 000 V20 þ 2Refg1 ðl1 Þw000 1 ðz1 Þ=l1 þ g1 ðl2 Þw2 ðz2 Þ=l2 g;
where Vi ; i ¼ 1; 2 are the effective transverse shear forces defined by V1 ¼ Q1 þ
@M12 ; @x2
V2 ¼ Q 2 þ
@M12 : @x1
ð2:49Þ
Mij0 ; Q0i ; Vi0 are bending moments, transverse shear forces and effective transverse shear forces corresponding to the particular solution of deflection w0 . The prime 0 denotes differentiation with respect to the function argument zk . The coefficients gj ðla Þ and sðla Þ, j ¼ 1; 2; 6; a ¼ 1; 2; are defined as gj ðla Þ ¼ Dj1 þ Dj2 l2a þ 2Dj6 la ; sðla Þ ¼ g6 ðla Þ þ
g1 ðla Þ ; la
ð2:50Þ
j ¼ 1; 2; 6; a ¼ 1; 2:
2.2.2 Stroh-Like Bending Formalism For two-dimensional linear anisotropic elasticity, Lekhnitskii formalism starts with the equilibrated stress functions, whereas Stroh formalism starts with the compatible displacements. For plate bending analysis, as shown in the previous section the opposite process is employed for Lekhnitskii bending formalism which is developed with deflection as the basic unknown variables. Similarly, starting with the equilibrated stress functions the Stroh-like bending formalism has been developed (Hwu 2010), and the deflections and bending moments of the plates can be determined from the following matrix form solutions, b ¼ 2RefAfðzÞg; where
b¼
b1 b2
A ¼ ½a1
¼
a2 ;
w;1
w ¼ 2RefBfðzÞg;
w;2 B ¼ ½b1
;
w¼ b2 ;
w1 w2
ð2:51aÞ
;
fðzÞ ¼
za ¼ x1 þ la x2 ;
f1 ðz1 Þ
f2 ðz2 Þ
;
ð2:51bÞ
a ¼ 1; 2:
In (2.51b), w1 and w2 are the stress functions related to bending moments, transverse shear forces and effective transverse shear forces by M11 ¼ w1;2 ; M22 ¼ w2;1 ; Q1 ¼ g;2 ; Q2 ¼ g;1 ; V1 ¼ w2;22 ; V2 ¼ w1;11 :
M12 ¼ ðw1;1 w2;2 Þ=2 ¼ M21 ; g ¼ ðw1;1 þ w2;2 Þ=2;
ð2:52Þ
32
2
Complex Variable Formalism
The material eigenvalues la and their associated eigenvectors aa and ba can be determined by the eigen-relation Nn ¼ ln;
ð2:53aÞ
where
N1 N¼ N3
N2 ; NT1
a n¼ : b
ð2:53bÞ
The fundamental elasticity matrix N for the plate bending problems is related to bending stiffness Dij by " # " # 0 1 0 1 ; N2 ¼ ; N1 ¼ 26 12 D 0 D122 2D D22 D22 2 3 D2 2D16 þ 2DD1222D26 D11 þ D1222 5: N3 ¼ 4 4D2 2D16 þ 2DD1222D26 4D66 þ D2226
2.3
ð2:54Þ
Coupled Stretching-Bending Analysis
In Sect. 2.1, only the two-dimensional problems are considered, i.e., all the physical responses depend only on two variables x1 and x2. Thus, the complex variable, za ¼ x1 þ la x2 , which is a combination of two variables, is an appropriate variable to develop the formalisms for two-dimensional anisotropic elasticity. When the anisotropic plates or laminates are subjected to inplane loads as well as lateral loads or bending moments, their deformations and stresses will depend on the third variable x3. If the thickness of the plates or laminates is relatively small compared to their other dimensions, Kirchhoff assumptions are usually made in classical plate theory or lamination theory. In this section the most general laminates, symmetric or unsymmetric, are considered, and the results of anisotropic plate bending analysis discussed in Sect. 2.2 can be obtained directly by using only one lamina for the laminates.
2.3.1 Stroh-Like Formalism Based upon the Kirchhoff assumptions, the laminate displacements are assumed to vary linearly across the thickness, as shown in (1.49). Instead of dealing the distribution across the laminate thickness, the midplane displacements and curvature as well as the stress resultants and bending moments, which depend only on two variables, are generally used to state the basic equations for the classical lamination theory such as the constitutive law presented in (1.54). Thus, the strain– displacement relations, the constitutive laws and the equilibrium equations for the coupled stretching-bending analysis of laminated plates can be written in terms of tensor notation as follows (Hwu 2010). 1 1 eij ¼ ðui;j þ uj;i Þ; jij ¼ ðbi;j þ bj;i Þ; b1 ¼ w;1 ; 2 2 Nij ¼ Aijkl ekl þ Bijkl jkl ; Mij ¼ Bijkl ekl þ Dijkl jkl ; Nij;j ¼ 0;
Mij;ij þ q ¼ 0;
Qi ¼ Mij;j ;
b2 ¼ w;2 ; ð2:55Þ
i; j; k; l ¼ 1; 2;
where u1 ; u2 and w are the midplane displacements; and b1 and b2 are the negative slopes in x1 and x2 directions; eij and jij are the midplane strains and curvatures; Nij ; Mij and Qi denote the stress resultants, bending moments and transverse shear forces; Aijkl ; Bijkl and Dijkl are, respectively, the extensional, coupling and bending stiffness tensors; q is the lateral distributed load applied on the laminates. Their definitions are
2.3 Coupled Stretching-Bending Analysis
33
Zh=2 Nij ¼
Zh=2 rij dx3 ;
Mij ¼
h=2
rij x3 dx3 ;
Qi ¼
h=2
Zh=2 Aijks ¼
Zh=2 ri3 dx3 ; h=2
Zh=2 Cijks dx3 ;
Zh=2
Bijks ¼
h=2
Cijks x3 dx3 ;
Dijks ¼
h=2
ð2:56Þ Cijks x23 dx3 ;
h=2
in which h is the laminate thickness. A general solution satisfying all the basic equations shown in (2.55) has been obtained and purposely organized into the form of Stroh formalism, and hence is called Stroh-like formalism whose detailed derivation can be found in Hwu (2010). The midplane displacements ui , the negative slopes bi , the stress resultants Nij , the bending moments Mij , and the transverse shear forces Qi can be obtained through the following general solutions. ud ¼ 2RefAfðzÞg;
/d ¼ 2RefBfðzÞg;
ð2:57aÞ
where
ud ¼
u b
8 9 u1 > > > > > =
2 ; ¼ > b1 > > > > > : ; b2
/d ¼
/
w
A ¼ ½a1 a2 a3 a4 ; B ¼ ½b1 za ¼ x1 þ la x2 ; a ¼ 1; 2; 3; 4:
8 9 /1 > > > > > =
2 ; ¼ > w1 > > > > > : ; w2
b2
b3
9 8 f1 ðz1 Þ > > > > > = < f ðz Þ > 2 2 fðzÞ ¼ ; > f3 ðz3 Þ > > > > > ; : f4 ðz4 Þ
ð2:57bÞ
b4 ;
In (2.57b), /i ; i ¼ 1; 2; are the stress functions related to in-plane forces Nij , and wi ; i ¼ 1; 2; are the stress functions related to bending moments Mij , transverse shear forces Qi and effective transverse shear forces Vi . Their relations are N11 ¼ /1;2 ; M11 ¼ w1;2 ; Q1 ¼ g;2 ; V1 ¼ w2;22 ;
N22 ¼ /2;1 ; M22 ¼ w2;1 ; Q2 ¼ g;1 ; V2 ¼ w1;11 :
N12 ¼ /1;1 ¼ /2;2 ¼ N21 ; M12 ¼ ðw1;1 w2;2 Þ=2 ¼ M21 ; g ¼ ðw1;1 þ w2;2 Þ=2;
ð2:58Þ
The material eigenvalues la and their associated eigenvectors aa and ba can be determined from the following eigen-relation Nn ¼ ln;
ð2:59aÞ
where
N1 N¼ N3
N2 NT1
¼ It Nm It ;
a n¼ ; b
ð2:59bÞ
and " Nm ¼
ðNm Þ1
ðNm Þ2
ðNm Þ3
ðNm ÞT1
T ðNm Þ1 ¼ T1 m Rm ;
#
;
I1 It ¼ I2
I2 ; I1
T ðNm Þ2 ¼ T1 m ¼ ðNm Þ2 ; I T 1 T ðNm Þ3 ¼ Rm Tm Rm Qm ¼ ðNm Þ3 ; I1 ¼ 0
0 ; 0
I2 ¼
0 0
0 : I
ð2:59cÞ
34
2
I is the 2 2 identity matrix, and the three 4 4 2 e 11 A 6 A e 16 Qm ¼ 6 4B e 16 =2 e 12 B 2
real matrices Qm ; Rm and Tm are defined by 3 e 16 e 16 =2 e 12 B A B e 66 e 66 =2 e 62 7 B A B 7; e e e B 66 =2 D 66 =4 D 26 =2 5 e 62 e 26 =2 e 22 B D D e 12 A e 26 A e B 26 =2 e 22 B
e 16 A 6 A e 66 Rm ¼ 6 4B e 66 =2 e 62 B
Complex Variable Formalism
e 11 B e 61 B e D 16 =2 e 12 D
2
3 e 16 =2 B e 66 =2 7 B 7; e D 66 =4 5 e 26 =2 D
ð2:60bÞ
3 e 61 e 66 =2 B B e 21 e 26 =2 7 B B 7: e e D 11 D 16 =2 5 e 16 =2 D e 66 =4 D
e 26 e 66 A A 6 A e 22 e A 26 Tm ¼ 6 4 B e 61 e 21 B e e B 66 =2 B 26 =2
ð2:60aÞ
ð2:60cÞ
e B e ij ; B e and D e which are related to the extensional, coupling and bending e ij and D e ij are components of the matrices A, A stiffness matrices A, B and D by e ¼ A BD1 B; A
e ¼ BD1 ; B
e ¼ D1 : D
ð2:61Þ
Like the generalized eigen-relation (2.10a, 2.10b, 2.10c) for two-dimensional problems, the eigen-relation (2.59a, 2.59b, 2.59c) can be generalized as NðhÞn ¼ lðhÞn;
ð2:62aÞ
where NðhÞ ¼
N1 ðhÞ N2 ðhÞ ¼ It Nm ðhÞIt ; N3 ðhÞ NT1 ðhÞ
n¼
a ; b
lðhÞ ¼
l cos h sin h ; l sin h þ cos h
ð2:62bÞ
and " Nm ðhÞ ¼
ðNm ðhÞÞ1
ðNm ðhÞÞ2
ðNm ðhÞÞ3
ðNm ðhÞÞT1
T ðNm ðhÞÞ1 ¼ T1 m ðhÞRm ðhÞ;
# ;
ðNm ðhÞÞ2 ¼ T1 m ðhÞ;
ð2:62cÞ
T ðNm ðhÞÞ3 ¼ Rm ðhÞT1 m ðhÞRm ðhÞ Qm ðhÞ:
Qm ðhÞ; Rm ðhÞ and Tm ðhÞ are related to the matrices Qm ; Rm and Tm defined in (2.60a, 2.60b, 2.60c) by Qm ðhÞ ¼ Qm cos2 h þ ðRm þ RTm Þ sin h cos h þ Tm sin2 h; Rm ðhÞ ¼ Rm cos2 h þ ðTm Qm Þ sin h cos h RTm sin2 h; 2
Tm ðhÞ ¼ Tm cos h
ðRm þ RTm Þ sin h cos h þ Qm
ð2:63Þ
2
sin h:
Like (2.18a, 2.18b) for two-dimensional problems, stress resultants, bending moments and transverse shear forces in s– n coordinate can be calculated directly through the stress functions / and w by Nn ¼ nT /;s ; Nns ¼ sT /;s ¼ nT /;n ¼ Nsn ; Mn ¼ nT w;s ; Qn ¼ g;s ;
Mns ¼ sT w;s g ¼ nT w;n þ g ¼ Msn ;
Qs ¼ g;n ;
Vn ¼ ðsT w;s Þ;s ;
Ns ¼ sT /;n ;
g ¼ ðsT w;s þ nT w;n Þ=2;
Vs ¼ ðnT w;n Þ;n ;
Ms ¼ sT w;n ;
ð2:64aÞ
2.3 Coupled Stretching-Bending Analysis
35
where sT ¼ ðcos h; sin hÞ;
nT ¼ ð sin h; cos hÞ:
ð2:64bÞ
For polar coordinate system ðr; hÞ, the stress resultants/bending moments are related to the stress functions by 1 1 Nrh ¼ sT /;r ¼ nT /;h ; Nr ¼ sT /;h ; r r 1 T 1 T T Mh ¼ n w;r ; Mrh ¼ s w;r g ¼ n w;h þ g; Mr ¼ sT w;h ; r r 1 1 T 1 T Qh ¼ g;r ; Qr ¼ g;h ; g ¼ ðs w;r þ n w;h Þ; r 2 r
1 1 1 nT w;h ¼ 2 ðnT w;hh sT w;h Þ; Vh ¼ ðsT w;r Þ;r ¼ sT w;rr ; Vr ¼ r r r ;h Nh ¼ nT /;r ;
ð2:65Þ
where s and n denoting the directions of r and h can still be expressed by those given in (2.64b).
2.3.2 Extended Stroh-Like Formalism for Thermal Stresses in Laminates Based upon the Kirchhoff’s assumptions for laminated plates and the basic equations (2.24) for anisotropic elastic solids under thermal environment, the kinematic relations, the constitutive laws and the equilibrium equations for thermal stress analysis of composite laminates can be written as follows (Hwu 2010). 1 1 eij ¼ ðui;j þ uj;i Þ; jij ¼ ðbi;j þ bj;i Þ; 2 2 t 0 t Nij ¼ Aijkl ekl þ Bijkl jkl Aij T Bij T ; Mij ¼ Bijkl ekl þ Dijkl jkl Btij T 0 Dtij T ; ^
hi ¼ Kij T;j0 Kij T;j Ki3 T ;
Nij;j ¼ 0;
Mij;ij þ q ¼ 0;
Qi ¼ Mij;j ;
^
hi;i ¼ 0;
ð2:66Þ
i; j; k; l ¼ 1; 2;
in which most of the symbols have been explained in (2.55) and (2.56). The others are: T 0 is the midplane temperature; T is ^
the rate of temperature changes in thickness direction; hi is the heat flux resultant; Atij ; Btij ; Dtij are the tensors related to thermal moduli bij ; Kij and Kij are the coefficients related to heat conduction coefficients kij . Their definitions are ^
Zh=2
hi ¼
Zh=2 hi dx3 ;
Kij ¼
h=2
h=2
Zh=2 Atij ¼
kij dx3 ;
Kij
Zh=2 ¼
kij x3 dx3 ; h=2
Zh=2 bij dx3 ;
h=2
Btij ¼
Zh=2 bij x3 dx3 ;
h=2
Dtij ¼
ð2:67Þ bij x23 dx3 :
h=2
Since the basic equations stated in (2.66) are quite general, it is not easy to find a solution satisfying all these basic equations. Thus, only two special cases that occur frequently in engineering applications are considered in the literature. One is the case that temperature distribution depends on x1 and x2 only, i.e., T ¼ 0 and T ¼ T 0 ¼ T 0 ðx1 ; x2 Þ, and the other is the case that temperature varies linearly in thickness direction, i.e., T ¼ T 0 þ x3 T in which T 0 and T are constants independent of x1 and x2 . Case 1: temperature depends on x1 and x2 only If the temperature is assumed to depend on x1 and x2 only and the lateral distributed load and heat flux applied on the laminates are neglected, the basic equations (2.66) can be simplified to
36
2 ^
hi;i ¼ Kij T;ij ¼ 0;
Complex Variable Formalism
Nij;j ¼ Aijkl uk;lj þ Bijkl bk;lj Atij T;j ¼ 0;
Mij;ij ¼ Bijkl uk;lij þ Dijkl bk;lij Btij T;ij ¼ 0;
ð2:68Þ
i; j; k; l ¼ 1; 2:
A general solution satisfying (2.68) has been obtained as T ¼ 2Refg0 ðzt Þg;
^
hi ¼ 2RefðKi1 þ sKi2 Þg00 ðzt Þg;
ud ¼ 2RefAfðzÞ þ cgðzt Þg;
ð2:69aÞ
/d ¼ 2RefBfðzÞ þ dgðzt Þg;
where ud ¼
u b
;
/d ¼
/
u1
b1
; u¼ ; b¼ ; w u2 b2 a4 ; B ¼ ½b1 b2 b3 b4 ;
A ¼ ½ a1 a2 a3 9 8 f1 ðz1 Þ > > > > > = < f ðz Þ > 2 2 ; za ¼ x1 þ l a x2 ; fðzÞ ¼ > f3 ðz3 Þ > > > > > ; : f4 ðz4 Þ
/1
/¼
/2
;
w¼
w1 w2
; ð2:69bÞ
a ¼ 1; 2; 3; 4;
zt ¼ x1 þ sx2 :
The stress resultants/bending moments are related to the stress functions by (2.58). The eigen-relation for the determination of la and aa ; ba is given in (2.59a, 2.59b, 2.59c). The relations for the determination of thermal eigenvalues s and thermal eigenvectors c, d are K22 s2 þ 2K12 s þ K11 ¼ 0;
Ng ¼ sg þ c;
ð2:70aÞ
where N ¼ It Nm It ;
c g¼ ; d
0 c ¼ It I
ðNm Þ2 ðNm ÞT1
e a1 ; e a2
ð2:70bÞ
and 9 8 et > > A > > > > = < e 11 A t21 e ; a1 ¼ t e > > B > > > > ; : e 12 B t22
9 8 et > > A > > > > = < e 12 A t22 e a2 ¼ : t e > > B > > > > ; : e 11 B t21
ð2:70cÞ
e t and B e tij of (2.70c) are defined by A ij e t ¼ At B e ijkl Btkl ; A ij ij
e tij ¼ D e ijkl Btkl ; B
ð2:70dÞ
e and D e defined in (2.61), and At and Bt are defined in (2.67). Equation (2.70d) e ijkl and D e ijkl are tensor notations of B where B ij ij can also be written in matrix form as e t; ~at ¼ at Bb
~t ¼ Db e t; b
ð2:71aÞ
where 8 t 9 e =
> > > = < 11 At21 ; a1 ¼ > > Bt11 > > : t ; B21
8 t 9 A > > > > = < 12 At22 a2 ¼ ; Bt > > > > ; : 12 Bt22
8 t 9 B > > > > = < 11 Bt21 a1 ¼ ; > > Dt11 > > : t ; D21
8 t 9 B > > > > = < 12 Bt22 a2 ¼ : > > Dt12 > > : t ; D22
ð2:74cÞ
With the general solution shown in (2.74a, 2.74b, 2.74c) for generalized displacement and stress functions, the middle surface displacements ui and slopes bi can be obtained directly from the components of the generalized displacement vector ud . As to stress resultants Nij , shear forces Qi , effective shear forces Vi and bending moments Mij , we can utilize the relations shown in (2.58). Note that unlike the general solution shown in (2.69a, 2.69b) for case 1, the general solution shown in (2.74a, 2.74b, 2.74c) for case 2 does not include the expressions for temperature and heat flux resultant since they are known as linear temperature distributions and constant heat flows in thickness direction. In other words, for case 1 to find the plane ^
distributions of T and hi we need to prescribe their associated boundary conditions, while for case 2 they are assumed to be known and uniformly distributed in plane direction, and hence the boundary conditions for these physical quantities will not be stated in the related problems. The extended Stroh-like formalism presented in this section considers the thermal effects on the laminated plates. Similar extension has also been made in Hwu (2010) for consideration of the moisture effects.
38
2
Complex Variable Formalism
2.3.3 Expanded Stroh-Like Formalism for Electro-Elastic Laminates Based upon the Kirchhoff’s assumptions for laminated plates and the basic equations (2.31) for piezoelectric materials, the generalized constitutive law shown in (1.77) and the equilibrium equations of the electro-elastic composite laminates can be expressed in tensor notation as (Hwu 2010) Npq ¼ Apqrs ur;s þ Bpqrs br;s ; Npj;j ¼ 0;
Mij;ij ¼ 0;
Mpq ¼ Bpqrs ur;s þ Dpqrs br;s ;
M4j;j ¼ 0;
p; q; r; s ¼ 1; 2; 4;
ð2:75Þ
i; j ¼ 1; 2;
in which the tensors Apqrs ; Bpqrs and Dpqrs are related to their associated contracted notation by the following rules, 11 $ 1;
22 $ 2;
12
or 21 $ 6;
41 $ 7;
42 $ 8:
ð2:76Þ
As shown in (1.79) the subscript 4 denotes the values related to the electric displacements or electric fields. The differentiation with respect to x4 occurred in (2.75) is designated to be zero. The general solutions satisfying (2.75) can be expressed in matrix form as ud ¼ 2RefAfðzÞg;
/d ¼ 2RefBfðzÞg;
ð2:77aÞ
where 8 9 u1 > > > > > > > > > u2 > > > > > > > < u u4 = ; ud ¼ ¼ > > b > > > b1 > > > > > > > > b2 > > ; : > b4
8 9 /1 > > > > > > > > > /2 > > > > > > > < / /4 = /d ¼ ; ¼ > > w > > > w1 > > > > > > w > > > > ; : 2> w4
A ¼ ½a1 a2 a3 a4 a5 a6 ; z a ¼ x 1 þ la x 2 ;
9 8 f1 ðz1 Þ > > > > > > > > > f2 ðz2 Þ > > > > > > = < f ðz Þ > 3 3 fðzÞ ¼ ; > > > > > f4 ðz4 Þ > > > > > > > > f5 ðz5 Þ > > > ; : f6 ðz6 Þ
ð2:77bÞ
B ¼ ½b1 b2 b3 b4 b5 b6 ;
a ¼ 1; 2; 3; 4; 5; 6:
The stress resultants, bending moments, transverse shear forces, and effective transverse shear forces are related to the stress functions by (2.58). The relations for the generalized stress resultants/bending moments are N41 ¼ /4;2 ;
N42 ¼ /4;1 ;
M41 ¼ w4;2 ;
M42 ¼ w4;1 :
ð2:78Þ
lk and ðak ; bk Þ are the material eigenvalues and eigenvectors which can be determined by the eigenrelation (2.59a, 2.59b, 2.59c) in which N is now a 12 12 fundamental matrix and n is a 12 1 column vector, and the associated matrices Qm, e ij ; B e ij and D e ij defined in (2.61) by Rm, Tm are three 6 6 real matrices related to the expanded stiffnesses A 3 2 e 16 e 17 e 11 e 12 e 16 =2 e 18 =2 A A A B B B 6 A e 66 e 67 e e 62 e 66 =2 e 68 =2 7 A A B B B 7 6 16 6 A e e e 17 e e e 78 =2 7 A 67 A 77 B 72 B 76 =2 B 7; ð2:79aÞ Qm ¼ 6 6B e 66 =2 B e 76 =2 D e 66 =4 D e 26 =2 D e 68 =4 7 7 6 e 16 =2 B 4 B e 62 e 72 e 12 e 26 =2 e 22 e 28 =2 5 B B D D D e e e e e e 88 =4 B 18 =2 B 68 =2 B 78 =2 D 68 =4 D 28 =2 D 2
e 16 A 6 A e 6 66 6 A e 67 Rm ¼ 6 6B e 6 66 =2 4 B e 62 e B 68 =2
e 12 A e 26 A e 27 A e B 26 =2 e 22 B e B 28 =2
e 18 A e 68 A e 78 A e B 86 =2 e 82 B e B 88 =2
e 11 B e 61 B e 71 B e D 16 =2 e 12 D e D 18 =2
e 16 =2 B e 66 =2 B e 76 =2 B e D 66 =4 e 26 =2 D e D 68 =4
3 e 17 =2 B e 67 =2 7 B 7 e 77 =2 7 B 7; e 67 =4 7 D 7 e 27 =2 5 D e 78 =4 D
ð2:79bÞ
2.3 Coupled Stretching-Bending Analysis
2
e 66 A 6 A e 26 6 6 A e 68 Tm ¼ 6 6 B e 61 6 4 B e 66 =2 e 67 =2 B
39
e 26 A e 22 A e 28 A e 21 B e B 26 =2 e 27 =2 B
e 68 A e 28 A e 88 A e 81 B e B 86 =2 e 87 =2 B
e 61 B e 21 B e 81 B e D 11 e 16 =2 D e 17 =2 D
e 66 =2 B e 26 =2 B e 86 =2 B e D 16 =2 e 66 =4 D e 67 =4 D
3 e 67 =2 B e 27 =2 7 B 7 e 87 =2 7 B 7: e 17 =2 7 D 7 e 67 =4 5 D e 77 =4 D
ð2:79cÞ
Note that for the electro-elastic laminates, the transformation matrix It defined in (2.59c) should be changed to I1 I2 It ¼ ; ð2:80aÞ I3 I1 where I1 ¼ \1; 1; 1; 0; 0; 0 [ ;
I2 ¼ \0; 0; 0; 1; 1; 2 [ ;
I3 ¼ \0; 0; 0; 1; 1; 0:5 [ ;
ð2:80bÞ
and the symbol \ [ denotes a diagonal matrix.
2.4
Explicit Expressions
If an analytical solution is expressed by Stroh formalism, to calculate the stresses, strains, and displacements one should firstly determine the material eigenvalues la and the material eigenvector matrices A and B. Since la and (A, B) are the eigenvalues and eigenvector matrices of the material eigen-relation (2.8a, 2.8b, 2.8c), it is always helpful to have the explicit expressions of the fundamental elasticity matrix N and material eigenvector matrices A and B. Moreover, three real matrices Barnett-Lothe tensors S, H, and L defined in (2.13) appear frequently if the real form solution can be found. Therefore, for the convenience of readers’ reference, the explicit expressions of N, A, B, S, H, and L for different types of problems are now listed in this section. Detailed discussions about their derivation can be found in Hwu (2010).
2.4.1 Fundamental Elasticity Matrix N Two-dimensional analysis - anisotropic elastic materials (generalized plane strain) 2 3 2 3 b r6 1 s6 S 55 0 b S 15 1 6 6 7 7 N1 ¼ 4 r2 0 s2 5; N3 ¼ 4 0 0 0 5 D r4 0 s4 b S 15 0 b S 11 2 3 2 32 32 b b b b b b b S 16 0 S 56 S 55 0 b S 16 S 15 S 66 S 26 S 46 16 6b 7 7 6 7 6 N2 ¼ 4 S 26 b S 22 b S 24 5 4 b S 12 0 b S 25 54 0 0 0 54 0 D b b b b S 15 0 b S 56 S 46 b S 24 b S 44 S 14 0 b S 45 S 11
b S 12 0 b S 25
3 b S 14 7 0 5 b S 45
ð2:81aÞ
where D¼b S 11 b S 55 b S 15 ; rk ¼ ðb S 5k b S 1k Þ=D; S 15 b S 15 b S 55 b sk ¼ ð b S 1k b S 5k Þ=D; k ¼ 2; 4; 6: S 15 b S 11 b
ð2:81bÞ
b S ij ; i; j ¼ 1; 2; . . .; 6 are the reduced elastic compliances defined in (1.39b). For the state of generalized plane stress, ^Sij used in (2.81a, 2.81b) should be replaced by the elastic compliances Sij .
40
2
Two-dimensional analysis – piezoelectric materials (generalized plane strain and short 2 3 2 S11 X6 1 Y6 Z6 6 X2 0 Y2 Z2 7 6 1 7 6 0 N1 ¼ 6 4 X4 0 Y4 Z4 5; N2 ¼ N1 R þ T ; N3 ¼ D 4 S 15 g11 X8 0 Y8 Z8
Complex Variable Formalism
circuit) S15 0 S55 g15
0 0 0 0
3 g11 0 7 7; g15 5 b11
ð2:82aÞ
where 0 b 0r b0D 2 b0D b 0r b0D g0 ^ b0D g02 b S 0D g02 D ¼ b S 0D 11 S 55 b 11 þ 2 S 15 ^ 11 g15 S 55 ^ 11 11 ^ 15 þ b 11 ð S 15 Þ ; 0 b 0r g02 ; S ¼ b b 0r g0 ^ b 0r g02 ; S 0D S 0D S55 ¼ b S 0D S11 ¼ b 55 b 11 ^ 15 15 15 b 11 þ ^ 11 g15 ; 11 b 11 ^ 11 0D 0 0D 0 0D 0 0D 0 0D ^0D b b b b b g ¼ S ^g S ^g ; g ¼ S ^ S 0D Þ2 ; g þS ^ g ; b ¼ S S ðb 11
Xa ¼ Za ¼
15 15 b ð S 0D 1a S11 ðb S 0D 1a g11
55 11 b þ S 0D 5a S15 þb S 0D 5a g15
ð2:82bÞ
11 15 11 15 15 11 11 55 15 0D 0D 0D 0D b b b b þ S 7a g11 Þ=D; Ya ¼ ð S 1a S15 þ S 5a S55 þ S 7a g15 Þ=D; þb S 0D a ¼ 2; 4; 6; 8; 7a b11 Þ=D;
and 2
b S 0D 12 0 b S 0D 25 ^g012
b S 0D 16 6 0 6 R ¼ 4 b0D S 56 ^g016
b S 0D 14 0 b S 0D 45 ^g014
2 3 b S 0D ^ g021 66 6 S 0D 0 7 6b 7 ; T ¼ 6 26 ^ g025 5 4b S 0D 46 0r b b 12 ^ g026
b S 0D 26 b S 0D 22 b S 0D
b S 0D 46 b S 0D 24 b S 0D
24 ^ g022
44 ^ g024
3 ^ g026 7 ^ g022 7 7: ^ g024 5 b b 0r 22
ð2:82cÞ
^0ij and b Note that in (2.82b) the expanded notation b S 0D b 0r ij by 7j is related to g b 0r b S 0D 77 ¼ b 11 ;
b 0r b S 0D 78 ¼ b 12 ;
b b0D g0 ; S 0D 7j ¼ S j7 ¼ ^ 1j
j ¼ 1; 2; 4; 5; 6:
ð2:83Þ
bD gij , and b b g0ij , and b b 0r b rij for the state of generalized S 0D ij ; ^ ij are defined in (1.71d), which should be replaced, respectively, by S ij ; ^ 0r 0 D plane strain and open circuit, by S0D ij ; gij , and bij for the state of generalized plane stress and short circuit, and by Sij ; gij , and br for the state of generalized plane stress and open circuit. The definition of b SD; ^ gij , b b r ; S0D ; g0 , and b0r can be found in ij
ij
ij
ij
ij
ij
(1.71e) and (1.75d). Plate bending analysis " N1 ¼ 2 N3 ¼ 4
#
0
1
12 D D22
26 2D D22
D11 þ 2D16 þ
where Dij are the bending stiffnesses defined in (1.54b).
" ;
D212 D22
2D12 D26 D22
N2 ¼
0
0
0
1 D22
2D16 þ
#
2D12 D26 D22
4D66 þ
4D226 D22
; 3 5;
ð2:84Þ
2.4 Explicit Expressions
41
Coupled stretching-bending analysis 2 3 X11 X12 Y13 Y14 0 Y23 Y24 7 16 6 X21 7 N1 ¼ 6 7; e4 0 0 0 X43 5 D e 12 0 X34 X44 B 2 ~ 3 D22 0 X31 X41 0 0 0 7 16 6 0 7 N3 ¼ 6 7; e 4 X31 0 Y33 Y34 5 D X41
0
Y34
2 N2 ¼
Y11
16 6 Y12 6 e4 0 D X14
Y12
0
Y22 0
0 0
X24
0
X14
3
X24 7 7 7; 0 5 e A 11
ð2:85aÞ
Y44
e are defined as follows. where Xij ; Yij and D e¼B e D e 12 B e 12 þ A e D 11 22 ; e D e e e X11 ¼ A 16 22 þ B 12 B 62 ;
e D e e e X21 ¼ A 12 22 þ B 12 B 22 ; e 22 B e 12 ; e 11 D e 12 D X31 ¼ B e 22 e 16 D X41 ¼ 2ð B
e D e e e X12 ¼ ð A 11 22 þ B 12 B 12 Þ; e B e e e X24 ¼ A 11 22 A 12 B 12 ;
e D e e e X34 ¼ ð A 11 12 þ B 11 B 12 Þ; e D e 26 Þ; X43 ¼ A e e 12 D e e B 11 22 þ B 12 B 12 ;
e B e e e X14 ¼ A 11 62 A 16 B 12 ; ð2:85bÞ e D e e e X44 ¼ 2ð A 11 26 þ B 16 B 12 Þ;
e B e 2 e e e e e 2 e ~ 2 e e e Y11 ¼ A 11 62 þ A 66 B12 þ A 11 A 66 D 22 A 16 D 22 2 A 16 B 12 B 62 ; e B e e 2 e e e e e e e e e e e e e e Y12 ¼ A 11 22 B 62 þ A 26 B 12 þ A 11 A 26 D 22 A 12 A 16 D 22 A 12 B 12 B 62 A 16 B 12 B 22 ; e B e e e e e e e e e e e e 2 e e e e Y13 ¼ A 16 12 D 12 þ B 12 B 61 þ A 11 B 61 D 22 A 16 B 11 D 22 A 11 B 62 D 12 B 11 B 12 B 62 ; e B e e e e e e e e e e e e 2 e e e e Y14 ¼ 2ð A 16 12 D 26 þ B 12 B 66 þ A 11 B 66 D 22 A 16 B 16 D 22 A 11 B 62 D 26 B 12 B 16 B 62 Þ; e B e 2 e e e e e 2 e e 2 e e e Y22 ¼ A 11 22 þ A 22 B 12 þ A 11 A 22 D 22 A 12 D 22 2 A 12 B 12 B 22 ; e B e e e e e e e e e e e e 2 e e e e Y23 ¼ A 12 12 D 12 þ B 12 B 21 þ A 11 B 21 D 22 A 12 B 11 D 22 A 11 B 22 D 12 B 11 B 12 B 22 ; e B e e e e e e e e e e e e 2 e e e e Y24 ¼ 2ð A 12 12 D 26 þ B 12 B 26 þ A 11 B 26 D 22 A 12 B 16 D 22 A 11 B 22 D 26 B 12 B 16 B 22 Þ; e D e e e e 2 e e e e 2 e e 2 e Y33 ¼ A 11 12 þ 2 B 11 B 12 D 12 B 11 D 22 B 12 D 11 A 11 D 11 D 22 ; e D e e e e 12 B e e e e 2 e e e e e 16 D e 12 þ A e e Y34 ¼ 2ð B 11 12 D 26 þ B 11 B 12 D 26 A 11 D 16 D 22 B 12 D 16 B 11 B 16 D 22 Þ; Y44 ¼
e D e 2 4ð A 11 26
e 16 D e 26 e 12 B þ 2B
e e 2 B 16 D 22
e e 2 B 12 D 66
ð2:85cÞ
ð2:85dÞ
ð2:85eÞ
e D e e A 11 22 D 66 Þ;
e , B e and D e are related to the extensional, coupling and bending stiffnesses A, B, and D by the relations given in in which A (1.56b). If the plate is symmetric with respect to the mid-plane such as symmetric laminates, the fundamental elasticity matrix (2.85a, 2.85b, 2.85c, 2.85d, 2.85e) can be reduced to
42
2
2 A
16
A11
1
0
0
3
2
A2
A66 A16
A26
A12 A16 A11
0
11 7 6 6 7 6 A12 6 A2 6 A 6 A26 A12AA16 0 0 0 7 A22 A12 N1 ¼ 6 11 7; N2 ¼ 6 11 11 6 0 6 0 0 1 7 0 0 5 4 4 D26 12 0 0 D 0 0 D22 2 D22 3 2 1 0 0 A 0 11 7 6 0 0 6 0 0 2 7 7 6 D D D N3 ¼ 6 0 ; 0 D11 D1222 2 D16 12D2226 7 7 6 5 4 D2 D D 0 0 2 D16 12D2226 4 D66 D2622
where Aij , i; j ¼ 1; 2; 6; denote the components of A1 . For a single layer isotropic plate with Young’s modulus E, Poisson’s ratio m, matrix N can be further reduced to 2 2 3 2ð1 þ mÞ 0 0 1 0 0 Eh 6 6 m 0 7 1m2 0 0 6 0 7; N2 ¼ 6 Eh N1 ¼ 6 4 0 0 0 15 4 0 0 0 0 m 0 0 0 2
Eh 6 0 N3 ¼ 6 4 0 0
0 0 0 0
0 0 3 Eh 12 0
0 0 0
0 0 0
Complex Variable Formalism
0
3
7 7 0 7 7; 7 0 5 1 D22
ð2:86Þ
and thickness h, the fundamental elasticity 0 0 0 0
0 0 0
3
2
12ð1m Þ Eh3
7 7 7; 5
ð2:87aÞ
3
3
7 7: 5
ð2:87bÞ
6ð1Ehþ mÞ
2.4.2 Material Eigenvector Matrices A and B Two-dimensional analysis - anisotropic elastic materials (generalized plane strain) The material eigenvalues la can be determined by the following characteristic equation, l4 ðlÞl2 ðlÞ l23 ðlÞ ¼ 0;
ð2:88aÞ
in which l2 ðlÞ ¼ b S 55 l2 2b S 45 l þ b S 44 ; 3 b b b l3 ðlÞ ¼ S 15 l ð S 14 þ S 56 Þl2 þ ðb S 25 þ b S 46 Þl b S 24 ;
ð2:88bÞ
l4 ðlÞ ¼ b S 11 l 2b S 16 l þ ð2b S 12 þ b S 66 Þl 2b S 26 l þ b S 22 : 4
The explicit expressions of the material 2 c1 a11 A ¼ 4 c1 a21 c1 a31
3
2
eigenvector matrices A and B are 3 2 c2 a12 c3 a13 c1 b11 c2 b12 c2 a22 c3 a23 5; B ¼ 4 c1 b21 c2 b22 c2 a32 c3 a33 c1 b31 c2 b32
where aij and bij are determined by the following relations.
3 c3 b13 c3 b23 5; c3 b33
ð2:89aÞ
2.4 Explicit Expressions
43
If l2 ðlk Þ 6¼ 0: a1k ¼ p1 ðlk Þ þ kk q1 ðlk Þ;
b1k ¼ lk ;
a2k ¼ ½p2 ðlk Þ þ kk q2 ðlk Þ=lk ; a3k ¼ ½p4 ðlk Þ þ kk q4 ðlk Þ=lk ;
b2k ¼ 1; b3k ¼ kk ;
kk ¼ l3 ðlk Þ=l2 ðlk Þ;
ð2:89bÞ
k ¼ 1; 2; 3:
If l4 ðlk Þ 6¼ 0: a1k ¼ k1 k p1 ðlk Þ þ q1 ðlk Þ;
a2k ¼ ½k1 k p2 ðlk Þ þ q2 ðlk Þ=lk ; a3k ¼ ½k1 k p4 ðlk Þ þ q4 ðlk Þ=lk ;
k1 k ¼ l3 ðlk Þ=l4 ðlk Þ;
b1k ¼ k1 k lk ;
b2k ¼ k1 k ; b3k ¼ 1;
ð2:89cÞ
k ¼ 1; 2; 3:
In the above, pj ðlk Þ ¼ l2k b S j1 þ b S j6 ; qj ðlk Þ ¼ lk b S j5 b S j2 lk b S j4 ;
j ¼ 1; 2; 4; 5; 6:
ð2:89dÞ
The normalization factors ci ; i ¼ 1; 2; 3 in (2.89a) are determined from the orthogonality relation (2.12), which requires that c2k ¼
1 ; 2ða1k b1k þ a2k b2k þ a3k b3k Þ
k ¼ 1; 2; 3.
ð2:90Þ
For the state of generalized plane stress, replace b S ij by Sij . Two-dimensional analysis - piezoelectric materials (generalized plane strain and short circuit). The material eigenvalues la are determined by the following characteristic equation, l2 l4 q2 þ 2l3 m2 m3 l2 m23 l4 m22 q2 l23 ¼ 0;
ð2:91aÞ
where 2 b0D b0D l2 ¼ b S 0D 55 l 2 S 45 l þ S 44 ; l3 ¼ b S 0D l3 ðb S 0D þ b S 0D Þl2 þ ð b S 0D þ b S 0D Þl b S 0D ; 15
14
56
25
46
24
4 b0D 3 b0D b0D 2 b0D b0D l4 ¼ b S 0D 11 l 2 S 16 l þ ð2 S 12 þ S 66 Þl 2 S 26 l þ S 22 ;
g025 Þl þ ^ g024 ; m2 ¼ ^g015 l2 ð^g014 þ ^
ð2:91bÞ
m3 ¼ ^g011 l3 ð^g021 þ ^ g016 Þl2 þ ð^ g012 þ ^ g026 Þl ^ g022 ; b 0r l2 þ 2 b b 0r l b b 0r : q ¼ b 2
11
12
22
b 0r are defined in (1.71d). As stated in the sentence following (2.83), suitable replacement should be made for b S 0D g0ij , and b ij ij ; ^ the other two-dimensional states. The explicit expressions of the material eigenvector matrices A and B are 2 3 2 3 c1 a11 c2 a12 c3 a13 c4 a14 c1 b11 c2 b12 c3 b13 c4 b14 6 c1 a21 c2 a22 c3 a23 c4 a24 7 6 c1 b21 c2 b22 c3 b23 c4 b24 7 7 6 7 A¼6 ð2:92Þ 4 c1 a31 c2 a32 c3 a33 c3 a34 5; B ¼ 4 c1 b31 c2 b32 c3 b33 c3 b34 5; c1 a41 c2 a42 c3 a43 c3 a44 c1 b41 c2 b42 c3 b43 c3 b44
44
2
where aij and bij are determined as follows. 9 8 9 8 b1k > > > lk l4 ðlk Þ > > > > = > = < < l4 ðlk Þ b2k ¼ l ðl Þ > b > > > > ; > ; : 3k > : 3 k > m3 ðlk Þ b4k
9 8 l l ðl Þ > > > = < k 3 k > l3 ðlk Þ or or > > l2 ðlk Þ > > ; : m2 ðlk Þ
9 8 l m ðl Þ > > > = < k 3 k > m3 ðlk Þ ; > > m2 ðlk Þ > > ; : q2 ðlk Þ
Complex Variable Formalism
k ¼ 1; 2; 3; 4;
ð2:93aÞ
in which l2 ¼ l4 q2 m23 ; l3 ¼ m2 m3 l3 q2 ; m2 ¼ l3 m3 l4 m2 ; m3 ¼ l3 m2 l2 m3 ;
l4 ¼ l2 q2 m22 ; q2 ¼ l2 l4 l23 :
ð2:93bÞ
Generally, the three different expressions shown in (2.93a) should be proportional if they are nontrivial. If one or two of them is a trivial solution, i.e., zero, just take the nontrivial one as the eigenvector b. If all of them are trivial, one may take a small perturbation to get the nontrivial solution. In computer programming, it is suggested to calculate bij by the following procedure: (1) if l4 ðlk Þ 6¼ 0, take the 1st expression; (2) if l4 ðlk Þ ¼ 0 and l3 ðlk Þ 6¼ 0, take the 2nd one; (3) if l4 ðlk Þ ¼ l3 ðlk Þ ¼ 0 and l2 ðlk Þ 6¼ 0, take the 2nd one; (4) if l4 ðlk Þ ¼ l3 ðlk Þ ¼ m3 ðlk Þ ¼ l2 ðlk Þ ¼ 0 and q2 ðlk Þ 6¼ 0, take the 3rd one. Note that according to the characteristic relation (2.91a), in step (3)l4 ðlk Þ ¼ l3 ðlk Þ ¼ 0 will lead to m3 ðlk Þ ¼ 0, also in step (4) l4 ðlk Þ ¼ l3 ðlk Þ ¼m3 ðlk Þ ¼ l2 ðlk Þ ¼ 0 will lead to m2 ðlk Þ ¼ 0. With bij determined from (2.93a, 2.93b), aij can be calculated from the results of bij by 9 8 9 8 p1 ðlk Þb2k q1 ðlk Þb3k r1 ðlk Þb4k > a1k > > > > > > > = < = < a2k ½p2 ðlk Þb2k q2 ðlk Þb3k r2 ðlk Þb4k =lk ¼ ; k ¼ 1; 2; 3; 4; ð2:94aÞ a > > ½p ðl Þb q4 ðlk Þb3k r4 ðlk Þb4k =lk > > > > ; > ; : 3k > : 4 k 2k a4k p7 ðlk Þb2k q7 ðlk Þb3k r7 ðlk Þb4k where b0D b0D b0D b0D pj ðlk Þ ¼ l2k b S 0D j1 þ S j2 lk S j6 ; qj ðlk Þ ¼ lk S j5 S j4 ; b0D rj ðlk Þ ¼ lk b S 0D j ¼ 1; 2; 4; 7; k ¼ 1; 2; 3; 4: j7 S j8 ;
ð2:94bÞ
Note that to be consistent with the definition given in (2.89d), qj ðlk Þ and rj ðlk Þ in (2.94b) and hence the associated equations in (2.94a) have the sign difference as those given in (11.43) of (Hwu 2010). The scaling factors ck in (2.92) are determined by c2k ¼
1 ; 2ða1k b1k þ a2k b2k þ a3k b3k þ a4k b4k Þ
k ¼ 1; 2; 3; 4.
ð2:95Þ
Plate bending analysis The material eigenvalues la are determined by the following characteristic equation, D22 l4 þ 4D26 l3 þ 2ðD12 þ 2D66 Þl2 þ 4D16 l þ D11 ¼ 0: The explicit expressions of the material eigenvector matrices A and B are c2 c1 c1 g1 ðl1 Þ=l1 c2 g1 ðl2 Þ=l2 ; A¼ ; B¼ c1 l1 c2 l2 c1 g2 ðl1 Þ c2 g2 ðl2 Þ
ð2:96Þ
ð2:97aÞ
where gj ðla Þ ¼ Dj1 þ Dj2 l2a þ 2Dj6 la :
ð2:97bÞ
2.4 Explicit Expressions
45
The scaling factors c1 and c2 are determined by c2k ¼
lk ; 2ðl2k g2 ðlk Þ g1 ðlk ÞÞ
k ¼ 1; 2:
ð2:98Þ
Coupled stretching-bending analysis - composite laminates The material eigenvalues la are determined by the following characteristic equation, l1 ðlÞl4 ðlÞ þ l2 ðlÞl3 ðlÞ ¼ 0;
ð2:99aÞ
where g1 l1 ¼ 2l þ
þ g6 ;
l3 ¼
q6 ; l 4 ¼
lg2 2 lq1 þ ql2
h1 l2 ¼ 2l þ
lh2 2 lp1 þ pl2
þ h6 ; p6 ;
ð2:99bÞ
e þ A e lA e ; qj ¼ B e j2 þ 2l B e j1 þ l2 B e j6 ; pj ¼ l2 A j1 j2 j6 e 1j þ B e j2 þ 2l D e 2j l B e 6j ; gj ¼ D e j1 þ l2 D e j6 ; hj ¼ l2 B e , B e and D e are defined in (1.56b). in which A The explicit expressions of the material eigenvector matrices A and B are 2 3 2 c1 a11 c2 a12 c3 a13 c4 a14 c1 b11 c2 b12 6 c1 a21 c2 a22 c3 a23 c4 a24 7 6 c1 b21 c2 b22 7 6 A¼6 4 c1 a31 c2 a32 c3 a33 c3 a34 ; 5 B ¼ 4 c1 b31 c2 b32 c1 a41 c2 a42 c3 a43 c3 a44 c1 b41 c2 b42
c3 b13 c3 b23 c3 b33 c3 b43
3 c4 b14 c4 b24 7 7; c3 b34 5 c3 b44
ð2:100aÞ
where aij and bij are determined by the following relations. 6 0: If l1 and=or l3 ¼ a1k ¼ p1 ðlk Þ þ kk q1 ðlk Þ; b1k ¼ lk ; a2k ¼ ½p2 ðlk Þ þ kk q2 ðlk Þ=lk ; b2k ¼ 1; a3k ¼ kk ; a4k ¼ kk lk ;
b3k ¼ ½h1 ðlk Þ kk g1 ðlk Þ=lk ; b4k ¼ h2 ðlk Þ þ kk g2 ðlk Þ;
kk ¼ l4 ðlk Þ=l3 ðlk Þ ¼ l2 ðlk Þ=l1 ðlk Þ; If l2
ð2:100bÞ
k ¼ 1; 2; 3; 4:
and=or l4 6¼ 0: a1k ¼ k1 k p1 ðlk Þ þ q1 ðlk Þ;
b1k ¼ k1 k lk ;
1 a2k ¼ ½k1 k p2 ðlk Þ þ q2 ðlk Þ=lk ; b2k ¼ kk ; a3k ¼ 1; b3k ¼ ½k1 k h1 ðlk Þ g1 ðlk Þ=lk ;
a4k ¼ lk ; k1 k
b4k ¼
¼ l3 ðlk Þ=l4 ðlk Þ ¼ l1 ðlk Þ=l2 ðlk Þ;
ð2:100cÞ
k1 k h2 ðlk Þ þ g2 ðlk Þ; k ¼ 1; 2; 3; 4:
The scaling factors ck are determined by c2k ¼
1 ; 2ða1k b1k þ a2k b2k þ a3k b3k þ a4k b4k Þ
k ¼ 1; 2; 3; 4.
ð2:101Þ
46
2
Complex Variable Formalism
Coupled stretching-bending analysis—electro-elastic laminates The material eigenvalues la and their associated eigenvectors can be determined by the following characteristic equation, 2 38 u 9 b l11 l12 l13 l14 > > > 2 > 6 l21 l22 l23 l24 7< bu4 = 6 7 ð2:102aÞ 4 l31 l32 l33 l34 5> bw > ¼ 0; > ; : 1w > l41 l42 l43 l44 2b4 where l11 ¼ lpA1 þ l1 pA2 pA6 ;
l12 ¼ lrA1 þ l1 rA2 rA6 ;
l13 ¼ lqB1 þ l1 qB2 qB6 ;
l14 ¼ lsB1 þ l1 sB2 sB6 ;
l21 ¼ lpA7 þ pA8 ; l22 ¼ lrA7 þ rA8 ; l31 ¼ l33 ¼
l1 pBT 1 lpBT 2 2pBT 6 ; 1 l qD1 þ lqD2 þ 2qD6 ;
l32 ¼ l34 ¼
l23 ¼ lqB7 þ qB8 ;
l24 ¼ lsB7 þ sB8 ;
l1 rBT 1 lrBT 2 2rBT 6 ; 1 l sD1 þ lsD2 þ 2sD6 ;
l41 ¼ pBT 7 lpBT 8 ; l42 ¼ rBT 7 lrBT 8 ;
l43 ¼ qD7 þ lqD8 ;
ð2:102bÞ
l44 ¼ sD7 þ lsD8 ;
and e j1 e j2 e j6 e j7 e j8 þX lX ; rXj ¼ l X þX ; pXj ¼ l2 X e j2 e j1 e j6 e j7 e j8 qXj ¼ X þ l2 X þ 2l X ; sXj ¼ X þ lX ; X ¼ A; B
or D:
ð2:102cÞ
Nontrivial solutions of bu2 ; bu4 ; bw1 and bw4 exist when the determinant of the coefficient matrix of (2.102a) vanishes, which will lead to an equation of 12th order polynomial of l. By solving the characteristic equation, detðlij Þ ¼ 0;
ð2:103Þ
six pairs of complex conjugate of material eigenvalues la can be obtained. To get the explicit expressions of the material eigenvector b, we construct the adjoint of the coefficient matrix ½lij which is the transpose of the matrix of cofactor lij , i.e., 2
l11 6 l12 ½lij T ¼ 6 4 l 13 l14
l21 l22 l23 l24
l31 l32 l33 l34
3 l41 l42 7 7: l43 5 l44
ð2:104Þ
It is known that for any square matrix, singular or non-singular, ½lij ½lij T ¼ detðlij ÞI:
ð2:105Þ
From (2.105), (2.102a, 2.102b, 2.102c), and the relation lbu2 ¼ bu1 ; bw2 ¼ lbw1 (Hwu 2010), the following explicit expressions can be obtained 8 u 9 8 9 b1k > > lk li1 ðlk Þ > > > > > > > > > > bu2k > > > > > li1 ðlk Þ > > > > > > > > > = < bu = < li2 ðlk Þ 4k w ¼ ; k ¼ 1; 2; 3; 4; 5; 6; and i ¼ 1 or 2 or 3 or 4. ð2:106Þ b1k > li3 ðlk Þ > > > > > > > > > > > w > > > > b > > l l ðl Þ > > > > k i3 k > 2k > > ; : l ðl Þ ; : w > 2b4k i4 k
2.4 Explicit Expressions
47
From (13.153a) and (13.153b) of (Hwu 2010), we have u e a A ¼ w e T a B
e B e D
bu ; bw
ð2:107aÞ
9 8 8 w 9 9 8 u 8 2 u 9 law1k b1k > > > > a l b > > > > > > > > 1k 2k > > > > > > > w w > > > > > > > > > u u > > > > > > > = = = = < a2k < l2 b1k > < la2k < b2k au ¼ lau1k þ au2k ; aw ¼ aw1k law2k ; bu ¼ lbu2k ; bw ¼ 2lbw1k : > > > > > > > > u > > > > > > > lbu4k > > > > > > > law4k =2 > 2bw4k > > > > > > > > a4k > > > ; ; > > : : u u ; ; : : la4k b4k aw4k =2 2lbw4k
ð2:107bÞ
e ; B e and D e are defined in (1.56b). With the results obtained in (2.106) and (2.107a, 2.107b), the explicit expressions of A material eigenvector matrices A and B can be constructed as 3 2 c2 au12 c3 au13 c4 au14 c5 au15 c6 au16 c1 au11 6 c1 au21 c2 au22 c3 au23 c4 au24 c5 au25 c6 au26 7 7 6 u u u u 6 c 1 au c2 a42 c3 a43 c4 a44 c5 a45 c6 au46 7 41 7 6 ; ð2:108aÞ A ¼ 6 c bw c2 bw12 c3 bw13 c4 bw14 c5 bw15 c6 bw16 7 7 6 1 11 6 w w w w w w 7 4 c1 b21 c2 b22 c3 b23 c4 b24 c5 b25 c6 b26 5 2c1 bw41 2c2 bw42 2c3 bw43 2c4 bw44 2c5 bw45 2c6 bw46 2
c1 bu11 6 c1 bu21 6 6 c 1 bu 41 6 B ¼ 6 c aw 6 1 11 6 4 c1 aw21 c1 aw41 =2
c2 bu12 c2 bu22 c2 bu42 c2 aw12 c2 aw22 c2 aw42 =2
c3 bu13 c4 bu14 u c3 b23 c4 bu24 u c3 b43 c4 bu44 w c3 a13 c4 aw14 c3 aw23 c4 aw24 w c3 a43 =2 c4 aw44 =2
c5 bu15 c5 bu25 c5 bu45 c5 aw15 c5 aw25 c5 aw45 =2
3 c6 bu16 c6 bu26 7 7 c6 bu46 7 7 : c6 aw16 7 7 7 c6 aw26 5 c6 aw46 =2
ð2:108bÞ
The scaling factors ck in (2.108a, 2.108b) are determined by the following relation c2k ¼
1
;
2ðau1k bu1k þ au2k bu2k þ au4k bu4k þ aw1k bw1k þ aw2k bw2k þ aw4k bw4k Þ
k ¼ 1; 2; 3; 4.
ð2:109Þ
Alternatively, (2.102a, 2.102b, 2.102c) can also be written into the following nonlinear eigenvalue problem fl4 X4 þ l3 X3 þ l2 X2 þ lX1 þ X0 gb ¼ 0;
ð2:110aÞ
where
b¼
8 u9 b2 > > > > > > > > > u> > = < b4 > > > > > > > : 2
> > > > > > w;
bw1
;
2 e A 22 6 0 6 X0 ¼ 6 e 21 4 B
2b4
e 2 A 26 e A
6 6 82 X1 ¼ 6 6 e e 26 4 B 61 2 B e 27 B
0 e A e A 27 68 e A 88
e 71 2 B e 86 B e 87 B
e A 28
e 21 B
0 e 81 B
0 e 11 D
0
0
e 26 B e 61 2B e 81 B e 16 4D e 71 D
e 27 B
3
0 7 7 7; e 17 5 D 0 3 e 28 B e 67 B 7 e 87 7 B 7; e 18 þ 2 D e 67 7 D 5 e 77 D
ð2:110bÞ
48
2
2
e þ A e A 67 18 e 2 A
e e þ A 2A 12 66 e A e A
e 11 þ B e 22 2 B e 66 B e 86 B e 71 2B
Complex Variable Formalism
3 e 17 B e 68 B e 88 B e 77 7 7 B 7; e 68 þ D e 27 7 2D 5 e 78 2D
6 6 86 72 78 X2 ¼ 6 6 e e 22 þ 2 B e 66 2 B e 76 B e 82 e 12 þ 4 D e 66 2D 4 B 11 B e 67 B e 77 B e 28 e 88 e 76 þ D e 81 B B 2D 2 2 3 e B e e 18 e 62 þ 2 B e 16 B 0 A A 17 11 6 6 e 7 e e e ~ e e 6 6 A 81 þ A 7 B A 2 B B A 82 76 77 76 78 7 71 X3 ¼ 6 ; X4 ¼ 6 6 e 6 e 72 e 28 7 e 16 þ B e 62 B e 26 D 4D 4 B 12 4 2 B 5 e 18 e 78 e 72 þ 2 D e 88 e 17 þ B e 68 e 86 B B D D B
0 0 0 0
e 12 B e 72 B e 22 D e 82 D
0
3
ð2:110cÞ
7 07 7: 7 05 0
The eigenvalues la and their associated eigenvectors ba can then be solved by using the MATLAB function polyeig.
2.4.3 Barnett-Lothe Tensors S, H and L Two-dimensional analysis (generalized plane strain) Monoclinic materials with the symmetry plane at x3 ¼ 0: 2 3 2 d b 0 b s2 6 7 6 2 S 11 ð1 s Þ4 d S ¼ 4 e d 0 5; H ¼ b g 0 0 0 0 2 3 e d 0 s2 6 7 L¼ d b 0 4 5; 2 b S 11 g 2 2 0 0 hb S 11 g s
d
0
e
0
0
3
½hb S 11 ð1 s2 Þ1
7 5; ð2:111aÞ
where a, b, c, d, e, g, s and h are all dimensionless real constants determined by l1 þ l2 ¼ a þ ib;
l1 l2 ¼ c þ id;
g ¼ ðb S 12 =b S 11 Þ c [ 0;
b [ 0;
e ¼ ad bc [ 0;
1 [ s ¼ gðbe d2 Þ1=2 [ 0;
ð2:111bÞ
2 1=2 S 55 b S 245 Þ1=2 ¼ ðC44 C55 C45 Þ : h ¼ ðb S 44 b
Orthotropic materials: 2
0 S ¼ 4 e 0
k1 e 0 0
3 0 0 5; 0
2
k1 k2 e 4 H¼ 0 0
0 k2 e 0
3 0 0 5; h1
2
k3 e 4 L¼ 0 0
0 k1 k3 e 0
3 0 0 5; h
ð2:112aÞ
where pffiffiffiffiffiffiffiffiffiffiffiffiffiffi 1=2 C66 ð C11 C22 C12 Þ pffiffiffiffiffiffiffiffiffiffiffiffiffiffi e ¼ ; h ¼ ðC44 C55 Þ1=2 C22 ðC12 þ 2C66 þ C11 C22 Þ rffiffiffiffiffiffiffi pffiffiffiffiffiffiffiffiffiffiffiffiffiffi pffiffiffiffiffiffiffiffiffiffiffiffiffiffi C11 C22 þ C66 C22 pffiffiffiffiffiffiffiffiffiffiffiffiffiffi ; k3 ¼ ðC12 þ C11 C22 Þ: ; k2 ¼ k1 ¼ C11 C66 ð C11 C22 C12 Þ
ð2:112bÞ
2.4 Explicit Expressions
49
Isotropic materials: 2
0 S ¼ 4 e 0
2
3 0 0 5; 0
e 0 0
k2 e 4 0 H¼ 0
0 k2 e 0
3 0 0 5; h1
2
k3 e 4 0 L¼ 0
0 k3 e 0
3 0 0 5; h
ð2:113aÞ
where e ¼
1 2m ; 2ð1 mÞ
k2 e ¼
ð3 4mÞð1 þ mÞ ; 2Eð1 mÞ
s2 d S¼ g e
b ; d
s2 b H¼ D22 g2 d
k3 e ¼
E ; 2ð1 m2 Þ
h¼
E ¼ G: 2ð1 þ mÞ
ð2:113bÞ
Plate Bending Analysis Monoclinic plates: d ; e
e L ¼ D22 ð1 s Þ d 2
d ; b
ð2:114aÞ
where a, b, d, e, g and s are defined by l1 þ l2 ¼ a þ ib; D12 g¼ c [ 0; D22
l1 l2 ¼ c þ id; b [ 0; g 0\s ¼ pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi \1: be d2
e ¼ ad bc [ 0; ð2:114bÞ
Orthotropic plates or regular symmetric cross-ply laminates ðD16 ¼ D26 ¼ 0Þ: 0 1=t2 0 t3 =t1 t4 =t2 ; H¼ S¼ ; L¼ 0 1=t1 0 t3 =t2 0
0 ; t4 =t1
ð2:115aÞ
where qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ffi pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ffi 2D11 ðD12 þ 2D66 þ D11 D22 Þ; t2 ¼ 2D22 ðD12 þ 2D66 þ D11 D22 Þ; pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi t3 ¼ D12 þ D11 D22 ; t4 ¼ D212 D11 D22 4D66 D11 D22 : t1 ¼
ð2:115bÞ
Isotropic plates: 1þm 0 1 ; S¼ 1 0 2
1 1 H¼ 2D 0
0 ; 1
ð3 þ mÞð1 mÞD 1 L¼ 0 2
0 ; 1
ð2:116aÞ
where D ¼ Eh3 =12ð1 m2 Þ:
ð2:116bÞ
Coupled Stretching-Bending Analysis Symmetric laminates: 2
dA Sa 6 eA Sa S¼6 4 0 0
bA Sa dA Sa 0 0
0 0 dD Sd eD Sd
3 0 0 7 7; bD Sd 5 dD Sd
2
bA H a 6 dA H a H¼6 4 0 0
dA Ha eA H a 0 0
0 0 bD Hd dD Hd
3 0 0 7 7; dD Hd 5 eD Hd
50
2
2
eA L a 6 dA La 6 L¼4 0 0
dA La bA La 0 0
0 0 eD Ld dD Ld
Complex Variable Formalism
3 0 0 7 7; dD Ld 5 bD Ld
ð2:117aÞ
where Sa ¼
A11 ðcA A11 A12 Þ; A20
Sd ¼
A11 ðcA A11 A12 Þ2 ; A20 A kD D22 La ¼ 11 ; Ld ¼ ; A20 D20
kD2 D22 ðD12 cD D22 Þ; D20
Ha ¼ A11
Hd ¼ kD D22
kD3 D22 ðD12 cD D22 Þ2 ; D20
ð2:117bÞ
and A20 ¼ ðbA eA dA2 ÞA2 11 ;
D20 ¼ ðbD eD dD2 ÞkD2 D222 :
ð2:117cÞ
In the above, Aij , i; j ¼ 1; 2; 6; denote the components of A1 , and the constants aA ; aD ; bA ; bD ; cA ; cD ; dA ; dD ; eA ; eD ; kD are related to the material eigenvalues la by l1 þ l2 ¼ aA þ ibA ; l3 þ l4 ¼ aD þ ibD ; kD ¼ fbD eD
c2D
l1 l2 ¼ cA þ idA ; eA ¼ aA dA bA cA ; l3 l4 ¼ cD þ idD ; eD ¼ aD dD bD cD ; dD2 ÞD222
þ 2cD D12 D22
ð2:117dÞ
D212 g1 :
Isotropic plates: S12 ¼ S21 ¼ ð1 mÞ=2;
S34 ¼ S43 ¼ ð1 þ mÞ=2;
all other Sij ¼ 0;
H11 ¼ H22 ¼ ð3 mÞð1 þ mÞ=ð2EhÞ; H33 ¼ H44 ¼ 1=ð2DÞ all other Hij ¼ 0; L11 ¼ L22 ¼ Eh=2; L33 ¼ L44 ¼ ð3 þ mÞð1 mÞD=2; all other Lij ¼ 0;
ð2:118Þ
where D ¼ Eh3 =12ð1 m2 Þ.
2.5
General Remarks
All the general solutions shown in this chapter are obtained under the assumption that the material eigenvalues (include elastic eigenvalues, thermal eigenvalues, and those related to the piezoelectric properties) are distinct. For the cases that they are repeated, a small perturbation of the material constants can be employed to avoid the degenerate problem. Otherwise, a modified solution obtained by the inclusion of the solutions differentiated with respect to the material eigenvalues should be employed (Ting 1996; Hwu 2010). However, if the final solutions do not contain the material eigenvectors, the problems of repeated eigenvalues can be avoided. As stated at the beginning of this chapter, the complex variable formalism is applicable for the cases of two-dimensional, plate bending, and coupled stretching-bending analysis, and can be extended to deal with the general three-dimensional problems. Although it is also possible to consider the cases of beams and compound rods through the formalism for plate bending analysis, no related discussions are provided in this book. One may refer to Rand and Rovenski (2005, 2010), Rovenski and Abramovich (2007, 2009) for the analytical solutions of boundary value problems in anisotropic elasticity with a focus on beams.
2.5 General Remarks
51
Since the general solutions presented in this chapter will be the basis of all the solutions provided in this book, to have the correct usage of the analytical solutions a unified symbol system is important. To correctly calculate the physical quantities, one must also know the sign convention and units used in the complex variable formalism. Furthermore, as discussed in the previous sections same symbol may have different dimensions and contents under different conditions. To provide a proper preparation for the computer programming of the following chapters, all these issues are presented in this section.
2.5.1 Degeneracy of Material Eigenvectors If the materials cannot yield a complete set of independent material eigenvectors ðaa ; ba Þ, the general solution (2.6a, 2.6b) is invalid. To find a solution valid for degenerate materials, a modified version of general solution was introduced (Hwu 2010). For the convenience of numerical calculation, a small perturbation of the material constants is usually made for the degenerate materials, which may yield a complete set of independent material eigenvectors. Through this approach, the solutions deriving from (2.6a, 2.6b) can be applied to any kinds of anisotropic materials including the degenerate materials. Following is an example of introducing a small perturbation into the material constants of isotropic materials, C11 ¼ Eð1 mÞ=ð1 m 2m2 Þ;
C22 ¼ C11 þ eE
where
e ¼ 106 :
ð2:119Þ
2.5.2 Units, Scaling Factors, and Dimensions Units The International System of Units, abbreviated SI units is a worldly accepted version of the metric system. In SI units for mechanics, mass in kilograms (kg), length in meters (m), and time in seconds (s) are selected as the base units, and force in newtons (N) is derived from the preceding three by Newton’s second law. Thus, force (N) = mass (kg) acceleration (m/s2) is one of the derived units used in mechanics. For the convenience of readers’ reference, Table 2.1 shows some physical quantities and their SI units as well as SI symbols and relations used in this book. The SI unit prefixes used for the multiplication factors of the SI symbols are then shown in Table 2.2. Scaling Factors Table 2.3 is an example of material properties of graphite/epoxy and left-hand quartz by using SI units. From this Table we see that some values of the properties such as elastic stiffness constants are in the order above 9, while some others such as dielectric permittivity are in the order below −12. Thus, it is very possible that the fundamental elasticity matrix N constructed through (2.8a, 2.8b, 2.8c) and (2.36) for piezoelectric materials will contain the components ranging from 1012 to 109 , which is numerically ill-conditioned. To avoid any trouble caused by the ill-conditioned matrix, a proper scale adjustment is necessary. For example, the constitutive laws presented in Chap. 1 may be re-written as follows. Linear anisotropic elastic materials, (1.7): rij =E0 ¼ ðCijkl =E0 Þekl : Laminate constitutive relations, (1.54)–(1.56): N=ðE0 h0 Þ e0 A=ðE0 h0 Þ B=ðE0 h20 Þ ; ¼ M=ðE0 h20 Þ h0 j B=ðE0 h20 Þ D=ðE0 h30 Þ
ð2:120Þ
ð2:121aÞ
52 Table 2.1 SI unit and symbol
2 Quantity
Complex Variable Formalism
SI unit
SI symbol
Relation
Length
meter
m
Mass
kilogram
kg
Time
second
s
Temperature
kelvin
Electric current
ampere
A
Force
newton
N
N ¼ kg m/s2
Stress, pressure
pascal
Pa
Pa = N/m2
Energy, work
joule
J
J ¼ N mð¼volt coulÞ
(Base Units)
K
(Derived Units)
Table 2.2 SI prefixes
Power
watt
W
W = J/s
Electric charge
coulomb
C
C ¼ A sð¼joule=voltÞ
Electric potential
volt
V
V ¼ J=Cð¼amp ohmÞ
Electric resistance
ohm
X
X ¼ V/A
Capacitance
farad
F
F = C/V
Magnetic flux
weber
Wb
Wb ¼ V s
Magnetic field
tesla
T
T ¼ Wb=m2 ð¼N=ðamp mÞ
Celsius temperature
degree
Electric field
volt/m
volt/m = N/coul
Electric displacement
coul/m2
coul=m2 ¼ N=ðm voltÞ
Permittivity
farad/m
farad=m ¼ N=V2 ¼ C2 =ðm2 NÞ
Thermal conductivity
watt=ðm KÞ
W=ðm KÞ ¼ W=ðm CÞ
C
C ¼ K 273
Thermal expansion
1= K
1= K ¼ 1= C
Thermal modulus
N=m2 K
N=m2 K ¼ N=m2 C
Prefix
Symbol
Factor
pico
p
10–12
nano
n
10–9
micro
l
10–6
milli
m
10–3
centi
c
102
kilo
k
103
mega
M
106
giga
G
109
tera
T
1012
2.5 General Remarks Table 2.3 Material properties of Graphite/Epoxy and left-hand quartz
53 Graphite/Epoxy
Left-hand quartz
E C11 (GPa)
183.71
86.74
E C12
(GPa)
4.63
6.99
E C13
(GPa)
4.22
11.91
E C22
(GPa)
11.29
86.74
E C23
(GPa)
3.24
11.91
E C33
(GPa)
11.27
107.2
7.17
57.94
2.87
39.88
–
17.91
–
39:21 1012
xe22 (F/m)
–
39:21 1012
xe33
–
41:03 1012
e11 ; e12 ; e26 (C/m2)
–
0.171
e25 ; e14 (C/m2)
–
0.0406
E E C44 ,C55
(GPa)
E C66 (GPa) E E E ; C24 ; C56 C14 xe11 (F/m)
(F/m)
(GPa)
e0 h0 j
ðE0 h0 ÞA ¼ ðE0 h20 ÞBT
N=ðE0 h0 Þ h0 j
e0 M=ðE0 h20 Þ
¼
¼
ðE0 h20 ÞB ðE0 h30 ÞD
e e A=ðE h0 B 0 h0 Þ T 3 e e h0 B ðE0 h0 Þ D
e ðE0 h0 Þ A T e =h0 B
N=ðE0 h0 Þ ; M=ðE0 h20 Þ
e =h0 B e =ðE0 h3 Þ D 0
e0 ; M=ðE0 h20 Þ
N=ðE0 h0 Þ : h0 j
ð2:121bÞ
ð2:121cÞ
ð2:121dÞ
Thermoelastic relation, (1.57): rij =E0 ¼ ðCijkl =E0 Þekl ðbij =E0 ÞT: Laminate thermoelastic relations, (1.62): # # " " N=ðE0 h0 Þ e0 bA =ðE0 h0 Þ bB =ðE0 h20 Þ A=ðE0 h0 Þ B=ðE0 h20 Þ T0 ¼ M=ðE0 h20 Þ h0 j B=ðE0 h20 Þ D=ðE0 h30 Þ bB =ðE0 h20 Þ bD =ðE0 h30 Þ h0 T # ( ) " T0 N=ðE0 h0 Þ e0 aA aB =h0 ðE0 h0 ÞA ðE0 h20 ÞB : ¼ þ M=ðE0 h20 Þ h0 j h0 aB aD ðE0 h20 ÞBT ðE0 h30 ÞD h0 T
ð2:122Þ
ð2:123Þ
Piezoelectric materials, (1.65) and (1.57): E rij =E0 ¼ ðCijkl =E0 Þekl ekij ðEk =E0 Þ ðbij =E0 ÞT;
Dj ¼ ejkl ekl þ ðE0 xejk ÞðEk =E0 Þ b4j T:
ð2:124Þ
54
2
Complex Variable Formalism
Electro-elastic laminates, (1.78) and (1.62): 9 8 9 2 8 e0 > 2 2 3> > > N=ðE0 h0 Þ > A =ðE h Þ A =h B =ðE h Þ B =h c 0 0 e 0 c 0 e > > > 0 0 > > > > > > > = < < T T 2 2 7> e =E N D =h0 = 6 E 0 E0 Aw =h0 Be =h0 E0 Bw =h0 7 6 Ae =h0 ¼ 6 7 2 2 > Be =h20 Dc =ðE0 h30 Þ De =h30 5> h0 j > > > 4 Bc =ðE0 h0 Þ > > M=ðE0 h0 Þ > > > > > > ; > : > 2 T T 2 2 3 3 ; M D =h0 Be =h0 E0 Bw =h0 De =h0 E0 Dw =h0 : h j =E > 0 E 0 2 3 bA =ðE0 h0 Þ bB =ðE0 h20 Þ 6 be =h 7 T 0 beB =h20 6 A 0 7 6 : 7 4 bB =ðE0 h20 Þ bD =ðE0 h30 Þ 5 h0 T beB =h20 beD =h30
ð2:125Þ
In the above, E0 and h0 are reference values of Young’s modulus and plate thickness, such as 109 N=m2 and 10−3 m, used for E scale adjustment. For example, Eq. (2.124) means that in numerical calculation the material properties Cijkl , xejk , and bij are E replaced by Cijkl =E0 , E0 xejk , and bij =E0 . By such replacement the output values of stresses and electric fields are rij =E0 and Ek =E0 , which should be multiplied by E0 to return to their original units. Followings are the relations between original values $
and normalized values (denoted by ) when the scaling factors are used in computer programming. Two-dimensional or three-dimensional analysis, (2.120), (2.122), (2.124): $
$
rij ¼ E0 r ij ;
ekl ¼ e kl ;
$
T ¼ T;
$
$
Ek ¼ E0 E k ;
Dj ¼ Dj :
ð2:126Þ
Coupled stretching-bending analysis, (2.121a, 2.121b, 2.121c, 2.121d), (2.123), (2.125): $
$
$
N D ¼ h0 N D ;
$
M ¼ ðE0 h20 Þ M ;
N ¼ ðE0 h0 Þ N ;
$
M D ¼ h20 M D ;
e0 ¼ e 0 ; $
e E ¼ E0 e E ;
$
j ¼ j =h0 ;
$
T ¼ T;
$
T ¼ T =h0 ;
$
ð2:127Þ
jE ¼ E0 j E =h0 :
Through this normalization, the ill-condition of fundamental elasticity matrix N and material eigenvector matrices A, B, c, and d may be improved. Their relations between original values and normalized values can be found from the related equations shown in previous sections such as (2.8a, 2.8b, 2.8c), (2.27), (2.59a, 2.59b, 2.59c), (2.70a, 2.70b, 2.70c, 2.70d), and (2.79a, 2.79b, 2.79c). From these equations, we know that material eigenvalues will remain unchanged after normal$
$
ization, i.e., la ¼ l a ; sa ¼ s a ; whereas N, A, B, c, and d will have the factors’ difference. Followings are the relations of N, A, B, c, and d for different kinds of problems. Two-dimensional analysis: – elastic materials $
$
$
N1 ¼ N1 ; N2 ¼ N2 =E0 ; N3 ¼ E0 N3 ; $ pffiffiffiffiffi $ pffiffiffiffiffi $ $ A ¼ A = E0 ; B ¼ E0 B; c ¼ c ; d¼E0 d ;
ð2:128Þ
– piezoelectric materials 2
$ðeÞ
6 N1 N1 ¼ 4 0 $ðp Þ E 0 N1 2 $ðeÞ
6 E0 N N3 ¼ 4 ðpÞT3 $ N3
$ðpÞ
3
N1 =E0 7 5; $ðEÞ N1 3 $ðpÞ
N3 $ðEÞ
N3 =E0
7 5;
2
$ðeÞ
$ðpÞ
3
N2 7 6 N =E0 N2 ¼ 4 2ðpÞT 5; $ $ðEÞ N2 E0 N2 2 3 2 3 $ðeÞ $ðeÞ pffiffiffiffiffi pffiffiffiffiffi B A A ¼ 4 $ðEÞ 5= E0 ; B ¼ E0 4 $ðEÞ 5: B =E0 E0 A
ð2:129Þ
2.5 General Remarks
55
Coupled stretching-bending analysis: – composite laminates 2
$ðsÞ
6 N N1 ¼ 4 ðc01Þ $ N1 =h0 2
$ðcÞ
h0 N1 7 5; $ðbÞ N1 $ðsÞ
6 ðE0 h0 Þ N3 N3 ¼ 4 $ðcÞ ðE0 h20 Þ N3 2
1 5; A ¼ pffiffiffiffiffiffiffiffiffiffi 4 A $ðbÞ E0 h 0 A =h 0
$ðsÞ
B $ðbÞ
$ðsÞ
3
$ðcÞ
N2 =ðE0 h20 Þ 7 5; $ðbÞ 3 N2 =ðE0 h0 Þ
6 N2 =ðE0 h0 Þ N2 ¼ 4 ðcÞ $ N2 =ðE0 h20 Þ 3
$ðcÞ ðE0 h20 Þ N3 $ðbÞ ðE0 h30 Þ N3
2 pffiffiffiffiffiffiffiffiffiffi6 B ¼ E 0 h0 4
3
$ðsÞ
2
3
ð2:130aÞ
7 5;
3 7 5;
( c¼
h0 B
8
> > > > 4 A ðsEÞ 5 > > > > > $ > > = pffiffiffiffiffiffiffiffiffiffi < E A 0 2 3 = E0 h0 ; A¼ $ðbeÞ > > > > > >4 A > > 5 > > > $ðbEÞ =h0 > ; : E0 A
N1 $ðcpÞ
N2
3
3
5=h2 0 $ðcEÞ
N2 E0 N 2 2 ðbeÞ $ $ðbpÞ N2 4 N2 =E0 N2
ð2:131aÞ
$ðbEÞ
E 0 N1
N1
3 2 2 $ðseÞ $ðspÞ =E0 N2 5=h0 6 4 N2 ðspÞ $ $ðsEÞ 6 6 N2 E 0 N2 N2 ¼ 6 6 6 4 symm: 22
0
$ðbp Þ
33 $ðcpÞ N1 =E0 5 7 $ðcEÞ 7 N1 3 7 7; 7 $ðbpÞ N1 =E0 5 7 5
$ðbEÞ
7 7 7 7; 3 7 7 5=h3 5
ð2:131bÞ
0
E 0 N2 $ðcpÞ
3
3
5h2 7 07 7 N3 =E0 7 3 7; $ðbpÞ 7 N3 5 h3 7 05 $ðbEÞ N3 =E0 N3 $ðcEÞ
3 9 8 2 $ðseÞ > > > > > > 4 B 5 > > > > ðsEÞ $ > > pffiffiffiffiffiffiffiffiffiffi< B =E0 = 2 3 : B ¼ E0 h0 $ðseÞ > > > > > > 4 B > > 5> > h > > ; : 0 $ðsEÞ B =E0
ð2:131cÞ
ð2:131dÞ
In the above, the symbol XðyÞ stands for a submatrix of matrix X which is related to y, and the superscripts s; c; b; e; p; and E stand for stretching, coupling, bending, elastic, piezo, and electric, and c0 and p0 denote another submatrices related to c and p.
56
2
Complex Variable Formalism
From the relations listed in (2.128)–(2.131a, 2.131b, 2.131c, 2.131d), it is not difficult to get the relations for the other matrices such as Barnett-Lothe tensors defined in (2.13). For example, if we consider the two-dimensional linear anisotropic elastic materials, from (2.13) and (2.128) we get $
$
S ¼ S;
H ¼ H =E0 ;
$
L ¼ E0 L ;
ð2:132Þ
which are consistent with the relations of Ni shown in (2.128). This consistency is compatible with the integral relations (2.16). Dimensions The dimensions of the matrices commonly used in two-dimensional analysis and coupled stretching-bending analysis are listed, respectively, in Tables 2.4 and 2.5. The dimensions of the submatrices used in (2.129)–(2.131a, 2.131b, 2.131c, 2.131d) are as follows. $ðxÞ
Ni ; x ¼ s; c; c0 ; b; se; ce; c0 e; be: 2 2 matrices; $ðxÞ
Ni ; x ¼ sp; cp; bp: $ðeÞ
Ni : 3 3 matrices; 0
$ðp Þ
Ni
: 1 3 matrices;
$ðxÞ $ðxÞ
c
;d
2 1 matrices;
$ðxÞ
Ni ; x ¼ sp0 ; cp0 ; bp0 ; c0 p0 : 1 2 matrices;
$ðpÞ
$ðEÞ
Ni
:
1 1 matrices;
; x ¼ s; b: 2 1 matrices;
$ðeÞ $ðeÞ
A ;B
$ðxÞ $ðxÞ
:
3 4 matrices;
A ; B ; x ¼ se; be :
ð2:133aÞ
Ni : 3 1 matrices;
$ðEÞ $ðEÞ
A
;B
2 6 matrices;
i ¼ 1; 2; 3:
$ðxÞ $ðxÞ
A ; B ; x ¼ s; b : :
2 4 matrices; ð2:133bÞ
1 4 matrices; $ðxÞ $ðxÞ
A ; B ; x ¼ sE; bE :
1 6 matrices:
2.5.3 Sign Convention Since the positive directions of stresses and displacements and their related physical responses are defined according to their directions along the coordinate axes, to consider the sign conventions for these symbols two different right-handed Cartesian coordinate systems are shown in Figs. 2.2 and 2.3. The former contains four sub-figures showing the positive directions of several physical quantities based upon the coordinate system with upward positive x3 , whereas the latter is based upon the coordinate with downward positive x3 . These two figures show the positive directions of: (a) the coordinate system ðx1 ; x2 ; x3 Þ, displacements ðu1 ; u2 ; u3 Þ, ~ 1; m ~ 2; m ~ 3 Þ, and slopes ðbx ; by Þ; tractions ðt1 ; t2 ; t3 Þ, resultant forces ð~t1 ; ~t2 ; ~t3 Þ, moments ðmx ; my Þ, resultant moments ðm (b) the stresses rij ; (c) the stress resultants Nij , bending moments Mij , transverse shear forces Qi , effective transverse shear forces Vi , corner forces tc , and transverse distributed load q; (d) the quantities in the Cartesian coordinate ðx; yÞ and the tangent-normal coordinate ðs; nÞ: ðux ; uy Þ-ðus ; un Þ, ðbx ; by Þ-ðbs ; bn Þ, and ðmx ; my Þ-ðms ; mn Þ.
2.5 General Remarks Table 2.4 Dimensions of the matrices used in two-dimensional analysis
57 Matrix
Inplane
Antiplane
22
Scalar
Inplane-antiplane coupling
Electro-elastic coupling
Real N1 ; N2 ; N3
33
44
N
44
22
66
88
Q; R; T
22
C55 ; C45 ; C44
33
44
uðzÞ; /ðzÞ
21
Scalar
31
41
Complex
Table 2.5 Dimensions of the matrices used in coupled stretching-bending analysis
aa ; b a
21
Scalar
31
41
A; B
22
Scalar
33
44
c, d (thermal)
21
Scalar
31
41
fðzÞ
21
Function
31
41
gðzt Þ (thermal)
Scalar function
–
Scalar function
Scalar function
la
2 pairs
1 pair
3 pairs
4 pairs
s (thermal)
1 pair
–
1 pair
1 pair
Matrix
Stretching
Bending
3 3 Aij
3 3 Dij
Real Aij ; Bij ; Dij
Stretching-bending coupling
Electro-elastic coupling
33
55
N1 ; N2 ; N3
22
22
44
66
N
44
44
88
12 12
Qm ; R m ; T m
22
22
44
66
ud ðzÞ; /d ðzÞ
2 1ðu; /Þ
2 1ðb; wÞ
41
61
21
21
41
61
Complex aa ; b a A; B
22
22
44
66
c; d (thermal)
21
21
41
61
fðzÞ
21
21
41
61
gðzt Þ (thermal)
Scalar function
–
Scalar function
Scalar function
la
2 pairs
2 pairs
4 pairs
6 pairs
s (thermal)
1 pair
–
1 pair
1 pair
Note that in Figs. 2.2 and 2.3 the moment or slope is represented by a vector in the form of a double-headed arrow. The direction of the moment or slope is indicated by the right-hand rule, namely, using your right hand, let your fingers curl in the direction of the moment or slope, and then your thumb will point in the direction of the vector.
58
2
Complex Variable Formalism
~ i ; bi ; b rij ; c Nij ;Mij ;Qi ;Vi ;tc ;q; Fig. 2.2 Sign convention for a right-handed Cartesian coordinate system with upward positive x3 : a ui ; ti ; ~ti ; mi ; m d s n coordinate
2.5 General Remarks
59
~ i ; bi ; b rij ; Fig. 2.3 Sign convention for a right-handed Cartesian coordinate system with downward positive x3 : a ui ; ti ; ~ti ; mi ; m c Nij ;Mij ;Qi ;Vi ;tc ;q; d s n coordinate
2.5.4 Common Symbols Aij ; Bij ; Dij or Aijkl ; Bijkl ; Dijkl or A, B, D: extensional, coupling, bending stiffnesses e ij , B e ij , D e ij : detailed in extended symbols 2 A Atij ; Btij ; Dtij : detailed in extended symbols 2 Ahij ; Bhij ; Dhij : detailed in extended symbols 2 et ; B e tij : detailed in extended symbols 2 A ij e B; e D: e detailed in extended symbols 2 A; A, B: material eigenvector matrices
Qij or Q: elastic stiffness (used for lamina) Q; R; T: matrices related to material properties Qm ; Rm ; Tm : Q; R; T of mixed formalism r; h: polar coordinate system Re: real part of a complex number ^ Sij : reduced elastic compliances Sij or S: elastic compliances S, H, L: Barnett-Lothe tensors S ; H ; L : detailed in extended symbols 7 (continued)
60 ak ; bk : material eigenvectors Cij or Cijkl or C: elastic stiffness E CijE or Cijkl : elastic stiffness at constant electric field c, d or ct ; dt : heat eigenvectors ch ; dh : moisture eigenvectors Dj : electric displacement Dij : bending stiffness (used in coupling prob.) D: detailed in extended symbols 8 (used in 2D prob.) E: Young’s modulus of isotropic materials Ek : electric field, sometimes used as Young’s modulus of k-direction ð0Þ Ek : mid-plane electric field ð1Þ
Ek : rate of electric field change eij or ekij : piezoelectric stress tensors ^fi : prescribed point force fa ðza Þ: elasticity complex functions fðzÞ: complex function vector G: energy release rate, sometimes used as shear modulus G1 ðhÞ; G3 ðhÞ: detailed in extended symbols 7 gðzt Þ or gt ðzt Þ: thermal complex function gh ðzh Þ: hygro-complex function gij or gijk : piezoelectric strain/voltage tensor H: moisture content H 0 : mid-plane moisture content H : rate of moisture content change hi : heat flux (used in 2D problem) h : heat flux in surface normal direction (2D prob.) I: unit matrix I1 ; I2 ; I3 : detailed in extended symbols 3 i1 ; i2 ; i3 : base vectors, detailed in extended symbols 3 pffiffiffiffiffiffiffi i ¼ 1: pure imaginary number Im: imaginary part of a complex number KI ; KII ; KIII : stress intensity factors Kijt ; Kijh , Kijt ; Kijh : detailed in extended symbols 2 kij or kijt : heat conduction coefficient kijh : moisture diffusion coefficients k ¼ ðKII ; KI ; KIII ÞT : vector of stress intensity factors, sometimes used as coefficient vector Mij : bending moments (used in coupling problems) M: impedance matrix, detailed in extended symbols 8 M : bimaterial matrix, detailed in extended symbols 8 ^ mi : moisture transfer resultant (used in hygro prob.) ^ i : prescribed moisture transfer resultant (used in hygro problems) or prescribed m bending moment (used in coupling problems) ~ i : surface resultant moments m ^ prescribed bending moment m: mn ; ms : moment on the surface with normal n and s Nij : stress resultants N: fundamental elasticity matrix N1 ; N2 ; N3 : submatrices of fundamental elasticity matrix Nm : fundamental elasticity matrix of mixed formalism NðhÞ: detailed in extended symbols 6 ^ ^ aÞ: detailed in extended symbols 6 NðhÞ; Nðh; ~ ~ aÞ: detailed in extended symbols 6 NðhÞ; Nðh; ^
NðhÞ: detailed in extended symbols 6 [ fN3 ðhÞg\1 [ ; N\1 : detailed in extended symbols 6 3 n: normal direction, detailed in extended symbols 3 Qi : transverse shear force ^ qi : heat flux resultant (used in coupling prob., same as hi in 2D prob.) ^qi : prescribed heat flux resultant
2
Complex Variable Formalism
e e L: e detailed in extended symbols 7 S; H; s: tangential direction, detailed in extended symbols 3 T: temperature T 0 : mid-plane temperature T : rate of temperature change ti : surface traction ~ti : surface resultant force t: surface traction vector tn ; ts : traction on the surface with normal n and s 1 t1 1 ; t2 : detailed in extended symbols 9 tr: trace of the matrix Ui : displacement (used in coupling problem) ui : mid-plane displacement or displacement (2D prob.) u: displacement vector ud : generalized displacement vector (coupling prob.) Du: crack opening displacement Vi : effective transverse shear force W: detailed in extended symbols 8 w: deflection, displacement in x3 -direction x1 ; x2 ; x3 or x,y,z: rectangular coordinate system za ¼ x1 þ la x2 : anisotropic complex variables zt ¼ x1 þ sx2 : heat complex variables ^za : prescribed value of za a: thermal expansion coefficient of isotropic material atij : coefficients of thermal expansion ahij : coefficients of moisture expansion t ahi ; ati ; ah i ; ai : detailed in extended symbols 5 bi : negative slope in xi -direction (coupling prob.) bij : thermal moduli (used in 2D thermal problems) brij : dielectric non-permittivities at constant stress (used in piezoelectric problems) b: slope vector (used in coupling problem) b; b1 ; b2 ; b3 : vector of thermal moduli, detailed in extended symbols 5 (used in 2D problem) c i : detailed in extended symbols 5 c; cðhÞ; ct ; ch ; e eij : mid-plane strains or strains (2D problem) 1 e1 1 ; e2 : detailed in extended symbols 9 fa : detailed in extended symbols 10 ^fa : prescribed value of fa g or gt : heat eigenvector gh : moisture eigenvector jij : curvature l or la : material eigenvalue lðhÞ: detailed in extended symbols 4 b l ðhÞ; b l ðh; aÞ: detailed in extended symbols 4 e l ðhÞ; e l ðh; aÞ: detailed in extended symbols 4 m: Poisson’s ratio nij : strains (used in coupling problems) n ¼ ða; bÞT : material eigenvector r ¼ eiw : point on the circular boundary rij : stresses s or st : heat eigenvalue sh : moisture eigenvalue sðhÞ; ^sðhÞ; ^sðh; aÞ:: detailed in extended symbols 5 u: hole boundary parameter (used in coupling prob.) /i : stress function /d : generalized stress function vector (coupling prob.) /: stress function vector w: hole boundary parameter (used in 2D problem) wi : bending stress function w: bending stress function vector xejk : dielectric permittivities at constant strains
2.5 General Remarks
61
2.5.5 Extended Symbols (1) Superscripts, subscripts, etc. T : transpose of vector or matrix 1 : inverse of matrix k : kth power of variable or function or matrix ðkÞ or k : variable or function or matrix of the kth material or sometimes used as the kth submatrix
0 : differentiation of function : complex conjugate b: usually used as a prescribed value \ a [ : diagonal matrix whose component is varied according to its subscript a
et ; B e ij ; B e ij ; D e ij ; Atij ; Btij ; Dtij ; Kij ; Kij ; A e tij ; Kt (2) Extension, coupling, bending stiffnesses, etc.: A ij e ¼ A BD1 B; B e ij , B e ¼ BD1 ; D e ¼ D1 e ij , D e ij : related to Aij ,Bij ,Dij by A A t t t et et Aij ; Bij ; Dij , Kij , Kij , A ij ; B ij , Kt : defined as follows Zh=2 Zh=2 Zh=2 Cijks dx3 ; Bijks ¼ Cijks x3 dx3 ; Dijks ¼ Cijks x23 dx3 Aijks ¼ h=2
h=2
Zh=2 Atij ¼
Cijks aks dx3 ;
Btij ¼
h=2
et ¼ A ij
Zh=2 Cijks aks x3 dx3 ;
Dtij ¼
h=2
Zh=2 Kij ¼
h=2
Zh=2
kij dx3 ;
h=2
Zh=2
Kij ¼
h=2 e ijkl Btkl ; Atij B
Cijks aks x23 dx3
kij x3 dx3 h=2
e tij ¼ D e ijkl Btkl ; B
Kt ¼ K22 ðs sÞ=2i
(3) Base vectors, unit matrix and their extensions: ik ; s; n; I; Ik 8 9 8 9 8 9 8 9 8 9
> > A A A > B > B > > > > > > > > > > > > > > > > > > > > > < 11 < 12 < 11 < 12 < e 11 < e 12 = = t = t = t = t = t A21 A22 B21 Bt22 A 21 A 22 e e ¼ ¼ ¼ ¼ ¼ a1 ¼ ; a ; a ; a ; a ; a 2 1 2 t t t t 1 2 t > t > e e B B D D > > > > > > > > > > > > > > > > > > > > > > : 11 : 12 : 11 : 12 > A 12 > B 11 > > t ; t ; t ; t ; : : t ; t ; B B D D e e B 21 22 21 22 A 22 21 Rp e c i ¼ p1 0 ^s1 ðhÞcI ðhÞdh; i ¼ 1; 2 b e b aÞ; Nðh; e aÞ, N e ðkÞ ðhÞ; N e ðkÞ ðhÞ; N e ðkÞ ðhÞ,fN3 ðhÞg\1 [ (6) Elasticity matrix: N; NðhÞ; NðhÞ; NðhÞ; Nðh; 1 2 3 Nn ¼ ln;
NðhÞn ¼ lðhÞn
Z h e aÞ ¼ 1 NðxÞdx Nðh; p a e e 0Þ; N e ¼ NðpÞ; e NðhÞ ¼ Nðh;
b aÞ ¼ cosðh aÞI þ sinðh aÞNðaÞ; Nðh;
b b 0Þ; N ¼ Nð0Þ; NðhÞ ¼ Nðh; 1 b b NðhÞ ¼ N ðhÞ ¼ Nð0; hÞ ¼ cos hI sin hNðhÞ e 1 ðhÞ; N e 2 ðhÞ; N e 3 ðhÞ & N e 1 ðh; aÞ; N e 2 ðh; aÞ; N e 3 ðh; aÞ: submatrices of NðhÞ e e aÞ N & Nðh; ^
^
^
^
N1 ðhÞ; N2 ðhÞ; N3 ðhÞ: submatrices of NðhÞ e ðkÞ ðhÞ; N e ðkÞ ðhÞ; N e ðkÞ ðhÞ; N e ðkÞ ðhÞ: NðhÞ, e e 1 ðhÞ, N e 2 ðhÞ, N e 3 ðhÞ of kth material N N 1 2 3 \1 [ [ fN3 ðhÞg : sub-inverse of N3 ðhÞ defined in (5.5); N\1 : sub-inverse of N3 3 e L,G e 1 ðhÞ; G3 ðhÞ (7) Barnett-Lothe tensors and their extensions: S, H, L, S ; H ; L ; e S; H; R R Rp p p T T S ¼ ið2AB IÞ ¼ p1 0 N1 ðhÞdh; H ¼ 2iAA ¼ p1 0 N2 ðhÞdh; L ¼ 2iBBT ¼ p1 0 N3 ðhÞdh S H e ¼ NðpÞ e or N ¼ L ST S ; H ; L : S, H, L defined for multi-materials, for example S þ S H þ H S H 1 2 1 2 ¼ 12 , for bimaterials ðL1 þ L2 Þ ST1 þ ST2 L ST R R R 1 2p 1 2p 1 2p S ¼ 2p 0 N1 ðxÞdx; H ¼ 2p 0 N2 ðxÞdx; L ¼ 2p 0 N3 ðxÞdx, for general multi-materials e e e L defined S; H; L: S,H and for multi-materials: e e H S S H S H e 2 ðpÞ ¼ I; where NðpÞ e ¼ I. Note: N ¼ T T e e L S L S T L S G1 ðhÞ ¼ NT1 ðhÞ N3 ðhÞSL1 ; G3 ðhÞ ¼ N3 ðhÞL1 (8) Impedance matrix, bimaterial matrix and its extensions: M, M ; D; W M ¼ iBA1 ¼ H1 iST H1 ¼ H1 þ iH1 S; M1 ¼ iAB1 ¼ L1 iSL1 ¼ L1 þ iL1 ST 1 1 1 1 1 M ¼ M1 D ¼ L1 W ¼ S1 L1 1 þ M2 ¼ iðA1 B1 A2 B2 Þ ¼ D iW; 1 þ L2 ; 1 S2 L2 1 1 1 (9) Uniform stresses and strains at infinity: e1 1 ; e2 ; t1 ; t2 8 19 8 19 8 1 9 8 1 9 < r11 = < r21 = < e11 = < e21 = r1 r1 e1 e1 ; t1 ; e1 ; e1 t1 12 22 12 1 ¼ 2 ¼ 1 ¼ 2 ¼ : 1; : 1; : 1; : 221 ; r13 r23 2e13 2e23
(10) Mapped variable: fa ; w; h; q Elliptical hole or inclusion or crack (b = 0): pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi n o z þ z2a a2 b2 l2a fa ¼ a aibl ; za ¼ 12 ða ibla Þfa þ ða þ ibla Þ f1a a pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi q cos h ¼ a sin w; q sin h ¼ b cos w; q ¼ a2 sin2 w þ b2 cos2 w use u to replace w in the stretching-bending problem Polygon-like hole or inclusion: k k za ¼ afð1 ila cÞfa þ ð1 þ ila cÞf1 a þ eð1 þ ila Þfa þ eð1 ila Þfa g=2 q cos h ¼ aðsin w þ ke sin kwÞ; q sin h ¼ aðc cos w ke cos kwÞ q2 ¼ a2 fk2 e2 þ sin2 w þ c2 cos2 w þ 2ke sin w sin kw 2cke cos w cos kwg
Complex Variable Formalism
References
63
References Barnett, D.M., and J. Lothe. 1973. Synthesis of the sextic and the integral formalism for dislocation, Green’s function and surface waves in anisotropic elastic solids. Phys. Norv. 7: 13–19. Hwu, C. 2010. Anisotropic Elastic Plates. New York: Springer. Lekhnitskii, S.G. 1963. Theory of Elasticity of an Anisotropic Body. Moscow: MIR. Lekhnitskii, S.G. 1968. Anisotropic Plates. New York: Gordon and Breach Science Publishers. Rand, O., and V. Rovenski. 2005. Analytical Methods in Anisotropic Elasticity—With symbolic Computational Tools. Boston: Birkhäuser Boston Inc. Rand, O., and V. Rovenski. 2010. Anisotropic elastic beams with axially distributed loads. Advances in Mathematical Modeling and Experimental Methods for Materials and Structures, 269–283, vol. 168. Solid Mech. Appl. Dordrecht: Springer. Rovenski, V., and H. Abramovich. 2007. Behavior of piezoelectric beams under axially non-uniform distributed loading. Journal of Elasticity 88 (3): 223–253. Rovenski, V., and H. Abramovich. 2009. Saint-Venant’s problem for compound piezoelectric beams. Journal of Elasticity 96 (2): 105–127. Ting, T.C.T. 1996. Anisotropic Elasticity: Theory and Applications. N.Y.: Oxford Science Publications.
3
Computer Program with Matlab
This book is concerned with the computer program using matlab language to code the analytical solutions and boundary element methods formulated by Stroh formalism. To achieve this goal, the program structures detailing the computational procedure as well as the nomenclature of control parameters, global variables, input, and output are described in Sect. 3.1. The entire computer program named as AEPH (Anisotropic Elastic Plates – Hwu) is performed by the main program together with several functions to carry out each different task. Section 3.2 briefly describes the main program and the tasks of some functions. The functions for the input of material properties, the calculation of material eigenvalues and eigenvectors, the calculation of analytical solutions, the double check, and the output are described in Sects. 3.3–3.7. The details of the computer codes of main program and all functions created in AEPH are collected and presented in Appendix F, which are listed according to the alphabetic order of function name. Examples for the preparation of input files of the problems with elastic, thermal, and piezoelastic properties are shown in Sect. 3.8.
3.1
Program Structures
The entire computer program can be divided into the following four parts: material properties, input & output, analytical solution, and BEM (boundary element method). Figure 3.1 shows the flow chart of the entire computer program, in which each block is represented by the function name used in this program. The program is designed based upon the computational procedure stated in Sect. 3.1.1. The control parameters and global variables used in the program are listed and explained in Sects. 3.1.2 and 3.1.3. The input data required by the program are read through some text files whose specification is described in Sect. 3.1.4. The output of physical responses obtained from this program is then described in Sect. 3.1.5.
3.1.1 Computational Procedure Part I: Material Properties Step 1: Input elastic properties and calculate Cij ; Sij ; Aij ; Bij ; Dij The elastic properties are input through the textfile input_elastic1 which is written according to the types of materials such as isotropic, orthotropic, and anisotropic elastic materials, or unidirectional fiber-reinforced composites and laminated composites. Different types of materials may have different input methods which are represented by the control parameter Etype. The elastic constants Cij , compliances Sij , as well as the extensional, coupling and bending stiffnesses Aij ; Bij and Dij are then calculated through the function elastic for different types of problems. Three major types of problems are considered in this program, i.e., two-dimensional problem (generalized plane strain or generalized plane stress), coupled stretching-bending problem, and three-dimensional problem. The type of problem is denoted by the control parameter Dtype. For problems with more than one different materials, the input files for the other materials are named as input_elastic2, input_elastic3, …, etc.
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2021 C. Hwu, Anisotropic Elasticity with Matlab, Solid Mechanics and Its Applications 267, https://doi.org/10.1007/978-3-030-66676-7_3
65
66
3
Computer Program with Matlab
Main
:Material Properties :Input & Output :Analytical Solution :Boundary Element Method
input_visco1
visco
input_elactic1
input_piezoM1
elastic
piezoM
material_eigen
thermal_eigen
input_thermal1
MEE
thermal
piezo2, piezoM2 fundamendal_N eigen_muAB identities
Icheck=1
input_xn input_node1 input_bc input_temp input_xnp input_corner
input_loadstr input_variable Ltype 100: solve the problem through analytical solution. Ltype = section number; for example, Ltype = 611 means that the loading and structure type considered for this control parameter is the problem discussed in Sect. 6.1.1 for an elliptical hole subjected to uniform load at infinity. Ltype < 100: solve the problem through boundary element method, whose details are described in Sect. 15.1.7. (viii) Control parameter for the output type Otype = 0: no responses are evaluated at the internal points. The only possible outputs are the responses for global behavior. For example, when Ltype = 531, 532, 533, 534, 713 or 1141, orders of stress singularity will be output. When Ltype = 543, 544, 721, 722, 723, 724, 725, 733, 742, 7431, 7432, 1022, 1032, 1143, 1161, 1162, stress intensity factors of one crack tip will be output. When Ltype = 732, 744, 841, 842, 843, 844, 11612, the stress intensity factors will be output for more than one crack tips. Otype = 1: evaluate the physical responses for the points lying on a curve which may be (1) cur = 1: a piecewise line connecting points ðx1 ; y1 Þ; ðx2 ; y2 Þ; . . .:; and ðxn ; yn Þ, or (2) cur = 2: a circular curve with center ðx0 ; y0 Þ and radius r whose radial angle w ranges from w1 to w2 with spacing Dw, or (3) cur = 3: an elliptical curve, ðx0 þ a cos w; y0 þ b sin wÞ, whose parameter w ranges from w1 to w2 with spacing Dw, or (4) cur = 4: a polygon-like curve, ðx0 þ aðcos w þ e cos kwÞ; y0 þ aðc sin w e sin kwÞÞ, whose parameter w ranges from w1 to w2 with spacing Dw. Results will be output on three Tables as well as three sets of Figures for displacements, strains and stresses versus position (x, y). Otype = 2: evaluate the physical responses for the points lying on a surface which may be (1) surf = 1: a rectangular surface ranging from (x1, y1) to (x2, y2) with spacing (d1, d2), or (2) surf = 2: a circular surface (including ring or sector), or (3) surf = 3: an elliptical surface (including ring or sector), (3) surf = 4: a polygon-like surface (including ring or sector), (4) surf = 5: a rectangular surface with a polygon-like hole (including elliptical or circular hole). In addition to the output of Otype = 1, three Figures for the contour plots of displacements, strains and stresses will also be printed.
3.1 Program Structures
71
Otype = 3: evaluate the physical responses for the discrete points, x1, x2, …, xn. Same as Otype = 1, results will also be output on three Tables for displacements, strains and stresses. Otype = 11, 12, or 13: Same as Otype = 1 except that the curve now is a specific boundary curve such as the hole or inclusion boundary, or half plane surface. In addition to the output of Otype = 1, one Table and three Figures for the stresses and deformation along the curve or line will also be printed when Otype = 11, 12 or 13 if the associated data are available. They are: (1) Table of stress v.s. parameter s, (2) Fig. 1: stress v.s. parameter s (plot on x-y axis), (3) Fig. 2: stress v.s. parameter s (plot on a curvilinear boundary or a straight line), (4) Fig. 3: displacement v.s. parameter s (plot of deformation, plot on a curvilinear boundary or a straight line). Here, parameter s means the variable used for the description of a curve or line such as the polar angle w, and stress means (1) tangential stress rss on a curvilinear boundary, e.g., hoop stress for Otype = 11, or (2) internal surface traction rss ; rnn ; rsn on a curvilinear curve, e.g., interfacial stresses for Otype = 12, or (3) normal stress rnn on a line or curve, e.g., contact pressure for Otype = 13. Otype = 100: output the results of gobal responses such as stress intensity factors, energy release rate, singular orders, etc., which are independent of position. (ix) Other control parameters Icheck = 1: check the solutions from different approaches, e.g., check the correctness of A, B, la , N1, N2, N3, N through an alternative approach and some identities; no check will be done if Icheck is not equal to 1. E0: reference value of Young’s modulus used for the nondimensionalization; suggested value E0 = 109 Nt/m2. h0: reference value of plate thickness used for the nondimensionalization; suggested value h0 = 10−3 m. eps: a small number used in several different situations such as adding eE to C22 to avoid degeneracy of isotropic materials; suggested value eps = 10−6.
3.1.3 Global Variables More than one hundred analytical solutions are provided in this book. Most of these solutions are expressed in terms of the common symbols and the extended symbols listed in Sects. 2.5.4 and 2.5.5. To design a friendly and readable computer program, some of the symbols are declared to be global variables for the common use among different functions. Following is the description of global variables stated in the main program of AEPH. The complete list of global variables is shown in Appendix D. (i) Global variables for control parameters Nmat Etype Ttype Ptype Vtype Dtype Ltype Otype Icheck E0 h0 eps (ii) Global variables for Stroh’s material properties Variable
Symbol
Description
dim
–
Matrix dimension of material eigenvector A
A
A
Material eigenvector matrix associated with displacement
B
B
Material eigenvector matrix associated with stress
c
c
Thermal eigenvector associated with displacement
d
d
Thermal eigenvector associated with stress
mu
la
Material eigenvalue
tau
s
Thermal eigenvalue
N
N
Fundamental elasticity matrix
N1, N2, N3
N1 ; N2 ; N3
Submatrices of fundamental elasticity matrix
Q, R, T
Q, R, T
Three real matrices for the construction of N
72
3
Computer Program with Matlab
(iii) Global variables for elastic properties Variable
Symbol
Description
Cij0
Cij0
Scaled elastic stiffness Cij0 ¼ Cij =E0 for generalized plane strain b ij =E0 for generalized plane stress, (1.42) Cij0 ¼ C
Sij0
S0ij
Scaled elastic compliance S0ij ¼ E0 b S ij for generalized plane strain, (1.39b) S0ij ¼ E0 Sij for generalized plane stress
Aij
Aij
Extensional stiffness
Bij
Bij
Coupling stiffness
Dij
Dij
Bending stiffness
Cij
Cij
Elastic stiffness
(iv) Global variables for thermal properties Variable
Symbol
Description
alphaij0
a0ij
Scaled thermal expansion coefficient a0ij ¼ b a ij for generalized plane strain, (1.60b), (1.61c) a0ij ¼ aij for generalized plane stress
betaij0
b0ij
Scaled thermal modulus b0ij ¼ bij =E0 for generalized plane strain b0ij ¼ b b ij =E0 for generalized plane stress, (1.60b), (1.61c)
kij
kij
Thermal conductivity
Ktij
Kijt
Resultant heat conduction coefficient, Kij ¼
Ktijs
Kij
Resultant heat conduction coefficient, Kij ¼
Atij
Atij
Thermal extensional stiffness, (1.64b)
Btij
Btij
Thermal coupling stiffness, (1.64b)
Dtij
Dtij
Thermal bending stiffness, (1.64b)
R h=2
h=2 kij dx3
R h=2
h=2 kij x3 dx3
(v) Global variables for piezoelectric & MEE properties Variable
Symbol
Description
CijE0
E C ij
Scaled elastic stiffness at constant electric field, (1.75a–c) E C ij ¼ CijE =E0 for generalized plane strain & short circuit E
C ij ¼ Cij0E =E0 for generalized plane strain & open circuit E b E =E0 for generalized plane stress & short circuit C ¼C ij
ij
E b 0E =E0 for generalized plane stress & open circuit C ij ¼ C ij
eij0
eij
Scaled piezoelectric stress/charge tensor, (1.75a–c) eij ¼ eij for generalized plane strain & short circuit eij ¼ e0ij for generalized plane strain & open circuit eij ¼ ^eij for generalized plane stress & short circuit eij ¼ ^e0ij for generalized plane stress & open circuit
wije0
xeij
Scaled dielectric permittivity at constant strain, (1.75a–c) xeij ¼ E0 xeij for generalized plane strain & short circuit xeij ¼ E0 x0eij for generalized plane strain & open circuit (continued)
3.1 Program Structures Variable
Symbol
73 Description b eij for generalized plane stress & short circuit xeij ¼ E0 x b 0eij for generalized plane stress & open circuit xeij ¼ E0 x
qijE0
qEij
Scaled piezomagnetic stress tensor at constant electric field
mije0
eij m
Scaled magneto-electric coefficients at constant strain
xiije0
e;E nij
Scaled magnetic permeability tensor at constant strain and electric field
(vi) Global variables for viscoelastic properties Variable
Symbol
Description
Cij0s
sČ0ij
Elastic stiffness used in the Laplace domain
Sij0s
sŠ0ij
Elastic compliance used in the Laplace domain
Qs, Rs, Ts
Q, R, T
Three real matrices used in the Laplace domain
N1s, N2s, N3s
N1 ; N2 ; N3
Submatrices of N in Laplace domain
Ns
N
Fundamental elasticity matrix N in Laplace domain
(vii) Global variables related to viscoelastic or dynamic problems Variable
Symbol
Description
Tmtype
–
When Tmtype = 0: independent of time, When Tmtype = 1: dependent of time
As, Bs, mus
As ; Bs ; lsa
Material eigenvector and eigenvalue in Laplace domain
ns
–
Number of variable s used in Laplace domain,
sv
–
Vector of variable s used in Laplace domain, Eq. (12.33)
VLtype
–
Ltype used in the problem with viscoelastic material
timek
–
Vector of time ½t0 ; t0 þ dt; t0 þ 2dt; . . .; tf
nts
–
Number of time variables, default = 0
(viii) Global variables for multiple materials Variable
Symbol
Description
A_a, B_a, mu_a
A; B; la
A_a(:,:,im) = A, B_a(:,:,im) = B, mu_a(:,im) = mu
c_a, d_a, tau_a
c; d; s
c_a(:,im) = c, d_a(:,im) = d, tau_a(im) = tau
Q_a, R_a, T_a
Q, R, T
Q_a(:,:,im) = Q, R_a(:,:,im) = R, T_a(:,:,im) = T
As_a, Bs_a, mus_a
As ; Bs ; lsa
As_a(:,:,:,im) = As, Bs_a(:,:,:,im) = Bs, mus_a(:,:,im) = mus
Cij0s_a, Sij0s_a
sČ0ij, sŠ0ij
Cij0s_a(:,:,:,im) = Cij0s, Sij0s_a(:,:,:,im) = Sij0s,
Qs_a, Rs_a, Ts_a
Q, R, T
Qs_a(:,:,im) = Qs, Rs_a(:,:,im) = Rs, Ts_a(:,:,im) = Ts
N1s_a, N2s_a, N3s_a, Ns_a
N1 ; N2 ; N3 ,N
N1s_a(:,:,im) = N1s,N2s_a(:,:,im) = N2s,N3s_a(:,:,im) = N3s,Ns_a(:,:,im) = Ns;
Cij0_a, Sij0_a
Cij0 ; S0ij
Cij0_a(:,:,im) = Cij0, Sij0_a(:,:,im) = Sij0
CijE0_a, eij0_a, wij0_a
E C ij ; eij ; xeij
CijE0_a(:,:,im) = CijE0, eij0_a(:,:,im) = eij0; wije0_a(:,:,im) = wije0
alphaij0_a, betaij0_a
a0ij ; b0ij
alphaij0_a(:,:,im) = alphaij0, betaij0_a(:,:,im) = betaij0 (continued)
74
3
Computer Program with Matlab
Variable
Symbol
Description
kij_a
kij
kij_a(:,:,im) = kij
qijE0_a, mije0_a, xiije0_a
qEij ; meij ; ne;E ij
qijE0_a(:,:,im) = qijE0,mije0_a(:,:,im) = mije0; xiije0_a(:,:,im) = xiije0
Aij_a, Bij_a, Dij_a, Ktij_a
Aij ; Bij ; Dij ; Kijt
Aij_a(:,:,im) = Aij, Bij_a(:,:,im) = Bij, Dij_a(:,:,im) = Dij, Ktij_a(:,:,im) = Ktij
Etype_a, Ptype_a, Vtype_a
–
Etype_a(im) = Etype, Ptype_a(im) = Ptype Vtype_a(im) = Vtype
dim_a
–
dim_a(im) = dim
(ix) Global variables for boundary element method (detailed in Chap. 15) Note the variables stated in (iii), (iv) and (v) named as **0, such as Cij0, Sij0, alphaij0, betaij0, CijE0, eij0, and wije0, will change their values according to scaling factors (like E0 and h0) used in the problem (see Sect. 2.5.2), whereas their associated variables, such as Cij, Cij_hat, Sij, Sij_hat, …, etc., will keep their original values.
3.1.4 Input A complete description of elasticity problem needs the input of elastic properties, loading and structural conditions. If the material is not pure elastic material, such as piezoelectric, MEE, or viscoelastic material, further input for piezoelectric, MEE, or viscoelastic properties is needed. If the problem is under thermal loading, the input for thermal properties is needed. If the problem is solved through boundary element method, the mesh information is needed. Since the requirements are different for different problems and solution methods, the input data used in this computer program are read through several different text files managed by the control parameters. For the users’ convenience, all these input text files can be deisgned to be constructed by following the windows commands of computer program. The contents of each text file of the input data are as follows. Note that in the following description the semicolon ‘;’ is used in data preparation to denote that the data after ‘;’ should be typed in the next line. (i) input_control.txt: control parameters According to the description stated in Sect. 3.1.2, the control parameters are input through the textfile of input_control. This file should be input by the following sequence: Nmat, Dtype, Ltype, Otype, Icheck, E0, h0, eps; (Etype, Type, Ptype, Vtype)k, k = 1, …,Nmat. (ii) input_elastic1.txt: elastic properties According to the type of elastic materials, six different methods managed by the control parameter Etype are designed for the input of elastic properties. Following is the content for the textfile of input_elastic1. Etype = 1: E; m where E and m denote, respectively, Young’s modulus and Poisson’s ratio. Etype = 2: E1 ; E2 ; E3 ; G23 ; G31 ; G12 ; m23 ; m13 ; m12 ; af where E1 ; E2 ; E3 are the Young’s moduli in x1 ; x2 and x3 directions, respectively; G23 ; G31 ; G12 are the shear moduli in the x2 x3 , x3 x1 and x1 x2 planes, respectively; mij ; ij ¼ 23; 13; 12 is the Poisson’s ratio for transverse strain in the xj -direction when stressed in the xi -direction; and af is the angle denoting the orientation of orthotropic material, (unit: degree), which is directed counterclockwisely from x1 axis to the principal material direction and currently only the coordinate rotation in x1-x2 plane is considered. Etype = 3: Cij where Cij is a 6 6 stiffness matrix. Etype = 4: Sij where Sij is a 6 6 compliance matrix. Etype = 5: E1 ; E2 ; G12 ; m12 ; af ðaf : fiber orientation, unit: degree).
3.1 Program Structures
75
Etype = 6: n; nm ; ðE1 ; E2 ; G12 ; m12 Þi ; i ¼ 1; . . .; nm ; ðm; af ; hÞk ; k ¼ 1; . . .; n where n is the number of layers, nm is the number of material types, ðm; af ; hÞk denotes the material type, fiber orientation and layer thickness of the kth layer. Note that the material type is denoted by 1 to nm . If only one kind of material is used for the laminate, nm ¼ 1 and m = 1 for all layers. If two kinds of materials are used, nm ¼ 2 and m = 1 for some layers and m = 2 for the others. Similarly, for nm [ 2. Note that when Dtype = 3, 31, or 32 the plate thickness h should also be input as the last component of the file input_elastic1 for Etype = 1–5. (iii) input_thermal1.txt: thermal properties As to the elastic properties, thermal properties can also be input through six different ways managed by the control parameter Ttype. Following is the content for the textfile of input_thermal1. Ttype = 1: k; a where k and a denote, respectively, heat conduction coefficient and thermal expansion coefficient. Ttype = 2: k1 ; k2 ; k3 ; a1 ; a2 ; a3 where k1 ; k2 ; k3 and a1 ; a2 ; a3 are heat conduction coefficients and thermal expansion coefficients in x1 ; x2 and x3 directions. Ttype = 3: kij ; bij where heat conduction coefficient kij should be input first in the form of a 3 3 matrix and then input thermal moduli bij as the second 3 3 matrix for anisotropic elastic materials, or a 4 3 matrix for piezoelectric materials, or a 5 3 matrix for MEE materials. Ttype = 4: kij ; aij where heat conduction coefficient kij should be input first in the form of a 3 3 matrix and then input thermal expansion coefficients aij as the second 3 3 matrix for anisotropic elastic materials, or a 4 3 matrix for piezoelectric materials, or a 5 3 matrix for MEE materials. Ttype = 5: k1 ; k2 ; a1 ; a2 . In this case, the associated Etype is required to be 5. Ttype = 6: In this case, the associated Etype is required to be 6 or Ptype is required to be 5 or 19. Under these situations, the thermal properties are input as follows. When Etype = 6, ðk1 ; k2 ; a1 ; a2 Þ‘ ; ‘ ¼ 1; . . .; nm . When Ptype = 5 or 19, ðkij Þ‘ , ðaij Þ‘ , ‘ ¼ 1; . . .; nm , i.e., the thermal properties are input by the way that kij is a 3 3 matrix for all cases, and aij is a 3 3 matrix for elastic materials, or a 4 3 matrix for piezoelectric materials, or a 5 3 matrix for MEE materials. (iv) input_piezoM1.txt: piezoelectric or MEE properties Piezoelectric properties may be input through five different ways managed by the control parameter Ptype. Four of them correspond to the four constitutive laws shown in (1.65) by tensor notation or in (1.68) by matrix notation. The fifth way is for the input of electro-elastic laminates. As to the MEE properties, nine different ways managed by Ptype >10 are designed for their input. Detailed description of the constitutive laws of MEE materials will be shown later in Sect. 11.1.2. Following is the content for the textfile of input_piezoM1. Ptype = 1: CijE ; eij ; xeij where CijE should be input first in the form of a 6 6 matrix, then input eij as a 3 6 matrix, and finally input xeij as a 3 3 matrix. Ptype = 2: CijD ; hij ; beij where CijD should be input first in the form of a 6 6 matrix, then input hij as a 3 6 matrix, and finally input beij as a 3 3 matrix. Ptype = 3: SEij ; dij ; xrij where SEij should be input first in the form of a 6 6 matrix, then input dij as a 3 6 matrix, and finally input xrij as a 3 3 matrix. r D Ptype = 4: SD ij ; gij ; bij where Sij should be input first in the form of a 6 6 matrix, then input gij as a 3 6 matrix, and finally input brij as a 3 3 matrix. Ptype = 5: n; nm ; ðCijE ; eij ; xeij Þ‘ ; ‘ ¼ 1; . . .; nm ; ðm; hÞk ; k ¼ 1; . . .; n where n is the number of layers, nm is the number of material types, and ðm; hÞk denotes the material type and layer thickness of the kth layer. e;H E e;E E;H e e should be input first in the form of a 6 6 matrix, then input eH Ptype = 11: CijE;H ; eH ij ; xij ; qij ; mij ; nij where Cij ij and xij as a 3 6 matrix and a 3 3 matrix, and finally input qEij ; meij ; ne;E ij as a 3 6 matrix, a 3 3 matrix and a 3 3 matrix. E;B B e;B ~E e e;E E;B Ptype = 12: C ; e ; x ; h ; g ; t where C should be input first in the form of a 6 6 matrix, then input eB and xe;B ij
ij
ij
ij
ij
ij
ij
ij
ij
as a 3 6 matrix and a 3 3 matrix, and finally input ~ hEij ; geij ; te;E ij as a 3 6 matrix, a 3 3 matrix and a 3 3 matrix.
76
3
Computer Program with Matlab
e;H D e e;D D;H e;H Ptype = 13: CijD;H ; hH should be input first in the form of a 6 6 matrix, then input hH ij ; bij ; qij ; 1ij ; nij where Cij ij and bij e;D e as a 3 6 matrix and a 3 3 matrix, and finally input qD ij ; 1ij ; nij as a 3 6 matrix, a 3 3 matrix and a 3 3 matrix. Ptype = 14: C D;B ; hB ; be;B ; ~hD ; ke ; te;D where CD;B should be input first in the form of a 6 6 matrix, then input hB and be;B ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
~D ; ke ; te;D as a 3 6 matrix, a 3 3 matrix and a 3 3 matrix. as a 3 6 matrix and a 3 3 matrix, and finally input h ij ij ij Ptype = 15: SE;H ; dH ; xr;H ; d~E ; mr ; nr;E where SE;H should be input first in the form of a 6 6 matrix, then input d H and xr ij
ij
ij
ij
ij
ij
as a 3 6 matrix and a 3 3 matrix, and finally input d~ijE ; mrij ; nr;E ij as a 3 6 matrix, a 3 3 matrix and a 3 3 matrix. r;B E r r;E r;B B B gij ; gij ; tij where SE;B Ptype = 16: SE;B ij ; dij ; xij ; ~ ij should be input first in the form of a 6 6 matrix, then input dij and xij
~Eij ; grij ; tr;E as a 3 6 matrix and a 3 3 matrix, and finally input g ij as a 3 6 matrix, a 3 3 matrix and a 3 3 matrix. D;H H r;H ~D r r;D D;H Ptype = 17: S ; g ; b ; d ; 1 ; n where S should be input first in the form of a 6 6 matrix, then input gH and br;H ij
ij
ij
ij
ij
ij
ij
ij
ij
as a 3 6 matrix and a 3 3 matrix, and finally input d~ijD ; 1rij ; nr;D ij as a 3 6 matrix, a 3 3 matrix and a 3 3 matrix. B r;B D r r;D gij ; kij ; tij where SD;B should be input first in the form of a 6 6 matrix, then input gBij and br;B Ptype = 18: SD;B ij ; gij ; bij ; ~ ij ij r r;D as a 3 6 matrix and a 3 3 matrix, and finally input ~ gD ij ; kij ; tij as a 3 6 matrix, a 3 3 matrix and a 3 3 matrix. e;H E e;E e Ptype = 19: n; nm ; ðCijE;H ; eH ij ; xij ; qij ; mij ; nij Þ‘ ; ‘ ¼ 1; . . .; nm ; ðm; hÞk ; k ¼ 1; . . .; n where n, nm and ðm; hÞk have been explained in Ptype = 5.
Note that like Etype, the plate thickness h should also be input when Dtype = 31 or 32 for Ptype = 1–4 or 11–18. (v) input_visco1.txt: viscoelastic properties Viscoelastic properties can be input through four different ways managed by the control parameter Vtype. Following is the content for the textfile of input_visco1. Vtype = 1: ns ; nG ; G0 ; j; qk ; xk for the isotropic linear viscoelastic solids with constant bulk modulus j. Here, ns is the number of variable s used in Laplace domain; nG is the number of terms for the shear modulus expressed by Prony series shown later in (12.9); G0 is the initial shear modulus; qk and xk are the ratio and the relaxation time that determines the rate of decay, which should be input as two 1 nG vectors. Vtype = 2: ns ; nG ; G0 ; m; qk ; xk for the isotropic linear viscoelastic solids with constant Poisson’s ratio m. Vtype = 3: ns ; x; Cij0 ; Cij1 for the standard linear viscoelastic solids. As shown later in (12.11), x is the relaxation time that determines the rate of decay; Cij0 and Cij1 are the elastic stiffnesses at the initial and final states, and should be input in the form of 6 6 matrices. Vtype = 4: ns ; nC ; qk ; xk ; Cij0 for the standard linear viscoelastic solids using Prony series. Here, nC is the number of terms for the elastic constants Cij expressed by Prony series shown later in (12.9). (vi) input_elastic2.txt, input_thermal2.txt, input_piezoM2.txt and input_visco2.txt: elastic, thermal, piezoelectric or MEE, and viscoelastic properties for the 2nd material. Similarly, change 2 to 3, 4, …, for the 3rd, 4th, …., and other materials Same format as input_elastic1.txt, input_thermal1.txt, input_piezoM1.txt, and input_visco1.txt described in (ii)–(v) for the first material. (vii) input_loadstr.txt: load and structure information The load and structure information are different for different problems, which are managed by the control parameter Ltype. The detailed contents of input_loadstr.txt for each different problem will then be provided in the cases discussed in the following chapters and collected in E.4 of Appendix E.
3.1 Program Structures
77
(viii) input_variable.txt: variable information The variables denoting the position where the displacements, strains and stresses are calculated, are input through input_variable according to the control parameter Otype. Followings are the contents of input_variable for the description of space position. Otype = 1, 11, 12, or 13: cur, and the variables descrbing the curve, where ‘cur’ denotes the type of curve. According to the type of curve, additional variables should be input by the users as follows. (1) cur = 1 for piecewise lines: n‘ , x1, y1, xk+1, yk+1, nk, k = 1, …,n‘ , where n‘ denotes number of lines, (x1, y1) is the position of the starting point, (x2, y2) is the position of the successive point, n1 is the number of points to be evaluated on the 1st line. If the piecewise lines contain more than one line, successive data (x3, y3, n2) until ðxn‘ þ 1 ; yn‘ þ 1 ; nn‘ Þ should be input for the information of the following lines. (2) cur = 2 for a circular curve: x0 ; y0 ; a; w1 ; w2 ; n, where (x0, y0) is the center of the circular curve, a is the radius, w1 and w2 (unit: degree) are, respectively, the starting and ending angles of the curve, and n is the number of points to be evaluated on the circular curve. Mathematically, the circular curve is expressed by x ¼ x0 þ a cos w; y ¼ y0 þ a sin w; w1 \w\w2
ð3:1Þ
and the angular spacing Dw ¼ ðw2 w1 Þ=ðn 1Þ. (3) cur = 3 for a slanted elliptical curve: x0 ; y0 ; a; b; w1 ; w2 ; n; a, where (x0, y0) is the center of the elliptical curve, a and b are the half lengths of the major and minor axes, w1 and w2 (unit: degree) are, respectively, the starting and ending angles of the curve, n is the number of points to be evaluated on the elliptical curve, and a is the angle (unit: degree) directed counterclockwisely from x-axis to the major axis of ellipse. Mathematically, the slanted elliptical curve is expressed by x ¼ x0 þ x cos a y sin a; y ¼ y0 þ x sin a þ y cos a;
ð3:2aÞ
x ¼ a cos w; y ¼ b sin w; w1 \w\w2
ð3:2bÞ
where
(4) cur = 4 for a slanted polygon-like curve: x0 ; y0 ; a; c; e; k; w1 ; w2 ; n; a, where (x0, y0) is the center of the polygon-like curve, a; c; e and k are four parameters used to describe the polygon-like curve, w1 and w2 (unit: degree) are, respectively, the starting and ending angles of the curve, n is the number of points to be evaluated on the polygon-like curve, and a is the angle (unit: degree) directed counterclockwisely from x-axis to the major axis of the polygon. Mathematically, the slanted polygon-like curve can be expressed by (3.2a) with x ¼ aðcos w þ e cos kwÞ; y ¼ aðc sin w e sin kwÞ; w1 \w\w2 :
ð3:3Þ
Otype = 2: surf, and the variables descrbing the surface, where ‘surf’ denotes the type of surface. According to the type of surface, additional variables should be input by the users as follows. (1) surf = 1 for a slanted rectangular surface: x1, y1, x2, y2, nx, ny, a, where (x1, y1) is the point of lower left corner, (x2, y2) is the point of upper right corner, nx and ny are, respectively, the number of points to be evaluated in x and y directions, a is the angle (unit: degree) directed counterclockwisely from x-axis to the major axis of rectangle. (2) surf = 2 for a circular surface (including circular ring or sector): x0 ; y0 ; r1 ; w1 ; r2 ; w2 ; nr ; nw , where (x0, y0) is the center of the circular surface, r1 and w1 are the lower bounds of radius and radial angle, r2 and w2 are the upper bounds of radius and radial angle, i.e., r1 r r2 and w1 w w2 (unit: degree), nr and nw are, respectively, the number of points to be evaluated in r and w directions. (3) surf = 3 for a slanted elliptical surface (including elliptical ring or sector): x0 ; y0 ; c; a1 ; w1 ; a2 ; w2 ; na ; nw ; a, where (x0, y0) is the center of the elliptical surface, c = b/a is the ratio of two axes of ellipse, a1 and w1 are the lower bounds of major axis and angular parameter w, a2 and w2 are the upper bounds of major axis and angular parameter w, i.e., a1 a a2 and w1 w w2 (unit: degree), na and nw are, respectively, the number of points to be evaluated in a and w
78
3
Computer Program with Matlab
directions, and a is the angle (unit: degree) directed counterclockwisely from x-axis to the major axis of ellipse. Note that if an elliptical ring is considered, in the present design its outer and inner elliptical boundaries are restrained to have the same ratio of c. (4) surf = 4 for a slanted polygon-like surface (including polygon-like ring or sector): x0 ; y0 ; c; e; k; a1 ; w1 ; a2 ; w2 ; na ; nw ; a, where (x0, y0) is the center of the polygon-like surface, c; e and k are three parameters used to describe the polygon-like curve (3.3), a1 and w1 are the lower bounds of a and w, a2 and w2 are the upper bounds of a and w, i.e., a1 a a2 and w1 w w2 (unit: degree), na and nw are, respectively, the number of points to be evaluated in a and w directions, and a is the angle (unit: degree) directed counterclockwisely from x-axis to the major axis of polygon-like surface. Note that if a polygon-like ring is considered, in the present design its outer and inner boundaries are restrained to have the same shape. (5) surf = 5 for a rectangular surface with a polygon-like hole/inclusion: x1, y1, x2, y2, nx, ny, x0 ; y0 ; a; c; e; k; nw ; a; nmax , where (x1, y1) is the point of lower left corner of the rectangular surface, (x2, y2) is the point of upper right corner of the rectangular surface, nx and ny are, respectively, the number of points to be evaluated in x and y directions, (x0, y0) is the center of the polygon-like hole/inclusion, a; c; e and k are four parameters used to describe the polygon-like hole/inclusion, nw is the number of points to be evaluated along the hole/inclusion boundary, and a is the angle (unit: degree) directed counterclockwisely from x-axis to the major axis of polygon-like hole/inclusion. nmax is the maximum number of iteration used in Newton’s method (Appendix A.3.1) for calculating the intersection points of the polygon-like hole/inclusion and the vertical line x = constant, suggested value nmax = 24. Note that circular hole/inclusion, elliptical hole/inclusion, and cracks/rigid line inclusion are special cases of polygon-like hole/inclusion, which can be made by letting ðc ¼ 1; e ¼ k ¼ 0Þ, ðc 6¼ 1; e ¼ k ¼ 0Þ, and ðc ¼ e ¼ k ¼ 0Þ. Otype = 3: n; x1, y1; x2, y2;…; xn, yn, where n denotes the number of discrete points. (x1, y1),…, (xn, yn) are the locations of these n discrete points. Note that if multiple domains are considered, data of the first row should be changed to (n1, n2, … nk, …, ns) where nk, k = 1, 2, …, s, denote the number of discrete points in the kth sub-region. Here, s is the number of sub-region which is input through the other text file such as input_loadstr.txt. According to the Otype described above, in this program the responses may be evaluated on a specific curve, surface, or discrete points. If the users want to evaluate the responses on a region other than these types, it is suggested to write an independent simple computer program to collect the data points of the required region, and to input the required region through the discrete points (Otype = 3) designed in this program. For the problems related to time variation such as dynamic problems or the problems with viscoelastic materials, additional variables should be input after the data for position allocation, which is arranged as follows. ðsÞ t0 ; tf ; Dt; nt ; nð1Þ x ; . . .; nx ; t1 ; t2 ; . . .; tn ; x1 ; y1 ; x2 ; y2 ; . . .. . .; xm ; ym ðjÞ
where t0 is the initial time, tf is the terminal time and Dt is the time step; nt is the number of selected time, nx ; j ¼ 1; 2; . . .; s, is the number of selected position in the jth sub-region and s is the number of subregion; t1 ; t2 ; . . .; and tn are the time selected by the user to print the results for space variation; ðx1 ; y1 Þ, ðx2 ; y2 Þ, …, and ðxm ; ym Þ are the position selected by the ð1Þ
ð2Þ
ðsÞ
the user to print the results for time variation, in which n ¼ nt and m ¼ nx þ nx þ . . . þ nx . Note that t1 ; t2 ; . . .; and tn should be arranged in the increasing order, i.e., t0 t1 \t2 \. . .\tn tf , whereas no order is required for the position ðxi ; yi Þ. As described in the control parameter of Ltype, when Ltype = 10 the solutions are calculated directly by using the results obtained previously and the newly selected internal points should be prepared through new textfile of input_variable. In this case, same rules as those described previously for Otype = 1, 11, 12, 13, 2, 3 are applied for the preparation of newly input_variable. On the other hand, when Ltype = 100, the solutions are obtained directly from the results of the previous running case, and the input file of input_variable.txt should be prepared as follows. n; m; k1 ; k2 ; . . .; kn ; i1 ; i2 ; . . .; im ; ðwhen Otype ¼ 2 : j1 ; j2 ; . . .; jm Þ where n is the number of selected time; m is the number of selected position; k1 ; k2 ; . . .; and kn are the indices to denote the selected time, for example, k2 means t ¼ t0 þ ðk2 1ÞDt; i1 ; i2 ; . . .; and im are the indices to denote the selected position of a curve (Otype = 1, 11, 12 or 13) or a discrete point (Otype = 3), for example, i2 means s ¼ s0 þ ði2 1ÞDs where s is a parameter used to describe a curve or is a pair of Cartesian coordinate such as (x, y) used to describe a point; j1 ; j2 ; . . .; and jm
3.1 Program Structures
79
are the additional indices to denote the selected position of a surface (Otype = 2), for example, j2 together with i2 means y ¼ y0 þ ðj2 1ÞDy and x ¼ x0 þ ði2 1ÞDx. When using boundary element method, additional input files are necessary to input mesh information and boundary conditions. (ix) (x) (xi) (xii)
input_xn.txt: nodal coordinates (detailed in Chap. 15) input_node1.txt: element-node connection (detailed in Chap. 15) input_bc.txt: boundary condition (detailed in Chap. 15) input_corner.txt: corner-node connection (detailed in Chap. 15).
From the aforementioned descriptions, we see that all the control parameters are input through the textfile of input_control. For the input of material properties, the users should prepare the textfiles of input_elastic1 and/or input_thermal1 and/or input_piezoM1 and/or input_visco1. The load and structural information are input through input_loadstr, while the region where the responses are evaluated is input through input_variable. For the problems solved by boundary element method, additional textfiles such as input_xn, input_node1, input_bc, are required to generate the boundary element meshes. If the problems of coupled stretching-bending analysis are considered in the boundary element method, one more file is required, that is input_corner. Examples of the input files: input_control, input_elastic1, input_thermal1, and input_piezoM1, are shown in Sect. 3.8, whereas examples of the other input files can be found in the related sections of problems.
3.1.5 Output The principal objective of the theory of anisotropic elasticity is to determine the stresses, strains, and displacements in linear anisotropic elastic solids under various loading and structural conditions. No matter the analysis is computed through analytical solutions or boundary element methods, the internal points to be evaluated are arranged by the function internal, and the numerical results are displayed through tables and figures by the function TableFig. Detailed description of these two functions can be found in Sects. 3.5 and 3.7. The final results about the stresses, strains and displacements of the internal points displayed through tables and figures are designed to be collected in a folder named by Ltype together with running date & time. In addition to the results calculated for the designated internal points, at the intermediate stage of the boundary element analysis, the numerical results will also be printed for the solutions obtained on the boundary nodes. To achieve the goal of printing readable results from the obtained numerical data, several different kinds of output variables are named in the computer program, such as, ui for displacement at an internal point, Ui for the combination of displacement and its derivatives at an internal point, and Uik for the collection of Ui of all internal points, etc. Following is the description of output variables used in the computer program. Variable
Symbol
Description
xi
x
Position of internal point, ðx1 ; x2 Þ
Xik
X
X ¼ ½x1 ; x2 ; . . .; xn , n = number of internal points
ui
ui
Vector of displacements at internal point xi , ðu1 ; u2 ; u3 Þi
ui_1
ui;1
Derivative of ui with respect to x1, ðu1;1 ; u2;1 ; u3;1 Þi
ui_2
ui;2
Derivative of ui with respect to x2, ðu1;2 ; u2;2 ; u3;2 Þi
Ui
Ui
Ui ¼ ½ui ; ui;1 ; ui;2 , U at internal point xi
Uik
–
½U1 ; U2 ; . . .; Un , n = number of internal points
t
t
Traction vector, ðt1 ; t2 ; t3 Þ
sigma1
r1
Vector of stress components, ðr11 ; r21 ; r31 Þ
sigma2
r2
Vector of stress components, ðr12 ; r22 ; r32 Þ
Nij
N
Vector of stress resultants, ðNx ; Ny ; Nxy Þ
Mij
M
Vector of bending moments, ðMx ; My ; Mxy Þ
sigma_ss
rss
Hoop stress (continued)
80
3
Variable
Symbol
Description
ti_ss
ts
ðrss ; rnn ; rsn Þ or ðNss ; Mss ; Msn Þ
Ti
Ti
Ti ¼ ½r1 ; r2 ; ts or Ti ¼ ½N; M; ts at internal point xi
Tik
T
T ¼ ½T1 ; T2 ; . . .; Tn , n = number of internal points
Temh
Tp
Tp ¼ ½T; h, T: temperature, h: heat flux
vk
–
Number of internal points
x0,y0
ðx0 ; y0 Þ
Center of a hole or a plate
Computer Program with Matlab
Note that the size of the output variables will change if the problem type changes. For example, if a piezoelectric material is considered, the 4th component of u as shown in (2.34b) should be added. Also, if the problem is solved by the boundary element method, the vector u may include the values of u of all boundary nodes. To distinguish the difference between the internal points, boundary nodes and corners, in the computer code the variables of u and t may be named as ui and ti, ub and tb, or uc and tc.
3.2
Main Program and Functions
As mentioned previously the entire computer program is controlled by the main program and carried out by functions listed in Appendix C (also see the flow chart of Fig. 3.1). To see how the entire program works for solving the problems of anisotropic elasticity, the main program is described next in Sect. 3.2.1 and the tasks of functions are described in Sect. 3.2.2. Detailed description of each function can be found from its related section whose location is indicated in the function list of Appendix C. The computer codes of the main program and all functions will then be presented in Appendix F.
3.2.1 Main Program To solve the problems of anisotropic elasticity through analytical solutions or boundary element method, the main program is separated into three parts. (1) Input control parameters for the problem, and/or time/position variables for certain succesive problems. Generally, the follow-up data should be provided according to the control parameters. For the successive problems, the results will be output directly by using the solutions calculated in the previous step. (2) Input load and structural information, also input material properties (including elastic, thermal, piezoelectric, magneto-electro-elastic, and/or viscoelastic), and evaluate the material eigenvalues and eigenvector matrices. (3) Input the region where the responses are calculated, and solve the problem through analytical solution or boundary element method. Global variables generated in the main program are the control parameters: Nmat, Etype, Ttype, Ptype, Vtype, Dtype, Ltype, Otype, Icheck, E0, h0, eps, and the variables for problems with multiple materials such as A_a, B_a, mu_a, c_a, d_a, tau_a, Q_a, R_a, T_a, Etype_a, dim_a. The other global variables appeared in the main program are generated through the functions called by main program. To see how the main program reads the input data and assigns the appropriate functions to perform the works required by the users, one may see the matlab code of main program and its auxiliary function Main_aux listed in F072 and F073 of Appendix F.
3.2.2 Function Description As shown in Fig. 3.1, the functions are categorized into four parts: material properties, input & output, analytical solution, and BEM. Based upon these four parts, the task of each function is described below. Part I: Material Properties Function elastic (Sect. 3.3.1): provides elastic constant Cij, compliance Sij, extensional stiffness Aij, coupling stiffness Bij and bending stiffness Dij.
3.2 Main Program and Functions
81
Function thermal (Sect. 3.3.2): provides thermal conductivity kij , thermal expansion coefficient aij , thermal modulus bij , resultants of thermal conductivity Kij ; Kij , thermal extensional, coupling and bending stiffnesses, Atij ; Btij , Dtij . Function piezoM (Sect. 3.3.3): provides piezoelectric and MEE properties, CijE ; eij ; xeij , qEij ; meij ; ne;E ij , and extensional, coupling and bending stiffnesses, Aij, Bij, Dij. Function visco (Sect. 12.1.2): transforms viscoelastic properties to elastic constant Cij and compliance Sij in the Laplace domain. Function material_eigen (Sect. 3.4.1): computes material eigenvalues la and material eigenvector matrices A and B. Function thermal_eigen (Sect. 3.4.2): computes thermal eigenvalues s and thermal eigenvectors c and d. Function piezo2 & piezoM2 (Sect. 3.6.1): provides additional piezoelectric and MEE properties such as ðSEij ; dij ; xrij Þ, r ðCijD ; hij ; beij Þ, ðSD ij ; gij ; bij Þ, and their reduced values for different types of two-dimensional analysis. Function fundamental_N (Sect. 3.6.2): computes the fundamental elasticity matrix N through the explicit solutions to provide a double check for N calculated from function material_eigen. Function eigen_muAB (Sect. 3.6.3): computes the material eigenvalues la and eigenvector matrices A, B through the explicit solutions to provide a double check for those calculated from function material_eigen. Function identities (Sect. 3.6.4): checks the relations through the identities provided in the book, which should be satisfied numerically. Part II: Input & Output Function internal (Sect. 3.5.1): arranges the internal points for functions uphi_bank and BEMbankIN. Function TableFig & TableFig3D (Sect. 3.7.3): outputs data through Tables and Figures for functions uphi_bank, BEMbankIN and BEM3DelasticIN. Part III: Analytical Solution Function uphi_bank (Sect. 3.5.2): collects all the functions for the calculation of displacements, strains, and stresses through analytical solutions provided in this book. Function s411infUL–s1462LAMincluPFMi (Chaps. 4–14): Around one hundred different functions for different problems are provided for the calculation of displacements, strains, and stresses through analytical solutions. Detailed description of these functions can be found in the related sections of Chaps. 4–14. Part IV: BEM Function BEMbankB (Sect. 15.1.7): collects all the functions for the calculation of displacements, strains, and stresses of boundary nodes through boundary element method. Function BEMbankIN (Sect. 15.1.7): collects all the functions for the calculation of displacements, strains, and stresses of internal points through boundary element method. All the functions managed by BEMbankB and BEMbankIN will be described detailedly in Chap. 15.
3.3
Input and Calculation of Material Properties
The input of material properties are carried out by four major functions - elastic, thermal, piezoM and visco. Function elastic provides 6 different ways to input the elastic properties. According to the elastic properties input by the users this function will calculate the elastic stiffnesses and compliances for the problems of generalized plane strain, generalized plane stress, and three-dimensional analysis. If the coupled stretching-bending deformation is considered, the extensional, coupling and bending stiffnesses will also be calculated through this function. Similarly, functions thermal and piezoM provide, respectively, 6 and 14 different ways to input the thermal and piezoelastic (includes MEE) properties, and calculate the necessary thermal and piezoelastic (includes MEE) constants for the implementation of the follow-up computer programs. If a viscoelastic material is considered, function visco will calculate the elastic stiffnesses and compliances used in the Laplace domain, whose details will then be described in Sect. 12.1.2.
82
3
Computer Program with Matlab
3.3.1 Function—elastic Function elastic provides elastic, compliance, extensional, coupling, and bending stiffnesses, (Cij, Sij, Aij, Bij, Dij), when the elastic properties are input through the text file input_elastic*.txt according to the type of materials, Etype. A common function CSABD_star computing transformed elastic and compliance matrices, Cij and Sij , is used to assist the calculation of elastic. The transformed coordinate is a new coordinate system rotated counterclockwisely h from the original coordinate system. The aforementioned stiffnesses, (Cij0, Sij0, Aij, Bij, Dij), calculated in this function will be employed by the other functions to do the works required by the users, and hence are transmitted through the function arguments and are declared to be global variables in Main program. Besides these values, some other variables such as Cij, Sij, Cij_hat, Sij_hat, ne, Cij_k, tk_e, thickness, E, nu, useful for some other functions, are also declared as global variables. The raw data employed for this calculation are provided through the function argument input which was input in the main program with text file input_elastic*. To know which kind of problems is requested by the users, some of the control parameters such as, Etype, Dtype, Ltype, E0 generated in the main program should be set to be global variables. The matlab code of elastic is presented in F050 of Appendix F.
3.3.2 Function—thermal Function thermal provides heat conduction coefficient, thermal expansion coefficient, and thermal modulus for two or three dimensional problems, i.e., ðkij ; aij ; bij Þ. If the coupled stretching-bending problems are considered, the resultant heat conduction coefficients, Kij ; Kij , as well as the thermal extensional, coupling and bending stiffnesses, Atij ; Btij ; Dtij , will also be calculated in this function. Two auxiliary functions responsible for the transformation between aij and bij are used to assist the calculation of thermal. One is alphatobeta, and the other is betatoalpha. Two other auxiliary functions, vectortomatrix and matrixtovector, are used to transfer between tensor notation and contracted notation as shown in (1.60b). One more auxiliary function, MEE3Dto2Dth, is designed for the transformation of MEE materials, whose related equations are shown in Sect. 11.1.2. The raw data employed for the calculation of the aforementioned variables are provided through the function arguments input and propE, which are the properties provided by the text files input_thermal* and input_elastic*. The global variables employed in this function include the control parameters (Ptype, Ttype, Dtype, E0, eps, dim), elastic properties (Cij, Sij0, Cij_k, thickness), and some other properties for piezoelectric or MEE materials. The global variables generated in this function can be separated into two sets. One is (kij, alphaij0, betaij0, Ktij, Ktijs, Atij, Btij, Dtij) which will be transmitted through function arguments to the Main program, and the other is (alphaij, betaij, alpha_v, beta_v, alpha0_v, beta0_v, alpha0). Detailed explanation of the global variables generated in this function can be found in the matlab code of this function. The matlab code of thermal is presented in F199 of Appendix F.
3.3.3 Function—piezoM Function piezoM provides piezoelectric or MEE properties, necessary for the construction of material-eigenrelation. The raw data employed for this calculation are transmitted through the function argument input, which are the properties provided by the text file input_piezoM*. The global variables employed in this function include the control parameters, Ptype, Dtype, E0 and eps. The global variables generated in this function can be separated into three sets. The first set is (CijE0, eij0, wije0, qijE0, mije0, xiije0, Aij, Bij, Dij) which will be transmitted through function arguments to the Main program, and the others are (CijE, eij, wije, thickness, CijE_k, eij_k, wije_k, Cij0, Sij0) and (CijD, hij, betaije, SijE, dij, wijs, SijD, gij, betaijs). Note that the related calculation for MEE properties are executed by calling function-MEE, which will be stated later in Chap. 11. b e , S0D ; g0 ; b0r , …, etc. for two dimensional problems are ^ij ; b b D; h If the other piezoelectric or MEE properties such as C ij
ij
ij
ij
ij
required, the control parameter Icheck = 1 can be set to activate the functions piezo2 and piezoM2 which can then provide all these values. The matlab code of piezoM is presented in F084 of Appendix F.
3.4 Calculation of Material Eigenvalues and Eigenvectors
3.4
83
Calculation of Material Eigenvalues and Eigenvectors
The calculation of material eigenvalues and material eigenvector matrices are performed by two functions, material_eigen and thermal_eigen, according to the requirement of users. Function material_eigen is responsible for the calculation of la ; A; B of anisotropic elastic, piezoelectric, or MEE materials, whereas thermal_eigen is responsible for the calculation of sa ; c; d under thermal environment. Both of them can be applied to the two-dimensional analysis as well as the coupled stretching-bending analysis. Three-dimensional analysis is also included in material_eigen for different Radon-plane stated later in Sect. 15.9.1. Special care has been taken for the degenerate materials, which occurs when the material eigenvalues are repeated and their associated eigenvectors are dependent on each other. As mentioned in Sect. 2.5.1, if the materials cannot yield a complete set of independent material eigenvectors ðaa ; ba Þ, the general solution (2.6) is invalid. To find a solution valid for the degenerate materials, a small perturbation of the material constants is usually made for the degenerate materials such as that shown in (2.119).
3.4.1 Function—material_eigen Function material_eigen provides the solutions for material eigenvalues la and material eigenvector matrices A and B according to the material type (elastic, piezoelectric, or MEE) and the problem type (generalized plane strain, generalized plane stress, coupled stretching-bending, or three-dimensional). Six auxiliary functions are used to carry out the calculation of material_eigen. Five of them are QRT_2De, QRT_2Dp, QRT_Ce, QRT_Cp, QRT_3D, which are responsible for the calculation of matrices Q, R, T for different type of problems. The sixth is ABn which is responsible for the arrangement of A and B for different matrix sizes. The name 2De means two-dimensional elastic problem, whereas 2Dp, Ce, Cp and 3D mean two-dimensional piezoelectric/MEE problem, coupled stretching-bending elastic problem, coupled stretching-bending piezeoelastic/MEE problem, and three- dimensional problem, respectively. In order to construct the eigenvalue problem, this function also provides the information of the three real matrices Q, R, T, as well as the fundamental elasticity matrix N and its sub-matrices N1, N2, N3. Note that during the calculation the material properties have been scaled by using the reference Young’s modulus E0 and the reference plate thickness h0 according to those described in (2.120)–(2.125). Hence, the fundamental elasticity matrices N1, N2, N3, and material eigenvector matrices A and B will have the scales noted in (2.128)–(2.131). The matlab code of material_eigen is presented in F075 of Appendix F.
3.4.2 Function—thermal_eigen Function thermal_eigen provides the solutions for thermal eigenvalue s and thermal eigenvectors c and d according to the thermal input type and problem type (generalized plane strain, generalized plane stress, or coupled stretching-bending). Two auxiliary functions, eigcd_2D and eigcd_C, are used to assist the calculation of thermal_eigen. The former is for two-dimensional analysis, and the latter is for stretching-bending analysis. The global variables employed in this function and its sub-functions include Dtype, kij, Ktij, dim, N, N1, N2, betaij0. The global variables generated in this function are: c, d,tau. The matlab code of thermal_eigen is presented in F201 of Appendix F.
3.5
Calculation of Analytical Solutions
To calculate the analytical solutions provided in this book, two functions are designed in the computer program AEPH. One is function internal which arranges the internal points through curves, surfaces, or points, and the other is function uphi_bank which collects all the functions for the calculation of analytical solutions.
84
3
Computer Program with Matlab
3.5.1 Function—internal, positionTime Function internal arranges the internal points for functions uphi_bank and BEMbankIN to calculate the displacements, strains, and stresses through analytical solutions and boundary element methods provided in this book. Three auxiliary functions curve, surface, and point are used to distinguish which kind of region (curve, surface or discrete point) is considered for the output of mechanical responses. The curve and the surface designed in this program are not a general arbitrary curve or surface, and are restricted to piecewise lines, circular curves and surfaces, elliptical curves and surfaces, polygon-like curves and surfaces, rectangular surfaces, and rectangular surfaces with polygon-like holes/inclusions (including circular and elliptical holes/inclusions). To output the responses on a region other than these designated types, it is suggested to write an independent simple computer program to collect data points of the required region, and then input the required region through the discrete points (Otype = 3) designed in this program. To have a proper placement of the internal points for the case of surfaces with holes/inclusions, an additional auxiliary function newton is designed to find the intersection points of the vertical line (x = constant) and the polygonal hole/inclusion by using Newton’s method (Appendix A.3.1). After the arrangement of internal points, an auxiliary function option is designed to choose function uphi_bank or BEMbankIN for the calculation of mechanical responses. To avoid output too many table and figures for the problems related to time, another independent auxiliary function positionTime is designed. The matlab codes of internal and its auxiliary function positionTime are presented in F069 and F086 of Appendix F.
3.5.2 Function—uphi_bank Function uphi_bank collects all the functions for the calculation of displacements, strains, and stresses, or some related physical responses through analytical solutions provided in this book. Each function collected in uphi_bank is named by the section number with keyword representing the function. For example, function with name s411infUL means that this function is for solving the problem of Sect. 4.1.1 which is related to the infinite plates subjected to uniform loads at infinity. The inputs of function uphi_bank are loadstr, xi and vk. The first input argument loadstr contains the information read from the text file of input_loadstr.txt (see Sect. 3.1.4). The second one xi denotes the location to be calculated, which is arranged by the function internal. In most cases, xi = (x, y, 0) denotes the position in xy-plane, some others xi ¼ ðx; y; wÞ in which the third component w is a parameter stating the position on a curvilinear line such as the elliptical closed contour expressed by (3.2b) and polygon-like contour by (3.3). The last input argument vk is the serial number of the point xi to be calculated. The outputs of function uphi_bank are Ui, Ti and Temh. The symbols Ui and Ti contain the results related to displacements and stresses, whereas Temh = [Temp, heatF] contains the results of temperature and heat flux for thermal problems. For two-dimensional problems, Ui = [u, u_1, u_2] and Ti = [sigma1, sigma2, ti_ss] where ti_ss = [sigma_ss; sigma_nn; sigma_sn]. Whereas for the problems of coupled stretching-bending analysis, Ui = [ud, ud_1, ud_2] and Ti = [(Nij; w), Mij, ti_ss] where ti_ss = [N_ss; M_ss; M_sn] and w denotes deflection of the plate. Additional information such as ti_nn, sigma_ss2, and the expansion of ti_ss, that are related to the inclusion problems, are all considered. The symbols with subscript 2 or superscript (2) denote the value at the side of inclusion. Details of these notations are shown below. 2 3 u1 u1;1 u1;2 Ui ¼ 4 u2 u2;1 u2;2 5; when Dtype ¼ 1; 2 and Ptype ¼ 0; u3 u3;1 u3;2 2
u1 6 u2 Ui ¼ 6 4 u3 u4 2 6 6 Ui ¼ 6 6 4
u1 u2 u3 u4 u5
u1;1 u2;1 u3;1 u4;1
3 u1;2 u2;2 7 7; u3;2 5 u4;2
u1;1 u2;1 u3;1 u4;1 u5;1
u1;2 u2;2 u3;2 u4;2 u5;2
when Dtype ¼ 11; 12; 21; 22 and 0\Ptype\10; ð2Þ if Ltype ¼ 811 or 812; u4 will be replaced by Ds ;
3 7 7 7; 7 5
when Dtype ¼ 111; 112; 121; 122; 211; 212; 221; 222 and Ptype [ 10; if Ltype ¼ 811 or 812; u4 will be ð2Þ ð2Þ replaced by Ds and u5 will be replaced by Bs ;
3.5 Calculation of Analytical Solutions
85
2
u1;1 u2;1 b1;1 b2;1
u1 6 u2 Ui ¼ 6 4 b1 b2 2
u1 6 u2 6 6 u4 Ui ¼ 6 6 b1 6 4 b2 b4 2
u1 6 u2 6 6 u4 6 6 u5 Ui ¼ 6 6 b1 6 6 b2 6 4 b4 b5 2
r11 Ti ¼ 4 r12 r13 2
r11 6 r12 Ti ¼ 6 4 r13 r14 2 6 6 Ti ¼ 6 4
r11 r12 r13 r14 r15
u1;1 u2;1 u4;1 b1;1 b2;1 b4;1
3 u1;2 u2;2 7 7 u4;2 7 7; b1;2 7 7 b2;2 5 b4;2
when Dtype ¼ 3 and Ptype ¼ 0;
when Dtype ¼ 31; 32 and 0\Ptype\10:
u1;1 u2;1 u4;1 u5;1 b1;1 b2;1 b4;1 b5;1
3 u1;2 u2;2 7 7 u4;2 7 7 u5;2 7 7; b1;2 7 7 b2;2 7 7 b4;2 5 b5;2
when Dtype ¼ 311; 312; 321; 322 and Ptype [ 10:
r21 r22 r23
3 rss rnn 5; rsn
when Dtype ¼ 1; 2 and Ptype ¼ 0; ð2Þ if Ltype ¼ 811 or 812; r12 will be replaced by rss ;
r21 r22 r23 r24
3 rss rnn 7 7; rsn 5 Ds
when Dtype ¼ 11; 12; 21; 22 and 0\Ptype\10; ð2Þ if Ltype ¼ 811 or 812; r12 will be replaced by rss ;
r21 r22 r23 r24 r25
rss rnn rsn Ds Bs
2
2
N11 6N 22 Ti ¼ 6 4N 12 w N11 6 N22 6 6 N12 Ti ¼ 6 6 N41 6 4 N42 w
3 7 7 7; 5
when Dtype ¼ 111; 112; 121; 122; 211; 212; 221; 222 and Ptype [ 10; if Ltype ¼ 811 or 812; r12 will be ð2Þ replaced by rss ;
M11 M22 M12 0
3 Nss Mss 7 7; Msn 5 0
M11 M22 M12 0
Nss Mss Msn 0
Nnn Mnn Nsn 0
M11 M22 M12 M41 M42 0
3 Nss Mss 7 7 Msn 7 7 e s 7; D 7 e s 5 D 0
N11 6 N22 Ti ¼ 6 4 N12 w
2
3 u1;2 u2;2 7 7; b1;2 5 b2;2
when Dtype ¼ 3; Ptype ¼ 0 and Ltype 6¼ 1461 and 1462;
ð2Þ 3 Nss ð2Þ Mss 7 7 ð2Þ ; Msn 5 0
when Dtype ¼ 3; Ptype ¼ 0 and Ltype ¼ 1461 or 1462;
when Dtype ¼ 31; 32 and 0\Ptype\10 and Ltype 6¼ 1461 and 1462;
86
3
3 ð2Þ Nss ð2Þ 7 Mss 7 ð2Þ 7 Msn 7 7; e ð2Þ 7 D s 7 ð2Þ 5 e Ds 0
2 N11 6 6 N22 6 6 Ti ¼ 6 N12 6 N41 6 4 N42 w 2
N11 6 N22 6 6 N12 6 6 N41 Ti ¼ 6 6 N42 6 6 N51 6 4 N52 w 2
N11 6N 6 22 6 6 N12 6 6N Ti ¼ 6 41 6 N42 6 6 N51 6 4N 52 w
M11 M22 M12 M41 M42 M51 M52 0
M11 M22 M12 M41 M42 0 M11 M22 M12 M41 M42 M51 M52 0 Nss Mss Msn es D e D s es B e B s 0
Nss Mss Msn es D e D s 0
Nnn Mnn Nsn en D e n D 0
3 Nss Mss 7 7 Msn 7 7 es 7 D 7 e s 7; D 7 es 7 B 7 e s 5 B 0 Nnn Mnn Nsn en D e n D en B e n B 0
Temh ¼ ½T; h1 ; h2 ; h3 ; ^
Computer Program with Matlab
when Dtype ¼ 31; 32 and 0\Ptype\10 and Ltype ¼ 1461 or 1462;
when Dtype ¼ 311; 312; 321; 322 and Ptype [ 10 and Ltype 6¼ 1461 and 1462;
3 ð2Þ Nss ð2Þ Mss 7 7 ð2Þ 7 Msn 7 7 e ð2Þ D s 7 7; e ð2Þ 7 D s 7 7 e ð2Þ B s 7 ð2Þ 5 e B
when Dtype ¼ 311; 312; 321; 322 and Ptype [ 10 and Ltype ¼ 1461 or 1462;
s
0 when 1st digit of Dtype ¼ 1 or 2 and Ttype 6¼ 0;
^
Temh ¼ ½T; h1 ; h2 ; when 1st digit of Dtype ¼ 3 and Ttype 6¼ 0; T ¼ T 0 when heat flows in thickness direction: The matlab code of uphi_bank is presented in F202 of Appendix F.
3.6
Functions for Double Check
In the literature of anisotropic elasticity, several explicit expressions of the fundamental elasticity matrix N and the material eigenvector matrices A and B have been presented. Also, several identities relating the material properties were shown in journal papers or textbooks such as Ting (1996), Hwu (2010). To confirm the numerical values calculated by the functions stated in the previous sections, additional functions: fundamental_N and eigen_muAB, which are activated by the control parameter Icheck = 1, are designed to calculate N, A, and B through the explicit expressions. To check the correctness of all the values related to the material properties, three more functions piezo2, piezoM2 and identities are designed, which are related to the conversion of piezoelectric/MEE properties and the identities of material properties, respectively.
3.6.1 Function—piezo2, piezoM2 From Eq. (1.65) we see that four different types of constitutive laws can be used to describe the piezoelectric materials. These four constitutive laws should be reduced to the forms as those shown in (1.71)–(1.74) for four different two-dimensional states. Usually, the users only provide the material information through one kind of constitutive laws, and want to know the information for the other associated constitutive relations. To obtain the fundamental elasticity matrix N and the material eigenvector matrices A and B through the standard eigenrelation such as (2.8) with (2.36) for two-dimensional analysis, and (2.59) with (2.79)–(2.80) for coupled stretching-bending analysis, only the values of
3.6 Functions for Double Check
87
CijE ; eij ; xeij and/or qEij ; meij ; ne;E ij calculated from function piezoM are enough for calculation. However, to calculate these values from the explicit expressions given in Sect. 2.4, we need the alternative piezoelectric properties. To have a complete information of piezoelectric properties, function piezo2 is coded, which provides additional piezoelectric properties according to the control parameters Ptype and Dtype set by the users. Thus, in this function all the r piezoelectric properties such as ðSEij ; dij ; xrij Þ, ðCijD ; hij ; beij Þ, ðSD ij ; gij ; bij Þ for three dimensional problems, and the reduced b E ; ^eij ; x b 0D ; ^h0 ; b b e Þ; ðSE ; dij ; xr Þ; ð C values ð C b 0e Þ, ðS0D ; g0 ; b0r Þ, …, etc. for two-dimensional states are all calculated. Similar ij
ij
ij
ij
ij
ij
ij
ij
ij
ij
to piezo2, another function piezoM2 is designed to provide all the possible constitutive laws for piezoelectric and MEE materials. One may refer to Sect. 11.1.2 for the details of the constitutive laws of MEE materials. The matlab codes of piezo2 and piezoM2 are presented in F083 and F085 of Appendix F.
3.6.2 Function—fundamental_N Function fundamental_N calculates the fundamental elasticity matrix N through the explicit solutions to provide a double check for the matrix N calculated from function material_eigen. Four auxiliary functions are used to assist the calculation of fundamental_N, which are StrohN_2De, StrohN_Ce, StrohN_2Dp, StrohN_Cp. The matlab code of fundamental_N is presented in F051 of Appendix F.
3.6.3 Function—eigen_muAB Function eigen_muAB calculates material eigenvalues la and material eigenvector matrices A, B through the explicit solutions to provide a double check with those calculated from function material_eigen. Four auxiliary functions are used to assist the calculation of eigen_muAB, which are muAB_2De, muAB_2Dp, muAB_Ce, and muAB_Cp. The matlab code of eigen_muAB is presented in F049 of Appendix F.
3.6.4 Function—identities Function identities checks the relations through the identities provided in this book, which should be satisfied numerically. If some identities are not satisfied, certain matrices of material properties calculated in this computer program may be wrong, and some warning message will be printed out when Icheck = 1 is activated. The matlab code of identities is presented in F068 of Appendix F.
3.7
Functions for Output
Four functions—output_caption, printTF, TableFig and TableFig3D are coded for the ouput of numerical data. The first one designates a folder for all output files and prints the caption for tables of output data. The second one is a common function for printing tables and figures. The last two will then output numerical results collected from function internal or calculated from BEM3DelasticIN in the form of Tables and Figures.
3.7.1 Function—output_caption To designate a folder for all output files and print the caption of output tables, function output_caption is designed and presented in F082 of Appendix F.
88
3
Computer Program with Matlab
3.7.2 Function—printTF Function printTF is a common function for printing tables and figures required by function TableFig, TableFig3D, or other functions of AEPH. To plot the deformation of hole/inclusion for the surface case surf = 5 of function: internal, function surf5plot is added as a sub-function of printTF. To see the results directly from the studying object, suitable magnification or reduction is necessary. Thus, in this function scaling factors such as scale, sig0, D0, sig01, sig02, sig03, D01 obtained from function-TableFig are used in some cases of printTF. Consider a plot such as Fig. 3.2 generated by case 3 of printTF, which shows the hoop stress around the elliptical hole. In this plot, values of stresses are measured from the radial direction. Positive values are shown outward, and negative values are shown inward. To know the value of hoop stress, e.g., at points A and B, you need to measure the line lengths ‘A and ‘B at these two points. In this example, ‘A ¼ 0:5; ‘B ¼ 0:7; which means that 0:005 0:5 109 Pa ¼ 2:27 106 ¼ 2:27 MPa; 1:1 0:005 0:7 109 Pa ¼ 3:18 106 ¼ 3:18 MPa, rB ¼ kr ‘B r0 ¼ 1:1 rA ¼ kr ‘A r0 ¼
in which kr ‘A and kr ‘B are the scale line lengths of points A and B, and kr can be measured from the scale of x-axis and y-axis of the plot. The matlab code of printTF is presented in F087 of Appendix F.
3.7.3 Function—TableFig, TableFig3D Function TableFig outputs numerical results collected from function internal in the form of Tables and Figures for most of the problems, whereas TableFig3D is responsible for the output results of 3D-BEM. The data collected in internal are calculated by the function uphi_bank for analytical solutions, and by the function BEMbankIN for boundary element solutions. The data used in the printing of Tables and the plotting of Figures are Xik, Uik, Temh, vk whose detailed explanation can be found in Sect. 3.5.1 for the function internal. The caption of the problem will be printed through function Fig. 3.2 A line plot of hoop stress on the object
3.7 Functions for Output
89
output_caption. According to the problem type Dtype, three auxiliary functions TableFig2D, TableFigC and TableFigDV are designed for the presentation of displacements, stresses and strains of two-dimensional problems, coupled stretching-bending problems, and the problems related to time such as dynamic problems or the problems with viscoelastic materials. To output additional results such as stress intensity factors for crack problems, heat flow and temperature distribution for thermoelastic problem, electric field and electric displacement for piezoelectric materials, and magnetic field and magnetc flux for MEE materials, several other auxiliary functions such as TableSIF, TableFigT, TableFigCT, TableFigP, TableFigCP, TableFigM, TableFigCM, TableFigTime are coded in the function TableFig. These auxiliary functions share a common function printTF to print Tables and plot Figures according to the control parameter TFtype. The matlab codes of TableFig and TableFig3D are presented in F196 and F197 of Appendix F.
3.8
Examples
To show how to prepare the input files to get the important data such as N, la , A, B for the follow-up calculation of analytical solutions and boundary element methods, several examples are illustrated in this section according to the control parameters Etype, Ttype, Ptype, and Dtype.
3.8.1 Elastic Properties Example 1: Isotropic Materials Consider an isotropic material whose Young’s modulus E and Poisson’s ratio m are shown in Table 3.1. Calculate fundamental elasticity matrices N1 ; N2 ; N3 , material eigenvector matrices A, B, and material eigenvalues la for (a) plane strain condition; (b) generalized plane stress condition; (c) stretching-bending condition with plate thickness h = 1 mm. To carry out this example, the users should prepare two text files: input_control and input_elastic1. According to the description stated in Sect. 3.1.4, the contents of these two files should be as follows: (a) input_control.txt: 1 1 0 0 1 1.0e9 0.001 1.0e−6; 1 0 0 0 input_elastic1.txt: 300e9 0.25 (b) input_control.txt: 1 2 0 0 1 1.0e9 0.001 1.0e−6; 1 0 0 0 input_elastic1.txt: 300e9 0.25 (c) input_control.txt: 1 3 0 0 1 1.0e9 0.001 1.0e−6; 1 0 0 0 input_elastic1.txt: 300e9 0.25 0.001. Note that the underline below the number denotes the differences between the input files for these three sub-problems. Running the main program with these input data, the results of this problem are obtained as follows.
Table 3.1 Elastic properties
Example
Properties
1
E = 300 GPa, m ¼ 0:25
2
E11 ¼ 134GPa, E22 ¼ E33 ¼ 11GPa, G23 ¼ 2:98GPa, G31 ¼ G12 ¼ 5:84GPa, m23 ¼ 0:49; m13 ¼ m12 ¼ 0:3; af ¼ 0
3
Cij: obtained from Ex.6 with laminate [15/30/-15/45]
4
Sij: obtained from Ex.6 with laminate [15/30/-15/45]
5
EL ¼ 181 GPa,
ET ¼ 10:3 GPa, GLT ¼ 7:17 GPa, mLT ¼ 0:28
6
EL ¼ 138 GPa;
ET ¼ 9 GPa, GLT ¼ 6:9 GPa,
mLT ¼ 0:3
90
3
Computer Program with Matlab
(a) 2
0
1 0
3
2
6 7 6 N1 ¼ 4 0:333 0 0 5; N2 ¼ 4 0 0 0 2 3 320 0 0 6 7 0 0 5 E0 N3 ¼ 4 0 0 0 120 2
0:734ð1 iÞ A ¼ 4 0:733ð1 þ iÞ 0
0:00833 0 0
0:733ð1 þ iÞ 0:734ð1 iÞ 0
2
176:08ð1 þ iÞ B ¼ 4 175:97ð1 iÞ 0
175:97ð1 iÞ 176:08ð1 þ iÞ 0
l1 ¼ 1:000645i;
0
0
3
7 0:00278 0 5=E0 ; 0 0:00833
3 0 pffiffiffiffiffi 5= E0 0 0:0456ð1 iÞ 3 0 pffiffiffiffiffi 5 E0 0 5:477ð1 þ iÞ
l2 ¼ 0:999355i;
l3 ¼ i
(b) 2
0 N1 ¼ 4 0:25 0
3 1 0 0 0 5; 0 0
2
0:00833 N2 ¼ 4 0 0
2
300 N3 ¼ 4 0 0 2
0:722ð1 iÞ A ¼ 4 0:721ð1 þ iÞ 0
0 0 0
3 0 0 5=E0 ; 0:00312 0 0 0:00833
3 0 0 5 E0 120
3 0:721ð1 þ iÞ 0 pffiffiffiffiffi 5 = E0 0:722ð1 iÞ 0 0 0:0456ð1 iÞ
2
173:26ð1 þ iÞ 173:15ð1 iÞ B ¼ 4 173:15ð1 iÞ 173:26ð1 þ iÞ 0 0 l1 ¼ 1:000625i;
3 0 pffiffiffiffiffi 5 E0 0 5:477ð1 þ iÞ
l2 ¼ 0:999375i;
l3 ¼ i
3.8 Examples
91
(c) 2
0
6 0:25 6 N1 ¼ 6 4 0 2 6 6 N3 ¼ 6 4
1
0
0 0
0 0
0
0:25 0
0 300
0
0 0
0 0
0 25h20
0
0
0
0
3
6 07 7 6 7; N2 ¼ 6 4 15 0 0 0 0
0:722ð1 iÞ 0:721ð1 þ iÞ 6 0:721ð1 þ iÞ 0:722ð1 iÞ 6 A¼4 0 0 0 0 173:26ð1 þ iÞ 6 173:15ð1 iÞ B¼6 4 0 0 l1 ¼ 1:000625i;
8:333
0
0
0
0 0
3:125 0
0 0
0 0
0
0
0
37:5=h20
3
3 7 7 7 103 =ðE0 h0 Þ; 5
7 7 7 E 0 h0 5
40h20
2
2
2
0 0 ð3:11 þ 0:0008iÞ=h0 ð0:0008 3:11iÞ=h0
3 0 7 pffiffiffiffiffiffiffiffiffiffi 0 7 = E0 h0 ð0:0008 3:11iÞ=h0 5 ð3:11 0:0008iÞ=h0
173:15ð1 iÞ 0 173:26ð1 þ iÞ 0 0 ð0:0653 62:2iÞh0 0 ð62:2 þ 0:0653iÞh0 l2 ¼ 0:999375i;
l3 ¼ 0:000484 þ i;
3 0 7pffiffiffiffiffiffiffiffiffiffi 0 7 E0 h0 ð62:2 þ 0:0653iÞh0 5 ð0:0653 þ 62:2iÞh0 l4 ¼ 0:000484 þ i
The above solutions are solved by function material_eigen which is coded based upon the eigenrelation (2.8). This result can be checked by running functions eigen_muAB and fundamental_N which are coded based upon the explicit expressions introduced in Sect. 2.4. To activate these two functions, the control parameter Icheck of input_control.txt, which is the 5th number of this file, should be set to 1. Since same procedure as this example can be applied to the other kinds of materials and the results can be obtained immediately by running the main program with the prepared input files, if no additional information is required only the input text files will be shown in most of the following examples. The material properties of all examples can be found in Table 3.1 for the elastic properties, in Table 3.2 for the thermal properties, and in Table 3.3 for the piezoelectric properties. Example 2: Orthotropic Materials - Generalized Plane Stress input_control.txt: 1 2 0 0 1 1.0e9 0.001 1.0e−6; 2 0 0 0 input_elastic1.txt: 134e9 11e9 11e9 2.98e9 5.84e9 5.84e9 0.49 0.3 0.3 0 Example 3: Anisotropic Materials with Cij - Generalized Plane Stress input_control.txt: 1 2 0 0 1 1.0e9 0.001 1.0e−6; 3 0 0 0 input_elastic1.txt: 95:4e9 20:1e9 3:74e9 0 0 18:3e9
20:1e9 22:6e9 3:26e9 0 0 12:1e9
3:74e9 3:26e9 10:0e9 0 0 0:20e9
0 0 0 69e9 0 0
0 0 0 0 69e9 0
18:3e9 12:1e9 0:20e9 0 0 23:1e9
92
3
Computer Program with Matlab
Example 4: Anisotropic Materials with Sij - Generalized Plane Strain input_control.txt: 1 1 0 0 1 1.0e9 0.001 1.0e−6; 4 0 0 0 input_elastic1.txt: 13:5e12 8:27e12 2:23e12 0 0 8:27e12 70:3e12 19:3e12 0 0 2:23e12 19:3e12 107e12 0 0 0 0 0 14:5e12 0 0 0 0 0 14:5e12 6:40e12 30:2e12 11:0e12 0 0
6:40e12 30:2e12 11:0e12 0 0 64:2e12
Example 5: Unidirectional Fiber-Reinforced Composite Materials Consider a carbon/epoxy unidirectional fiber-reinforced composite with fibers oriented counterclockwisely 30o from x-axis. The properties referred to its principal material axes are shown in Table 3.1. The thickness of the composite is h = 5 mm. To get A; B; D; N1 ; N2 ; N3 ; A; B, and la for the coupled stretching-bending condition, two input text files should be prepared as follows: input_control.txt: 1 3 0 0 1 1.0e9 0.001 1.0e−6; 5 0 0 0 input_elastic1.txt: 181e9 10.3e9 7.17e9 0.28 30 0.005 Example 6: Composite Laminates Consider a four-ply composite laminate [0/45/–45/90] composed of graphite/epoxy fiber-reinforced laminae. The thickness of each lamina is 1 mm, and the elastic properties of graphite/epoxy are shown in Table 3.1. To get A; B; D; N1 ; N2 ; N3 ; A; B, and la for the coupled stretching-bending condition, two input text files should be prepared as follows: input_control.txt: 1 3 0 0 1 1.0e9 0.001 1.0e−6; 6 0 0 0 input_elastic1.txt: 4 1; 138e9 9e9 6.9e9 0.3; 1 0 0:001; 1 45 0:001; 1 45 0:001; 1 90 0:001
3.8.2 Thermal Properties Example 1: Isotropic Materials - Plane Strain Consider an isotropic material whose Young’s modulus E, Poisson’s ratio m, heat conduction coefficient k, and thermal expansion coefficient a are shown in Table 3.2. To get C; b S; N1 ; N2 ; N3 ; A; B; la ; thermal eigenvectors c, d, and thermal eigenvalue s for the plane strain condition, three input text files should be prepared as follows: input_control.txt: 1 1 0 0 1 1.0e9 0.001 1.0e−6; 1 1 0 0 input_elastic1.txt: 200e9 0.28 input_thermal1.txt: 4.62 2.81e−5 The results of c, d, s of this example are 2 3 1:574 c ¼ 4 5:620i 5 105 ; 0
2
3 0:0032i d ¼ 4 0:0032 5 E0 ; 0
s ¼ 0:9999995i:
3.8 Examples
93
Table 3.2 Elastic and thermal properties
Example
Properties (units: E,G-GPa, k-W=m C, a-= C, b-N=m2 C)
1
E = 200, m ¼ 0:28, k ¼ 4:62, a ¼ 28:1 106
2
E11 ¼ 144:8; k11 ¼ 4:62;
E22 ¼ E33 ¼ 9:7; k22 ¼ k33 ¼ 0:72;
3
Cij ; kij ; bij : obtained from Ex.2
4
Sij ; kij ; aij : obtained from Ex.2
5
EL ¼ 144:8;
6
ET ¼ 9:7;
kL ¼ 4:62;
kT ¼ 0:72;
EL ¼ 138;
ET ¼ 9;
kL ¼ 4:62;
kT ¼ 0:72;
G23 ¼ G31 ¼ G12 ¼ 4:1; 6
a22 ¼ a33 ¼ 2:81 105
a11 ¼ 0:3 10 ;
GLT ¼ 4:1;
mLT ¼ 0:3;
aL ¼ 0:3 106 ;
GLT ¼ 6:9;
m23 ¼ m13 ¼ m12 ¼ 0:3;
aT ¼ 2:81 105
mLT ¼ 0:3;
aL ¼ 0:3 106 ;
aT ¼ 2:81 105
Example 2: Orthotropic Materials - Generalized Plane Stress input_control.txt: 1 2 0 0 1 1.0e9 0.001 1.0e−6; 2 2 0 0 input_elastic1.txt: 144.8e9 9.7e9 9.7e9 4.1e9 4.1e9 4.1e9 0.3 0.3 0.3 0 input_thermal1.txt: 4.62 0.72 0.72 -0.3e−6 2.81e−05 2.81e−05 Example 3: Anisotropic Materials with Cij ; kij ; bij - Generalized Plane Stress input_control.txt: 1 2 0 0 1 1.0e9 0.001 1.0e−6; 3 3 0 0 input_elastic1.txt: 147:34e9 4:23e9 4:23e9 0 0 0
4:23e9 10:78e9 3:32e9 0 0 0
4:23e9 0 3:32e9 0 10:78e9 0 0 4:1e9 0 0 0 0
0 0 0 0 4:1e9 0
0 0 0 0 0 4:1e9
input_thermal1.txt: 4.62 0 0; 0 0.72 0; 0 0 0.72; 1.94e5 0 0; 0 3.95e5 0; 0 0 3.95e5 Example 4: Anisotropic Materials with Sij ; kij ; aij - Generalized Plane Strain input_control.txt: 1 1 0 0 1 1.0e9 0.001 1.0e−6; 4 4 0 0 input_elastic1.txt: 6:91e12 2:07e12 2:07e12 0 0 0
2:07e12 2:07e12 0 103:1e12 30:9e12 0 30:9e12 103:1e12 0 0 0 243:9e12 0 0 0 0 0 0
0 0 0 0 243:9e12 0
0 0 0 0 0 243:9e12
input_thermal1.txt: 4.62 0 0; 0 0.72 0; 0 0 0.72; −0.03e−5 0 0; 0 2.81e−5 0; 0 0 2.81e−5 Example 5: Unidirectional Fiber-Reinforced Composite Materials Consider a unidirectional fiber-reinforced composite with fibers oriented counterclockwisely 90o from x-axis. The properties referred to its principal material axes are shown in Table 3.2. The thickness of the composite is h = 1 mm. To get
94
3
Computer Program with Matlab
A; B; D; N1 ; N2 ; N3 ; A; B; c; d; la ; and s for the coupled stretching-bending condition, three input text files should be prepared as follows: input_control.txt: 1 3 0 0 1 1.0e9 0.001 1.0e−6; 5 5 0 0 input_elastic1.txt: 144.8e9 9.7e9 4.1e9 0.3 90 0.001 input_thermal1.txt: 4.62 0.72 −0.3e−6 2.81e−5 Example 6: Composite Laminates Consider a four-ply composite laminate [45/0/45/–45] composed of graphite/epoxy fiber-reinforced laminae. The thickness of each lamina is 1 mm, and the elastic properties of graphite/epoxy are shown in Table 3.2. To get A; B; D; N1 ; N2 ; N3 ; A; B,c,d, la and s for the coupled stretching-bending condition, three input text files should be prepared as follows: input_control.txt: 1 3 0 0 1 1.0e9 0.001 1.0e−6; 6 6 0 0 input_elastic1.txt: 4 1; 138e9 9e9 6.9e9 0.3; 1 45 0:001; 1 0 0:001; 1 45 0:001; 1 45 0:001 input_thermal1.txt: 4.62 0.72 −0.3e−6 2.81e−5
3.8.3 Piezoelectric Properties Example 1: Piezoelectric Properties with CijE ; eij ; xeij - Plane Strain & Short Circuit In this example, the piezoelectric materials are chosen to be left-hand quartz, whose properties are shown in Table 2.3 (also see Table 3.3). To get N1 ; N2 ; N3 ; A; B, and la for the plane strain & short circuit condition, two input text files should be prepared as follows. input_control.txt: 1 11 0 0 1 1.0e9 0.001 1.0e−6; 0 0 1 0 input_piezoM1.txt:
Table 3.3 Piezoelectric properties
Example
Properties
1
Left-hand quartz of Table 2.3
2
CijD ; hij ; beij : obtained from Ex.1
3 (PZT-5H)
SE11 ¼ 20:7 1012 ;
SE12 ¼ SE21 ¼ SE13 ¼ SE31 ¼ 8:45 1012 ;
SE22 ¼ SE33 ¼ 16:5 1012 ; SE44
12
¼ 42:56 10
;
SE23 ¼ SE32 ¼ 4:87 1012 ;
SE55
¼ SE66 ¼ 43:5 1012 ; ðunit : m2 =NÞ;
d11 ¼ 593 1012 ; d12 ¼ d13 ¼ 274 1012 ; d26 ¼ d35 ¼ 741 1012 ; ðunit : C=N), xr11 ¼ 3:01 108 ; xr22 ¼ xr33 ¼ 2:77 108 ;
ðunit : C2 =m2 NÞ;
other SEij ; dij ; xrij ¼ 0 4 (PZT4)
12 ; SD 11 ¼ 10:9 10
SD 22 SD 44
12
¼ 10:9 10
;
¼ 19:3 1012 ;
D 12 D 12 SD ; SD ; 12 ¼ S21 ¼ 5:42 10 13 ¼ S31 ¼ 2:1 10
SD 33
D D ¼ 7:9 1012 ; SD 23 ¼ S32 ¼ S13 ;
SD 66 3
g16 ¼ g25 ¼ 39:4 10 ;
D 2 ¼ 32:64 1012 ; SD 55 ¼ S44 ; ðunit : m =NtÞ:
g31 ¼ g32 ¼ 11:1 103 ;
g33 ¼ 26:1 103 ; ðunit : Volt m=NtÞ: br11 ¼ 7:66 107 ; br33 ¼ 8:69 107 ; br22 ¼ br11 ; ðunit : Volt2 =NtÞ; D other SD ij ; gij ; bij ¼ 0
5
Ex.6 of Table 3.1 + Ex.1 of Table 3.3
3.8 Examples
95
86.74e9
6.99e9
11.91e9
−17.91e9
0
0
6.99e9
86.74e9
11.91e9
17.91e9
0
0
11.91e9
11.91e9
107.2e9
0
0
0
−17.91e9
17.91e9
0
57.94e9
0
0
0
0
0
0
57.94e9
−17.91e9
0
0
0
0
−17.91e9
39.88e9
0.171
−0.171
0
0.0406
0
0
39.21e−12
0
0
0
0
0
0
−0.0406
−0.171
0
39.21e−12
0
0
0
0
0
0
0
0
0
41.03e−12
The results of N1 ; N2 ; N3 ; A; B, la of this problem are 2 0 1 0:0044 6 0:0806 0 0 N1 ¼ 6 4 0 0 0 0 0 1:0164E0 2
0:0246=E0 6 0 6 N2 ¼ 4 0 0:1073
0 0:0115=E0 0 0
2
86:18E0 6 0 N3 ¼ 6 4 0 0:1848
0 0 0 0
3 0 7 0:002=E0 7; 4 7:007 10 =E0 5 0 3 0:1073 7 0 7; 5 0 25:0355E0
0 0 0:0173=E0 0
0 0 57:98E0 0
3 0:1848 7 0 7 5 0 0:0396=E0
2
0:039 0:068i 0:068 þ 0:039i 0:029ð1 þ iÞ 6 0:056 0:0062i 0:0062 0:056i 0:062ð1 iÞ A¼6 4 0 0 0 1:45ð1 þ iÞE0 1:45ð1 þ iÞE0 1:45ð1 þ iÞE0 2
5:16 þ 2:01i 6 0:66 þ 4:80i B¼6 4 0:059ð1 þ iÞ 0:058ð1 iÞ=E0
2:01 5:16i 4:80 0:66i 0:059ð1 þ iÞ 0:058ð1 iÞ=E0
l1 ¼ 0:266 þ 1:112i;
3:15ð1 iÞ 4:14ð1 þ iÞ 0:059ð1 þ iÞ 0:058ð1 iÞ=E0
l2 ¼ 0:266 þ 1:112i;
3 0 7 pffiffiffiffiffi 0 7= E0 0:066ð1 iÞ 5 0
3 0 7 pffiffiffiffiffi 0 7 E0 5 3:81ð1 þ iÞ 0:0027ð1 iÞ=E0
l3 ¼ 0:761i;
l4 ¼ i
Example 2: Piezoelectric Properties with CijD ; hij ; beij - Plane Stress & Short Circuit input_control.txt: 1 21 0 0 1 1e9 0.001 1.0e−6; 0 0 2 0 input_piezoM1.txt: 87.5e9
6.24e9
11.9e9
−17.7e9
0
0
6.24e9
87.5e9
11.9e9
17.7e9
0
0
11.9e9
11.9e9
107.2e9
0
0
0
−17.7e9
17.7e9
0
58.0e9
0
0 (continued)
96
3
0
0
0
0
58.0e9
−17.7e9
0
0
0
0
−17.7e9
40.6e9
4.36e9
−4.36e9
0
1.04e9
0
0
25.5e9
0
0
0
0
0
0
-1.04e9
-4.36e9
0
25.5e9
0
0
0
0
0
0
0
0
0
24.4e9
Computer Program with Matlab
Example 3: Piezoelectric Properties with SEij ; dij ; xrij - Plane Strain & Open Circuit input_control.txt: 1 12 0 0 1 1e9 0.001 1.0e−6; 0 0 3 0 input_piezoM1.txt: 20.7e−12
−8.45e−12
−8.45e−12
0
0
0
−8.45e−12
16.5e−12
−4.87e−12
0
0
0
−8.45e−12
-4.87e−12
16.5e−12
0
0
0
0
0
0
42.56e−12
0
0
0
0
0
0
43.5e−12
0
0
0
0
0
0
43.5e−12
593e−12
−274e−12
−274e−12
0
0
0
3.01e−8
0
0
0
0
0
0
0
741e−12
0
2.77e−8
0
0
0
0
0
741e−12
0
0
0
2.77e−8
r Example 4: Piezoelectric Properties with SD ij ; gij ; bij - Plane Stress & Open Circuit
input_control.txt: 1 22 0 0 1 1e9 0.001 1.0e−6; 0 0 4 0 input_piezoM1.txt: −5.42e−12
−2.1e−12
0
0
0
−5.42e−12
10.9e−12
−2.1e−12
0
0
0
−2.1e−12
−2.1e−12
7.9e−12
0
0
0
10.9e−12
0
0
0
19.3e−12
0
0
0
0
0
0
19.3e−12
0
0
32.64e−12
0
0
0
0
0
0
0
0
0
39.4e−3
7.66e7
0
0
0
0
0
0
39.4e−3
0
0
7.66e7
0
−11.1e−3
−11.1e−3
26.1e−3
0
0
0
0
0
8.69e7
Example 5: Electro-elastic Laminates with CijE ; eij ; xeij Consider an electro-elastic composite laminate [E/0/45/E] composed of two layers of graphite-epoxy fiber reinforced composite in the middle and two piezoelectric layers of left-hand quartz at the top and bottom. The thickness of each layer is 1 mm and the material properties of graphite/epoxy and left-hand quartz are shown in Ex.6 of Table 3.1 and Ex.1 of Table 3.3. To get N1 ; N2 ; N3 ; A; B, and la for the coupled stretching-bending & open circuit condition, two input text files should be prepared as follows. input_control.txt: 1 32 0 0 1 1.e9 1.e−3 1.0e−6; 0 0 5 0 input_piezoM1.txt: 43
3.8 Examples
97
86.74e9
6.99e9
11.91e9
−17.91e9
0
0
6.99e9
86.74e9
11.91e9
17.91e9
0
0
11.91e9
11.91e9
107.2e9
0
0
0
−17.91e9
17.91e9
0
57.94e9
0
0
0
0
0
0
57.94e9
−17.91e9
0
0
0
0
−17.91e9
39.88e9
0.171
−0.171
0
0.0406
0
0
39.21e−12
0
0
0
0
0
0
−0.0406
−0.171
0
39.21e−12
0
0
0
0
0
0
0
0
0
41.03e−12
1:4035e11 3:9229e9
3:9229e9 3:0767e9
0 0
0 0
0 0
3:9229e9 3:0767e9 9:9998e9 0 0 0 6:9e10 0 0
0
0
0
0 0 0
0 0 0 0 0 0
3:9229e9 9:9998e9
0 0 0 0
6:9e10 0 0 6:9e9 0 1e 16 0
0
0 0 0 0 0 0 0 1e 16 0 0 0 0 0 0 0 0 0 1e 16 4:645e10 3:265e10 3:4998e9 0 0 3:2589e10 3:265e10
4:645e10
3:4998e9
0
0
3:2589e10
3:4998e9 0 0
3:4998e9 0 0
9:9998e9 0 0 4:2313e8 0 6:9e10 2:1795e 6 0 2:2016e 6 6:9e10
3:259e10 3:259e10 4:231e8 0 0 0 0 0 0 0 1e 16 0 0 0 0 0 0 0 0 0 1e 16 0 0
0 0
0
0
0 0
0
0
1e 16
1 0:001; 2 0:001; 3 0:001; 1 0:001
References Hwu, C. 2010. Anisotropic elastic plates. New York: Springer. Ting, T.C.T. 1996. Anisotropic elasticity: Theory and applications. NY: Oxford Science Publications.
0 0 3:5627e10
4
Infinite Space, Half Space and Bi-materials
The general solution (2.6) of anisotropic elasticity solved by Stroh formalism shows that to calculate the physical responses such as displacements, strains, and stresses, one needs to know the material eigenvalues la , the material eigenvector matrices A and B, and the complex function vector f(z). The function, material-eigen or eigen_muAB, responsible for the calculation of material eigenvalues and material eigenvector matrices has been introduced in Chap. 3. Thus, to calculate the physical responses via the analytical solutions, the only function remained to be coded is the complex function vector. The determination of the complex function vector depends on the boundary conditions set for the problem. Detailed derivation of the analytical solutions of the complex function vectors for around one hundred different problems has been shown in my previous book (Hwu 2010). In order to write the computer codes for these functions, the analytical solutions obtained in Hwu (2010) will be provided in the related sections. To start with simple problems, the problem of infinite space in which no geometric boundary is involved, is firstly described in Sect. 4.1. Several different loading conditions are considered in this section such as a uniform load or inplane bending at infinity, and a point force or moment or dislocation at an arbitrary location. Note that point force in two-dimensional problems sometimes is called line force in the literature, since it is required to be uniformly distributed along the x3-axis for two-dimensional problems. Similarly, there are some other names like ‘point X’ be called ‘line X’ for two-dimensional problems. To focus on the characteristics of concentration and to have a consistent name, the name of ‘point X’ will be used in the entire book. Following Sect. 4.1, the problem of half-space that has only one straight line boundary is presented in Sect. 4.2 with similar loading conditions. The problem of bi-materials made by the perfect adhesion of two dissimilar half-spaces is then presented in Sect. 4.3. Section 4.4 describes two common functions frequently called by the other functions. One is Stroh_matrices which provides the matrices related to Barnett-Lothe tensors S, H, L, and fundamental elasticity matrix N, and the other is Gauss which is a function for numerical integration through Gaussian quadrature rule. Examples of infinite space, half space and bi-materials are then shown in the last section of this chapter. In this chapter and all the following chapters, if the solution is expressed by the standard form of Stroh formalism (2.6), i.e., u ¼ 2RefAfðzÞg;
/ ¼ 2RefBfðzÞg;
ð4:1Þ
only the solution of complex function vector f(z) will be presented. With this kind of solution form, the strains and stresses can be obtained by 8 9 8 9 u1;1 < e11 = < = e1 ¼ ¼ ðu1;2 þ u2;1 Þ=2 ¼ u;1 e0 i2 ; e12 ð4:2aÞ : ; : ; u3;1 2e13 8 9 8 9 < e21 = < ðu1;2 þ u2;1 Þ=2 = u2;2 ¼ ¼ u;2 þ e0 i1 ; e2 ¼ e : 22 ; : ; u3;2 2e23
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2021 C. Hwu, Anisotropic Elasticity with Matlab, Solid Mechanics and Its Applications 267, https://doi.org/10.1007/978-3-030-66676-7_4
1 e0 ¼ ðu2;1 u1;2 Þ; 2
ð4:2bÞ
99
100
4
8 9 < r11 = r1 ¼ /;2 ¼ r12 ; : ; r13
Infinite Space, Half Space and Bi-materials
8 9 < r21 = r2 ¼ /;1 ¼ r22 ; : ; r23
ð4:2cÞ
where u;1 ¼ 2RefAf 0 ðzÞg; /;1 ¼ 2RefBf 0 ðzÞg;
u;2 ¼ 2RefA\la [ f 0 ðzÞg; /;2 ¼ 2RefB\la [ f 0 ðzÞg;
ð4:2dÞ
and 9 8 > = < df1 ðz1 Þ=dz1 > f 0 ðzÞ ¼ df2 ðz2 Þ=dz2 : > > ; : df3 ðz3 Þ=dz3
ð4:2eÞ
Note that although almost all the functions designed in AEPH are suitable for any kinds of anisotropic elastic, piezoelectric, MEE, and viscoelastic materials, for the convenience of our presentation most of the solutions and input_loadstr (input files for the load and structure information) unless stated otherwise are shown for the anisotropic elastic materials.
4.1
Infinite Space
4.1.1 Uniform Load—s411infUL Consider an infinite homogeneous plate subjected to an equilibrated uniform load at infinity (Fig. 4.1). The solution of the complex function vector fðzÞ to this problem has been found to be T 1 fðzÞ ¼ \za [ ðAT t1 2 þ B e1 Þ:
Fig. 4.1 Infinite space: uniform load
ð4:3Þ
4.1 Infinite Space
101
The associated real form solutions of the displacement vector u and the stress function vector /, and their derivatives are 1 1 u ¼ x 1 e1 / ¼ x1 t1 1 þ x 2 e2 ; 2 x2 t1 ; 1 1 1 u;1 ¼ e1 ; u;2 ¼ e2 ; /;1 ¼ t2 ; /;2 ¼ t1 1 ;
ð4:4aÞ
where t1 1
8 19 8 19 < r11 = < r21 = 1 r1 ; ; t ¼ r1 ¼ 2 : 12 : 22 ; 1; r13 r1 23
e1 1
8 1 9 < e11 = e1 ; ¼ : 121 ; 2e13
e1 2
8 1 9 < e21 = e1 ; ¼ : 221 ; 2e23
ð4:4bÞ
and e1 ij ; i; j ¼ 1; 2; 3; are the induced strains at infinity, and can be determined by using the stress–strain relation (1.39a). The simplified solutions for some special loading cases are listed below for plane strain condition. Replacing the reduced compliances by the compliances, the results are also valid for generalized plane stress. 2 1 2 1 1 1 1 Unidirectional Tension ðr1 11 ¼ r cos a; r22 ¼ r sin a; r12 ¼ r cos a sin aÞ (Fig. 4.2) 1 1 1 t1 1 ¼ r cos asðaÞ; t2 ¼ r sin asðaÞ; 1 2 2 e1 1 ¼ r fcos aS1 þ sin aS2 þ cos a sin aS6 g;
Biaxial Loading
ðr1 11
¼
e1 2 ¼ 1 1 r1 ; r22 ¼ r1 2 Þ
1 t1 1 ¼ r1 i1 ;
1
r fcos
2
1 t1 2 ¼ r2 i2 ;
aS1
þ sin
2
aS2
þ
ð4:5aÞ
cos a sin aS6 g:
1 1 e1 1 ¼ r1 S1 þ r2 S2 ;
1 1 e1 2 ¼ r1 S1 þ r2 S2 :
ð4:5bÞ
1 e1 2 ¼ s S6 :
ð4:5cÞ
1 Pure Shear ðr1 12 ¼ s Þ 1 t1 1 ¼ s i2 ; 1 Anti-Plane Shear ðr1 13 ¼ s
1 e1 1 ¼ s S6 ;
1 or r1 23 ¼ s Þ
1 t1 1 ¼ s i3 ;
t1 1 ¼ 0;
1 t1 2 ¼ s i1 ;
t1 ¼ 0; 2
1 t1 2 ¼ s i3 ;
1 e1 1 ¼ s S5 ;
1 e1 1 ¼ s S4 ;
Fig. 4.2 An infinite plate subjected to unidirectional tension
1 e1 2 ¼ s S5 ; 1 e1 2 ¼ s S4 ;
1 when r1 13 ¼ s ; 1 when r1 23 ¼ s :
ð4:5dÞ
102
4
Infinite Space, Half Space and Bi-materials
In the above, 9 8 8 9 8 9 8 9 > > > > = < cos a > = = =
i1 ¼ 0 ; i2 ¼ 1 ; i3 ¼ 0 ; sðaÞ ¼ sin a ; > > > > > ; : ; ; ; : > : > : > 0 0 0 1 9 9 8 8 b b > > = = < S 1i > < S 6i =2 > b Si ¼ b ; i ¼ 1; 2; 4; 5;6: S 6i =2 ; Si ¼ S 2i > > ; ; : b > : b > S 5i S 4i
ð4:5eÞ
Based upon the solutions provided in (4.3)–(4.5a–4.5e), function s411infUL is designed to calculate the displacements, strains, and stresses for the internal points of the infinite plate. The infinite plate may be composed of anisotropic elastic, piezoelectric, or MEE materials. The uniform load applied at infinity can be input through five different cases denoted by loadcase: (1) unidirectional tension, (2) biaxial load, (3) inplane shear, (4) antiplane shear, (5) general loading conditions. The matlab code of function s411infUL is presented in F103 of Appendix F. According to the above matlab code, to run the computer program the input file input_loadstr for getting the load and structure information should be prepared as follows. Case Case Case Case Case
1: 2: 3: 4: 5:
1, 2, 3, 4, 5,
r1 , a (unidirectional tension r1 directed at angle a from x1 axis) 1 1 1 r1 1 , r2 (biaxial loads r1 and r2 Þ 1 1 s (inplane shear s Þ 1 1 1 s1 13 , s23 (antiplane shear s13 and/or s23 Þ 1 1 1 1 r1 11 ; r22 ; r23 ; r13 ; r12 (general loading condition).
4.1.2 Inplane Bending—s412infIB Consider an infinite plate subjected to in-plane bending M in a direction at an angle a with the positive x1 -axis (Fig. 4.3). The solutions of the displacement vector u and the stress function vector /, and their derivatives have been found to be
x2 M
x1
M Fig. 4.3 Infinite space: in-plane bending
4.1 Infinite Space
103
M M ðsin au1 þ cos au2 Þ; / ¼ ðx1 sin a x2 cos aÞ2 sðaÞ; 2I 2I M M ðsin au1;1 þ cos au2;1 Þ; u;2 ¼ ðsin au1;2 þ cos au2;2 Þ; u;1 ¼ 2I 2I M M ðx1 sin a x2 cos aÞ sin asðaÞ; /;2 ¼ ðx1 sin a x2 cos aÞ cos asðaÞ; /;1 ¼ I I
u¼
where I is the moment of inertia of the plate cross section, and 8 9 8 9 < c1 x21 c2 x22 = < ð2c1 x1 þ c6 x2 Þx2 = c1 x21 c2 x22 u2 ¼ ; u1 ¼ ðc6 x1 þ 2c2 x2 Þx1 ; : ; : ; c4 x22 ðc5 x1 þ 2c4 x2 Þx1 8
1, extended symbol (7) of Sect. 2.5.5; S; H; N1 ðhÞ; N2 ðhÞ; N3 ðhÞ when Nmat = 1, (2.10); N1 ðhÞ; N2 ðhÞ; N3 ðhÞ when Nmat > 1, (2.10), for multi-material wedges; N1 ðhÞ; N2 ðhÞ; N3 ðhÞ when Nmat > 1, (2.10), for inclusion problems; e 2 ðh; aÞ; N e 3 ðh; aÞ when Nmat = 1, extended symbol (6); e 1 ðh; aÞ; N N e 2 ðh; aÞ; N e 3 ðh; aÞ when Nmat > 1, extended symbol (6); e 1 ðh; aÞ; N N
116
Stype Stype Stype Stype Stype Stype Stype Stype
4
= = = = = = = =
Infinite Space, Half Space and Bi-materials
b 1 ðh; aÞ; N b 2 ðh; aÞ; N b 3 ðh; aÞ, extended symbol (6) of Sect. 2.5.5; 4: N b 3 ðhÞg\1 [ , (2.10) & (5.5); 5: N1 ðhÞ; N2 ðhÞ; f N 6: G1 ðhÞ; N1 ðhÞ; G3 ðhÞ, extended symbol (7) & (6) of Sect. 2.5.5; b d ðh; aÞ, (4.38); 7: submatrices N1d ; N2d ; N3d of N b 0d ðh; aÞ, (4.39a, 4.39b); 8: submatrices N0 1d ; N0 2d ; N0 3d of N 9: M ; D; W, extended symbol (8) of Sect. 2.5.5; 101: Kk ; \^s1d a ðh;hk1 Þ [ k ; Ck ðhÞ; (10.33b) and (10.34b); 102: Kk ; \^s01d ðh;hk1 Þ [ k ; C0 a k ðhÞ; (10.33b) and (10.34b).
Remarks on computer coding—power function The power function considered in Stype = 7 or 8 usually occurs for the problems with singular stresses such as the wedge apex or crack tip considered in Chaps. 5 and 7. In matlab the principal value of the power function is calculated based upon the branch ½p; p, i.e., zd ¼ r d eidx where p x p. Using this branch, the discontinuity is expected to occur at x ¼ p and x ¼ p, which are supposed to be corresponding to the wedge or crack surfaces. If the angle h ¼ h0 was treated as the b i ðh; h0 Þ, i = 1, 2, 3 can be calculated through its eigenvalue, i.e., starting edge of the wedges or cracks, the dth power of N d b l a ðh; h0 Þ ¼ cosðh h0 Þ þ sinðh h0 Þla ðh0 Þ. When h ¼ h0 , b l a ðh; h0 Þ ¼ 1 þ 0 ¼ 1ei0 which means that l a ðh; h0 Þ where b the phase angle of b l a ðh0 ; h0 Þ for the branch ½p; p is 0. In the other words, the starting edge h ¼ h0 does not correspond to the cutting edge of the branch. If we use this branch, the discontinuity may occur for h whose b l a ðh; h0 Þ ¼ reip since d idp d idp r e 6¼ r e when d is in general a complex number and 0\ReðdÞ\1. To make the starting edge h ¼ h0 match with the branch cut, the range of principal values for the power function should be selected as ½0; 2p instead of the usual range ½p; p selected by matlab. The computer code is therefore designed according to if b l a ðh; h0 Þ ¼ reix and x\0;
ð4:37Þ
b da ðh; h0 Þ ¼ ðreix Þd ei2pd : replace x by x þ 2p; and l
b i ðh; h0 Þ; i ¼ 1; 2; 3 are then calculated through the following diagonalization relation instead of the The dth power of N b i ðh; h0 Þ, direct power of N # " 0 lda ðh; h0 Þ [ N1d N2d BT AT A A \^ d b N ðh; h0 Þ ¼ ¼ ð4:38Þ T : T d N3d N4d B A B B 0 \^ la ðh; h0 Þ [ Similarly, its derivatives for Stype = 8 are calculated as follows, " 0 0 \^ l0d N N A A a ðh; h0 Þ [ 0d 1d 2d b ðh; h0 Þ ¼ N ¼ 0 0 N3d N4d B B 0
0 0d \^ la ðh; h0 Þ [
#
BT T B
AT T ; A
ð4:39aÞ
where b a ðh; h0 Þ @b l da ðh; h0 Þ @l ¼ db l d1 a ðh; h0 Þ @h @h ¼ d½cosðh h0 Þ þ sinðh h0 Þlðh0 Þd1 ½ sinðh h0 Þ þ cosðh h0 Þlðh0 Þ:
b l 0d a ðh; h0 Þ ¼
ð4:39bÞ
The matlab code of Stroh_matrices is presented in F195 of Appendix F.
4.4.2 Function—Gauss According to the Gaussian quadrature rule of numerical integration stated in Appendix A.1, the function Gauss is coded and presented in F062 of Appendix F.
4.5 Examples
4.5
117
Examples
4.5.1 Infinite Space Example 1: An Infinite Plate Subjected to Unidirectional Tension Consider an infinite plate subjected to a unidirectional tension r1 = 100 MPa directed at angle 60° from x1 axis. The plate is made of a carbon/epoxy unidirectional fiber-reinforced composite with fibers oriented counterclockwisely 15° from x1-axis. The properties referred to its principal material axes are shown on Example 5 of Table 3.1. Calculate the stresses, strains, and displacements of this plate for a rectangular surface region centered at (0, 0) with width and length equal to 4 and 6 cm. Also, plot the stress contour and deformation for this rectangular region, in which 11 equally distributed points are evaluated in both of x and y directions. Generalized plane stress is assumed for all cases treated in this subsection. To find the solution of this problem, four input files should be prepared as follows. input_control: 1 2 411 2 1 1.0e9 0.001 1.0e–6; 5 0 0 0 input_elastic1: 181e9 10.3e9 7.17e9 0.28 15 input_loadstr: 1 1.0e8 60 input_variable: 1 −0.02 −0.03 0.02 0.03 11 11 0 Example 2: An Infinite Plate Subjected to Inplane Bending Consider an infinite plate subjected to in-plane bending M = 1 N m in a direction at an angle 45° with the positive x1-axis. The plate is made of a graphite/epoxy (T300/5208) orthotropic material. The properties referred to its principal material axes are shown on Example 2 of Table 3.1. The moment of inertia of the plate is I = 103 mm4. Calculate the stresses, strains, and displacements of this plate for 9 discrete points at (−1, −1), (−1, 0), (−1, 1), (0, −1), (0, 0), (0, 1), (1, −1), (1, 0), and (1, 1). To find the solution of this problem, four input files should be prepared as follows. input_control: 1 2 412 3 1 1.0e9 0.001 1.0e–6; 2 0 0 0 input_elastic1: 134e9 11e9 11e9 2.98e9 5.84e9 5.84e9 0.49 0.3 0.3 0 input_loadstr: 1 45 10e–9 input_variable: 9; −1 −1; −1 0; −1 1; 0 −1; 0 0; 0 1; 1 −1; 1 0; 1 1 Example 3: An Infinite Plate Subjected to a Point Force, or Point Moment, or an Edge Dislocation Same plate and same location as those of Example 2 are considered for the calculation of stresses, strains and displacements, except that the ^ 0, 0)mm) ^(1, 1, 0)N (or point moment m ^ ¼ 1 N m, or a dislocation = b(1, inplane bending is replaced by a point force = p applied at the internal point = ^x (0, 0). Thus, four input files should be prepared as follows. input_control: 1 2 413 (or 414 or 415) 3 1 1.0e9 0.001 1.0e–6; 2 0 0 0 input_elastic1: (same as Example 2) input_loadstr:1 1 0 0 0 (or 1 0 0 for case 414, or 0.001 0 0 0 0 for case 415) input_variable: (same as Example 2)
4.5.2 Half Space Example 1: A Half-Space Subjected to a Point Force Inside the Body Consider a semi-infinite half-space subjected to ^(1, 1, 0)N applied at an internal point ^ a point force = p x ¼ ð0; 1Þ m. The half-space is composed of an orthotropic material whose elastic properties are shown in Example 2 of Table 3.1. Calculate the stresses, strains and displacements on the semi-circular boundary with center at (0, 0) and radius 2 m. Ten equally distributed points are selected to be evaluated on the semi-circle. Generalized plane strain is assumed for all cases treated in this subsection. To find the solution of this problem, four input files should be prepared as follows.
118
4
Infinite Space, Half Space and Bi-materials
input_control: 1 2 421 12 1 1.0e9 0.001 1.0e–6; 2 0 0 0 input_elastic1: 134e9 11e9 11e9 2.98e9 5.84e9 5.84e9 0.49 0.3 0.3 0 input_loadstr: 1 1 0 0 −1 input_variable: 2 0 0 2 0 −180 10 ^ is Example 2: A Half Space Subjected to a Point Force on Surface Same as Example 1 except that the point force p now applied on ^x ¼ ð2; 0Þ m which is a point on the surface of half-space. Thus, four input files should be prepared as follows. input_control: 1 2 422 11 1 1.0e9 0.001 1.0e–6; 2 0 0 0 input_elastic1: 134e9 11e9 11e9 2.98e9 5.84e9 5.84e9 0.49 0.3 0.3 0 input_loadstr: 1 1 0 2 0 input_variable: 2 0 0 2 0 −180 10 Example 3: A Half Space Subjected to a Distributed Load on Surface The half-space is subjected to a parabolically distributed load of intensity ^p2 ðxÞ ¼ 4qxð‘ xÞ=‘2 where q ¼ 100 N/m2 and ‘ ¼ 5m. If the material properties and the points to be evaluated are the same as Example 1, to get the solutions for this problem four input files should be prepared as follows. input_control: 1 2 423 11 1 1.0e9 0.001 1.0e–6; 2 0 0 0 input_elastic1: 134e9 11e9 11e9 2.98e9 5.84e9 5.84e9 0.49 0.3 0.3 0 input_loadstr: 2 0 5 16; 0 0 0; 0 80 −16; 0 0 0 input_variable: 2 0 0 2 0 −180 10 Example 4: A Half Space Subjected to a Point Moment Inside the Body Same as Example 1 except that the point ^ ¼ 1 N m. Thus, four input files should be prepared as follows. force is replaced by a point moment m input_control: 1 2 424 11 1 1.0e9 0.001 1.0e–6; 2 0 0 0 input_elastic1: 134e9 11e9 11e9 2.98e9 5.84e9 5.84e9 0.49 0.3 0.3 0 input_loadstr: 1 0 −1 input_variable: 2 0 0 2 0 −180 10 Example 5: A Half Space Subjected to an Edge Dislocation Inside the Body Same as Example 1 except that the point ^ (1, 0, 0) mm. Thus, four input files should be prepared as follows. force is replaced by an edge dislocation b= input_control: 1 2 425 11 1 1.0e9 0.001 1.0e–6; 2 0 0 0 input_elastic1: 134e9 11e9 11e9 2.98e9 5.84e9 5.84e9 0.49 0.3 0.3 0 input_loadstr: 0.001 0 0 0 −1 input_variable: 2 0 0 2 0 −180 10
4.5.3 Bi-materials Example 1: A Bi-material Subjected to a Point Force and Dislocation Inside the Body Consider a bi-material made by two dissimilar anisotropic materials whose elastic properties are given in Examples 5 and 6 of Table 3.1 with fibers ^(1, 2, 0) N is applied at point oriented counterclockwisely −45° and 45° from x-axis, respectively. If a point force = p ^x ¼ ð1; 1Þm, calculate the stresses, strains and displacements for a circular region centered at (0, 0) with radius 2 m. Also, plot the stress contour and deformation for this circular region, in which 5 equally distributed points are evaluated in radial direction and 10 equally distributed points are evaluated in circumferential direction. Generalized plane stress is assumed for all cases treated in this subsection. To find the solution of this problem, four input files should be prepared as follows.
4.5 Examples
119
input_control: 2 1 431 2 1 1.0e9 0.001 1.0e–6; 5 0 0 0; 5 0 0 0 input_elastic1: 181e9 10.3e9 7.17e9 0.28 −45 input_elastic2: 138e9 9e9 6.9e9 0.3 45 input_loadstr: 1 2 0 0 0 0 1 1 input_variable: 2 0 0 0 0 2 360 5 10 Example 2: A Bi-material Subjected to a Point Force and Dislocation on the Interface Same as the previous example except that the interface is now inclined by angle 30° from x1-axis and the point force is applied on the interface. To solve this problem, the input files should be prepared as follows. input_control: 2 1 432 2 1 1.0e9 0.001 1.0e–6; 5 0 0 0; 5 0 0 0 input_elastic1: 181e9 10.3e9 7.17e9 0.28 −45 input_elastic2: 138e9 9e9 6.9e9 0.3 45 input_loadstr: 1 2 0 0 0 0 30 input_variable: 2 0 0 1e–9 0 2 360 5 10
References Hwu, C. 2010. Anisotropic elastic plates. New York: Springer. Volterra, V. 1907. Sur l'équilibre des corps élastiques multiplement connexes. Annales scientifiques de l'École Normale Supérieure 24(4): 4 01– 517.
5
Wedges and Interface Corners
The infinite space, half-space or bi-material considered in the previous chapter has at most one straight line boundary. More straight line boundaries are encountered for a wedge with two sides or a multi-material wedge with multiple interfaces and two outer sides. Several different boundary conditions of wedges have been considered and solved in Hwu (2010). Since most of the wedge problems are considered asymptotically around the wedge apex not for the entire region, instead of the complete solutions only certain particular solutions or homogeneous solutions (or called eigenfunctions) are obtained analytically. Sections 5.1 and 5.2 provide particular solutions for the wedges subjected to forces on the edges and apex, and Sect. 5.3 provides the orders of stress singularity as well as eigenfunctions for multi-material wedge spaces and multi-material wedges with four different boundary conditions. The near tip solutions, the unified definition of stress intensity factors, and the path-independent H-integral for interface corners are discussed and coded in Sect. 5.4. Common functions and examples are then presented in the last two sections.
5.1
Uniform Tractions on the Wedge Sides
5.1.1 Non-critical Wedge Angles Consider an anisotropic elastic wedge subjected to uniform tractions, t þ and t , on the sides of the wedge (Fig. 5.1). The wedge is represented by h h h þ ; r 0 in which h and h þ are the polar angles of the two sides, and the wedge angle 2a ¼ h þ h . Since the far-field condition is not specified and only the boundary condition on the wedge sides is considered, the problem is incomplete and hence the associated solution is non-unique. With this understanding, only the particular solutions are provided in this section. A unique solution for the complete problem can be obtained by superimposing all the associated homogeneous solutions (or called eigenfunctions) to the particular solutions. To have a proper classification of the solutions, two parameters ^t and D related to the tractions and wedge angles are defined as ~ 3 ðh þ ; h Þnðh þ Þ: ^t ¼ nT ðh þ Þt þ nT ðh Þt þ ; D ¼ nT ðh ÞN
ð5:1Þ
If ^t ¼ 0, uniform stress solution can be obtained. If D ¼ 0, the associated wedge angle 2ac ¼ hcþ h c is called critical wedge angle. With ^t, D and sin 2a being zero or non-zero, the solution to this problem can be written as follows. u ¼ u1 ; / ¼ /1 ; when ^t ¼ 0; 2a 6¼ p; 2p; u ¼ u2 ; / ¼ /2 ; when ^t ¼ 0; 2a ¼ p; 2p; u ¼ u3 ; / ¼ /3 ; when ^t 6¼ 0; 2a 6¼ p; 2p; 2ac ; u ¼ u4 ; / ¼ /4 ; when ^t 6¼ 0; 2a ¼ p; 2p; u ¼ u5 ; / ¼ /5 ; when ^t 6¼ 0; 2a ¼ 2ac ;
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2021 C. Hwu, Anisotropic Elasticity with Matlab, Solid Mechanics and Its Applications 267, https://doi.org/10.1007/978-3-030-66676-7_5
ð5:2aÞ
121
122
5 Wedges and Interface Corners
Fig. 5.1 Wedge subjected to uniform tractions on the wedge sides
where 1 u1 ¼ r cos he1 1 þ sin he2 ; r sinðh h Þt þ þ sinðh h þ Þt ; /1 ¼ sin 2a u2 ¼ r sinðh h ÞN2 ðh Þt ; /2 ¼ r cosðh h ÞI þ sinðh h ÞNT1 ðh Þ t ; ^ 1 ðh; h Þh0 N ^ 2 ðh; h Þt þ ^t ½ln rI þ pN ~ 1 ðh; h ÞnðhÞ ; u3 ¼ r nN pD o ~ 3 ðh; h ÞnðhÞ ; ^ 3 ðh; h Þh0 N ^ T ðh; h Þt þ ^t N /3 ¼ r N 1
D
ð5:2bÞ
ð5:2cÞ
u4 ; /4 ; u5 ; /5 : shown in Sect. 5:1:2: critical wedge angles: 1 In (5.2b)1, e1 1 and e2 are two vectors defined in (4.4b) which contain the strain components at infinity and can be determined by the stresses at infinity through the stress–strain relation (1.39a). In this problem, when sin 2a 6¼ 0 the stresses 1 þ and t by at infinity expressed by t1 1 and t2 defined in (4.4b) are related to the applied tractions t
t1 1 ¼
1 1 sin h t þ þ sin h þ t : cos h t þ þ cos h þ t ; t1 2 ¼ sin 2a sin 2a
ð5:3Þ
In (5.2c), the coefficient vector h0 is h0 ¼
^ 1 ~ 3 ðh þ ; h Þnðh þ Þ : ^ T ðh þ ; h Þt t N fN3 ðh Þg\1 [ t þ þ N 1 D sin 2a
ð5:4Þ
^ i ðh; aÞ, and N ~ i ðh; aÞ, i = 1, 2, 3, can be found in the extended symbols (3) and The definition of the symbols: nðhÞ, I, Ni ðhÞ, N \1 [ (6) of Sect. 2.5.5. The sub-inverse fN3 ðhÞg is defined as fN3 ðhÞg\1 [ ¼ XT ðhÞfN3 ðhÞg\1 [ XðhÞ;
ð5:5aÞ
5.1 Uniform Tractions on the Wedge Sides
123
where 2
cos h XðhÞ ¼ 4 sin h 0
sin h cosh 0
3 2 0 d 0 \1 [ 0 5; fN3 ðhÞg ¼4 0 0 1 c 0
3 b 0 5=ðad bcÞ; a
ð5:5bÞ
and a, b, c, d are the values determined by 2
a N3 ðhÞ ¼ XðhÞN3 ðhÞXT ðhÞ ¼ 4 0 c
3 0 b 0 0 5: 0 d
ð5:5cÞ
Note that h and h þ of Fig. 5.1 are polar angles instead of the angle of tangential direction defined in Fig. 2.1. And hence, nðh Þ and nðh þ Þ appeared in the formulae are not necessary to be outward normals of wedge sides. For example, in Fig. 5.1 nðh Þ ¼ ð sin h ; cos h ; 0Þ is an inward normal of the wedge side h ¼ h , and nðh þ Þ ¼ ð sin h þ ; cos h þ ; 0Þ is an outward normal of the wedge side h ¼ h þ .
5.1.2 Critical Wedge Angles—s512wedgeUT If ^t 6¼ 0 or the angle of the wedge happens to be p, 2p, or 2ac , the uniform stress solution (5.2b) and the bounded nonuniform stress solution (5.2c) cannot be applied. The particular solutions to these cases are (Hwu 2010). (i) When 2a ¼ p and t þ t is parallel to the direction of Lnðh Þ or when 2a ¼ 2p and t þ þ t is parallel to the direction of Lnðh Þ: ^ 2 ðh; h Þt þ k½ln rI þ pN ~ 1 ðh; h ÞnðhÞ ; u 4 ¼ r N n T o ð5:6aÞ ^ ðh; h Þt þ kpN ~ 3 ðh; h ÞnðhÞ ; / 4 ¼ r N 1 where k is a parameter defined by t þ t ¼ kpLnðh Þ; when 2a ¼ p; t þ t ¼ 2kpLnðh Þ; when 2a¼ 2p: þ
ð5:6bÞ
(ii) When 2a ¼ p and t þ t is not parallel to the direction of Lnðh Þ or when 2a ¼ 2p and t þ þ t is not parallel to the direction of Lnðh Þ: ^ 2 ðh; h Þt þ f½ln rI þ pN ~ 1 ðh; h ÞN ^ 1 ðh; h Þ þ pN ~ 2 ðh; h ÞN ^ 3 ðh; h Þgh0 ; u4 ¼ r N n T o ð5:7aÞ ^ ðh; h Þt þ f½ln rI þ pN ~ T ðh; h ÞN ^ 3 ðh; h Þ þ pN ~ 3 ðh; h ÞN ^ 1 ðh; h Þgh0 ; /4 ¼ r N 1 1 where h0 is a coefficient vector defined by 1 h0 ¼ L1 ðt þ t Þ; when 2a ¼ p; p 1 h0 ¼ L1 ðt þ þ t Þ; when 2a ¼ 2p: 2p
ð5:7bÞ
124
5 Wedges and Interface Corners
(iii) When 2a ¼ 2ac , u5 ¼ r p1 ðhÞ þ ^h0 p2 ðhÞ þ ln rp3 ðhÞ þ /5 ¼ r q1 ðhÞ þ ^h0 q2 ðhÞ þ ln rq3 ðhÞ þ
1 ðln rÞ2 nðhÞ ; 2 1 ðln rÞ2 nðhÞ ; 2
ð5:8aÞ
where T ^h0 ¼ n ðh Þk1 ; p1 ðhÞ ¼ N ^ 1 ðh; h Þh1 N ^ 2 ðh; h Þt ; nT ðh Þk2
~ 2 ðh; h ÞN ^ 3 ðh; h Þ þ N ~ 1 ðh; h ÞN ^ 1 ðh; h Þ k0 p2 ðhÞ ¼ p N i p2 h ~ 2 ~ 2 ðh; h ÞN ~ 3 ðh; h Þ nðhÞ; N1 ðh; h Þ þ N þ 2 ^ 1 ðh; h Þk0 þ pN ~ 1 ðh; h ÞnðhÞ; p3 ðhÞ ¼ N
ð5:8bÞ
^ 3 ðh; h Þh1 N ^ T ðh; h Þt ; q1 ðhÞ ¼ N 1 h i ~ 3 ðh; h ÞN ^ 1 ðh; h Þ þ N ~ T ðh; h ÞN ^ 3 ðh; h Þ k0 q2 ðhÞ ¼ p N 1 i p2 h ~ ~ 1 ðh; h Þ þ N ~ T ðh; h ÞN ~ 3 ðh; h Þ nðhÞ; N3 ðh; h ÞN þ 1 2 ^ ~ 3 ðh; h ÞnðhÞ: q3 ðhÞ ¼ N3 ðh; h Þk0 þ pN
ð5:8cÞ
In (5.8b) and (5.8c), the coefficient vectors k0 , k1 , k2 , and h1 are p ~ 3 ðh þ ; h Þnðh þ Þ; fN3 ðh Þg\1 [ N sin 2ac ^ T ðh þ ; h Þt ; k1 ¼ t þ þ N 1 ~ 3 ðh þ ; h ÞN ^ 1 ðh þ ; h Þk0 k2 ¼ pN k0 ¼
p2 ~ þ ~ þ þ þ ~T þ ~ ½N 3 ðh ; h ÞN1 ðh ; h Þ N1 ðh ; h ÞN3 ðh ; h Þnðh Þ; 2 1 fN3 ðh Þg\1 [ k1 þ ^ h0 k2 : h1 ¼ sin 2ac
ð5:8dÞ
Remarks on computer coding (i) Inverse trigonometric function As stated in Sect. 4.1.3, if the polar angle h is expected to be ranged in the full domain of ½p; p, the computer code should be designed by using (4.12). Similarly, if the designer prefers the users assign the polar angle within the region of ½h0 ; h0 þ 2p, the computer code should be modified by h ¼ h0 þ h
ð5:9aÞ
where h is the polar angle of the rotated coordinate x1 x2 , i.e., if x2 0; if x2 \0;
h ¼ cos1 ðx1 =rÞ; h ¼ 2p cos1 ðx1 =rÞ:
ð5:9bÞ
5.1 Uniform Tractions on the Wedge Sides
125
and x1 ¼ x1 cos h0 þ x2 sin h0 ;
x2 ¼ x1 sin h0 þ x2 cos h0 ;
r¼
qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ðx1 Þ2 þ ðx2 Þ2 :
ð5:9cÞ
(ii) Calculation of strains and stresses As stated in (4.2a–4.2e), the strains and stresses can be obtained from the derivatives of u and / with respect to x1 and x2. To describe the behavior near the wedge apex, most of the solutions presented in this chapter are written in terms of the polar coordinate. Thus, the differentiation with respect to x1 and x2 should be performed by using the chain rule, i.e., @f @f @r @f @h ¼ þ ; @x1 @r @x1 @h @x1 @f @f @r @f @h f;2 ¼ ¼ þ ; @x2 @r @x2 @h @x2
ð5:10aÞ
@r x1 @h x2 @r x2 @h x1 ¼ ; ¼ 2 ; ¼ ; ¼ 2: @x1 @x2 r @x1 r r @x2 r
ð5:10bÞ
f;1 ¼
where f can be u or /, and
Performing the differentiation (5.10a, 5.10b) with u and / given in (5.2a, 5.2b, 5.3c), (5.6a, 5.6b)–(5.8a–5.8d), their derivatives for five different cases are obtained as follows. When ^t ¼ 0; 2a 6¼ p; 2p: associated with (5.2b)1,2 and (5.3), 1 1 1 u;1 ¼ e1 1 ; u;2 ¼ e2 ; /;1 ¼ t2 ; /;2 ¼ t1 :
ð5:11aÞ
When ^t ¼ 0; 2a ¼ p; 2p: associated with (5.2b)3,4, ^ 2 ðbi ; h Þt ; /;i ¼ N ^ T ðbi ; h Þt ; i ¼ 1; 2: u;i ¼ N 1
ð5:11bÞ
When ^t 6¼ 0; 2a 6¼ p; 2p; 2ac : associated with (5.2c), ^ 1 ðbi ; h Þh0 N ^ 2 ðbi ; h Þt þ ^t ðln r þ 1ÞI þ pN ~ 1 ðh; h Þ ei ; u;i ¼ N pD ~ 3 ðh; h Þei ; i ¼ 1; 2: ^ 3 ðbi ; h Þh0 N ^ T ðbi ; h Þt þ ^t N /;i ¼ N 1
ð5:11cÞ
D
When ^t 6¼ 0; 2a ¼ p; 2p: associated with (i) (5.6a, 5.6b) and (ii) (5.7a, 5.7b), (i)
(ii)
^ 2 ðbi ; h Þt þ kfðln r þ 1ÞI þ pN ~ 1 ðh; h Þgei ; u;i ¼ N T ^ ðbi ; h Þt þ kpN ~ 3 ðh; h Þei ; i ¼ 1; 2; /;i ¼ N 1
ð5:11dÞ
n o ^ 2 ðbi ; h Þt þ ln r N ^ 1 ðbi ; h Þ þ pN ~ ðh; bi Þ þ N ^ ðbi ; hÞ h0 ; u;i ¼ N 1 1 n o ^ T ðbi ; h Þt þ ln r N ^ 3 ðbi ; h Þ þ pN ~ ðh; bi Þ þ N ^ ðbi ; hÞ h0 ; i ¼ 1; 2: /;i ¼ N 1 3 3
ð5:11eÞ
126
5 Wedges and Interface Corners
When ^t 6¼ 0; 2a ¼ 2ac : associated with (5.8a–5.8d), n o ^ 1 ðbi ; h Þh1 N ^ 2 ðbi ; h Þt þ ^ h0 p2 ðbi ; h Þ þ ln rp3 ðbi ; h Þ þ 12 ðln rÞ2 ei ; u;i ¼ N n o 2 1 ^ 3 ðbi ; h Þh1 N ^ T ðbi ; h Þt þ ^ h q ðb ; h Þ þ ln rq ðb ; h Þ þ ðln rÞ e /;i ¼ N 0 i ; i ¼ 1; 2: 2 i 3 i 1 2
ð5:11fÞ
In the above, h i h i ~ ð2Þ ðh; h Þ ei ; ~ ðh; bi Þ þ N ^ ðbi ; hÞ k0 þ p N ~ 1 ðh; h Þ þ p N p2 ðbi ; hÞ ¼ pN 1 1 1 2
^ 1 ðbi ; h Þk0 þ I þ pN ~ 1 ðh; h Þ ei ; p ðbi ; hÞ ¼ N
ð5:12aÞ
h i h i ~ ð2Þ ðh; h Þ ei ; ~ ðh; bi Þ þ N ^ ðbi ; hÞ k0 þ p N ~ 3 ðh; h Þ þ p N q2 ðbi ; hÞ ¼ pN 3 3 2 3
^ 3 ðbi ; h Þk0 þ I þ pN ~ 3 ðh; h Þ ei ; q ðbi ; hÞ ¼ N
ð5:12bÞ
3
3
~ ðh; bi Þ ¼ N ~ 1 ðh; h ÞN ^ 1 ðbi ; h Þ þ N ~ 2 ðh; h ÞN ^ 3 ðbi ; h Þ; N 1 ^ ðbi ; hÞ ¼ N ^ 1 ðbi ; hÞN ^ 1 ðh; h Þ þ N ^ 2 ðbi ; hÞN ^ 3 ðh; h Þ; N
1 ð2Þ ~ ðh; h Þ N 1
¼
ð5:12cÞ
~ 2 ðh; h Þ þ N ~ 2 ðh; h ÞN ~ 3 ðh; h Þ; N 1
~ T ðh; h ÞN ^ 3 ðbi ; h Þ þ N ~ 3 ðh; h ÞN ^ 1 ðbi ; h Þ; ~ ðh; bi Þ ¼ N N 3 1 ^ ðbi ; hÞ ¼ N ^ T ðbi ; hÞN ^ 3 ðh; h Þ þ N ^ 3 ðbi ; hÞN ^ 1 ðh; h Þ; N 3 1 ~ ð2Þ ðh; h Þ N 3
~ 3 ðh; h ÞN ~ 1 ðh; h ¼N
ð5:12dÞ
~ T ðh; h ÞN ~ 3 ðh; h Þ; ÞþN 1
and b1 ¼ 0; b2 ¼ p=2; e1 ¼ i2 ; e2 ¼ i1 :
ð5:12eÞ
Note that the symbols defined in (5.12a–5.12e) will be used in the entired chapter without further notification. From Eq. (5.2a) we see that once the wedge angles (h þ ; h ) and the applied loads (t þ ; t ) are known, the solution type can be determined through their related values of 2a and ^t. Based upon these two parameters, the solutions are categorized into 5 types, i.e., Wtype = 1 for ^t ¼ 0; 2a 6¼ p; 2p, Wtype = 2 for ^t ¼ 0; 2a ¼ p; 2p, Wtype = 3 for ^t 6¼ 0; 2a 6¼ p; 2p; 2ac , Wtype = 4 for ^t 6¼ 0; 2a ¼ p; 2p, and Wtype = 5 for ^t 6¼ 0; 2a ¼ 2ac . According to the direction of t þ t , Wtype = 4 is further divided into Wtype = 41 and 42, calculating the solutions of (5.6a) and (5.7a), respectively. With this categorization, the matlab code of function s512wedgeUT is designed and presented in F115 of Appendix F. According to the above matlab code, to run the computer program the input file input_loadstr for getting the load and structure information should be prepared as follows: h ; h þ ; t1 ; t2 ; t3 ; t1þ ; t2þ ; t3þ . Note that the unit of h ; h þ is degree which will be converted to radian in the computer code. For the convenience of users the units of angles for the input data of all the functions designed in this computer program will then be set as degree instead of radian.
5.2
Forces at the Wedge Apex
5.2.1 A Single Wedge Under a Point Force—s521wedgePF ^ at the wedge apex (Fig. 5.2). If the Consider an anisotropic elastic wedge of wedge angle 2a subjected to a point force p wedge sides are traction-free, the solution to this problem has been found to be 2 u ¼ RefA\ ln za [ BT gh; p
2 / ¼ RefB\ ln za [ BT gh; p
ð5:13aÞ
5.2 Forces at the Wedge Apex
127
Fig. 5.2 Wedge subjected to a point force
where ~ 3 ðh þ ; h Þ1 p ^: h ¼ ½N
ð5:13bÞ
Equations (5.13a, 5.13b) can be written in real form as u¼
1 ~ 1 ðhÞ h; ðln rÞI þ pN p
~ 3 ðhÞh: /¼N
ð5:14Þ
Using chain rule (5.10a, 5.10b), the derivatives of u and / are obtained as u;i ¼
1 ^ 1 ^ N1 ðbi ; hÞh; /;i ¼ N 3 ðbi ; hÞh; i ¼ 1; 2: pr pr
ð5:15Þ
Based upon the solutions provided in (5.13a, 5.13b) and (5.14), function s521wedgePF is designed and presented in F116 p1 ; ^ p2 ; ^ p3 . of Appendix F. The input file for load and structure information is input_loadstr: h ; h þ ; ^
5.2.2 A Single Wedge Under a Point Moment—s522wedgePM ^ (counterclockwise) at the wedge apex and the wedge sides are traction-free If the wedge is under a point moment m (Fig. 5.3), the solution to this problem can be written as follows. (i) When 2a 6¼ 2ac : ^ ^ ^ ^ m m N1 ðh ; hÞnðh þ Þ; / ¼ N3 ðh ; hÞnðh þ Þ; prD prD ^ ^ ð1Þ ^ ^ ð1Þ m m u;i ¼ 2 N ðbi ; hÞnðh þ Þ; /;i ¼ 2 N ðbi ; hÞnðh þ Þ; i ¼ 1; 2; pr D 1 pr D 3
u¼
ð5:16aÞ
128
5 Wedges and Interface Corners
Fig. 5.3 Wedge subjected to a point moment
where ^ ð1Þ ðbi ; hÞ ¼ N ^ 1 ðbi ; hÞN ^ 1 ðh ; hÞ þ N ^ 2 ðbi ; hÞN ^ 3 ðh ; hÞ; N 1 ^ ð1Þ ðbi ; hÞ ¼ N ^ T ðbi ; hÞN ^ 3 ðh ; hÞ þ N ^ 3 ðbi ; hÞN ^ 1 ðh ; hÞ: N 3 1
ð5:16bÞ
(ii) When 2a ¼ 2ac : o k0 n ^ ^ 1 ðh ; hÞh1 þ pN ~ ðhÞnðh þ Þ ; ln r N1 ðh ; hÞnðh þ Þ þ N 1 r o k0 n ^ ^ 3 ðh ; hÞh1 þ pN ~ ðhÞnðh þ Þ ; /¼ ln r N3 ðh ; hÞnðh þ Þ þ N 3 r o
k0 n ^ ð1Þ þ þ þ M ðb ; hÞ ðln r 1Þnðh Þ þ h ðb ; hÞnðh Þ ; u;i ¼ 2 N 1 1 i i 1 r n o
k0 ^ ð1Þ /;i ¼ 2 N ðbi ; hÞ ðln r 1Þnðh þ Þ þ h1 þ M3 ðbi ; hÞnðh þ Þ ; i ¼ 1; 2; 3 r u¼
ð5:17aÞ
ð5:17bÞ
where ~ ðhÞ ¼ N ~ 1 ðh; h ÞN ^ 1 ðh ; hÞ þ N ~ 2 ðh; h ÞN ^ 3 ðh ; hÞ; N 1 ~ ðhÞ ¼ N ~ T ðh; h ÞN ^ 3 ðh ; hÞ þ N ~ 3 ðh; h ÞN ^ 1 ðh ; hÞ; N 3 1 ~ 1 ðh; h ÞN ^ ð1Þ ðbi ; hÞ þ N ~ 2 ðh; h ÞN ^ ð1Þ ðbi ; hÞ; M1 ðbi ; hÞ ¼ p½N 1 3 ~ 3 ðh; h ÞN ^ ð1Þ ðbi ; hÞ þ N ~ T ðh; h ÞN ^ ð1Þ ðbi ; hÞ; M3 ðbi ; hÞ ¼ p½N 1 1 3 k0 ¼
^ m ; c0 þ c1
h1 ¼
p ~ 3 ðh þ ; h Þnðh Þ; N3 ðh þ Þ\1 [ N 2 sin 2ac
ð5:17cÞ
ð5:17dÞ
ð5:17eÞ
5.2 Forces at the Wedge Apex
129
and 8 hþ 9
> Zh Zh = < u ¼ ln rI þ N1 ðxÞdx h; / ¼ ½ N3 ðxÞdxh; > > ; : ð5:19aÞ h0 h0 1^ u;i ¼ N 1 ðbi ; hÞh; r
1^ /;i ¼ N 3 ðbi ; hÞh; r
where Zhn h¼½
^: N3 ðxÞdx1 p
ð5:19bÞ
h0
Because the results of (5.18a, 5.18b) and (5.19a, 5.19b) for the multi-material wedge spaces and multi-material wedges are valid for any number of wedges and no restriction has been made for the wedge angles, it is reasonable to expect that these results are also applicable for angularly inhomogeneous spaces and wedges. Based upon the solutions provided in (5.19a, 5.19b), function s524MwedgePF is designed and presented in F119 of Appendix F. The input file for load and structure information is input_loadstr: ^p1 ; ^p2 ; ^p3 ; h0 ; h1 ; . . .; hn .
Fig. 5.5 A multi-material wedge subjected to a point force
5.3 Stress Singularities
5.3
131
Stress Singularities
To consider the stress singularity at wedge apex, the complex function vector fðzÞ of the general solution (2.6a) is assumed as fðzÞ ¼ \z1d [ g where d is the singular order to be determined from the boundary conditions, and g is its associated a coefficient vector. Consideration of the singularity of stresses and the boundedness of strain energy, only the region 0\ReðdÞ\1 is interested for the following discussions.
5.3.1 Multi-material Wedge Spaces Consider a multi-material wedge space as shown in Fig. 5.4. The displacement and traction continuity conditions along all the interfaces between two dissimilar wedges can be satisfied only when kKe Ik ¼ 0;
ð5:20Þ
whose roots will then lead to the orders of stress singularity d. In (5.20), the matrix Ke is defined as Ke ¼
n Y
Enk þ 1 ¼ En En1 . . .E1 ;
1d
^ ðhk ; hk1 Þ; Ek ¼ N k
ð5:21Þ
k¼1
^ k ; hk1 Þ of the kth wedge, which can be calculated by using the ^ 1d ðhk ; hk1 Þ is the ð1 dÞ th power of Nðh where N k definition given in the extended symbol (6) of Sect. 2.5.5, or through the following diagonalization relation for the kth wedge # " 1d ðh ; h Þ [ 0 \^ l 1d k k1 BT AT A A a ^ N ðhk ; hk1 Þ ¼ ð5:22Þ T ; T 1d B A B B 0 \^ la ðhk ; hk1 Þ [ whose calculation has been stated in Sect. 4.4.1 for function Stroh_matrices.
5.3.2 Multi-material Wedges Consider a multi-material wedge for which the surfaces at h ¼ h0 and hn are traction free or fixed. The orders of stress singularity can be determined by ð3Þ K ¼ 0; for free-free wedge (free at h ¼ h0 and h ¼ hn Þ; e ð2Þ K ¼ 0; for fixed-fixed wedge (fixed at h ¼ h0 and h ¼ hn Þ; e ð5:23Þ ð1Þ K ¼ 0; for free-fixed wedge (free at h ¼ h0 and fixed at h ¼ hn Þ; e ð4Þ K ¼ 0; for fixed-free wedge (fixed at h ¼ h0 and free at h ¼ hn Þ; e
where KðiÞ e ; i ¼ 1; 2; 3; 4 are four 3 3 submatrices of Ke defined by " # ð2Þ Kð1Þ e Ke Ke ¼ : ð4Þ Kð3Þ e Ke
ð5:24Þ
132
5 Wedges and Interface Corners
5.3.3 Eigenfunctions—s533MwedgeSOE The eigenfunction here means the homogeneous solution associated with the problems of multi-material wedges. For example, the eigenfunctions of a free-free single wedge are the homogeneous solutions to the problems discussed in Sect. 5.1. If a particular solution such as the one presented in Sect. 5.1 is obtained, a unique solution for the complete problem can be obtained by superimposing all the associated eigenfunctions to the particular solutions. For the multi-material problems, the eigenfunctions have been obtained as (Hwu 2012) ( ) ( ) uk ðr; hÞ u0 1d ^ ðh; hk1 ÞðKe Þ ; k ¼ 1; 2; 3; . . .; n; ð5:25Þ ¼ r 1d N k k1 /k ðr; hÞ /0 in which the subscript k denotes the value related to the kth wedge, and ðKe Þk1 is a 6 6 matrix defined by 8 k ¼ 1; < I; k1 Q 1d ðKe Þk1 ¼ ^ ðhki ; hki1 Þ; k ¼ 2; 3; . . .; n; N : ki
ð5:26Þ
i¼1
where I is an identity matrix. u0 and /0 of (5.25) are two coefficient vectors related to the values of u1 ðr; hÞ and /1 ðr; hÞ at angle h0 , and are determined through the eigenrelation of singular orders, i.e., bonded: ðKe IÞw0 ¼ 0; w0 ¼ ðu0 /0 ÞT ; ð3Þ free-free: Ke u0 ¼ 0; /0 ¼ 0; fixed-fixed: Kð2Þ u0 ¼ 0; e /0 ¼ 0; free-fixed: Kð1Þ u ¼ 0; /0 ¼ 0; 0 e fixed-free: Kð4Þ / ¼ 0; u0 ¼ 0: 0 e
ð5:27Þ
With the eigenfunctions (5.25), their derivatives which are necessary for the calculation of stresses and strains can be written as ( ) ( ) uk ðr; hÞ u0 @ d ^ 1d ; ¼ ð1 dÞr Nk ðh; hk1 ÞðKe Þk1 @r /k ðr; hÞ /0 ( ) ( ) ð5:28Þ uk ðr; hÞ u0 @ d ^ 01d ; k ¼ 1; 2; 3; . . .; n; ¼ r Nk ðh; hk1 ÞðKe Þk1 r@h /k ðr; hÞ /0 ^ 01d ðh; hk1 Þ can be calculated numerically by the relations shown in (4.38) and (4.39). ^ 1d ðh; hk1 Þ and N in which N k k With the eigenvector ðu0 ; /0 Þ obtained in (5.27), by performing the matrix multiplication the eigenfunctions (5.25) can be expressed in the following simple form uk ðr; hÞ ¼ r 1d uk ðhÞ; ^
^
/k ðr; hÞ ¼ r 1d /k ðhÞ;
k ¼ 1; 2; 3; . . .; n:
ð5:29Þ
Since the subscript denoting the kth wedge can be reflected by the position of polar angle h, for the convenience of following presentation the subscript k is omitted. Also, to absorb the factor 1 d appeared after the differentiation of /, the eigenfunctions and their derivatives, (5.29) and (5.28), can be further rewritten as cr 1d gðhÞ; 1d cr 1d kðhÞ; /¼ 1d u¼
@u ¼ cr d gðhÞ; @r @/ ¼ cr d kðhÞ; @r
@u cr d 0 ¼ g ðhÞ; r@h 1 d @/ cr d 0 ¼ k ðhÞ; r@h 1 d
ð5:30Þ
5.3 Stress Singularities
133
where c is a factor of eigenfunction and ^
^
gðhÞ ¼ ð1 dÞuðhÞ; kðhÞ ¼ ð1 dÞ/ðhÞ:
ð5:31Þ
Based upon the solutions stated in these three subsections, we see that the eigenrelations given in Eq. (5.27) are the essential relations for the determination of singular orders and eigenfunctions. The key steps to get the solutions from (5.27) ^ 01d ðh; hk1 Þ through function Stroh_matrices stated in Sect. 4.4.1, (2) finding the ^ 1d ðh; hk1 Þ and N are: (1) calculating N k
k
roots of jjKðdÞjj ¼ 0 by Muller’s method (see Appendix A.3.2), and (3) solving the eigenvectors of Kx ¼ 0 by a matlab function svd for singular value decomposition. Following these steps, four auxiliary functions are used to assist the calculation. They are muller, multiwedge, delta3W and deltaM. Function muller is a common function designed for searching roots by the Muller’s method (see F080 of Appendix F for the computer code), whereas multiwedge is for the calculation of matrices appeared in (5.25), (5.26) and (5.28) and their related determinants and derivatives, and delta3W and deltaM are functions for the calculation of singular orders. With these four auxiliary functions, function s533MwedgeSOE is designed and presented in F120 of Appendix F. The input file for load and structure information is input_loadstr: BC; h0 ; h1 ; . . .; hn ; nd ; d0 ; d1 ; d2 ; TOLd ; TOLf ; Maxi whose definitions are as follows: (1) BC denotes the boundary condition, and BC = 0 for wedge space, BC = 1 for free-fixed, BC = 2 for fixed–fixed, BC = 3 for free-free, BC = 4 for fixed-free, (2) h0 ; h1 ; . . .; hn : position of each wedge (see Figs. 5.4 and 5.5), (3) nd : trial number used in Muller’s method for finding the roots of singular orders, suggested value = 10, (4) d0 ; d1 ; d2 : three initial guesses used in Muller’s method for searching the singular orders, suggested values = 0.001, 0.1, 0.2, (5) TOLd ; TOLf : convergence tolerance for the singular order and its associated function (such as ð2Þ ð3Þ ð4Þ , K , K , K of (5.23)), suggested values = 10–4, 10–6, (4) Maxi : maximum kKe Ik of (5.20), and Kð1Þ e e e e number of iteration used in Muller’s method, suggested value = 20.
5.4
Stress Intensity Factors
5.4.1 Near Tip Field Solutions The eigenfunctions given in (5.25) are valid for the interface corners whose singular orders da ; a ¼ 1; 2; 3; may be repeated or distinct, real or complex, and their associated eigenvectors ðu0 ; /0 Þa ;a ¼ 1; 2; 3 should be independent each other. If one of the singular orders da is a repeated root and no enough independent eigenfunctions exist, the complete near tip solutions should be modified by the inclusion of generalized eigenfunctions and the logarithmic singularity will then be included. If there are less than three singular orders in the range of 0\Reðda Þ\1 and hence less than three independent eigenfunctions ka , we may take the non-singular orders from the range Reðda Þ\0 as the additional one to get the complete eigenfunctions (see the examples illustrated in (Hwu and Huang 2012)). If there are more than three singular orders in the range of 0\Reðda Þ\1, just take the first three critical singular orders and their associated eigenfunctions (no such example has been found). Therefore, when the eigenfunctions associated with the singular orders da are independent each other, the complete near tip solutions of interface corners can be obtained by superimposing all the eigenfunctions (5.30) as c1 r 1d1 g ðhÞ þ 1 d1 1 c1 r 1d1 k1 ðhÞ þ /ðr; hÞ ¼ 1 d1 uðr; hÞ ¼
c2 r 1d2 g ðhÞ þ 1 d2 2 c2 r 1d2 k2 ðhÞ þ 1 d2
c3 r 1d3 g ðhÞ; 1 d3 3 c3 r 1d3 k3 ðhÞ: 1 d3
ð5:32Þ
Or, in matrix form uðr; hÞ ¼ VðhÞ\
r 1da [ c; 1 da
/ðr; hÞ ¼ KðhÞ\
r 1da [ c; 1 da
ð5:33aÞ
134
5 Wedges and Interface Corners
where
VðhÞ ¼ ½g1 ðhÞ g2 ðhÞ g3 ðhÞ;
KðhÞ ¼ ½k1 ðhÞ k2 ðhÞ k3 ðhÞ;
8 9 > = < c1 > c ¼ c2 : > ; : > c3
ð5:33bÞ
The modified near tip solutions associated with the logarithmic singularity can be found in Hwu (2012).
5.4.2 Unified Definition—s542MwedgeNTS Through the near tip solutions (5.33a, 5.33b), it is observed that the coefficients c1 , c2 and c3 are the scalars measuring the intensity of stress singularity, and may be treated as stress intensity factors. However, due to the unit and direction problems, they are not good candidates for the definition of stress intensity factors. To have a proper unified definition applicable for all possible cases of interface corners (including cracks, interface cracks, corners and interface corners), a new definition of the stress intensity factors k has been proposed, which is related to the coefficient c by 9 8 > = pffiffiffiffiffiffiffiffi < KII > k¼ KI ¼ 2p‘K\‘da [ c; ð5:34Þ > > ; : KIII where K ¼ Kð0Þ; KII ; KI ; KIII are, respectively, the stress intensity factors of shearing mode, opening mode and tearing mode; ‘ is a length parameter which may be chosen arbitrarily as long as it is held fixed when specimens of a given material pair are compared. In application, for crack problems the reference length ‘ is usually selected to be the crack length. Note that the one proposed here is different from the one stated in Hwu and Kuo (2007), Hwu (2010). The detailed discussions about the improvement of the present definition can be found in Hwu and Huang (2012), Hwu (2012). Through the relation (5.34), the near tip solutions (5.33a, 5.33b) and their derivatives can be further rewritten in terms of k as r ðr=‘Þda uðr; hÞ ¼ pffiffiffiffiffiffiffiffi VðhÞ\ [ K1 k; 1 da 2p‘ r ðr=‘Þda /ðr; hÞ ¼ pffiffiffiffiffiffiffiffi KðhÞ\ [ K1 k; 1 da 2p‘
ð5:35aÞ
o 1 n u;1 ðr; hÞ ¼ pffiffiffiffiffiffiffiffi cos hVðhÞ sin hV0 ðhÞ\ð1 da Þ1 [ \ðr=‘Þda [ K1 k; 2p‘ o 1 n u;2 ðr; hÞ ¼ pffiffiffiffiffiffiffiffi sin hVðhÞ þ cos hV0 ðhÞ\ð1 da Þ1 [ \ðr=‘Þda [ K1 k; 2p‘ o 1 n /;1 ðr; hÞ ¼ pffiffiffiffiffiffiffiffi cos hKðhÞ sin hK0 ðhÞ\ð1 da Þ1 [ \ðr=‘Þda [ K1 k; 2p‘ o 1 n /;2 ðr; hÞ ¼ pffiffiffiffiffiffiffiffi sin hKðhÞ þ cos hK0 ðhÞ\ð1 da Þ1 [ \ðr=‘Þda [ K1 k: 2p‘
ð5:35bÞ
and
By using the relation (2.19), the stresses in polar coordinate obtained from (5.35a)2 are 1 rðr; hÞ ¼ pffiffiffiffiffiffiffiffi XðhÞKðhÞ\ðr=‘Þda [ K1 k; 2p‘
ð5:36aÞ
5.4 Stress Intensity Factors
135
where 9 8 2 > cos h = < rrh ðr; hÞ > rðr; hÞ ¼ rhh ðr; hÞ ; XðhÞ ¼ 4 sin h > > ; : 0 rh3 ðr; hÞ
3 sin h 0 cosh 0 5: 0 1
From (5.36a), we see that the stress intensity factor k can be defined as pffiffiffiffiffiffiffiffi k ¼ lim 2p‘K\ðr=‘Þda [ K1 rðr; hÞ: r!0 h¼0
ð5:36bÞ
ð5:37Þ
Note that although the values of stress intensity factors depend on the selection of the reference length, it is not difficult to transform their values from one reference length to the other reference length. If kð‘1 Þ and kð‘2 Þ denote the stress intensity factors calculated by using reference lengths ‘1 and ‘2 , respectively, their relation can be found from the definition (5.37), which is pffiffiffiffiffiffiffiffiffiffiffi kð‘2 Þ ¼ ‘2 =‘1 K\ð‘1 =‘2 Þda [ K1 kð‘1 Þ: ð5:38Þ The definition (5.37) is the one based upon the stresses along h ¼ 0. For crack problems, h ¼ 0 is usually selected to be the direction lying along the cracks since the stress components of r, ðrrh ; rhh ; rh3 Þ, will behave as shearing, tensile and tearing stresses applied on cracks. For sharp notches (corners in homogeneous materials), it seems that no such preferred direction can be selected as h ¼ 0 for the consideration of notch fracture initiation. If we choose h ¼ 0 arbitrarily, the value defined by (5.37) will be different. To know the relations for these different values, h ¼ 0 is fixed at the direction of x1 -axis, and the stress intensity factors defined based upon the radial direction h ¼ constant are denoted by kðhÞ. By the way of the definition proposed in (5.37) for h ¼ 0, we now define kðhÞ as pffiffiffiffiffiffiffiffi kðhÞ ¼ lim 2p‘XðhÞKðhÞ\ðr=‘Þda [ K1 ðhÞX1 ðhÞrðr; hÞ: ð5:39Þ r!0
From (5.36a), we see that the tractions r at ðr; hÞ and ðr; 0Þ are related by rðr; hÞ ¼ XðhÞKðhÞK1 rðr; 0Þ:
ð5:40Þ
With this relation and the definitions given in (5.37) and (5.39), we can obtain a relation for the stress intensity factors k and kðhÞ as kðhÞ ¼ XðhÞKðhÞK1 k;
ð5:41aÞ
9 9 8 8 > > = = < KII > < KII ðhÞ > KI ðhÞ ¼ XðhÞKðhÞK1 KI : > > > > ; ; : : KIII ðhÞ KIII
ð5:41bÞ
or
From the definition proposed in (5.39), we see that the stress intensity factors of opening mode KI ðhÞ, shearing mode KII ðhÞ, and tearing mode KIII ðhÞ are associated with the tangential stress rhh ðr; hÞ, shearing stress rrh ðr; hÞ and tearing stress rh3 ðr; hÞ, respectively. Since the values of KI ðhÞ, KII ðhÞ, and KIII ðhÞ will vary if the radial direction h ¼ constant selected for their definition varies, it is interested to know the direction for which the maximum stress intensity factors occur, and these directions may be useful for the prediction of crack propagation. If the stress intensity factors kðhÞ are defined based upon the radial direction h ¼ constant of the point ðr; hÞ near the corner tip, substituting (5.41a) into (5.36a) we get 1 rðr; hÞ ¼ pffiffiffiffiffiffiffiffi ðr=‘ÞDðhÞ kðhÞ; 2p‘
ð5:42Þ
136
5 Wedges and Interface Corners
where DðhÞ is the matrix of singular orders at angle h defined by DðhÞ ¼ K ðhÞ\da [ K1 ðhÞ; K ðhÞ ¼ XðhÞKðhÞ
ð5:43Þ
and the matrix power function ðr=‘ÞDðhÞ can be calculated by ðr=‘ÞDðhÞ ¼ K ðhÞ\ðr=‘Þda [ K1 ðhÞ:
ð5:44Þ
When h ¼ 0, we have Kð0Þ ¼ K; Xð0Þ ¼ I, and kð0Þ ¼ k. If we let D ¼ Dð0Þ, the near tip solution (5.42) will then lead to 1 rðr; 0Þ ¼ pffiffiffiffiffiffiffiffi ðr=‘ÞD k; 2p‘
ð5:45aÞ
D ¼ K\da [ K1 ; ðr=‘ÞD ¼ K\ðr=‘Þda [ K1 :
ð5:45bÞ
where
With the matrix power function form (5.42), the stress intensity factors kðhÞ defined in (5.39) can be rewritten as pffiffiffiffiffiffiffiffi kðhÞ ¼ lim 2p‘ðr=‘ÞDðhÞ rðr; hÞ: ð5:46Þ r!0
When h ¼ 0, we have k ¼ lim
r!0
pffiffiffiffiffiffiffiffi 2p‘ðr=‘ÞD rðr; 0Þ:
ð5:47Þ
The definitions written as (5.46) and (5.47) are then valid for all possible cases of interface corners including the one with logarithmic singularity (Hwu 2012). Based upon the near tip solutions (5.35a, 5.35b) witten in terms of the stress intensity factors defined in (5.37), the function s542MwedgeNTS used for the calculation of near tip solutions of multi-material wedges is designed and presented in F121 of Appendix F. The input file for load and structure information is input_loadstr: ‘; KI ; KII ; KIII ; BC; h0 ; h1 ; . . .; hn ; nd ; d0 ; d1 ; d2 ; TOLd ; TOLf ; Maxi :
5.4.3 H-Integral for 2D Interface Corners—s543MwedgeSIF2d According to the definition of the stress intensity factors proposed in (5.46) and (5.47), to calculate their values we need to know the stresses near the tip of interface corners. However, due to the singular and possibly oscillatory behaviors of the near tip solutions for multi-material wedges, it is not easy to get convergent values for the stress intensity factors directly from the definition. To overcome this problem, a path-independent H-integral was proposed and the stress intensity factors can be calculated by Hwu et al. (2011), Hwu and Huang (2012) 8 9 > = < H1 > 1 ð5:48aÞ k ¼ KH h; h ¼ H2 ; > ; : > H3 where
H ¼
Zhn h h0
Z
Hk ¼ C
i ^ 0T ðhÞVðhÞ V ^ T ðhÞK0 ðhÞ dh; K
uT^tk
^Tk t u
ð5:48bÞ dC; k ¼ 1; 2; 3;
5.4 Stress Intensity Factors
137
and n T o ^ ðhÞ ; K0 ðhÞ ¼ @ fKðhÞg: ^ 0T ðhÞ ¼ @ K K @h @h
ð5:48cÞ
In (5.48b) and (5.48c), u and t are the displacement and traction vectors of the actual system that can be obtained from any appropriate method such as finite element method (FEM), boundary element method (BEM), or experimental testing; the overhat ^ stands for the values of the auxiliary system which is the near tip solution with singular order d replaced by 2 d; the path C emanates from the lower corner flank and terminates on the upper corner flank in counterclockwise direction. To ^ ^ ^ Since get the auxiliary solution, we use the near tip solution (5.35a) and replace da , VðhÞ; KðhÞ; k by 2 da ; VðhÞ; KðhÞ; k. ^ can be arbitrary, in the derivation of (5.48a) it has been selected as the constant vector k 1 ‘ ^ 1 k ^ ¼ ik ; k ¼ 1; 2; 3; \ [K 2p ð1 da Þ2
ð5:48dÞ
8 9 8 9 8 9
= < 11 > ðkÞ ^ ; ¼ / ^21 r k;2 > > > > : ðkÞ ; ^31 r
8 ðkÞ 9 > ^ > r > = < 12 > ðkÞ ^ ; ¼/ ^22 r k;1 > > > > : ðkÞ ; ^32 r
ð5:55Þ
we obtain ðkÞ ^13 r ðkÞ ^23 r
pffiffiffiffiffiffiffiffi 2p‘ ^ ¼ 2 K ð3; kÞð1 dk Þðr=‘Þdk ; rpffiffiffiffiffiffiffiffi2 2p‘ ^ dk ¼ 2 K 1 ð3; kÞð1 dk Þðr=‘Þ ; r
ð5:56Þ
140
5 Wedges and Interface Corners
^ ð3; kÞ; i ¼ 1; 2; denotes the (3, k) component of the matrix K ^ ðhÞ defined in (5.54b), and dk is the kth singular in which K i i
ðkÞ ðkÞ ^33 is zero for generalized plane stress condition, and can be determined by ^e33 ¼ 0 for order. The stress component r generalized plane strain condition, which leads to (contracted notation is used) X ðkÞ ^ðkÞ ^3 ¼ S3q r ð5:57Þ r q =S33 : q6¼3
ðkÞ
ðkÞ
^i3;3 ui ri3 ^ui;3 appeared in the surface integral of (5.53) can be ignored because the complementary Note that the term r solutions employed here are obtained from two-dimensional problems whose derivatives with respect to x3 will be zero. Remarks on computer coding The surface integral of (5.53) can be evaluated by using the Gaussian quadrature rule stated in Appendix A.1.1. From (A.5), we have Z
Zhn Zrc f ðr; hÞ dS ¼
SC
h0
0
r 2 ðhn h0 Þ f ðr; hÞrdrdh ¼ c 8
Z1 Z1
ðu þ 1Þf ðu; vÞdudv;
ð5:58aÞ
1 1
where the variable transformation in the 2nd equality is made by r¼
rc ðu þ 1Þ ðhn h0 Þv þ ðhn þ h0 Þ ;h¼ : 2 2
ð5:58bÞ
Based upon the relations (5.53)–(5.58), function s544MwedgeSIF3d is designed and presented in F123 of Appendix F. The input file for load and structure information is input_loadstr: BC; h0 ; h1 ; . . .; hn ; hSIF ; nd ; d0 ; d1 ; d2 ; TOLd ; TOLf ; Maxi ; Htype; nG ; rI ; ‘; x0 ; y0 ; z0 ; ðn‘ Þ; nr ; n1 ; ðu1 ; u2 ; u3 ; t1 ; t2 ; t3 Þk ; k ¼ 1; 2; . . .; nG ; or . . .(refer to s543MwedgeSIF2d); ðu1;3 ; u2;3 ; u3;3 ; r13;3 ; r23;3 ; r33;3 Þk ; k ¼ 1; 2; . . .; nG ; or ðx1 ; x2 ; u1;3 ; u2;3 ; u3;3 ; r13;3 ; r23;3 ; r33;3 Þk ; k ¼ 1; 2; . . .; n2 ; in which nG and nr represent, respectively, numbers of Gaussian points for variables h and r; n1 and n2 represent, respectively, numbers of data points for line contour C (on r ¼ rI ) and surface contour SC (in r rI ). All the other symbols have been explained in the functions of s533MwedgeSOE and s543MwedgeSIF2d.
5.5
Functions for Common Use
5.5.1 Function—multiwedge Function multiwedge calculates the matrices needed for the problems of multi-material wedges, such as Ke ; KT ; Kc ; Ck ðhÞ; Fk ðhÞ; Ek ðhÞ; and their related determinants and derivatives with respect to the polar angle h. Only the ^ 1d ðh; hk1 Þ of (5.25)) appear in this chapter and Chap. 11 for the problems with matrices Ke and E ðhÞ (i.e., N k
k
piezoelectric/MEE materials, all the others appear in Chap. 10 for thermal problems. According to the need of each chapter, this function is designed and presented in F081 of Appendix F.
5.5 Functions for Common Use
141
5.5.2 Function—muller Function muller is a common function designed for searching roots by the Muller’s method. By the method described in Appendix A.3.2, the computer codes are designed and presented in F080 of Appendix F.
5.5.3 Function—s5_ut Function s5_ut is a common function for providing the numerical data of displacements and tractions at Gaussian points, which is useful for the evaluation of H-integral in functions s543MwedgeSIF2d and s544MwedgeSIF3d. For the convenience of the users, six different types of input methods are designed based on the control parameter Htype. The first four types (Htype = 1–4) are the data for a circular integral path, and the other two (Htype = 5, 6) are for a piecewise line integral path. When Htype = 1 or 5, input the displacements and tractions at the Gaussian points, which may be obtained by BEM. When Htype = 2 or 6, input the displacements and stresses at the Gaussian points, which may be obtained by FEM. In these two types, Gaussian points are arranged according to the sequence from −1 to 1. When Htype = 3, displacements and tractions at points near but not at Gaussian points are input, whereas when Htype = 4, displacements and stresses at points near but not at Gaussian points are input. With this consideration, function s5_ut is designed and presented in F088 of Appendix F.
5.5.4 Function—MLS Function MLS is a common function for fitting the values at Gaussian points. According to the method of moving least square stated at the end of Sect. 5.4.3, this function is designed and presented in F079 of Appendix F.
5.6
Examples
5.6.1 Single Wedge Example 1: A Single Wedge Subjected to Uniform Traction on the Wedge Sides Consider a single wedge with two wedge sides h ¼ 15° and h þ ¼ 345° (see Fig. 5.1) subjected to tractions t ¼ ð0; 1000; 0Þ MPa and t þ ¼ ð0; 1000; 0Þ MPa on the wedge sides. The plate is made of an orthotropic material whose properties are shown in Example 2 of Table 3.1. Calculate the stresses, strains, and displacements of this wedge along a circular arc ranged from h to h þ with radius 1 m, in which 11 equally distributed points are evaluated. Generalized plane strain is assumed for all cases treated in this subsection. To find the solution of this problem, four input files should be prepared as follows. input_control: 1 1 512 1 1 1e9 0.001 1.0e−6; 2 0 0 0 input_elastic1: 134e9 11e9 11e9 2.98e9 5.84e9 5.84e9 0.49 0.3 0.3 0 input_loadstr: 15 345 0 1e9 0 0 −1e9 0 input_variable: 2 0 0 1 15 345 11 Example 2: A Single Wedge Under a Point Force ^ ¼ ð0; 1000; 0)Nt at the Consider a single wedge bounded by h ¼ 165° and h þ ¼ 165° subjected to a point force p wedge apex. The material properties and output settings are the same as the previous example. To find the solution of this problem, input files should be prepared as follows. input_control: 1 1 521 1 1 1e9 0.001 1.0e−6; 2 0 0 0 input_elastic1: 134e9 11e9 11e9 2.98e9 5.84e9 5.84e9 0.49 0.3 0.3 0 input_loadstr: −165 165 0 1e9 0 input_variable: 2 0 0 1 −165 165 11
142
5 Wedges and Interface Corners
Example 3: A Single Wedge Under a Point Moment ^ ¼ 1000 Nt m, and the material is Same as Example 2 except that the point force is now replaced by a point moment m considered to be a uni-directional fiber-reinforced composite whose properties are shown in Example 5 of Table 3.1 with fibers oriented counterclockwisely 45 from x-axis. To find the solution of this problem, input files should be prepared as follows. input_control: 1 1 522 1 1 1e9 0.001 1.0e−6; 5 0 0 0 input_elastic1: 181e9 10.3e9 7.17e9 0.28 −45 input_loadstr: −165 165 1e9 32 input_variable: 2 0 0 1 −165 165 11
5.6.2 Multi-material Wedges Example 1: A Multi-material Wedge Space Subjected to a Point Force and a Dislocation ^¼ Consider a bi-material wedge space with h0 ¼ 180 ; h1 ¼ 0 ; h2 ¼ 180 (see Fig. 5.4) subjected to a point force p ^ ¼ ð1; 0; 0)mm. The bi-material is made by two different fiber-reinforced composites. ð0; 1000; 0)Nt and a dislocation b The fiber orientation of the lower half space is 45 from x1-axis, whereas that of the upper half space is 45 . The properties referred to their principal material axes are shown in Examples 5 and 6 of Table 3.1, respectively, for lower and upper half spaces. Same as the problems of single wedges, to calculate the stresses, strain, and displacements along a circular close line, input files should be prepared as follows. input_control: 2 1 523 1 1 1e9 0.001 1.0e–6; 5 0 0 0; 5 0 0 0 input_elastic1: 181e9 10.3e9 7.17e9 0.28 –45 input_elastic2: 138e9 9e9 6.9e9 0.3 45 input_loadstr: 0 1e9 0 –0.001 0 0 −180 0 180 input_variable: 2 0 0 1 –180 180 11 Example 2: A Multi-material Wedge Subjected to a Point Force ^ ¼ ð0; 1000; 0)Nt Consider a bi-wedge with h0 ¼ 15 , h1 ¼ 180 , and h2 ¼ 345 (see Fig. 5.5) subjected to a point force p at the wedge apex. If the material properties and output setting are the same as those of the previous Example, to find the solution of this problem we need to prepare the following five input files. input_control: 2 1 524 1 1 1e9 0.001 1.0e−6; 5 0 0 0; 5 0 0 0 input_elastic1: 181e9 10.3e9 7.17e9 0.28 −45 input_elastic2: 138e9 9e9 6.9e9 0.3 45 input_loadstr: 0 1e9 0 15 180 345 input_variable: 2 0 0 1 15 345 11 Example 3: Singular Orders of a Multi-material Wedge Consider a bi-wedge with h0 ¼ 150 , h1 ¼ 0 , and h2 ¼ 180 (see Fig. 5.5). Wedge 1 occupying h0 h h1 is made by an orthotropic material whose elastic properties are shown in Example 2 of Table 3.1, whereas wedge 2 occupying h1 h h2 is made by an isotropic material whose Young’s modulus and Poisson’s ratio are E = 10 GPa and m ¼ 0:2. If both sides of the bi-wedge are traction-free, to calculate the singular orders and their associated eigen-functions, the input files should be prepared as follows. input_control: 2 1 533 0 1 1.0e9 0.001 1.0e−6; 2 0 0 0; 1 0 0 0 input_elastic1: 134e9 11e9 11e9 2.98e9 5.84e9 5.84e9 0.49 0.3 0.3 0 input_elastic2: 10e9 0.2 input_loadstr: 3 −150 0 180; 10 0.001 0.1 0.2 1e−4 1e−6 20
5.6 Examples
143
Example 4: Near Tip Solutions of a Multi-material Wedge Consider a traction-free bi-wedge with h0 ¼ 150 , h1 ¼ 0 , and h2 ¼ 175 (see Fig. 5.5). If the stress intensity factors pffiffiffiffi defined with reference length ‘0 ¼ 0:01m under a certain loading condition are known to be KI ¼ 1Pa m; KII ¼ KIII ¼ 0, calculate the near tip solutions for the stresses, strains, and displacements of this wedge along a circular arc ranged from h0 to h2 with radius 1 m, in which 11 equally distributed points are evaluated. To find the solution of this problem, input files should be prepared as follows. input_control: 2 1 542 1 0 1.0e9 0.001 1.0e−6; 2 0 0 0; 2 0 0 0 input_elastic1: 134e9 11e9 11e9 2.98e9 5.84e9 5.84e9 0.49 0.3 0.3 0 input_elastic2: 10e9 10e9 10e9 4.1667e9 4.1667e9 4.1667e9 0.2 0.2 0.2 0 input_loadstr: 0.01 1 0 0; 3 −150 0 175; 10 0.001 0.1 0.2 1e−4 1e−6 20 input_variable: 2 0 0 1 −150 175 11
5.6.3 Interface Corners Example 1: Stress Intensity Factors of a 2D Interface Corner Calculate the stress intensity factors of a two-dimensional bi-wedge by H-integral. The bi-wedge, material properties, and the settings for Muller’s method are the same as those of Example 3 of Sect. 5.6.2. The numerical data necessary for the calculation of H-integral will be input through input_loadstr. Within this file the numerical data of displacements and stresses at the points around the circular path of radius r = 0.6 mm are provided by finite element analysis, which is the result for a problem whose interface corner has the same local geometry and material properties as the example considered in the bi-wedge. The reference length used in the definition of stress intensity factor is selected to be ‘ ¼ 10 cm, and the number of Gaussian points used in the numerical integration is set to be 64. To find the solution of this problem, four input files should be prepared as follows. input_control: 2 1 543 0 1 1.0e9 0.001 1.0e−6; 2 0 0 0; 1 0 0 0. input_elastic1: 134e9 11e9 11e9 2.98e9 5.84e9 5.84e9 0.49 0.3 0.3 0. input_elastic2: 10e9 0.2 input_loadstr: 3 −150 0 180 0; 10 0.001 0.1 0.2 1e−4 1e−6 20; 4 64 0.0006 0.01 0 0 0; (Additional data of input_loadstr should be arranged as ½x1 ; x2 ; u1 ; u2 ; u3 ; r11 ; r22 ; r12 ; r13 ; r23 ; r33 for Htype = 4, which may be obtained from the other sources such as FEM or BEM. To save the space, these data are not listed here. Note that the position variables x1 and x2 should be provided based upon the local coordinate with origin at the tip of interface corner.) Example 2: Stress Intensity Factors of a 3D Interface Corner Consider a through thickness interface corner subjected to remote tension (see Fig. 5.6). The material above the interface is isotropic whose elastic properties are: E ¼ 10 GPa; m ¼ 0:2, while the other portion is orthotropic whose elastic properties are given in Example 2 of Table 3.1. The geometry and loading shown in Fig. 5.6 are indicated by d ¼ 5 mm, W/d = 3, h/ W = 1/15, t/W = 2, L/W = 6.0, a ¼ 30 and ro ¼ 10 MPa. The boundary conditions used in the analysis are: u1 ¼ 0 on the surface x1 ¼ d, u2 ¼ 0 on the surface x2 ¼ L=2, u3 ¼ 0 on the surface x3 ¼ 0, and x3 ¼ t=2 are the traction-free surfaces. The settings for Muller’s method are the same as previous Example. The integration path rI ¼ 0:6 mm, the reference length ‘ ¼ 10 mm, and the number of Gaussian points in circumferential and radial directions are 64 and 8, respectively. To compute the stress intensity factors through H-integral, the displacements and stresses of actual state are provided by ANSYS. Followings are four input files prepared for the present example. input_control: 2 1 544 0 1 1.0e9 0.001 1.0e−6; 2 0 0 0; 1 0 0 0 input_elastic1: 134e9 11e9 11e9 2.98e9 5.84e9 5.84e9 0.49 0.3 0.3 0 input_elastic2: 10e9 0.2 input_loadstr: 3 −150 0 180 0; 10 0.001 0.1 0.2 1e−4 1e−6 20; 4 64 0.6e−3 0.01 0 0 0 8 438
144
5 Wedges and Interface Corners o
t W
L/2
Mat. 2 x2
h
x1 x3
d L/2 Mat. 1
Fig. 5.6 A through thickness interface corner between two dissimilar materials subjected to remote tension (Kuo and Hwu 2010)
(Additional data of input_loadstr should be arranged as ½x1 ; x2 ; u1 ; u2 ; u3 ; r11 ; r22 ; r12 ; r13 ; r23 ; r33 k ;k ¼ 1; 2; . . .; 438 and ðx1 ; x2 ; u1;3 ; u2;3 ; u3;3 ; r13;3 ; r23;3 ; r33;3 Þk ; k ¼ 1; 2; . . .; n2 for Htype = 4, which are obtained from ANSYS. To save the space, these data are not listed here. Note that the stress intensity factor may vary with the point along the crack front, i.e., the stress intensity factor is a function of the tip location along the crack front. The input files provided in this example are for a particular tip along the crack front, and the position variables x1 and x2 should be provided based upon the local coordinate with origin at this tip. To calculate the stress intensity factor of the other tip of the crack front, different input_loadstr should be prepared and the program should be re-run again.)
References Hwu, C. 2010. Anisotropic elastic plates. New York: Springer. Hwu, C. 2012. Matrix form near tip solutions of interface corners. International Journal of Fracture 176: 1–16. Hwu, C., and H. Huang. 2012. Investigation of the stress intensity factors for interface corners. Engineering Fracture Mechanics 93: 204–224. Hwu, C., and T.L. Kuo. 2007. A unified definition for stress intensity factors of interface corners and cracks. International Journal of Solids and Structures 44: 6340–6359. Hwu, C., T.L. Kuo, and C.C. Huang. 2011. Path-independent H-integral for interface corners under thermal loadings. Journal of Mechanics of Materials and Structures 6(1–4): 231–248. Kuo, T.L., and C. Hwu. 2010. Multi-order stress intensity factors along three-dimensional interface corners. ASME Journal of Applied Mechanics 77(3): 031020, 1–12. Nomura, Y., T. Ikeda, and N. Miyazaki. 2009. Stress intensity factor analysis at an interfacial corner between anisotropic bimaterials under thermal stress. Engineering Fracture Mechanics 76: 221–235.
6
Holes
The solutions to the problems of two-dimensional anisotropic elastic solids containing elliptical holes or polygon-like holes have been presented in Hwu (2010) for various kinds of loading conditions. Exact closed-form solutions are obtained for the elliptical holes, which are also applicable for the circular holes and cracks. Whereas the solutions to the polygon-like holes are generally approximate. The ellipse, triangle, oval, square, pentagon, and so on are all included as special cases of polygon-like holes. Most of the solutions presented in this chapter are expressed in terms of the variables mapped from an ellipse or a polygon to a unit circle. Since the transformation is in general not one-to-one, special attention shall be made on the proper selection of the mapped variables. With this concern, some remarks are added in the related sections to assist the presentation of the associated computer codes. Section 6.1 covers the problems of elliptical holes under uniform load, in-plane bending, arbitrary load along the hole boundary, point force and dislocation. Section 6.2 includes the problems of polygon-like holes under uniform load and in-plane bending. Functions for common use and examples for hole problems are then presented in the last two sections.
6.1
Elliptical Holes
Consider an elliptical hole in an infinite anisotropic elastic medium. The contour of the hole boundary is represented by x1 ¼ a cos w; x2 ¼ b sin w;
ð6:1Þ
where 2a, 2b are the major and minor axes of the ellipse and w is a real parameter related to the angle h tangent to hole by (Fig. 6.1) q cos h ¼ a sin w; q sin h ¼ b cos w;
ð6:2aÞ
q2 ¼ a2 sin2 w þ b2 cos2 w:
ð6:2bÞ
where
6.1.1 Uniform Load at Infinity—s611EholeUL Consider an anisotropic elastic plate with an elliptical hole subjected to uniform load r1 ij at infinity (Fig. 6.1). The displacements and stress functions of this problem have been found to be 1 1 1 1 1 u ¼ x 1 e1 1 þ x2 e2 RefA\fa [ B ðat2 ibt1 Þg; 1 1 1 1 1 / ¼ x1 t1 2 x2 t1 RefB\fa [ B ðat2 ibt1 Þg;
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2021 C. Hwu, Anisotropic Elasticity with Matlab, Solid Mechanics and Its Applications 267, https://doi.org/10.1007/978-3-030-66676-7_6
ð6:3Þ
145
146
6
Holes
Fig. 6.1 An anisotropic elastic plate with an elliptical hole under uniform load at infinity 1 1 where e1 and t1 are the vectors defined in (4.4b) which contain the strains and stresses at infinity. fa is a 1 ; e2 1 ; t2 transformed variable related to za by pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi za þ z2a a2 b2 l2a fa ¼ ; a ¼ 1; 2; 3; ð6:4aÞ a ibla
which is obtained inversely from za ¼
1 1 ða ibla Þfa þ ða þ ibla Þ : 2 fa
ð6:4bÞ
To calculate the strains and stresses through the relation (4.2) and the solution (6.3), we need to know the derivatives of f1 a , i.e., @f1 @f1 a a ¼ f2 ¼ f2 a fa;1 ; a fa;2 , (no sum on aÞ. @x1 @x2
ð6:5aÞ
By the use of chain rule, we have fa;1 ¼
@fa @za fa ¼ ; f ¼ la fa;1 : @za @x1 ða ibla Þfa za a;2
ð6:5bÞ
Also (Hwu 2010), @f1 ieiw a ¼ l ðhÞ; along the hole boundary whose fa ¼ eiw : @n q a
ð6:5cÞ
And hence, the differentiation of / with respect to the normal direction n can be obtained as 1 /;n ¼ sin ht1 2 cos ht1 þ
whose real form solution is
1 1 Refieiw B\la ðhÞ [ B1 ðat1 2 ibt1 Þg; q
ð6:6aÞ
6.1 Elliptical Holes
147
n o a b 1 1 1 G G /;n ¼ sin h G1 ðhÞt1 ½I þ ðhÞt ðhÞt þ G ðhÞt cos h ½I þ : 3 3 1 1 2 1 2 b a
ð6:6bÞ
With the result of (6.6b), the hoop stress rss along the hole boundary can be determined by (2.18a) and be further reduced to rss ¼
iT1
G1 ðhÞt1 2
b þ G3 ðhÞt1 1 a
n o a 1 G ðhÞt ; iT2 G1 ðhÞt1 3 1 2 b
ð6:7Þ
in which the definitions of i1 , i2 , G1 ðhÞ and G3 ðhÞ can be found in the extended symbols (3) and (7) of Sect. 2.5.5. If the load applied at infinity is a unidirectional tension (or compression) r1 directing at an angle a with the positive x1-axis (see Fig. 4.2), the hoop stress given in (6.7) can be simplified to rss =r1 ¼ nT ðaÞG1 ðhÞsðaÞ þ cT ðaÞG3 ðhÞsðaÞ;
ð6:8aÞ
nT ðaÞ ¼ ð sin a; cos a; 0Þ; sT ðaÞ ¼ ðcos a; sin a; 0Þ; b a cT ðaÞ ¼ ð cos a; sin a; 0Þ: a b
ð6:8bÞ
where
For isotropic materials, the hoop stress (6.7) can be further reduced to rss b a ¼ 1 þ 2ð1 þ Þ½cos h cos a þ sin h sin a cosðh aÞ: 1 a b r
ð6:9Þ
Remarks on computer coding (i) Mapping function—ellipse to unit circle To calculate the displacements and stresses by the solutions (6.3) and the relations (4.2), we need to determine the variables fa ; a ¼ 1; 2; 3 and their derivatives fa;1 and fa;2 from the complex variables za . From (6.4a, 6.4b), we see that each za will correspond to two fa ’s since there are two values for the square root of a complex number. If za is a point outside the ellipse, then one of the two mapped points fa will be located at the outside of the unit circle, and the other at the inside of the unit circle. To have a one-to-one transformation, we choose the fa which is located at the outside of the unit circle. If za is a point inside the ellipse, both of the two mapped points fa will be located at the inside of the unit circle and the point nearest the unit circle will be chosen to get a one-to-one transformation when za is inside the ellipse. Therefore, to have an appropriate transformation from an ellipse to a unit circle, proper selection from the two values of the square root of (6.4a, 6.4b) is important. However, in computer programming only the principal value of the square root is returned to the users, which is calculated based upon the branch p h p where h is the phase angle of the complex number z, i.e., z ¼ reih and r is the pffiffi pffiffi magnitude. In other words, z ¼ r eih=2 where p h p is the principal value returned to the users. The other missing pffiffi pffiffi iðh þ 2pÞ=2 ¼ r eih=2 . Thus, the value of fa calculated based upon the principal value of the square root square root is r e may be different from the mapped point we require. To get the required mapped points, the computer code should be designed such that ð1Þ ð2Þ fa ; if jfð1Þ a j jfa j; fa ¼ ð6:10aÞ ð2Þ ð1Þ fa ; if jfa j jfð2Þ a j;
148
6
where j j stands for the magnitude of a number, real or complex, and pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi za þ z2a a2 b2 l2a ð2Þ za z2a a2 b2 l2a ð1Þ fa ¼ ; fa ¼ ; a ¼ 1; 2; 3: a ibla a ibla
Holes
ð6:10bÞ
It’s known that the matlab function C = max(A, B) returns an array the same size as A and B with the largest elements taken from A or B. The dimensions of A and B must match, or they may be scalar. For complex input, max returns the complex number with the largest complex magnitude. It seems that this function will work for Eq. (6.10a, 6.10b) by simply ð2Þ ð1Þ ð2Þ writing fa ¼ maxffð1Þ a ; fa g. However, it fails when fa and fa are negative real numbers, for example, max{–2, –0.5} = – 0.5 which is wrong. (ii) Inverse trigonometric function In computer coding, the parameter w is used to describe the field point on the hole boundary. From (6.7), we see that to calculate the hoop stress firstly we need to know the tangential direction, angle h, which can be obtained by (6.2a) as a 1 1 b h ¼ cos cos w : ð6:11Þ sin w ; or h ¼ sin q q In matlab, the principal values of cos1 x and sin1 x lie, respectively, in the range of [0, p] and [p=2, p=2]. Therefore, the tangential direction h determined by arccosine or arcsine of (6.11) may be different and will not range in the full domain like ½0; 2p. To have a one-to-one mapping from w to h, proper adjustment of the principal values of arccosine or arcsine is necessary. If we choose the full domain ½0; 2p for both h and w, from (6.2a, 6.2b) we know 0 w p=2 ) a sin w 0; b cos w 0 ) cos h 0; sin h 0 ) p=2 h p; p=2 w p ) a sin w 0; b cos w 0 ) cos h 0; sin h 0 ) p h 3p=2; p w 3p=2 ) a sin w 0; b cos w 0 ) cos h 0; sin h 0 ) 3p=2 h 2p; 3p=2 w 2p ) a sin w 0; b cos w 0 ) cos h 0; sin h 0 ) 0 h p=2: Therefore, to get the above results under the range ½0; p for the principal value of cos1 x, the computer code should be designed such that if cos w 0; h ¼ cos1 qa sin w ; ð6:12Þ if cos w 0; h ¼ 2p cos1 qa sin w : Since the mapping function from an ellipse or a polygon (stated later in Sect. 6.2.2) to a unit circle will be used frequently in the problem with curvilinear boundary, a common function mapEP is designed and will be described detailedly in Sect. 6.3. Based upon the solutions provided in (6.3)–(6.9) and the remarks (6.10a, 6.10b)–(6.12), function s611EholeUL is designed and presented in F124 of Appendix F. The input file for load and structure information is input_loadstr: 1 1 1 1 1 1 1 1 1 1 a; b; 1; r1 ; a, or a; b; 2; r1 1 ; r2 , or a; b; 3; s , or a; b; 4; s13 ; s23 , or a; b; 5; r11 ; r22 ; r33 ; r23 ; r13 ; r12 depending on the load case described in Sect. 4.1.1.
6.1.2 In-plane Bending at Infinity—s612EholeIB Consider an infinite anisotropic elastic plate containing an elliptical hole subjected to pure bending M in a direction at an angle a with the positive x1 -axis (Fig. 6.2). The solution to this problem has been found to be. Ma2 1 Ref½c2 ðaÞ þ is2 ðaÞA\f2 a [ B gsðaÞ; 2I Ma2 1 Ref½c2 ðaÞ þ is2 ðaÞB\f2 / ¼ /1 þ a [ B gsðaÞ; 2I rss a T s ðhÞ½s G1 ðhÞ c G3 ðhÞsðaÞ; ¼ so cos2 ðh aÞ þ 2q Ma=I u ¼ u1 þ
ð6:13aÞ
6.1 Elliptical Holes
149
M
x2
b
M
x1
a
Fig. 6.2 An anisotropic elastic plate containing an elliptical hole subjected to pure bending M at infinity
where c2 ðaÞ ¼ 14 ½1 c2 ð1 þ c2 Þ cos 2a; s2 ðaÞ ¼ c 2 sin 2a; so ¼ sinðw aÞ ð1 cÞ cos a sin w; s ¼ 12 ½1 c2 ð1 cÞ2 cos 2a sin 2w c sinð2w 2aÞ; c ¼ 12 ½1 c2 ð1 cÞ2 cos 2a cos 2w c cosð2w 2aÞ; c ¼ ba :
ð6:13bÞ
Here, u1 and /1 are the solutions given in (4.6a) for the infinite space subjected to inplane bending M, and I is the moment of inertia of the plate cross section. The parameter w is related to the angle h by (6.2a, 6.2b). The derivatives of f2 a necessary for the calculation of stresses and strains are @f2 @f2 a a ¼ 2f3 ¼ 2f3 a fa;1 ; a fa;2 , (no sum on aÞ; @x1 @x2 where fa;1 and fa;2 are given in (6.5b). For isotropic materials, the hoop stress given in (6.13a) can be reduced to Ma a s0 cos2 ðh aÞ þ ½s sinðh aÞ 2c cosðh aÞ : rss ¼ I 2q
ð6:14Þ
ð6:15Þ
Based upon the solutions provided in (6.13a, 6.13b)–(6.15), function s612EholeIB is designed and presented in F125 of Appendix F. The input file for load and structure information is input_loadstr: a; b; M; a; I.
6.1.3 Arbitrary Load Along the Hole Boundary—s613EholeAL Consider an infinite anisotropic elastic plate containing an elliptical hole subjected to an arbitrarily prescribed traction ^tn on the hole surface (Fig. 6.3). The solution to this problem can be expressed as
150
6
Holes
x2
b tˆ n
x1
a
Fig. 6.3 An anisotropic elastic plate containing an elliptical hole subjected to an arbitrarily prescribed traction ^tn on the hole surface 1
P k 1 1 u ¼ 2Im A\ ln fa [ AT c0 þ k Im A\fa [ B ðck þ idk Þ ;
/ ¼ 2Im B\ ln fa [ A
T
c0 þ
k¼1 1 P
k¼1
qrss ¼ sT ðhÞNT1 ðhÞc0 þ
1 P k¼1
1 k Im
1 B\fk a [ B ðck þ idk Þ ;
fcos kwsT ðhÞ½G1 ðhÞck G3 ðhÞdk
ð6:16aÞ
ð6:16bÞ
þ sin kws ðhÞ½G3 ðhÞck þ G1 ðhÞdk g; T
where c0 , ck ; dk ; k ¼ 1; 2; :::; 1 are the coefficients of Fourier series of the applied traction ^tn , i.e., q^tn ¼ c0 þ
1 X
ðck cos kw þ dk sin kwÞ;
ð6:17aÞ
k¼1
in which q is a length parameter defined in (6.2b) and 1 c0 ¼ 2p
Zp p
1 q^tn dw; ck ¼ p
Zp p
1 q^tn cos kwdw; dk ¼ p
Zp
q^tn sin kwdw:
ð6:17bÞ
p
The derivatives necessary for the calculation of stresses and strains are @ ln fa @fk a ¼ f1 f ; ¼ kfk1 fa;i ; i = 1,2, (no sum on aÞ. a;i a a @xi @xi
ð6:18Þ
Followings are the examples of coefficients for some specific loads (Hwu 2010). 1 1 1 ^ (1) Uniform load r1 ij : tn ¼ ½t1 t2 t3 nðhÞ 1 c0 ¼ ck ¼ dk ¼ 0; k 6¼ 1 ; c1 ¼ bt1 1 ; d1 ¼ at2 :
ð6:19aÞ
(2) Bending moment M: ^tn ¼ Mðx1 sin a x2 cos aÞsðaÞsT ðaÞnðhÞ=I c0 ¼ ck ¼ dk ¼ 0; k 6¼ 2; abM M sin 2asðaÞ; d2 ¼ ða2 sin2 a b2 cos2 aÞsðaÞ: c2 ¼ 2I 2I
ð6:19bÞ
6.1 Elliptical Holes
151
^ at w ¼ w0 : q^tn ¼ ^ (3) Point force p pdðw w0 Þ c0 ¼ (4)
1 cos kw0 sin kw0 ^ ; ck ¼ ^ ; dk ¼ ^: p p p 2p p p
ð6:19cÞ
Cosine normal load in 0 w p: ^tn ¼ ^p sin wðcos w; sin w; 0Þ when 0 w p 8 2a^p 4a^p < ck ¼ pð4k2 Þ i1 ; dk ¼ pð4k2 Þ i2 ; when k ¼ odd, c ¼ 0; dk ¼ 0; when k ¼ even except 2, : k a^p p ck ¼ 4 i 2 ; dk ¼ a^ i ; when k ¼ 2: 1 4
ð6:19dÞ
Based upon the solutions provided in (6.16a, 6.16b)–(6.18), function s613EholeAL is designed and presented in F126 of Appendix F. The input file for load and structure information is input_loadstr: a; b; n;½c0 ; c1 ; :::; cn T ; ½d1 ; d2 ; :::; dn T : Here, c0 ; ck ; dk ; k ¼ 1; 2; :::; n, are 3 1 coefficient vectors. Examples of these coefficients can be taken from (6.19a–6.19d) for special loading cases. In general, these coefficients should be calculated separately by using the integral relations shown in (6.17b).
6.1.4 Point Force at an Arbitrary Location—s614EholePF ^ at point ^ Consider an infinite anisotropic elastic plate containing an elliptic hole subjected to a point force p x (Fig. 6.4). The solutions of displacement u, stress function /, and hoop stress rss of this problem can be expressed as. ( ) 3 X 1 T 1 T 1 ^ ^ ^; \lnðfa fk Þ [ B BIk A p u ¼ Im A½\ lnðfa fa Þ [ A þ p k¼1 ( ) 3 X 1 T 1 T 1 ð6:20Þ ^; / ¼ Im B½\ lnðfa ^fa Þ [ A þ \lnðfa ^fk Þ [ B BIk A p p k¼1 n o 2 T ^; rss ¼ s ðhÞG3 ðhÞRe B\ieiw ðeiw ^fa Þ1 [ AT p pq where the definition of Ik can be found in the extended symbol (3) of Sect. 2.5.5. The derivatives necessary for the calculation of stresses and strains are ^ fa;i @ lnðf1 f2 @ lnðfa ^fa Þ a fa;i a fk Þ ¼ ; ¼ ; i ¼ 1; 2; ðno sum on aÞ: ^ 1 @xi @x i fa fa f ^fk
ð6:21Þ
a
Remarks on computer coding (i) logarithmic function lnðfa ^fa Þ As discussed in the remarks of Sect. 4.1.3, the discontinuity across the branch cut will not occur if the solution is solved under the requirement of single-valued displacement. That is to say, even the logarithmic functions lnðza ^za Þ; a ¼ 1; 2; 3 are discontinuous across the branch cut, their associated solutions such as (4.7) are continuous since ^=ð2piÞ: Du ¼ u þ u ¼ 2RefA\2pi [ qg ¼ 0; if q ¼ AT p
ð6:22Þ
152
6
Holes
x2
pˆ ( xˆ1 , xˆ 2 )
b x1
a
^ applied at point ^ Fig. 6.4 An anisotropic elastic plate containing an elliptic hole under a concentrated force p x
In other words, if we can find a coefficient vector q satisfying (6.22), we do not need to worry about the displacement continuity since it will be satisfied automatically. However, when the argument of the logarithmic function is changed from the complex variable za to the mapped variable fa , the branch cut in z-domain will split into three different branch cuts in fa domain. Without special care on these three branch cuts, displacement may be discontinuous across the cut. A simple way for the corrective evaluation of lnðfa ^fa Þ was suggested by Hsu and Hwu (2020) as ca ^ lnðfa fa Þ ¼ lnðza ^za Þ ln ca ln 1 ; ð6:23aÞ ^fa fa where 1 a þ ibla : ca ¼ ða ibla Þ; ca ¼ 2 a ibla
ð6:23bÞ
Equation (6.23a, 6.23b) can be derived from the relation (6.4b). The 3rd term of the right hand side of (6.23a), lnð1 ca =^fa fa Þ, will never across the region of discontinuity if the branch for the principal value of logarithmic function is selected to be ðp; p, because jca j\j^fa fa j and the real part of 1 ca =ð^fa fa Þ will always be positive (Hwu 2010). Therefore, the relation (6.23a) would synchronize the discontinuity of ln ðfa ^fa Þ with ln ðza ^za Þ, and the discontinuity will be eliminated like that shown in (6.22). To see more clearly about the discontinuity induced by the logarithmic function of mapped variable fa , in the following we present the other direct approach proposed by Hwu et al. (2017). Figure 6.5a shows a branch cut in z-domain, which is in the radial direction of the source point ^ x. By using the mapping function (6.4a, 6.4b), this straight branch cut will be mapped as three curvilinear branch cuts in fa -domain (see Fig. 6.5b). ^ a along the curvilinear branch line can be determined through the derivative of fa with respect to The tangential angle u r whose associated polar angle is fixed as h ¼ ^h, i.e., ( ) @fa @fa @za 1 z2a ¼ ¼ za þ pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ¼ f0aR þ if0aI ¼ qa eiua : ð6:24aÞ ða ibla Þr @r @za @r z2a a2 b2 l2a To avoid the multi-valued problem of square root, the denominator of the second term at the right hand side of the second equality is suggested to be calculated by
6.1 Elliptical Holes
153
Fig. 6.5 a Branch cut in z-plane, b branch cuts in fa -plane
qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi z2a a2 b2 l2a ¼ ða ibla Þfa za ; in which the mapped variable fa has been correctly calculated by (6.10a, 6.10b). If ^ x ¼ ^r ðcos ^ h; sin ^ hÞ, we have 0 ðoÞ ^ a ¼ tan1 ff0aI ; u 0aR r¼^r; h¼^h n o 2ðcos ^h þ la sin ^hÞ 1 faI ^1 ¼ arg u ; a ¼ tan aibl f0 1 ^ aR
r¼r ; h¼h
ð6:24bÞ
ð6:25Þ
a
in which arg usually called the argument, denotes the angle of a complex number in polar form. As shown in Fig. 6.6a, the zdomain with the radial branch cut ½^h; ^h þ 2p can be separated into the following two half regions: hh^ hþp region I : ^ region I þ : ^ hþph^ h þ 2p
ð6:26Þ
If the branch for the principal value of logarithmic function selected by matlab is ½p; p, the associated fa -domain with the curvilinear branch cut can be separated into the following three regions (see Fig. 6.6b)
Fig. 6.6 a Two regions in zplane, b three regions in fa -plane (a ¼ 1, b ¼ 10, l2 ¼ 0:2145 þ 0:8404i, ^h ¼ 81:24 )
154
6 1 region 1: p ua \^ ua p=2 p=2 ^1 region 2: ua u a ^1 region 3: u a þ p=2 ua p
Holes
ð6:27Þ
To make the curvilinear branch cut be the one we select for the fa -domain, the computer code can be designed such that (see Fig. 6.6) if ua 2 region 1, or ua 2 region 2 & its associated h 2 region I þ then ua ¼ ua þ 2p:
ð6:28Þ
lnðfa ^fa Þ ¼ ln ra þ iha ;
ð6:29Þ
According to (6.28), if
the principal value of the angle ha should be located in the range of ^ a ðrÞ ha u ^ a ðrÞ þ 2p; a ¼ 1; 2; 3; u
ð6:30Þ
^ a ðrÞ; a ¼ 1; 2; 3; are the curvilinear lines denoting the branch cuts (see Fig. 6.5b). To satisfy (6.30), the computer in which u code can be designed as ^1 reg1 ¼ 0; if ha u a \ p=2; reg1 = 1; end ^1 reg2 ¼ 0; if ha u a p=2; reg2 = 1; end ^ reg ¼ 0; if p h h\2p; reg = 1; end if reg1 + reg*reg2 6¼ 0; ha ¼ha þ 2p; end
ð6:31Þ
^ (ii) logarithmic function lnðf1 a fk Þ In (6.20), the mapped variables fa ; a ¼ 1; 2; 3 are located outside the unit circle if their corresponding za are outside the elliptical hole. Thus, fa can be expressed as fa ¼ sa eiwa ; where sa [ 1:
ð6:32Þ
Its conjugate’s inverse becomes 1
iwa 1 fa ¼ s1 a e ; where sa \1:
ð6:33Þ
1
which means that fa will always be located inside the unit circle if fa is outside the unit circle. Therefore, if we choose the ^ a ðrÞ þ 2p, we have principal value within the range of ½^ ua ðrÞ; u 1
^ k ðrÞ hka hak hkb u ^ k ðrÞ þ 2p: fa ^fk ¼ rak eihak ; where u
ð6:34Þ
From Fig. 6.7 we see that the range ½hka ; hkb will not across the cutting edge, which means that the discontinuity will not occur for the present choice of branch cuts. If one keeps the branch ½p; p selected by matlab, Fig. 6.7 shows that the range ½hka ; hkb will not across the cutting edge (h = ±p) if the mapped point ^fa is located on the left side of the unit circle (e.g., ^fAa and ^fBa ), but opposite situation occurs if ^fa is located on the right side of the unit circle (e.g., ^fCa and ^f1 ). In other words, if the principal value of logarithmic function is calculated by using the branch ½p; p the displacement discontinuity may occur when the applied point force is located at a point whose mapped point ^fa is located on the right side of the unit circle. Note that the traction-free condition, / ¼ 0, along the hole boundary has been used in deriving (6.20). This condition can be checked by substituting fa ¼ eiw into (6.20)2, which leads to
6.1 Elliptical Holes
155
^ a ðrÞ þ 2p or ½p; p for logarithmic functions (a ¼ 1, b ¼ 2, Fig. 6.7 fa -plane with a unit circular hole using branch cut ½^ ua ðrÞ; u l1 ¼ 0:7877 þ 0:6161i, ^h ¼ 342:42 )
1 T / ¼ ImfB\ lnðeiw ^fa Þ [ AT þ B\lnðeiw ^fa Þ [ A g^ p ¼ 0: p
ð6:35Þ
This check makes sure that the solutions provided in (6.20) really satisfy the traction-free condition. It also reminds us the term lnðf1 ^fk Þ of (6.20) should be calculated by the following way a
1 ^ ^ lnðf1 a fk Þ ¼ lnðfa fk Þ;
ð6:36Þ
to ensure the combination of the last three terms on the hole boundary will be the conjugate of the first term. Otherwise, the traction-free condition may not be satisfied, which can be seen from the following example, if the branch is selected to be [0,2p; when lnðeiw ^fk Þ ¼ rk þ ihk ; lnðeiw ^fk Þ ¼ rk ihk ; but,
lnðe
iw
ð6:37Þ
^fk Þ 6¼ rk ihk ð* hk \0 is not in the branch of [0,2pÞ.
Based upon the solutions given in (6.20) and the remarks stated in (6.22)–(6.37), function s614EholePF is designed and presented in F127 of Appendix F. The input file for load and structure information is input_loadstr: a; b; ^ p1 ; ^ p2 ; ^ p3 ; ^x1 ; ^x2 .
6.1.5 Dislocation at an Arbitrary Location—s615EholeDL ^ located on Consider an infinite anisotropic elastic plate containing an elliptic hole having a dislocation with Burgers vector b T T^ ^ replaced by B b, i.e., ^x (Fig. 6.8). The solution to this problem is identical to (6.20) with A p 3 P ^fk Þ [ B1 BIk BT b; ^ u ¼ p1 Im A½\lnðfa ^fa Þ [ BT þ \lnðf1 a k¼1 3 P T 1 ð6:38Þ ^ ^ / ¼ p1 Im B½\lnðfa ^fa Þ [ BT þ \lnðf1 a fk Þ [ B BIk B b; k¼1 n o ^ rss ¼ 2 sT ðhÞG3 ðhÞRe B\ieiw ðeiw ^fa Þ1 [ BT b: pq
Based upon the solution (6.38), function s615EholeDL is designed and presented in F128 of Appendix F. The input file for load and structure information is input_loadstr: a; b; ^ b1 ; ^ b2 ; ^ b3 ; ^x1 ; ^x2 .
156
6
Holes
x2
bˆ ( xˆ1 , xˆ 2 )
b x1
a
^ Fig. 6.8 An infinite plate with a hole and a dislocation b
6.2
Polygon-Like Holes
The contour of the polygon-like hole (Fig. 6.9) can be represented by x1 ¼ aðcos w þ e cos kwÞ; x2 ¼ aðc sin w e sin kwÞ;
ð6:39Þ
where 0\c 1, and k is an integer. When e ¼ 0 we obtain an ellipse with semi-axes a and ac. By letting c be equal to zero, an elliptic hole can be made into a crack of length 2a. If c = 1, the ellipse becomes a circle. In the case that e 6¼ 0, a polygon with k + 1 edges may be obtained by properly choosing the shape parameters a, c, e and k. For example, when c = 1 and k = 2 the hole has three symmetry axes and hence with an appropriate selection of the parameter e the hole will differ from an equilateral triangle with rounded corners; when c = 1 and k = 3 there are four symmetry axes and at some values of e the hole will differ little from a square with rounded corners; when c < 1 and k = 3 we will obtain ovals of a special type. Therefore, the polygon-like holes discussed throughout this section may include ellipse, crack, circle, triangle, oval, square, pentagon, etc. Example is given in Fig. 6.9 for a pentagon with c ¼ 1; k ¼ 4 and e ¼ 0:1. If one is interested in the size of the hole, its area can be evaluated by using the formula obtained from Green’s theorem, i.e., ZZ A¼
1 dA ¼ 2
Z2p
ðx1 dx2 x2 dx1 Þ ¼ pa2 ðc ke2 Þ:
0
6.2.1 Transformation Function Similar to the elliptical holes, the solutions for the problems with polygon-like holes can be expressed in terms of variables fa ; a ¼ 1; 2; 3, which are related to za through the following transformation function za ¼
a k k ð1 ila cÞfa þ ð1 þ ila cÞf1 : a þ eð1 þ ila Þfa þ eð1 ila Þfa 2
ð6:40Þ
The transformation function (6.40) maps a polygon-like hole of the z-plane into a unit circular hole in the fa -plane. In order to make the transformation single-valued, it is necessary that all the roots of dza =dfa ¼ 0 be located inside the unit circle jfa j ¼ 1. However, in real application there are cases that some roots will locate outside the unit circle and the one-to-one
6.2 Polygon-Like Holes
157
Fig. 6.9 An anisotropic elastic plate containing a polygon-like hole subjected to uniform loading at infinity (a ¼ 1; c ¼ 1; e ¼ 0.1, k ¼ 4)
mapping requirement cannot be satisfied. In that situation, the solutions presented below are only approximated. Detailed discussions about the approximation of the solutions can be found in Hwu (2010).
6.2.2 Uniform Load at Infinity—s622PholeUL Consider an infinite anisotropic elastic plate containing a polygon-like hole subjected to uniform load r1 ij at infinity (Fig. 6.9). The solutions of displacement u, stress function /, and hoop stress rss of this problem have been found to be 1 k 1 1 1 1 1 1 1 u ¼ x 1 e1 1 þ x2 e2 aRefA½\fa [ B ðt2 ict1 Þ þ e\fa [ B ðt2 þ it1 Þg; 1 k 1 1 1 1 1 1 1 / ¼ x1 t1 2 x2 t1 aRefB½\fa [ B ðt2 ict1 Þ þ e\fa [ B ðt2 þ it1 Þg;
rss ¼ sT ðhÞts ; cos ht1 1
ð6:41Þ
sin ht1 2
1 ts ¼ þ G1 ðhÞfsin ht1 1 cos ht2 g 1 G3 ðhÞf½q cos h þ ð1 þ cÞa sin wt1 1 þ ½q sin h ð1 þ cÞa cos wt2 g=q:
The angle h of the tangential line (Fig. 6.10) is related to the parameter w by q cos h ¼ aðsin w þ ke sin kwÞ; q sin h ¼ aðc cos w ke cos kwÞ;
ð6:42aÞ
q2 ¼ a2 k2 e2 þ sin2 w þ c2 cos2 w þ 2ke sin w sin kw 2cke cos w cos kw
ð6:42bÞ
where
The derivatives necessary for the calculation of stresses and strains are @f1 @fk a a ¼ f2 ¼ kfk1 fa;i ; i = 1,2, (no sum on aÞ. a fa;i ; a @xi @xi
ð6:43Þ
Note that for the polygon-like hole, fa;1 and fa;2 in (6.43) are different from those obtained in (6.5b) since the relation between fa and za has now been changed to (6.40). Using chain rule, we get
158
6
Fig. 6.10 An anisotropic elastic plate containing a polygon-like hole subjected to inplane bending at infinity (a ¼ 1; c ¼ 1; e ¼ 0.1, k ¼ 4)
Holes
M
x2*
x2
x1* x1
n
s
M
1 2 k1 ð1 ila cÞ ð1 þ ila cÞf2 ekð1 ila Þfk1 ; a þ ekð1 þ ila Þfa a a ¼ la fa;1 :
fa;1 ¼ fa;2
ð6:44Þ
If the load applied at infinity is a unidirectional tension (or compression) r1 directing at an angle a with the positive x1axis, the hoop stress given in (6.41) can be simplified to rss =r1 ¼ cos2 ðh aÞ sinðh aÞsT ðhÞG1 ðhÞsðaÞ ½cosðh aÞ þ ð1 þq cÞa sinðw aÞsT ðhÞG3 ðhÞsðaÞ: For isotropic materials, the solution (6.45) can be further reduced to 2ð1 þ cÞa sinðw aÞ cosðh aÞ : rss ¼ r1 1 q
ð6:45Þ
ð6:46Þ
For the hole subjected to a uniform tensile stress perpendicular to x1 -axis, a ¼ p=2, the stress concentration at the end points of the major axis of the hole, w = 0, p (or h ¼ p=2) equals to rss =r1 ¼ 1
2ð1 þ cÞa ; q ¼ ajc kej: q
ð6:47Þ
Remarks on computer coding (i) Mapping function—polygon to unit circle Similar to the problems with elliptical holes, to calculate the displacements and stresses by the solution (6.41), we need to determine the variables fa ; a ¼ 1; 2; 3. From (6.40) we see that the mapped points fa of za can be determined by solving the following polynomial equation, kþ1 eð1 þ ila Þf2k a þ ð1 ila cÞfa
2za k f þ ð1 þ ila cÞfk1 þ eð1 ila Þ ¼ 0: a a a
ð6:48Þ
In general, Eq. (6.48) will yield 2k roots. When e ¼ 0 (an elliptical hole whose integer k should be set to k = 1) or la ¼ i (an isotropic material), the term with the highest order 2k vanishes. Thus, the order of polynomial reduces from 2k to k + 1, and the number of roots becomes k + 1. No matter 2k or k + 1 roots, only the root located outside and nearest the unit circle jfa j ¼ 1 is selected for the mapping function whose argument za is a variable associated with ðx1 ; x2 Þ located outside the polygon-like hole. On the other hand, if za is associated with the point inside the polygon-like hole, only the root located inside and nearest the unit circle jfa j ¼ 1 is selected. With this understanding, to get the required mapped variables the computer code can be designed as
6.2 Polygon-Like Holes
159
if ðx1 ; x2 Þ: outside the hole, ðiÞ compare all the roots fðiÞ a whose jfa j [ 1 eb ; ðOÞ ðOÞ and fa ¼ fa whose jfa j is minimum; if ðx1 ; x2 Þ: inside the hole, ðiÞ compare all the roots fðiÞ a whose jfa j\1 þ eb ; ðIÞ and fa ¼ fðIÞ a whose jfa j is maximum:
ð6:49Þ
In (6.49), a small number eb , say 106 , is suggested to adjust the location for the point near the boundary. (ii) Inverse trigonometric function Similar to the remarks stated in Sect. 6.1.1, to determine the tangential direction h from the contour parameter w for a polygon-like hole, we need to calculate cos h and sin h from their relation (6.42a, 6.42b) and then obtain h by the following computer code, if sin h 0; h ¼ cos1 ðcos hÞ; if sin h 0; h ¼ 2p cos1 ðcos hÞ:
ð6:50Þ
Based upon the solutions given in (6.41)–(6.47), function s622PholeUL is designed and presented in F129 of 1 Appendix F. The input file for load and structure information is input_loadstr: a; c; e; k; 1; r1 ; a, or a; c; e; k; 2; r1 1 ; r2 , or 1 1 1 1 1 1 1 1 1 a; c; e; k; 3; s , or a; c; e; k; 4; s13 ; s23 , or a; c; e; k; 5; r11 ; r22 ; r33 ; r23 ; r13 ; r12 depending on the load case described in Sect. 4.1.1.
6.2.3 In-plane Bending at Infinity—s623PholeIB Consider an infinite anisotropic elastic plate containing a polygon-like hole subjected to inplane bending M in a direction at an angle a with the positive x1 -axis (Fig. 6.10). The solution to this problem has been found to be X Ma2 1 Re fðc‘ þ is‘ ÞA\f‘ a [ B gsðaÞ; 2I ‘¼2;k1; k þ 1;2k
u ¼ u1 þ
X Ma2 1 Re fðc‘ þ is‘ ÞB\f‘ a [ B gsðaÞ; 2I ‘¼2;k1; k þ 1;2k rss a T 2 s ðhÞ½s G1 ðhÞ c G3 ðhÞsðaÞ; ¼ so cos ðh aÞ þ 2q Ma=I / ¼ /1 þ
ð6:51aÞ
where 1 c c2 ¼ ½1 c2 ð1 þ c2 Þ cos 2a; s2 ¼ sin 2a; 4 2 e e ck1 ¼ ½ð1 cÞ ð1 þ cÞ cos 2a; sk1 ¼ ð1 þ cÞ sin 2a; 2 2 e e ck þ 1 ¼ ½ð1 þ cÞ ð1 cÞ cos 2a; sk þ 1 ¼ ð1 cÞ sin 2a; 2 2 e2 e2 c2k ¼ cos 2a; s2k ¼ sin 2a: 2 2 s0 ¼ sinðw aÞ e sinðkw þ aÞ ð1 cÞ cos a sin w; X ‘ðc‘ sin ‘w s‘ cos ‘wÞ; s ¼ ‘¼2;k1; k þ 1;2k
c ¼
X
‘¼2;k1; k þ 1;2k
‘ðs‘ sin ‘w þ c‘ cos ‘wÞ:
ð6:51bÞ
ð6:51cÞ
160
6
Holes
Here, u1 and /1 are the solutions given in (4.6a) for the infinite space subjected to inplane bending M, and I is the moment of inertia of the plate cross section. The parameter w is related to the angle h by (6.42a). The derivatives necessary for the calculation of stresses and strains are @f‘ a ¼ ‘f‘1 fa;i ; a @xi
i ¼ 1; 2; ‘ ¼ 2; k 1; k þ 1; 2k; ðno sum on aÞ;
ð6:52Þ
where fa;1 and fa;2 are given in (6.44). For isotropic materials, the hoop stress (6.51a) can be further reduced to Ma a 2 s0 cos ðh aÞ þ ½s sinðh aÞ 2c cosðh aÞ : rss ¼ I 2q
ð6:53Þ
Based upon the solutions given in (6.51a, 6.51b, 6.51c)–(6.53), function s623PholeIB is designed and presented in F130 of Appendix F. The input file for load and structure information is input_loadstr: a; c; e; k; M; a; I.
6.3
Functions for Common Use
As discussed in the previous sections, two commonly used functions are coded in this chapter. One is mapEp for the calculation of mapped variables fa and tangential angle h, and the other is logBranch for the adjustment of the logarithmic function.
6.3.1 Function—mapEP In this chapter, all the solutions for the full field domain are presented in terms of the mapped variable fa ; a ¼ 1; 2; 3; and most of the solutions for the hole boundary have been written in terms of h which is the angle from x1-axis to the tangent of the boundary. Therefore, calculation of fa and h is a common operation for the hole problems. With this consideration, a common function called mapEP is designed for the mapping of an elliptical hole or a polygon-like hole. According to the requirement of the calling function, a parameter Ztype is used to denote the transformation type. Ztype = 1 is for the calculation of the mapped variable fa from the complex variable za , whereas Ztype = 2 is for the calculation of the tangential angle h from the angular parameter w. Both of elliptical holes and polygon-like holes are considered in this function. Moreover, this function can also be used for the problems with elliptical inclusions or polygon-like inclusions discussed in Chap. 8. According to the remarks stated for (6.48)–(6.50), the function mapEP is designed and presented in F074 of Appendix F.
6.3.2 Function—logBranch As stated in Sect. 6.1.4 when a solution contains logarithmic functions, certain adjustment of the branch cut is necessary to avoid the discontinuity problem. Since this kind of solution form usually appears in the problem subjected to a point force or dislocation, it is convenient for us to code a common function called logBranch. With the known values of x; ^ x; fa , and 1 ^fa ; a ¼ 1; 2; 3, this function will provide a proper value for ln fa , lnðfa ^fa Þ, lnðf ^fk Þ, and/or lnðz ^z Þ required in a
a
a
some equations of this chapter and Chap. 8. In addition to the remarks presented in Sect. 6.1.4, further remarks can be found in Sects. 8.3.2 and 8.3.3 for the problems with the point force or dislocation located inside the inclusion or on the interface. Based upon the remarks given in Sects. 6.1.4, 8.3.2 and 8.3.3, the function logBranch is designed and presented in F071 of Appendix F.
6.3 Functions for Common Use
161
As shown in (6.23a, 6.23b) which is a much simpler and more understandable way to evaluate the logarithmic function with mapped variables than the way we provide in logBranch. By that way the evaluation can be performed directly through the related equations such as (6.23a, 6.23b), (13.12) and some other relations, and hence no common function is required. With this understanding, logBranch of AEPH is now set to be inactive.
6.4
Examples
6.4.1 Elliptical Holes Example 1: Biaxial Loads Consider an infinite plate containing an elliptical hole subjected to biaxial load at infinity. The major and minor axes of the 1 hole are a = 2 cm and b = 1 cm. The loads applied at infinity are r1 11 ¼ r22 ¼ 100 MPa. The plate is a [15/30/−15/45] laminate made by a graphite/epoxy fiber-reinforced composite material whose elastic properties referred to its principal material axes are shown on Example 6 of Table 3.1. Calculate the stresses, strains, displacements and hoop stresses along the hole boundary. Seventy-three equally distributed points with regard to polar angle w are selected to be evaluated on the hole boundary and the generalized plane stress is assumed for all cases treated in this subsection. To find the solution of this problem, one should prepare the following four input files.
input_control.txt: 1 2 611 1 0 1.0e9 0.001 1.0e−6; 3 0 0 0 input_elastic1.txt: 95.4e9 20.1e9 3.74e9 0 0 18.3e9 20.1e9 22.6e9 3.26e9 0 0 12.1e9 3.74e9 3.26e9 10.0e9 0 0 0.20e9 0 0 0 69e9 0 0 0 0 0 0 69e9 0 18.3e9 12.1e9 0.20e9 0 0 23.1e9 input_loadstr.txt: 0.02 0.01 2 1.0e8 1.0e8 input_variable.txt: 3 0 0 0.02 0.01 0 360 73 0 Example 2: In-plane Bending Same plate with the same hole as Example 1 is considered in this example. Instead of the biaxial load, here the plate is subjected to in-plane bending M = 1 N m in a direction at angle 45° with the positive x1-axis. The moment of inertia about z-axis of the plate is I = 103 mm4. The plate is made of a graphite/epoxy orthotropic material whose elastic properties referred to its principal material axes are shown on Example 2 of Table 3.1. To find the stresses, strains, displacements and hoop stresses along the hole boundary of this problem, one should prepare the following four input files. input_control.txt: 1 2 612 11 1 1.0e9 0.001 1.0e−6; 2 0 0 0 input_elastic1.txt: 134e9 11e9 11e9 2.98e9 5.84e9 5.84e9 0.49 0.3 0.3 0 input_loadstr.txt: 0.02 0.01 1 45 10e−9 input_variable.txt: (same as Example 1) Example 3: Loads on the Elliptical Hole Boundary Same plate with the same hole as Example 1 is considered. As shown in (6.17a, 6.17b) the load applied on the hole can be represented by the coefficients of Fourier series, and for the present example these coefficients are c1 ¼ ð500; 500; 0ÞT ; d1 ¼ ð1000; 1000; 0ÞT ; c3 ¼ ð1000; 0; 1000ÞT ; d3 ¼ ð500; 0; 500ÞT , and c0 ¼ ck ¼ dk ¼ 0; when k 6¼ 1; 3. To find the stresses, strains, displacement and hoop stresses along the hole boundary of this problem, one should prepare the following four input files.
162
6
Holes
input_control.txt: 1 2 613 11 1 1.0e9 0.001 1.0e−6; 3 0 0 0 input_elastic1.txt: (same as example 1) input_loadstr.txt: 0.02 0.01 3; 0 0 0; 5e2 5e2 0; 0 0 0; 1e3 0 1e3; 1e3 1e3 0; 0 0 0; 5e2 5e2 0 input_variable.txt: (same as example 1)
Example 4: A Point Force or an Edge Dislocation ^ = (1, 0, 0) ^ ¼ (1, 1, 0)N (or a dislocation b Same as previous examples except that the load is now replaced by a point force p mm) applied at the internal point ^x = (0.05, 0.05)m. Thus four input files should be prepared as follows. input_control.txt: 1 2 614 (or 615) 11 1 1.0e9 0.001 1.0e−6; 2 0 0 0 input_elastic1.txt: (same as Example 2) input_loadstr.txt: 0.02 0.01 1 1 0 (or 0.001 0 0 for case 615) 0.05 0.05 input_variable.txt: (same as Example 1)
6.4.2 Polygon-Like Holes Example 1: A Triangular Hole in an Infinite Plate Subjected to Unidirectional Tension Consider an infinite elastic plate containing a triangular hole subjected to a unidirectional tension r1 ¼ 100 MPa directed at an angle 60 from x1-axis. The triangular hole can be represented by (6.39) with a ¼ 0:02 m; c ¼ 1; e ¼ 0:25; k ¼ 2. The plate is made of a carbon/epoxy unidirectional fiber-reinforced composite with fibers oriented counterclockwisely 30 from x1-axis. The properties referred to its principal material axes are shown in Example 5 of Table 3.1. Calculate the stresses, strains, displacement and hoop stress along the hole boundary. One hundred and eighty equally distributed points with regard to polar angle w are selected to be evaluated on the hole boundary and the generalized plane strain is assumed for all cases treated in this subsection. To find the solution of this problem, one should prepare the following four input files. input_control.txt: 1 1 622 11 1 1.0e9 0.001 1.0e−6; 5 0 0 0 input_elastic1.txt:181e9 10.3e9 7.17e9 0.28 30 input_loadstr.txt: 0.02 1 0.25 2 1 1.0e8 60 input_variable.txt: 4 0 0 0.02 1 0.25 2 0 360 180 0 Example 2: A Pentagonal Hole in an Infinite Plate Subjected to In-plane Bending Consider an infinite elastic plate containing a pentagonal hole subjected to in-plane bending M = 1 N m in a direction at angle 45 with the positive x1-axis. The pentagonal hole can be represented by (6.39) with a ¼ 0:02 m; c ¼ 1; e ¼ 0:1; k ¼ 4. The plate is made by a four-ply laminate [45/0/45/−45] illustrated in Example 6 of Sect. 3.8.1. The moment of inertia about z-axis of the plate is I = 103 mm4. To find the stresses, strains, displacement and hoop stress along the hole boundary of this problem, one should prepare the following four input files.
input_control.txt: 1 1 623 11 1 1.0e9 0.001 1.0e−6; 6 0 0 0 input_elastic1.txt: 4 1; 138e9 9e9 6.9e9 0.3 1 45 0.001; 1 0 0.001; 1 45 0.001; 1 -45 0.001 input_loadstr.txt: 0.02 1 0.1 4 1 45 10e-9 input_variable.txt: 4 0 0 0.02 1 0.1 4 0 360 180 0
References
163
References Hsu, C.W. and C. Hwu. 2020. Green’s functions for unsymmetric composite laminates with inclusions. In Proceedings of the royal society a: Mathematical, physical and engineering sciences, vol. 476, 20190437. Hwu, C. 2010. Anisotropic elastic plates. New York: Springer. Hwu, C., C.L. Hsu, and W.R. Chen. 2017. Corrective evaluation of multi-valued complex functions for anisotropic elasticity. Mathematics and Mechanics of Solids 22 (10): 2040–2062.
7
Cracks
Linear elastic fracture mechanics is established based upon the knowledge of stress field in the vicinity of a crack. Since cracks are special cases of wedges, the near tip solutions for the general cases of cracks can be derived from the eigenfunctions presented in Chap. 5 for the multi-material wedges. A straight crack is also a special case of an elliptical hole with zero minor axis, and hence the full field solutions of crack problems can be obtained from their associated hole problems. Therefore, in the first two sections of this chapter, most of the computer codes are designed based upon the related functions of the previous two chapters. Sections 7.3 and 7.4 provide the solutions and computer codes for the problems of collinear cracks and collinear interface cracks. Most of the codes include the calculation of fracture parameters such as stress intensity factors, crack opening displacements and energy release rates. Examples using the designed computer codes for crack problems are then presented at the last section of this chapter.
7.1
Singular Characteristics of Cracks
7.1.1 Cracks in Homogeneous Materials—s711crackNTS Consider a semi-infinite crack in a homogeneous anisotropic elastic material (Fig. 7.1). The displacements, stress functions and their derivatives in the vicinity of the crack tip can be expressed in terms of the stress intensity factor k as ( ) ( ) rffiffiffi u L1 k 2 1=2 ^ 1=2 ¼ ; ð7:1aÞ r N ðh; pÞ p / 0 and (
)
( ) i L1 k 1 h 1=2 01=2 ^ ðh; pÞ ^ ðh; pÞ 2 sin hN ¼ pffiffiffiffiffiffiffiffi cos hN ; 2pr /;1 0 ( ) ( ) i L1 k u;2 1 h 1=2 01=2 ^ ðh; pÞ ^ ðh; pÞ 2 cos hN ¼ pffiffiffiffiffiffiffiffi sin hN : 2pr /;2 0 u;1
ð7:1bÞ
With the singular orders d1 ¼ d2 ¼ d3 ¼ 1=2, the stress intensity factor k defined in (5.37) or (5.47) for the general interface corners can now be reduced to the following conventional definition, 8 9 8 9 < KII = pffiffiffiffiffiffiffiffi< r12 = k ¼ KI ¼ lim 2pr r22 : ð7:2Þ : ; r!0 : ; r23 h¼0 KIII
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2021 C. Hwu, Anisotropic Elasticity with Matlab, Solid Mechanics and Its Applications 267, https://doi.org/10.1007/978-3-030-66676-7_7
165
166
7
Cracks
Fig. 7.1 A semi-infinite crack in a homogeneous anisotropic elastic material
Here, KII, KI and KIII can be interpreted as the strength of stress singularity. For a homogeneous medium, KI, KII and KIII represent, respectively, the opening (or Mode I, tensile mode), shearing (or Mode II, sliding mode) and tearing (or Mode III, antiplane mode) stress intensity factors, which in turn are related to the stress components r22 , r12 and r32 of a horizontal straight crack. With the solutions given in (7.1a, 7.1b), the stresses and strains can then be obtained by the way stated in (4.2). Note that ^ 01=2 ðh; pÞ ¼ @ N ^ 1=2 ðh; pÞ=@h whose calculation has been stated in Sect. 4.4.1 for the function of Stroh_main (7.1b) N trices with Stype = 8. Based upon the solutions provided in (7.1a, 7.1b), function s711crackNTS is designed and presented in F131 of Appendix F. The input file for load and structure information is input_loadstr: KI ; KII ; KIII .
7.1.2 Interfacial Cracks—s712IFcrackNTS The near tip solutions for an interfacial crack between two dissimilar anisotropic elastic materials (see Fig. 7.2) can be expressed in the form of (5.32), (5.33) or (5.35), in which the singular orders dk , k = 1, 2, 3, can be determined by the following eigen-relation
ðM þ e2ipd M Þk ¼ 0;
ð7:3Þ
where M is a bi-material matrix defined in the extended symbol (8) of Sect. 2.5.5. Through simple mathematical operation, Eq. (7.3) can also be written as ðW cot dpDÞk ¼ 0;
ð7:4Þ
where D and W are, respectively, the real and imaginary part of M , and 1 1 1 D ¼ L1 1 þ L2 ; W ¼ S1 L1 S2 L2 :
ð7:5Þ
The eigenfunctions of displacements and stress functions, gk ðhÞ and kk ðhÞ, associated with the singular orders are related to the eigenvector kk and the fundamental elasticity matrix N by Hwu (2012) 1 gk ðhÞ ¼ Uk ðhÞU1 k ð0Þkk ; kk ðhÞ ¼ Uk ðhÞUk ð0Þkk ; when p h 0; 1 gk ðhÞ ¼ Uk ðhÞU1 k ð0Þkk ; kk ðhÞ ¼ Uk ðhÞUk ð0Þkk ; when 0 h p;
ð7:6aÞ
7.1 Singular Characteristics of Cracks
167
Fig. 7.2 A semi-infinite interfacial crack between two dissimilar anisotropic elastic materials
where Uk ð0Þ ¼ ðsin dk pÞL1 : ^ of (5.22) by Uk ðhÞ; Uk ðhÞ; Uk ðhÞ; Uk ðhÞ are four 3 3 matrices related to N ^ 1dk ðh; pÞ ¼ Uk ðhÞ ; N ^ 1dk ð0; pÞ ¼ UkðhÞ ^ 1dk ðh; 0ÞN N 1 2 1 Uk ðhÞ Uk ðhÞ
ð7:6bÞ ;
ð7:7Þ
where the submatrices denoted by the star * are not shown because they play no role on the eigenfunctions of the present problem. Note that the eigenvalues dk of (7.3) have also been obtained explicitly as d1 ¼ 0:5 þ ie; d2 ¼ 0:5 ie; d3 ¼ 0:5;
ð7:8Þ
where e is called the oscillatory index since it characterizes the oscillatory behavior of the stresses near the crack tip, whose values can be determined by e¼
1=2 1 1þb 1 ln ; b ¼ trðWD1 Þ2 ; 2p 1 b 2
ð7:9Þ
in which tr stands for the trace of the matrix. Based upon the eigenfunctions calculated by function s533MwedgeSOE and the solutions stated in (7.3)–(7.9), function s712IFcrackNTS is designed and presented in F132 of Appendix F. The input file for load and structure information is input_loadstr: ‘; KI ; KII ; KIII .
7.1.3 Cracks Terminating at the Interfaces—s713crackTI A crack terminating at the interface of a bi-material can be treated as a special case of multi-material wedges with h0 ¼ a, h1 ¼ 0, h2 ¼ p, h3 ¼ 2p a and wedge 3 and wedge 1 are composed of the same material (Fig. 7.3). Thus, the orders of stress singularity, eigenfunctions, and the near tip solutions can all be obtained by using the functions designed in Sects. 5.3.3 and 5.4.1.
168
7
Cracks
Fig. 7.3 A crack terminating at the interface of the bimaterials
With the information of wedge angles, the singular orders and eigenfunctions of this problem can be calculated by using function s533MwedgeSOE, and hence, function s713crackTI is designed and presented in F133 of Appendix F. The input file for load and structure information is input_loadstr: a.
7.2
A Finite Straight Crack
7.2.1 Uniform Load at Infinity—s721crackUL Consider an anisotropic elastic plate with a crack of length 2a subjected to uniform load r1 ij at infinity (Fig. 7.4). The displacements and stress functions of this problem can be obtained from (6.3) for the hole problems with b = 0, i.e., 1 1 1 1 u ¼ x 1 e1 1 þ x2 e2 aRefA\fa [ B t2 g; 1 1 1 1 / ¼ x1 t1 2 x2 t1 aRefB\fa [ B t2 g;
ð7:10aÞ
where fa ¼
qffiffiffiffiffiffiffiffiffiffiffiffiffiffi 1 za þ z2a a2 : a
ð7:10bÞ
With this result, the stresses r2 ¼ ðr12 ; r22 ; r32 ÞT ahead of the crack tip along x1 -axis, the crack opening displacement Duð¼ uðx1 ; 0 þ Þ uðx1 ; 0 ÞÞ, the stress intensity factors k, and the total strain energy release rate G are obtained as x1 t1 ; when x1 [ a; r2 ðx1 ; 0Þ ¼ pffiffiffiffiffiffiffiffiffi x21 a2 2 ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 1 p Duðxp 0Þffi ¼ 2 a2 x21 L t1 1 ;ffiffiffiffiffi 2 ; when a x1 a; 1 T 1 k ¼ pat1 2 ; G ¼ 2 k L k:
For isotropic materials under plane strain condition, Du and G can be further reduced to 8 9 qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi< r1 21 = 4ð1 v2 Þ 1 v2 2 1þm 2 r1 a2 x21 KIII : Du ¼ ðKI þ KII2 Þ þ ;G¼ 22 : 1 1; E E E r 1v 23
ð7:11Þ
ð7:12Þ
7.2 A Finite Straight Crack
169
Fig. 7.4 A crack in an anisotropic elastic plate under uniform load at infinity
Since this problem is a special case of its associated hole problem (see Sect. 6.1.1), a function can be designed by simply calling s611EholeUL. With this understanding and Eqs. (7.11)–(7.12) for calculating the related fracture parameters, function s721crackUL is designed and presented in F134 of Appendix F. The input file for load and structure information is 1 1 1 1 1 1 1 1 1 1 input_loadstr: a; 0; 1; r1 ; a, or a; 0; 2; r1 1 ; r2 , or a; 0; 3; s , or a; 0; 4; s13 ; s23 , or a; 0; 5; r11 ; r22 ; r33 ; r23 ; r13 ; r12 depending on the load case described in Sect. 4.1.1.
7.2.2 In-plane Bending at Infinity—s722crackIB Consider an anisotropic elastic plate with a crack of length 2a subjected to pure bending M in a direction at an angle a with the positive x1 -axis (Fig. 7.5). The solutions to this problem can be obtained from those of elliptical holes with b = 0, which lead to Mða sin aÞ2 1 RefA\f2 a [ B gsðaÞ; 4I Mða sin aÞ2 1 RefB\f2 / ¼ /1 þ a [ B gsðaÞ; 4I pffiffiffiffiffiffi Ma pa sin2 a sðaÞ; k¼ 2I q ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi M sin2 a Du ¼ x1 a2 x21 L1 sðaÞ: I u ¼ u1 þ
ð7:13aÞ
ð7:13bÞ
It can be seen that Du2 will always be negative in either a\x1 \0 or 0\x1 \a if the second component of L1 sðaÞ is not equal to zero, which violates the assumption of fully open crack and the solution is invalid. For this condition, one may say that the crack is not fully open but with partial contact near the crack tip. If fL1 sðaÞgð2Þ ¼ 0; Du2 ¼ 0 for all x1 within the crack and hence there is no tendency for the crack to open or close, a relative tangential displacement may exist between the crack faces. Therefore, (7.13a, 7.13b) is valid if Du2 ¼ 0 or the negative Du2 is increased to a positive value by an applied tensile load. Based upon the associated hole problem discussed in Sect. 6.1.2 and the solutions given in (7.13a, 7.13b), function s722crackIB is designed and presented in F135 of Appendix F. The input file for load and structure information is input_loadstr: a; 0; M; a; I.
170
7
Cracks
M x2
x1 a
a
M Fig. 7.5 A crack in an anisotropic elastic plate subjected to pure bending M at infinity
7.2.3 Arbitrary Load on the Crack Surfaces—s723crackAL Consider an infinite anisotropic elastic plate containing a crack of length 2a subjected to an arbitrarily prescribed load on the crack surface (Fig. 7.6). With b = 0 for the solutions given in (6.16) for the hole problems, we get 1 X 1 1 Im A\fk u ¼ 2Im A\ ln fa [ AT c0 a [ B ðck þ idk Þ ; k k¼1 1 X 1 1 Im B\fk / ¼ 2Im B\ ln fa [ AT c0 a [ B ðck þ idk Þ ; k k¼1 ! rffiffiffi 1 X p T dk ; k¼ S c0 a k¼1
ð7:14Þ
where ck and dk are defined in (6.17b). Based upon the associated hole problem discussed in Sect. 6.1.3 and the solutions given in (7.14), function s723crackAL is designed and presented in F136 of Appendix F. The input file for load and structure information is input_loadstr: a; 0; n; ½c0 ; c1 ; . . .; cn ; ½d1 ; d2 ; . . .; dn :
7.2.4 Point Force at Arbitrary Location—s724crackPF ^ at ^ Consider an infinite anisotropic elastic plate containing a crack of length 2a subjected to a point force p x (Fig. 7.7). The solutions of displacement u and stress function / can be obtained from (6.20) with b = 0, i.e., ( ) 3 X 1 T 1 T 1 ^; \lnðfa ^fk Þ [ B BIk A p u ¼ Im A½\ lnðfa ^fa Þ [ A þ p k¼1 ( ) ð7:15Þ 3 X 1 T 1 T 1 ^ ^ ^: / ¼ Im B½\ lnðfa fa Þ [ A þ \lnðfa fk Þ [ B BIk A p p k¼1 The stresses ahead of the crack tip along the x1 -axis and the stress intensity factors of the right tip are ! 1 x1 1 1 T ^; x1 [ a; p ffiffiffiffiffiffiffiffiffiffiffiffiffiffi ffi 1þ þ [A p r2 ðx1 ; 0Þ ¼ Im B\ pa x21 a2 f ^fa f f2^fa n o 2 ^; k ¼ pffiffiffiffiffiffi Im B\ð1 ^fa Þ1 [ AT p pa
ð7:16aÞ
7.2 A Finite Straight Crack
171
x2
x1
a
a
Fig. 7.6 A crack in an anisotropic elastic plate subjected to an arbitrary load
x2
pˆ ( xˆ1 , xˆ 2 ) a
x1
a
^ at ^ Fig. 7.7 A crack in an anisotropic elastic plate subjected to a point force p x
where qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi qffiffiffiffiffiffiffiffiffiffiffiffiffiffi 1 1 2 2 ^ x1 þ x1 a ; fa ¼ ^za þ ^z2a a2 : f¼ a a ^ is applied on the upper crack surface x1 ¼ c, (7.16a)2 becomes If the point force p ( rffiffiffiffiffiffiffiffiffiffiffi ) 1 aþc T ^: I p k ¼ pffiffiffiffiffiffi S þ ac 2 pa
ð7:16bÞ
ð7:17Þ
172
7
Cracks
x2 bˆ
xˆ1 , xˆ2
a
x1
a
^ Fig. 7.8 An infinite plate with a crack and a dislocation b
Based upon the associated hole problem discussed in Sect. 6.1.4 and the solutions given in (7.15)–(7.17), function s724crackPF is designed and presented in F137 of Appendix F. The input file for load and structure information is input_loadstr: a; 0; ^p1 ; ^p2 ; ^p3 ; ^x1 ; ^x2 .
7.2.5 Dislocation at Arbitrary Location—s725crackDL ^ Consider an infinite anisotropic elastic plate containing a crack of length 2a having a dislocation with Burgers vector b located on ^x (Fig. 7.8). As stated in Sect. 6.1.5, the solutions to this problem can be obtained from (7.15)–(7.16a, 7.16b) ^ or from (6.38) with b ¼ 0. ^ replaced by BT b, with AT p Based upon the associated hole problem discussed in Sect. 6.1.5 and the solutions given in (7.15)–(7.16a, 7.16b), function s725crackDL is designed and presented in F138 of Appendix F. The input file for load and structure information is input_loadstr: a; 0; ^b1 ; ^b2 ; ^b3 ; ^x1 ; ^x2 .
7.3
Collinear Cracks
7.3.1 General Solutions Consider an infinite homogeneous anisotropic elastic medium with a number of collinear cracks subjected to uniform load at infinity (Fig. 7.9). The cracks lying on the x1 -axis are defined by the intervals ak x 1 bk ;
k ¼ 1; 2; . . .; n;
ð7:18aÞ
with 1\a1 \b1 \a2 \b2 \ \an \bn \1;
ð7:18bÞ
where n is the number of cracks. In general, the solutions to this problem can be written as u ¼ 2RefAfðzÞg;
/ ¼ 2RefBfðzÞg;
ð7:19aÞ
7.3 Collinear Cracks
173
Fig. 7.9 Collinear cracks in anisotropic elastic plates under uniform loading at infinity
where fðzÞ ¼
n X
Z \
zka =Xðza Þdza [ ck þ \za [ c:
ð7:19bÞ
k¼0
The unknown coefficient vectors ck ; k ¼ 0; 1; 2; :::; n and c are determined from the condition at infinity and the single-valuedness of displacements.
7.3.2 Two Collinear Cracks—s732CO2crackUL Consider an infinite homogeneous anisotropic elastic medium with two collinear cracks subjected to uniform load at infinity (Fig. 7.10). The displacements and stress functions of this problem have been obtained as. 1 u ¼ x 1 e1 1 þ x 2 e2 þ
2 X kk k¼0
/¼
where
x1 t1 2
x2 t1 1
k
Re A\fk ðza Þ [ B1 t1 2 ;
2 X
kk Re B\fk ðza Þ [ B1 t1 þ 2 ; k k¼0
Z Z 1 za z2a dza ; f1 ðza Þ ¼ dza ; f2 ðza Þ ¼ za dza ; Xðza Þ Xðza Þ Xðza Þ Z Z b1 Z Z b1 2 x1 dx1 b2 x1 dx1 x1 dx1 b2 x21 dx1 ; k0 ¼ a1 X0 ðx1 Þ a2 X0 ðx1 Þ a1 X0 ðx1 Þ a2 X0 ðx1 Þ Z b2 2 Z b1 2 Z Z b1 dx1 x1 dx1 x1 dx1 b2 dx1 ; k1 ¼ a1 X0 ðx1 Þ a2 X0 ðx1 Þ a1 X0 ðx1 Þ a2 X0 ðx1 Þ Z b2 Z b1 Z Z b1 dx1 x1 dx1 x1 dx1 b2 dx1 ; k2 ¼ k ¼ a1 X0 ðx1 Þ a2 X0 ðx1 Þ a1 X0 ðx1 Þ a2 X0 ðx1 Þ
ð7:20aÞ
Z
f0 ðza Þ ¼
ð7:20bÞ
174
7
Cracks
Fig. 7.10 Two collinear cracks in an anisotropic elastic plate under uniform load at infinity
and Xðza Þ ¼ fðza a1 Þðza b1 Þðza a2 Þðza b2 Þg1=2 ; a ¼ 1; 2; 3; pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi X0 ðx1 Þ ¼ ðx1 a1 Þðb1 x1 Þða2 x1 Þðb2 x1 Þ; a1 x1 b1 ; pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi X0 ðx1 Þ ¼ ðx1 a1 Þðx1 b1 Þðx1 a2 Þðb2 x1 Þ; a2 x1 b2 :
ð7:20cÞ
With this result, the strains and stresses can be calculated by using the relations shown in (4.2) and the derivatives of u and / derived from (7.20a), in which the derivatives of fk ðza Þ necessary for the calculation are @fk ðza Þ ¼ fk0 ðza Þ; @x1
@fk ðza Þ ¼ la fk0 ðza Þ; @x2
k ¼ 0; 1; 2;
ð7:21aÞ
and f00 ðza Þ ¼
1 ; Xðza Þ
f10 ðza Þ ¼
za ; Xðza Þ
f20 ðza Þ ¼ 1
z2a : Xðza Þ
ð7:21bÞ
The stresses r2 ahead of the crack tip along x1-axis, the crack opening displacement Du, the stress intensity factors k, and the total strain energy release rate G are obtained as
k r2 ðs; 0Þ ¼ 1 þ pffiffiffiffiffiffiffi t1 2 ; when s [ 0; s : distance ahead of the crack tip, 2ps ð7:22aÞ Duðx1 ; 0Þ ¼ Df ðx1 ÞL1 t1 2 ; when aj x1 bj ; j ¼ 1;2; k ¼ kt1 2 ; where
G¼
k2 1 T 1 1 ðt Þ L t2 ; 2 2
pffiffiffiffiffiffi k ¼ 2p ¼
pffiffiffiffiffiffi 2p
pffiffiffiffiffiffi ¼ 2p
k2 a21 þ k1 a1 þ k0 pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ; k2 ðb1 a1 Þða2 a1 Þðb2 a1 Þ
k2 b21 þ k1 b1 þ k0 pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ; k2 ðb1 a1 Þða2 b1 Þðb2 b1 Þ
k2 a22 þ k1 a2 þ k0 pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ; k2 ða2 a1 Þða2 b1 Þðb2 a2 Þ pffiffiffiffiffiffi k2 b22 þ k1 b2 þ k0 ; ¼ 2p pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi k2 ðb2 a1 Þðb2 b1 Þðb2 a2 Þ
when x1 ¼ a1 when x1 ¼ b1 ð7:22bÞ when x1 ¼ a2 when x1 ¼ b2
7.3 Collinear Cracks
175
and Zx1 Df ðx1 Þ ¼ 2 aj
k2 x21 þ k1 x1 þ k0 dx1 : k2 X0 ðx1 Þ
ð7:22cÞ
Note that the stress solution shown in (7.22a)1 is valid for the near tip region, i.e., when s ! 0. Remarks on computer coding (i) Numerical integration of a complex function If the integral of a complex function cannot be obtained analytically, such as f0 ; f1 ; f2 of (7.20b), numerical integration through the Gaussian quadrature rule (see Appendix A) can be applied as follows, Zza f ðza Þ ¼
f 0 ðza Þdza ¼ ðza =2Þ
n X
wi f 0 ððti þ 1Þza =2Þ;
ð7:23Þ
i¼1
0
where n is the number of Gaussian points, ti and wi are the abscissae and weights of Gaussian quadrature rule. Note that in (7.23) the lower limit of the integration can be selected arbitrarily since this value influences only the rigid body motion, and for the convenience of calculation the lower limit is usually selected to be zero. On the other hand, the upper limit of the integration za contains the information of location ðx1 ; x2 Þ of interest, and is calculated by za ¼ x1 þ la x2 ; a ¼ 1; 2; 3. Special care should be made when the limits of integration, 0 and za , across the brunch cut or the integrand f 0 ðza Þ of (7.23) contains singular points within the range of integration. (ii) Calculation of basic Plemelj function Xðza Þ It’s known that the power function is generally multi-valued. In matlab the principal value of the power function is calculated based upon the branch ½p; p, i.e., zd ¼ r d eidx where p x p. Using this branch, the discontinuity is expected to occur at x ¼ p and x ¼ p. To see whether this discontinuity is allowable for the problems discussed in this Section, the relations that the basic Plemelj function Xðza Þ is required to satisfy should be checked. It can be proved that these relations will be satisfied if Xðza Þ is calculated by the following way Xðza Þ ¼
n Y
ðaÞ
ðaÞ
ðbÞ
ðbÞ
ðrj eihj Þda ðrj eihj Þda 1 ;
ð7:24aÞ
j¼1
where ðaÞ
ðbÞ
p hj ; hj p:
ð7:24bÞ
Xðza Þ ¼ ðr1 eih1 Þ1=2 ðr2 eih2 Þ1=2 ðr3 eih3 Þ1=2 ðr4 eih4 Þ1=2 ; (correct)
ð7:25aÞ
Xðza Þ ¼ ðr0 eih0 Þ1=2 ; (wrong)
ð7:25bÞ
In the present case, (7.20c),
instead of
where za a1 ¼ r1 eih1 ; za b1 ¼ r2 eih2 ; za a2 ¼ r3 eih3 ; za b2 ¼ r4 eih4 ; ðza a1 Þðza b1 Þðza a2 Þðza b2 Þ ¼ r0 eih0 ;
p h0 ; h1 ; h2 ; h3 ; h4 p:
ð7:25cÞ
176
7
Cracks
Based upon the solutions provided in (7.20a–7.20c)–(7.22a–7.22c) and the remarks stated in (i) and (ii), function s732CO2crackUL is designed and presented in F139 of Appendix F. The input file for load and structure information is 1 1 1 1 input_loadstr: a1 ; b1 ; a2 ; b2 ; 1; r1 ; a, or a1 ; b1 ; a2 ; b2 ; 2; r1 1 ; r2 , or a1 ; b1 ; a2 ; b2 ; 3; s , or a1 ; b1 ; a2 ; b2 ; 4; s13 ; s23 , or 1 1 1 1 1 a1 ; b1 ; a2 ; b2 ; 5; r1 11 ; r22 ; r33 ; r23 ; r13 ; r12 depending on the load case described in Sect. 4.1.1.
7.3.3 Collinear Periodic Cracks—s733COPcrackUL Consider an infinite anisotropic elastic plate with an infinite row of evenly spaced collinear cracks (Fig. 7.11). The displacements and stress functions of this problem have been obtained as 1 1 1 t2 ; u ¼ x 1 e1 1 þ x2 e2 Re A\f ðza Þ [ B ð7:26aÞ 1 1 1 1 / ¼ x1 t2 x2 t1 Re B\f ðza Þ [ B t2 ; where Z sinðpza =wÞ ð7:26bÞ f ðza Þ ¼ za qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffidza : 2 sin ðpza =wÞ sin2 ðp‘=wÞ 2‘ is the length of each crack and w is the distance between the crack centers. With the results of (7.26a, 7.26b), the stresses r2 ahead of the crack tip along x1 -axis, the crack opening displacement Du, the stress intensity factors k, and the total strain energy release rate G are obtained as sin px1 =w r2 ðx1 ; 0Þ ¼ qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi t1 2 ; jw þ ‘\x1 \ðj þ 1Þw ‘; 2 sin px1 =w sin2 p‘=w 1 Duðx1 ; 0Þ ¼ Df ðx1 ÞL1 t1 2 ; k ¼ kt2 ; G ¼
where
2
ð7:27aÞ
k 1 T 1 1 ðt Þ L t2 ; 2 2
( rffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi rffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi! ) 2w p‘ 2 px1 2 p‘ 2 px1 ln 1 sin sin ; Df ðx1 Þ ¼ þ sin = cos p w w w w rffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi p‘ k ¼ w tan : w
Fig. 7.11 Collinear periodic cracks in an anisotropic elastic plate under uniform load at infinity
ð7:27bÞ
7.3 Collinear Cracks
177
Based upon the solutions provided in (7.26a, 7.26b)–(7.27a, 7.27b), function s733COPcrackUL is designed and presented in F140 of Appendix F. The input file for load and structure information is input_loadstr: a; W; 1; r1 ; a, or 1 1 1 1 1 1 1 1 1 1 a; W; 2; r1 1 ; r2 , or a; W; 3; s , or a; W; 4; s13 ; s23 , or a; W; 5; r11 ; r22 ; r33 ; r23 ; r13 ; r12 depending on the load case described in Sect. 4.1.1.
7.4
Collinear Interface Cracks
7.4.1 General Solutions—s741IFcrack Consider an arbitrary number of collinear cracks lying along the interface of two dissimilar anisotropic elastic materials. The materials are assumed to be perfectly bonded at all points of the interface x2 ¼ 0 except those lying in the region of cracks L (see Fig. 7.12), which are defined by the intervals given in (7.18a, 7.18b). On the upper and lower surfaces of the cracks, an arbitrary and self-equilibrated loading ^t is specified. In general, the solution to this problem can be expressed as u1 ¼ A1 f 1 ðzð1Þ Þ þ A1 f 1 ðzð1Þ Þ; /1 ¼ B1 f 1 ðzð1Þ Þ þ B1 f 1 ðzð1Þ Þ; u2 ¼ A2 f 2 ðzð2Þ Þ þ A2 f 2 ðzð2Þ Þ; /2 ¼ B2 f 2 ðzð2Þ Þ þ B2 f 2 ðzð2Þ Þ;
ð7:28Þ
where the subscripts 1 and 2 or the superscripts (1) and (2) denote materials 1 and 2, respectively. The complex function vectors f 1 ðzÞ and f 2 ðzÞ are determined by a potential function vector wðzÞ as f 1 ðzÞ ¼ B1 1 wðzÞ; f 2 ðzÞ ¼ B1 2 M
1
z 2 S1 ; M wðzÞ;
ð7:29Þ
z 2 S2 :
The differential of wðzÞ is a solution to the Hibert problem, i.e., Z 1 1 0 X0 ðzÞ ½X þ ðsÞ1^tðsÞds þ X0 ðzÞpn ðzÞ; w ðzÞ ¼ 2pi s z 0 L
ð7:30Þ
where pn ðzÞ is a polynomial vector with degree not higher than n, and X0 ðzÞ is a matrix of the basic Plemelj functions defined by X0 ðzÞ ¼ K\
n Y
ðz aj Þda ðz bj Þda 1 [ ;
ð7:31aÞ
j¼1
x2
S1 x1 a1 b1
a2
b2
a k bk
an
bn S2
Fig. 7.12 Collinear interface cracks between two dissimilar anisotropic elastic materials
178
7
Cracks
where K ¼ ½ k1
k2
k3 ;
ð7:31bÞ
da and ka ; a ¼ 1; 2; 3; are the eigenvalues and eigenvectors of (7.4). With the solution of wðzÞ determined by (7.30), the stresses r2 along the interface and the crack opening displacements Du can be obtained as r2 ðx1 ; 0Þ ¼ ðI þ M Duðx1 ; 0Þ ¼ iM
1
M Þw0 ðx1 Þ;
½wðx1þ Þ
when x1 62 L;
wðx 1 Þ;
when x1 2 L:
ð7:32Þ
Using the definition given in (5.37) or (5.47) for the stress intensity factors k of interface cracks, the stresses r2 along the interface, the crack opening displacements Du and the energy release rate G can all be written in terms of k as 1 r2 ¼ pffiffiffiffiffiffiffiffi K\ðr=‘Þda 1 [ K1 k; 2p‘ rffiffiffiffiffi 2‘ T ðr=‘Þda [ K1 k; Du ¼ K \ p 2da sinðpda Þ 1 G ¼ kT Ek; E ¼ D þ WD1 W: 4
ð7:33Þ
Note that in the matrix operation of (7.29) the subscript of z is dropped. After the matrix operation, a replacement of z1 ; z2 and z3 should be made for each function of f 1 ðzÞ and f 2 ðzÞ. If the stress intensity factors are defined in different ways (Rogel and Banks-Sills 2010; Banks-Sills and Ikeda 2011), the expressions shown in (7.33) should also be rewritten accordingly. Since the polynomial vector pn ðzÞ of (7.30) varies for different situations of collinear interface cracks, it is difficult to write a general code for any possible collinear interface cracks. On the other hand, if the stress intensity factors are known, based upon the relation (7.33) a general program can be coded to calculate the stresses along the interface, the crack opening displacements and the energy release rate. With this understanding, function s741IFcrack is designed and presented in F141 of Appendix F. The input file for load and structure information is input_loadstr: ‘; KI ; KII ; KIII .
7.4.2 Semi-infinite Interface Crack—s742SIFcrackPFs Consider a semi-infinite interface crack situated along the negative x1 -axis extending from x1 ¼ 0 to x1 ¼ 1 and opened by a point force ^t0 at x1 ¼ a on each side of the crack (Fig. 7.13). The solution to this problem can be expressed by Eq. (7.28) in which the complex function vectors f 1 ðzð1Þ Þ and f 2 ðzð2Þ Þ are 3 1 X f 1 ðz Þ ¼ \epek a1=2iek 2p k¼1 ð1Þ
3 1 X f 2 ðz Þ ¼ \epek a1=2iek 2p k¼1 ð2Þ
Z
ð1Þ1=2 þ iek
za
ð1Þ
Z
za þ a ð2Þ1=2 þ iek
za
ð2Þ
1^ 1 dzð1Þ a [ B1 KIk K t0 ;
ð7:34Þ dzð2Þ a
za þ a The stresses r2 along the interface can be obtained by (7.32)1 with w0 ðzÞ ¼
1 [ B1 M KIk K1^t0 : 2 M
1 K\epea ða=zÞ1=2iea [ K1^t0 : 2pðz þ aÞ
ð7:35Þ
With the solution given in (7.35), we have rffiffiffiffiffiffi 2 k¼ K\ða=‘Þiea cosh pea [ K1^t0 : pa
ð7:36Þ
7.4 Collinear Interface Cracks
179
x2
tˆ2
tˆ1
tˆ3
x1
tˆ3
tˆ1
a
tˆ2 Fig. 7.13 A semi-infinite interface crack subjected to point loads
The explicit real form solutions of k for the orthotropic bi-materials are obtained as rffiffiffiffiffiffi rffiffiffiffiffiffiffiffi 2 D11 sinðe ln a=‘Þ; KI ¼ cosh pe½^t2 cosðe ln a=‘Þ þ ^t1 pa D22 rffiffiffiffiffiffi rffiffiffiffiffiffiffiffi 2 D22 KII ¼ sinðe ln a=‘Þ; cosh pe½^t1 cosðe ln a=‘Þ ^t2 pa D11 rffiffiffiffiffiffi 2 ^t3 ; KIII ¼ pa
ð7:37Þ
in which D11 and D22 are the 11 and 22 components of the matrix D defined in (7.5). For isotropic materials, we have 2ð1 v21 Þ 2ð1 v22 Þ þ ; under plane strain condition, E1 E2 2 2 ¼ þ ; under generalized plane stress condition: E1 E2
D11 ¼ D22 ¼ D11 ¼ D22
ð7:38Þ
Based upon the solutions provided in (7.34)–(7.38), function s742SIFcrackPFs is designed and presented in F142 of Appendix F. The input file for load and structure information is input_loadstr: a; ‘; ^t1 ; ^t2 ; ^t3 . ð1Þ
ð2Þ
1
1 Note that f 2 ðzð2Þ Þ of (7.34) can be obtained from f 1 ðzð1Þ Þ with za and B1 M , respectively. 1 replaced by za and B2 M With this understanding, in the following subsections only the solution of f 1 ðzð1Þ Þ will be presented using the symbol f 1 ðzÞ with argument za for the interface crack problems.
7.4.3 Finite Interface Crack—s743_1IFcrackPFs, S743_2IFcrackUL Point load Consider an interface crack located on a x1 a, subjected to a point load ^t0 at x1 ¼ c on each side of the crack (Fig. 7.14). For this problem, we have
180
7
Cracks
x2
tˆ2
tˆ1
tˆ3
x1
tˆ3
tˆ1
tˆ2 c
a
a Fig. 7.14 An interface crack subjected to point loads
sffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
Z epek a þ c iek 1 a2 c2 za a iek 1^ f 1 ðzÞ ¼ \ dza [ B1 1 KIk K t0 ; 2 a2 z þ a a c c z 2p z a a a k¼1 rffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
epea a þ c iea 1 a2 c2 z a iea 0 [ K1^t0 ; w ðzÞ ¼ K\ 2p a c c z z2 a2 z þ a rffiffiffiffiffiffiffiffiffiffiffi 1 aþc ‘ða þ cÞ iea K\ cosh pea [ K1^t0 ; for the right tip: k ¼ pffiffiffiffiffiffi 2aða cÞ pa a c 3 X
For orthotropic bi-materials, we have rffiffiffiffiffiffiffiffiffiffiffi rffiffiffiffiffiffiffiffi
1 aþc 2aða cÞ D11 2aða cÞ cosh pe ^t2 cos e ln sin e ln KI ¼ pffiffiffiffiffiffi þ ^t1 ; ‘ða þ cÞ ‘ða þ cÞ D22 pa a c rffiffiffiffiffiffiffiffiffiffiffi rffiffiffiffiffiffiffiffi
1 aþc 2aða cÞ D22 2aða cÞ ^ ^ p ffiffiffiffiffi ffi cosh pe t1 cos e ln sin e ln t2 ; KII ¼ ‘ða þ cÞ ‘ða þ cÞ D11 pa a c rffiffiffiffiffiffiffiffiffiffiffi 1 aþc ^t3 : KIII ¼ pffiffiffiffiffiffi pa a c
ð7:39Þ
ð7:40Þ
Remarks on computer coding The functions f 1 ðzÞ and w0 ðzÞ of (7.39) consist of the basic Plemelj function X0 ðzÞ. As stated in (7.24a, 7.24b)–(7.25a, 7.25b, 7.25c), to calculate this function correctly we need to code the computer program by the following way,
1 za þ a iek pffiffiffiffiffiffiffiffiffiffiffiffiffiffi ¼ðza þ aÞ1=2iek ðza aÞ1=2 þ iek 2 2 z a za a a ih1 1=2iek
¼ðr1 e Þ
ih2 1=2 þ iek
ðr2 e Þ
;
ð7:41aÞ
7.4 Collinear Interface Cracks
181
x2
ˆt
x1
a
a
Fig. 7.15 An interface crack subjected to uniform loads
where za þ a ¼ r1 eih1 ; za a ¼ r2 eih2 ; p h1 ; h2 p:
ð7:41bÞ
Based upon the solutions provided in (7.39)–(7.40) and the remarks stated in (7.41a, 7.41b), function s743_1IFcrackPFs is designed and presented in F143 of Appendix F. The input file for load and structure information is input_loadstr: a; c; ‘; ^t1 ; ^t2 ; ^t3 . Uniform load ^12 r ^22 r ^23 gT (=constant) on each Consider an interface crack located on a x1 a, subjected to a uniform load ^tðsÞ ¼ fr side of the crack (Fig. 7.15). The solution to this problem has been found to be
qffiffiffiffiffiffiffiffiffiffiffiffiffiffi za a iek 1 1 1 z2a a2 [ B1 M Þ ^t; 1 KIk K ðI þ M z þ a a k¼1
3 X za þ 2iaek za a iek 1 1 1 f 01 ðzÞ ¼ \1 pffiffiffiffiffiffiffiffiffiffiffiffiffiffi [ B1 M Þ ^t; 1 KIk K ðI þ M 2 2 z þ a za a a k¼1
z þ 2iea a z a iea 1 [ K1 ðI þ M M Þ1^t; w0 ðzÞ ¼ K\1 pffiffiffiffiffiffiffiffiffiffiffiffiffiffi 2 2 z þ a z a pffiffiffiffiffiffi k ¼ paK\ð1 þ 2iea Þð2a=‘Þiea [ K1^t: For orthotropic bimaterials, we have pffiffiffiffiffiffi KI ¼ paf^ r22 ½cosðeln2a=‘Þ þ 2e sinðeln2a=‘Þ pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ^12 D11 =D22 ½sinðeln2a=‘Þ 2e cosðeln2a=‘Þg; þr pffiffiffiffiffiffi KII ¼ paf^ r12 ½cosðeln2a=‘Þ þ 2e sinðeln2a=‘Þ pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ^ r22 D22 =D11 ½sinðeln2a=‘Þ 2e cosðeln2a=‘Þg; pffiffiffiffiffiffi ^32 : KIII ¼ par f 1 ðzÞ ¼
3 X
\za
ð7:42Þ
ð7:43Þ
Based upon the solutions provided in (7.42)–(7.43), function s743_2IFcrackUL is designed and presented in F144 of Appendix F. The input file for load and structure information is input_loadstr: a; ‘; ^t1 ; ^t2 ; ^t3 .
182
7
Cracks
Fig. 7.16 Two collinear interface cracks subjected to uniform loads at infinity
7.4.4 Two Collinear Interface Cracks—s744CO2IFcrackUL Consider two collinear interface cracks located on ða1 ; b1 Þ and ða2 ; b2 Þ subjected to uniform load r1 ij at infinity (Fig. 7.16). If the crack surfaces are traction free, we have f 1 ðzÞ ¼
3 X
Z \
k¼1
1 1 1 1 1 ðk1k z2a þ k2k za þ k3k ÞXk ðza Þdza [ B1 M Þ t2 ; 1 KIk K ðI þ M k1k ð7:44aÞ
1 1 w0 ðzÞ ¼ K\ ðk1a z2 þ k2a z þ k3a ÞXa ðzÞ [ K1 ðI þ M M Þ1 t1 2 ; k1a pffiffiffiffiffiffi k ¼ 2pK\ka [ K1 t1 2 ; where a 1 ðz b1 Þðz b2 Þ ie Xa ðzÞ ¼ pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ; ðz a1 Þðz b1 Þðz a2 Þðz b2 Þ ðz a1 Þðz a2 Þ Z b2 Z b2 Z b1 Z b1 va ðx1 Þdx1 x1 va ðx1 Þdx1 þ x1 va ðx1 Þdx1 va ðx1 Þdx1 ; k1a ¼ Z k2a ¼ k3a ¼
a1 b1
a1 Z b1 a1
and
Z va ðx1 Þdx1
a2 b2
a2
x21 va ðx1 Þdx1
x21 va ðx1 Þdx1
Z
b2
a2
Z
a1 b1 a1
Z
x1 va ðx1 Þdx1
x21 va ðx1 Þdx1 b1
a1
Z
va ðx1 Þdx1 ;
a2
Z
x1 va ðx1 Þdx1
ð7:44bÞ
a2 b2
b2 a2
x21 va ðx1 Þdx1 ;
a 1 ðb1 x1 Þðb2 x1 Þ ie ; a1 x 1 b1 ; va ðx1 Þ ¼ pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ðx1 a1 Þðb1 x1 Þða2 x1 Þðb2 x1 Þ ðx1 a1 Þða2 x1 Þ a 1 ðx1 b1 Þðb2 x1 Þ ie ; a2 x 1 b2 ; va ðx1 Þ ¼ pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ðx1 a1 Þðx1 b1 Þðx1 a2 Þðb2 x1 Þ ðx1 a1 Þðx1 a2 Þ
ð7:44cÞ
7.4 Collinear Interface Cracks
a k1a a21 þ k2a a1 þ k3a ðb1 a1 Þðb2 a1 Þ ie pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ka ¼ ; ‘ða2 a1 Þ k1a ðb1 a1 Þða2 a1 Þðb2 a1 Þ iea k1a b21 þ k2a b1 þ k3a ‘ðb2 b1 Þ pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ; ¼ k1a ðb1 a1 Þða2 b1 Þðb2 b1 Þ ðb1 a1 Þða2 b1 Þ a k1a a22 þ k2a a2 þ k3a ða2 b1 Þðb2 a2 Þ ie pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ; ¼ ‘ða2 a1 Þ k1a ða2 a1 Þða2 b1 Þðb2 a2 Þ iea k1a b22 þ k2a b2 þ k3a ‘ðb2 b1 Þ pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ; ¼ k1a ðb2 a1 Þðb2 b1 Þðb2 a2 Þ ðb2 a1 Þðb2 a2 Þ
183
x 1 ¼ a1 ; x 1 ¼ b1 ; ð7:44dÞ x 1 ¼ a2 ; x 1 ¼ b2 :
Based upon the solutions provided in (7.44a–7.44d), function s744CO2IFcrackUL is designed and presented in F145 of 1 1 Appendix F. The input file for load and structure information is input_loadstr: a1 ; b1 ; a2 ; b2 ; ‘; r1 12 ; r22 ; r23 .
7.5
Examples
7.5.1 Near Tip Solutions Example 1: A Semi-infinite Crack Consider a crack in a semi-infinite plate subjected to a unidirectional tension whose stress intensity factors pffiffiffiffi KI ¼ 30:41 MPa m; KII ¼ KIII ¼ 0. The plate is made of an isotropic elastic material whose Young’s modulus and Poisson’s ratio are shown on Example 1 of Table 3.1. Calculate the near tip stresses, strains, and displacements starting from the crack tip (0,0) to (0.1,0)m, in which 100 equally distributed points are evaluated in x1 direction. Generalized plane stress is assumed for all cases treated in this section. To find the solution of this problem, one should prepare the following four input files. input_control: 1 2 711 1 0 1e9 0.001 1e–6; 1 0 0 0 input_elastic1: 300e9 0.25 input_loadstr: 3.041e7 0 0 input_variable: 1 1 0 0 0.1 0 100 Example 2: A Semi-infinite Interfacial Crack Consider a semi-infinite interfacial crack between two dissimilar anisotropic materials whose elastic properties are given in Examples 5 and 6 of Table 3.1 with fibers oriented counterclockwisely −45° and 45° from x1-axis, respectively. If under a pffiffiffiffi certain loading condition, the stress intensity factors of the interfacial crack are KI ¼ 70:94 MPa m; KII ¼ pffiffiffiffi 27:07 MPa m; KIII ¼0: To calculate the near tip stresses, strains, and displacements starting from the crack tip (0,0) to (0.1,0)m with 100 equally distributed points, one should prepare the following four input files. input_control: 2 2 712 1 0 1.0e9 0.001 1.0e–6; 5 0 0 0; 5 0 0 0 input_elastic1: 181e9 10.3e9 7.17e9 0.28 −45 input_elastic2: 138e9 9e9 6.9e9 0.3 45 input_loadstr: 100 7.094e7 2.707e7 0 input_variable: 1 1 0 0 0 0.1 100 Example 3: A Crack Terminating at the Interface of a Bi-material As shown in Fig. 7.3, there is a crack terminating at the interface of a bi-material whose properties are the same as those of Example 2. The direction of the inclined crack is represented by a ¼ 45o . To know the singular orders and eigenfunctions of this problem, one should prepare the following four input files.
184
7
Cracks
input_control: 3 2 713 0 0 1.0e9 0.001 1.0e–6; 5 0 0 0; 5 0 0 0; 5 0 0 0 input_elastic1: 181e9 10.3e9 7.17e9 0.28 −45 input_elastic2: 138e9 9e9 6.9e9 0.3 45 input_elastic3:181e9 10.3e9 7.17e9 0.28 −45 input_loadstr: 45
7.5.2 Finite Straight Crack Example 1: Uniform Load at Infinity Consider an infinite plate with a crack of length 2 cm subjected to a uniform tension r1 ¼ 30 MPa in the direction of x2axis. The plate is made of an isotropic material whose Young’s modulus and Poisson’s ratio are shown on Example 1 of Table 3.1. Calculate the stresses, strains, and displacements of this plate for a rectangular surface region centered at (0, 0) with width and length both equal to 20 cm. Also, plot the deformation for this rectangular region, in which 20 equally distributed points are evaluated in both x1 and x2 directions. To find the solution of this problem, one should prepare the following four input files. input_control: 1 2 721 2 1 1e9 0.001 1e–6; 1 0 0 0 input_elastic1: 300e9 0.25 input_loadstr: 0.01 0 1 30e6 90 input_variable: 1 −0.1 −0.1 0.1 0.1 20 20 0 Example 2: In-plane Bending at Infinity The same plate and the same region as those of Example 1 are considered for the calculation of stresses, strains, and displacements, except that the uniform tension is replaced by a pure bending M ¼ 1 N m with a ¼ 90 (see Fig. 7.5). The moment of inertia about x3-axis of the plate is I = 103 mm4. To find the solution of this problem, one should prepare the following four input files. input_control: 1 2 722 2 1 1e9 0.001 1e–6; 1 0 0 0 input_elastic1: 300e9 0.25 input_loadstr: 0.01 0 1 90 10e–9 input_variable: 1 −0.1 −0.1 0.1 0.1 20 20 0 Example 3: Load on the Crack Surfaces Same plate with the same crack as Example 1 is considered, except the material and the load are changed. The material of the plate is replaced by an orthotropic material whose elastic properties are shown on Example 2 of Table 3.1. The load is replaced by a distributed load on the crack surfaces, which can be represented by the coefficients of Fourier series as shown in (6.17). For the present example these coefficients are d1 ¼ ð0; 3 105 ; 0ÞT , and all the others are zeros. To calculate the stresses, strains, displacements of this plate for a rectangular surface region centered at (0, 0) with width and length both equal to 40 cm, one should prepare the following four input files. input_control: 1 2 723 2 1 1e9 0.001 1e–6; 2 0 0 0 input_elastic1: 134e9 11e9 11e9 2.98e9 5.84e9 5.84e9 0.49 0.3 0.3 0 input_loadstr: 0.010 3; 0 0 0; 0 0 0; 0 0 0; 0 0 0; 0 −3e5 0; 0 0 0; 0 0 0 input_variable:1 −0.2 −0.2 0.2 0.2 20 20 0 Example 4: Point Force or Dislocation All the details are the same as those of Example 1 except that the uniform tension is now replaced by a point force ^ ¼ ð1; 0; 0Þmm) applied at the internal point ^ ^ ¼ ð10; 10; 0ÞN (or a dislocation b p x ¼ ð0:05; 0:05Þm. Thus, four input files should be prepared as follows.
7.5 Examples
185
input_control: 1 2 724 (or 725) 2 1 1e9 0.001 1e−6; 1 0 0 0 input_elastic1: 300e9 0.25 input_loadstr: 0.01 0 10 10 0 (or 0.001 0 0 for case 725) 0.05 0.05 input_variable: 1 −0.1 −0.1 0.1 0.1 20 20 0
7.5.3 Collinear Cracks Example 1: Two Collinear Cracks Consider an infinite plate with two collinear cracks subjected to a uniform tension r1 ¼ 10 MPa in the direction of x2-axis. The position of two cracks is represented by a1 ¼ 0:04; b1 ¼ 0:03; a2 ¼ 0:05; b2 ¼ 0:06; with unit: m (see Fig. 7.10). The plate is made of an isotropic elastic material whose Young’s modulus and Poisson’s ratio are given in Example 1 of Table 3.1. To calculate the stresses, strains, and displacements of this plate on a line starting from point (−0.1, 0)m to (0.1, 0) m with 100 equally distributed points, one should prepare the following four input files. input_control: 1 2 732 1 1 1e9 0.001 1e–6; 1 0 0 0 input_elastic1: 300e9 0.25 input_loadstr: −0.04 −0.03 0.05 0.06 1 10e6 90 input_variable: 1 1 −0.1 0 0.1 0 100 Example 2: Collinear Periodic Cracks Consider an infinite plate with an infinite row of evenly spaced collinear cracks subjected to a uniform tension r1 ¼ 10 MPa in the direction of x2-axis. All cracks have the same length of 2 cm, and the distance between the crack centers is 5 cm. Same material as that of Example 1 is considered. To calculate the stresses, strains and displacements starting from (−0.5, 0)m to (0.5, 0)m, one should prepare the following four input files. input_control: 1 2 733 1 1 1e9 0.001 1e–6; 1 0 0 0 input_elastic1: 300e9 0.25 input_loadstr: 0.01 0.05 1 10e6 90 input_variable: 1 1 −0.5 0 0.5 0 100
7.5.4 Collinear Interface Cracks Example 1: General Solutions for Collinear Interface Cracks pffiffiffiffi Consider a problem of collinear interface cracks whose stress intensity factors are KI ¼ KII = 2 MPa m; KIII ¼ 0. The elastic properties of two dissimilar materials (where the interface cracks locate) are given in Examples 5 and 6 of Table 3.1 with fibers oriented counterclockwisely −45° and 45° from x1-axis, respectively. To know the energy release rate, the crack opening displacements behind the crack tip, and the stresses ahead of the crack tip within the range of 0.5 m, one should prepare the following five input files. input_control: 2 2 741 1 1 1.0e9 0.001 1.0e–6; 5 0 0 0; 5 0 0 0 input_elastic1: 181e9 10.3e9 7.17e9 0.28 −45 input_elastic2: 138e9 9e9 6.9e9 0.3 45 input_loadstr: 1 2e6 2e6 0 input_variable: 1 1 −0.5 0 0.5 0 100 Example 2: A Semi-infinite Interface Crack As shown in Fig. 7.13, a semi-infinite interface crack subjected to a pair of point loads is considered. The load is ^t0 ¼ ð20; 30; 0ÞT MN located at x1 = −2 cm. The two dissimilar materials are the same as those of Example 1. To find the stress intensity factors of this plate, and to calculate the stresses, strains and displacements on a line starting from (−0. 1, 0)m to (0.1, 0)m with 100 equally distributed points, one should prepare the following five input files.
186
7
Cracks
input_control:2 2 742 1 1 1.0e9 0.001 1.0e–6; 5 0 0 0; 5 0 0 0 input_elastic1: 181e9 10.3e9 7.17e9 0.28 −45 input_elastic2: 138e9 9e9 6.9e9 0.3 45 input_loadstr: 0.02 100 20e6 30e6 0 input_variable: 1 1 −0.1 0 0.1 0 100 Example 3: A Finite Interface Crack Consider an interface crack located on 1 x1 1 (with unit: cm) subjected to a pair of point load ^t0 ¼ ð0; 30; 0ÞT MN located at x1 = 0.5 cm on each side of the crack (see Fig. 7.14). The two dissimilar materials are the same as those of Example 1. To find the stress intensity factors of this plate, and to calculate the stresses, strains and displacements on a line starting from (−0.1, 0)m to (0.1, 0)m with 100 equally distributed points, one should prepare the following five input files. input_control: 2 2 7431 1 1 1.0e9 0.001 1.0e–6; 5 0 0 0; 5 0 0 0 input_elastic1: 181e9 10.3e9 7.17e9 0.28 −45 input_elastic2: 138e9 9e9 6.9e9 0.3 45 input_loadstr: 0.01 5e–3 100 0 30e6 0 input_variable: 1 1 −0.1 0 0.1 0 100 If all the conditions remain unchanged only the load is replaced by a uniformly distributed load ^t ¼ ð0; 30; 0ÞT Mpa, to find the solutions one should prepare the following input files. input_control: 2 2 7432 1 1 1.0e9 0.001 1.0e–6; 5 0 0 0; 5 0 0 0 input_elastic1: 181e9 10.3e9 7.17e9 0.28 −45 input_elastic2: 138e9 9e9 6.9e9 0.3 45 input_loadstr: 0.01 100 0 30e6 0 input_variable: 1 1 −0.1 0 0.1 0 100 Example 4: Two Collinear Interface Cracks Consider an infinite plate with two collinear interface cracks subjected to a uniform tension r1 ¼ 30 MPa in the direction of x2-axis. The position of two cracks is represented by a1 ¼ 0:05; b1 ¼ 0:04; a2 ¼ 0:03; b2 ¼ 0:04; with unit: m (see Fig. 7.16). If all the other conditions are the same as Example 3, to find the solutions of this problem, one should prepare the following five input files. input_control: 2 2 744 1 1 1.0e9 0.001 1.0e–6; 5 0 0 0; 5 0 0 0 input_elastic1: 181e9 10.3e9 7.17e9 0.28 −45 input_elastic2: 138e9 9e9 6.9e9 0.3 45 input_loadstr: −0.05 −0.04 0.03 0.04 100 0 30e6 0 input_variable: 1 1 −0.1 0 0.1 0 100
References Banks-Sills, L., and T. Ikeda. 2011. Stress intensity factors for interface cracks between orthotropic and monoclinic material. International Journal of Fracture 167: 47–56. Hwu, C. 2012. Matrix form near tip solutions of interface corners. International Journal of Fracture 176: 1–16. Rogel, L., and L. Banks-Sills. 2010. A through interface crack between a transversely isotropic pair of materials (+30°/ − 60°, −30°/ + 60°) . Engineering Fracture Mechanics 77: 3261–3291.
8
Inclusions
Inclusion is a foreign solid enclosed in the matrix. Due to the material discontinuity across the interface, stress distributions around the inclusion have a significant change. Some analytical solutions were presented in Hwu (2010) for certain specific situations in which the inclusions can be elastic or rigid whose shapes may be elliptical, line or polygon-like. Based upon these solutions, some matlab functions are designed. Sections 8.1 and 8.2 shows the functions for the problems with elastic or rigid inclusions subjected to a uniform load at infinity or a concentrated force at the matrix. The interactions between inclusion and dislocations are considered in Sect. 8.3, in which the dislocations may be located outside, inside or on the interface. By treating the crack as a distribution of dislocations, the inclusions with cracks outside, inside, penetrating, or along the interface are then considered in Sect. 8.4. Functions for common use and examples for inclusion problems are presented in the last two sections.
8.1
Elliptical Elastic Inclusions
Consider an infinite plate containing an elliptical inclusion subjected to arbitrary loadings at the matrix. By Stroh formalism (2.6) with the transformed variable fa defined in (6.4), the general solution of this problem can be written as u1 ¼ 2RefA1 ½f 0 ðfÞ þ f 1 ðfÞg;
u2 ¼ 2RefA2 f 2 ðf Þg;
/1 ¼ 2RefB1 ½f 0 ðfÞ þ f 1 ðfÞg;
/2 ¼ 2RefB2 f 2 ðf Þg;
f 2 S1 ;
f 2 S2 ;
ð8:1Þ
in which the subscripts 1 and 2 denote, respectively, the values related to the matrix and inclusion, and the superscript * denotes the value related to the inclusion. If the complex function vector f 0 associated with the solutions of homogeneous media is known and expressed in Taylor’s expansion as f 0 ðfÞ ¼
1 X
\fk a [ ek ;
ð8:2Þ
k¼0
satisfaction of displacement and traction continuity across the interface leads to (Hwu 2010) f 1 ðfÞ ¼
1 X k¼1
\fk a [ dk ;
f 2 ðf Þ ¼
1 X
\ðfa Þk þ ðca =fa Þk [ ck ;
ð8:3aÞ
k¼1
where
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2021 C. Hwu, Anisotropic Elasticity with Matlab, Solid Mechanics and Its Applications 267, https://doi.org/10.1007/978-3-030-66676-7_8
187
188
8 Inclusions k dk ¼ B1 1 fB2 ck þ B2 \ca [ ck B1 ek g; 1
1
ck ¼ ðGo Gk G0 Gk Þ1 ðtk Gk G0 tk Þ; k ¼ 1; 2; . . .1; pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 2 2 2 za þ z2a a2 b2 l2a z þ z2 a a b la ; fa ¼ a ; fa ¼ a ibla a ibla za ¼ x1 þ la x2 ;
za ¼ x 1 þ l a x 2 ;
ca ¼
a þ ibla ; a ibla
ð8:3bÞ
a ¼ 1; 2; 3;
and G0 ¼ ðM1 þ M2 ÞA2 ;
Gk ¼ ðM1 M2 ÞA2 \ck a [;
tk ¼ iAT 1 ek :
ð8:3cÞ
In (8.3b, 8.3c), Mk ; k ¼ 1; 2; are the impedance matrices defined in the extended symbol (8) of Sect. 2.5.5, and 2a, 2b are the major and minor axes of the ellipse. The interfacial stresses along the inclusion boundary can be calculated by using the relations given in (2.18) in which /1;s ; /2;s ; /1;n ; /2;n of the present problem are /1;s ¼ /2;s ¼ /;s ¼
1 X 2k k¼1
/1;n ¼ /2;n ¼
1 X 2k k¼1 1 X
q
q
2ikw Im eikw B2 \ck [ ck ; a e
Im eikw B1 \la ðhÞ [ ðdk e2ikw ek Þ ;
ð8:4aÞ
2k ikw 2ikw Im e B2 \la ðhÞðck Þ [ ck ; a e q k¼1
where la ðhÞ ¼
la cosh sinh l cosh sinh ; l ðhÞ ¼ a : la sinh þ cosh a la sinh þ cosh
ð8:4bÞ
The distance q and the relation between w and h can be found in (6.2). If the complex function vector f 0 is expressed in Laurent’s expansion as f 0 ðfÞ ¼
1 X
\fka þ ðca =fa Þk [ ek ;
k¼1
ca ¼
a þ ibla ; a ibla
the solutions shown in (8.3a, 8.3b, 8.3c) and (8.4a, 8.4b) will keep the same form except that k dk ¼ B1 B2 ck þ B2 \ck 1 a [ ck B1 ek B1 \ca [ ek ; 1 X 2k ikw Im e /1;n ¼ B1 \la ðhÞ [ ðdk þ \cka e2ikw [ ek Þ : q k¼1
ð8:5Þ
ð8:6Þ
Note that it has been proved that the coefficient vector dk shown in (8.3b) and (8.6) can also be calculated, respectively, by k dk ¼ A1 1 fA2 ck þ A2 \ca [ ck A1 ek g;
ð8:7aÞ
k dk ¼ A1 A2 ck þ A2 \ck 1 a [ ck A1 ek A1 \ca [ ek :
ð8:7bÞ
and
The solutions shown in (8.1)–(8.7a, 8.7b) are for the general loading conditions. Associated with the coefficient vectors ck ; dk ; k ¼ 1; 2; . . .; 1 of (8.3b)1,2, two matrices Ck and Ek are defined as 1
1
Ck ¼ ðG0 Gk G0 Gk Þ1 ðTk þ Gk G0 Tk Þ; B2 Ck B2 \ck Ek ¼ B1 1 a [ Ck ;
ð8:8Þ
8.1 Elliptical Elastic Inclusions
189
in which Tk depends on the loading and inclusions considered in the problem. To have a precise notation for each particular load or inclusion, some symbols used later in this Chapter are listed below. T 1 q1 ¼ AT1 t1 2 þ B1 e1 : coefficient vector for uniform load;
ð8:9aÞ
1 ce1 ¼ c1 (Eq:ð8.3b)2 Þ; de1 ¼ d1 (Eq:ð8.6)1 Þ with e1 ¼ ee1 ¼ \a ibla [ q1 ; 2 1 ^k c c c ^; f [ AT1 p ck ¼ ck (Eq:ð8.3b)2 Þ; dk ¼ dk (Eq:ð8.3b)1 Þ with ek ¼ ek ¼ \ 2pik a
ð8:9bÞ
i T Eck ¼ Ek ; Cck ¼ Ck with Tk ¼ AT \^fk a [ A1 ; k 1 i T Eok ¼ Ek ; Cok ¼ Ck with Tk ¼ AT \^fk a [ B1 ; k 1 1 T EIk ¼ Ek ; CIk ¼ Ck with Tk ¼ ðM1 M2 ÞA2 \ð^fa Þk þ ðca =^fa Þk [ B2 ; k 1 T Ekf ¼ Ek ; Ckf ¼ Ck with Tk ¼ ðM1 M2 ÞA2 \ðca =^fa Þk [ Bf ; k
ð8:9cÞ
1 1 vr1 ¼ A1 ðae1 1 þ ibe2 xkÞ; 2 a 1 1 A fðe1 þ ice1 vp1 ¼ 2 Þ xði2 ici1 Þg; 2 ae 1 1 A fðe1 ie1 vpk ¼ 2 Þ xði2 þ ii1 Þg; 2
ð8:9dÞ
T
Dck ¼ B1 1 B1 Ik A1 ;
T
Drk ¼ A1 AIk A ;
Dok ¼ B1 1 B1 Ik B1 ; T
k ¼ 1; 2; 3;
k 1 T 2ikw ^k T ^ B1 f B \ [ A e \ f [ A 1 1 a 1 1 ; a k 1 FIk ¼ EIk B1 B2 \ð^fa Þk þ ðca =^fa Þk [ BT2 ; k 1 1 B2 \ðca =^fa Þk [ Bf : Fkf ¼ Ekf B1 k 1
ð8:9eÞ
Fck ¼ Eck
ð8:9fÞ
In the above, the superscripts e, c, o, I, f, r, p, denote, respectively, the values related to the problems with elastic inclusion, concentrated force, outside dislocation, inside dislocation, interface dislocation, rigid inclusion, and polygon-like inclusion; 1 ^ t1 2 and e1 of (8.9a) are the vectors defined in (4.4b) which are related to the uniform load applied at infinity; fa of (8.9b) is ^ of (8.9b) is the applied concentrated force; x of (8.9d) are the rigid body defined in (8.3b) for fa with za replaced by ^za ; p rotation of the rigid inclusion relative to the matrix; a; c; e of (8.9d) are the parameters of (6.39) which are used to describe a polygon-like inclusion; i1 ; i2 of (8.9d) and Ik of (8.9e) are defined in the extended symbol (3) of Sect. 2.5.5. Bf of (8.9c) and (8.9f) are the matrix defined by 1
1
1
1
Bf ¼ ðA1 A2 B1 B2 Þ1 ðA1 A1 B1 B1 ÞBT1 : Note that some symbols listed in (8.9a, 8.9b, 8.9c, 8.9d, 8.9e, 8.9f) are related, such as k 1 c 1 1 T ^ ^; dck ¼ Ck p Eck B1 f cck ¼ B \ [ A 1 1 ; a 2pi 2pi k 1
ð8:10Þ
ð8:11aÞ
and tk ¼
1 ^; Tk p 2pi
if ek ¼ \
1 ^k ^: f [ AT1 p 2pik a
ð8:11bÞ
190
8 Inclusions
8.1.1 Uniform Load at Infinity—s811EEincluUL In the case when the elastic inclusion in an infinite matrix is subjected to a uniform load at infinity (Fig. 8.1), the function vectors f 0 , f 1 and f 2 of (8.1) which are used for the calculation of displacements and stress functions in the entire field have been obtained as f 0 ðfÞ ¼ \za [ q1 ;
e f 1 ðfÞ ¼ \f1 a [ d1 ;
f 2 ðfÞ ¼ \
2za [ ce1 ; a ibla
ð8:12Þ
where q1 , ce1 and de1 are defined in (8.9a) and (8.9b). The derivatives necessary for the calculation of strains and stresses in the full field domain, and the derivatives of the stress functions used for the calculation of the interfacial stresses along the inclusion boundary are @za @za @f1 @f1 a ¼ 1; ¼ la ; a ¼ f2 f ; ¼ f2 a;1 a a fa;2 ; @x1 @x2 @x1 @x2 @za @z ¼ 1; a ¼ la ; @x1 @x2
Fig. 8.1 An anisotropic elastic plate with an elliptical elastic inclusion under uniform load at infinity
ð8:13aÞ
8.1 Elliptical Elastic Inclusions
191
and 2 /1;s ¼ /2;s ¼ Im eiw B2 \ca e2iw [ ce1 ; q 2 iw /1;n ¼ Im e B1 \la ðhÞ [ ðde1 þ \ca e2iw [ ee1 Þ ; q 2 /2;n ¼ Im eiw B2 \la ðhÞðca e2iw Þ [ ce1 : q
ð8:13bÞ
In (8.13a), the explicit expressions of fa;1 and fa;2 have been shown in (6.5b). Based upon the solutions shown in (8.12) and (8.13a, 8.13b), function s811EEincluUL is designed and presented in F146 of Appendix F. The input file for load and 1 1 1 1 structure information is input_loadstr: a; b; 1; r1 ; a, or a; b; 2; r1 1 ; r2 , or a; b; 3; s , or a; b; 4; s13 ; s23 , or 1 1 1 1 1 1 a; b; 5; r11 ; r22 ; r33 ; r23 ; r13 ; r12 depending on the load case described in Sect. 4.1.1.
8.1.2 A Point Force at the Matrix—s812EEincluPFm ^ ¼ ð^ Consider an infinite anisotropic elastic medium containing an elastic inclusion subjected to a point force p p1 ; ^p2 ; ^p3 Þ at the position ^x ¼ ð^x1 ; ^x2 Þ in the matrix (Fig. 8.2). The function vectors f 0 , f 1 and f 2 of (8.1) have been obtained as
Fig. 8.2 An anisotropic elastic plate with an elliptical elastic inclusion subjected to a point force at the matrix
192
8 Inclusions
1 ^; \ lnðfa ^fa Þ lnð^fa Þ [ AT1 p 2pi ( ) 3 1 X 1 X 1 k c c ^ ^ ^; f 1 ðfÞ ¼ \ lnðfa fk Þ lnðfk Þ [ Dk þ \fa [ Ek p 2pi k¼1 k¼1
f 0 ðfÞ ¼
f 2 ðf Þ ¼
ð8:14Þ
1 1 X ^; \ðfa Þk þ ðca =fa Þk [ Cck p 2pi k¼1
in which Dck ; Eck ; Cck are defined in (8.9e) and (8.9c). The derivatives used for the calculation of the interfacial stresses are /1;s ¼ /2;s ¼
1 X k k¼1
/1;n ¼ /2;n ¼
1 X k k¼1 1 X
pq
pq
2ikw ^; Re eikw B2 \ck [ Cck p a e
^; Re eikw B1 \la ðhÞ [ Fck p
ð8:15aÞ
k ikw 2ikw ^: Re e B2 \la ðhÞðck Þ [ Cck p a e pq k¼1
The second equation of (8.15a) can be proved to be equivalent to /1;n ¼
n o 2 ^ G3 ðhÞRe B1 \ieiw ðeiw ^fa Þ1 [ AT1 p pq 1 X k ^; Re eikw B1 \la ðhÞ [ Eck p pq k¼1
ð8:15bÞ
in which the first term is the same as that of hole problem (see Eq. (6.20)3). Note that the solutions listed in (8.14) are different from those published in (Hwu and Yen 1993, Hwu 2010) by the P ^=2pi and 3k¼1 \ lnð^fk Þ [ Dck p ^=2pi. Without constant terms appeared in f 0 ðfÞ and f 1 ðfÞ, i.e., \ lnð^fa Þ [ AT1 p these two constant terms, the displacements across the interface will be discontinuous (Hsu and Hwu 2020). Based upon the solutions shown in (8.14) and (8.15a, 8.15b), function s812EEincluPF is designed and presented in F147 of Appendix F. The input file for load and structure information is input_loadstr: a; b; ^ p1 ; ^ p2 ; ^ p3 ; ^x1 ; ^x2 ; ns where ns is the estimated number of terms for infinite series, and is suggested to be 20 for usual cases.
8.2
Rigid Inclusions
Holes are the extreme cases of elastic inclusions for which the inclusion is extraordinary soft relative to the matrix. The other extreme case is rigid inclusion which means that the inclusion is absolutely rigid and cannot be deformed. In this case, a rigid body rotation x relative to the matrix may occur. Since no deformation is considered for the rigid inclusion, in this section the subscripts 1 and 2 used to distinguish matrix and inclusion are omitted for simplicity. The general solution for this problem can therefore be written as u ¼ 2RefA½f 0 ðfÞ þ f 1 ðfÞg;
/ ¼ 2RefB½f 0 ðfÞ þ f 1 ðfÞg;
ð8:16Þ
where f 0 ðfÞ is a function vector associated with the solutions of homogeneous media, and f 1 ðfÞ can be determined by the method of analytic continuation (Hwu 2010).
8.2 Rigid Inclusions
193
8.2.1 Elliptical Rigid Inclusions—s821_1ERincluUL, s821_2ERincluPF Uniform load at infinity Consider an infinite anisotropic elastic plate containing an elliptical rigid inclusion subjected to a uniform load at infinity (Fig. 8.3). The function vectors f 0 and f 1 of (8.16) to this problem has been obtained as f 0 ðfÞ ¼ \za [ q1 ;
r f 1 ðfÞ ¼ \f1 a [ v1 ;
ð8:17Þ
where q1 and vr1 are defined in (8.9a) and (8.9d) in which x¼
1 RefkT Mðae1 1 þ ibe2 Þg ; kT Mk
kT ¼ ðib; a; 0Þ:
ð8:18Þ
The denominator of (8.18) has been proved to be real, nonzero positive and its component form is kT Mk ¼ a2 ðH1 Þ22 þ 2abðH1 SÞ21 þ b2 ðH1 Þ11 :
ð8:19Þ
The derivatives of the stress function used for the calculation of the interfacial stresses are /;n ¼ /1 ;n þ
Fig. 8.3 An anisotropic elastic plate with an elliptical rigid inclusion under uniform load at infinity
2 Imfeiw B\la ðhÞ [ vr1 g; q
/;s ¼ /1 ;s þ
2 Imfeiw Bvr1 g; q
ð8:20aÞ
194
8 Inclusions
where 1 1 1 1 1 /1 ;n ¼ sin ht2 cos ht1 ; /;s ¼ cos ht2 sin ht1 :
ð8:20bÞ
Based upon the solutions shown in (8.17)–(8.20a, 8.20b), function s821_1ERincluUL is designed and presented in F148 of Appendix F. The input file input_loadstr for load and structure information is the same as that stated for functions811EEincluUL. A Point Force at the Matrix ^ ¼ ð^p1 ; ^p2 ; ^p3 Þ at the position ^ When a point force p x ¼ ð^x1 ; ^x2 Þ in the matrix is considered (Fig. 8.4), the solution of f 0 , f 1 , /;n and /;s are 1 \ lnðfa bf a Þ [ AT b p; 2pi 3 1 X x r 1 b f 1 ðfÞ ¼ p þ \f1 \ lnðf1 a f k Þ [ Dk b a [ A k; 2pi k¼1 2
f 0 ðfÞ ¼
/;n ¼ NT1 ðhÞq0 þ xq1 ;
Fig. 8.4 An anisotropic elastic plate with an elliptical rigid inclusion subjected to a point force at the matrix
/;s ¼ q0 þ xq2 ;
ð8:21aÞ
8.2 Rigid Inclusions
195
where T T Refk AT \^f1 p 1 eiw T T a [ A g^ ^; Re A \ x¼ [A p ; q0 ¼ pq pkT Mk eiw ^fa 1 1 q1 ¼ Im eiw B\la ðhÞ [ A1 k ; q2 ¼ Im eiw BA1 k : q q
ð8:21bÞ
^ If the load is applied on the interface boundary, i.e., ^fa ¼ eiw , the rotation angle obtained in (8.21b) can be further reduced to
x¼
^x2 ^ p1 þ ^x1 ^ p2 ; T pk Mk
ð8:22Þ
^ bsinwÞ ^ is the location of the applied force p ^. where ð^x1 ; ^x2 Þ ¼ ðacosw; Based upon the solutions shown in (8.21a, 8.21b)–(8.22), function s821_2ERincluPF is designed and presented in F149 of Appendix F. The input file for load and structure information is input_loadstr: a; b; ^ p1 ; ^ p2 ; ^ p3 ; ^x1 ; ^x2 .
8.2.2 Rigid Line Inclusions—s822_1RLincluUL A rigid line inclusion is used to describe a narrow hard phase (thin reinforcement or stiffener) dispersed within the matrix. Being the opposite extreme case of crack, sometimes it is also called anticrack. Different from the crack problems, it may suffer a rigid body rotation along its line when subjected to loads applied outside the inclusions. Uniform Load at Infinity A rigid line inclusion of length 2a can be made by letting the minor axis 2b of the ellipse equal to zero (see Fig. 8.5). Thus, the solution of this problem can be obtained directly from the solution shown in (8.17)–(8.20a, 8.20b) with b = 0. With this solution, the stresses ahead of the rigid line inclusion along x1-axis have been obtained as ! x1 1 ffi ST H1 ðe1 ri2 ¼ /;1 ¼ t2 1 pffiffiffiffiffiffiffiffiffiffiffiffiffiffi 1 xi2 Þ; x21 a2 ! ð8:23Þ x1 1 T T 1 1 ffi ðN3 þ N1 S H Þðe1 xi2 Þ: ri1 ¼ /;2 ¼ t1 þ 1 pffiffiffiffiffiffiffiffiffiffiffiffiffiffi x21 a2 Based upon the solutions shown in (8.17)–(8.20a, 8.20b) and (8.23), function s822_1RLincluUL is designed and presented in F150 of Appendix F. The input file input_loadstr for load and structure information is the same as that stated for function-s811EEincluUL, in which the minor axis b of elliptical inclusion should be set to zero. A Point Force at the Matrix Similar to the previous one, the solution to this problem (Fig. 8.6) can also be obtained from (8.21a, 8.21b) and (8.22) with b = 0, i.e., this problem can be solved by using the function s821_2ERincluPF.
8.2.3 Polygon-Like Rigid Inclusions—s823PRincluUL Consider an infinite anisotropic elastic plate containing a polygon-like rigid inclusion subjected to a uniform load at infinity (Fig. 8.7). The solution to this problem has been obtained as
196
8 Inclusions
Fig. 8.5 An anisotropic elastic plate with a rigid line inclusion under uniform load at infinity
p p k f 0 ðfÞ ¼ \za [ q1 ; f 1 ðfÞ ¼ \f1 a [ v1 þ \fa [ vk ; 2 Im B\la ðhÞ [ ðeiw vp1 þ keikw vpk Þ ; /;n ¼ /1 ;n þ q 2 Im Bðeiw vp1 þ keikw vpk Þ ; /;s ¼ /1 ;s þ q where q1 ,vp1 and vpk are defined in (8.9a) and (8.9d) in which
Rp x¼
R0p 0
ð8:24Þ
yT p1 qdw ;
ð8:25aÞ
yT p2 qdw
where yT ¼ ðx2 ; x1 ; 0Þ ¼ aðc sin w þ e sin kw; cos w þ e cos kw; 0Þ a 1 iw 1 ikw 1 p1 ¼ /1 ðe1 þ ice1 ðe1 ie1 ;s ImfBA ½e 2 Þ þ kee 2 Þg; q a p2 ¼ ImfBA1 ½eiw ði2 ici1 Þ þ keeikw ði2 þ ii1 Þg: q
ð8:25bÞ
Note that the mapped variable fa for polygon-like rigid inclusion is different from that shown in (8.3b), and should be calculated by the relation shown in (6.40).
8.2 Rigid Inclusions
197
Fig. 8.6 An anisotropic elastic plate with a rigid line inclusion subjected to a point force at the matrix
Based upon the solutions shown in (8.24) and (8.25a, 8.25b), function s823PRincluUL is designed and presented in F151 1 of Appendix F. The input file for load and structure information is input_loadstr: a; c; e; k; 1; r1 ; a, or a; c; e; k; 2; r1 1 ; r2 , or 1 1 1 1 1 1 1 1 1 a; c; e; k; 3; s , or a; c; e; k; 4; s13 ; s23 , or a; c; e; k; 5; r11 ; r22 ; r33 ; r23 ; r13 ; r12 depending on the load case described in Sect. 4.1.1.
8.3
Interactions Between Inclusions and Dislocations
Elasticity solutions of the inclusions and dislocations are useful for the understanding of material defects. Since the mapped variable fa of (8.3b) used in the solutions is generally multi-valued, to get a single-valued fa suitable selection should be made for the point outside or inside the inclusion (Hwu 2010). Because the selection criterion is different for the point outside or inside the inclusion, in the following discussion we will separate the problems into three categories: the dislocation outside, inside and on the interface of the inclusion.
8.3.1 Dislocations Outside the Inclusions—s831EEincluDLo Consider an elliptical anisotropic elastic inclusion imbedded in an infinite matrix (Fig. 8.8). A dislocation with Burgers ^ ¼ ð^b1 ; ^b2 ; ^b3 Þ is located at the point ^x ¼ ð^x1 ; ^x2 Þ which is outside the inclusion. As presented in Sect. 4.1.5, the vector b solutions of the dislocation problems can be obtained in a straight-forward manner from those of the corresponding point ^ With this understanding, the solution of this problem can be obtained directly ^ replaced by BT b. force problems with AT p from (8.14) and be written as
198
8 Inclusions
Fig. 8.7 An anisotropic elastic plate with a polygon-like rigid inclusion under uniform load at infinity
1 ^ \ lnðfa ^fa Þ lnð^fa Þ [ BT1 b; 2pi ( ) 3 1 X 1 X 1 k o o ^ f 1 ðfÞ ¼ \ lnðfa ^fk Þ lnð^fk Þ [ Dk þ \fa [ Ek b; 2pi k¼1 k¼1
f 0 ðfÞ ¼
f 2 ðf Þ ¼
ð8:26Þ
1 1 X ^ \ðfa Þk þ ðca =fa Þk [ Cok b; 2pi k¼1
where Cok ; Dok and Eok are defined in (8.9c) and (8.9e). Similar to the solutions listed in (8.14), the solutions (8.26) are different from those published in (Yen et al. 1995, Hwu P ^ ^ 2010) by the constant terms appeared in f 0 ðfÞ and f 1 ðfÞ, i.e., \ lnð^fa Þ [ BT b=2pi and 3 \ lnð^fk Þ [ Do b=2pi. 1
k¼1
k
Without these two constant terms, the displacements across the interface will be discontinuous. Based upon the solutions shown in (8.26), function s831EEincluDLo is designed and presented in F152 of Appendix F. The input file for load and structure information is input_loadstr: a; b; ^ b1 ; ^ b2 ; ^ b3 ; ^x1 ; ^x2 ; ns .
8.3 Interactions Between Inclusions and Dislocations
199
Fig. 8.8 A dislocation outside the elliptical elastic inclusion
8.3.2 Dislocations Inside the Inclusions—s832EEincluDLi When the dislocation is located inside the inclusion (see Fig. 8.9), the solutions for the displacements and stress functions of the matrix and inclusion have been obtained as 1 1 1 X Ib \ ln fa [ BT1 b b; f 1 ðfÞ ¼ \fk a [ Fk b; 2pi 2pi k¼1 ( ) 1 X 1 a ibla k I b T k \ lnðza bz a Þ lnð Þ [ B2 þ \ðfa Þ þ ðca =fa Þ [ Ck b; f 2 ðf Þ ¼ 2pi 2 k¼1
f 0 ðfÞ ¼
ð8:27Þ
where CIk and FIk are defined in (8.9c) and (8.9f). Similar to the solutions listed in (8.14) and (8.26), the solutions (8.27) are different from those published in (Yen et al. ^ 1995, Hwu 2010) by the constant term appeared in f 2 ðf Þ, i.e., \ lnðða ibla Þ=2Þ [ BT1 b=2pi. Without this constant term, the displacements across the interface will be discontinuous. Remarks on computer coding Note that the solutions presented in (8.27) contain three logarithmic terms. Two of them contain variables fa and za , and the x. In order to make the solutions third one is a constant term. The branch point of ln fa is zero, whereas that of lnðza bz a Þ is ^ in both matrix and inclusion be calculated based upon the same branch cut with the same branch point, the logarithmic function ln fa is suggested to be rewritten as ln fa ¼ lnðfa ^fa Þ lnð1 ^fa =fa Þ:
ð8:28Þ
200
8 Inclusions
Fig. 8.9 A dislocation inside the elliptical elastic inclusion
If the principal value ½^h; ^h þ 2p, where ^h is the polar angle of ^ x (see Fig. 6.5a), is selected for the calculation of lnðfa ^fa Þ, and the principal value ½p; p set by matlab is selected for lnð1 ^fa =fa Þ, their associated branch cuts in z-plane can be proved to be those shown in Fig. 8.10. From this Figure, we see that by the replacement of the right hand side of (8.28), the branch point of ln fa has been moved to ^ x with cuts lying along the radial line. Here, one can use the remark (6.31 ^ ) or Eq. (6.23) to calculate lnðfa fa Þ, whereas no special adjustment is needed for the computation of lnð1 ^fa =fa Þ since it is calculated based upon the principal value set by matlab. Because the cut for ln fa now is lying along the radial line, the h; ^ h þ 2p in z-plane. principal region for the other logarithmic function lnðza bz a Þ should also be changed to ½^ Based upon the solutions shown in (8.27), function s832EEincluDLi is designed and presented in F153 of Appendix F. The input file for load and structure information is input_loadstr: a; b; ^ b1 ; ^ b2 ; ^ b3 ; ^x1 ; ^x2 ; ns .
8.3.3 Dislocations on the Interfaces—s833EEincluDLf In principle when the dislocation is located on the interface (see Fig. 8.11), the solutions of its associated problems can be obtained from the solutions of “outside” or “inside” by putting the dislocation on the interface. In numerical calculation, it was shown that the convergent results obtained from these two solutions usually need over 1000 terms for calculating the related infinite series (Yen et al. 1995). To improve the performance of calculation for the dislocation on the interface, a convergent solution usually achieved within 10 terms was obtained as
8.3 Interactions Between Inclusions and Dislocations
201
Fig. 8.10 a Branch cut ½^h; ^h þ 2p selected for lnðz ^zÞ, b branch cut ½p; p selected for (1) ln z and (2) lnðz ^zÞ, c branch cut resulting for lnðz1 ðz ^zÞÞ
1 a ibla bf a Þ [ B b \ lnðfa bf a Þ þ lnð Þ [ BT1 þ \ lnðf1 a f b; 2pi 2 1 1 X fb \fk f 1 ðfÞ ¼ a [ Fk b; 2pi k¼1 ( ) 1 X 1 f k k \ lnðza bz a Þ [ Bf þ b; \ðfa Þ þ ðca =fa Þ [ Ck b f 2 ðf Þ ¼ 2pi k¼1 f 0 ðfÞ ¼
ð8:29aÞ
where Ckf , Fkf and Bf are defined in (8.9c), (8.9f) and (8.10), and 1
1
1
1
Bf ¼ ðA2 A1 B2 B1 Þ1 ðA2 A1 B2 B1 ÞB1 : T
ð8:29bÞ
Similar to the solutions listed in (8.27), the solutions (8.29a, 8.29b) are different from those published in (Yen et al. 1995, ^ Hwu 2010) by the constant term appeared in f 0 ðfÞ, i.e., \ lnðða ibla Þ=2Þ [ BT1 b=2pi. Without this constant term, the displacements across the interface will be discontinuous. Remarks on computer coding As discussed in the remarks of Sects. 4.1.3 and 6.1.4, the branch cut of a logarithmic function should be selected properly to avoid the problem of discontinuity. These remarks conclude that the suitable branch cuts in za -domain and fa -domain can be determined by the branch cut in z-domain, which is in the radial direction of the source point ^ x. With this choice, we have ^
za ¼ bl a ei#a ; z a ^
^ ^ f ra eiha ; a fa ¼ ^
ð8:30aÞ
202
8 Inclusions
Fig. 8.11 A dislocation on the interface of the elliptical elastic inclusion
and #^a #a #^a þ 2p; ^ ha ha ^ ha þ 2p;
lnðza ^za Þ ¼ ln la þ i#a ; lnðfa ^fa Þ ¼ ln ra þ iha ; 1 lnðfa
^fa Þ ¼ ln ra0 þ ih0a ;
^ ha ha h0a hb ^ ha þ 2p;
ð8:30bÞ a ¼ 1; 2; 3:
In (8.30a), z a and fa denote, respectively, the point near the right cut of branch in the za -domain and fa -domain. The logarithmic functions in (8.29a, 8.29b) can then be calculated by the following steps.
x x1 ; ^x2 Þ ð1Þ calculate #^a from ð8.30aÞ1 with ð^x 1 ;^ 2 Þ ¼ 10ð^ ð2Þ calculate ^ha from ð8.30aÞ2 with ð^x1 ; ^x2 Þ ¼ 10ð^x1 ; ^x2 Þ ð3Þ calculate lnðfa ^fa Þ ¼ ln ra þ iha ; if ha \^ha ; replace ha by ha þ 2p; 1
ð4Þ calculate lnðfa ^fa Þ ¼ ln ra0 þ ih0a ; if h0 \^ha ; replace h0 by h0 þ 2p; a
a
a
ð5Þ calculate lnðza ^za Þ ¼ ln la þ i#a ; if #a \#^a ; replace #a by #a þ 2p; 1 b ^ ð6Þ calculate lnðf1 a f a Þ ¼ lnðfa fa Þ ðsee note on ð6.36ÞÞ:
^1 Note that the value ^ha calculated in step (2) bears the same function as the value u a obtained in (6.25).
8.3 Interactions Between Inclusions and Dislocations
203
Based upon the solutions shown in (8.29a, 8.29b), function s833EEincluDLf is designed and presented in F154 of Appendix F. The input file for load and structure information is input_loadstr: a; b; ^ b1 ; ^ b2 ; ^ b3 ; ^x1 ; ^x2 ; ns .
8.4
Interactions Between Inclusions and Cracks
Because the crack can be represented by a distribution of dislocations, by using the solutions of dislocation problems obtained in the previous section we can now study the interactions between inclusions and various types of cracks such as a crack located inside or outside the inclusions, a crack penetrating the inclusions, and a curvilinear crack lying along the interface between inclusion and matrix.
8.4.1 Cracks Outside the Inclusions—s841EEincluCo Consider a crack with length 2‘ outside an elliptical anisotropic elastic inclusion subjected to a uniform load at infinity (see Fig. 8.12). Superimposing the solutions of uniform load (see Sect. 8.1.1) and a distribution of dislocations (see Sect. 8.3.1) with unknown dislocation density bðgÞ, the solutions of the displacements and stress functions can be expressed as u1 ¼ 2 RefA1 ½f u1 ðfa Þ þ f d1 ðfa Þg;
/1 ¼ 2RefB1 ½f u1 ðfa Þ þ f d1 ðfa Þg;
u2 ¼ 2 RefA2 ½f u2 ðfa Þ þ f d2 ðfa Þg;
/2 ¼ 2RefB2 ½f u2 ðfa Þ þ f d2 ðfa Þg;
where e f u1 ðfa Þ ¼ \za [ q1 þ \f1 a [ d1 ;
f u2 ðfa Þ ¼ \
Z1 f d1 ðfa Þ
¼
Z1 Fd1 ðg; fa ÞbðgÞ‘dg;
1
Fig. 8.12 A crack outside an elliptical inclusion
f d2 ðfa Þ
¼ 1
ð8:31aÞ
2za [ ce1 ; a ibla ð8:31bÞ
Fd2 ðg; fa ÞbðgÞ‘dg;
204
8 Inclusions
and Fd1 ðg; fa Þ ¼
1 n \ lnðfa ^fa Þ lnð^fa Þ [ BT1 2pi ) 3 1 X X 1 k o o ^ ^ \ lnðfa fk Þ lnðfk Þ [ Dk þ \fa [ Ek ; þ
Fd2 ðg; fa Þ ¼
k¼1 1 X
ð8:31cÞ
k¼1
1 \ðfa Þk þ ðca =fa Þk [ Cok : 2pi k¼1
In the above, ce1 ,de1 ,q1 ,Cok ; Dok and Eok are defined in (8.9a), (8.9b), (8.9c) and (8.9e), and pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 2 2 2 2 ^fa ¼ ^za þ ^za a b la ; a ibla ^za ¼
ðx01
þ la x02 Þ þ ‘gðcosa0
þ la sina0 Þ;
ð8:32Þ
1 g 1;
where ðx01 ; x02 Þ is the position of the crack center, and a0 is the angle between x1-axis and the crack (see Fig. 8.12). The unknown dislocation density bðgÞ in (8.31b) can be determined by considering the traction-free boundary condition along the crack surface and the requirement of crack tip continuity, which lead to a set of singular integral equations as 1 2p
R1 1
R1 1
1 gn L1 bðgÞdg þ
R1 1
^ 1 ðg; nÞbðgÞdg ¼ tu ðnÞ; K 1
ð8:33aÞ
bðgÞdg ¼ 0;
where @fa [ de1 g; tu1 ðnÞ ¼ 2RefB1 \cosa0 þ la sina0 [ q1 B1 \f2 a ‘@n ( " #) 3 1 X X 1 @f k a ð0Þ T ðkÞ o o ^ 1 ðg; nÞ ¼ Im B1 \ K [ \ga [ B1 þ \ga [ Dk þ \ k þ 1 [ Ek ; p‘ @n fa k¼1 k¼1
ð8:33bÞ
and pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi z2a a2 b2 l2a @fa 2‘f2a ðcos a0 þ la sin a0 Þ ¼ ; ; fa ¼ a ibla @n ða ibla Þf2a ða þ ibla Þ ca 1 a þ ibla ; ca ¼ gð0Þ ; gðkÞ ; j ¼ 1; 2; 3; a ¼ a ¼ ^ a ibla fa ðfa fa c Þ f ð1 f ^f Þ za þ
a
za ¼
ðxo1
þ la xo2 Þ þ ‘nðcosa0
a
ð8:33cÞ
a k
þ la sina0 Þ;
1 n 1:
Considering the singular behavior of near tip stresses, with the assist of Lagrange interpolation we can approximate bðgÞ by (Gerasoulis 1982, Hwu et al. 1995b) 2k X ^bðgÞ 1 bðgÞ ¼ pffiffiffiffiffiffiffiffiffiffiffiffiffi ¼ pffiffiffiffiffiffiffiffiffiffiffiffiffi wi ðgÞ^ bðgi Þ; 1 g2 i¼2k2 1 g2
g2k2 g g2k ;
ð8:34aÞ
8.4 Interactions Between Inclusions and Cracks
205
where 2k Y
wi ðgÞ ¼
j¼2k2 j6¼i
! g gj : gi gj
ð8:34bÞ
Using the approximation (8.34a, 8.34b), the singular integral equations (8.33a) lead to a ð6n þ 3Þ ð6n þ 3Þ system of linear algebraic equations, i.e., n X k¼0 n X
Kðg2k1 ; ni Þ^bðg2k1 Þ þ Kðg2k ; ni Þ^ bðg2k Þ ¼ tu1 ðni Þ;
i ¼ 0; 1; 2; . . .; 2n 1; ð8:35aÞ
bk ^bðg2k1 Þ þ ðak þ 1 þ ck Þ^bðg2k Þ ¼ 0;
k¼0
where Fk ^ 1 ðg2k1 ; ni Þ; L1 þ bk K 2p G k þ Ek þ 1 ^ 1 ðg2k ; ni Þ: L1 þ ðak þ 1 þ ck ÞK Kðg2k ; ni Þ ¼ 2p
Kðg2k1 ; ni Þ ¼
ð8:35bÞ
In (8.35a, 8.35b), the coefficients Ek ; Fk ; Gk ; ak ; bk ; ck can be calculated numerically by Mðg2k ; g2k1 Þ Mðg2k ; g2k2 Þ ; Fk ¼ ; ðg2k2 g2k1 Þðg2k2 g2k Þ ðg2k1 g2k2 Þðg2k1 g2k Þ Mðg2k1 ; g2k2 Þ Gk ¼ ; k ¼ 1; 2; . . .; n; En þ 1 ¼ F0 ¼ G0 ¼ 0; ðg2k g2k2 Þðg2k g2k1 Þ
ð8:36aÞ
Hðg2k ; g2k1 Þ Hðg2k ; g2k2 Þ ; bk ¼ ; ðg2k2 g2k1 Þðg2k2 g2k Þ ðg2k1 g2k2 Þðg2k1 g2k Þ Hðg2k1 ; g2k2 Þ ck ¼ ; k ¼ 1; 2; . . .; n; an þ 1 ¼ b0 ¼ c0 ¼ 0; ðg2k g2k2 Þðg2k g2k1 Þ
ð8:36bÞ
Ek ¼
ak ¼
where Mðx; yÞ ¼
qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 1 g22k2 1 g22k þ ðni x yÞðh2k h2k2 Þ þ ðni xÞðni yÞAk ðni Þ;
1 1 Hðx; yÞ ¼ ð þ xyÞðh2k h2k2 Þ þ ðx þ yÞðcos h2k cos h2k2 Þ þ ðsin 2h2k sin 2h2k2 Þ; 2 4
ð8:36cÞ
and qffiffiffiffiffiffiffiffiffiffiffiffiffi qffiffiffiffiffiffiffiffiffiffiffiffiffi 2 ð1 þ 1 n s Þs þ n ð1 þ 1 n2i Þsk þ n k k1 i i 1 i qffiffiffiffiffiffiffiffiffiffiffiffiffi qffiffiffiffiffiffiffiffiffiffiffiffiffi ; Ak ðni Þ ¼ qffiffiffiffiffiffiffiffiffiffiffiffiffi ln 1 n2i ð1 1 n2i þ ni sk Þsk1 þ ni ð1 1 n2i Þsk
ð8:36dÞ
hk ¼ sin1 gk ; sk ¼ tanðh2k =2Þ; for all k and i: If the interval [−1, 1] along the crack is equally divided, the variables ðgk ; ni Þ used in (8.35a, 8.35b) and (8.36a, 8.36b, 8.36c) can be set to be gk ¼ 1 þ
k ; n
ni ¼ 1 þ
i þ 0:5 ; n
k ¼ 0; 1; 2; . . .; 2n; i ¼ 0; 1; 2; . . .2n 1:
ð8:37Þ
206
8 Inclusions
With ^bðgÞ determined from (8.35a, 8.35b), the whole field solution can be calculated by (8.31a, 8.31b, 8.31c) in which the integrals are computed numerically via f di ðfa Þ ¼
n n o X ‘ bk Fdi ðg2k1 ; fa Þ^ bðg2k1 Þ þ ðak þ 1 þ ck ÞFdi ðg2k ; fa Þ^ bðg2k Þ ;
i ¼ 1; 2:
ð8:38Þ
k¼0
Moreover, the stress intensity factors k (see Definition (7.2)) of the two crack tips, n ¼ 1 and n ¼ þ 1, can be obtained by pffiffiffiffiffi p‘ TL1 ^ k¼ bð1Þ; ð8:39aÞ 2 where T is the transformation matrix defined as 2
cos a0 T ¼ 4 sin a0 0
sin a0 cos a0 0
3 0 0 5: 1
ð8:39bÞ
Based upon the solutions presented in (8.31a, 8.31b, 8.31c)–(8.39a, 8.39b), function s841EEincluCo is designed and presented in F155 of Appendix F. The input file for load and structure information is input_loadstr: 1 a; b; ‘; a0 ; x01 ; x02 ; n; ns ; 1; r1 ; a, or a; b; ‘; a0 ; x01 ; x02 ; n; ns ; 2; r1 or a; b; ‘; a0 ; x01 ; x02 ; n; ns ; 3; s1 , or 1 ; r2 , 0 0 1 1 0 0 1 1 1 1 1 1 a; b; ‘; a0 ; x1 ; x2 ; n; ns ; 4; s13 ; s23 , or a; b; ‘; a0 ; x1 ; x2 ; n; ns ; 5; r11 ; r22 ; r33 ; r23 ; r13 ; r12 depending on the load case described in Sect. 4.1.1. Here n is the half-number of the discretized points on the crack.
8.4.2 Cracks Inside the Inclusions—s842EEincluCi Consider a crack with length 2‘ located inside an elliptical anisotropic elastic inclusion subjected to uniform loading at infinity (Fig. 8.13). By the way similar to that described in Sect. 8.4.1, the solutions of the displacements and stress functions can also be expressed in the form of (8.31a, 8.31b, 8.31c) with Fd1 and Fd2 obtained from Sect. 8.3.2, i.e., ( ) 1 X 1 k d T I \ ln fa [ B1 þ F1 ðg; fa Þ ¼ \fa [ Fk ; 2pi k¼1 ( ) ð8:40Þ 1 X 1 a ibla k I d T k \ lnðza bz a Þ lnð Þ [ B2 þ \ðfa Þ þ ðca =fa Þ [ Ck : F2 ðg; fa Þ ¼ 2pi 2 k¼1 Similarly, the singular integral equations and their transformed linear algebraic equations can also be written in the form of ^ 1 and tu of (8.33a) and (8.35b) should be replaced by L2 , K ^ 2 and tu , (8.33a, 8.33b, 8.33c) and (8.35a, 8.35b) except that L1, K 1 2 ^ 2 and tu are respectively. Here, K 2 1 1X k1 I k ðk þ 1Þ @fa ^ K2 ðg; nÞ ¼ [ Ck ; Im kB2 \ðfa ca fa Þ p‘ k¼1 @n cos a0 þ la sin a0 e [ c tu2 ðnÞ ¼ 4Re B2 \ 1 : a ibla
ð8:41Þ
The numerical integration by (8.38) and the stress intensity factors by (8.39a) remain unchanged except that L1 of (8.39a) should be replaced by L2. Based upon the solutions presented in (8.40)–(8.41), function s842EEincluCi is designed and presented in F156 of Appendix F. The input file input_loadstr for load and structure information is the same as that stated for functions841EEincluCo except that x01 ; x02 is now represented by x1 ; x2 .
8.4 Interactions Between Inclusions and Cracks
207
Fig. 8.13 A crack inside an elliptical inclusion
8.4.3 Cracks Penetrating the Inclusions—s843EEincluCp To consider a penetrating crack, we first deal with the case that two cracks locate simultaneously inside and outside the inclusions (Fig. 8.14). Similar to the previous two sections, the solution for this problem can also be written in the forms of (8.31a) and (8.31b) except that f d1 ðfa Þ and f d2 ðfa Þ are now replaced by Z1 f d1 ðfa Þ
¼
fFd11 ðg; fa Þb1 ðgÞ‘1 þ Fd12 ðg; fa Þb2 ðgÞ‘2 gdg; 1
ð8:42aÞ
Z1 f d2 ðfa Þ ¼
fFd21 ðg; fa Þb1 ðgÞ‘1 þ Fd22 ðg; fa Þb2 ðgÞ‘2 gdg; 1
Fig. 8.14 Two cracks located simultaneously outside and inside an elliptical inclusion
208
8 Inclusions
where Fd11 ðg; fa Þ; Fd21 ðg; fa Þ : Fd1 ðg; fa Þ; Fd2 ðg; fa Þ of Eq: ð8.31cÞ;
ð8:42bÞ
Fd12 ðg; fa Þ; Fd22 ðg; fa Þ : Fd1 ðg; fa Þ; Fd2 ðg; fa Þ of Eq: ð8.40Þ: Similar to (8.33a, 8.33b, 8.33c), the singular integral equations are obtained as 1 2p
R1 1 R1
L1 b1 ðg1 Þ g
þ 1 2p
1 R1 1 R1
R1 1
1
dg1 þ
R1 1
^ 1 ðg1 ; n1 Þb1 ðg1 Þdg1 K
^ 12 ðg2 ; n1 Þb2 ðg2 Þdg2 ¼ tu ðn1 Þ; K 1
L2 b2 ðg2 Þ g
þ
1 1 n1
1 2 n2
dg2 þ
R1 1
^ 21 ðg1 ; n2 Þb1 ðg1 Þdg1 K
ð8:43Þ
^ 2 ðg2 ; n2 Þb2 ðg2 Þdg2 ¼ tu ðn2 Þ; K 2
b1 ðg1 Þdg1 ¼ 0;
R1 1
b2 ðg2 Þdg2 ¼ 0;
^ 1 and K ^ 2 are given in (8.33b) and (8.41), and where K ( " #) 1 X ‘2 @fa 1 ðk þ 1Þ T I ^ Im B1 \ [ \ [ B1 \kfa [ Fk ; K12 ðg2 ; n1 Þ ¼ fa p‘1 @n1 k¼1 1 ‘1 X k1 o k ðk þ 1Þ @fa ^ Im B2 \kðfa ca fa Þ [ Ck : K21 ðg1 ; n2 Þ ¼ p‘2 k¼1 @n2
ð8:44Þ
The system of linear algebraic equations becomes n n P ð1Þ ð1Þ ^ 12 ðg2k1 ; nð1Þ Þ^ Kðg2k1 ; ni Þ^b1 ðg2k1 Þ þ Kðg2k ; ni Þ^ b1 ðg2k Þ þ bk K b2 ðg2k1 Þ i k¼0 o ^ 12 ðg2k ; nð1Þ Þ^b2 ðg2k Þ ¼ tu ðnð1Þ Þ; i ¼ 0; 1; 2; . . .; 2n 1; þ ðak þ 1 þ ck ÞK i 1 i n n P ð2Þ ^ 21 ðg2k1 ; n Þ^b1 ðg2k1 Þ þ ðak þ 1 þ ck ÞK ^ 21 ðg2k ; nð2Þ Þ^ bk K b1 ðg2k Þ i i k¼0 o ð2Þ ð2Þ ð2Þ þ K ðg2k1 ; ni Þ^b2 ðg2k1 Þ þ K ðg2k ; ni Þ^ b2 ðg2k Þ ¼ tu2 ðni Þ; i ¼ 0; 1; 2; . . .; 2n 1; n P bk b^j ðg2k1 Þ þ ðak þ 1 þ ck Þb^j ðg2k Þ ¼ 0; j ¼ 1; 2;
ð8:45aÞ
k¼0 ð1Þ
ð1Þ
ð1Þ
ð2Þ
ð2Þ
where Kðg2k1 ; ni Þ and Kðg2k ; ni Þ are defined in (8.35b) with ni replace by ni , whereas K ðg2k1 ; ni Þ and K ðg2k ; ni Þ ^ 1 and n should be replaced, respectively, by L2 , K ^ 2 and nð2Þ . have the same definition as K except that in (8.35b) L1, K i
The stress intensity factors for both of the cracks can be calculated by pffiffiffiffiffiffi p‘i TLi ^ ki ¼ bi ð1Þ; i ¼ 1; 2; 2
i
ð8:46Þ
where the subscripts 1 and 2 denote the values outside and inside the inclusions. With the above results, by letting the distance between these two cracks approach to zero, we may approximate the condition of penetrating cracks. The detailed discussion of this approximation was shown in Hwu et al. (1995b).
8.4 Interactions Between Inclusions and Cracks
209
Based upon the solutions presented in (8.42a, 8.42b)–(8.46), function s843EEincluCp is designed and presented in F157 of Appendix F. The input file for load and structure information is input_loadstr: a; b; ‘1 ; ‘2 ; a0 ; x01 ; x02 ; x1 ; x2 ; n; ns ; 1; r1 ; a, or 1 0 0 1 0 0 a; b; ‘1 ; ‘2 ; a0 ; x01 ; x02 ; x1 ; x2 ; n; ns ; 2; r1 1 ; r2 , or a; b; ‘1 ; ‘2 ; a0 ; x1 ; x2 ; x1 ; x2 ; n; ns ; 3; s , or a; b; ‘1 ; ‘2 ; a0 ; x1 ; x2 ; x1 ; x2 ; n; ns ; 4; 1 1 0 0 1 1 1 1 1 1 s13 ; s23 , or a; b; ‘1 ; ‘2 ; a0 ; x1 ; x2 ; x1 ; x2 ; n; ns ; 5; r11 ; r22 ; r33 ; r23 ; r13 ; r12 depending on the load case described in Sect. 4.1.1.
8.4.4 Curvilinear Cracks Lying Along the Interfaces—s844EEincluCc Consider a curvilinear crack lying along the interface between inclusion and matrix (see Fig. 8.15). Similar to the previous problems, by letting the dislocation lying on the elliptical interface, the solutions can be expressed in the form of (8.31a, 8.31b) with Fd1 and Fd2 obtained from Sect. 8.3.3, i.e., 1 a ibla \ lnðfa bf a Þ þ lnð Þ [ BT1 Fd1 ðg; fa Þ ¼ 2pi 2 ) 1 X f 1 k b þ \ lnðfa f a Þ [ Bf þ \fa [ Fk ; ð8:47Þ (
Fd2 ðg; fa Þ
k¼1
) 1 X 1 f k k \ lnðza bz a Þ [ Bf þ ¼ \ðfa Þ þ ðca =fa Þ [ Ck : 2pi k¼1
The singular integral equations are obtained as 1 2p
Z1 1
1 Lf ðnÞbðgÞdg þ gn
Z1
^ f ðg; nÞbðgÞdg ¼ tu ðnÞ; K n
ð8:48aÞ
1
where 2 Re iB2 Bf ; q ( ) 1 ^ X w f ^ f ðg; nÞ ¼ Re B2 ½f0 Bf þ \fað1Þ [ Bf þ K \faðkÞ [ Ck ; pq k¼1 o 2 n ^ ^ tun ¼ /;s ¼ Im eiðwo þ wnÞ B2 \ca e2iðwo þ wnÞ [ ce1 ; q Lf ðnÞ ¼
Fig. 8.15 A curvilinear crack lying along the interface of an elliptical inclusion: a z-plane; b fa -plane
ð8:48bÞ
210
8 Inclusions
and ! ^ nÞ wðg 1 2 f0 ¼ þ i cot ; ^ nÞ 2 2 wðg faðkÞ
¼ kðe
^ ikðwo þ wnÞ
^ ca eikðwo þ wnÞ Þ;
ca
fað1Þ ¼
; ^ ^ eiðwo þ wnÞ eiðwo þ wgÞ ca qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ^ þ b2 cos2 ðw þ wnÞ ^ : q ¼ a2 sin2 ðw þ wnÞ o
ð8:48cÞ
o
^ are related to the crack length 2l by Note that the angular parameters w0 and w ^ wZ0 þ w
2‘ ¼
qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi a2 sin2 w þ b2 cos2 wdw:
ð8:49Þ
^ w 0 w
With the singular integral equation given in (8.48a, 8.48b, 8.48c), the next thing should be finding a numerical technique to solve the unknown dislocation density vector bðgÞ. The technique shown in the previous sections is valid for bðgÞ to be singular in the order of 1=2. It is known that the singular order of the interface crack is 1=2 þ ie where e is the oscillation index depending on the material properties of matrix and inclusion. To overcome this problem, it looks like a new numerical technique should be developed. However, unlike singularity, oscillation will not cause numerical overflow. Moreover, by the experimental study of Hwu et al. (1995a), we see that the oscillation index e is usually very small which means that the range of its influence is limited. The values of the bimaterial stress intensity factors considering the oscillation effects are also very close to those of the conventional stress intensity factors considering only the −1/2 singularity. With these reasons, the system of linear algebraic equations established in (8.35a, 8.35b) for the crack outside the inclusion can still be employed ^ 1 should now be replaced by Lf and K ^ f , respectively. Moreover, the formula for the calculation of the except that L1 and K stress intensity factors given in (8.39a, 8.39b) can also be used except that L1 is replaced by Lf . Based upon the solutions presented in (8.47)–(8.49), function s844EEincluCc is designed and presented in F158 of ^ n; ns ; 1; r1 ; a, or Appendix F. The input file for load and structure information is input_loadstr: a; b; w0 ; w; 1 1 1 1 1 ^ ^ ^ ^ n; ns ; 5; r1 ; r1 ; a; b; w0 ; w; n; ns ; 2; r1 ; r2 , or a; b; w0 ; w; n; ns ; 3; s , or a; b; w0 ; w; n; ns ; 4; s13 ; s23 , or a; b; w0 ; w; 11 22 1 1 1 1 r33 ; r23 ; r13 ; r12 depending on the load case described in Sect. 4.1.1.
8.5
Functions for Common Use
Eight commonly used functions are coded in this Chapter. Two of them may be employed by the functions of the other chapters. One is TGCEF for the calculation of matrices Tk ; Gk ; Ck ; Ek ; Fk ; k ¼ 1; 2; . . .; 1; used in most of the inclusion problems, and the other is Gauss_elimination for solving systems of linear algebraic equations. The other six common functions, s84_CoeffUniform, s84_abcEFG, s84_Kt, s84_F12, s84_Kbeta, s84_uphi, are named with a prefix s84 since most of them are related to Sect. 8.4.
8.5.1 Function—TGCEF The matrices Tk ; Gk ; Ck ; Ek ; Fk ; k ¼ 1; 2; . . .; 1; defined in (8.3c), (8.8), (8.9c) and (8.9f) have different values depending on the location of point force and dislocation. With this consideration, a parameter Itype is used to denote the location of the applied force or dislocation. Itype = 1 is for a point force outside the inclusion, Itype = 2 is for a dislocation outside the inclusion, Itype = 3 is for a dislocation inside the inclusion, Itype = 4 is for a dislocation on the interface of inclusion, Itype = 5 is for a point force inside the inclusion, and Itype = 11 and Itype = 15 are the types related to Itype = 1 and Itype = 5 for the calculation of the related derivatives. The other arguments used in this function are: (1) zeta_hat (^fa ) for the location of point force or dislocation in fa -plane, (2) a and b for the half-length of the major and minor axes of ellipse, (3) k for the kth power of a variable such as ð^fa Þk , (4) psi (w) for the angular position of the unit circle in fa -plane, i.e. fa ¼ eiw , which is required only when Itype = 1 or 2, and can be set to zero if not required. With this understanding, function TGCEF is designed and presented in F198 of Appendix F.
8.5 Functions for Common Use
211
8.5.2 Function—Gauss_elimination According to the solution procedure described in Appendix A.2 for the method of Gaussian elimination, a function code Gauss_elimination for solving the system of linear algebraic equations is designed and presented in F063 of Appendix F.
8.5.3 Function—s84_CoeffUniform Function s84_CoeffUniform is a common function for the problems of Sects. 8.1.1, 8.4.1, 8.4.2, 8.4.3, and 8.4.4, which calculates the coefficient vectors ce1 ; de1 ; ee1 of (8.9b)1. In this function these coefficient vectors will be independent of the position x because of uniform distribution. The computer code of this function is presented in F098 of Appendix F.
8.5.4 Function—s84_abcEFG Function s84_abcEFG is a common function for the problems of Sects. 8.4.1, 8.4.2, 8.4.3, and 8.4.4, which calculates the coefficients ak ; bk ; ck ; Ek ; Fk ; Gk of (8.36a) and (8.36b). The computer code of this function is presented in F097 of Appendix F.
8.5.5 Function—s84_Kt ^ nÞ and the undisturbed traction vector tu ðnÞ for the problems of Sect. 8.4. Function s84_Kt calculates the kernel matrix Kðg; ^ 1 ðg; nÞ and tu ðnÞ of (8.33b) According to the type of cracks, five cases are designed in this function. Ctype = 1 calculates K 1 u ^ 2 ðg; nÞ and t ðnÞ of (8.41) for a straight crack inside the for a straight crack outside the inclusion; Ctype = 2 calculates K 2 ^ 12 ðg; nÞ and tu ðnÞ of (8.44)1 for a straight crack penetrating the inclusion; Ctype = 32: inclusion; Ctype = 31: calculates K 1 ^ f ðg; nÞ and ^ 21 ðg; nÞ and tu ðnÞ of (8.44)2 for a straight crack penetrating the inclusion; Ctype = 4: calculates K calculates K 2 u tn ðnÞ of (8.48b)2,3 for a curvilinear crack along the interface of the inclusion. Note that in all the calculations, two matrices ^ 2k ; ni Þ denoted by K_hat2. In ^ nÞ. One is Kðg ^ 2k1 ; ni Þ denoted by K_hat1, and the other is Kðg are provided for the kernel Kðg; the computer programming, the argument ðg2k1 ; ni Þ is denoted by (eta1,xi0), whereas ðg2k ; ni Þ is denoted by (eta2,xi0). In general, the location ðgk ; ni Þ is determined by the discretization given in (8.37). The computer code of function s84_Kt is presented in F101 of Appendix F.
8.5.6 Function—s84_F12 Function s84_F12 calculates the complex function matrices Fd1 ðg; fa Þ and Fd2 ðg; fa Þ for the problems of Sect. 8.4. According to the type of cracks, four cases are designed in this function. The equations of these two matrices are shown in (8.31c) for Ctype = 1, (8.40) for Ctype = 2, and (8.47) for Ctype = 4. No operation is made for Ctype = 3 since their results can be found by using Ctype = 1 and 2 as those shown by (8.42b). Note that in all the calculations, two matrices are provided for both Fd1 ðg; fa Þ and Fd2 ðg; fa Þ. One is Fdj ðg2k1 ; fa Þ; j ¼ 1; 2 denoted by Fd1, and the other is Fdj ðg2k ; fa Þ; j ¼ 1; 2 denoted by Fd2. Fd1 may stand for Fd1 ðg2k1 ; fa Þ or Fd2 ðg2k1 ; fa Þ, and Fd2 may stand for Fd1 ðg2k ; fa Þ or Fd2 ðg2k ; fa Þ depending on the location of (x1,x2). The computer code of function s84_F12 is presented in F099 of Appendix F.
8.5.7 Function—s84_Kbeta Function s84_Kbeta is a common function for the problems of Sects. 8.4.1, 8.4.2, 8.4.3, and 8.4.4, which prepares the matrix K and vector y for the calculation of the dislocation density ^ b of (8.35a). In other words, it is a pre-step for the following system of linear algebraic equations
212
8 Inclusions
K^ b ¼ y:
ð8:50Þ
The dimension of K is ð6n þ 3Þ ð6n þ 3Þ for Ctype = 1, 2, 4, and ð12n þ 6Þ ð12n þ 6Þ for Ctype = 3, where n is the half number of discretized points on the crack (see (8.37)). Similarly, the dimension of ^ b and y is ð6n þ 3Þ 1 for Ctype = 1, 2, 4, and ð12n þ 6Þ 1 for Ctype = 3. Followings are the examples of Ctype = 1 showing the details of K, ^ b and y. 3 2 K12 . . . K1ð2kÞ K1ð2k þ 1Þ . . . K1ð2nÞ K1ð2n þ 1Þ K11 7 6 ... ... ... ... ... ... 7 6 7 6 ... . . . . . . . . . . . . . . . 7 6 7 6 Kj1 K . . . K K . . . K K j2 jð2kÞ jð2k þ 1Þ jð2nÞ jð2n þ 1Þ 7 6 ð8:51aÞ K¼6 7; . . . . . . . . . 7 6 7 6 ... ... ... 7 6 4 Kð2nÞ1 Kð2nÞ2 Kð2nÞð2kÞ Kð2nÞð2k þ 1Þ . . . Kð2nÞð2nÞ Kð2nÞð2n þ 1Þ 5 a1 I b1 I ... bk I ðak þ 1 þ ck ÞI . . . bn I cn I 9 > > > > > > > > > > =
9 8 ^bðg0 Þ > > > > > > > ^bðg1 Þ > > > > > > > > > > > . . . > > =
> > 2k þ 1 > > > > > > > > > > > > > > > ... > ... > > > > > > > > >^ > > > > ^ > > > > b bðg Þ > > > > 2n 2n1 ; : ^ ; :^ b2n þ 1 bðg2n Þ 8 > > > > > > > > > >
tu1 ðn0 Þ > > > > > > > > > > > > > y2 > tu1 ðn1 Þ > > > > > > > > > > > > > > > > > . . . . . . > > > > > > > > = < u = < y2k t1 ðn2k1 Þ ¼ ; y¼ u y2k þ 1 > t1 ðn2k Þ > > > > > > > > > > > > > > ... > ... > > > > > > > > > > > > u > > > > > > > y t ðn Þ 2n1 > 2n > > > > 1 ; : ; : y2n þ 1 0
ð8:51bÞ
In (8.51a), I is a 3 3 unit matrix, and Kjk ; j ¼ 1; 2; . . .; 2n; k ¼ 1; 2; . . .; 2n þ 1 are 3 3 matrices defined as Kj1 ¼ Kðg0 ; nj1 Þ;
Kjð2kÞ ¼ Kðg2k1 ; nj1 Þ;
k ¼ 1; 2; . . .; n; j ¼ 1; 2; . . .; 2n:
Kjð2k þ 1Þ ¼ Kðg2k ; nj1 Þ;
ð8:52Þ
Note that if the materials considered in the problem are piezoelectric instead of anisotropic elastic, the dimensions mentioned above will change, e.g., ð6n þ 3Þ ð6n þ 3Þ changes to ð8n þ 4Þ ð8n þ 4Þ, ð12n þ 6Þ ð12n þ 6Þ changes to ð16n þ 8Þ ð16n þ 8Þ, and 3 3 changes to 4 4, etc. The computer code of function s84_Kbeta is presented in F100 of Appendix F.
8.5.8 Function—s84_uphi Function s84_uphi calculates the displacements, strains, and stresses for an anisotropic elastic plate containing an elliptical elastic inclusion with a crack located outside, inside, penetrating or on the interface of the inclusion. Note that the one Ctype = 3 for the penetrating crack can also be employed to solve the problems with two cracks. The computer code of function s84_uphi is presented in F102 of Appendix F.
8.6 Examples
8.6
213
Examples
8.6.1 Elliptical Elastic Inclusions Example 1: Uniform Load at Infinity 1 Consider an infinite plate containing an elliptical elastic inclusion under uniform biaxial load r1 11 ¼ r22 ¼ 1 KPa at infinity. The half lengths of the major and minor axes of the elliptical elastic inclusion are 2 m and 1 m. Both of the matrix and inclusion are orthotropic. The elastic properties of the matrix are shown in Example 2 of Table 3.1, whereas those of the inclusion are E11 ¼ 163 GPa, E22 ¼ E33 ¼ 12 GPa, G23 ¼ 3:5 GPa, G31 ¼ G12 ¼ 6:5 GPa, m23 ¼ 0:5; m13 ¼ m12 ¼ 0:3; af ¼ 0 Generalized plane stress is assumed for all cases treated in this section. To calculate the displacements, strains, and stresses along the inclusion boundary in which 60 equally distributed points are evaluated, one should prepare the following five input files. input_control: 2 2 811 12 1 1.0e9 0.001 1.0e−6; 2 0 0 0; 2 0 0 0. input_elastic1: 134e9 11e9 11e9 2.98e9 5.84e9 5.84e9 0.49 0.3 0.3 0. input_elastic2: 163e9 12e9 12e9 3.5e9 6.5e9 6.5e9 0.5 0.3 0.3 0. input_loadstr: 2 1 2 1000 1000. input_variable: 3 0 0 2 1 0 360 60 0. Example 2: A Point Force at the Matrix ^ ¼ ð1; 1; 0Þ KN All conditions are the same as those of Example 1 except that the uniform load is replaced by a point force p applied at (3, 3) m. To find the solution of this problem, one should prepare the following five input files. input_control: 2 2 812 12 1 1.0e9 0.001 1.0e−6; 2 0 0 0; 2 0 0 0. input_elastic1: 134e9 11e9 11e9 2.98e9 5.84e9 5.84e9 0.49 0.3 0.3 0. input_elastic2: 163e9 12e9 12e9 3.5e9 6.5e9 6.5e9 0.5 0.3 0.3 0. input_loadstr: 2 1 1000 1000 0 3 3 15. input_variable: 3 0 0 2 1 0 360 60 0.
8.6.2 Rigid Inclusions Example 1: Elliptical Rigid Inclusion Same problems as Examples 1 and 2 of Sect. 8.6.1 are considered except that the elastic inclusion is now replaced by a rigid inclusion. To find the solution of this problem, two different sets of input files should be prepared as follows. Uniform load: input_control: 1 2 8211 12 1 1.0e9 0.001 1.0e−6; 2 0 0 0. input_elastic1: 134e9 11e9 11e9 2.98e9 5.84e9 5.84e9 0.49 0.3 0.3 0. input_loadstr: 2 1 2 1000 1000. input_variable: 3 0 0 2 1 0 360 60 0.
214
8 Inclusions
Point force: input_control: 1 2 8212 12 1 1.0e9 0.001 1.0e−6; 2 0 0 0. input_elastic1: 134e9 11e9 11e9 2.98e9 5.84e9 5.84e9 0.49 0.3 0.3 0. input_loadstr: 2 1 1000 1000 0 3 3. input_variable: 3 0 0 2 1 0 360 60 0. Example 2: Rigid Line Inclusion Same as Example 1 except that the elliptical rigid inclusion is replaced by a rigid line inclusion whose half length is 2 m. To calculate the displacements, strains and stresses on a straight line ranging from (−4, 1)m to (4, 1)m with 40 equally distributed points, one should prepare the following two sets of input files. Uniform load: input_control: 1 2 8221 12 1 1.0e9 0.001 1.0e−6; 2 0 0 0. input_elastic1: 134e9 11e9 11e9 2.98e9 5.84e9 5.84e9 0.49 0.3 0.3 0. input_loadstr: 2 0 2 1000 1000. input_variable: 1 1 −4 1 4 1 40. Point force: input_control: 1 2 8212 12 1 1.0e9 0.001 1.0e−6; 2 0 0 0. input_elastic1: 134e9 11e9 11e9 2.98e9 5.84e9 5.84e9 0.49 0.3 0.3 0. input_loadstr: 2 0 1000 1000 0 3 3. input_variable: 1 1 −4 1 4 1 40. Example 3: Polygon-Like Rigid Inclusion 1 Consider an infinite plate containing a square rigid inclusion under uniform biaxial load r1 11 ¼ r22 ¼ 1 KPa at infinity. The shape of inclusion is represented by (6.39) with a ¼ 1m; c ¼ 1; e ¼ 0:1; k ¼ 3. All the other conditions are the same as those of Example 1. To find the solution of this problem, one should prepare the following four input files. input_control: 1 2 823 12 1 1.0e9 0.001 1.0e−6; 2 0 0 0. input_elastic1: 134e9 11e9 11e9 2.98e9 5.84e9 5.84e9 0.49 0.3 0.3 0. input_loadstr: 1 1 0.1 3 2 1000 1000. input_variable: 4 0 0 1 1 0.1 3 0 360 60 0.
8.6.3 Inclusions and Dislocations Example 1: A Dislocation Outside the Inclusion All conditions are the same as Example 2 of Sect. 8.6.1 except that the point force is replaced by a dislocation with Burgers ^ ¼ ð0:01; 0:01; 0Þm. To find the solution of this problem, one should prepare the following five input files. vector b input_control: 2 2 831 12 1 1.0e9 0.001 1.0e−6; 2 0 0 0; 2 0 0 0. input_elastic1: 134e9 11e9 11e9 2.98e9 5.84e9 5.84e9 0.49 0.3 0.3 0. input_elastic2: 163e9 12e9 12e9 3.5e9 6.5e9 6.5e9 0.5 0.3 0.3 0. input_loadstr: 2 1 0.01 0.01 0 3 3 15. input_variable: 3 0 0 2 1 0 360 60 0.
8.6 Examples
215
Example 2: A Dislocation Inside the Inclusion Same as Example 1 except that the dislocation is now moved to (1, 0.5) m which is inside the inclusion. To find the solution of this problem, one should prepare the following five input files. input_control: 2 2 832 12 1 1.0e9 0.001 1.0e−6; 2 0 0 0; 2 0 0 0. input_elastic1: 134e9 11e9 11e9 2.98e9 5.84e9 5.84e9 0.49 0.3 0.3 0. input_elastic2: 163e9 12e9 12e9 3.5e9 6.5e9 6.5e9 0.5 0.3 0.3 0. input_loadstr: 2 1 0.01 0.01 0 10.5 15. input_variable: 3 0 0 2 1 0 360 60 0. Example 3: A Dislocation on the Interface Following Examples 1 and 2, if the dislocation is located at (2, 0) m which is on the interface of elliptical inclusion, one should prepare the following input files. input_control: 2 2 833 12 1 1.0e9 0.001 1.0e−6; 2 0 0 0; 2 0 0 0. input_elastic1: 134e9 11e9 11e9 2.98e9 5.84e9 5.84e9 0.49 0.3 0.3 0. input_elastic2: 163e9 12e9 12e9 3.5e9 6.5e9 6.5e9 0.5 0.3 0.3 0. input_loadstr: 2 1 0.01 0.01 0 2 0 15. input_variable: 3 0 0 2 1 0 360 60 0.
8.6.4 Inclusions and Cracks Example 1: A Crack Outside the Inclusion Consider the problem stated in Sect. 8.4.1 (see Fig. 8.12) with a ¼ 2; b ¼ 1; ‘ ¼ 0:5; x01 ¼ 0; x02 ¼ 3; (unit: m), a0 ¼ 0 , and r1 22 ¼ 1 KPa. All the other conditions are the same as those of Example 1 of Sect. 8.6.1, to calculate the displacements, strains and stresses along the inclusion boundary, as well as the stress intensity factors of the two crack tips, one should prepare the following five input files. input_control: 2 2 841 12 1 1.0e9 0.001 1.0e−6; 2 0 0 0; 2 0 0 0. input_elastic1: 134e9 11e9 11e9 2.98e9 5.84e9 5.84e9 0.49 0.3 0.3 0. input_elastic2: 163e9 12e9 12e9 3.5e9 6.5e9 6.5e9 0.5 0.3 0.3 0. input_loadstr: 2 1 0.5 0 0 3 10 15; 2 0 1000. input_variable: 3 0 0 2 1 0 360 60 0. Example 2: A Crack Inside the Inclusion Same as Example 1 except the crack is now located inside the inclusion, and ‘ ¼ 0:5; a0 ¼ 0 ; ðx1 ; x2 Þ ¼ ð0; 0Þ (see Fig. 8.13). To solve this problem, one should prepare the following five input files. input_control: 2 2 842 12 1 1.0e9 0.001 1.0e−6; 2 0 0 0; 2 0 0 0. input_elastic1: 134e9 11e9 11e9 2.98e9 5.84e9 5.84e9 0.49 0.3 0.3 0. input_elastic2: 163e9 12e9 12e9 3.5e9 6.5e9 6.5e9 0.5 0.3 0.3 0. input_loadstr: 2 1 0.5 0 0 0 10 15; 2 0 1000. input_variable: 3 0 0 2 1 0 360 60 0. Example 3: A Crack Inside the Inclusion and a Crack Outside the Inclusion Consider two collinear cracks with ‘1 ¼ ‘2 ¼ 0:5; ðx01 ; x02 Þ ¼ ð3; 0Þ; ðx1 ; x2 Þ ¼ ð0; 0Þ; (unit: m), a0 ¼ 0 (see Fig. 8.14). The inclusion and the matrix considered in this problem are the same as Example 1, whereas the uniform load applied at infinity is r1 22 ¼ 1 KPa. To find the solution of this problem, one should prepare the following five input files.
216
8 Inclusions
input_control: 2 2 843 12 1 1.0e9 0.001 1.0e−6; 2 0 0 0; 2 0 0 0. input_elastic1: 134e9 11e9 11e9 2.98e9 5.84e9 5.84e9 0.49 0.3 0.3 0. input_elastic2: 163e9 12e9 12e9 3.5e9 6.5e9 6.5e9 0.5 0.3 0.3 0. input_loadstr: 2 1 0.5 0.5 0 3 0 0 0 10 15; 2 0 1000. input_variable: 3 0 0 2 1 0 360 60 0. Example 4: A Crack Penetrating the Inclusion To consider a problem with a penetrating crack, the two cracks of the previous example should be connected. And hence, the two crack centers are now considered to be located at ðx01 ; x02 Þ ¼ ð2:5; 0Þ and ðx1 ; x2 Þ ¼ ð1:5; 0Þ. If all the other conditions remain unchanged, the input files should be prepared as follows. input_control: 2 2 843 11 1 1.0e9 0.001 1.0e−6; 2 0 0 0; 2 0 0 0. input_elastic1: 134e9 11e9 11e9 2.98e9 5.84e9 5.84e9 0.49 0.3 0.3 0. input_elastic2: 163e9 12e9 12e9 3.5e9 6.5e9 6.5e9 0.5 0.3 0.3 0. input_loadstr: 2 1 0.5 0.5 0 2.5 0 1.5 0 10 15; 2 0 1000. input_variable: 3 0 0 2 1 0 360 60 0. Example 5: A Curvilinear Crack Lying Along the Interface ^ ¼ 10 lying along the interface between inclusion and matrix (see Consider a curvilinear crack with w0 ¼ 0 and w Fig. 8.15). The materials and the load considered in this problem are the same as Example 1. To calculate the displacements, strains and stresses on a straight line ranging from (−4, 0) m to (0, 0) m with 40 equally distributed points, one should prepare the following five input files. input_control: 2 2 844 12 1 1.0e9 0.001 1.0e−6; 2 0 0 0; 2 0 0 0. input_elastic1: 134e9 11e9 11e9 2.98e9 5.84e9 5.84e9 0.49 0.3 0.3 0. input_elastic2: 163e9 12e9 12e9 3.5e9 6.5e9 6.5e9 0.5 0.3 0.3 0. input_loadstr: 2 1 0 10 10 15; 2 0 1000. input_variable: 1 1 −4 0 0 0 40.
References Gerasoulis, A. 1982. The use of piecewise quadratic polynomials for the solution of singular integral equations of cauchy type. Computational Mathematics with Applications 8: 15–22. Hwu, C., and W.J. Yen. 1993. On the anisotropic elastic inclusions in plane elastostatics. ASME Journal of Applied Mechanics 60: 626–632. Hwu, C., C.J. Kao, and L.E. Chang. 1995a. Delamination fracture criteria for composite laminates. Journal of Composite Materials 29 (15): 1962– 1987. Hwu, C., Y.K. Liang, and W.J. Yen. 1995b. Interaction between inclusions and various types of cracks. International Journal of Fracture 73 (4): 301–323. Hwu, C. 2010. Anisotropic elastic plates. New York: Springer. Hsu, C.W., and C. Hwu. 2020. Green’s functions for unsymmetric composite laminates with inclusions. Proceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences 476: 20190437. Yen, W.J., C. Hwu, and Y.K. Liang. 1995. Dislocation inside, outside or on the interface of an anisotropic elliptical inclusion. ASME Journal of Applied Mechanics 62 (2): 306–311.
9
Contact Problems
Several different contact problems presented in Hwu (2010) are coded with matlab in this chapter. If the punches are assumed to be rigid, according to the geometry of the boundary three different contact problems are considered in the first three sections. The first is a rigid punch on a half-plane, the second is a rigid stamp indentation on a curvilinear hole boundary, and the third is a rigid punch on a perturbed surface. No matter which kind of boundary geometries and punch shapes, in these three sections the punches are assumed to be perfect bonded with their contact surfaces. The problems of sliding punches with or without friction are then considered in Sect. 9.4. Different from the first four sections whose indenters are assumed to be rigid, the contact between two elastic bodies is considered in Sect. 9.5. Functions for common use and examples for contact problems are presented in the last two sections.
9.1
Rigid Punches on a Half-Plane
In this section a set of rigid punches of arbitrary profiles indenting into the surface of an anisotropic elastic half-plane with no slip occurring is studied. Illustrations are presented for the normal and rotary indentation by a flat-ended punch, and indentation by a parabolic punch.
9.1.1 General Solutions A set of rigid punches of given profiles are brought into contact with the surface of the half-plane and are allowed to indent the surface in such a way that the punches completely adhere to the half-plane on initial contact and during the subsequent indentation no slip occurs and the contact region does not change (see Fig. 9.1). Suppose the contact region L is the union of a finite set of line segments Lk ¼ ðak ; bk Þ; k ¼ 1; 2; . . .; n; where the ends of the segments are encountered in the order a1, b1, a2, b2, …, an, bn when moving in the positive x1 -direction. The displacements of the surface of the half-plane are known at ^ðx1 Þ; when x1 2 L. The resultant force applied to each punch is also known, each point of the contact region, i.e., uðx1 Þ ¼ u which is b q k on Lk , k = 1, 2, …, n. The solution to this problem has been obtained as u ¼ 2RefAfðzÞg;
/ ¼ 2RefBfðzÞg;
ð9:1Þ
where the complex function vector f(z) can be derived from the relation (9.2a, 9.2b) with the assist of translating technique stated later for (9.8a) and (9.8b). Let the prime (0 ) denotes the derivative with respect to the function argument, we have f 0 ðzÞ ¼ B1 h0 ðzÞ;
ð9:2aÞ
where 1 X0 ðzÞ h ðzÞ ¼ 2p 0
Z
1 ½X þ ðtÞ1 Mb u 0 ðtÞdt þ X0 ðzÞpn ðzÞ: tz 0
ð9:2bÞ
L
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2021 C. Hwu, Anisotropic Elasticity with Matlab, Solid Mechanics and Its Applications 267, https://doi.org/10.1007/978-3-030-66676-7_9
217
218
9
Contact Problems
Fig. 9.1 Rigid punches on a half-plane
M is an impedance matrix defined in the extended symbols (8) of Sect. 2.5.5, pn ðzÞ is a polynomial vector with degree not higher than n, i.e., pn ðzÞ ¼ d0 þ d1 z þ þ dn1 zn1 ;
ð9:3Þ
and X0 ðzÞ is the basic Plemelj function matrix satisfying the homogeneous part of the Hilbert problem, i.e., X0þ ðx1 Þ ¼ X 0 ðx1 Þ;
x1 62 L;
1
X0þ ðx1 Þ þ MM X 0 ðx1 Þ ¼ 0;
x1 2 L;
ð9:4Þ
where X 0 ðx1 Þ is an alternative notation for X0 ðx1 Þ. The solution X0 ðzÞ to (9.4) is
X0 ðzÞ ¼ KCðzÞ;
ð9:5aÞ
where K ¼ ½ k1
k2
k3 ;
CðzÞ ¼ \
n Y
ðz aj Þda ðz bj Þda 1 [ :
ð9:5bÞ
j¼1
da and ka ; a = 1, 2, 3 of (9.5b) are the eigenvalues and eigenvectors of 1
ð9:6aÞ
a ¼ 1; 2; 3;
ð9:6bÞ
ðM1 þ e2pid M Þk ¼ 0: The solution da of (9.6a) has been found to be da ¼
1 þ iea ; 2
where e1 ¼ e ¼
1 1þb ln ; 2p 1 b
1 b ¼ ½ trðS2 Þ1=2 ; 2
e2 ¼ e;
e3 ¼ 0;
S ¼ ið2ABT IÞ:
ð9:6cÞ
9.1 Rigid Punches on a Half-Plane
219
The unknown coefficient vectors dk ; k ¼ 0; 1; 2; . . .; n 1, can be determined by Z ½h0 ðx1þ Þ h0 ðx qk ; k ¼ 1; 2; 3; . . .; n: 1 Þdx1 ¼ ^
ð9:7Þ
Lk
Now the problem is solved in principle. Generally, the solution obtained from (9.2a, 9.2b) will not keep the form required in (2.6b), e.g., the first component of f(z) may not be a function of z1 only. To be consistent with the function requirement, the usual way is firstly dropping the subscript of z when deriving the function vector h0 ðzÞ through (9.2b)–(9.7), and then add the subscript according to the form of function vector set in (2.6b). To implement this kind of mathematical operation, a translating technique was introduced as follows (Hwu 1993). If an implicit solution with the form of fðzÞ ¼ ðf1 ðzÞ; f2 ðzÞ; f3 ðzÞÞT is written as fðzÞ ¼ C\ga ðzÞ [ q;
ð9:8aÞ
with the understanding that the subscript of z is dropped before the matrix product and a replacement of z1 , z2 or z3 should be made for each component function of fðzÞ after the multiplication of matrices, the explicit solution with the form required in (2.6b) can be expressed as fðzÞ ¼
3 X
\gj ðza Þ [ CIj q;
ð9:8bÞ
j¼1
where Ij ; j ¼ 1; 2; 3; are the diagonal matrices with a unit value at the (jj) component and all the other components are zero (see the extended symbols (3) of Sect. 2.5.5). From the solutions stated in (9.1)–(9.8a, 9.8b), we see that since too many possibilities are allowed in the general solutions, and certain parts such as (9.7) and (9.8b) need further analytical derivation, it is really difficult to write a matlab code suitable for general cases. Because most of the solutions of this Chapter are derived based upon the general solution (9.2a, 9.2b), for the convenience of presentation some solutions are presented by f 0 ðzÞ and some others are presented by h0 ðzÞ without tracing back to the complex function vector f(z). Here, we like to show the general procedure of calculating f 0 ðzÞ from h0 ðzÞ, and calculating f(z) from f 0 ðzÞ. (1) Calculate f 0 ðzÞ from h0 ðzÞ: If h0 ðzÞ has been found to be
by (9.2a) we have
9 8 9 8 0 > = = > < g1 > < h1 ðzÞ > h0 ðzÞ ¼ h02 ðzÞ ¼ 1 h02 ðzÞ ¼ h02 ðzÞg; > > ; ; > : > : 0 h3 ðzÞ g3
ð9:9Þ
f 0 ðzÞ ¼ h02 ðzÞB1 g:
ð9:10Þ
Since the complex function vector f(z) should keep the form required in (2.6b), by the translating technique stated in (9.8a, 9.8b), the explicit solution of Eq. (9.10) can now be written as f 0 ðzÞ ¼ \h02 ðza Þ [ B1 g:
ð9:11Þ
220
9
Contact Problems
(2) Calculate fðzÞ from f 0 ðzÞ: As stated in the remarks of Sect. 7.3.2, if the solution of fðzÞ cannot be obtained from the analytical integration of f 0 ðzÞ, numerical integration through the Gaussian quadrature rule (see Appendix A) can be applied as follows, 9 8 Zz1 > > 9 > 8 > 0 > n X > > f1 ðz1 Þdz1 > > > > > 0 > > > > ðz =2Þ w f ððt þ 1Þz =2Þ > > > > 1 i 1 i 1 > > > > > > >0 > 9 > 8 > > > i¼1 > > > > > > > > z 2 f ðz Þ > > >Z > n = > = < = < < 1 1 > X 0 0 f2 ðz2 Þdz2 ffi ðz2 =2Þ wi f2 ððti þ 1Þz2 =2Þ ; fðzÞ ¼ f2 ðz2 Þ ¼ > > > > > > > > > ; > : i¼1 > > > > 0 f3 ðz3 Þ > > > > > > > > n > > > > X z > > > > 3 Z 0 > > > > > : > > > ðz3 =2Þ w f ððt þ 1Þz =2Þ i i 3 > ; > 3 0 > > > f3 ðz3 Þdz3 > > > i¼1 ; :
ð9:12Þ
0
where n is the number of Gaussian points, ti and wi are the abscissae and weights of Gaussian quadrature rule. Remarks on computer coding As stated in the remarks of Sects. 7.3.2 and 7.4.3, the function CðzÞ of (9.5b) should be calculated by Ck ðza Þ ¼ ðza þ aÞ1=2iek ðza aÞ1=2 þ iek ¼ ðr1 eih1 Þ1=2iek ðr2 eih2 Þ1=2 þ iek ; ðcorrectÞ
ð9:13Þ
1 za þ a iek ¼ ðr3 eih3 Þ1=2 ðr4 eih4 Þiek ; ðwrongÞ Ck ðza Þ ¼ pffiffiffiffiffiffiffiffiffiffiffiffiffiffi z2a a2 za a
ð9:14aÞ
instead of
where za þ a ¼ r1 eih1 ; z2a a2 ¼ r3 eih3 ;
za a ¼ r2 eih2 ; za þ a ¼ r4 eih4 ; za a
p h1 ; h2 ; h3 ; h4 p:
ð9:14bÞ
By actual numerical calculation, we see that the results of (9.13) and (9.14a) have a sign difference in the region of x\0. Note that the half-plane considered in this Chapter occupies the region S whose x2 0, and hence the angles h1 ; h2 obtained from (9.14b)1,2 should all be located within the region ½p; 0. Thus, if we have a point such as ð5; 0Þ on the half-plane surface, its related complex variable zd should then be calculated by ð5eip Þd instead of ð5eip Þd . To avoid any error occurring near the branch cut of h ¼ p, in computer coding (9.13) should be further modified as if p hk \e; rk eihk ¼ rk eiðhk 2pÞ ; k ¼ 1; 2; e : a small positive number:
ð9:15Þ
9.1.2 A Flat-Ended Punch Indented by a Load—s912FpunchL Consider the indentation by a single punch with a flat-ended profile which makes contact with the half-plane over the region jx1 j a; and the force b q applied on the punch is given (Fig. 9.2). The solution of the complex function vector f 0 ðzÞ used to calculate the displacements and stresses has been obtained as f 0 ðzÞ ¼
3 1 X 1 za þ a iek q: \ pffiffiffiffiffiffiffiffiffiffiffiffiffiffi [ B1 KIk K1 b 2pi k¼1 z2a a2 za a
ð9:16Þ
9.1 Rigid Punches on a Half-Plane
221
x2
qˆ
x1
a a
Fig. 9.2 A flat-ended punch on a half-plane
Real form solutions of the contact pressure under the punch and the surface deformation gradient outside the punch are 1 1 cR T 2 cI T tðx1 Þ ¼ pffiffiffiffiffiffiffiffiffiffiffiffiffiffi2ffi ½I þ ðS Þ þ S ^ q; jx1 j a; 2 b b2 p a x1 1 1 c R T 2 c I T 0 1 ^; x1 [ a and x1 \ a; ffiL Iþ ðS Þ þ S q u ðx1 Þ ¼ pffiffiffiffiffiffiffiffiffiffiffiffiffiffi b b2 p x21 a2
ð9:17aÞ
a þ x1 a þ x1 cR ¼ coshðpeÞ cosðe ln Þ; cI ¼ coshðpeÞ sinðe ln Þ; a x1 a x1 x1 þ a Þ; c ¼ sinðe ln x1 þ a Þ: c R ¼ cosðe ln I x1 a x 1 a
ð9:17bÞ
where
Based upon the solutions shown in (9.16) and (9.17a, 9.17b), function s912FpunchL is designed and presented in F159 of Appendix F. The input file for load and structure information is input_loadstr: a; ^ q1 ; ^ q2 ; ^ q3 .
9.1.3 A Flat-Ended Punch Tilted by a Moment—s913FpunchM ^ (Fig. 9.3). The punch is of width A flat-ended punch which adheres to the half-plane is tilted by the application of a couple m 2a and is tilted through a small angle x measured in the counterclockwise direction. The solution of f 0 ðzÞ for the full field domain, and the solutions of tðx1 Þ, and u0 ðx1 Þ for the half-plane surface x2 = 0 have been obtained as ( ) 3 X ix B1 \Ck ðza Þðza þ 2iaek Þ [ B1 KIk K1 Li2 ; f 0 ðzÞ ¼ 2 k¼1 xx1 1 cR T 2 cI T S ðS Þ þ tðx1 Þ ¼ pffiffiffiffiffiffiffiffiffiffiffiffiffiffi2ffi I þ Li2 ; jx1 j\a; ð9:18aÞ b b2 a2 x 1 ( ) x1 1 c R 2 c I 0 ffi Iþ S S i2 ; x1 [ a and x1 \ a; u ðx1 Þ ¼ x I pffiffiffiffiffiffiffiffiffiffiffiffiffiffi b b2 x21 a2
222
9
Contact Problems
Fig. 9.3 A flat-ended punch tilted by a moment
where i2 = (0, 1, 0)T, and 1 za þ a iek p 4e2 ^ ¼ a2 xf½I 2 ðST Þ2 Lg22 ; ; m Ck ðza Þ ¼ pffiffiffiffiffiffiffiffiffiffiffiffiffiffi 2 b z2a a2 za a x þ a aþx ie ln x1 a 2iae 2iae ie ln ax 1
1 1 1þ cR þ icI ¼ coshðpeÞe 1þ ; cR þ icI ¼ e : x1 x1
ð9:18bÞ
Based upon the solutions shown in (9.18a, 9.18b), function s913FpunchM is designed and presented in F160 of ^ Appendix F. The input file for load and structure information is input_loadstr: a; m.
9.1.4 A Parabolic Punch Indented by a Load—s914PpunchL Consider a symmetric punch whose end section can be expressed by a parabolic curve x2 ¼ x21 =2R; jx1 j ‘; where R is the ^ the size of the radius of curvature, and 2‘ is the width of the punch (Fig. 9.4). Suppose on indentation under the force q contact region is 2a ð 2‘Þ. The solutions to this problem have been obtained as f 0 ðzÞ ¼
3 i X \Ck ðza Þ½2z2a þ 4iaek za ð1 þ 4e2k Þa2 [ B1 K Ik K1 Li2 4R k¼1
3 i 1 X ^; \za [ B1 Li2 þ \Ck ðza Þ [ B1 K Ik K1 q 2R 2pi k¼1 2x21 a2 1 ðc~cÞR T 2 ðc~cÞI T S Li2 tðx1 Þ ¼ pffiffiffiffiffiffiffiffiffiffiffiffiffiffi2ffi I þ ðS Þ þ b b2 2R a2 x1 1 1 cR T 2 cI T ^; q jx1 j a; S þ pffiffiffiffiffiffiffiffiffiffiffiffiffiffi2ffi I þ ðS Þ þ b b2 p a 2 x1 x1 2x21 a2 1 ðc ~cÞR 2 ðc ~cÞI 0 ffi Iþ S i2 S u ðx1 Þ ¼ i2 pffiffiffiffiffiffiffiffiffiffiffiffiffiffi R b b2 2R x21 a2 1 1 c R T 2 c I T ^; x1 [ a and x1 \ a; q S pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi L1 I þ ðS Þ þ b b2 p x21 a2
þ
where Ck ðza Þ is the same as (9.18b)1 and
ð9:19aÞ
9.1 Rigid Punches on a Half-Plane
223
Fig. 9.4 Indentation by a parabolic punch
aþx
ie ln ax 1
c R
þ ic I
x
ie ln x1 a
1; cR þ icI ¼ coshðpeÞe ¼e 1 ~cR þ i~cI ¼ 2 ½2x2 ð1 þ 4e2 Þa2 þ i4aex1 ; 2x1 a2 1
þa
1
; ð9:19bÞ
ðc~cÞR ¼ cR~cR cI ~cI ; ðc~cÞI ¼ cR~cI þ cI ~cR ; ðc ~cÞR ¼ c R~cR c I ~cI ; ðc ~cÞI ¼ c R~cI þ c I ~cR : The contact region 2a is related to the applied vertical force ^ p ¼ ^ q2 (positive upward) by Fan (1996) ^p ¼
pa2 4e2 f½I þ 2 ðST Þ2 Lg22 : 2R b
ð9:19cÞ
^p\
p‘2 4e2 f½I þ 2 ðST Þ2 Lg22 ; 2R b
ð9:19dÞ
This implies that for incomplete indentation
and if ^p exceeds this value the whole face of the punch will be brought into contact with the half-plane and the stresses and deformation gradients can be obtained by (9.19a) with a replaced by ‘. Based upon the solutions shown in (9.19a, 9.19b, 9.19c, 9.19d), function s914PpunchL is designed and presented in F161 of Appendix F. The input file for load and structure information is input_loadstr: ‘; R; ^ q1 ; ^ q2 ; ^ q3 .
9.2
Rigid Stamp Indentation on a Curvilinear Hole Boundary
Replacing the straight boundary with curvilinear boundary, the problems of rigid stamp indentation on a curvilinear hole surface are considered in this section. In engineering practice, the solutions to this kind of problems may be useful for the understanding of the mechanical behavior of a pin-loaded hole in composite materials.
9.2.1 General Solutions Consider a set of rigid stamps of given profiles in contact with the curvilinear hole boundary of an anisotropic elastic body (Fig. 9.5). It is assumed that the stamps indent the hole boundary in such a way that the stamps completely adhere to the elastic body on initial contact and during the subsequent indentation no slip occurs and the contact region does not change. Due to the assumption of rigid stamp indentation, over the contact region of the hole boundary the displacement u are known
224
9
Contact Problems
Fig. 9.5 A curvilinear hole indented by a set of rigid stamps
^. Over the remainder of the hole boundary, the surface traction is assumed to be free. The resultant forces and set to be u ^k . The total resultant force q ^ applied on all stamps is the applied to each stamp are supposed to be known and denoted by q ^k . summation of all stamp forces q In general, the vectors of displacements and stress functions to this problem can be expressed as u ¼ 2RefAfðfÞg;
/ ¼ 2RefBfðfÞg;
ð9:20Þ
where the argument f of the mapped domain is related to za by (6.39). The complex function vector fðfÞ can be obtained from the following relation with the assist of translating technique stated in (9.8a, 9.8b), 1 f 0 ðfÞ ¼ B1 h0 ðfÞ; f
ð9:21aÞ
where h0 ðfÞ ¼
1 Xc ðfÞ 2pi
Z
q ½X þ ðsÞ1 Mb u 0 ðsÞds þ Xc ðfÞpc ðfÞ: sf c
ð9:21bÞ
L
qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi q ¼ j@x1 =@wj2 þ j@x2 =@wj2 whose explicit relation with hole parameters is given in (6.42b). Xc ðfÞ is the basic Plemelj function matrix determined by Xc ðfÞ ¼ KCðfÞ;
ð9:22Þ
where K and CðfÞ are those given in (9.5b) with z replaced by f, and da and ka ; a = 1, 2, 3 of (9.5b) are calculated from (9.6a, 9.6b, 9.6c). pc ðzÞ is a polynomial vector to be determined by the following loading conditions Z i 0 þ ^k ¼ ½h ðs Þ h0 ðs Þds; for k ¼ 1; 2; . . .; n: q ð9:23Þ q Lk
Note the symbol 0 used in (9.21a, 9.21b) means the differentiation with respect to its argument, i.e., f 0 ðfÞ ¼@fðfÞ=@f and h0 ðfÞ ¼@hðfÞ=@f.
9.2 Rigid Stamp Indentation on a Curvilinear Hole Boundary
225
Fig. 9.6 Rigid stamp indentation on an elliptical hole
Similar to the general solutions for the problems of rigid punches on half-plane, to be consistent with the function form required in (2.6b) the solutions obtained from (9.20)–(9.23) should also be translated by using (9.8a, 9.8b). Due to the incompleteness, no function is coded for the general cases and only special cases are coded and presented in Sects. 9.2.2 and 9.2.3.
9.2.2 Elliptical Hole Boundaries—s922Estamp Consider an infinite anisotropic elastic body containing an elliptical hole of which the boundary is expressed by (6.1a). The ^ ¼ ð^q1 ; ^q2 ; 0ÞT applied on a rigid stamp along the segment ranging from w0 to w0 (see hole is loaded by a resultant force q ^0 ðsÞ ¼ 0 when s 2 L. Fig. 9.6). The profile of the stamp is assumed to be compatible with that of the hole boundary, i.e., u 0 The solution of f ðfÞ to this problem have been obtained as f 0 ðfÞ ¼
3 1 X e2w0 ek 1 1 T ^; \Ck ðfa Þ [ B1 KIk K BAT þ \ [ B1 KIk K BA q 2pi k¼1 fa
ð9:24aÞ
where Ck ðfa Þ ¼ \ðfa eiw0 Þ1=2iek ðfa eiw0 Þ1=2 þ iek [ ;
ð9:24bÞ
and fa is calculated from (6.4). Since there are two roots obtained from (6.4), in the computer coding one should select the one located outside of the unit circle jfa j ¼ 1 (see Remark on Sect. 6.1.1). Based upon the solutions shown in (9.24a, 9.24b), function s922Estamp is designed and presented in F162 of Appendix F. The input file for load and structure information is input_loadstr: a; b; w0 ; ^ q1 ; ^ q2 ; ^ q3 .
9.2.3 Polygonal Hole Boundaries—s923Pstamp Consider a polygon-like hole (see an example of hexagon shown in Fig. 9.7) whose contour is represented by (6.39) in which the symbol e is replaced by e to avoid confusing with the oscillatory index e. The hole is loaded by a resultant force ^ ¼ ð^q1 ; ^q2 ; 0ÞT applied on a rigid stamp along the segment ranging from w0 to w0 . The profile of the stamp is assumed to q ^0 ðsÞ ¼ 0 when s 2 L. be compatible with that of the hole boundary, i.e., u
226
9
Contact Problems
Fig. 9.7 Rigid stamp indentation on a polygon-like hole
It has been shown that the solution form to this problem is the same as (9.24a, 9.24b) except that fa in (9.24a, 9.24b) should now be determined from (6.40) instead of (6.4). Since more than one roots can be obtained from (6.40), one should be careful about the selection of the correct root fa (see Remark on Sect. 6.2.2). The basic principle is selecting the nearest point located outside of the unit circle jfa j ¼ 1. Based upon the solutions shown in (9.24a, 9.24b) with the corrective evaluation of fa for polygonal holes, function s923Pstamp is designed and presented in F163 of Appendix F. The input file for load and structure information is input_loadstr: a; c; e ; k; w0 ; ^q1 ; ^q2 ; ^q3 .
9.3
Rigid Punches on a Perturbed Surface
In this section, two kinds of perturbed boundaries are considered. One is a boundary perturbed from a straight line, and the other is a boundary perturbed from an ellipse.
9.3.1 Straight Boundary Perturbation Consider an anisotropic elastic body occupying the lower half-plane whose boundary C is a wavy curve perturbed from the ^ ^ straight line x2 ¼ 0 and can be expressed in terms of a small parameter e as x2 ¼ e uðx1 Þ; where uðx1 Þ is a wavy-shape ^ðx1 Þ at the contact region L which is a union of a function such as cos x1 (see Fig. 9.8). The displacements are known to be u set of segments Lk ¼ ðak ; bk Þ; k = 1, 2, …, n. The remainder of C-L of the boundary C is traction-free. The resultant forces ^k on Lk , k = 1, 2, …, n. applied to each punch are also known, which is q The complex function vector fðzÞ to this problem can be expressed as fðzÞ ¼ f 0 ð^zÞ þ e ½f 1 ð^zÞ þ luðx1 Þf 00 ð^zÞ þ ; ^
^
ð9:25Þ
^
where ^z ¼ z e luðx1 Þ ¼ x1 þ l½x2 e uðx1 Þ, and f 0 ð^zÞ is the solution of half-plane with straight line boundary, i.e., the solution obtained from (9.2a, 9.2b)–(9.7). The solution of first-order pertubation f 1 ð^zÞ can be derived by f 1 ð^zÞ ¼ B1 ½h1 ð^zÞ luð^zÞBf 00 ð^zÞ;
ð9:26aÞ
9.3 Rigid Punches on a Perturbed Surface
227
Fig. 9.8 Rigid punch on a boundary perturbed by a straight line
where h1 ð^zÞ ¼
1 X0 ð^zÞ 2p
Z L
1 ½X þ ðtÞ1 Mb u 1 ðtÞdt þ X0 ð^zÞpn ð^zÞ; t ^z 0
ð9:26bÞ
^1 is the first order term of u ^ which in which the polynomial vector pn ð^zÞ can be determined by the loading condition, and u ^ has been expanded into series of e as ^
^2
^0 ðx1 Þ þ e u ^1 ðx1 Þ þ e u ^2 ðx1 Þ þ ^ðx1 Þ ¼ u u
ð9:27Þ
Note that in (9.25) and (9.26a, 9.26b) the subscript a of la and ^za is dropped. Once the solution is obtained, a replacement of z1, z2 and z3 together with their corresponding la should be made for each component function to evaluate the full field solution. Similar to the previous sections, here no function is coded for the general cases and a special case is coded and presented in Sect. 9.3.3.
9.3.2 Elliptical Boundary Perturbation Consider a hole in an anisotropic elastic body, which differs slightly from that of an ellipse, and can be expressed in terms of ^ a small parameter e as (see a special case shown in Fig. 9.5) ^
x1 ¼ a½cos w þ e
N X
ðck cos kw þ dk sin kwÞ;
k¼1 ^
x2 ¼ a½c sin w þ e
N X
ð9:28Þ ðck sin kw þ dk cos kwÞ:
k¼1
^ at the contact region L which is a union of a set of segments Lk ¼ ðak ; bk Þ; k = 1, 2, …, n. The displacements are known to be u ^k on Lk . The remainder of C-L of the boundary C is traction-free. The resultant force applied to each punch is known and is q The complex function vector fðzÞ to this problem can be expressed as (Hwu 2010) fðzÞ ¼ f 0 ðfÞ þ e ½f 1 ðfÞ þ \ua ðfÞ [ f 0 0 ðfÞ þ ;
ð9:29aÞ
( ) N aX 1 k ua ðfÞ ¼ ðck idk Þð1 þ ila Þfa þ ðck þ idk Þð1 ila Þ k ; a ¼ 1; 2; 3; 2 k¼1 fa
ð9:29bÞ
^
where
228
9
@f 0 ðfÞ @f 0 ðfÞ @f ¼ ; @za za ¼zea @f @za za ¼zea a 1 e ð1 ila cÞf þ ð1 þ ila cÞ : za ¼ xa ðfÞ ¼ 2 f
Contact Problems
f 0 0 ðfÞ ¼
ð9:29cÞ
With the relation given in (9.29c), we have 0 f 0 0 ðfÞ ¼ \ea [ f 0 ðfÞ;
ð9:30aÞ
where ( )1 2 1 þ ila c fa ea ¼ 1 ila c ¼ ; 2 a að1 ila cÞfa za fa
a ¼ 1; 2; 3:
ð9:30bÞ
It can be proved that ea calculated in (9.30b) is the same as fa;1 shown in (6.5b)1 for the elliptical hole. The variables za and f used in (9.29a, 9.29b, 9.29c) are related and can be determined by the following procedure, which is different from those presented in (Hwu 2010). ð1Þ Given ðx1 ; x2 Þ: ð2Þ Calculate za ¼ x1 þ la x2 ;
a ¼ 1; 2; 3:
ð3Þ Calculate f by ð9.29cÞ with zea
ð9:31Þ
¼ za ; i.e, by ð6:4Þ:
Through the perturbation technique, the solution form of f 0 ðfÞ has been proved to be the same as that for the problem with elliptical hole boundary, i.e., (9.24a, 9.24b). The solution of the first-order perturbation function f 1 ðfÞ can be derived by ( ) N aX 2 k 1
0 h1 ðfÞ ðck þ idk Þ½1 il þ ð1 ilÞf f Bf 0 ðfÞ ; ð9:32aÞ f 1 ðfÞ ¼ B 2 k¼1 where h1 ðfÞ ¼
1 Xc ðfÞ 2pi
Z
1 ½X þ ðsÞ1 M^ u 1 ðsÞds þ Xc ðfÞpc ðfÞ: sf c
ð9:32bÞ
L
The Plemelj function matrix Xc ðfÞ is defined in (9.22), the polynomial vector pc ðfÞ is determined by the loading condition, ^ 1 is related to the prescribed displacement u ^ by and u ^ 1 ðrÞ ¼ if^ u u1 ðrÞ
N X
Re½iaqðck idk Þð1 þ ilÞrk1 b u 00 ðrÞg; r ¼ eiw ;
ð9:33aÞ
k¼1
^0 and u ^1 are related to u ^ by where u ^
^2
^1 ðrÞ þ e u ^2 ðrÞ þ ^ðrÞ ¼ u ^0 ðrÞ þ e u u
ð9:33bÞ
Similar to the previous sections, here no function is coded for the general cases and a special case is coded and presented in Sect. 9.3.3.
9.3.3 Illustrative Examples—s933_1Cpunch, s933_2Tstamp Example 1: A Cosine Wavy-Shaped Boundary ^ Consider a single rigid punch with a flat-ended profile indenting into the cosine wavy-shaped surface, x2 ¼ e cos x1 , of an anisotropic elastic half-plane (Fig. 9.9). During the indentation, the punch is assumed to completely adhere to the half-plane over the contact region jx1 j a in such a way that no slip occurs. Thus, the displacement of the surface of the half-plane is
9.3 Rigid Punches on a Perturbed Surface
229 ^
^ðx1 Þ ¼ ðc þ e cos x1 Þi2 ; where c is the relative depth of indentation. known at each point of the contact region, and will be u ^ which will remain constant and will not be disturbed by the perturbed surface. The resultant force applied to the punch is q The complex function vector fðzÞ to this problem has been obtained as fðzÞ ¼ f 0 ð^zÞ þ e ½f 1 ð^zÞ þ \la cos x1 [ f 00 ð^zÞ þ ;
ð9:34aÞ
3 1 X 1 ^za þ a iek ^; \ pffiffiffiffiffiffiffiffiffiffiffiffiffiffi [ B1 KIk K1 q 2pi k¼1 ^z2a a2 ^za a 3 1 X la cos ^za ^za þ a iek T ^; f 1 ð^zÞ ¼ \ cos ^za [ B i2 \ pffiffiffiffiffiffiffiffiffiffiffiffiffiffi [ B1 KIk K1 q 2pi k¼1 ^z2a a2 ^za a
ð9:34bÞ
^
where f 00 ð^zÞ ¼
and ^
^za ¼ x1 þ la ðx2 e cos x1 Þ:
ð9:34cÞ
In the above, e1 ; e2 ; e3 and K can be calculated from (9.6a, 9.6b, 9.6c) and (9.5a, 9.5b), whereas f 0 ð^zÞ is the integral of f 00 ð^zÞ. For the calculation of strains and stresses, with (9.34a, 9.34b) further results about the derivatives are found to be n
o ^ ^ f ;1 ðzÞ ¼ f 00 ð^zÞ þ e \1 þ e la sin x1 [ f 01 ð^zÞ þ \la cos x1 [ f 000 ð^zÞ þ ; n ð9:35aÞ o ^
f ;2 ðzÞ ¼ \la [ f 00 ð^zÞ þ e f 01 ð^zÞ þ \la cos x1 [ f 000 ð^zÞ þ ; where f 000 ð^zÞ ¼ f 01 ð^zÞ
3 1 X ^; \C0k ð^za Þ [ B1 KIk K1 q 2pi k¼1
3 1 X ^; ¼ \ sin ^za [ B i2 \gk ð^za Þ [ B1 KIk K1 q 2pi k¼1 T
qˆ
a a Fig. 9.9 A rigid flat-ended punch on a cosine wavy-shaped boundary
ð9:35bÞ
230
9
Contact Problems
and C0k ð^za Þ ¼ ð^za þ aÞ3=2iek ð^za aÞ3=2 þ iek ð^za 2iek Þ; gk ð^za Þ ¼ la sin ^za Ck ð^za Þ la cos ^za C0k ð^za Þ; Ck ð^za Þ ¼ ð^za þ aÞ
1=2iek
ð^za aÞ
1=2 þ iek
ð9:35cÞ
:
Based upon the solutions shown in (9.34a, 9.34b, 9.34c) and (9.35a, 9.35b, 9.35c), function s933_1Cpunch is designed ^ and presented in F164 of Appendix F. The input file for load and structure information is input_loadstr: a; e ; ^ q1 ; ^q2 ; ^q3 . Example 2: A Triangular Hole ^ Consider a triangular hole as shown in Fig. 9.10, the contour of which is represented by x1 ¼ aðcos w þ e cos 2wÞ, ^ ^ ¼ ð^ q1 ; ^ q2 ; 0ÞT applied on a rigid stamp along the x2 ¼ aðc sin w e sin 2wÞ. The hole is loaded by a resultant force q þ þ segment between ðx 1 ; x2 Þ and ðx1 ; x2 Þ where the superscripts – and + denote, respectively, the values associated with w ¼ w0 and w ¼ w0 . The profile of the stamp is assumed to be compatible with that of the hole boundary, i.e., b u 0 ðsÞ ¼ 0 when s 2 L. The complex function vector fðzÞ to this problem has been obtained as fðzÞ ¼ f 0 ðfÞ þ e ½f 1 ðfÞ þ \ua ðfÞ [ f 0 0 ðfÞ þ ; ^
ð9:36aÞ
where
0 0 f 1 ðfÞ ¼ \ha ðfÞ [ f 0 0 ðfÞ; f 0 ðfÞ ¼ \ea ðfÞ [ f 0 ðfÞ;
f 00 ðfÞ ¼
3 1 X \Ck ðfa Þ [ pk ðfÞ; 2pi k¼1
ð9:36bÞ
and
e2w0 ek 1 T 1 ^; [ B KIk K BA q pk ðfÞ ¼ B KIk K BA þ \ fa 1
1
T
Ck ðfa Þ ¼ ðfa eiw0 Þ1=2iek ðfa eiw0 Þ1=2 þ iek ; ( ) ( ) a 1 a 1 ila 2 ð1 þ ila Þfa þ ð1 ila Þ 2 ; ha ðfÞ ¼ 1 ila þ ua ðfÞ ¼ : 2 2 fa f2a
x2
qˆ
Fig. 9.10 A rigid stamp on a triangular hole boundary
x1
ð9:36cÞ
9.3 Rigid Punches on a Perturbed Surface
231
Note that in (9.36a, 9.36b) fa is calculated from the transformation Eq. (6.4) for elliptical hole instead of (6.39) for triangular hole. For the calculation of strains and stresses, with (9.36a, 9.36b) further results about the derivatives are found to be n o ^
00 f ;1 ðzÞ ¼ \ea ðfÞ [ f 00 ðfÞ þ e f 01 ðfÞ þ \u0a ðfÞ [ f 0 þ ; 0 ðfÞ þ \ua ðfÞ [ f 0 ðfÞ ð9:37aÞ f ;2 ðzÞ ¼ \la [ f ;1 ðzÞ; where
00 f 01 ðfÞ ¼ \h0a ðfÞ [ f 0 0 ðfÞ þ \ha ðfÞ [ f 0 ðfÞ; 0 0 00 f 00 0 ðfÞ ¼ \ea ðfÞ [ f 0 ðfÞ þ \ea ðfÞ [ f 0 ðfÞ;
f 000 ðfÞ
3
1 X ¼ \C0k ðfa Þ [ pk ðfÞ þ \Ck ðfa Þ [ p0k ðfÞ ; 2pi k¼1
ð9:37bÞ
and p0k ðfÞ ¼ \
e2w0 ek 1 T ^; [ B1 KIk K BA q f2a
C0k ðfa Þ ¼ ðfa eiw0 Þ3=2iek ðfa eiw0 Þ3=2 þ iek ðfa cos w0 þ 2ek sin w0 Þ; ( ) 1 il a u0a ðfÞ ¼a ð1 þ ila Þfa ; f3a h0a ðfÞ ¼
ð1 ila Þa ; f3a
e0a ðfÞ ¼
4ð1 þ ila cÞfa
a½ð1 ila cÞf2a ð1 þ ila cÞ2
ð9:37cÞ
:
Based upon the solutions shown in (9.36a, 9.36b, 9.36c) and (9.37a, 9.37b, 9.37c), function s933_2Tstamp is designed ^ and presented in F165 of Appendix F. The input file for load and structure information is input_loadstr: a; c; e ; w0 ; ^ q1 ; ^q2 ; ^q3 .
9.4
Sliding Punches with or without Friction
Punches with or without friction sliding along the surface of an anisotropic elastic half-plane is considered in this section. The word “sliding” used here has a generalized meaning which includes not only slowly sliding punches but also the punches that are in static equilibrium. The applied horizontal forces can be any value less than or equal to the maximum friction force.
9.4.1 General Solutions Consider a set of n punches sliding with or without friction along the surface of a half-plane (Fig. 9.11). All the punches are assumed to be rigid, and the half-plane is considered to be an anisotropic elastic medium. gk ðx1 Þ is a given function for the profile of the k th punch. Lk ¼ ðak ; bk Þ is the contact region between the k th punch and the half-plane surface, and L ¼ L1 [ L2 [ . . .Ln . The k th punch is under the action of normal force Nk and is propelled simultaneously by a horizontal force Fk . Assume that the ratio Fk =Nk ¼ g, which should be less or equal to the coefficient of static friction cs , is a constant along all the contact regions.
232
9
Contact Problems
Fig. 9.11 Sliding punches with or without friction
The solution to this problem can also be expressed by (9.1) and (9.2a, 9.2b), except now 8 9 < gh02 ðzÞ = ; h0 ðzÞ ¼ h0 ðzÞ : 2 ; 0
ð9:38Þ
where the upper plus sign corresponds to the case that the punch is propelled from right to left, while the lower minus sign corresponds to the case that the punch is propelled from left to right, and h02 ðzÞ ¼
n v0 ðzÞ X 2ps k¼1
Z Lk
g0k ðtÞ dt þ v0 ðzÞpn ðzÞ; v0þ ðtÞðt zÞ
ð9:39aÞ
where v0 ðzÞ ¼
n Y
ðz ak Þd ðz bk Þd1 ;
ð9:39bÞ
k¼1
1 argðs=sÞ; d¼ 2p
s ¼ m22 gm21 ;
0 d\1;
and m21 and m22 are the {21} and {22} components of the matrix M1 ; arg stands for the argument of a complex number; pn ðzÞ is an arbitrary polynomial with degree not higher than the punch number n and can be expanded as pn ðzÞ ¼ d0 þ d1 z þ þ dn1 zn1 :
ð9:40Þ
The unknown coefficients of pn ðzÞ can be determined by the infinity condition, dn1 ¼
iN ; 2p
where
and the force equilibrium condition of each punch, Z Nk ¼ ½h02 ðx1þ Þ h02 ðx 1 Þdx1 ;
N¼
n X
Nk ;
ð9:41aÞ
k¼1
for
k ¼ 1; 2; . . .; n:
ð9:41bÞ
Lk
It is apparent that one of the equations of (9.41a, 9.41b) is redundant as (9.41a) ensures the overall equilibrium of the elastic body.
9.4 Sliding Punches with or without Friction
233
Note that d is a real positive number and hence there are no oscillatory singularities in the solution which is different from the solution for the punch indentation with no slip. Moreover, 0 d\1 such that the total strain energy is bounded within the contact region. It has also been proved that d ¼ 1=2 if g ¼ 0. The contact pressure under the punches and the surface deformation outside the punches are 0 r22 ðx1 Þ ¼ fðs þ sÞh02 ðx 1 Þ igk ðx1 Þg=s; r12 ðx1 Þ ¼ gr22 ðx1 Þ; r32 ðx1 Þ ¼ 0; x1 2 Lk :
ð9:42Þ
and u0 ðx1 Þ ¼ 2iL1 h0 ðx 1 Þ;
x1 62 L:
ð9:43Þ
Remarks The solutions presented here is general in the following senses. (1) The horizontal force Fk is not necessary to be the value that causes the kth punch to slide. It may be any value less than or equal to cs Nk , since the solutions presented here are valid not only for the punches which slide slowly but also for the punches which are in equilibrium. When the punches slide slowly, g ¼ ck (ck : the coefficient of kinetic friction). In the cases of equilibrium (i.e., Fk \cs Nk ), g ¼ Fk =Nk which is not a value of surface properties but a value of load ratio. (2) If the half-plane surface is frictionless, i.e., g ¼ cs ¼ 0, no horizontal force can be applied since the punch will never stop on a frictionless surface once it is started. (3) The profile of each punch gk ðtÞ is not necessary the same. (4) No motion or no horizontal force in x3 -direction is assumed.
9.4.2 A Sliding Wedge-Shaped Punch—s942SWpunch Consider a wedge-shaped punch under the action of normal force N and is propelled from left to right by a horizontal force F which is less than or equal to the maximum friction force Fmax ¼ cs N (Fig. 9.12). The profile of the punch is expressed as gðx1 Þ ¼ e x1 where the origin is taken so that the contact region is a x1 a in which a is unknown for the case of incomplete indentation and has to be determined by assuming the stresses vanish at the ends of the contact region. The function h02 ðzÞ necessary for the calculation of the stresses and strains has been obtained as h02 ðzÞ ¼
ie
iN v ðzÞ; f1 ½z þ ð2d 1Þav0 ðzÞg þ 2p 0 sþs
ð9:44aÞ
where v0 ðzÞ ¼ ðz þ aÞd ðz aÞd1 :
ð9:44bÞ
The contact pressure r22 ðx1 Þ under the punch is r22 ðx1 Þ ¼
Fig. 9.12 A sliding wedge-shaped punch
sin pd pða þ x1 Þd ða x1 Þ1d
N
2pe
½x1 þ ð2d 1Þa : ðs þ sÞ
ð9:45Þ
234
9
Contact Problems
The minimum requirement for the applied force N to reach complete indentation is 4pe d a: sþs
N
ð9:46Þ
If N is not sufficiently large to satisfy the above inequality, a state of incomplete indentation will result. The half length of contact region is a¼
sþs N; 4pe d
ð9:47aÞ
which leads to 2e sin pd a x1 d r22 ðx1 Þ ¼ : sþs a þ x1
ð9:47bÞ
Based upon the solutions shown in (9.44a, 9.44b)–(9.47a, 9.47b), function s942SWpunch is designed and presented in F166 of Appendix F. The input file for load and structure information is input_loadstr: a; e ; N; F.
9.4.3 A Sliding Parabolic Punch—s943SPpunch Consider a parabolic punch whose end section is expressed by x2 ¼ x21 =2R; jx1 j ‘ where R is the radius of curvature and 2‘ is the width of the punch. The punch is under the action of the normal force N and is propelled from left to right by a horizontal force F which is less than or equal to the maximum friction force Fmax ¼ cs N (Fig. 9.13). The contact region is the interval ða; bÞ when the punch is moving to the right. The solution of h02 ðzÞ to this problem has been obtained as i ðs þ sÞRN 0 z v0 ðzÞ j2 ðzÞ h2 ðzÞ ¼ ; ð9:48aÞ ðs þ sÞR 2p where v0 ðzÞ ¼ ðz þ aÞd ðz bÞd1 ;
1 j2 ðzÞ ¼ z2 þ ½dða þ bÞ bz dð1 dÞða þ bÞ2 : 2
Fig. 9.13 A sliding parabolic punch
ð9:48bÞ
9.4 Sliding Punches with or without Friction
235
The contact pressure r22 ðx1 Þ under the punch is r22 ðx1 Þ ¼
iv0 ðx ðs þ sÞRN 1Þ j2 ðx1 Þ ; sR 2p
The surface deformation outside the punches is 1 ðs þ sÞRN 0 x1 v0 ðx1 Þ j2 ðx1 Þ ; u2 ðx1 Þ ¼ R 2p
a\x1 \b:
x1 \ a
or
ð9:49Þ
x1 [ b;
ð9:50aÞ
where 8 > ðx1 þ aÞd ðb x1 Þd1 eipd ; a\x1 \b; > < v0 ðx ðx1 þ aÞd ðx1 bÞd1 ; x1 [ b; 1Þ ¼ > > : ða x1 Þd ðb x1 Þd1 ; x1 \ a: The minimum requirement for the applied force N to reach complete indentation is 1d d p‘2 N max ; : d 1 d ðs þ sÞR
ð9:50bÞ
ð9:51Þ
When the applied force N is not sufficiently large, incomplete indentation occurs and the contact region ða; bÞ can be obtained from a2 ¼
dðs þ sÞRN ; pð1 dÞ
b2 ¼
ð1 dÞðs þ sÞRN : pd
ð9:52Þ
Corresponding to these values, the contact pressure under the punch and the displacement gradient outside the contact region for incomplete indentation become 2 sin pd ðx1 þ aÞd þ 1 ðb x1 Þd ; a\x1 \b; ðs þ sÞR x1 1 u02 ðx1 Þ ¼ jx1 þ ajd þ 1 jx1 bjd ; x1 \ a or x1 [ b; R R r22 ðx1 Þ ¼
where the upper minus sign is for the region of x1 [ b while the lower plus sign is for the region of x1 \ a. Frictionless surface: (g ¼ 0; d ¼ 1=2; s ¼ s ¼ m22 ) i 1 a2 sRN z pffiffiffiffiffiffiffiffiffiffiffiffiffiffi z2 : h02 ðzÞ ¼ 2sR p 2 z2 a2
ð9:53Þ
ð9:54Þ
When N p‘2 =2sR, complete indentation occurs and the solutions for the contact pressure and surface deformation are 1 ‘2 sRN r22 ðx1 Þ ¼ pffiffiffiffiffiffiffiffiffiffiffiffiffiffi2 ; jx1 j\‘; x21 p 2 sR ‘2 x1 ð9:55Þ x1 1 ‘2 sRN 0 2 u2 ðx1 Þ ¼ pffiffiffiffiffiffiffiffiffiffiffiffiffiffi ; x1 [ ‘ or x1 \ ‘: x1 p R R x21 ‘2 2 When N\p‘2 =2sR, incomplete indentation occurs and the solutions for the contact pressure and surface deformation are qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 1 r22 ðx1 Þ ¼ a2 x21 ; jx1 j\a; sR ð9:56aÞ qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi x1 1 x21 a2 ; x1 [ a or x1 \ a; u02 ðx1 Þ ¼ R R
236
9
Contact Problems
where a¼
pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 2sRN=p:
ð9:56bÞ
Based upon the solutions shown in (9.48a, 9.48b)–(9.56a, 9.56b), function s943SPpunch is designed and presented in F167 of Appendix F. The input file for load and structure information is input_loadstr: ‘; R; N; F.
9.4.4 Two Sliding Flat-Ended Punches—s944S2punch Consider two sliding flat-ended punches located on ða1 ; b1 Þ and ða2 ; b2 Þ where a1 ; b1 ; a2 ; b2 can be arbitrary numbers in the order of a1 \ b1 \ a2 \ b2 (Fig. 9.14). These two punches are under the action of the normal forces N1, N2 and are propelled from left to right by horizontal forces F1, F2 which are less than or equal to the maximum friction force. The solution of h02 ðzÞ to this problem has been obtained as h02 ðzÞ ¼ v0 ðzÞðd0 þ d1 zÞ;
ð9:57aÞ
where v0 ðzÞ ¼ ðz a1 Þd ðz b1 Þd1 ðz a2 Þd ðz b2 Þd1 ; 8 9 Zb2 Zb1 < = s N1 x1 v0 ðx x1 v0 ðx d0 ¼ 1 Þdx1 N2 1 Þdx1 ; ; ðs þ sÞD : d1 ¼
8
> > > < eipd ; a1 \x1 \b1 ; v0 ðx 1; b1 \x1 \a2 ; 1 Þ ¼ jv0 ðx1 Þj > ipd > e ; a > 2 \x1 \b2 ; > : 1; b2 \x1 ;
ð9:58bÞ
jv0 ðx1 Þj ¼ jx1 a1 jd jx1 b1 jd1 jx1 a2 jd jx1 b2 jd1 :
ð9:58cÞ
and
Frictionless surface with two identical punches: ðg ¼ 0; a1 ¼ b; b1 ¼ a; a2 ¼ a; b2 ¼ bÞ h02 ðzÞ ¼
pbðN1 N2 Þ 2KðkÞðN1 þ N2 Þz pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ; 4piKðkÞ ðz2 a2 Þðz2 b2 Þ
ð9:59aÞ
where KðkÞ is the Complete Elliptic Integrals defined as Zp=2 KðkÞ ¼ 0
pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi d/ pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ; k ¼ b2 a2 =b: 2 1 k2 sin /
ð9:59bÞ
If N1 ¼ N2 ¼ N=2, the solutions can be further simplified to iNz pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ; 2 2p ðz a2 Þðz2 b2 Þ N r22 ðx1 Þ ¼ x1 jx21 b2 j1=2 jx21 a2 j1=2 ; p sN 0 x1 jx21 b2 j1=2 jx21 a2 j1=2 ; u2 ðx1 Þ ¼ p h02 ðzÞ ¼
b\x1 \ a; jx1 j [ b;
a\x1 \b;
ð9:60Þ
jx1 j\a;
where the upper plus sign and the lower minus sign denote, respectively, the first and the second region given in (9.60). Note that in matlab the Complete Elliptic Integral KðkÞ can be calculated by function ellipke(m), where m ¼ k2 ¼ 1 ða2 =b2 Þ. Based upon the solutions shown in (9.57a, 9.57b, 9.57c)–(9.60), function s944S2punch is designed and presented in F168 of Appendix F. The input file for load and structure information is input_loadstr: a1 ; a2 ; b1 ; b2 ; N1 ; N2 ; F1 ; F2 .
9.5
Contact Between Two Elastic Bodies
Consider two dissimilar anisotropic elastic bodies S1 and S2 which are in contact along a segment L of their boundaries. Three commonly encountered boundary conditions are considered in this Section. They are: contact in the presence of friction, contact in the absence of friction, and contact in complete adhesion. The solutions of these contact problems can be expressed as ) u1 ¼ A1 f 1 ðzÞ þ A1 f 1 ðzÞ; ð9:61aÞ ; z 2 S1 ; /1 ¼ B1 f 1 ðzÞ þ B1 f 1 ðzÞ;
238
9
Contact Problems
and u2 ¼ A2 f 2 ðzÞ þ A2 f 2 ðzÞ;
) ;
/2 ¼ B2 f 2 ðzÞ þ B2 f 2 ðzÞ;
z 2 S2 ;
ð9:61bÞ
where the subscripts 1 and 2 are used to denote the quantities pertaining to the bodies S1 and S2, respectively. Through the use of traction continuity condition, a new function vector hðzÞ is introduced to express the solutions for two bodies, which is B1 f 1 ðzÞ; z 2 S1 ; hðzÞ ¼ ð9:62Þ B2 f 2 ðzÞ; z 2 S2 : As stated in Sect. 9.1.1, to calculated f 1 ðzÞ and f 2 ðzÞ from (9.62), we need to use the translating technique stated in (9.8a, 9.8b).
9.5.1 Contact in the Presence of Friction—s951P2Fcontact Consider the contact between two anisotropic elastic bodies (Fig. 9.15) bounded by surfaces gð1Þ ðx1 Þ ¼ x21 =2R1 and gð2Þ ðx1 Þ ¼ x21 =2R2 where R1 and R2 are the radii of the curvatures and should be large enough to approximate to straight lines. The resultant vector of the external force applied by the body S1 (or S2) to the body S2 (or S1) is (N, F, 0), from which g = F/N. The solution of h0 ðzÞ to this problem has been obtained as h02 ðzÞ ¼
iðR1 þ R2 Þ iN v ðzÞ; fz v0 ðzÞj2 ðzÞg þ ðs þ sÞR1 R2 2p 0
ð9:63aÞ
h01 ðzÞ ¼ gh02 ðzÞ; h03 ðzÞ ¼ 0; where v0 ðzÞ ¼ ðz aÞd ðz bÞd1 ;
d¼
1 argðs=sÞ; 0 d\1; 2p
1 j2 ðzÞ ¼ z2 ½dða bÞ þ bz dð1 dÞða bÞ2 ; 2
ð9:63bÞ
and s ¼ m 22 þ gm 21 ; dðs þ sÞR1 R2 N ; a2 ¼ pð1 dÞðR1 þ R2 Þ
b2 ¼
ð1 dÞðs þ sÞR1 R2 N : pdðR1 þ R2 Þ
ð9:63cÞ
In (9.63c), m ij are the components of the bimaterial matrix M which is defined in the extended symbols (8) of Sect. 2.5.5. The normal pressure r22 ðxÞ along the contact region is r22 ðx1 Þ ¼
2ðR1 þ R2 Þ sin pd ðx1 aÞ1d ðb x1 Þd ; ðs þ sÞR1 R2
a\x1 \b:
ð9:64Þ
The surface deformation can be calculated from g ðx1 Þ ¼ fsð2Þ gð1Þ ðx1 Þ þ sð1Þ gð2Þ ðx1 Þ þ iðsð1Þ sð2Þ sð1Þ sð2Þ Þh2 ðx 1 Þg=s; x1 2 L; 9 ð1Þ
ð1Þ ð1Þ ð1Þ = g ðx1 Þ ¼ g ðx1 Þ þ iðs þ s Þh2 ðx1 Þ ; x1 62 L; ; gð2Þ ðx1 Þ ¼ gð2Þ ðx1 Þ iðsð2Þ þ sð2Þ Þh2 ðx 1Þ
ð9:65aÞ
9.5 Contact Between Two Elastic Bodies
239
Fig. 9.15 Contact of two parabolic elastic bodies with friction (solid line: before deformation; dot line: after deformation)
where ðkÞ
ðkÞ
sðkÞ ¼ m22 þ gm21 ;
k ¼ 1; 2;
ð9:65bÞ
ðkÞ
and mij , i, j = 1, 2, 3 are the components of the matrices M1 k ; k ¼ 1; 2: Based upon the solutions shown in (9.63a, 9.63b, 9.63c)–(9.65a, 9.65b), function s951P2Fcontact is designed and presented in F169 of Appendix F. The input file for load and structure information is input_loadstr: R1 ; R2 ; N; F.
9.5.2 Contact in the Absence of Friction—s952P2contact Consider the contact between two anisotropic parabolic elastic bodies. The surface between two contact bodies is frictionless, and hence no horizontal forces can be applied on these two bodies in order to have an equilibrium state (Fig. 9.16). Thus, the solutions of this problem can be obtained by substituting g ¼ 0 into the results shown in (9.63a, 9.63b, 9.63c)– (9.65a, 9.65b). That is, iðR1 þ R2 Þ z2 ðb2 =2Þ iN ffiffiffiffiffiffiffiffiffiffiffiffiffiffi p h02 ðzÞ ¼ z þ pffiffiffiffiffiffiffiffiffiffiffiffiffiffi ; h01 ðzÞ ¼ h03 ðzÞ ¼ 0; 2m 22 R1 R2 z 2 b2 2p z2 b2 qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi R1 þ R2 r22 ðx1 Þ ¼
b2 x21 ; jx1 j\b; m22 R1 R2 ð9:66aÞ ð2Þ ð1Þ R2 m22 R1 m22 2
x1 ; b\x1 \b; g ðx1 Þ ¼ 2m 22 R1 R2 gð1Þ ðx1 Þ ¼
x21 ð1Þ þ 2im22 h2 ðx 1 Þ; 2R1
gð2Þ ðx1 Þ ¼
x21 ð2Þ 2im22 h2 ðx 1 Þ; 2R2
jx1 j [ b;
240
9
Contact Problems
Fig. 9.16 Contact of two parabolic elastic bodies without friction (solid line: before deformation; dot line: after deformation)
where qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi iN 2 2 b2 þ b2 lnðx þ ½x x x21 b2 Þ; x1 [ b; x 1 1 1 2pb2 1 Þ ¼ h2 ðx ffiffiffiffiffiffiffiffiffiffiffiffiffiffi ffi q ffiffiffiffiffiffiffiffiffiffiffiffiffiffi ffi q 1 > : iN ½x2 þ x1 x2 b2 þ b2 lnðx1 x2 b2 Þ; x1 \ b; 1 1 2pb2 1
ð9:66bÞ
sffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 2m 22 R1 R2 N b¼ : pðR1 þ R2 Þ
ð9:66cÞ
8 >
= < k11 > k1 ¼ k21 ; > > ; : k31
9 8 > = < k12 > k2 ¼ k22 : > > ; : k32
ð10:1bÞ
Please refer to Sect. 2.1.3 for the detailed explanation of all the other symbols appeared in (10.1a) and (10.1b).
10.2
Holes and Cracks
10.2.1 Elliptical Holes Under Uniform Heat Flow—s1021EholeUH Consider an infinite anisotropic elastic plate containing an elliptic hole, and the heat h0 is flowing steadily and uniformly in the direction of positive x2 -axis (see Fig. 10.1). The contour of the hole boundary is represented by (6.1). If the hole is assumed to be insulated and free of traction, the solution has been found in Hwu (1990), Hwu (2010) and can be written by (10.1a, 10.1b) in which
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2021 C. Hwu, Anisotropic Elasticity with Matlab, Solid Mechanics and Its Applications 267, https://doi.org/10.1007/978-3-030-66676-7_10
247
248
10
Thermoelastic Problems
1 2 \za [ q0 þ \za f1 a [ q1 þ \ma lnðma fa Þ [ q2 ; 2 1 2 e0 zt þ e1 ½zt f1 gðzt Þ ¼ t þ mt lnðmt ft Þ : 2 fðzÞ ¼
ð10:2Þ
In (10.2), fa ; a ¼ 1; 2; 3; are the mapped variable described in (6.4) for the hole problems. By changing the elastic eigenvalue la to thermal eigenvalue s, same definition of fa is used on ft , i.e., pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi zt þ z2t a2 s2 b2 ; zt ¼ x1 þ sx2 : ð10:3Þ ft ¼ a isb The other parameters and coefficient vectors in (10.2) are defined as follows. e0 ¼
h0 k12 þ i~k ; 2~k2
e1 ¼
iah0 ; 2~k
q0 ¼ AT q0a þ BT q0b ;
q1b q1a
Fig. 10.1 An elliptical hole under uniform heat flow
q1 ¼ AT q1a þ BT q1b ; (
) ~ bNÞ1 Im ¼ 2ðaN (
q2b q2a
mt ¼ a isb;
~k ¼
qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 2 ; k11 k22 k12
q2 ¼ AT q2a þ BT q2b ;
[ q0b ¼ 2N\1 Refe0 ðNT1 sIÞdg þ v0 i2 ; 3
q0a ¼ 2Refe0 dg; (
ma ¼ a ila b;
e1 ða þ ibsÞL1 ðST iIÞd e1 ða þ ibsÞd
ð10:4aÞ
ð10:4bÞ
) ;
ð10:4cÞ
) ~ þ bNÞ1 Imfe1 ða ibsÞgg; ¼ 2ðaN
ð10:4dÞ
10.2
Holes and Cracks
249
where kij ; i; j ¼ 1; 2; are heat conduction coefficients. The definition of the fundamental elasticity matrix N and its related ~ L and S, and the thermal eigenvalue s and thermal eigenvector g can be found in the extended matrices N1 , N3\1 [ , N, symbols (5)–(7) of Sect. 2.5.5. In (10.4b), i2 ¼ ð0; 1; 0ÞT and the constant v0 is determined by substituting q0a and q0b of (10.4b) into the following equation ðN3 N2 þ NT1 NT1 Þq0a þ ðN3 N1 þ NT1 N3 Þq0b þ 2Refe0 s2 dg ¼ 0:
ð10:5Þ
By using the relations given in (6.4) and (10.3), the related derivatives of (10.2) can be simplified as 1 1 \2za [ q0 þ \ð1 za ra1 Þf1 a [ q1 þ \ma ra [ q2 ; 2 g0 ðzt Þ ¼ e0 zt þ e1 f1 g00 ðzt Þ ¼ e0 e1 ðrt ft Þ1 ; t ; f 0 ðzÞ ¼
ð10:6aÞ
where ra ¼
qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi z2a ða2 þ l2a b2 Þ;
rt ¼
qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi z2t ða2 þ s2 b2 Þ:
ð10:6bÞ
With (10.1a)5 and (10.2), the hoop stress rss determined by sT /;n along the hole boundary can be obtained in real form as rss ¼
ah0 T s ðhÞ 2q sin wc2 ðhÞ G3 ðhÞRe½e2iw ða þ ibsÞe c 2 þ rð0Þ ss ; ~ 2kq
ð10:7aÞ
c 2 and G3 ðhÞ can be found in the in which the parameters q; h and w are related by (6.2), the vector/matrix sðhÞ, c2 ðhÞ, e ð0Þ
extended symbols (3), (5) and (7) of Sect. 2.5.5, and the additional term rss of non-hole stress is T rð0Þ ss ¼ 2s ðhÞRefB\ða cos w þ la b sin wÞð sin h þ la cos hÞ [ q0 þ e0 ða cos w þ sb sin wÞð sin h þ s cos hÞdg:
ð10:7bÞ
For isotropic materials, (10.7a) can be further reduced to rss ¼
Eh0 aa2 ða þ bÞ sin w þ rð0Þ ss ; 2kq2 ð1 mÞ
ð10:8Þ
where E; m; a and k are the Young's modulus, Poisson’s ratio, thermal expansion coefficient and heat conductivity, respectively. Remarks on computer coding 1 Some variables appeared in (10.2) and (10.6a, 10.6b) such as f1 a , ft , ra , rt , lnðma fa Þ, lnðmt ft Þ, may encounter the problem of multi-valued function since they include the square roots or the logarithmic functions. To get a proper value for the mapped variable fa and ft , one may refer to the remarks given in Sect. 6.1. The proper choice of ra and rt can then be made by using the following relations
r a ¼ m a fa z a ;
rt ¼ mt ft zt :
ð10:9Þ
Since the solution (10.2) is solved under the requirement of single-valuedness of displacements, in principle the final solution will not be influenced by the selection of the branch cut. However, whether the points whose fa ; a ¼ 1; 2; 3 near the branch cut will jump simultaneously from the lower cut edge to the upper cut edge should be treated carefully. Based upon the solutions provided in (10.2)–(10.8) and the remarks stated in this Section, function s1021EholeUH is designed and presented in F171 of Appendix F. The input file for load and structure information is input_loadstr: a; b; h0 .
250
10
Thermoelastic Problems
10.2.2 Cracks Under Uniform Heat Flow—s1022crackUH A crack can be considered to be a special case of the elliptical hole whose b = 0 (see Fig. 10.2). With this special value, the solutions shown in (10.1a, 10.1b)–(10.6a, 10.6b) can still be used, in which the coefficient vectors given in (10.4b) can be simplified to q1a ¼ ah0 Imfdg=~k; q2a
q1b ¼ ah0 L1 Ref(I þ iST )dg=~k; ¼ ah0 RefLc þ ST dg=~k; q2b ¼ ah0 RefSc þ Hdg=~k:
ð10:10Þ
The stresses r2 ¼ ðr12 ; r22 ; r23 ÞT ahead of the crack tip along the x1-axis are obtained as r2 ¼ 2x1 RefBq0 þ e0 dg þ
a2 h0 pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi Ree c 2 : 2~k x21 a2
ð10:11Þ
The stress intensity factor k, crack opening displacement Du ¼ uðx1 ; 0 þ Þ uðx1 ; 0 Þ, and energy release rate G are obtained as pffiffiffi 3=2 qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ph 0 a Refe c 2 g, Du ¼ h0 x1 a2 x21 L1 Refe c 2 g=~k; 2~k ph2 a3 G ¼ 0 Refe c 2 gT L1 Refe c 2 g: 8~k2 k¼
h0 x2
a
a
x1
h0 Fig. 10.2 A center crack under uniform heat flow
ð10:12Þ
10.2
Holes and Cracks
251
For isotropic materials, we have pffiffiffi pEah0 a3=2 ; KI ¼ KIII ¼ 0; 4ð1 mÞ~k pEa2 h20 a3 ð1 þ mÞ : Du2 ¼ 0; G ¼ 16ð1 mÞ~k2 KII ¼
ð10:13Þ
Based upon the solutions provided in (10.10)–(10.13), function s1022crackUH is designed and presented in F172 of Appendix F. The input file for load and structure information is input_loadstr: a; h0 .
10.3
Rigid Inclusions
10.3.1 Elliptical Rigid Inclusions Under Uniform Heat Flow—s1031ERincluUH Consider an elliptical rigid inclusion embedded in an infinite anisotropic elastic plate under a uniform heat flow h0 in the direction at an angle u with the positive x1 -axis. If the inclusion is considered to be perfectly bonded with the matrix and is insulated, the solution can be expressed by the same mathematical form as that shown in (10.2) for hole problems in which (Fig. 10.3) qi ¼ AT qia þ BT qib ; i ¼ 0; 1; 2; h0 h0 ðb cos u þ ia sin uÞ: e0 ¼ ðcos u þ s sin uÞ; e1 ¼ ~ 2ksI 2~k
ð10:14Þ
In (10.14)2, sI means the imaginary part of s. The parameters ma ; mt and variables fa ; ft of (10.2) are defined in (10.4a), (6.4), (10.3) and the coefficient vectors q0a ; q0b ; q2a ; q2b of (10.14)1 are the same as those given in (10.4b), (10.5) and (10.4d), whereas q1a ; q1b of (10.14)1 now become qd q1b 1 e ¼ 2ða N bNÞ ; ð10:15aÞ H1 ðqc þ Sqd Þ q1a
x2
h0
x1
b
h0
a
Fig. 10.3 An anisotropic elastic plate with an elliptical rigid inclusion under uniform heat flow
252
10
Thermoelastic Problems
where qc ¼ Refe1 ða þ ibsÞcg þ qb ;
qd ¼ Refie1 ða þ ibsÞcg þ qa ;
ð10:15bÞ
and qb ¼ Refe0 ða2 s2 b2 Þcg b2 1 ðN1 N2 þ N2 NT1 Þq0a ½a2 I b2 ðN1 N1 þ N2 N3 Þq0b ; 2 2 qa ¼ 2Refabse0 cg þ abðN2 q0a þ N1 q0b Þ: þ
ð10:15cÞ
The interfacial stresses along the inclusion boundary can be determined from the formulae given in (2.18) with qU;s ¼ H1 Re e2iw ½ie1 ða þ ibsÞe c 1 ðS iIÞðqa þ iqb Þ ; qU;n ¼ NT1 ðhÞH1 Refie1 ða þ ibsÞe2iw e c 1 g 2qRefe1 eiw gc2 ðhÞ þ Re e2iw ½NT1 ðhÞH1 S N3 ðhÞ iNT1 ðhÞH1 ðqa þ iqb Þ :
ð10:16Þ
Note that the symbol e0 defined in (10.14)2, which is a general expression of (10.4a)1, has two times difference from that defined in Eq. (10.47a) of Hwu (2010), and hence all the related symbols are also adjusted accordingly. Based upon the solutions provided in (10.14)–(10.16), function s1031ERincluUH is designed and presented in F173 of Appendix F. The input file for load and structure information is input_loadstr: a; b; h0 ; u.
10.3.2 Rigid Line Inclusions Under Uniform Heat Flow—s1032RLincluUH The solutions to the problems with rigid line inclusion (see Fig. 10.4) can be obtained from the previous subsection with b = 0. Using this special value, the coefficient vectors q1a ; q1b ; q2a ; q2b of (10.15a) and (10.4d) can be reduced to q1a ¼ 2Re H1 ½ðae0 þ e1 ÞS ie1 Ic þ aH1 Sq0b ; q1b ¼ 2Refðae0 þ e1 Þcg aq0b ; q2a ¼ 2Re ie1 ðLc þ ST dÞ ; q2b ¼ 2Refie1 ðSc þ HdÞg:
h0
x2
x1
a
a
h0
Fig. 10.4 An anisotropic elastic plate with a rigid line inclusion under uniform heat flow
ð10:17Þ
10.3
Rigid Inclusions
253
The stresses r2 ahead of the tip of rigid line inclusion along the x1 -axis are r2 ¼ 2x1 RefBq0 þ e0 dg a a pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ðq1a þ 2Refe1 dgÞ þ pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ðq2a q1a Þ: þ x1 þ x21 a2 2 x21 a2 The stress intensity factors of the rigid line inclusion are pffiffiffiffiffiffi pa k¼ ðq2a q1a Þ: 2
ð10:18Þ
ð10:19Þ
Based upon the solutions provided in (10.17)–(10.19), function s1032RLincluUH is designed and presented in F174 of Appendix F. The input file for load and structure information is input_loadstr: a; h0 ; u.
10.4
Collinear Interface Cracks
10.4.1 General Solutions Consider an arbitrary number of collinear cracks lying along the interface of two dissimilar anisotropic elastic materials. The materials are assumed to be perfectly bonded at all points of the interface x2 ¼ 0 except those lying in the region of cracks L (see Fig. 10.5), which are defined by the intervals given in (7.18). The general solution to this problem can be expressed by using the extended Stroh formalism as Ti ¼ 2Refg0i ðzt Þg;
ui ¼ 2RefAi f i ðzÞ þ ci gi ðzt Þg;
Fig. 10.5 Collinear interface cracks
ðiÞ
ðiÞ
hi ¼ 2Refðk1 þ si k2 Þg00i ðzt Þg; /i ¼ 2RefBi f i ðzÞ þ di gi ðzt Þg;
i ¼ 1; 2;
ð10:20Þ
254
10
Thermoelastic Problems
in which the subscripts 1 and 2 denote, respectively, the quantities pertaining to the materials 1 and 2 which are located on x2 > 0 (S1) and x2 < 0 (S2). Consideration of the continuity of displacement, traction, temperature and heat flux across the bonded portion of the interface, as well as the prescribed traction and heat flux conditions on the crack portion leads to k2 hðzÞ; k1 þ k2 k1 hðzÞ; g2 ðzÞ ¼ k1 þ k2
g1 ðzÞ ¼
z 2 S1 ;
ð10:21aÞ
z 2 S2 ;
and
k2 wðzÞ d1 þ e1 hðzÞ ; z 2 S1 ; f 1 ðzÞ ¼ k1 þ k2
k1 1 1 d2 þ e2 hðzÞ ; z 2 S2 : f 2 ðzÞ ¼ B2 M M wðzÞ k1 þ k2 B1 1
ð10:21bÞ
In the above, k1 (or k2 ) is a real constant related to the heat conduction coefficients of material 1 (or 2) and is defined in (10.4a)5 with the tilde ð eÞ dropped for simplicity. M is the bimaterial matrix defined in the extended symbol (8) of Sect. 2.5.5. The complex vectors e1 and e2 are related to the thermal eigenvectors c and d by i 1 h 1 1 iM ðc iM2 d Þ k2 d1 ; k1 þ k2 i 1 h 1 1 iM ðc iM1 d Þ k1 d2 ; e2 ¼ k1 þ k2
e1 ¼
ð10:22aÞ
where c ¼ k 2 c1 þ k 1 c2 ;
d ¼ k2 d1 þ k1 d2 :
ð10:22bÞ
In (10.22a), M1 and M2 are the impedance matrices of materials 1 and 2, which are also defined in the extended symbol (8) of Sect. 2.5.5. The complex functions hðzÞ and wðzÞ of (10.21a, 10.21b) can be determined from the solutions of Hilbert problems, i.e., Z ^hðsÞds k1 þ k2 v0 ðzÞ þ v0 ðzÞpn ðzÞ; þ 2pk1 k2 v0 ðsÞðs zÞ L Z 1 1 X0 ðzÞ ½X þ ðsÞ1 ½btðsÞ þ h0 ðs þ Þe1 þ h0 ðs Þe2 ds þ X0 ðzÞpn ðzÞ: w0 ðzÞ ¼ 2pi sz 0 h00 ðzÞ ¼
ð10:23Þ
L
In (10.23), ^hðsÞ and btðsÞ are the prescribed heat flux and traction applied on the crack surfaces; pn ðzÞ and pn ðzÞ are arbitrary polynomials with the degree not higher than the number of cracks n; and v0 ðzÞ and X0 ðzÞ are the basic Plemelj functions defined as v0 ðzÞ ¼
n Y
ðz aj Þ1=2 ðz bj Þ1=2 ;
X0 ðzÞ ¼ KCðzÞ;
ð10:24aÞ
j¼1
where K ¼ ½ k2
k2
k3 ;
CðzÞ ¼ \
n Y j¼1
ðz aj Þda ðz bj Þda 1 [ :
ð10:24bÞ
10.4
Collinear Interface Cracks
255
da and ka ; a ¼ 1; 2; 3; of (10.24b) are the eigenvalues and eigenvectors of (7.4) whose explicit solution has been given in (7.8). Note that the order of stress singularity da is independent of the heat conduction coefficients kij and thermal moduli bij , and is the same as those of the isothermal interface crack problems. The order of singularity related to the heat flux is −1/2 as shown in (10.24a)1. Once we get the solution of h00 ðzÞ and wðzÞ from (10.23), the complex functions g1 ðzÞ; g2 ðzÞ and f 1 ðzÞ; f 2 ðzÞ can be obtained from (10.21a, 10.21b) with the understanding that the subscript of z is dropped. After the operation of matrices, a ðiÞ
ðiÞ
ðiÞ
ðiÞ
replacement of zt or z1 ; z2 ; z3 , i = 1, 2, should be made for each function, because the functions g1 ðzÞ; g2 ðzÞ and f 1 ðzÞ; f 2 ðzÞ are required to have the form ðiÞ
ðiÞ
ðiÞ
ðiÞ
f i ðzÞ ¼ ½f1 ðz1 Þ f2 ðz2 Þ f3 ðz3 ÞT ;
gi ðzÞ ¼ gi ðzt Þ;
i ¼ 1; 2:
ð10:25Þ
The whole field solution can then be found from the general expression (10.20). The stresses r2 along the interface and the crack opening displacements Du are related to hðzÞ and wðzÞ by r2 ¼ ðI þ M Du ¼ iM
1
M Þw0 ðx1 Þ h0 ðx1 Þðe1 þ e2 Þ;
½wðx1þ Þ
wðx 1 Þ;
x1 62 L;
x1 2 L:
ð10:26Þ
10.4.2 Uniform Heat Flow—s1042IFcrackUH Consider an interface crack located on a1 ¼ a; b1 ¼ a subjected to uniform heat flux ^ hðx1 Þ ¼ h0 and uniform load btðx1 Þ ¼ t0 (see Fig. 10.6). Under this special condition, the complex functions hðzÞ and wðzÞ can be determined from (10.23) as pffiffiffiffiffiffiffiffiffiffiffiffiffiffi h0 ðzÞ ¼ ih0 ðz z2 a2 Þ; ð10:27aÞ w0 ðzÞ ¼ KfJ0 ðzÞt0 þ ih0 ðJ1 ðzÞe1 þ J2 ðzÞe2 Þg;
x2 h0 t0 x1 h0
a
a
Fig. 10.6 An interface crack between two dissimilar anisotropic elastic materials under uniform traction and uniform heat flow
256
10
Thermoelastic Problems
where t0 ¼ K1 ðI þ M
1
M Þ1 t0 ;
1
M Þ1 ek ; k ¼ 1; 2; pffiffiffiffiffiffiffiffiffiffiffiffiffiffi 1 J1 ðzÞ ¼ \z z2 a2 a2 va ðzÞ [ ; 4
ek ¼ K1 ðI þ M
J0 ðzÞ ¼ \1 ðz þ 2iaea Þva ðzÞ [ ; pffiffiffiffiffiffiffiffiffiffiffiffiffiffi 5 J2 ðzÞ ¼ \z þ z2 a2 ð2z2 a2 Þva ðzÞ [ ; 4
ð10:27bÞ
and h0 ¼
h0 ðk1 þ k2 Þ ; 2k1 k2
1 z a iea Þ : va ðzÞ ¼ pffiffiffiffiffiffiffiffiffiffiffiffiffiffi ð 2 2 z a zþa
ð10:27cÞ
Note that the values of ea ; a ¼ 1; 2; 3 can be found in (7.8) and (7.9), which shows that e1 ¼ e; e2 ¼ e; e3 ¼ 0; and e is the oscillatory index. With h0 ðzÞ and w0 ðzÞ obtained in (10.27a), the derivatives of the complex functions f 1 ðzÞ, f 2 ðzÞ, g1 ðzÞ, and g2 ðzÞ, which are necessary for the calculation of the field solutions can now be derived by substituting (10.27a) into (10.21a, 10.21b) and using the translating technique stated in (9.8) to recover the subscript of variable z. The final simplified results are f 01 ðzÞ ¼
3 n o X ð0Þ ð0Þ ð1Þ ð1Þ ð2Þ ð2Þ \Jk ðza Þ [ pk þ ih0 \Jk ðza Þ [ pk þ \Jk ðza Þ [ pk þ \h0 ðza Þ [ p1 ; k¼1
f 02 ðzÞ ¼
3 n o X ð0Þ ð0Þ ð1Þ ð1Þ ð2Þ ð2Þ \Jk ðza Þ [ qk þ ih0 \Jk ðza Þ [ qk þ \Jk ðza Þ [ qk þ \h0 ðza Þ [ p2 ;
ð10:28aÞ
k¼1
g01 ðzt Þ
¼
k2 h0 ðzt Þ; k1 þ k2
ð2Þ
g02 ðzt Þ ¼
k1 h0 ðzt Þ; k1 þ k2
where ð0Þ
Jk ðza Þ ¼ \1 ðza þ 2iaek Þvk ðza Þ [ ; qffiffiffiffiffiffiffiffiffiffiffiffiffiffi 1 ð1Þ Jk ðza Þ ¼ \za z2a a2 a2 vk ðza Þ [ ; 4 qffiffiffiffiffiffiffiffiffiffiffiffiffiffi 5 ð2Þ 2 2 Jk ðza Þ ¼ \za þ za a ð2z2a a2 Þvk ðza Þ [ ; 4 ð0Þ
pk ¼ B1 1 KIk t0 ; ð0Þ
ð1Þ
pk ¼ B1 1 KIk e1 ;
ð10:28bÞ
ð2Þ
pk ¼ B1 1 KIk e2 ;
ð1Þ
ð2Þ
qk ¼ B1 qk ¼ B1 qk ¼ B1 m KIk t0 ; m KIk e1 ; m KIk e2 ;
k2 k1 1 d þ e ¼ B d þ e p1 ¼ B1 ; p 1 1 2 2 ; 2 1 m k1 þ k2 k1 þ k2
ð10:28cÞ B1 m
¼
1 B1 M ; 2 M
and 1 za a iek Þ : vk ðza Þ ¼ pffiffiffiffiffiffiffiffiffiffiffiffiffiffi ð 2 2 za a za þ a Note that in (10.28a) and (10.28b), ( x1 þ lð1Þ a x2 ; za ¼ x1 þ lð2Þ a x2 ;
when x2 0 when x2 0
( zt ¼
ð10:28dÞ
x1 þ sð1Þ x2 ;
when x2 0
x1 þ sð2Þ x2 ;
when x2 0
ð10:29Þ
10.4
Collinear Interface Cracks ð1Þ
257
ð2Þ
in which la and la are, respectively, the elastic eigenvalues of material 1 and 2, and sð1Þ and sð2Þ are, respectively, the thermal eigenvalues of material 1 and 2. Remarks on computer coding (1) Calculation of vk ðza Þ: follow the way introduced in (9.14). (2) Calculation of f 1 ðzÞ, f 2 ðzÞ, g1 ðzÞ, and g2 ðzÞ: follow the way introduced in (9.12). The integral results of g1 ðzÞ and g2 ðzÞ can be checked by the analytical integral of h0 ðzÞ, which is hðzÞ ¼
pffiffiffiffiffiffiffiffiffiffiffiffiffiffi pffiffiffiffiffiffiffiffiffiffiffiffiffiffi ih0 2 z z z2 a2 þ a2 lnðz þ z2 a2 Þ : 2
ð10:30Þ
Based upon the solutions provided in (10.27a–10.27c)–(10.29) and the remarks stated in this Section, function s1042IFcrackUH is designed and presented in F175 of Appendix F. The input file for load and structure information is input_loadstr: a; h0 ; t1 ; t2 ; t3 where ðt1 ; t2 ; t3 ÞT ¼ t0 .
10.5
Multi-material Wedges
10.5.1 Stress and Heat Flux Singularity It has been proved that the orders of stress singularity will not be influenced by the thermal effects and their values can be calculated by (5.20) or (5.23) depending on the boundary conditions of the multi-material wedges (Hwu and Lee 2004). As to the orders of heat flux singularity, ranging in 1\ReðdÞ\0, can be determined by kKT Ik ¼ 0; ð3Þ
ð1Þ
ð2Þ
ð3Þ
for bonded wedges,
KT ¼ 0;
for insulated-insulated wedges,
ð2Þ KT ð1Þ KT ð4Þ KT
¼ 0;
for isothermal-isothermal wedges,
¼ 0;
for insulated-isothermal wedges,
¼ 0;
for isothermal-insulated wedges,
ð10:31Þ
ð4Þ
where KT , KT , KT , and KT are the components of matrix KT (see also Eq. (10.44)), which is defined by KT ¼ Cn Cn1 . . .C1 :
ð10:32Þ
Ck ; k ¼ 1; 2; . . .; n are related to the thermal eigenvalues s and the effective heat conduction coefficient ~k by 1 Ck ¼ Kk \bs d a ðhk ;hk1 Þ [ Kk ;
ð10:33aÞ
d bs d a ðhk ;hk1 Þ ¼ ½cosðhk hk1 Þ þ sinðhk hk1 Þsa ðhk1 Þ ;
1 1 : Kk ¼ ~ ik i~k k
ð10:33bÞ
where
258
10
Thermoelastic Problems
10.5.2 Eigenfunctions—s1052MwedgeTH The eigenfunctions for isothermal multi-material wedges have been given in Sect. 5.3.3, which are useful for the determination of near tip solutions as well as the stress intensity factors through H-integral (see Sect. 5.4). Consideration of the thermal effects, the eigenfunctions for the temperature, heat flux, displacement and stress of multi-material wedges can be expressed as vk ðr; hÞ ¼ r 1d Ck ðhÞðKT Þk1 v0 ; wk ðr; hÞ ¼ r 1d Fk ðhÞðKT Þk1 þ Ek ðhÞðKc Þk1 v0 þ Ek ðhÞðKe Þk1 w0 ;
ð10:34aÞ
1 Ck ðhÞ ¼ Kk \bs d a ðh;hk1 Þ [ k Kk ; b 1d ðh; hk1 Þ; Ek ðhÞ ¼ N k n o 1 b 1d ðh; hk1 ÞUk Uk \bs 1d ðh; hk1 Þ [ k \bs a ðhk1 Þ [ k K1 ; N Fk ðhÞ ¼ k k a dð1 dÞ
ð10:34bÞ
where
and ðKT Þ0 ¼ I;
ðKT Þ1 ¼ C1 ; . . .; ðKT Þk1 ¼ Ck1 Ck2 . . .C1 ; k [ 1;
ðKe Þ0 ¼ I; ðKc Þ0 ¼ 0;
ðKe Þ1 ¼ E1 ; . . .; ðKe Þk1 ¼ Ek1 Ek2 . . .E1 ; k [ 1; ðKc Þ1 ¼ F1 ; ðKc Þ2 ¼ E2 F1 þ F2 C1 ;
ðKc Þ3 ¼ E3 E2 F1 þ E3 F2 C1 þ F3 C2 C1 ; . . .; ðKc Þk1 ¼ Ek1 Ek2 E2 F1 þ Ek1 Ek2 E3 F2 C1
ð10:34cÞ
þ Ek1 Ek2 E4 F3 C2 C1 þ þ Ek1 Fk2 Ck3 C2 C1 þ Fk1 Ck2 Ck3 C2 C1 : b k ðh; hk1 Þ, ^sa ðh;hk1 Þ and ^sa ðhk1 Þ can be found in the extended symbols (6) and (5) of In (10.34b), the definitions of N Sect. 2.5.5, Kk is defined in (10.33b), and Uk is related to the thermal eigenvectors c and d of the kth wedge by
c c : ð10:35Þ Uk ¼ d d k Ck ; Ek and Fk are related to Ck ðhÞ, Ek ðhÞ and Fk ðhÞ by Ck ¼ Ck ðhk Þ;
Ek ¼ Ek ðhk Þ;
Fk ¼ Fk ðhk Þ:
ð10:36Þ
In (10.34a), the vectors vk ðr; hÞ and wk ðr; hÞ of the kth wedge are related to the temperature, heat flux, displacement and stress of the kth wedge by ( ) ( ) Tk;r ðr; hÞ uk ðr; hÞ vk ðr; hÞ ¼ ; wk ðr; hÞ ¼ : ð10:37Þ hk ðr; hÞ /k ðr; hÞ Tk;r ¼ @Tk =@r is the derivative of the temperature with respect to r, and hk ðr; hÞ is the heat flux in the direction normal to h = constant, which is located in the kth wedge. It should be noted that the expressions shown in (10.34a) are the solutions corresponding to the singular order d. If the singular order is a complex number, a conjugate part should be superimposed to get the real values for the temperature, heat flux, displacement and stress. If the singular order is a repeated root and no enough independent eigensolutions have been obtained, the logarithmic singularity should be considered. Moreover, if one concerns not only the near tip field but also the entire domain of the multi-material wedges, the solutions corresponding to all the singular and non-singular orders should be superimposed.
10.5
Multi-material Wedges
259
The singular orders d can be determined by (5.20), (5.23) and (10.31) if the elastic and thermal properties as well as the geometric and boundary conditions are known. The values of constant vectors v0 and w0 of (10.34a) are related to the associated eigenvectors of singular orders, and can be determined as follows. (i) Multi-material wedge spaces: When kKe Ik ¼ 0, we have v0 ¼ 0; w0 ¼ cw0 ;
where ðKe IÞw0 ¼ 0:
ð10:38aÞ
When kKT Ik ¼ 0, we have v0 ¼ cv0 ; w0 ¼ cðKe IÞ1 Kc v0 ;
where ðKT IÞv0 ¼ 0:
ð10:38bÞ
(ii) Free-free multi-material wedges: ¼ 0, we have When Kð3Þ e (
v0 ¼ 0;
) u0 ; w0 ¼ c 0
where Kð3Þ e u0 ¼ 0:
ð10:39aÞ
ðiÞ
When KT ¼ 0; i ¼ 1; 2; 3 or 4, we have
½Kð3Þ 1 q0 e v0 ¼ cp0 ; w0 ¼ c ; 0
ð10:39bÞ
where ð3Þ
ð1Þ
ð2Þ
ð4Þ
p0 ¼ i1 ;
q0 ¼ kð3Þ c ;
when KT ¼ 0 or KT ¼ 0;
p0 ¼ i2 ;
q0 ¼ kð4Þ c ;
when KT ¼ 0 or KT ¼ 0:
(iii) Fixed–fixed multi-material wedges: ¼ 0, we have When Kð2Þ e
(
v0 ¼ 0;
) 0 w0 ¼ c ; /0
ð10:39cÞ
where Kð2Þ e U0 ¼ 0:
ð10:40aÞ
ðiÞ
When KT ¼ 0; i ¼ 1; 2; 3 or 4, we have
v0 ¼ cp0 ;
w0 ¼ c
0 ; 1 ½Kð2Þ e q0
ð10:40bÞ
where ð3Þ
ð1Þ
ð2Þ
ð4Þ
p0 ¼ i1 ;
q0 ¼ kð1Þ c ;
when KT ¼ 0 or KT ¼ 0;
p0 ¼ i2 ;
q0 ¼ kð2Þ c ;
when KT ¼ 0 or KT ¼ 0:
(iv) Free-fixed multi-material wedges: ¼ 0, we have When Kð1Þ e
(
v0 ¼ 0; w0 ¼ c
u0 0
ð10:40cÞ
) ;
where Kð1Þ e u0 ¼ 0:
ð10:41aÞ
ðiÞ
When KT ¼ 0; i ¼ 1; 2; 3 or 4, we have
v0 ¼ cp0 ;
½Kð1Þ 1 q0 e w0 ¼ c ; 0
ð10:41bÞ
260
10
where
ð3Þ
ð1Þ
ð2Þ
ð4Þ
p0 ¼ i1 ;
q0 ¼ kð1Þ c ;
when KT ¼ 0 or KT ¼ 0;
p0 ¼ i2 ;
q0 ¼ kð2Þ c ;
when KT ¼ 0 or KT ¼ 0:
Thermoelastic Problems
ð10:41cÞ
(v) Fixed-free multi-material wedges: ¼ 0, we have When Kð4Þ e
(
) 0 w0 ¼ c ; U0
v0 ¼ 0; ðiÞ
When KT ¼ 0; i ¼ 1; 2; 3 or 4, we have
where Kð4Þ e U0 ¼ 0:
v0 ¼ cp0 ;
w0 ¼ c
ð10:42aÞ
0 ; 1 ½Kð4Þ e q0
ð10:42bÞ
where ð3Þ
ð1Þ
ð2Þ
ð4Þ
p0 ¼ i1 ;
q0 ¼ kð3Þ c ;
when KT ¼ 0 or KT ¼ 0;
p0 ¼ i2 ;
q0 ¼ kð4Þ c ;
when KT ¼ 0 or KT ¼ 0:
ð10:42cÞ
In the above, Ke , Kc , and KT are related to ðKe Þk1 , ðKc Þk1 , and ðKT Þk1 of (10.34c) by Ke ¼ ðKe Þn ;
Kc ¼ ðKc Þn ;
KT ¼ ðKT Þn :
ð10:43Þ
Written by sub-matrices, we have " Ke ¼
ð2Þ Kð1Þ e Ke ð4Þ Kð3Þ e Ke
#
" ;
Kc ¼
ð2Þ kð1Þ c kc ð4Þ kð3Þ c kc
#
" ;
KT ¼
ð1Þ
ð2Þ
ð3Þ
ð4Þ
KT KT KT KT
# ;
ð10:44Þ
ðiÞ
ðiÞ in which KðiÞ e , kc and KT , i ¼ 1; 2; 3; 4; are respectively, 3 3 matrices, 3 1 vectors and scalars.
Remarks on computer coding (i) A simple code for the matrix ðKc Þk1 defined in (10.34c). Kc ¼ 0; C ¼ I; C0 ¼ I; for k ¼ 1 : n; C ¼ Ck1 C; Kc ¼ Ek Kc þ Fk C; end (ii) Post-process of vk and wk. The solutions shown in (10.34a) are the functions related to the temperature T, heat flux hi, strains eij and stresses rij , but not themselves. In order to compute these responses numerically, further differentiation or integration are necessary. Followings are the post-process of vk and wk to T; hi ; eij ; rij . (1) When we get T;r from the first component of v, (10.37)1, the temperature field can be found through the integration of v. Knowing that v is proportional to r 1d as shown in (10.34a)1, we have Tðr; hÞ ¼ riT1 vðr; hÞ=d:
ð10:45Þ
(2) When we get h from the second component of v, (10.37)1, the vector of heat flux h can be obtained from the relations given in (10.84)2 and (10.88)1 of Hwu (2010). That is, hðr; hÞ ¼ gR ðhÞ gI ðhÞ=~k vðr; hÞ; ð10:46aÞ
10.5
Multi-material Wedges
261
where gR ðhÞ and gI ðhÞ are, respectively, the real and imaginary part of gðhÞ, which is gðhÞ ¼ ðk1 þ sk2 Þ^s1 ðhÞ;
^sðhÞ ¼ cos h þ s sin h:
ð10:46bÞ
(3) When we get u from the first component of w, (10.37)2, the strain field can be obtained from u,1 and u,2 through the relations given in (4.2a, 4.2b). When we get / from the second component of w, (10.37)2, the stress field can be obtained from /;1 and /;2 through the relations given in (4.2c). The differentiation of u and / can be performed by following the way shown in (5.10), (5.28) and (4.39). That is, @u @u cos h sin h; @r r@h @/ @/ cos h sin h; /;1 ¼ @r r@h u;1 ¼
@u @u sin h þ cos h; @r r@h @/ @/ /;2 ¼ sin h þ cos h; @r r@h
u;2 ¼
ð10:47Þ
where @u=@r; @u=@h; @/=@r; @/=@h; can be obtained directly from (10.34a)2. The derivatives resulting from @u=@h and b 01d ðh; hk1 Þ. The numerical calculation of these terms has been shown @/=@h contain the terms such as bs 0d a ðh;hk1 Þ and N k in (4.39). Based upon the solutions provided in (10.31)–(10.44) and the remarks stated in this Section, function s1052MwedgeTH is designed and presented in F176 of Appendix F. The input file for load and structure information is input_loadstr: BCt ; BC; h0 ; h1 ; . . .; hn ; nd ; d0 ; d1 ; d2 ; TOLd ; TOLf ; Maxi where BCt denotes the thermal boundary condition of the multi-material wedge, and the definitions of all the other symbols can be found in Sect. 5.3.3. Similar to the definition of BC, here BCt ¼ 0 stands for a wedge space, and BCt ¼ 1; 2; 3; 4 denote, respectively, an insulated- isothermal, isothermal-isothermal, insulated-insulated, and isothermal-insulated wedge.
10.6
Function for Common Use
10.6.1 Function—s10_gamma s10_gamma is a common function of thermal problems in Chaps. 10 and 14, which provides the values of vectors c1 ðhÞ and c2 ðhÞ defined in the extended symbol (5) of Sect. 2.5.5. According to their definition, this function is designed and presented in F093 of Appendix F.
10.7
Examples
10.7.1 Holes, Cracks and Inclusions Example 1: An Elliptical Hole in an Infinite Plate Under Uniform Heat Flow Consider an infinite plate containing an elliptical hole subjected to a uniform heat flow h0 = 100 W/m2 in the direction of positive x2 axis. The half lengths of the major and minor axes of the elliptical hole are a = 20 cm and b = 10 cm. The plate is made of an orthotropic material whose elastic and thermal properties are shown in Example 3 of Table 3.2. Calculate the stresses, strains, displacements, heat flow and temperature along the elliptical hole boundary with 72 equally distributed evaluation points. Generalized plane stress is assumed for all cases of this section. To find the solution of this problem, one should prepare the following five input files. input_control: 1 2 1021 11 1 1e9 0.001 1e−6; 3 3 0 0. input_elastic1: (same as Example 3 of Sect. 3.8.2). input_thermal1: (same as Example 3 of Sect. 3.8.2). input_loadstr: 0.2 0.1 100. input_variable: 3 0 0 0.2 0.1 0 360 72 0.
262
10
Thermoelastic Problems
Example 2: A Crack in an Infinite Plate Under Uniform Heat Flow Consider the same plate subjected to the same heat flow as Example 1. If the elliptical hole is replaced by a straight crack whose length is 40 cm, to calculate the stresses, strains, displacements, heat flow and temperature ahead of the crack tip ranging from (0.201, 0) to (0.3, 0), we need to prepare the following five input files. input_control: 1 2 1022 1 1 1e9 0.001 1e−6; 3 3 0 0. input_elastic1: (same as Example 3 of Sect. 3.8.2). input_thermal1: (same as Example 3 of Sect. 3.8.2). input_loadstr: 0.2 100. input_variable: 1 1 0.201 0 0.3 0 100. Example 3: An Elliptical Rigid Inclusion in an Infinite Plate Under Uniform Heat Flow All the conditions are the same as Example 1 except that the hole is replaced by a rigid inclusion. To solve this problem, we need to prepare the following input files. input_control: 1 2 1031 11 1 1e9 0.001 1e−6; 3 3 0 0. input_elastic1: (same as Example 3 of Sect. 3.8.2). input_thermal1: (same as Example 3 of Sect. 3.8.2). input_loadstr: 0.2 0.1 100 90. input_variable: 3 0 0 0.2 0.1 0 360 72 0. Example 4: A Rigid Line Inclusion in an Infinite Plate Under Uniform Heat Flow All the conditions are the same as Example 2 except that the crack is replaced by a rigid line inclusion. To solve this problem, we need to prepare the following five input files. input_control: 1 2 1032 1 1 1e9 0.001 1e−6; 3 3 0 0. input_elastic1: (same as Example 3 of Sect. 3.8.2). input_thermal1: (same as Example 3 of Sect. 3.8.2). input_loadstr: 0.2 100 90. input_variable: 1 1 0.201 0 0.3 0 100. Example 5: An Interface Crack Under Uniform Heat Flow Consider an interface crack between two dissimilar materials subjected to a uniform heat flow h0 = 100 W/m2 in the direction of positive x2 axis. The materials above and below the interface are orthotropic whose elastic and thermal properties are shown in Examples 5 and 6 of Table 3.2 with fibers oriented counterclockwisely −45° and 45° from x1-axis, respectively. The crack length is 40 cm. To calculate the stresses, strains, displacements, heat flow and temperature ahead of the crack tip starting from (0.201, 0) to (0.3, 0), we need to prepare the following input files. input_control: 2 2 1042 1 1 1e9 0.001 1e-6; 5 5 0 0; 5 5 0 0. input_elastic1: 144.8e9 9.7e9 4.1e9 0.3 −45. input_elastic2: 138e9 9e9 6.9e9 0.3 45. input_thermal1: 4.62 0.72 −0.3e−6 2.81e−5. input_thermal2: 4.62 0.72 −0.3e−6 2.81e−5. input_loadstr: 0.2 100 0 0 0. input_variable: 1 1 0.201 0 0.3 0 100.
10.7
Examples
263
10.7.2 Multi-material Wedges Example 1: Singular Orders of a Single Wedge Consider a 340° single wedge with free-free and isothermal-isothermal boundary condition. The elastic and thermal properties of the wedge are shown in Example 3 of Table 3.2. To calculate the orders of stress and heat flux singularities and their associated eigenfunctions under thermal environment, we need to prepare the following four input files. input_control: 1 2 1052 0 1 1e9 0.001 1e−6; 3 3 0 0. input_elastic1: (same as Example 3 of Sect. 3.8.2). input_thermal1: (same as Example 3 of Sect. 3.8.2). input_loadstr: 2; 3 −170 170; 15 0.001 0.1 0.2 1e−6 1e−6 20. Example 2: Singular Orders of a Bi-wedge Consider the bi-wedge of Example 3 of Sect. 5.6.2. The elastic and thermal properties of wedge 1 and wedge 2 are shown in Examples 1 and 2 of Table 3.2. If both sides of the bi-wedge are traction-free and isothermal, to calculate the orders of stress and heat flux singularities, we need to prepare the following input files. input_control: 2 2 1052 0 1 1e9 0.001 1e-6; 1 1 0 0; 2 2 0 0. input_elastic1: (same as Example 1 of Sect. 3.8.2). input_elastic2: (same as Example 2 of Sect. 3.8.2). input_thermal1: (same as Example 1 of Sect. 3.8.2). input_thermal2: (same as Example 2 of Sect. 3.8.2). input_loadstr: 2; 3 -150 0 180; 10 0.001 0.1 0.2 1e-4 1e-6 20.
References Hwu, C. 1990. Thermal stresses in an anisotropic plate disturbed by an insulated elliptic hole or crack. ASME Journal of Applied Mechanics 57 (4), 916–922. Hwu, C., and W.J. Lee. 2004. Thermal effect on the singular behavior of multi-bonded anisotropic wedges. Journal of Thermal Stresses 27 (2): 111–136. Hwu, C. 2010. Anisotropic elastic plates. New York: Springer.
Piezoelectric and Magneto-Electro-Elastic Materials
11
It is well known that piezoelectric and piezomagnetic materials have the ability of converting energy from one form (between electric/magnetic and mechanical energies) to the other. In other words, these materials can produce an electric or a magnetic field when deformed and undergo deformation when subjected to an electric or a magnetic field. If a multilayered composite is made up of different layers such as a fiber-reinforced composite layer and a composite layer consisting of the piezoelectric materials and/or piezomagnetic materials, it may exihibit magnetoelectric effects that are more complicated than those of single-phase piezoelectric or piezomagnetic materials. Because of this intrinsic coupling phenomenon, piezoelectric, piezomagnetic and magneto-electro-elastic (MEE) materials are widely used as sensors and actuators in intelligent advanced structure design. To study the electromechanical behaviors of piezoelectric materials, magnetomechanical behaviors of piezomagnetic materials, and the magneto- electro-mechanical behaviors of MEE materials, suitable mathematical modeling becomes important. As stated in Chap. 2 the expanded Stroh formalism for piezoelectric materials preserves most essential features of Stroh formalism, it becomes a popular tool for the study of piezoelectric anisotropic elasticity. By proper replacement of piezoelectric properties with piezomagnetic properties, the expanded Stroh formalism for piezoelectric materials can be applied to the cases with piezomagnetic materials. Moreover, further expansion can also be applied to the problems with MEE materials. Most of the matlab functions designed previously for the anisotropic elastic materials can be applied directly to the piezoelectric, piezomagnetic, and MEE materials. For example, if a problem with an elliptical hole in a piezoelectric material under uniform load at infinity is to be analyzed, simply choose Ltype = 611 with Ptype 6¼ 0 and Dtype = 11 or 12 or 21 or 22 for a suitable two-dimensional state, and follow the input commands stated for function s611EholeUL. Actually, this function was originally designed for anisotropic elastic materials, due to the equivalent mathematical form it can now be applied to piezoelectric materials. Same situation is applicable for the piezomagnetic/MEE materials and other functions coded in AEPH. Since all the formulations for the piezomagnetic materials are exactly the same as those of piezoelectric materials, no further discussions will be provided in this chapter for the piezomagnetic materials. Because the related formulations for the piezoelectric materials have been stated in Chaps. 1 and 2, the first two sections of this chapter will focus on the constitutive laws and expanded Stroh formalism of the MEE materials. The functions presented in the following sections of this chapter are just collections of some particular problems such as holes, multi-material wedges, and cracks. For the problems that are not collected in this chapter such as half-plane, bi-material, inclusion, contact, and thermoelastic problems, functions of AEPH can still be implemented by simply choosing the associated Ltype with Ptype 6¼ 0. One may refer to Hwu (2008), Hwu and Ikeda (2008), Hwu et al. (2009), Hwu (2010), Chen and Hwu (2010), Hwu and Kuo (2010) for the related works.
11.1
Constitutive Laws
11.1.1 Piezoelectric Materials To describe the electromechanical behaviors of piezoelectric materials, four equally important systems of constitutive equations are written in tensor notation or matrix notation in (1.65) and (1.68). If only two-dimensional deformation is © The Author(s), under exclusive license to Springer Nature Switzerland AG 2021 C. Hwu, Anisotropic Elasticity with Matlab, Solid Mechanics and Its Applications 267, https://doi.org/10.1007/978-3-030-66676-7_11
265
266
11
Piezoelectric and Magneto-Electro-Elastic Materials
considered, the constitutive equations should be further reduced. Equations (1.71)–(1.75) are the two-dimensional constitutive equations for four different two-dimensional states of piezoelectric materials. The related computer codes can be found in the function piezoM presented in Sect. 3.3.3.
11.1.2 Magneto-Electro-Elastic Materials—MEE, MEExy, MEE3Dto2D Similar to (1.65), the eight equally important systems of constitutive equations for magneto-elastro-elastic materials can be expressed as (Soh and Liu 2005) 8 8 E;H E;H H E H ~E > < rij ¼ Cijkl ekl ekij Ek qkij Hk > < eij ¼ Sijkl rkl þ dkij Ek þ dkij Hk e;H r;H H e H ð11:1aÞ Dj ¼ ejkl ekl þ xjk Ek þ mjk Hk Dj ¼ djkl rkl þ xjk Ek þ mrjk Hk > > : : e;E r;E E e E r ~ Bj ¼ qjkl ekl þ mjk Ek þ njk Hk Bj ¼ djkl rkl þ mjk Ek þ njk Hk 8 8 E;B E;B B B ~E gEkij Bk > < rij ¼ Cijkl ekl ekij Ek hkij Bk > < eij ¼ Sijkl rkl þ dkij Ek þ ~ e B r Dj ¼ eBjkl ekl þ xe;B Dj ¼ djkl rkl þ xr;B jk Ek þ gjk Bk jk Ek þ gjk Bk > > : : e;E Hj ¼ ~hEjkl ekl gejk Ek þ tjk Bk Hj ¼ ~ gEjkl rkl grjk Ek þ tr;E jk Bk 8 D;H H D > < rij ¼ Cijkl ekl hkij Dk qkij Hk e;H e Ej ¼ hH jkl ekl þ bjk Dk 1jk Hk > : e;D D e Bj ¼ qjkl ekl þ 1jk Dk þ njk Hk
8 D;H H ~D > < eij ¼ Sijkl rkl þ gkij Dk þ dkij Hk r;H r Ej ¼ gH jkl rkl þ bjk Dk 1jk Hk > : r;D D r Bj ¼ d~jkl rkl þ 1jk Dk þ njk Hk
8 D;B r ¼ Cijkl ekl hBkij Dk ~ hD > kij Bk > < ij e;B B Ej ¼ hjkl ekl þ bjk Dk kejk Bk > > : e;D e Hj ¼ ~hD jkl ekl kjk Dk þ tjk Bk
8 B e ¼ SD;B gD > kij Bk ijkl rkl þ gkij Dk þ ~ > < ij r;B B Ej ¼ gjkl rkl þ bjk Dk krjk Bk > > : r;D r Hj ¼ ~ gD jkl rkl kjk Dk þ tjk Bk
ð11:1bÞ
ð11:1cÞ
ð11:1dÞ
i; j; k; l ¼ 1; 2; 3 where rij , eij , Dj , Ej , Bj , and Hj denote, respectively, the stress, strain, electric displacement, electric field, magnetic induction, and magnetic field; Cijkl and Sijkl are the elastic stiffness and compliance; ekij , dkij , hkij , gkij are the piezoelectric coefficients; qkij , d~kij , ~hkij , ~gkij are the piezomagnetic coefficients; mjk , 1jk , gjk , kjk are the magneto-electric coefficients; xjk , bjk , njk , and tjk are the permittivity, non-permittivity, permeability, and reluctivity; the superscripts E, D, H, B, r, and/or e means that the value is at the condition of constant electric field, constant electric displacement, constant magnetic field, constant magnetic induction, constant stress, and/or constant elastic strain. Like (1.68), by using the contracted notation the constitutive laws (11.1a–11.1d) for MEE materials can be written in matrix form as 8 9 2 9 8 9 2 9 38 38 ~T < r = CE;H eTH qTE < e = < e =
C0E;H
; : 0> q0E B
e0T H x0e;H m0e
38 09 > e > q0T = < E m0e 7 5 E0 ; > > n0e;E : H0 ;
ð11:4aÞ
268
11
Piezoelectric and Magneto-Electro-Elastic Materials
where 8 9 8 9 2 E;H r1 > e1 > > > > > > > C11 > > > > > > > > > > > > 6 CE;H > > = = < r2 > < e2 > 6 12 6 E;H r0 ¼ r4 ; e0 ¼ e4 ; C0E;H ¼ 6 C14 > > > > 6 E;H > > > > > > 4 C15 r5 > e5 > > > > > > > > > > > > > E;H : ; : ; C16 r6 e6 ( 0
D ¼ ( 0
B ¼ m0e
)
D1 D2 B1
( 0
; E ¼ )
( 0
; H ¼
B2
)
E1
" e0H
;
E2 H1
¼
)
" q0E
;
H2
¼
" me12 ne;E 11 0 ¼ ; n e;E me22 ne;E 12
me11 ¼ me12
E;H C12 E;H C22 E;H C24 E;H C25 E;H C26
E;H C14 E;H C24 E;H C44 E;H C45 E;H C46
#
eH 11
eH 12
eH 14
eH 15
eH 16
eH 21
eH 22
eH 24
eH 25
eH 26
qE11
qE12
qE14
qE15
qE16
qE21 #
qE22
qE24
qE25
qE26
ne;E 12 ne;E 22
E;H C15 E;H C25 E;H C45 E;H C55 E;H C56
3 E;H C16 E;H 7 C26 7 E;H 7 7; C46 E;H 7 C56 5 E;H C66 "
x0e;H
; #
¼
ð11:4bÞ
xe;H 11
xe;H 12
xe;H 12
xe;H 22
# ; ð11:4cÞ
;
:
State 2: e3 ¼ 0; E3 ¼ 0; B3 ¼ 0 8 09 2 > CE;H =
0 4 eH ¼ D > ; : 0> qE B
eT H xe;H me
38 e 0 9 > > qT = < E 5 0 me E ; > > ne;E : H0 ;
ð11:5aÞ
where CijE;H ¼ CijE;H þ qE mj
¼
qEmj
qEi3 qE3j
; eH mj ne;E 33 E ne;E m3 q3j e e;E ; mmn ¼ n33
¼ eH mj memn
mem3 qE3j
ne;E 33 e mm3 ne;E 3n ne;E 33
;
e;H ; xe;H mn ¼ xmn
ne;E mn
¼
ne;E mn
mem3 me3n ne;E 33
; ð11:5bÞ
ne;E ne;E m3e;E3n : n33
State 3: e3 ¼ 0; D3 ¼ 0; H3 ¼ 0 8 09 2 > > CE;H
; : 0> qE B
eTH xe;H me
38 e 0 9 > > qTE < = me 5 E0 ; > > ne;E : H0 ;
ð11:6aÞ
where E;H
C ij
qEmj
¼ CijE;H þ
¼
qEmj
H eH 3i e3j
xe;H 33
mem3 eH 3j xe;H 33
;
H ; eH mj ¼ emj
memn
¼
memn
H xe;H m3 e3j
xe;H 33
e;H ; xe;H mn ¼ xmn
e;H xe;H m3 x3n
xe;H 33
xe;H me mem3 me3n e;E m3e;H 3n ; nmn ¼ ne;E : mn x33 xe;H 33
; ð11:6bÞ
State 4: e3 ¼ 0; D3 ¼ 0; B3 ¼ 0 8 09 2 > C0E;H =
D0 ¼ 4 e0H > ; : 0> q0E B
e0T H x0e;H m0e
38 e 0 9 > > q0T = < E m0e 5 E0 ; > > n0e;E : H0 ;
ð11:7aÞ
11.1
Constitutive Laws
269
where Cij0E;H ¼ CijE;H þ q0E mj
¼
qE mj
H eH 3i e3j
xe;H 33
H me m3 e3j
xe;H 33
H ; e0H mj ¼ emj
m0emn
;
¼
me mn
H xe;H m3 e3j
xe;H 33
e;H ; x0e;H mn ¼ xmn
e;H xe;H m3 x3n ; xe;H 33
ð11:7bÞ
e xe;H me me e;E m3 m3n m3e;H 3n ; n0e;E mn ¼ nmn e;H ; x33 x33
e;E e;H E e and CijE;H ; eH mj ; xmn ; qmj ; mmn ; nmn are defined in (11.5b). State 5: r3 ¼ 0; E3 ¼ 0; H3 ¼ 0
8 09 2 ^ E;H > > C
; : 0> ^E q B
38 e 0 9 > > ^TE < q = ^ e 5 E0 ; m > > ^ ne;E : H0 ;
^eTH ^ e;H x ^e m
ð11:8aÞ
where ^ E;H ¼ CE;H C ij ij ^qEmj
¼
qEmj
E;H E;H Ci3 C3j
H ; ^eH mj ¼ emj
E;H C33 E;H qEm3 C3j ^ emn E;H ; m C33
¼
memn
E;H eH m3 C3j E;H C33
e;H ^ e;H ; x mn ¼ xmn þ
H eH m3 en3 E;H ; C33
ð11:8bÞ
qE eH ^e;E qEm3 qEn3 e;E þ m3E;Hn3 ; n mn ¼ nmn þ E;H : C33 C33
State 6: r3 ¼ 0; E3 ¼ 0; B3 ¼ 0 8 09 2 ^ > > C
; : 0> ^E q B
^eT H ^ e;H x ^ e m
38 09 > = < e > 7 5 E0 ; > > ; : H0 e;E
^T q E ^ e m ^ n
ð11:9aÞ
where ^ E;H ¼ CE;H C ij ij ^qE mj
¼
qE mj
E;H E;H Ci3 C3j E;H C33
E;H qE m3 C3j E;H C33
;
^ e m mn
H ; ^eH mj ¼ emj
¼
me mn
E;H eH m3 C3j E;H C33
e;H ^ e;H ; x mn ¼ xmn þ
E qE eH qE e;E n3 m3 qn3 þ m3E;H ; ^ ne;E mn ¼ nmn þ E;H ; C33 C33
e;E e;H E e and CijE;H ; eH mj ; xmn ; qmj ; mmn ; nmn are defined in (11.5b). State 7: r3 ¼ 0; D3 ¼ 0; H3 ¼ 0 8 09 2^ ^T > eH = 6 CE;H
^ ^ D0 ¼ 6 x e;H > 4 e^H > ; : ^ B0 qE me
38 09 ^T > e > qE 7< = ^ 0 7 ; E me 5> > ^ : 0; n e;E H
H eH m3 en3 E;H C33
; ð11:9bÞ
ð11:10aÞ
270
11
Piezoelectric and Magneto-Electro-Elastic Materials
where ^ E;H
C ij
E;H
E;H
¼ C ij
^E
qmj ¼ qEmj
E;H
Ci3 C 3j
E;H
^H
; e mj ¼ eH mj
E;H C 33 E;H qEm3 C 3j ^e E;H ; mmn C33
¼ memn þ
eH m3 C 3j E;H C33
qEm3 eH n3 E;H
C 33
^ e;H
; xmn ¼ xe;H mn þ
^e;E
; nmn ¼
e;E nmn
þ
H eH m3 en3
qEm3 qEn3 E;H
C 33
E;H
C33
; ð11:10bÞ
;
e;E
E;H
e;H E e and Cij ; eH mj ; xmn ; qmj ; mmn ; nmn are defined in (11.6b). State 8: r3 ¼ 0; D3 ¼ 0; B3 ¼ 0
8 09 2 ^0 > > C
; : 0> ^0E q B
^e0HT ^ 0e;H x ^ 0e m
38 09 > e > ^0ET < q = ^ 0e 7 m 5 E0 ; > > ; : ^0 n e;E H0
ð11:11aÞ
where ^ 0E;H ¼ C0E;H C ij ij ^q0E mj
¼
q0E mj
0E;H 0E;H Ci3 C3j 0E;H C33
0E;H q0E m3 C3j 0E;H C33
;
0H ; ^e0H mj ¼ emj
^ 0emn m
¼
m0emn
0E;H e0H m3 C3j 0E;H C33
0e;H ^ 0e;H ; x mn ¼ xmn þ
0H e0H m3 en3 0E;H ; C33
0E q0E e0H 0e;E q0E m3 qn3 þ m30E;Hn3 ; ^ nmn ¼ n0e;E mn þ 0E;H ; C33 C33
ð11:11bÞ
e;E e;H 0 E e and Cij0 E;H ; e0mjH ; x0mn ; qmj ; m0mn ; n0mn are defined in (11.7b). Note that in (11.5b)–(11.11b), the ranges of the subscripts are i; j ¼ 1; 2; . . .; 6 and m; n ¼ 1; 2; 3; and the columns and rows related to r3 ; D3 ; B3 ; and e3 ; E3 ; H3 ; have been deleted for the reduction to two-dimensional state.
Thermal effect Like (1.57), if the thermal effects are considered, the constitutive laws of (11.1a)1 and (11.1d)2 should be modified as 8 E;H H E > < rij ¼ Cijkl ekl ekij Ek qkij Hk bij T e;H H e ð11:12aÞ Dj ¼ ejkl ekl þ xjk Ek þ mjk Hk þ b4 j T ; i; j ¼ 1; 2; 3; > : e;E E e Bj ¼ qjkl ekl þ mjk Ek þ njk Hk þ b5 j T 8 D;B B gD > kij Bk þ aij T < eij ¼ Sijkl rkl þ gkij Dk þ ~ r;B B Ej ¼ gjkl rkl þ bjk Dk krjk Bk a4 j T ; i; j ¼ 1; 2; 3: > : r;D r Hj ¼ ~gD jkl rkl kjk Dk þ tjk Bk a5 j T
ð11:12bÞ
where aij and bij denote, respectively, the generalized thermal expansion coefficient and generalized thermal moduli. Specifically, sometimes b4 j and a4 j are called pyroelectric coefficients, and b5 j and a5 j are called pyromagnetic coefficients. Similar to (11.2a–11.2d), Eqs. (11.12a) and (11.12b) can also be written in matrix form as 8 9 2 8 9 38 e 9 T T b > r> > > > > E;H C e q > > > > > H E = = < = < e> < 6 7 D ¼ 4 eH xe;H me 5 E T bp ; > > > > > > > > > > ; ; : > : > qE me ne;E : H ; B bm ð11:13aÞ 9 2 8 9 9 8 8 3 r T T e> ae > > > > > ~ S g g > > > > > > D;B B D = < < = < = 6 7 E ¼ 4 gB br;B kr 5 D þ T ap ; > > > > > > > > > > > ; : ; : > ~gD kr tr;D : B ; H am
11.1
Constitutive Laws
271
where be ¼ ðb11 ; b22 ; b33 ; b23 ; b31 ; b12 Þ T ¼ ðb1 ; b2 ; b3 ; b4 ; b5 ; b6 Þ T T
bp ¼ ð b41 ; b42 ; b43 Þ T ¼ ð b7 ; b8 ; b9 Þ T ¼ ð bðpÞ ; bðpÞ ; bðpÞ Þ ; 3 1 2 T
bm ¼ ð b51 ; b52 ; b53 Þ T ¼ ð b10 ; b11 ; b12 Þ T ¼ ð bðmÞ ; bðmÞ ; bðmÞ Þ ; 3 1 2 T ae ¼ ða11 ; a22 ; a33 ; 2a23 ; 2 a31 ; 2a12 Þ ¼ ða1 ; a2 ; a3 ; a4 ; a5 ; a6 Þ T
ð11:13bÞ
T
ap ¼ ð a41 ; a42 ; a43 Þ T ¼ ð a7 ; a8 ; a9 Þ T ¼ ð aðpÞ ; aðpÞ ; aðpÞ Þ ; 3 1 2 T
am ¼ ð a51 ; a52 ; a53 Þ T ¼ ð a10 ; a11 ; a12 Þ T ¼ ð aðmÞ ; aðmÞ ; aðmÞ Þ : 1 2 3 Like (1.60a), from (11.13a–11.13b) it can be proved that 8 9 2 38 a 9 8 a 9 2 > > CE;H eTH qTE > = = > SD;B < be > < e> < e= bp ¼ 4 e H xe;H me 5 ap ; a p ¼ 4 gB > > > > > ; : > qE me ne;E : am ; : am ; ~ gD bm
gTB br;B kr
38 b 9 > e> ~ = gTD < k r 5 bp : > > tr;D : b ;
ð11:14Þ
m
If the constitutive laws other than (11.1a)1 and (11.1d)2 are used to express the thermal effects, mixed use of aij and bij may appear in the same expression, for example, (11.2a)2 should be modified as 9 8 8 9 2 9 38 ae > > ~T < r = =
: ; > : ; ; : ~E B H d mr nr;E b m
All the other constitutive laws of (11.2a–11.2d) should also be modified by the way as that shown in (11.13a, 11.13b) and (11.15). Like the reduction made for isothermal condition, if the thermal effect is considered for two-dimensional state, Eqs. (11.4)–(11.11a, 11.11b) should all be modified as follows. State 1: e3 ¼ 0; E3 ¼ 0; H3 ¼ 0; 8 09 2 > > C0E;H
; : 0> q0E B
e0T H x0e;H m0e
8 09 38 09 b > e > > q0T = = < < e> E 0 7 0 me 5 E T b0p ; > > > ; : 0> n0e;E : H0 ; b
ð11:16aÞ
m
where b0e ¼ ðb1 ; b2 ; b4 ; b5 ; b6 Þ T ; b0p ¼ ð b7 ; b8 Þ T ; b0m ¼ ð b10 ; b11 Þ T :
ð11:16bÞ
State 2: e3 ¼ 0; E3 ¼ 0; B3 ¼ 0 8 09 2 > > CE;H
> : 0; qE B
eT H xe;H me
8 9 38 e0 9 > > > qT = = < < be > E 5 0 me T bp ; E > > > ; : > ne;E : H0 ; b
ð11:17aÞ
m
where ðeÞ
bi
ðmÞ
¼ bi þ
qE3i b3
ne;E 33
; bðpÞ ¼ bðpÞ m m
ðmÞ
mem3 b3 ne;E 33
; bðmÞ ¼ bðmÞ m m
ðmÞ
ne;E m3 b3 ne;E 33
:
ð11:17bÞ
272
11
Piezoelectric and Magneto-Electro-Elastic Materials
State 3: e3 ¼ 0; D3 ¼ 0; H3 ¼ 0 8 09 2 > > CE;H
; : 0> qE B
eTH xe;H me
8 9 38 e0 9 > b > > > > qTE < = = < e> 0 T bp ; me 5 E > > > > > ne;E : H0 ; ; :b >
ð11:18aÞ
m
where ðpÞ
ðeÞ
bi ¼ bi þ
eH 3i b3
xe;H 33
ðpÞ
; bm ¼ bðpÞ m
ðpÞ
xe;H m3 b3 xe;H 33
ðmÞ
; bm ¼ bðmÞ m
ðpÞ
mem3 b3 xe;H 33
:
ð11:18bÞ
State 4: e3 ¼ 0; D3 ¼ 0; B3 ¼ 0 8 09 2 > C0E;H =
0 4 e0H ¼ D > ; : 0> q0E B
e0HT x0e;H m0e
8 09 38 e0 9 > > > q0T = = < < be > E 0 0 5 0 me T bp ; E > > > ; : 0 > n0e;E : H0 ; b
ð11:19aÞ
m
where 0ðeÞ
bi
ðeÞ
¼ bi
ðpÞ
þ
ðpÞ
eH xe;H 0 ðpÞ ðpÞ 3i b3 m3 b3 ; b ¼ b m m e;H x33 xe;H 33
; b0mðmÞ ¼ bðmÞ m
ðpÞ
me m3 b3 : xe;H 33
ð11:19bÞ
ðeÞ
ðmÞ and bi ; bðpÞ are defined in (11.17b). m ; bm State 5: r3 ¼ 0; E3 ¼ 0; H3 ¼ 0
8 09 2 ^ E;H > C =
0 4 ^eH ¼ D > ; : 0> ^E q B
^eTH
^ e;H x ^e m
8 9 38 e0 9 ^ > b > > > > = = < e> < 0 ^ 5 ^e m T bp ; E > > > > > ; :^ > ^ ne;E : H0 ; bm ^TE q
ð11:20aÞ
where ðeÞ
ðeÞ
ðeÞ
E;H H E ^ðeÞ ¼ b Ci3 b3 ; b ^ðpÞ ¼ bðpÞ em3 b3 ; b ^ðmÞ ¼ bðmÞ qm3 b3 : b i i m m m m E;H E;H E;H C33 C33 C33
ð11:20bÞ
State 6: r3 ¼ 0; E3 ¼ 0; B3 ¼ 0 8 09 2 ^ > > C
; : 0> ^E q B
^eT H ^ e;H x ^ e m
8 9 38 09 ^ > b > > > = = < e> < e > 7 0 ^ T E b 5 p >; > > > > : > ; : 0; ^ H e;E bm
^T q E ^ e m ^ n
ð11:21aÞ
where ðeÞ
E;H ^ðeÞ ¼ bðeÞ Ci3 b3 b i i E;H C33
ðeÞ
ðeÞ
H E ^ðpÞ ¼ bðpÞ em3 b3 ; b ^ðmÞ ¼ bðmÞ qm3 b3 ; ;b m m m m E;H E;H C33 C33
ð11:21bÞ
11.1
Constitutive Laws
273
ðeÞ
ðmÞ and bi ; bðpÞ are defined in (11.17b). m ; bm State 7: r3 ¼ 0; D3 ¼ 0; H3 ¼ 0
8 09 2^ > = 6 CE;H
^ D0 ¼ 6 4 eH > ; : 0> ^ B qE
^T
eH ^ x e;H ^ me
8^ 9 38 09 > b > > > e > > > qE 7< = = < ^e > ^ 0 7 me 5> E > T > bp >; ^ > ; > : > ; :^ > n e;E H0 bm ^T
ð11:22aÞ
where ^ ðeÞ
ðeÞ
bi ¼ bi
ðeÞ
ðpÞ
E;H ðeÞ
Ci3 b3 E;H
C 33
^ ðpÞ
ðpÞ
; bm ¼ bm
ðeÞ
eH m3 b3
E;H
C33
^ ðmÞ
ðmÞ
; bm ¼ bm
ðeÞ
qEm3 b3 E;H
C 33
;
ð11:22bÞ
ðmÞ
and bi ; bm ; bm are defined in (11.18b). State 8: r3 ¼ 0; D3 ¼ 0; B3 ¼ 0 8 09 2 0 ^ > C =
E;H 6 ^e0 0 ¼4 H D > ; : 0> ^0E q B
^e0T H ^ 0e;H x ^ 0e m
8 09 38 09 ^ b > > e > > > ^0T q = = < e> < E 0 0 7 0 ^ e 5 E m T ^ bp ; > > > > ; > : ; : ^0 > ^0 n H0 e;E bm
ð11:23aÞ
where 0 ðeÞ
0 E;H ^0 ðeÞ ¼ b0 ðeÞ Ci3 b3 b i i 0 E;H C33 0 ðeÞ
and bi
0 ðeÞ
0 ðeÞ
0H 0E ^0 ðpÞ ¼ b0 ðpÞ em3 b3 ; b ^0 ðmÞ ¼ b0 ðmÞ qm3 b3 ; ;b m m m m 0 E;H 0 E;H C33 C33
ð11:23bÞ
0ðmÞ ; b0ðpÞ are defined in (11.19b). m ; bm
Magneto-Electro-Elastic laminates If a multilayered composite is made up of different layers such as a fiber-reinforced composite layer and a composite layer consisting of the piezoelectric materials and/or piezomagnetic materials, it may exihibit magnetoelectric effects that are more complicated than those of single-phase piezoelectric or piezomagnetic materials. Like the constitutive laws shown in (1.78) for the electro-elastic laminates, the constitutive relation for the magneto-electro-elastic laminates can be written in matrix form as 9 8 8 9 > 3> 2 e0 > N> > > > > > > Ac Ae Aq Bc Be Bq > > > > > > > > > > > > > > T T N e > > Ae Aw Am Be Bw Bm 7 > 6 > > D> > E> > > > > 7 6 < N = 6 AT A < T eH = An Bq Bm Bn 7 B m q 7 6 ¼6 ; ð11:24aÞ 7 > M> j> > > > > 6 BTc Be Bq DTc De Dq 7> > > > > > 4 Be Bw Bm De Dw Dm 5> > > > > > > > > > jE > > > > T T > > > MD > > B B B D D D > > > > m n m n : q q ; :M ; j B H in which N; N D ; M; M D ; e0 ; eE ; j0 ; jE ; and Xc ; Xe ; X w ; where X ¼ A; B; D are defined in (1.78b–1.78d), and
274
11
( NB ¼ 2
N51 N52 X19
6 Xq ¼ 4 X29 X69
)
( ; MB ¼ 3
M51 M52
)
( ; eH ¼
X79 7 X2;10 5; X m ¼ X89 X6;10 X1;10
X7;10 X8;10
2e051 2e052
)
Piezoelectric and Magneto-Electro-Elastic Materials
( ; jH ¼
; Xn ¼
2j51
)
2j52
;
X99
X9;10
X10;9
X10;10
ð11:24bÞ
; X ¼ A; B; D:
The generalized extensional, coupling and bending stiffness Aab ; Bab ; Dab , a; b ¼ 1; 2; 6; 7; 8; 9; 10 are defined in (1.80a) with the additional augmentation by Cab ¼ qE1b ; a ¼ 9; b ¼ 1; 2; 6; ¼ qE2b ; a ¼ 10; b ¼ 1; 2; 6; ¼ mE1ðb6Þ ; a ¼ 9; b ¼ 7; 8
ð11:25Þ
¼ mE2ðb6Þ ; a ¼ 10; b ¼ 7; 8; ¼ ne;E ða8Þðb8Þ ; a; b ¼ 9; 10: The generalized strains/curvatures e05i =j5i ; and the generalized stress resultants/ bending moments N5i =M5i ; are related to the generalized displacements/stress functions by e051 ¼ u5;1 =2; e052 ¼ u5;2 =2; j51 ¼ b5;1 =2; j52 ¼ b5;2 =2; N51 ¼ /5;2 ; N52 ¼ /5;1 ; M51 ¼ w5;2 ; M52 ¼ w5;1 :
ð11:26Þ
According to the equations stated in (11.1)–(11.26), function MEE is designed to provide the reduced matrices CE;H ; eH ; xe;H ; qE ; me ; ne;E for the general two- dimensional problems. In this function, two auxiliary functions, MEExy and MEE3Dto2D, are designed to assist the calculation of MEE. The former is used to execute the transformation between different types of constitutive law, i.e., 2 3 2 3 Y yT1 qT1 X xT1 pT1 4 x1 x2 p 5 ! 4 y y q 5 2 1 2 2 p1 p2 p3 q1 q2 q3 where the matrix constructed by X, xi, pi or Y, yi, qi can be any matrix set given in (11.2a–11.2d). The latter is used to transform from 3D law (11.2a–11.2d) to 2D law (11.4a–11.4c)–(11.11a, 11.11b) of eight different two-dimensional states. The computer codes of these three functions are presented in F076, F077, and F078 of Appendix F.
11.2
Expanded Stroh Formalism
11.2.1 Piezoelectric Materials As stated in Sect. 2.1.4, by extending the range of the index from 1, 2, 3 to 1, 2, 3, 4, the basic equations of anisotropic piezoelectric elasticity can be written in the same tensor notation as those of pure anisotropic elasticity. And hence, the Stroh formalism for piezoelectric materials can also be written in the same form as that of anisotropic elastic materials, like the general solution expressed as (2.34). The determination of the fundamental matrix N, material eigenvalues la ; a ¼ 1; 2; 3; 4, and material eigenvector matrices A and B, can then be made by following the way for the anisotropic elastic materials. With this understanding, no more discussions will be provided in this section and one may refer to Sects. 11.2 and 11.3 of Hwu (2010) for the detailed presentation of expanded Stroh formalism and its related explicit expressions. The computer codes related to the calculation of piezoelectric material properties can be found in the functions of Chap. 3 such as piezoM, piezoM2, piezo2, and material_eigen, fundamental_N, eigen_muAB, identities with Ptype 6¼ 0. Note that only two functions piezoM and material_eigen are enough for the calculation of N; la ; A; B of the piezoelectric materials, and the others are designed just for the double check as stated in Sect. 3.6.
11.2
Expanded Stroh Formalism
275
11.2.2 Magneto-Electro-Elastic Materials When the magneto-electro-elastic material under thermal loading is considered, the basic equations shown in (2.24) and (2.31) should be modified as 8 E;H E r ¼ Cijkl ekl eH > kij Ek qkij Hk bij T > < ij e;H e Dj ¼ eH jkl ekl þ xjk Ek þ mjk Hk þ b4 j T > > : Bj ¼ qEjkl ekl þ mejk Ek þ ne;E ð11:27Þ jk Hk þ b5 j T 1 hi ¼ kij T;j ; hi;i ¼ 0; eij ¼ ðui;j þ uj;i Þ; 2 rij;j ¼ 0; Dj;j ¼ 0; Bj;j ¼ 0; i; j; k; l ¼ 1; 2; 3: Similar to (2.32), by letting Ej ¼ u4;j ¼ 2e4j ; Hj ¼ u5;j ¼ 2e5j ; Dj ¼ r4j ; Bj ¼ r5j ; j ¼ 1; 2; 3; E;H Cijkl ¼ Cijkl ; i; j; k; l ¼ 1; 2; 3; E Cij4l ¼ C4lij ¼ eH lij ; Cij5l ¼ C5lij ¼ qlij ; i; j; l ¼ 1; 2; 3;
C4j4l ¼
xe;H jl ;
ð11:28Þ
C4j5l ¼ mejl ; j; l ¼ 1; 2; 3;
C5j4l ¼ mejl ; C5j5l ¼ ne;E jl ; j; l ¼ 1; 2; 3;
the basic equations (11.27) can be rewritten in an expanded notation as 1 rij ¼ Cijkl ekl bij T; eij ¼ ðui;j þ uj;i Þ; rij;j ¼ 0; i; j; k; l ¼ 1; 2; 3; 4; 5; 2
ð11:29Þ
where uj;4 ¼ uj;5 ¼ 0, and the fully symmetry is assumed for Cijkl ; rij ; and eij . Moreover, in addition to the components related to the subscript 4, some of the components with the subscript 5 such as r55 ; e55 ; Cij55 ; and C55ij are set to be zero. Since the mathematical form of expanded expression (11.29) for anisotropic magnetoelectro-thermoelasticity is exactly the same as that of anisotropic thermoelasticity shown in (2.24) except the index is expanded from 3 to 5, the general solutions satisfying all the basic equations (11.27) under two-dimensional deformation can therefore be written in the form of Stroh formalism as T ¼ 2Refg0 ðzt Þg; hi ¼ 2Refðki1 þ ski2 Þg00 ðzt Þg; zt ¼ x1 þ sx2 ; u ¼ 2RefAfðzÞ þ cgðzt Þg; / ¼ 2RefBfðzÞ þ dgðzt Þg;
ð11:30aÞ
where 9 8 8 9 8 9 /1 > f1 ðz1 Þ > u1 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > f u / ðz Þ > > > 2> 2 2 > 2> > > > > > > = < < = < = u ¼ u3 ; U ¼ /3 ; f ðzÞ ¼ f3 ðz3 Þ ; za ¼ x1 þ la x2 ; a ¼ 1; 2; 3; 4; 5; > > > > > > > > > > > > > > > > > > > > > u4 > >/ > f ðz Þ > > > > > 4 4 > 4> > > > > > > > > > > > > > > > > ; > ; ; : : : f5 ðz5 Þ u5 /5 A ¼ ½ a1
a2
a3
a4
a5 ;
B ¼ ½ b1
b2
b3
b4
b5 :
ð11:30bÞ
276
11
Piezoelectric and Magneto-Electro-Elastic Materials
The generalized stress functions /i are related to the stresses, electric displacements and magnetic induction by ri1 ¼ /i;2 ; ri2 ¼ /i;1 ; i ¼ 1; 2; 3; ð11:31Þ
D1 ¼ r41 ¼ /4;2 ; D2 ¼ r42 ¼ /4;1 ; B1 ¼ r51 ¼ /5;2 ; B2 ¼ r52 ¼ /5;1 :
In (11.30a, 11.30b), the thermal eigenvalue s is determined by heat conduction coefficient kij through the characteristic Eq. (2.26). The material eigenvalues and eigenvectors, lk and (ak ; bk ), are determined by the eigenrelation (2.8) in which N is now a 10 10 fundamental matrix and n is a 10 1 column vector, and the associated matrices Q, R, T are three 5 5 real matrices related to the expanded elastic constants Cijkl defined in (11.28), i.e., 3 2 E;H E;H E;H C16 C15 eH qE11 C11 11 6 C E;H CE;H C E;H eH qE16 7 7 6 16 16 66 56 6 E;H E;H E;H E 7 ; ð11:32aÞ Q ¼ 6 C15 C56 C55 eH q 15 15 7 7 6 H e;H H H e 5 4 e11 e16 e15 x11 m11 qE11 qE16 qE15 me11 ne;E 11 2
E;H C16 6 CE;H 6 66 6 E;H R ¼ 6 C56 6 H 4 e16 qE16
2
E;H C66 6 C E;H 6 26 6 E;H T ¼ 6 C46 6 H 4 e26 qE26
E;H C12 E;H C26 E;H C25 eH 12 qE12
E;H C14 E;H C46 E;H C45 eH 14 qE14
eH 21 eH 26 eH 25 xe;H 12 me12
3 qE21 qE26 7 7 7 qE25 7; 7 me12 5 ne;E 12
ð11:32bÞ
E;H C26 E;H C22 E;H C24 eH 22 qE22
E;H C46 E;H C24 E;H C44 eH 24 qE24
eH 26 eH 22 eH 24 xe;H 22 me22
3 qE26 qE22 7 7 7 qE24 7: 7 e 5 m22 ne;E 22
ð11:32cÞ
The thermal eigenvectors c and d are then determined from the eigenrelation (2.27). As those presented in Sects. 2.4.1 and 2.4.2, the explicit solutions of N, A and B for the magneto-elastro-elastic materials can also be derived and used to check the correctness of eigenrelation. Due to the complexity of the explicit solutions, their detailed expressions are omitted. Magneto-Electro-Elastic laminates As discussed in Sect. 2.3.3, the expanded Stroh-like formalism can also be applied to the cases with magneto-electro-elastic laminates. The only difference is that the vectors of 6 1 and the matrices of 6 6 shown in (2.77) should be expanded to 8 1 and 8 8, respectively. The matrices Qm, Rm, Tm of (2.79) used to construct the fundamental elasticity matrix N should be expanded as 2 ~ ~ 16 A11 A 6 A ~ 66 ~ 16 A 6 6 A e ~ ~e A 6 11 16 6 ~q ~q 6 A A 16 Qm ¼ 6 ~ 11 ~ 66 2 6 B16 2 B 6 ~ ~ 62 6 B B 6 12 4B ~ e26 =2 ~ e21 =2 B ~ q21 =2 B ~ q =2 B 26
~e ~q ~ 12 ~ 16 2 B B A A 11 11 ~e ~q ~ 62 ~ A A 2 B B 66 16 16 e ~x ~m ~ e12 ~ A A =2 B B 11 11 16 q n m ~ ~ ~ q12 ~ =2 A A B B 11 11 16 q e ~ ~ ~ ~ B16 =2 B16 =2 D66 4 D26 2 ~ 22 ~ 26 2 ~ e12 ~ q12 D D B B x m e ~ ~ ~ ~ B12 =2 B12 =2 D26 =4 De22 =2 ~m ~n ~q ~ q22 =2 B D 12 =2 B12 =2 D26 =4
~ e21 =2 B ~ e26 =2 B ~x B 12 =2 ~m B 12 =2 ~ e26 =4 D ~ e22 =2 D ~ D x 22 =4 ~m D 22 =4
~ q21 =2 3 B ~ q26 =2 7 B 7 7 ~m B 12 =2 7 n ~ 12 =2 7 7 B ; ~ q =4 7 7 D 26 7 ~ q22 =2 7 D 7 5 ~m D 22 =4 n ~ D22 =4
ð11:33aÞ
11.2
Expanded Stroh Formalism
277
2 ~ ~ 12 A16 A 6 A ~ 66 ~ 26 A 6 6 A e ~ ~e A 6 16 12 6 q ~ ~q 6 A A 12 6 16 Rm ¼ 6 ~ ~ 26 2 6 B66 2 B 6 ~ ~ 22 6 B B 6 62 e e 6B ~ ~ 4 26 2 B22 2 ~ q22 2 ~q 2 B B 26 2
~ 66 A ~ 26 A ~e A 26 ~q A
~ 26 A ~ 22 A ~e A 22 ~e A
6 6 6 6 6 6 22 26 6 Tm ¼ 6 ~ 61 ~ 21 6 B B 6 ~ 26 2 ~ 66 2 B 6 B 6 e 6 B ~ e12 2 4 ~ 16 2 B ~ q16 2 B ~ q12 2 B
~e ~q ~ 11 B A A 21 21 q e ~ ~ ~ 61 B A26 A26 x m ~ ~ ~ e11 A12 A12 B n m ~ ~ ~ q11 A A B 12 12 ~ e26 2 B ~q 2 D ~ 16 2 B 26 ~ e22 ~ q22 ~ 12 B B D x m ~ ~ ~ B22 2 B22.2 De21 2 ~m ~n ~q B 22 2 B22 2 D21 2
~ 16 2 B ~ 66 2 B ~ e16 2 B ~q 2 B 16 ~ 66 4 D ~ 26 2 D ~ e26 4 D ~q 4 D 26
~ e11 2 B ~ e16 2 B ~x B 11 2 ~m B 11 2 ~ e16 4 D ~ e12 2 D ~x D 12 4 ~m D 12 4
~ 66 2 B ~ 26 2 B ~ e26 2 B ~ q26 2 B 22 22 ~ e21 ~ q21 ~ 11 ~ 16 2 B B D D ~ e26 2 B ~ q26 2 D ~ 16 2 D ~ 66 4 B ~x ~m ~ e11 2 D ~ e16 4 B B D 12 2 12.2 ~m ~n ~q ~q B 12 2 B12 2 D11 2 D16 4 ~e A 26 ~e A 22 ~x A 22 ~m A
~q A 26 ~q A 22 ~m A 22 ~n A
~ 61 B ~ 21 B ~ e21 B ~ q21 B
~ q11 2 3 B ~ q16 2 7 B 7 7 ~m B 11.2 7 7 n ~ 11 2 7 B 7; ~q 4 7 7 D 16 7 ~ q12 2 7 D 7 7 ~m D 12.4 5 n ~ 12 4 D
ð11:33bÞ
~ e16 2 B ~q 2 3 B 16 ~ e12 2 B ~ q12 2 7 B 7 7 x ~ ~m B12 2 B 12.2 7 7 n ~m ~ 12 2 7 B B 12 2 7 ; ~ e11 2 D ~ q11 2 7 7 D 7 ~ e16 4 D ~ q16 4 7 D 7 x 7 ~ 11 4 D ~m D 11.4 5 ~m ~n D 11 4 D11 4
ð11:33cÞ
~ ij ; B ~ ij ; D ~ ij , are related to the extensional, coupling and bending stiffness Aij ; Bij ; Dij by (2.61). The superscripts in which A e;H e;E E e e; q; x; m; n denote the values related to the MEE coefficients, eH aj ; qaj ; xab ; mab ; nab ;j ¼ 1; 2; . . .; 6; a; b ¼ 1; 2; 3; which are the contracted notations of their corresponding tensors stated in (11.1a)1, and are related to the expanded elastic constants Cij by (refer to (11.28)) H H Cij $ CijE;H ; Ci7 $ eH 1i ; Ci8 $ e2i ; Ci9 $ e3i ; i; j ¼ 1; 2; :::; 6;
Ci;10 $ qE1i ; Ci;11 $ qE2i ; Ci;12 $ qE3i ; i ¼ 1; 2; :::; 6; Cij $ xe;H ði6Þðj6Þ ; i; j ¼ 7; 8; 9; Cij $ Cij $
ð11:34Þ
meði6Þðj9Þ ; i ¼ 7; 8; 9; j ¼ 10; 11; 12; ne;E ði9Þðj9Þ ; i; j ¼ 10; 11; 12:
With the relations (11.34) and the definitions (1.80a) and (2.61), we have q q e e X1i ¼ Xi7 ; X2i ¼ Xi8 ; X1i ¼ Xi;10 ; X2i ¼ Xi;11 ; i ¼ 1; 2; :::; 6; x Xði6Þðj6Þ ¼ Xij ; i; j ¼ 7; 8; 9; m ¼ Xij ; i ¼ 7; 8; 9; j ¼ 10; 11; 12; Xði6Þðj9Þ n Xði9Þðj9Þ
ð11:35Þ
¼ Xij ; i; j ¼ 10; 11; 12;
~ B; ~ D: ~ X ¼ A; B; D; A; q m For example, Ax 11 , B21 , and D22 are calculated by
Ax 11 ¼ A17 ¼
n X k¼1
ðC17 Þk ðhk hk1 Þ ¼
n X
ðxe;H 17 Þk ðhk hk1 Þ;
k¼1
Bq21 ¼ B1;11 ¼
n n 1X 1X ðC1;11 Þk ðh2k h2k1 Þ ¼ ðqE Þ ðh2 h2k1 Þ; 2 k¼1 2 k¼1 21 k k
Dm 22 ¼ D8;11 ¼
n n 1X 1X ðC8;11 Þk ðh3k h3k1 Þ ¼ ðme22 Þk ðh3k h3k1 Þ: 3 k¼1 3 k¼1
ð11:36Þ
~ ij ; B ~ ij ; D ~ ij with or without superscript e; q; x; m; n can then be obtained from the expanded matrices A, The components of A B, D with the relations (2.61) and (11.35).
278
11
Piezoelectric and Magneto-Electro-Elastic Materials
Note that the submatrices I1 , I2 and I3 of the transformation matrix It of (2.80a) should also be changed to I1 ¼ \1; 1; 1; 1; 0; 0; 0; 0 [ ; I2 ¼ \0; 0; 0; 0; 1; 1; 2; 2 [ ; I3 ¼ \0; 0; 0; 0; 1; 1; 0:5; 0:5 [ :
11.3
ð11:37Þ
Holes
11.3.1 Elliptical Holes—s1131piezoEhole The solutions of the complex function vector fðzÞ stated in Sect. 6.1 for elliptical holes can be summarized as follows. (i) Uniform load at infinity: 1 T 1 1 1 1 1 T 1 fðzÞ ¼ \za [ q1 \f1 a [ B ðat2 ibt1 Þ; q ¼ A t2 þ B e1 : 2
ð11:38Þ
(ii) In-plane bending at infinity: fðzÞ ¼ \z2a [ qB þ
Ma2 1 fc2 ðaÞ þ is2 ðaÞg\f2 a [ B sðaÞ: 4I
ð11:39Þ
(iii) Arbitrary load along the hole boundary: fðzÞ ¼ i\ ln fa [ AT c0
1 X i 1 \fk a [ B ðck þ idk Þ: 2k k¼1
(iv) Point force at an arbitrary location: ( ) 4 X 1 T 1 T 1 ^: ½\ lnðfa ^fa Þ [ A þ fðzÞ ¼ \ lnðfa ^fk Þ [ B BIk A p 2pi k¼1 (v) Dislocation at an arbitrary location: ( ) 4 X 1 T 1 T 1 ^ fðzÞ ¼ ½\ lnðfa ^fa Þ [ B þ \ lnðfa ^fk Þ [ B BIk B b: 2pi k¼1
ð11:40Þ
ð11:41Þ
ð11:42Þ
As stated in the previous sections, although the solutions (11.38)–(11.42) are obtained for the anisotropic elastic materials, they are still applicable to the problems with piezoelectric or MEE materials. The only difference is the dimension and content of the related vectors and matrices appeared in the solutions, which should now be expanded from 3 1 to 4 1 or from 3 3 to 4 4 for piezoelectric materials, and from 3 1 to 5 1 or from 3 3 to 5 5 for MEE materials. Actually, by following the expanded Stroh formalism, the diagonal matrices containing the material eigenvalues la and the material eigenvector matrices A and B have automatically been expanded from 3 3 to 4 4 or 5 5. As to the vectors 1 1 ^ of (11.41) and (11.42) should be ^ and b related to the applied forces, such as t1 1 ; t2 ; and e1 of (11.38), sðaÞ of (11.39), and p expanded as follows. For piezoelectric materials,
t1 1
9 8 8 19 8 19 8 1 9 8 9 8 9 cos a > > ^ r r e ^ p1 > > > > > > > > > > > b > 11 > 21 > 11 > > > > > > > > > < sin a = = < 1= < 1= < 1 = < = < ^1 > r12 r22 e12 ^ p2 1 1 ^ ¼ b2 : ^¼ ;p ; t2 ¼ ; e1 ¼ ; sðaÞ ¼ ;b ¼ 1 1 1 ^ r > r > 2e > ^ p > > > > > > > b > 0> > > > > > > > > > > > > ; ; ; : 13 : 23 : 13 : 3> : ^3 > 1; 1; ; : r1 r 2e ^ p b4 4 14 24 14 0
ð11:43Þ
11.3
Holes
279
For MEE materials,
t1 1
8 1 r11 > > 1 > > < r12 r1 ¼ 13 > > r1 > 14 > : 1 r15
9 8 1 r21 > > > > 1 > > > > = < r22 1 r1 ; t2 ¼ 23 > > r1 > > > > 24 > > ; : 1 r25
9 > > > > = > > > > ;
; e1 1
8 1 e11 > > 1 > > < e12 2e1 ¼ 13 > > 2e1 > 14 > : 1 2e15
9 > > > > = > > > > ;
;
9 8 8 cos a > > > > > > > > > > > > > > > = < sin a > < ^¼ sðaÞ ¼ 0 ;p > > > > > > > > 0> > > > > > : > > ; : 0
^ p1 ^ p2 ^ p3 ^ p4 ^ p5
9 > > > > = > > > > ;
^¼ ;b
8 > > > > > < > > > > > :
^ b1 ^ b2 ^ b3 ^ b4 ^ b5
9 > > > > > = > > > > > ;
:
ð11:44Þ
In the above, 1 1 1 1 1 ^ ^ ^ r1 p4 ¼ D; b4 ¼ E; 14 ¼ D1 ; r24 ¼ D2 ; 2e14 ¼ E1 ; ^ 1 1 1 1 1 ^ ^ ^ r1 p5 ¼ B; b5 ¼ H: 15 ¼ B1 ; r25 ¼ B2 ; 2e15 ¼ H1 ; ^
ð11:45Þ
1 1 1 In (11.45), D1 i and Ei are the electric displacement and electric field at infinity; Bi and Hi are the magnetic induction and ^ (or B) ^ and E ^ (or H) ^ are the counterparts of the point force and dislocation related to the electric magnetic field at infinity; D (or magnetic) field. For piezoelectric materials, in (11.43)3 to calculate the strains from stresses like those shown in (4.5a–4.5e) for the anisotropic elastic materials, the related vectors Si and Si of (4.5e) should be expanded as 9 9 8 8 ^1i > ^6i =2 > > > S S > > > = =
S6i =2 S2i ; S ð11:46Þ Si ¼ ¼ ^ >; i ¼ 1; 2; 4; 5;6: ^ > i > > S S > > ; ; : ^5i > : ^4i > S7i S8i
Similar expansion should also be made in (11.44)3 for MEE materials. The first term \z2a [ qB of (11.39) is a solution related to the infinite space, which is shown in (4.6) with its associated form of displacement u and stress function /. When the material of the infinite space is replaced by a piezoelectric material, the mathematical form of Eq. (4.6a) stating u; /; u;1 ; u;2 ; /;1 ; /;2 will keep unchanged with sðaÞ expanded in (11.43) and the other related vectors such as u1 ; u2 ; u1;1 ; u2;1 ; u1;2 ; u2;2 should be expanded as follows. 9 9 8 8 ð2c1 x1 þ c6 x2 Þx2 > c1 x21 c2 x22 > > > > > > > = = < < c1 x21 c2 x22 ðc6 x1 þ 2c2 x2 Þx1 ; u2 ¼ ; ð11:47aÞ u1 ¼ 2 c4 x2 ðc5 x1 þ 2c4 x2 Þx1 > > > > > > > > ; ; : : c8 x22 ðc7 x1 þ 2c8 x2 Þx1 9 9 9 9 8 8 8 c1 x 1 c1 x2 > c2 x2 > c1 x 1 þ c6 x 2 > > > > > > > > > > > > = = = = < < < c x þ c2 x 2 c1 x 1 c2 x 1 c2 x 2 ; u2;1 ¼ 2 ; u2;2 ¼ 2 : ; u1;2 ¼ 2 ¼2 6 1 0 > cx > c4 x 2 > > > > > > > > > c 5 x 1 þ c4 x 2 > > > > ; ; ; ; : : 4 1 > : : 0 c 7 x 1 þ c8 x 2 c8 x 1 c8 x 2 8 > >
KII > > > > > > > > > = = < K > < r ðr; hÞ > I hh ; rðr; hÞ ¼ ; k¼ > > r3h ðr; hÞ > > > > KIII > > > > > > ; ; : : Dh ðr; hÞ KIV
for piezoelectric materials;
9 9 8 8 rrh ðr; hÞ > KII > > > > > > > > > > > > > > > > > > > r K ðr; hÞ > > > > I hh = = < < k ¼ KIII ; rðr; hÞ ¼ r3h ðr; hÞ ; > > > > > > > > > KIV > > Dh ðr; hÞ > > > > > > > > > > > > > ; ; : : Bh ðr; hÞ KV
for MEE materials;
ð11:51bÞ
ð11:51cÞ
The additional factors KIV and KV are called, respectively, electric intensity factor and magnetic intensity factor since it is the magnitude of singularity of the electric displacement and magnetic induction near the tip of multi-material wedges. Since the mathematical form of the near tip solutions (11.50a) is exactly the same as that shown in (5.35a) for anisotropic elastic materials, the near tip solutions for the present problem can be determined through the function s542MwedgeNTS. Note that the form of the near tip solutions and the definition of the stress intensity factors shown in (11.50a–11.50c) and (11.51a–11.51c) are different from those shown in Hwu (2010). Detailed discussions about the improvement of the present definition can be found in (Hwu and Huang 2012, Hwu 2012).
11.4.3 H-Integral Through suitable matrix expansion, the H-integral presented in Sect. 5.4.3 for multi-material wedges composed of anisotropic elastic materials can also be applied to the cases with piezoelectric/MEE materials. The relation (5.48) for the present cases now becomes k ¼ KH1 h;
ð11:52aÞ
where h ¼ ðH1 ; H2 ; H3 ; H4 ÞT ; for piezoelectric material, h ¼ ðH1 ; H2 ; H3 ; H4 ; H5 ÞT ; for MEE material:
ð11:52bÞ
in which H and Hk still follow the same relations given in (5.48)–(5.49). Thus, the function s543MwedgeSIF2d originally designed for the anisotropic elastic multi-material wedges can now be applied to the cases with piezoelectric/MEE materials.
282
11.5
11
Piezoelectric and Magneto-Electro-Elastic Materials
Singular Characteristics of Cracks
11.5.1 Cracks A semi-infinite crack in piezoelectric/MEE materials is a special case of multi-material wedges, which can be reduced by letting h0 ¼ p and h1 ¼ p for a single wedge with free-free surfaces. With this special wedge angle, the near tip solution can be expressed in terms of the stress intensity factor as that shown in (7.1) for anisotropic elastic materials. Through this simple solution, the crack opening displacement Du and the energy release rate G can be written in terms of the stress intensity factors as rffiffiffi 2 1=2 1 1 Du ¼ 2 ð11:53Þ r L k; G ¼ kT L1 k: p 2 Since the solution form is the same as (7.1), the near tip solutions of the present problem can therefore be calculated by using the function s711crackNTS designed in Chap. 7 for anisotropic elastic materials.
11.5.2 Interface Cracks If we set h0 ¼ p, h1 ¼ 0 and h2 ¼ p, a bi-wedge with free-free surfaces can represent a bimaterial with a semi-infinite interface crack. With these special angles, the near tip solution (11.50a–11.50c) can be reduced, and the relations given in (7.33) for the stresses r2 along the interface, the crack opening displacement Du and the energy release rate G can be verified to be applicable to the cases with piezoelectric/MEE materials. And hence, functions s712IFcrackNTS and s741IFcrack designed in Chap. 7 for anisotropic elastic materials can be used to calculate the near tip solutions and the related fracture parameters. However, the closed form solutions of the singular orders of interface cracks presented in (7.8) should be modified for the cases with piezoelectric and MEE materials as follows. d1 ¼ 0:5 þ ie; d2 ¼ 0:5 ie; d3 ¼ 0:5 s; d4 ¼ 0:5 þ s; for piezoelectric/MEE, d5 ¼ 0:5; for MEE,
ð11:54aÞ
1 1 þ be 1 ln ; s ¼ tan1 bs ; 2p 1 be p qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi be ¼ f½ I22 4I4 þ I2 =2g1=2 ; bs ¼ f½ I22 4I4 I2 =2g1=2 ;
ð11:54bÞ
1 I2 ¼ trðD1 WÞ2 ; I4 ¼ D1 W; for piezoelectric, 2 1 1 1 I2 ¼ trðD1 WÞ2 ; I4 ¼ ½trðD1 WÞ2 2 trðD1 WÞ4 ; for MEE 2 8 4
ð11:54cÞ
where e¼
11.6
Some Crack Problems
As stated at the beginning of Sect. 11.4, if the mathematical forms of general solution and boundary conditions of the problems in piezoelectric/MEE materials are exactly the same as those of the corresponding anisotropic elastic problems, the solutions for the cracks in piezoelectric/MEE materials can be obtained directly by referring to their counterparts for anisotropic elastic materials. By this way, most of the solutions for cracks in piezoelectric/MEE materials can be obtained directly without any further derivation and computer coding. For the crack surfaces whose boundary conditions cannot be expressed by simply expansion of stress functions such as permeable, semi-permeable, and energetically consistent conditions, additional works cannot be avoided (Zhang et al. 2002; Motola and Banks-Sills 2009).
11.6
Some Crack Problems
283
Since the loads applied on the piezoelectric/MEE materials may include both the mechanical load and electric/magnetic load, the expansion of the load vectors used in the crack problems for anisotropic elastic materials is necessary. Thus, by suitable modification for the input of loadstr, all the functions designed in Chap. 7 can be called directly to solve the crack problems with piezoelectric/MEE materials.
11.6.1 Cracks—s1161piezoCOcrack Function s1161piezoCOcrack collects related functions of Chap. 7 to solve the problems with collinear cracks in piezoelectric/MEE materials. To have a suitable category for the related problems, a control parameter COtype is set to be Ltype of the corresponding anisotropic elastic problem. Based upon this categorization, function s1161piezoCOcrack is designed and presented in F179 of Appendix F.
11.6.2 Interface Cracks—s1162piezoIFcrack Function s1162piezoIFcrack collects related functions of Chap. 7 to solve the problems with collinear interface cracks in piezoelectric/MEE materials, and is presented in F180 of Appendix F.
11.7
Examples
The problems collected in this chapter can be implemented by selecting Ltype = 1131 for elliptical holes, Ltype = 1132 for polygon-like holes, Ltype = 1161 for cracks, and Ltype = 1162 for interface cracks. As mentioned at the beginning of this chapter, these problems can also be analyzed directly by selecting the appropriate Ltype stated in the previous chapters. Actually almost all the functions designed in the whole AEPH can be employed for the cases with piezoelectric/MEE materials. With this understanding, the examples presented in this Section will include not only holes/cracks, but also multi-material wedges, inclusions, contact, and thermoelastic problems.
11.7.1 Holes and Cracks Example 1: An Elliptical Hole Under Unidirectional Tension Consider an infinite piezoelectric plate containing an elliptical hole subjected to a unidirectional tension 100 MPa directed at angle 45° from x1-axis. The major and minor axes of the hole are a = 0.02 m and b = 0.01 m. The plate is made by a left-hand quartz whose material properties are shown in Table 2.3. Calculate the stresses, strains, displacements, electric fields, electric displacements, and hoop stress/electric displacement along the hole boundary. Seventy-two equally distributed points with regard to polar angle w are selected to be evaluated on the hole boundary and generalized plane stress and short circuit is assumed for all cases treated in this section. To find the solution of this problem, one should prepare the following four input files. input_control.txt: 1 21 1131 (or 611) 11 1 1.0e9 0.001 1.0e−6; 0 0 1 0. input_piezoM1.txt: (same as Example 1 of Sect. 3.8.3). input_loadstr.txt: 611 (delete 611 when using Ltype = 611) 0.02 0.01 1 1.0e8 45. input_variable.txt: 3 0 0 0.02 0.01 0 360 72 0. Note that to save the space the alternative selection by choosing Ltype directly from the previous chapter, which always provides the same results, will not be shown in the other examples of this subsection. Example 2: Collinear Periodic Cracks Consider an infinite piezoelectric plate with an infinite row of evenly spaced collinear cracks subjected to a uniform tension r1 ¼ 10 MPa in the direction of x2-axis. All cracks have the same length of 4 cm, and the distance between the crack centers is 10 cm. The plate is made of an electro-elastic composite laminate [E/0/45/E] whose properties have been described
284
11
Piezoelectric and Magneto-Electro-Elastic Materials
in Example 5 of Sect. 3.8.3. Calculate the stresses, strains, displacements, electric fields, electric displacements of this plate on a line ranging from (−1, 0) m to (1, 0) m, in which 200 equally distributed points are evaluated. In addition, calculate the stress intensity factors of the cracks. To find the solution of this problem, one should prepare the following five input files. input_control.txt: 1 21 1161 1 1 1e9 0.001 1e−6; 0 0 5 0. input_piezoM1.txt: (same as Example 5 of Sect. 3.8.3). input_loadstr.txt: 733 0.02 0.1 1 10e6 90. input_variable.txt: 1 1 −1 0 1 0 200. Example 3: Collinear Interface Cracks Consider an infinite plate with two collinear interface cracks subjected to a uniform tension r1 ¼ 30 MPa in the direction of x2-axis. The position of two cracks is represented by a1 ¼ 0:05; b1 ¼ 0:03; a2 ¼ 0:03; b2 ¼ 0:05; with unit: m (see Fig. 7.16). The plate is made of two dissimilar piezoelectric materials, left-hand quartz and PZT4, whose properties are given in Example 1 and Example 4 of Table 3.3. To find the solutions on a line ranging from (−0.1, 0) m to (0.1, 0) m in which 100 equally distributed points are evaluated, one should prepare the following five input files. input_control.txt: 2 21 1162 1 1 1.0e9 0.001 1.0e−6; 0 0 1 0; 0 0 4 0. input_piezoM1.txt: (same as Example 1 of Sect. 3.8.3). input_piezoM2.txt: (same as Example 4 of Sect. 3.8.3). input_loadstr.txt: 744 −0.05 −0.03 0.03 0.05 100 0 30e6 0 0. input_variable.txt: 1 1 −0.1 0 0.1 0 100.
11.7.2 Multi-material Wedges Example 1: Singular Orders Consider a bi-wedge with h0 ¼ 170 , h1 ¼ 0 , and h2 ¼ 170 (see Fig. 5.5). Wedge 1 and wedge 2 are made by PZT4 and PZT-5H whose properties are shown in Examples 4 and 3 of Table 3.3. If both sides of the bi-wedge are traction-free, to calculate the singular orders and their associated eigen-functions, the input files should be prepared as follows. input_control.txt: 2 21 533 0 0 1e9 0.001 1.0e−6; 0 0 4 0; 0 0 3 0. input_piezoM1.txt: (same as Example 4 of Sect. 3.8.3). input_piezoM2.txt: (same as Example 3 of Sect. 3.8.3). input_loadstr.txt: 3 −170 0 170; 400 0.001 0.1 0.2 1e−4 1e−6 20. Example 2: Stress Intensity Factors Calculate the stress intensity factors of a two-dimensional piezoelectric bi-wedge by H-integral. The bi-wedge, material properties, and the settings for Muller’s method are the same as those of previous Example. The numerical data of displacements and tractions at the points around the circular path of radius r = 6 mm are provided by finite element or boundary element analysis. The reference length used in the definition of stress intensity factor is selected to be ‘ ¼ 2 cm, and the number of Gaussian points used in the numerical integration is set to be 32. To find the solution of this problem, four input files should be prepared as follows. input_control.txt: 2 21 543 0 1 1e9 0.001 1.0e−6; 0 0 4 0; 0 0 3 0. input_piezoM1.txt: (same as Example 4 of Sect. 3.8.3). input_piezoM2.txt: (same as Example 3 of Sect. 3.8.3). input_loadstr.txt: 3 −170 0 170; 400 0.001 0.1 0.2 1e−4 1e−6 20; 3 32 0.006 0.02 (followings are the numerical data arranged as ½x1 ; x2 ; u1 ; u2 ; u3 ; u4 ; t1 ; t2 ; t3 ; t4 k , which are obtained from the other sources such as FEM or BEM, and will not be listed here to save the space.)
11.7
Examples
285
11.7.3 Inclusions Example 1: MEE Inclusion Under Uniform Load Consider an infinite MEE plate with an elliptical piezomagnetic inclusion subjected to a uniform tension r1 22 ¼ 1 MPa at infinity. The half lengths of major and minor axes of the elliptical inclusion are 2 m and 1 m. The MEE material is made by mixing the carbon/epoxy unidirectional fiber-reinforced composite with piezoelectric BaTiO3 and piezomagnetic CoFe2O4, whose properties are (Jiang and Pan 2004) C11 ¼ C33 ¼ 166 GPa, C12 ¼ C23 ¼ 78 GPa, C13 ¼ 77 GPa; C22 ¼ 161 GPa, C44 ¼ C66 ¼ 43 GPa, C55 ¼ 44:5 GPa, e21 ¼ e23 ¼ 4:4 C/m2 ; e22 ¼ 18:6 C/m2 ; e16 ¼ e34 ¼ 11:6 C/m2 ; x11 ¼ x33 ¼ 11:2 109 C/V, x22 ¼ 12:6 109 C/V; q21 ¼ q23 ¼ 580:3 N/Am; q22 ¼ 699:7 N/Am; q16 ¼ q34 ¼ 550 N/Am; m11 ¼ m33 ¼ 5 1012 Ns/VC; m22 ¼ 3 1012 Ns/VC, n11 ¼ n33 ¼ 5 106 Ns2 /C2 ; n22 ¼ 105 Ns2 /C2 : The piezomagnetic material is CoFe2O4 whose properties are C11 ¼ C33 ¼ 286 GPa, C12 ¼ C23 ¼ 170 GPa, C13 ¼ 173 GPa; C22 ¼ 269:5 GPa, C44 ¼ C66 ¼ 45:3 GPa, C55 ¼ 56:5 GPa, x11 ¼ x33 ¼ 8 1011 C/V, x22 ¼ 9:3 1011 C/V; q21 ¼ q23 ¼ 580:3 N/Am; q22 ¼ 699:7 N/Am; q16 ¼ q34 ¼ 550 N/Am; n11 ¼ n33 ¼ 5:9 104 Ns2 /C2 ; n22 ¼ 1:57 104 Ns2 /C2 : To find the solutions along the inclusion boundary with 73 equally distributed evaluation points, one should prepare the following five input files. input_control.txt: 2 111 811 12 1 1.0e9 0.001 1.0e−6; 0 0 11 0; 0 0 11 0. input_piezoM1.txt: 166e9 78e9 77e9 0 0 0; 78e9 161e9 78e9 0 0 0; 77e9 78e9 166e9 0 0 0; 0 0 0 43e9 0 0; 0 0 0 0 44.5e9 0; 0 0 0 0 0 43e9. 0 0 0 0 0 11.6 11.2e−9 0 0; −4.4 18.6 −4.4 0 0 0 0 12.6e−9 0; 0 0 0 11.6 0 0 0 0 11.2e−9. 0 0 0 0 0 550 5e−12 0 0 0.05e−4 0 0; 580.3 699.7 580.3 0 0 0 0 3e−12 0 0 0.1e−4 0; 0 0 0 550 0 0 0 0 5e−12 0 0 0.05e−4. input_piezoM2.txt: 286e9 170.5e9 173e9 0 0 0; 170.5e9 269e9 170.5e9 0 0 0; 173e9 170.5e9 286e9 0 0 0; 0 0 0 45.3e9 0 0; 0 0 0 0 56.5e9 0; 0 0 0 0 0 45.3e9. 0 0 0 0 0 0 0.08e−9 0 0; 0 0 0 0 0 0 0 0.093e−9 0; 0 0 0 0 0 0 0 0 0.08e−9. 0 0 0 0 0 550 0 0 0 590e−6 0 0; 580.3 699.7 580.3 0 0 0 0 0 0 0 157e−6 0; 0 0 0 550 0 0 0 0 0 0 0 590e−6. input_loadstr.txt: 2 1 1 1e6 90. input_variable.txt: 3 0 0 2 1 0 360 73 0. Example 2: A Crack Outside the MEE Inclusion All the conditions are the same as Example 1 except that an inclined crack with half length ‘ ¼ 1 m is located outside the inclusion, and the crack center locates at (6, 0) m with slanted angle a0 ¼ 0 (the origin of the coordinate is taken to be the center of the inclusion). To find the solution of this problem, one should prepare the following five input files. input_control.txt: 2 111 841 11 1 1.0e9 0.001 1.0e−6; 0 0 11 0; 0 0 11 0. input_piezoM1.txt: (same as Example 1 of Sect. 11.7.3). input_piezoM2.txt: (same as Example 1 of Sect. 11.7.3).
286
11
Piezoelectric and Magneto-Electro-Elastic Materials
input_loadstr.txt: 2 1 1 0 6 0 10 20; 1 1e6 90. input_variable.txt: 3 0 0 2 1 0 360 73 0.
11.7.4 Contact Problems Example 1: A Piezoelectric Half-Plane Indented by a Flat-Ended Punch All the conditions are the same as Example 1 of Sect. 9.7.1 except that the orthotropic elastic half-plane is replaced by a piezoelectric half-plane whose properties are given in Example 1 of Table 3.3. To solve this problem, one should prepare the following input files. input_control: 1 11 912 13 1 1e9 0.001 1.0e−6; 0 0 1 0. input_piezoM1: (same as Example 1 of Sect. 3.8.3). input_loadstr: 0.01 0 −1e6 0 0. input_variable: 1 1 −0.02 0 0.02 0 81. Example 2: Rigid Stamp Indentation on an Elliptical Hole All the conditions are the same as Example 1 of Sect. 9.7.2 except that the orthotropic elastic plate is replaced by a piezoelectric plate whose properties are given in Example 1 of Table 3.3. To solve this problem, one should prepare the following input files. input_control: 1 11 922 2 1 1e9 0.001 1.0e−6; 0 0 1 0. input_piezoM1: (same as Example 1 of Sect. 3.8.3). input_loadstr: 0.1 0.06 30 1e6 0 0 0. input_variable: 5 −0.2 −0.2 0.2 0.2 21 21 0 0 0.1 0.6 0 0 0 16. Example 3: A Sliding Parabolic Punch on a MEE Half-Plane All the conditions are the same as Example 2 of Sect. 9.7.4 except that the orthotropic elastic half-plane is replaced by a MEE half-plane whose properties are given in Example 1 of Sect. 11.7.3. To solve this problem, one should prepare the following four input files. input_control: 1 111 943 2 1 1e9 0.001 1.0e−6; 0 0 11 0. input_piezoM1: (same as Example 1 of Sect. 11.7.3). input_loadstr: 0.01 0.1 1.2e6 0.3e6 0.3 input_variable: 1 −0.03 −0.04 0.03 0 21 21 0.
11.7.5 Thermoelastic Problems Example 1: An Elliptical Hole Under Uniform Heat Flow All the conditions are the same as those described in Example 1 of Sect. 10.7.1 except that the orthotropic elastic plate is now replaced by a piezoelectric plate whose properties are: C11 ¼ C33 ¼ 126 GPa, C12 ¼ C23 ¼ 53 GPa, C13 ¼ 55 GPa, C22 ¼ 117 GPa, C44 ¼ C66 ¼ 35:3 GPa, C55 ¼ 35:5 GPa, e21 ¼ e23 ¼ 6:5 C/m2 , e22 ¼ 23:3 C/m2 , e16 ¼ e34 ¼ 17 C/m2 , x11 ¼ x33 ¼ 15:1 109 F/m, x22 ¼ 12 109 F/m. Its associated thermal properties are: k11 ¼ k33 ¼ 50 W/m°K, k22 ¼ 75 W/m°K, a11 ¼ a33 ¼ 0:88 105 1/°K, a22 ¼ 0:5 105 1/°K, a42 ¼ 583 V/m°K. To solve this problem, one should prepare the following input files. input_control: 1 21 1021 11 1 1e9 0.001 1e−6; 0 4 1 0. input_piezoM1: 1.26e11 5.3e10 5.5e10; 5.3e10 1.17e11 5.3e10; 5.5e10 5.3e10 1.26e11; 0 0 0 3.53e10; 0 0 0 0 3.55e10; 0 0 0 0 0 3.53e10; 0 0 0 0 0 17 1.51e−8; −6.5 23.3 −6.5 0 0 0 0 1.2e−8; 0 0 0 17 0 0 0 0 1.51e−8.
11.7
Examples
287
input_thermal1: 50 0 0; 0 75 0; 0 0 50; 8.8e−6 0 0; 0 5e−6 0;0 0 8.8e−6; 0 583 0. input_loadstr: 0.2 0.01 100. input_variable: 3 0 0 0.2 0.1 0 360 72 0. Example 2: An Elliptical Rigid Inclusion Under Uniform Heat Flow All the conditions are the same as those described in Example 3 of Sect. 10.7.1 except that the orthotropic elastic plate is now replaced by a piezoelectric plate considered in the previous example. To solve this problem, one should prepare the following input files. input_control: 1 22 1031 11 1 1e9 0.001 1e−6; 0 4 1 0. input_piezoM1: (same as Example 1 of Sect. 11.7.5). input_thermal1: (same as Example 1 of Sect. 11.7.5). input_loadstr: 0.2 0.1 100 90. input_variable: 3 0 0 0.2 0.1 0 360 72 0. Example 3: An Interface Crack Under Uniform Heat Flow All the conditions are the same as those described in Example 5 of Sect. 10.7.1 except that the material above the interface is replaced by the piezoelectric material considered in Example 1. To solve this problem, one should prepare the following input files. input_control: 2 22 1042 1 1 1e9 0.001 1e−6; 0 4 1 0; 5 5 0 0. input_piezoM1: (same as Example 1 of Sect. 11.7.5). input_elastic2: 138e9 9e9 6.9e9 0.3 45. input_thermal1: (same as Example 1 of Sect. 11.7.5). input_thermal2: 4.62 0.72 −0.3e−6 2.81e−5. input_loadstr: 0.2 100 0 0 0. input_variable: 1 1 0.201 0 0.3 0 100.
References Chen, Y.C., and C. Hwu. 2010. Green’s functions for anisotropic/piezoelectric bimaterials and their applications to boundary element analysis. Computer Modeling in Engineering & Sciences 57 (1): 31–50. Hwu, C. 2008. Some explicit expressions of extended Stroh formalism for two-dimensional piezoelectric anisotropic elasticity. International Journal of Solids and Structures 45: 4460–4473. Hwu, C. 2010. Anisotropic elastic plates. New York: Springer. Hwu, C. 2012. Matrix form near tip solutions of interface corners. International Journal of Fracture 176: 1–16. Hwu, C., and H. Huang. 2012. Investigation of the stress intensity factors for interface corners. Engineering Fracture Mechanics 93: 204–224. Hwu, C., and T. Ikeda. 2008. Electromechanical fracture analysis for corners and cracks in piezoelectric materials. International Journal of Solids and Structures 45: 5744–5764. Hwu, C., and T.L. Kuo. 2010. Interface corners in piezoelectric materials. Acta Mechanica 214: 95–110. Hwu, C., T.L. Kuo, and Y.C. Chen. 2009. Interfaces between two dissimilar elastic materials. Computers, Materials & Continua 11 (3): 165–183. Jiang, X., and E. Pan. 2004. Exact solution for 2D polygonal inclusion problem in anisotropic magnetoelectroelastic full-, half, and bimaterial-planes. International Journal of Solids and Structures 41: 4361–4382. Motola, Y., and Banks-Sills, L. 2009. M-integral for calculating intensity factors of cracked piezoelectric materials using the exact boundary conditions. ASME Journal of Applied Mechanics 76 (1): 011004. Soh, A., and J. Liu. 2005. On the constitutive equations of magnetoelectroelastic solids. Journal of Intelligent Material Systems and Structures 16: 597–602. Zhang, T.Y., M. Zhao, and P. Tong. 2002. Fracture of piezoelectric ceramics. Advances in Applied Mechanics 38: 147–289.
12
Viscoelastic Materials
Viscoelastic materials exhibit a time and rate dependence that is completely absent in the elastic materials. To understand the mechanical behavior of viscoelastic materials, solutions for the deformations and stresses are generally required. Through the use of correspondence principle between linear elasticity and linear viscoelasticity, the Stroh formalism for linear anisotropic viscoelasticity presented in Chen and Hwu (2011), Kuo and Hwu (2013), Hwu and Kuo (2013) will be introduced in this chapter. With this formalism, the viscoelastic solids can be treated effectively in Laplace domain and the solutions in time domain can be obtained by numerical inversion of the Laplace transform. Solutions for the related viscoelastic problems of holes, cracks, inclusions, interface corners, and contact (only for complete indentation) discussed previously for anisotropic elastic materials, will then be presented in this chapter. Although the elastic–viscoelastic correspondence principle is simple and directly related to its corresponding elastic system, it can only be applied to the cases with time-invariant boundaries. To solve the general problems of anisotropic viscoelasticity, an alternative approach called time-stepping method will be introduced later in Sect. 15.8.3. By that approach, the problems with time-dependent boundaries can also be solved through their associated solutions of elasticity.
12.1
Linear Anisotropic Viscoelasticity
In a fixed Cartesian coordinate system, xi , i = 1, 2, 3, the constitutive law for homogeneous linear anisotropic viscoelastic materials, the strain–displacement relation for small deformations, and the equilibrium equation for the static loading condition can be written as rij ¼ Cijkl dekl ;
eij ¼ ðui;j þ uj;i Þ=2;
rij;j ¼ 0;
i; j; k; l ¼ 1; 2; 3:
ð12:1Þ
ui ui ðx; tÞ, eij eij ðx; tÞ, and rij rij ðx; tÞ are the displacements, strains, and stresses, respectively, in which x ¼ ðx1 ; x2 ; x3 Þ denotes the spatial coordinate and t denotes time; Cijkl Cijkl ðtÞ is the elastic stiffness tensor whose components are also known as the relaxation functions of viscoelastic materials, and the symmetry of stress and strain implies Cijkl ðtÞ ¼ Cjikl ðtÞ ¼ Cijlk ðtÞ; the operator denotes the Stieltjes convolution, i.e., Zt Cijkl dekl ¼
Zt Cijkl ðt sÞdekl ðsÞ ¼ Cijkl ðtÞekl ð0Þ þ
1
Cijkl ðt sÞ 0
@ekl ðsÞ ds; @s
ð12:2Þ
where the second equality is obtained under the condition that ekl ðtÞ ¼ 0 when t\0.
12.1.1 Stroh Formalism in Laplace Domain Taking the Laplace transform of (12.1) yields
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2021 C. Hwu, Anisotropic Elasticity with Matlab, Solid Mechanics and Its Applications 267, https://doi.org/10.1007/978-3-030-66676-7_12
289
290
12 ^
^
^
^
r ij ðsÞ ¼ sC ijkl ðsÞe kl ðsÞ;
e ij ðsÞ ¼
o 1 n^ ^ ui;j ðsÞ þ uj;i ðsÞ ; 2
^
rij;j ðsÞ ¼ 0;
Viscoelastic Materials
ð12:3aÞ
^
where the over-breve, , denotes the Laplace transform defined by Z1
^
f ðsÞ ¼
f ðtÞest dt Lff ðtÞg:
ð12:3bÞ
0
The mathematical form of (12.3a) is identical to that of the basic equations for linear anisotropic elasticity (see Eq. (2.1) with fi ¼ 0). Thus, if the boundary of a viscoelastic body is invariant with time, the viscoelastic solutions in the Laplace domain can be obtained directly from the solutions of the corresponding elastic problems by replacing the elastic stiffness tensor Cijkl ^
with sC ijkl ðsÞ. This statement is the so-called correspondence principle between linear elasticity and linear viscoelasticity and is applicable to anisotropic viscoelastic materials. By applying correspondence principle and Stroh formalism for two-dimensional linear anisotropic elasticity, a general solution satisfying 15 partial differential Equations (12.3a, 12.3b) can be written as ^
^
uðx; sÞ ¼ 2RefAs ðsÞf s ðz; sÞg;
/ðx; sÞ ¼ 2RefBs ðsÞf s ðz; sÞg;
ð12:4aÞ
where 8^ 9 > = < u1 > ^ u ¼ ^u2 ; > ; :^ > u3
^
^
/¼
8^ 9 > > > > > = < /1 > ^
/2 > > > > > ; :^ > /3
;
As ðsÞ ¼ ½ as1 ðsÞ
as2 ðsÞ
zk ¼ x1 þ lsk x2 ;
k ¼ 1; 2; 3:
9 8 s > = < f1 ðz1 ; sÞ > f s ðz; sÞ ¼ f2s ðz2 ; sÞ ; > > ; : s f3 ðz3 ; sÞ
as3 ðsÞ ;
Bs ðsÞ ¼ ½ bs1 ðsÞ
bs2 ðsÞ
ð12:4bÞ bs3 ðsÞ;
^
^
u and / are the displacement and stress function vectors in the Laplace domain, respectively, and /i is related to the stresses in the Laplace domain by ^
^
ri1 ¼ /i;2 ;
^
^
ri2 ¼ /i;1 :
ð12:5Þ
f s ðz; sÞ is a function vector composed of three holomorphic complex functions fas ðza ; sÞ; a ¼ 1; 2; 3, that will be determined through the satisfaction of the boundary conditions. lsa and ðasa ; bsa Þ are the material eigenvalues and eigenvectors, which can ^
be determined by the eigenrelation shown in (2.8) with Cijkl replaced by sC ijkl ðsÞ. The subscript or superscript s denotes the value in the Laplace domain.
12.1.2 Material Eigenvalues and Eigenvectors—visco From the general solutions derived in (12.4a, 12.4b) for the Laplace domain, we see that the material eigenvalues, lsa , and the material eigenvector matrices, As ðsÞ and Bs ðsÞ, play important roles in the Stroh formalism for linear anisotropic viscoelasticity. These parameters can be determined from the eigenrelation presented in (2.8). Like two-dimensional linear anisotropic elasticity, an alternative approach for calculating the material eigenvalues and eigenvectors can be found from the explicit expressions obtained by the Lekhnitskii formalism (see Sect. 2.4.2). From the explicit expressions shown in (2.88)–(2.90), we see that the material eigenvalues and their associated eigenvectors are directly related to the reduced elastic ^ ^ij with sSr ðsÞ can make these expressions compliances S^ij . Through the correspondence principle, simply replacing S ij
applicable to linear anisotropic viscoelastic materials. That is, for linear anisotropic viscoelastic materials, the material eigenvalues can be determined from the following characteristic equation
12.1
Linear Anisotropic Viscoelasticity
291
l2 ðlÞl4 ðlÞ l23 ðlÞ ¼ 0;
ð12:6aÞ
where l3 ðlÞ ¼ l2 q1 þ q2 lq6 ;
l2 ðlÞ ¼ lq5 q4 ;
l4 ðlÞ ¼ l2 p1 þ p2 lp6 ;
ð12:6bÞ
and ^
^
^
pj ðlÞ ¼ s½l2 Srj1 þ Srj2 lSrj6 ;
^
^
qj ðlÞ ¼ s½lSrj5 Srj4 ;
j ¼ 1; 2; 4; 5; 6:
ð12:6cÞ
^
In (12.6c), Srij ; i; j ¼ 1; 2; 4; 5; 6, are defined by ^ ^
^
Srij ¼ Sij
^
Si3 S3j ^
;
ð12:7Þ
S33
^
where Sij is the contracted notation of the Laplace transform of the elastic compliance tensor, Sijkl ðtÞ, which are also known as the creep functions. The constitutive law of linear anisotropic viscoelastic materials can be written in terms of the creep functions as Zt eij ðx; tÞ ¼ Sijkl ðtÞrkl ðx; 0Þ þ
Sijkl ðt sÞ 0
@rkl ðx; sÞ ds: @s
ð12:8Þ
The material eigenvector matrices, As and Bs, of (12.4a, 12.4b) can then be determined directly through (2.89) with ^Sij ^
replaced by sSrij ðsÞ. Note that the above formulations apply to the cases of generalized plane strain. For the problems of ^
^
generalized plane stress, the transformed elastic stiffnesses C ij , and the reduced transformed elastic compliances Srij , should ^
^
be replaced by the reduced transformed elastic stiffnesses Crij , and the transformed elastic compliances Sij , respectively. The solutions presented in (12.4a, 12.4b) are applicable for the general anisotropic viscoelastic materials. To use these solutions, the relaxation function Cijkl ðtÞ describing the material behavior should be given. In the literature several mechanical models have been proposed to describe the viscoelastic materials, such as Maxwell model, Kelvin-Voigt model, standard linear model, generalized Maxwell model, and generalized Voigt model, etc. (Fung 1965; Christensen 1982). To cover most of the mechanical models, the relaxation function is usually expressed by Prony series as (Bower 2010; Ghoreishy 2012) ( ) n X Cij ðtÞ ¼ Cij0 q þ qk et=xk ; i; j ¼ 1; 2; 3; 4; 5; 6; ð12:9Þ k¼1
where Cij ðtÞ is the contracted notation of the fourth order elastic tensor Cijkl ðtÞ; Cij0 is the elastic stiffness at the initial state, q; q1 ; q2 ; . . .; qn are the coefficients reflecting the ratio of stiffness, and x1 ; x2 ; . . .; xn are the parameters denoting the relaxation time that determines the rate of decay. Consider the initial and final state with t ¼ 0 and t ¼ 1, the following restriction should be satisfied Cij1 ¼ qCij0 ;
qþ
n X
qk ¼ 1;
where
0\q\1;
and 0\qk \1:
k¼1
Based upon the Prony series of (12.9), two commonly used viscoelastic materials are considered as follows.
ð12:10Þ
292
12
Viscoelastic Materials
Standard linear viscoelastic solids The standard linear viscoelastic solid is a mechanical model whose relaxation functions can be written in the following form Cij ðtÞ ¼ Cij1 þ ðCij0 Cij1 )et=x ;
i; j ¼ 1; 2; 3; 4; 5; 6;
ð12:11Þ
where Cij0 and Cij1 are the elastic stiffnesses at the initial and final states, respectively, and the parameter x is the relaxation time that determines the rate of decay. Due to the relaxation effect, we may let Cij1 ¼ qCij0 ;
0\q\1:
ð12:12Þ
By substituting (12.12) into (12.11) and taking the Laplace transform, we obtain ^
Cij ¼
q þ xs 0 C ; sð1 þ xsÞ ij
ð12:13aÞ
or in matrix form ^
C¼
1 s2 kðsÞ
C0 ;
where
kðsÞ ¼
1 þ xs : sðq þ xsÞ
ð12:13bÞ
By taking the Laplace transform of (12.1)1 and (12.8) and multiplying their results, we obtain ^^
^^
s2 CS ¼ I ¼ s2 SC; ^
ð12:14Þ
^
where S is the matrix form of Sij and I is a 6 6 identity matrix. Using relations (12.13b) and (12.14) together with the ^
definition provided in (12.7) for the reduced transformed compliances Srij , we now obtain ^
Srij ¼ kðsÞSr0 ij ;
ð12:15aÞ
where Sr0 ij are the reduced elastic compliances at the initial state, i.e., 0 Sr0 ij ¼ Sij
S0i3 S03j S033
:
ð12:15bÞ
With the results of (12.15a, 12.15b), the characteristic Equations (12.6a–12.6c) becomes s2 k2 ðsÞ½l02 ðlÞl04 ðlÞ ðl03 ðlÞÞ2 ¼ 0;
ð12:16Þ
which reveals that the material eigenvalues in the Laplace domain, l, are independent of the transform variable s. With (12.15a, 12.15b), the material eigenvector matrices As ðsÞ and Bs ðsÞ can also be demonstrated to be related to the initial values A0 and B0 by pffiffiffiffiffiffiffiffiffiffi pffiffiffiffiffiffiffiffiffiffi As ðsÞ ¼ skðsÞA0 ; Bs ðsÞ ¼ B0 = skðsÞ: ð12:17Þ Isotropic linear viscoelastic solids Consider an isotropic linear viscoelastic solid whose relaxation functions can 2 kðtÞ þ 2GðtÞ kðtÞ kðtÞ 6 kðtÞ kðtÞ þ 2GðtÞ kðtÞ 6 6 kðtÞ kðtÞ kðtÞ þ 2GðtÞ Cij ðtÞ ¼ 6 6 0 0 0 6 4 0 0 0 0 0 0
be written in the following matrix form 3 0 0 0 0 0 0 7 7 0 0 0 7 7; ð12:18Þ GðtÞ 0 0 7 7 0 GðtÞ 0 5 0 0 GðtÞ
12.1
Linear Anisotropic Viscoelasticity
293
where kðtÞ and GðtÞ are the Lame constants, and GðtÞ is usually called the shear modulus. With the material properties given ^
in (12.18), it can be shown that the reduced transformed compliances Srij are related by ^
^
^
^
^
Sr11 ¼ Sr22 ¼ ð2Sr12 þ Sr66 Þ=2;
^
^
^
^
Sr12 ¼ Sr21 ; Sr44 ¼ Sr55 ¼ Sr66 ;
^
all other
Srij ¼ 0:
ð12:19Þ
With the relations (12.19), the characteristic Equations (12.6a–12.6c) becomes ^
^
s2 Sr11 Sr44 ðl2 þ 1Þ3 ¼ 0;
ð12:20Þ
which shows that the material eigenvalues are the repeated roots of l ¼ i:
ð12:21Þ
That is, the material eigenvalues of isotropic linear viscoelastic solids are independent of the transform variable s. Because the material eigenvalues are repeated and a sufficient number of independent material eigenvectors cannot be found for this degenerate case, the material eigenvector matrices As and Bs do not exist. To employ the Stroh formalism to the degenerate cases, which is constructed under the assumption that all material eigenvalues are distinct, a small perturbation can be made on the material properties of isotropic viscoelastic solids. For example, if the material properties are perturbed such that ^
^
Sr22 ¼ ð1 e2 ÞSr11 ;
e: a small positive number
by following the method stated previously in this section, we obtain pffiffiffiffiffiffiffiffiffiffiffi pffiffiffiffiffiffiffiffiffiffi l1 ¼ i 1 þ e; l2 ¼ i 1 e;
ð12:22Þ
l3 ¼ i;
ð12:23aÞ
and 2
^
½ð1 þ eÞ þ cc1 sSr11 6 pffiffiffiffiffiffiffiffiffiffi ^ 6 As ¼ 6 ið1 e cÞ 1 þ ec1 sSr11 4 2
pffiffiffiffiffiffiffiffiffiffi i 1 þ ec1 6 Bs ¼ 4 c1 0
0
pffiffiffiffiffiffiffiffiffiffiffi i 1 ec2 c2 0
^
3
½ð1 eÞ þ cc2 sSr11 pffiffiffiffiffiffiffiffiffiffiffi ^ ið1 þ e cÞ 1 ec2 sSr11
0
0
ic3 sSr44
3 0 7 0 5;
7 7 7; 5
0 ^
ð12:23bÞ
c3
where ^
Sr c ¼ ^12 ; Sr11
c21 ¼
i pffiffiffiffiffiffiffiffiffiffi ^r ; 4e 1 þ esS11
c22 ¼
i pffiffiffiffiffiffiffiffiffiffiffi ^r ; 4e 1 esS11
c23 ¼
i ^
2sSr11
:
ð12:23cÞ
To more clearly demonstrate the behavior of isotropic linear viscoelastic solids, two common cases are considered below. The first case employs a constant bulk modulus, whereas the other employs a constant Poisson’s ratio. Note that these two cases are too simple to reflect the actual mechanical behavior of viscoelastic solids. The former is based on the assumption of elastic behavior in dilatation, and the latter is based on the assumption of synchronous shear and bulk moduli. Several studies have revealed that these assumptions can significantly influence the obtained results. However, gathering accurate time dependent data for viscoelastic properties is difficult and time consuming, and accurately representing the viscoelastic materials is not the primary subject of this chapter. Therefore, for the convenience of the following discussions, these two common assumptions are still considered as special cases of isotropic viscoelastic materials.
294
12
Viscoelastic Materials
(i) jðtÞ ¼ constant Consider the case of an isotropic medium characterized by the shear and bulk relaxation functions GðtÞ and jðtÞ. If the bulk modulus j is a constant and the shear modulus G follows the function form given in (12.11), i.e., jðtÞ ¼ constant, GðtÞ ¼ G1 þ ðG0 G1 )et=x ;
ð12:24Þ
and G1 ¼ qG0 , with the known relation 2 kðtÞ ¼ jðtÞ GðtÞ; 3
ð12:25Þ
it can easily be shown that the elastic stiffness (12.18) will not satisfy the requirement set in (12.11) and (12.12) for standard linear viscoelastic solids because the ratio q for each component of Cij may be different for this case. Thus, the relations obtained in (12.12)–(12.17) should all be re-derived. By following the same method described in (12.12)–(12.17) for this type of isotropic linear viscoelastic solid, we obtain ^ ^ ^ ^ kðsÞ 3G0 kðsÞ 3G0 r r r r S11 ¼ S22 ¼ 1þ 0 1 þ 0 ; S12 ¼ S21 ¼ ; 4G0 4G0 G þ 3jskðsÞ G þ 3jskðsÞ ð12:26Þ ^ ^ ^ ^ kðsÞ r r r r S44 ¼ S55 ¼ S66 ¼ 0 ; all other Sij ¼ 0: G Substituting (12.26) into (12.23a–12.23c), one can obtain the material eigenvalues lsa and the material eigenvector matrices As ; Bs in the Laplace domain. Note that the final results of As and Bs cannot be written by the relations (12.17) for general standard linear viscoelastic solids because the requirement (12.11) is not satisfied for this type of isotropic linear viscoelastic solid. (ii) mðtÞ ¼ constant Consider an isotropic linear viscoelastic solid whose Poisson’s ratio m and shear modulus G are mðtÞ ¼ constant,
GðtÞ ¼ G1 þ ðG0 G1 )et=x ;
G1 ¼ qG0 :
ð12:27Þ
It is known that the Lame constant kðtÞ is related to Poisson’s ratio mðtÞ and shear modulus GðtÞ by kðtÞ ¼
2GðtÞmðtÞ : 1 2mðtÞ
ð12:28Þ
By substituting (12.28) into (12.18) and using (12.27), it can be shown that the elastic stiffness (12.18) will satisfy the requirement (12.11) for standard linear viscoelastic solids and all of the relations given in (12.12)–(12.17) will be valid for ^
this type of isotropic linear viscoelastic solid. With (12.27), the reduced transformed elastic compliances Srij are obtained as ^
^
^
^
^ ^ 1m m kðsÞ; Sr12 ¼ Sr21 ¼ kðsÞ; 0 2G 2G0 ^ ^ kðsÞ ¼ Sr66 ¼ 0 ; all other Srij ¼ 0: G
Sr11 ¼ Sr22 ¼ Sr44 ¼ Sr55
Substituting (12.29) into (12.23a–12.23c), we obtain 2 3 pffiffiffiffiffiffiffiffiffiffi e1 ð1 mÞ½ð1 þ eÞ þ c e2 ð1 mÞ½ð1 eÞ þ c 0 pffiffiffiffiffiffiffiffiffiffiffi pffiffiffiffiffiffiffiffiffiffi skðsÞ 6 7 As ¼ 0 5; 4 ie1 ð1 mÞð1 e cÞ 1 þ e ie2 ð1 mÞð1 þ e cÞ 1 e 2G0 0 0 2ie3 2 3 pffiffiffiffiffiffiffiffiffiffiffi pffiffiffiffiffiffiffiffiffiffi ie1 1 þ e ie2 1 e 0 1 6 7 Bs ¼ pffiffiffiffiffiffiffiffiffiffi 4 e1 e2 0 5; skðsÞ 0 0 e3
ð12:29Þ
ð12:30aÞ
12.1
Linear Anisotropic Viscoelasticity
295
where sffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi iG0 pffiffiffiffiffiffiffiffiffiffi; e1 ¼ 2ð1 mÞe 1 þ e
sffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi iG0 pffiffiffiffiffiffiffiffiffiffiffi; e2 ¼ 2ð1 mÞe 1 e
rffiffiffiffiffiffiffi iG0 e3 ¼ : 2
ð12:30bÞ
The explicit expressions of As and Bs obtained in (12.30a, 12.30b) are in the form of (12.17) for general standard linear viscoelastic solids. ^
^
According to the correspondence principle stated in this section, a function visco calculating sC ij and sSij from the input of viscoelastic properties is designed and presented in F203 of Appendix F.
12.1.3 Numerical Inversion of the Laplace Transform—Laplace_inv ^
^
^
After getting the displacements ui , stress functions /i and stresses rij in the Laplace transform domain from (12.4a, 12.4b) and (12.5), their associated solutions in real time domain can be determined by numerical inversion of Laplace transform. To see how to perform the Laplace inversion numerically, Schapery’s collocation method (Schapery 1962), which is the most common technique employed to deal with viscoelastic problems, is stated briefly in this section. If a function f ðtÞ is represented approximately by f ðtÞ ¼ A þ B t þ
n X
ak ebk t ;
ð12:31Þ
k¼1
where A, B, ak and bk are constant in time and n is an arbitrary number of terms in the exponential series, the Laplace transform of (12.31) gives ^
sf ðsÞ ¼ A þ
n B X ak s þ : s s þ bk k¼1
ð12:32Þ
If the function values in the Laplace domain are calculated for a sequence of values s ¼ s1 ; s2 ; . . .; sn þ 2 , and the powers of the exponential function in (12.31), bk are assumed equal to sk , then a system of n þ 2 linear algebraic equations can be set to solve the n þ 2 unknown constants A, B, and ak ; k ¼ 1; 2; . . .; n. The function values in the time domain can therefore be calculated from (12.31). In the computer code, the values of sk are selected as sk ¼ 10612ði1Þ=ðn þ 1Þ ; i ¼ 1; 2; . . .; n þ 2;
ð12:33Þ
which will range sk from 106 to 106 . Based upon the inversion technique stated in this section, a function Laplace_inv is designed and presented in F070 of Appendix F.
12.2
Linear Anisotropic Thermo-Viscoelasticity
Since the creep or relaxation responses of most viscoelastic materials depend strongly on temperature, to reflect the temperature effects the time-dependent properties should be modified as Cijkl ðtÞ ¼ Cijkl ðt; TÞ;
bij ðtÞ ¼ bij ðt; TÞ;
kij ðtÞ ¼ kij ðt; TÞ:
ð12:34Þ
If we consider a thermorheologically simple material whose temperature change results in a horizontal shift of the viscoelastic function (creep or relaxation) when plotted versus log time, the first two equations of (12.34) can be further written as Cijkl ðt; TÞ ¼ Cijkl ðn; T0 Þ;
bij ðt; TÞ ¼ bij ðn; T0 Þ;
ð12:35aÞ
296
12
Viscoelastic Materials
where T0 is the reference temperature and n is the reduced time defined by Zt aT ðTðsÞÞds;
n¼
aT ðTÞ: shift factor:
ð12:35bÞ
0
For example, the relaxation function expressed by the Prony series (12.9) can now be written as ( ) n X Cij ðtÞ ¼ Cij ðt; TÞ ¼ Cij ðn; T0 Þ ¼ Cij0 q þ qk en=xk :
ð12:36Þ
k¼1
With the material properties written in the form of (12.35a, 12.35b), the displacements, strains, and stresses can be expressed as ui ðx; tÞ ¼ ui ðx; nÞ;
eij ðx; tÞ ¼ eij ðx; nÞ;
rij ðx; tÞ ¼ rij ðx; nÞ;
ð12:37aÞ
where n ¼ nðx; tÞ;
if
T ¼ Tðx; tÞ:
ð12:37bÞ
From (12.37b) we see that the reduced time n will also depend on the spatial variable x if the temperature is space dependent. Thus, if we use the reduced time to express the material properties like those shown in (12.35a, 12.35b) and (12.36), the equations related to the differentiation of spatial variables xj should all be modified as @f @f @f @n ! þ ; @xi @xi @n @xi
if f ¼ f ðx; nÞ:
ð12:38Þ
With the understanding of (12.38), like the extension from elastic to viscoelastic made in (12.1), we can now write the basic equations of anisotropic thermo-viscoelasticity by extending (2.24) to hi ¼ kij dT;j ; hi;i þ h_ i n;i ¼ 0; 1 eij ¼ ðui;j þ uj;i þ u_ i n;j þ u_ j n;i Þ; 2
rij ¼ Cijkl dekl bij dT; rij;j þ r_ ij n;j ¼ 0;
i; j; k; l ¼ 1; 2; 3;
ð12:39Þ
where the operator denotes the Stieltjes convolution which has been defined in (12.2) for Cijkl dekl , and the overdot _ denotes the differentiation with respect to the reduced time, e.g., u_ i ¼ @ui =@n and r_ ij ¼ @rij =@n. Taking the Laplace transform of (12.39) with respect to the reduced time n yields ^
^
hi;i ðsÞ þ L h_ i n;i ¼ 0;
^
^
hi ðsÞ ¼ sk ij ðsÞT ;j ðsÞ; ^
^
^
^
^
rij ðsÞ ¼ sC ijkl ðsÞe kl ðsÞ sbij ðsÞT ðsÞ; o 1 1 n^ ^ ^ ui;j ðsÞ þ uj;i ðsÞ þ L u_ i n;j þ u_ j n;i ; e ij ðsÞ ¼ 2 2 ^ rij;j ðsÞ þ L r_ ij n;j ¼ 0; i; j; k; l ¼ 1; 2; 3:
ð12:40Þ
Apparently, the equations of (12.40) are different from the basic equations (2.24) of linear anisotropic thermoelasticity by the additional terms of L{…}. And hence, the general problems of anisotropic thermo-viscoelasticity cannot be solved by simply use of the correspondence principle. The only case that the correspondence principle can be employed is when the temperature field is spatially uniform but time dependent, i.e., T ¼ TðtÞ. In this situation, n ¼ nðtÞ, n;i ¼ 0 and all the additional terms of L{…} in (12.40) disappear. Equation (12.40) can then be specialized to ^
^
^
^
^
^
hi ðsÞ ¼ 0; rij ðsÞ ¼ sC ijkl ðsÞe kl ðsÞ sbij ðsÞT ðsÞ; o 1 n^ ^ ^ ^ ui;j ðsÞ þ uj;i ðsÞ ; rij;j ðsÞ ¼ 0; i; j; k; l ¼ 1; 2; 3; e ij ðsÞ ¼ 2
ð12:41Þ
12.2
Linear Anisotropic Thermo-Viscoelasticity
297
which can also be written as ^
^
^
rij ðsÞ ¼ sC ijkl ðsÞe kl ðsÞ; ^
rij;j ðsÞ ¼ 0;
^
e ij ðsÞ ¼
o 1 n^ ^ ui;j ðsÞ þ uj;i ðsÞ ; 2
ð12:42aÞ
i; j; k; l ¼ 1; 2; 3;
where ^
^
^
^
rij ðsÞ ¼ rij ðsÞ þ sbij ðsÞT ðsÞ:
ð12:42bÞ
The mathematical forms of (12.42a) are identical to the basic equations (2.1) of linear anisotropic elasticity with ui ; eij ; rij , ^
^
^
^
and Cijkl replaced by ui ;e ij ; rij , and sC ijkl . Thus, the correspondence principle stated for elasticity and viscoelasticity can also be applied to the cases of thermoviscoelasticity when the temperature field is spatially uniform. By referring to the solution (2.6) for elasticity, the general solution satisfying the system of partial differential equations (12.41) can now be written as ^
uðx; sÞ ¼ 2RefAs ðsÞf s ðz; sÞg; ^
^
/ðx; sÞ ¼ 2RefBs ðsÞf s ðz; sÞg /T ðx; sÞ;
ð12:43aÞ
where n ^ o ^ ^ /T ðx; sÞ ¼ sT ðsÞ x1 b 2 ðsÞ x2 b 1 ðsÞ ; 9 9 8^ 8^ > > > > ðsÞ ðsÞ b b > > > > 11 21 > > > > > > > > = ^ = < < ^ ^ ^ b 1 ðsÞ ¼ b12 ðsÞ ; b 2 ðsÞ ¼ b22 ðsÞ : > > > > > > > > > > > > > > > > ; ; :^ :^ b13 ðsÞ b23 ðsÞ ^
ð12:43bÞ
Like the isothermal problems, after getting the solutions in Laplace domain, the solutions in the reduced time domain can be obtained by the Laplace inversion stated in Sect. 12.1.3. The time variable used in (12.31) should now be replaced by the reduced time, i.e., f ðtÞ ¼ A þ B n þ
n X
ak ebk n :
ð12:44Þ
k¼1
The solutions in the real time domain can then be obtained by using the relation of (12.35b).
12.3
Problems with Viscoelastic Materials—s1221visco, visco_load
Since the Stroh formalism in Laplace domain is exactly the same as that of anisotropic elastic materials, if the boundary of a viscoelastic body is invariant with time, the correspondence principle is generally employed to obtain the viscoelastic solutions from the corresponding elastic solutions. With this understanding, the solutions of the complex function vector f s ðzÞ in the Laplace domain will be exactly the same as those of anisotropic elastic problems except that thier associated time-independent constant load needs to be divided by the Laplace transformed variable s because Lfq0 HðtÞg ¼
q0 ; s
ð12:45Þ
where H(t) is a Heaviside step function and q0 is time-independent constant load. Thus, the computer codes presented in the previous chapters can all be employed for the corresponding problems with viscoelastic materials. The only extra works for viscoelastic problems are the input for viscoelastic materials by function visco, load conversion by function visco_load, and the numerical inversion of the Laplace transform by function Laplace_inv.
298
12
Viscoelastic Materials
If the orders of stress singularity and stress intensity factors are required in the problems such as multi-material wedges, interface corners, or contact problems, we may employ the computer codes designed in Sects. 5.3.3 and 5.4.3 for their calculation in the Laplace domain. Then use the following correspondence relations (Kuo and Hwu 2013) to obtain their values in time domain ^
sda ¼ dsa ;
^
k ¼ ks ;
ð12:46Þ
where dsa and ks are the singular orders and stress intensity factors in the Laplace domain, and da and k are the singular orders and stress intensity factors in time domain. In other words, the singular orders da and the stress intensity factor k in time domain can be calculated from dsa and ks via Laplace inversion as da ðtÞ ¼ L1 dsa =s ; kðtÞ ¼ L1 fks ðsÞg: ð12:47Þ According to the above description, to deal with the problems with viscoelastic materials a function s1221visco is designed and presented in F181 of Appendix F. The input file for load and structure information is input_loadstr, which is constructed by adding Ltype (named as VLtype in function s1221visco) in front of the other information required in the corresponding anisotropic elastic problem. From the computer code shown in F181 of Appendix, we see that to implement the function s1221visco the load should be transformed to the values in the Laplace domain. And hence, function visco_load is designed and presented in F204 of Appendix F.
12.4
Examples
12.4.1 Holes, Cracks and Inclusions Example 1: An Elliptical Hole Consider the hole problem discussed in Example 1 of Sect. 6.4.1. The material of the plate is replaced by an isotropic linear viscoelastic material whose properties are described by (12.27) with m ¼ 0:3; G0 ¼ 5:81 GPa; q ¼ 0:4561; x ¼ 10 s. The number of variable s used in Laplace domain for viscoelastic analysis is selected to be 20. Consider the time period 1 t 30 (unit: sec) with time step 0.5 s. Print the results of space variation for t ¼ 10; 12; 13; 21, and time variation for (x, y) = (0.0172, −0.0051), (0.0193, 0.0026), (0.014, 0.0071), (0.02, 0) (unit: m). If all the other conditions remain the same as those of Example 1 of Sect. 6.4.1, to solve this problem we need to prepare the following four input files. input_control.txt: 1 2 1221 11 1 1.0e9 1.0e−3 1.0e−6; 0 0 0 2 input_visco1.txt: 20 1 5.81e9 0.3; 0.5439; 10 input_ loadstr.txt: 611 0.02 0.01 2 1.0e8 1.0e8 input_variable.txt: 3 0 0 0.02 0.01 0 360 72 0; 1 30 0.5; 4 4; 10 12 13 21; 0.0172 −0.0051; 0.0193 0.0026; 0.0140 0.0071; 0.02 0 Note that to avoid printing too many tables and figures for the problems related to time/space variation, only the results for the selected time and position are printed. To see the results of the other time or position, one may set Ltype = 100 and get the related tables and figures immediately. For example, to see the results for t ¼ t0 þ ði 1ÞDt; i ¼ 10; 25, and ðx; yÞ ¼ ða cos w; b sin wÞ; w ¼ w0 þ ðk 1ÞDw, k ¼ 1; 13; 25; 64, here t0 ¼ 1; Dt ¼ 0:5, w0 ¼ 0 ; Dw ¼ 360 =71, we need to prepare the following two input files. input_control.txt: 1 2 100 11 1 1.0e9 1.0e−3 1.0e−6; 0 0 0 2 input_variable.txt:2 4; 10 25; 1 13 25 64
12.4
Examples
299
Example 2: A Polygon-Like Hole All conditions are the same as Example 1 except that the elliptical hole is replaced by a polygon-like hole with a ¼ 0:02; c ¼ 1; e ¼ 0:1; k ¼ 3 (see Eq. (6.39)). If the selected time and position for printing are t ¼ 10; 11; 12, and (x, y) = (0.02, 0), to solve the problem one should prepare the following four input files. input_control.txt: 1 2 1221 11 1 1.0e9 1.0e−3 1.0e−6; 0 0 0 2 input_visco1.txt: 20 1 5.81e9 0.3; 0.5439; 10 input_ loadstr.txt: 622 0.02 1 0.1 3 2 1.0e8 1.0e8 input_variable.txt: 4 0 0 0.02 1 0.1 3 0 360 72 0; 1 30 0.5; 3 1; 10 11 12; 0.022 0 Example 3: A Finite Straight Crack Consider the crack problem discussed in Example 1 of Sect. 7.5.2 with the viscoelastic material used in Example 1 of the present section. The number of variable s used in Laplace domain for viscoelastic analysis is selected to be 20. Consider the time period 0 t 20 (unit: sec) with time step 1 sec. Print the results of space variation for t ¼ 5; 10; 15, and time variation for (x, y) = (0.015, 0), (0.02, 0), (0, 0.01), (0, 0.015) (unit: m). If all the other conditions remain the same as those of Example 1 of Sect. 7.5.2, to solve this problem we need to prepare the following four input files. input_control.txt: 1 2 1221 2 1 1e9 0.001 1e−6; 0 0 0 2 input_visco1.txt: 20 1 5.81e9 0.3; 0.5439; 10 input_ loadstr.txt: 721 0.01 0 1 30e6 90 input_variable.txt: 1 −0.1 −0.1 0.1 0.1 20 20 0; 0 20 1; 3 4; 5 10 15; 0.015 0; 0.02 0; 0 0.01; 0 0.015 If we want to see the results for t ¼ t0 þ ði 1ÞDt; i ¼ 6; 11, and ðx; yÞ ¼ ðx0 þ ðj 1ÞDx; y0 þ ðk 1ÞDyÞ, (j, k) = (12, 10), (13, 10), (14, 10), (15, 10), where t0 ¼ 0; Dt ¼ 1;ðx0 ; y0 Þ ¼ ð0:1; 0:1Þ; ðDx; DyÞ ¼ 0:2=19, we need to prepare the following two input files. input_control.txt: 1 2 100 2 1 1e9 0.001 1e−6; 0 0 0 2 input_variable.txt: 2 4; 6 11; 12 13 14 15; 10 10 10 10 Example 4: Two Collinear Cracks Two collinear cracks, the load and the points to be evaluated are arranged to be the same as Example 1 of Sect. 7.5.3. The material of the plate and the time period as well as the selected time and position are the same as the previous Example. Under this condition, to solve this problem we need to prepare the following four input files. input_control: 1 2 1221 1 1 1e9 0.001 1e−6; 0 0 0 2 input_visco1.txt: 20 1 5.81e9 0.3; 0.5439; 10 input_loadstr: 732 −0.04 −0.03 0.05 0.06 1 10e6 90 input_variable: 1 1 −0.1 0 0.1 0 100; 0 20 1; 3 4; 5 10 15; 0.015 0; 0.02 0; 0 0.01; 0 0.015 Example 5: An Interface Crack The interface crack, the load and the points to be evaluated are arranged to be the same as Example 3 of Sect. 7.5.4. The material above the interface is the same as the one given in Example 1 of the present section, whereas the material below the interface is an isotropic linear viscoelastic material whose properties are described by (12.27) with m ¼ 0:25; G0 ¼ 2 GPa; q ¼ 0:3335; x ¼ 1=3 sec. The time period as well as the selected time and position are the same as Example 3. Under this condition, to solve this problem we need to prepare the following five input files. input_control: 2 2 1221 1 1 1.0e9 0.001 1.0e−6; 0 0 0 2; 0 0 0 2 input_visco1: 20 1 5.81e9 0.3; 0.5439; 10 input_visco2: 20 1 2e9 0.25; 0.6665; 0.3333
300
12
Viscoelastic Materials
input_loadstr: 7431 0.01 5e−3 100 0 30e6 0 input_variable: 1 1 −0.1 0 0.1 0 100; 0 20 1; 3 4; 5 10 15; 0.015 0; 0.02 0; 0 0.01; 0 0.015 Example 6: An Elliptical Viscoelastic Inclusion in the Viscoelastic Matrix Consider the inclusion problem discussed in Example 1 of Sect. 8.6.1. The geometry of the inclusion, the load and the points to be evaluated are arranged to be the same as that example. Both of the matrix and inclusion are considered to be isotropic linear viscoelastic materials, whose properties are provided, respectively, through input_visco1 and input_visco2 of Example 5 of the present section. Consider the time variation between 0 t 10 (unit: sec) with time step 1 s. Print the results of space variation for t ¼ 0; 5; 10, and time variation for (x, y) = (2, 0), (0, 1) (unit: m). To solve this problem, we need to prepare the following five input files. input_control: 2 2 1221 12 1 1.0e9 0.001 1.0e−6; 0 0 0 2; 0 0 0 2 input_visco1: 20 1 5.81e9 0.3; 0.5439; 10 input_visco2: 20 1 2e9 0.25; 0.6665; 0.3333 input_loadstr: 811 2 1 2 1000 1000 input_variable: 3 0 0 2 1 0 360 60 0; 0 10 1; 3 2; 0 5 10; 2 0; 0 1 Example 7: A Polygon-Like Rigid Inclusion in the Viscoelastic Matrix Consider the problem of rigid inclusion discussed in Example 3 of Sect. 8.6.2. The geometry of the inclusion, the load and the points to be evaluated are arranged to be the same as that example. The material of the matrix is the same as Example 1 of the present Section. The time period is the same as Example 6. To print the results of space variation for t ¼ 0; 5; 10, and time variation for (x, y) = (1.1, 0) (unit: m), we need to prepare the following four input files. input_control: 1 2 1221 12 1 1.0e9 0.001 1.0e−6; 0 0 0 2 input_visco1: 20 1 5.81e9 0.3; 0.5439; 10 input_loadstr: 823 1 1 0.1 3 2 1000 1000 input_variable: 4 0 0 1 1 0.1 3 0 360 60 0; 0 10 1; 3 1; 0 5 10; 1.1 0
12.4.2 Wedges and Interface Corners Example 1: A Single Wedge Subjected to Uniform Traction on the Wedge Sides Consider the single wedge discussed in Example 1 of Sect. 5.6.1. The geometry, the load and the points to be evaluated are arranged to be the same as that example. The material of the wedge is the same as Example 1 of Sect. 12.4.1. Calculate the time variation between 0 t 10 (unit: sec) with time step 1 s. Print the results of space variation for t ¼ 0; 5; 10, and time variation for (x, y) = (−1, 0) (unit: m). To solve this problem, we need to prepare the following four input files. input_control: 1 1 1221 1 1 1e9 0.001 1.0e−6; 0 0 0 2 input_visco1: 20 1 5.81e9 0.3; 0.5439; 10 input_loadstr: 512 15 345 0 1e9 0 0 −1e9 0 input_variable: 2 0 0 1 15 345 11; 0 10 1; 3 1; 0 5 10; −1 0 Example 2: Singular Orders of a Bi-wedge Consider the bi-wedge discussed in Example 3 of Sect. 5.6.2. Wedge 1 and wedge 2 are made by the isotropic linear viscoelastic materials whose properties are provided, respectively, through input_visco1 and input_visco2 of Example 5 of Sect. 12.4.1. The time period is the same as the previous example. To solve this problem and to print the results for t ¼ 0; 5; 10 (unit: sec), we need to prepare the following five input files.
12.4
Examples
301
input_control: 2 1 1221 0 1 1.0e9 0.001 1.0e−6; 0 0 0 2; 0 0 0 2 input_visco1: 20 1 5.81e9 0.3; 0.5439; 10 input_visco2: 20 1 2e9 0.25; 0.6665; 0.3333 input_loadstr: 533 3 −150 0 180; 10 0.001 0.1 0.2 1e−4 1e−6 20 input_variable.txt: 0 10 1; 3; 0 5 10 Example 3: Stress Intensity Factors of an Interface Corner Consider the interface corner discussed in Example 1 of Sect. 5.6.3. If the materials around the corner are replaced by the viscoelastic materials used in the previous example. To calculate the stress intensity factors for the time period 0 t 10 by path-independent H-integral, we need to prepare the following files. input_control: 2 1 1221 0 1 1.0e9 0.001 1.0e−6; 0 0 0 2; 0 0 0 2 input_visco1: 20 1 5.81e9 0.3; 0.5439; 10 input_visco2: 20 1 2e9 0.25; 0.6665; 0.3333 input_loadstr: 543 3 −150 0 180; 10 0.001 0.1 0.2 1e−4 1e−6 20; 2 32 0.0006 0.01 (Additional data of input_loadstr should be arranged as ½u1 ; u2 ; u3 ; r11 ; r22 ; r12 ; r13 ; r23 ; r33 for Htype = 2, which may be obtained from the other sources such as FEM or BEM. To save the space, these data are not listed here.) input_variable.txt: 0 10 1; 3; 0 5 10
12.4.3 Contact Problems Example 1: A Viscoelastic Half Plane Indented by a Rigid Flat-Ended Punch Consider the indentation problem discussed in Example 1 of Sect. 9.7.1. The punch, the load and the points to be evaluated are arranged to be the same as that example. The material of the half-plane is the same as Example 1 of Sect. 12.4.1. Calculate the time variation between 0 t 10 (unit: sec) with time step 0.5 s. Print the results of space variation for t ¼ 0; 5; 10, and time variation for (x, y) = (−0.02, 0), (−0.009, 0), (0, 0), (0.009, 0), (0.02, 0) (unit: m). To solve this problem, we need to prepare the following four input files. input_control: 1 1 1221 13 1 1e9 0.001 1.0e−6; 0 0 0 2 input_visco1: 20 1 5.81e9 0.3; 0.5439; 10 input_loadstr: 912 0.01 0 −1e6 0 input_variable: 1 1 −0.02 0 0.02 0 81; 0 10 0.5; 3 5; 0 5 10 −0.02 0; −0.009 0; 0 0; 0.009 0; 0.02 0 Example 2: An Elliptical Hole Indented by a Rigid Stamp Consider the indentation discussed in Example 1 of Sect. 9.7.2. The stamp, the hole geometry, the load and the points to be evaluated are arranged to be the same as that example. The material of the plate is the same as Example 1 of Sect. 12.4.1. The time period is the same as the previous example. To print the results of space variation for t ¼ 0; 5; 10 and time variation for (x, y) = (0.1, 0), (0, 0.06) (unit: m), we need to prepare the following four input files. input_control: 1 2 1221 2 1 1e9 0.001 1.0e−6; 0 0 0 2 input_visco1.txt: 20 1 5.81e9 0.3; 0.5439; 10 input_loadstr: 922 0.1 0.06 30 −1e6 0 0 input_variable: 5 −0.2 −0.2 0.2 0.2 21 21 0 0 0.1 0.6 0 0 0 16 0 10 0.5; 3 2; 0 5 10; 0.1 0; 0 0.06 Example 3: A Sliding Parabolic Punch Consider the sliding punch discussed in Example 2 of Sect. 9.7.4. The punch, the load and the points to be evaluated are arranged to be the same as that example. The material of the half-plane is the same as Example 1 of Sect. 12.4.1. The time period is the same as the previous example. To print the results of space variation for t ¼ 0; 5; 10 and time variation for (x, y) = (0, 0), (0, −0.02) (unit: m), we need to prepare the following five input files.
302
12
Viscoelastic Materials
input_control: 1 1 1221 2 1 1e9 0.001 1.0e−6; 0 0 0 2 input_visco1.txt: 20 1 5.81e9 0.3; 0.5439; 10 input_loadstr: 943 0.01 0.1 1.2e6 0.3e6 0.3 input_variable: 1 −0.03 −0.04 0.03 0 21 21 0; 0 10 0.5; 3 2; 0 5 10; 0 0; 0 −0.02
References Bower, A.F. 2010. Applied mechanics of solids. CRC Press, Taylor & Francis Group, LLC. Chen, Y.C., and C. Hwu. 2011. Boundary element analysis for viscoelastic solids containing interfaces/holes/cracks/inclusions. Engineering Analysis with Boundary Elements 35: 1010–1018. Christensen, R.M. 1982. Theory of viscoelasticity: An introduction, 2nd ed. New York: Academic Press. Fung, Y.C. 1965. Foundations of solid mechanics. Englewood Cliffs: Prentice-Hall. Ghoreishy, M.H.R. 2012. Determination of the parameters of the Prony series in hyper-viscoelastic material models using the finite element method. Materials & Design 35: 791–797. Hwu, C., and T.L. Kuo. 2013. Correspondence relations for fracture parameters of interface corners in anisotropic viscoelastic materials. Computers, Materials & Continua 36 (2): 135–153. Kuo, T.L., and C. Hwu. 2013. Interface corners in linear anisotropic viscoelastic materials. International Journal of Solids and Structures 50: 710– 724. Schapery, R.A. 1962. Approximate methods of transform inversion for viscoelastic stress analysis. In Proceedings of 4th U.S. National Congress on Applied Mechanics, 1075–1085.
13
Plate Bending Analysis
In Chaps. 4–12 the deformation of the anisotropic elastic plates is considered to be two-dimensional. If the plate will bend after the action of external force, the bending theory of anisotropic elastic plates described in Sect. 2.2 should be considered. In this theory, the plate is composed of the anisotropic elastic materials having one plane of elastic symmetry parallel to the middle plane and the plate thickness is small relative to the other dimensions. Based upon the theory of plate bending, the Stroh-like bending formalism was developed and introduced in Sect. 2.2.2. With the Stroh-like bending formalism, some analytical solutions and their associated computer codes for the anisotropic elastic plates with holes/cracks/inclusions subjected to out-of-plane bending moments are presented in this chapter.
13.1
Bending Theory of Anisotropic Plates
As stated in Sect. 2.2, if an anisotropic elastic thin plate subjected to transverse loads is considered (see Fig. 13.1), the equation governing the deflection of the plate can be expressed by (2.44), i.e., D11
@4w @4w @4w @4w @4w þ 4D16 3 þ 2ðD12 þ 2D66 Þ 2 2 þ 4D26 þ D22 4 ¼ q: 4 3 @x1 @x1 @x2 @x2 @x1 @x2 @x1 @x2
ð13:1Þ
To solve this partial differential equation, a complex variable Stroh-Like bending formalism is developed (Sect. 2.2.2) and the general solution can be written in matrix form as that shown in (2.51), i.e., b ¼ 2RefAfðzÞg;
w ¼ 2RefBfðzÞg;
ð13:2aÞ
where ( b¼
b1 b2
A ¼ ½a1
)
( ¼
a2 ;
w;1
)
( ;
w;2 B ¼ ½b1
w¼ b2 ;
w1 w2
(
) ;
fðzÞ ¼
z a ¼ x 1 þ la x 2 ;
f1 ðz1 Þ
)
f2 ðz2 Þ
;
ð13:2bÞ
a ¼ 1; 2:
In (13.2b), w1 and w2 are the stress functions related to bending moments Mij , transverse shear forces Qi and effective transverse shear forces Vi by M11 ¼ w1;2 ; Q1 ¼ g;2 ;
M22 ¼ w2;1 ; Q2 ¼ g;1 ;
M12 ¼ ðw1;1 w2;2 Þ=2 ¼ M21 ;
V1 ¼ w2;22 ;
V2 ¼ w1;11 ;
g ¼ ðw1;1 þ w2;2 Þ=2:
ð13:3Þ
From (13.2a, 13.2b) and (13.3), we know that to get the complete information about the displacements, strains and stresses we need to calculate the integrals and derivatives of b and w. Let
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2021 C. Hwu, Anisotropic Elasticity with Matlab, Solid Mechanics and Its Applications 267, https://doi.org/10.1007/978-3-030-66676-7_13
303
304
13
Plate Bending Analysis
Fig. 13.1 Plate geometry, resultant forces and moments
f 0 ðzÞ ¼
f10 ðz1 Þ ; f20 ðz2 Þ
f 00 ðzÞ ¼
f100 ðz1 Þ ; f200 ðz2 Þ
~fðzÞ ¼
~f1 ðz1 Þ ~f2 ðz2 Þ ;
ð13:4aÞ
where fa0 ðza Þ ¼
dfa ðza Þ ; dza
fa00 ðza Þ ¼
d 2 fa ðza Þ ; dz2a
~fa ðza Þ ¼
According to the relations given in (13.2a, 13.2b) and (13.3), we have
Z fa ðza Þdza ;
a ¼ 1; 2.
ð13:4bÞ
13.1
Bending Theory of Anisotropic Plates
305
~ w ¼ 2Re Að1Þ~fðzÞ ¼ 2Re Að2Þ \l1 a [ fðzÞ ; @ 2 w @b j11 ¼ 2 ¼ 1 ¼ 2Re Að1Þ f 0 ðzÞ ; @x1 @x1 2 @ w @b j22 ¼ 2 ¼ 2 ¼ 2Re Að2Þ \la [ f 0 ðzÞ ; @x2 @x2 @2w @b @b j12 ¼ 2 ¼ 1 þ 2 ¼ 2Re ½Að1Þ \la [ þ Að2Þ f 0 ðzÞ ; @x1 @x2 @x2 @x1
ð13:5aÞ
@w1 @w2 ¼ 2Re Bð1Þ \la [ f 0 ðzÞ ; M22 ¼ ¼ 2Re Bð2Þ f 0 ðzÞ ; @x2 @x1 1 @w1 @w2 M12 ¼ M21 ¼ ¼ Re ½Bð1Þ Bð2Þ \la [ f 0 ðzÞ ; 2 @x1 @x2 1 @ @w1 @w2 þ Q1 ¼ ¼ Re ½Bð1Þ \la [ þ Bð2Þ \l2a [ f 00 ðzÞ ; 2 @x2 @x1 @x2 1 @ @w1 @w2 þ Q2 ¼ ¼ Re ½Bð1Þ þ Bð2Þ \la [ f 00 ðzÞ ; 2 @x1 @x1 @x2 2 @ w2 @ 2 w1 ¼ Re Bð2Þ \l2a [ f 00 ðzÞ ; V2 ¼ ¼ Re Bð1Þ f 00 ðzÞ : V1 ¼ 2 2 @x2 @x1
ð13:5bÞ
and M11 ¼
In (13.5a) and (13.5b), the symbols Að1Þ and Að2Þ are used to denote, respectively, the first and second row of the matrix A. Same definition is applied to Bð1Þ and Bð2Þ . Note that the relation for the deflection w of (13.5a) is obtained by the following simple operation Z @w @w @za @w b1 ¼ ¼ ¼ ) w ¼ b1 dza ; @x1 @za @x1 @za Z ð13:6aÞ @w @w @za @w b2 ¼ ¼ ¼ la ) w ¼ b2 l1 dz ; a a @x2 @za @x2 @za which can also be proved through the explicit expression of A shown in (2.97a), i.e., Að1Þ \la [ ¼ Að2Þ :
ð13:6bÞ
It has been shown that the Stroh-Like bending formalism can be reduced from the Stroh-like formalism for the coupled stretching-bending analysis introduced in Sect. 2.3. And hence, all the problems considered in this chapter can be calculated by using the associated functions stated later in Chap. 14 for the problems of coupled stretching-bending analysis. Thus, most of the functions for the plate bending analysis are designed by simply calling the related functions for coupled stretching-bending analysis, whose computer codes will be shown in the next chapter.
13.2
Holes/Inclusions/Cracks
13.2.1 Elliptical Holes—s1321EholeUB Consider an unbounded anisotropic elastic plate weakened by an elliptical hole subjected to out-of-plane bending moments 1 1 1 1 1 1 M11 ; M22 and twisting moment M12 at infinity (see Fig. 13.2 for M11 ; M22 6¼ 0; and M12 ¼ 0). There is no load around the edge of the elliptical hole. The solution to this problem has been found to be (Hsieh and Hwu 2002, 2003; Wu and Hsiao 2015; Hsu and Hwu 2021)
306
13
Plate Bending Analysis
n o ^1 ^1 1 b ¼ b1 Re A\f1 a [ B ðam2 ibm1 Þ ; n o ^1 ^1 1 [ B ðam ibm Þ ; w ¼ w1 Re B\f1 a 2 1
ð13:7aÞ
where 1 w1 ¼ x1 m1 2 x2 m1 ;
1 b1 ¼ x1 j1 1 þ x2 j2 ; 1
m1 ¼ m1 1 þ g0 i 2 ; ^
1
m2 ¼ m1 2 g0 i1 ; ^
ð13:7bÞ
and ( j1 1
¼ (
m1 1 ¼
j1 11
)
j1 12 1 M11 1 M12
( ¼
Tb m1 1
)
þ RTb m1 2 ;
( ;
m1 2 ¼
1 M12 1 M22
ka ¼ L1 ði1 kST i2 Þ;
) ;
j1 2
¼
j1 12
)
j1 22
1 ¼ Rb m1 1 Qb m2 ;
kT m1 kkTb m1 1 ; g0 ¼ a T2 ka i1 þ kkTb i2
kb ¼ L1 ðST i1 þ ki2 Þ;
k ¼ b=a:
ð13:7cÞ
ð13:7dÞ
In (13.7a), fa is the transformed variable for the elliptical hole, which is related to za by (6.4) or by (6.40) with e ¼ 0, and za ¼ ca ðfa þ ca =fa Þ;
ð13:8aÞ
where 1 ca ¼ ða ibla Þ; 2
ca ¼
a þ ibla : a ibla
ð13:8bÞ
Qb ; Rb ; Tb of (13.7c) are three real matrices whose components are related to the inverse of bending stiffness ½Dij and are, respectively, the right-lower 2 2 sub-matrices of Qm ; Rm ; Tm of (2.60). In (13.7c)5 and (13.7d), the base vectors are
1 1 Fig. 13.2 An anisotropic elastic plate weakened by an elliptical hole subjected to out-of-plane bending moments M11 and M22
13.2
Holes/Inclusions/Cracks
307
defined as i1 ¼ ð1; 0ÞT ; i2 ¼ ð0; 1ÞT ; S and L are the Barnett-Lothe tensors defined in the extended symbols (7) of Sect. 2.5.5. Using the relation shown in (13.5a)1 and (13.8a, 13.8b), and knowing that ! Z Z Z ca 1 1 @za 1 2 fa dza ¼ fa ð13:9Þ df ¼ ca fa ð1 ca fa Þdfa ¼ ca ln fa þ 2 ; @fa a 2fa the deflection w of this problem can be obtained as 1
w ¼ w þ RefAð1Þ \ca
c ln fa þ a2 2fa
!
1
1
[ B1 ðam2 ibm1 Þg; ^
^
ð13:10aÞ
where w1 ¼
x21 1 x22 1 j11 x1 x2 j1 j : 12 2 2 22
ð13:10bÞ
With the full field solutions given in (13.7a, 13.7b, 13.7c, 13.7d) in terms of complex variable fa , a real form solution for the moments around the elliptical hole boundary can be obtained from (2.64a) in which w;s ¼ g0 s and n 1 1o 1 1 a b ^ ^ ^ ^ w;n ¼ sin h G1 ðhÞm1 ½I þ G3 ðhÞm2 cos h ½I þ G3 ðhÞm1 þ G1 ðhÞm2 ; ð13:11Þ b a where I is a 2 2 unit matrix, and G1 ðhÞ and G3 ðhÞ are the matrices related to the fundamental matrix N whose definition can be found in the extended symbols (7) of Sect. 2.5.5. Note that the solutions shown in this Section is different from those presented in Hwu (2010) by the additional terms with ^
1
^
1
g0 which appears in m1 and m2 of (13.7b). The main reason for this difference is that the solutions presented in Hwu (2010) ignore the requirement of single-valued deflection, and should be corrected (Wu and Hsiao 2015; Hsu and Hwu 2021). Remarks on computer coding It has been explained in Sect. 4.1.3 that we do not need to worry about the selection of branch cut for the evaluation of the complex logarithmic function ln ðza ^za Þ even it is multi-valued. On the other hand, as stated in Sect. 6.1.4, a special treatment is needed for the computation of ln ðfa ^fa Þ and all the other logarithmic functions in terms of the mapped complex variables fa . Similar to the relation (6.23) for the evaluation of ln ðfa ^fa Þ, the logarithmic function ln fa appeared in (13.10a) is suggested to be evaluated by ln fa ¼ ln za ln ca lnð1 þ
ca Þ: f2a
ð13:12Þ
The solutions shown in this section are special cases of holes in laminates discussed later in Sect. 14.2.1. To get the numerical results of (13.7a, 13.7b, 13.7c, 13.7d)–(13.11), one can use the function s1421LAMholeUSB coded in Sect. 14.2.1 1 1 1 with inplane forces N11 ¼ N12 ¼ N22 ¼ 0, and the properties of symmetric laminates. With this understanding, function s1321EholeUB is designed and presented in F182 of Appendix F. The input file for load and structure information is 1 1 1 1 1 input_loadstr: a; b; M11 ; M12 ; M22 for anisotropic elastic plates, followed by additional values of M41 ; M42 for piezoelectric 1 1 plates and M51 ; M52 for MEE plates.
308
13
Plate Bending Analysis
13.2.2 Elliptical Rigid Inclusions—s1322ERincluUB, s1420LAMincluUSB Consider an unbounded anisotropic elastic plate embedded with an elliptical rigid inclusion subjected to out-of-plane 1 1 1 bending moments M11 ; M22 and twisting moment M12 at infinity. The full field solution to this problem has been found to be 1 1 1 b ¼ b1 Re A\f1 a [ A ðaj1 þ ibj2 Þ ; ð13:13Þ 1 1 1 w ¼ w1 Re B\f1 a [ A ðaj1 þ ibj2 Þ ; 1 where b1 , w1 , j1 1 and j2 are given in (13.7b) and (13.7c). The moments around the inclusion boundary can be calculated by the relations (2.64a) in which w;s and w;n are n o a b 1 1 1 1 1 E E þ E ðhÞj þ ðhÞj þ E ðhÞj ðhÞj w;n ¼ sin h m1 cos h m ; 1 3 1 3 2 2 1 1 1 2 b a ð13:14aÞ n a 1 1 o b 1 1 T 1 1 T 1 1 1 H H þ S H j þ j S H j þ j ; þ cos h m w;s ¼ sin h m1 1 2 1 2 1 2 b a
where E1 ðhÞ ¼ N3 ðhÞ þ NT1 ðhÞST H1 ;
E3 ðhÞ ¼ NT1 ðhÞH1 :
Similar to the hole problem, by the way shown in (13.9)–(13.10a, 13.10b) we now obtain the deflection w as ( ) ! ca 1 1 1 1 w ¼ w þ Re Að1Þ \ca ln fa þ 2 [ A ðaj1 þ ibj2 Þ ; 2fa
ð13:14bÞ
ð13:15aÞ
where w1 ¼
j1 j1 11 22 ða2 2x21 Þ x1 x2 j1 ðb2 2x22 Þ. 12 þ 4 4
ð13:15bÞ
2 1 Note that a constant term ða2 j1 11 þ b j22 Þ=4 has been added in (13.15b) from (13.10b) by letting the deflection at the rigid inclusion be zero. Note that the generalized form of the solutions shown in (13.13)–(13.15a, 13.15b) can also be applied to the cases of coupled stretching-bending analysis. And hence, the function s1322ERincluUB is designed by calling s1420LAMincluUSB which is applicable for the coupled stretching-bending analysis. These two functions are presented in F183 and F186 of Appendix F. For plate bending problems, the input file for load and structure information is input_loadstr: 1 1 1 1 1 a; b; M11 ; M12 ; M22 for anisotropic elastic plates, followed by additional values of M41 ; M42 for piezoelectric plates and 1 1 M51 ; M52 for MEE plates. As to the problems of coupled stretching-bending analysis, the input file input_loadstr should 1 1 1 1 1 1 1 1 1 1 contain a; b; N11 ; N12 ; N22 ; M11 ; M12 ; M22 for laminated plates, followed by additional values of N41 ; N42 ; M41 ; M42 for 1 1 1 1 electro-elastic laminates and N51 ; N52 ; M51 ; M52 for magneto-electro-elastic laminates.
13.2.3 Cracks—s1323crackUB An elliptic hole can be made into a crack of length 2a by letting the minor axis b be zero. The explicit solution obtained in (13.7a, 13.7b) with b ¼ 0 is then applicable to a crack in general anisotropic elastic materials. As stated in Chap. 11, the matrix solutions shown in (13.7a, 13.7b) can also be extended to the cases with piezoelectric, or MEE materials. With this solution, the moment intensity factors for the most general situation of MEE materials defined by
13.2
Holes/Inclusions/Cracks
309
9 9 8 8 M12 ðr; hÞ > KII > > > > > > > > > > > > > > > > > M22 ðr; hÞ > = = < KI > < p ffiffiffiffiffiffiffi ffi 6 k ¼ KIV ¼ 2 lim 2pr M42 ðr; hÞ : > > > > h r!0 > > > > > > > > h¼0 > > > > K M ðr; hÞ > > > > V 52 ; ; : : is found to be k¼
6 pffiffiffiffiffiffiffiffi ^ 1 2paðm2 m0 i1 Þ; h2
ð13:16Þ
ð13:17aÞ
where ^
1
m0 ¼ ðiT1 þ iT2 G1 Þm2 =2:
ð13:17bÞ
In (13.16), r is the distance ahead of the crack tip, h is the thickness of the plate and h ¼ 0 is the direction of along the crack. 1
In (13.17b), G1 ¼ G1 ð0Þ ¼ NT1 N3 SL1 and m2 is defined in (13.7b) in which 1 M12 m1 ¼ ; for problems with elastic materials, 2 1 M22 8 19 > = < M12 > 1 1 ; for problems with piezoelectric materials, m2 ¼ M22 > ; : 1> M42 8 19 > > M12 > > > = < M1 > 22 ; for problems with MEE materials: m1 2 ¼ 1> > M42 > > > ; : 1> M52 ^
ð13:17cÞ
Note that like the solutions for the problems with elliptical holes, the solutions shown here for crack problems are also ^
1
different from those presented in Hwu (2010) by the terms with m2 . Since cracks are special cases of elliptical holes, the solutions of this problem can be obtained by calling the function 1 1 1 s1421LAMholeUSB with b = 0 and N11 ¼ N12 ¼ N22 ¼ 0. Additional codes for the matlab function of crack problems are the evaluation of stress intensity factors. With this concern, function s1323crackUB is designed and presented in F184 of 1 1 1 Appendix F. The input file for load and structure information is input_loadstr: a; M11 ; M12 ; M22 for anisotropic elastic plates, 1 1 1 1 followed by additional values of M41 ; M42 for piezoelectric plates and M51 ; M52 for MEE plates.
13.2.4 Elliptical Elastic Inclusions—s1324EEincluUB, s1423LAMEEincluUSB Consider an unbounded anisotropic elastic plate with an elliptical elastic inclusion subjected to out-of-plane bending 1 1 1 moments M11 ; M22 and twisting moment M12 at infinity. By analogy with the solution given in (8.12) for the corresponding two-dimensional problem, the full field solution to this problem can be written as bð1Þ ¼ 2RefA1 ½f 0 ðfÞ þ f 1 ðfÞg; bð2Þ ¼ 2RefA2 f 2 ðf Þg;
wð1Þ ¼ 2RefB1 ½f 0 ðfÞ þ f 1 ðfÞg;
wð2Þ ¼ 2RefB2 f 2 ðf Þg;
ð13:18aÞ
where f 0 ðfÞ ¼ \za [ q1 ;
e f 1 ðfÞ ¼ \f1 a [ d1 ; T 1 q1 ¼ AT1 m1 2 þ B1 j1 :
f 2 ðf Þ ¼ \za =ca [ ce1 ;
ð13:18bÞ ð13:18cÞ
310
13
Plate Bending Analysis
In the above, the subscripts 1 and 2 or the superscripts (1) and (2) denote, respectively, the values related to the matrix and inclusion; the vectors ce1 and de1 are defined in (8.9b)1 with q1 given in (13.18c); ca is defined in (13.8b) with the superscript * denoting the value related to the inclusion. Since the function vectors of (13.18b) preserve the same mathematical form of the corresponding two-dimensional case, the derivatives of (13.18b) including the interfacial stress resultants and moments can be obtained by referring to (8.13a) and (8.13b). On the other hand, with the relation of (13.9) the deflection can be obtained as n o n o wð1Þ ¼ 2Re ðA1 Þð1Þ ½~f 0 ðfÞ þ ~f 1 ðfÞ ; wð2Þ ¼ 2Re ðA2 Þð1Þ~f 2 ðf Þ ; ð13:19aÞ where 2
~f 0 ðfÞ ¼ \ za [ q1 þ A1 A2 \c c [ ce \ca ca [ ee ; 1 a a 1 1 2 ! 2 ~f 1 ðfÞ ¼ \ca ln fa þ ca [ de ; ~f 2 ðf Þ ¼ \ ðza Þ [ ce ; 1 1 2 2ca 2fa
ð13:19bÞ
Note that some constant terms have been purposely added in ~f 0 ðfÞ in order to satisfy the deflection continuity across the interface. For the solutions shown in (13.18a, 13.18b, 13.18c)–(13.19a, 13.19b), their generalized form is also applicable to the cases of coupled stretching-bending analysis. Therefore, the function s1324EEincluUB is designed by calling s1423LAMEEincluUSB where the analysis of coupled stretching-bending deformation is correspondingly employed. These two functions are designed and presented in F185 and F189 of Appendix F. 1 1 1 For plate bending analysis, the input file for load and structure information is input_loadstr: a; b; M11 ; M12 ; M22 for 1 1 1 1 anisotropic elastic plates, followed by additional values of M41 ; M42 for piezoelectric plates and M51 ; M52 for MEE plates. While for the coupled stretching-bending analysis, the input file input_loadstr should include 1 1 1 1 1 1 1 1 1 1 a; b; N11 ; N12 ; N22 ; M11 ; M12 ; M22 for laminated plates, followed by additional values of N41 ; N42 ; M41 ; M42 for 1 1 1 1 ; N52 ; M51 ; M52 for magneto-electro-elastic laminates. electro-elastic laminates and N51
13.3
Examples
Example 1: An Elliptical Hole An unbounded anisotropic elastic plate weakened by an elliptical hole is subjected to out-of plane bending moment 1 M11 ¼ 1 N m=m at far end. The plate is made by a four layer symmetric laminate [45/0]s whose elastic properties are shown in Example 5 of Table 3.1. The thickness of each lamina is 1 mm. The half-lengths of major and minor axes of ellipse are a = 2 m and b = 1 m. Calculate the deflection and bending moments along the hole boundary, in which 60 equally distributed points are evaluated. To find the solution of this problem, one should prepare the following four input files. input_control: 1 3 1321 11 1 1.0e9 0.001 1.0e−6; 6 0 0 0 input_elastic1: 4 1; 181e9 10.3e9 7.17e9 0.28; 1 45 0.001; 1 0 0.001; 1 0 0.001; 1 45 0.001 input_loadstr: 2 1 1 0 0 input_variable: 3 0 0 2 1 0 360 60 0 Example 2: An Elliptical Rigid Inclusion All conditions are the same as the previous example except that the hole is replaced by a rigid inclusion. To find the solution of this problem, one should prepare the following four input files. input_control: 1 3 1322 12 1 1e9 0.001 1.0e−6; 6 0 0 0 input_elastic1: (same as Example 1) input_loadstr: 2 1 1 0 0 input_variable: 3 0 0 2 1 0 360 60 0
13.3
Examples
311
Example 3: A Crack All conditions are the same as Example 1 except that the hole is replaced by a crack whose length 2a = 4 m, and the applied 1 bending moment is changed to M22 ¼ 1 N m=m. Calculate the deflection and bending moments of this plate for a rectangular surface region centered at (0, 0) with width and length both equal to 10 m in which 20 equally distributed points are evaluated in both x1 and x2 directions. To find the solution of this problem, one should prepare the following four input files. input_control: 1 3 1323 2 1 1e9 0.001 1.0e−6; 6 0 0 0 input_elastic1: (same as Example 1) input_loadstr: 2 0 0 1 input_variable: 1 −5 −5 5 5 20 20 0 Example 4: An Elliptical Elastic Inclusion All conditions are the same as Example 1 except that the hole is replaced by an isotropic material whose properties are given in Example 1 of Table 3.1. To find the solution of this problem, one should prepare the following five input files. input_control: 2 3 1324 12 1 1e9 0.001 1.0e−6; 6 0 0 0; 1 0 0 0 input_elastic1: (same as Example 1) input_elastic2: 300e9 0.25 0.004 input_loadstr: 2 1 1 0 0 input_variable: 3 0 0 2 1 0 360 60 0
References Hsieh, M.C., and C. Hwu. 2002. Anisotropic elastic plates with holes/cracks/inclusions subjected to out-of plane bending moments. International Journal of Solids and Structures 39 (19): 4905–4925. Hsieh, M.C., and C. Hwu. 2003. Explicit solutions for the coupled stretching-bending problems of holes in composite laminates. International Journal of Solids and Structures 40 (15): 3913–3933. Hsu, C.W., and C. Hwu. 2021. Correction of the existing solutions for hole/crack problems of composite laminates under coupled stretching-bending deformation. Composite Structures, 260, 113154. Hwu, C. 2010. Anisotropic elastic plates. New York: Springer. Wu, K.C. and P.S. Hsiao. 2015. An exact solution for an anisotropic plate with an elliptic hole under arbitrary remote uniform moments. Composites Part B—Engineering 75: 281–287.
Coupled Stretching-Bending Analysis
14
If the laminates are unsymmetric they will be stretched as well as bent even under pure in-plane forces or pure bending moments. To study the mechanical behavior of thin laminated plates, the coupled stretching-bending theory of laminates was developed (Hwu 2003, 2010a, 2010b). Since this theory considers linear variation of displacements across the thickness direction, by separating the thickness dependence it has been shown that the general solutions can be obtained through the complex variable formalism. In this chapter, the counterpart of Stroh formalism generally called Stroh-like formalism introduced in Sect. 2.3 is employed to deal with the problems of coupled stretching-bending analysis such as holes/cracks/inclusions in laminates under uniform stretching and bending moments, under uniform heat flow, and their associated Green’s functions.
14.1
Coupled Stretching-Bending Theory of Laminates
The strain–displacement relations, the constitutive laws and the equilibrium equations for the coupled stretching-bending analysis of laminated plates can be written in terms of tensor notation as those shown in (2.55). To get governing equations satisfying all these basic equations, we first use (2.55)1,2 to express the midplane strains and curvatures in terms of the midplane displacements, then use (2.55)5,6 to express the stress resultants and bending moments in terms of the midplane displacements. After these direct substitutions, the three equilibrium Eqs. (2.55)7,8 can now be written in terms of three unknown displacement functions u0 ; v0 and w as (Hwu 2010a) @ 2 u0 @ 2 u0 @ 2 u0 @ 2 v0 @ 2 v0 @ 2 v0 þ A þ A þ 2A þ A þ ðA þ A Þ 16 66 16 12 66 26 @x2 @x@y @y2 @x2 @x@y @y2 3 3 3 3 @ w @ w @ w @ w B26 3 ¼ 0; B11 3 3B16 2 ðB12 þ 2B66 Þ 2 @x @x @y @x@ y @y
ð14:1aÞ
@ 2 u0 @ 2 u0 @ 2 u0 @ 2 v0 @ 2 v0 @ 2 v0 þ A þ A þ ðA þ A Þ þ A þ 2A 12 66 26 66 26 22 @x2 @x@y @y2 @x2 @x@y @y2 3 3 3 3 @ w @ w @ w @ w B16 3 ðB12 þ 2B66 Þ 2 3B26 B22 3 ¼ 0; 2 @x @x @y @x@y @y
ð14:1bÞ
@4w @4w @4w @4w @4w þ 2ðD þ 4D þ 2D Þ þ 4D þ D 16 12 66 26 22 @x4 @x3 @y @x2 @y2 @x@y3 @y4 3 3 3 3 @ u0 @ u0 @ u0 @ u0 B11 3 3B16 2 ðB12 þ 2B66 Þ B26 3 2 @x @x @y @x@y @y @ 3 v0 @ 3 v0 @ 3 v0 @ 3 v0 B16 3 ðB12 þ 2B66 Þ 2 3B26 B22 3 ¼ q; @x @x @y @x@y2 @y
ð14:1cÞ
A11
A16
D11
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2021 C. Hwu, Anisotropic Elasticity with Matlab, Solid Mechanics and Its Applications 267, https://doi.org/10.1007/978-3-030-66676-7_14
313
314
14
Coupled Stretching-Bending Analysis
which are the governing equations for the laminated plates. Here, the symbols used in (14.1a, 14.1b, 14.1c) and (2.55) are different by the conventional replacement made for tensor notation such as x $ x1 , y $ x2 , u0 $ u1 , v0 $ u2 , A16 $ A1121 , B21 $ B2211 , D66 $ D1212 , …, etc. The general solution satisfying all the basic equations (or say the governing Eqs. (14.1a, 14.1b, 14.1c)) has been obtained and can be written in Stroh-like complex variable formalism (2.57), i.e., ud ¼ 2RefAfðzÞg;
/d ¼ 2RefBfðzÞg;
ð14:2aÞ
where
ud ¼
( ) u b
¼
8 9 u1 > > > > > > > > > = < u2 > > > b1 > > > > > > > ; : > b2
( ;
/d ¼
/
) ¼
w
A ¼ ½a1 a2 a3 a4 ; B ¼ ½b1 za ¼ x1 þ la x2 ; a ¼ 1; 2; 3; 4:
b2
8 9 /1 > > > > > > > > > = < /2 > > > w1 > > > > > > > ; : > w2 b3
;
fðzÞ ¼
9 8 f1 ðz1 Þ > > > > > > > > > = < f2 ðz2 Þ > > f3 ðz3 Þ > > > > > > > > > ; : f4 ðz4 Þ
; ð14:2bÞ
b4 ;
As to the Stroh formalism for two-dimensional problems, the Stroh-like formalism for coupled stretching-bending analysis can also be modified to get the extended Stroh-like formalism for thermal stresses in laminates and the expanded Stroh-like formalism for electro-elastic laminates. As presented in Sect. 2.3.2, under thermal environment the general solutions can be expressed as follows. When the temperature depends on x1 and x2 only: ^
T ¼ 2Refg0 ðzt Þg; hi ¼ 2RefðKi1 þ sKi2 Þg00 ðzt Þg; ud ¼ 2RefAfðzÞ þ cgðzt Þg; /d ¼ 2RefBfðzÞ þ dgðzt Þg:
ð14:3aÞ
When the temperature depends on x3 only: ud ¼ 2RefAfðzÞg;
/d ¼ 2RefBfðzÞg x1 02 þ x2 01 :
ð14:3bÞ
As presented in Sect. 2.3.3, for electro-elastic laminates the general solutions can be expressed as ud ¼ 2RefAfðzÞg;
/d ¼ 2RefBfðzÞg;
ð14:4aÞ
where
ud ¼
( ) u b
¼
8 9 u1 > > > > > > > > > > > > u > > 2 > > > > > > > = < u4 > > b1 > > > > > > > > > > > >b > > > 2 > > > > > > ; : b4
( ;
/d ¼
/ w
) ¼
8 9 /1 > > > > > > > > > > > > / > 2> > > > > > > > = < /4 > > w1 > > > > > > > > > > > >w > > > 2 > > > > > > ; : w4
A ¼ ½a1 a2 a3 a4 a5 a6 ; B ¼ ½b1 za ¼ x1 þ la x2 ; a ¼ 1; 2; 3; 4; 5; 6:
b2
;
fðzÞ ¼
b3
b4
9 8 f1 ðz1 Þ > > > > > > > > > > > > f ðz Þ > > 2 2 > > > > > > > = < f3 ðz3 Þ > > f4 ðz4 Þ > > > > > > > > > > > > f5 ðz5 Þ > > > > > > > > > ; : f6 ðz6 Þ b5
b6 ;
; ð14:4bÞ
14.1
Coupled Stretching-Bending Theory of Laminates
315
Similarly, for magneto-electro-elastic laminates the general solutions are ( ) ( ) u / ¼ 2RefAfðzÞg; /d ¼ ¼ 2RefBfðzÞg; ud ¼ b w T u ¼ f u1 u2 u4 u5 g ; b ¼ f b1 b2 b4 b5 gT ; / ¼ f /1 /2 /4 /5 gT ; w ¼ f w1 w2 w4 w5 gT ; fðzÞ ¼ f f1 ðz1 Þ f2 ðz2 Þ f8 ðz8 Þ gT ; A ¼ ½a1 a2 a8 ; B ¼ ½b1 b2 za ¼ x1 þ la x2 ;
ð14:4cÞ
b8 ;
a ¼ 1; 2; ; 8;
which can be obtained from the analogous way with Sect. 2.3.3 for electro-elastic laminates. From the relations given in (2.55) and (2.58), we know that the defection w, mid-plane strains eij , curvatures jij , stress resultants Nij , bending moments Mij , transverse shear Qi , and effective transverse shear Vi , are related to ud and /d by Z Z w ¼ b1 dx1 ¼ b2 dx2 ; ð14:5aÞ 9 8 9 8 u1;1 e11 > > > > > > > = = < e12 2;1 ¼ ; e1 ¼ b j > > > > > > ; > ; : 11 > : 1;1 b2;1 j12 9 9 8 8 /1;2 N11 > > > > > > > > = =
> > > > > > ; ; : 1;2 : 11 > w2;2 g M12 (
Q1 Q2
)
( ¼
g;2 g;1
)
9 8 9 8 u1;2 þ e > e12 > > > > > > > = > > > > > ; > ; : 12 > : 1;2 b2;2 j22 9 8 9 8 /1;1 N12 > > > > > > > > = M > > > > > ; > ; : 12 > : 1;1 w2;1 M22 (
;
V1
)
V2
( ¼
w2;22 w1;11
ð14:5bÞ
ð14:5cÞ
) ;
ð14:5dÞ
where 1 e ¼ ðu2;1 u1;2 Þ; 2
1 g ¼ ðw1;1 þ w2;2 Þ: 2
ð14:5eÞ
Equations (14.5b) and (14.5c) can also be written in matrix form as e1 ¼ ud;1 ei2 ;
e2 ¼ ud;2 þ ei1 ;
r1 ¼ /d;2 þ gi4 ;
r2 ¼ /d;1 gi3 ;
where i1 ; i2 ; i3 ; i4 , are the base vectors defined by 8 9 8 9 1> 0> > > > > = = < > < > 0 1 ; i2 ¼ ; i1 ¼ 0> > >0> > > ; ; : > : > 0 0
8 9 0> > > = < > 0 i3 ¼ ; > >1> > : ; 0
ð14:6aÞ
8 9 0> > > = < > 0 i4 ¼ : > >0> > : ; 1
ð14:6bÞ
From (14.5a) and (14.2a), we obtain ~ w ¼ 2Re Að3Þ~fðzÞ ¼ 2Re Að4Þ \l1 a [ fðzÞ ;
~fðzÞ ¼
Z fðzÞdz;
ð14:7Þ
in which Að3Þ and Að4Þ denote, respectively, the 3rd and 4th rows of matrix A, and ~fðzÞ, the integral of fðzÞ, can be calculated numerically by the way shown in (9.12). The second equality of (14.7)1 can be proved by referring to the explicit expressions of A given in (2.100).
316
14
Coupled Stretching-Bending Analysis
If fðzÞ contains a multi-valued complex function, sometimes the deflection w calculated by the integral ~fðzÞ of (14.7), which contains a single complex variable, through Gaussian quadrature rule may be discontinuous across the branch cut even its associated integrand fðzÞ has been proved to be continuous. To find a continuous deflection w, two alternative formulae are suggested as follows. Zx wðx; yÞ ¼
Zy b1 ðx; yÞ dx
b2 ð0; yÞdy þ wð0; 0Þ; 0
0
Zh or
wðr; hÞ ¼ r
ð14:8aÞ
Zr bh ðr; hÞ dh
0
br ðr; 0Þdr þ wða; 0Þ; a
where bh ¼ b1 sin h þ b2 cos h;
br ¼ b1 cos h þ b2 sin h:
ð14:8bÞ
Here, the polar coordinate ðr; hÞ is related to the Cartesian coordinate ðx1 ; x2 Þ by x1 ¼ r cos h; x2 ¼ r sin h. If we have a problem containing an elliptical hole or inclusion, instead of the polar coordinate we may consider the elliptical coordinate defined by x1 ¼ r cos h; x2 =k ¼ r sin h, where k ¼ b=a is the ratio of major and minor axis of the ellipse, and following the way suggested in (14.8a)2.
14.2
Holes in Laminates
14.2.1 Uniform Stretching and Bending Moments—s1421LAMholeUSB 1 1 Consider an unbounded composite laminate with an elliptical hole subjected to in-plane forces N11 ¼ N11 , N22 ¼ N22 , 1 1 1 1 N12 ¼ N12 and out-of-plane bending moments M11 ¼ M11 , M22 ¼ M22 , M12 ¼ M12 at infinity (Fig. 14.1). There is no load around the edge of the elliptical hole. The field solution to this problem has been found to preserve the same form as that shown in (13.7a) for the bending problems, i.e., n o ^1 ^1 1 1 Re A\f [ B ðam ibm Þ ; ud ¼ u1 a 2 1 d n o ð14:9aÞ 1 1 ^ ^ 1 1 /d ¼ /1 d Re B\fa [ B ðam2 ibm1 Þ ;
where 1 1 u1 d ¼ x1 d1 þ x2 d2 ; ^1 m1
¼ m1 1 þ g0 i4 ;
1 1 /1 d ¼ x1 m2 x2 m1 ;
^1 m2
¼ m1 2 g0 i 3 ;
ð14:9bÞ
and
T 1 m1 kTa m1 1 2 kkb m1 ¼ ; ¼ ; g 0 m1 RT T kTa i3 þ kkTb i4 2 8 19 8 19 8 19 8 19 e11 > e12 > N11 > N12 > > > > > > > > > > > > > > > > > > > > = < e1 = < e1 = < N1 = < N1 > 12 22 12 22 1 1 1 ; d ; m ; m ; ¼ ¼ ¼ ¼ 2 1> 1> > 2 > 1 > > > > j1 j1 M11 M12 > > > > > > 11 > 12 > > > > > > > > > : 1; : 1; : 1; : 1; j12 j22 M12 M22
ð14:9cÞ
ka ¼ L1 ði3 kST i4 Þ;
ð14:9dÞ
d1 1 d1 2
d1 1
Q
R
kb ¼ L1 ðST i3 þ ki4 Þ;
k ¼ b=a:
In (14.9a), fa is the transformed variable for the elliptical hole which is related to za by (6.4). In (14.9c), the three matrices Q , R , and T are defined by
14.2
Holes in Laminates
317
Fig. 14.1 A composite laminate weakened by an elliptical hole subjected to in-plane forces and out-of-plane bending moments
2
A11 6 A16 =2 Q ¼ 6 4 B 11 B16 =2 2
A16 =2 6 A66 =4 R ¼ 6 4 B =2 61 B66 =4 2
A66 =4 6 A26 =2 T ¼ 6 4 B =4 66 B62 =2
A16 =2 B11 A66 =4 B61 =2 B61 =2 D11 B66 =4 D16 =2
3 B16 =2 B66 =4 7 7; D16 =2 5 D66 =4
ð14:10aÞ
A12 A26 =2 B21 B26 =2
B16 =2 B66 =4 D16 =2 D66 =4
3 B12 B62 =2 7 7; D12 5 D26 =2
ð14:10bÞ
A26 =2 A22 B26 =2 B22
B66 =4 B26 =2 D66 =4 D26 =2
3 B62 =2 B22 7 7; D26 =2 5 D22
ð14:10cÞ
in which Aij , Bij and Dij are the components of matrices A , B and D defined in (1.55b). According to the relations given in (2.64a) we know that the calculation of the stress resultants and bending moments along the hole boundary relies upon the calculation of the differentials /d;s and /d;n . Because our final solutions for /d shown in (14.9a) have exactly the same form as (13.7a) of the plate bending problems, just by copying our previous corresponding results, (13.11), without any further detailed derivation we can get /;s ¼ 0; w;s ¼ g0 s, and n o a ^1 ^1 /d;n ¼ sin h G1 ðhÞm1 ½I þ G3 ðhÞm2 b b ^1 ^1 cos h ½I þ G3 ðhÞm1 þ G1 ðhÞm2 : a
ð14:11Þ
318
14
Coupled Stretching-Bending Analysis
And hence, the stress resultants and bending moments around the hole boundary can be obtained as Nn ¼ Nns ¼ Mn ¼ Vn ¼ 0; n o b ð3Þ a ð3Þ ð0Þ ð1Þ ð0Þ ð1Þ ^1 þ r ^2 r ^1 r ^2 ^1 ; ^2 r Ns ¼ cos h r þ sin h r a b n o b a ð3Þ ð0Þ ð3Þ ð1Þ ð0Þ ð1Þ þ sin h r2 r2 r1 ; Ms ¼ cos h r1 r1 þ r2 a b n o b a ð3Þ ð0Þ ð3Þ ð1Þ ð0Þ ð1Þ ~1 þ r ~2 r ~1 r ~2 ~1 ; ~2 r þ sin h r Mns ¼ cos h r a b
ð14:12aÞ
where 1
1
1
ð0Þ
^ ^ ^ ð1Þ ð3Þ ^i ¼ sT ðhÞbI n G1 ðhÞmi ; r ^i ¼ sT ðhÞbI n G3 ðhÞmi ; ¼ sT ðhÞbI n mi ; r
ð0Þ
^ ^ ^ ð1Þ ð3Þ ¼ sT ðhÞbI m mi ; ri ¼ sT ðhÞbI m G1 ðhÞmi ; ri ¼ sT ðhÞbI m G3 ðhÞmi ; 1 1 1 1 1 1 ^ ^ ^ ð1Þ ð3Þ ~i ¼ nT ðhÞbI m G1 ðhÞmi ; r ~i ¼ nT ðhÞbI m G3 ðhÞmi ; ¼ nT ðhÞbI m mi ; r 2 2 2
^i r ri
ð0Þ
~i r
1
1
1
ð14:12bÞ i ¼ 1; 2;
and bI n ¼ ½I 0 ¼ s ¼ ðcos h T
1 0 0 1
sin hÞ;
0 0
0 ; 0
bI m ¼ ½0
n ¼ ð sin h T
I ¼
0 0
0 0
1 0 ; 0 1
ð14:12cÞ
cos hÞ.
G1 ðhÞ and G3 ðhÞ are defined in the extended symbols (7) of Sect. 2.5.5. Since the function involved in (14.9a) is not too complicated, instead of using the numerical calculation introduced in (14.7)-(14.8), we can derive the analytical solution of deflection w directly by the way stated for (13.10a), from which we get ( ) ! 1 1 ca ^ ^ 1 1 w ¼ w þ Re Að3Þ \ca ln fa þ 2 [ B ðam2 ibm1 Þ ; ð14:12dÞ 2fa where w1 is defined in (13.10b). Like the correction we made in Sect. 13.2.1, the solutions of (Hwu 2010a) have also been corrected in (14.9a, 14.9b, ^
1
^
1
1 14.9c, 14.9d)–(14.12a, 14.12b, 14.12c, 14.12d) with m1 1 and m2 replaced by m1 and m2 , in which an additional term related to g0 of (14.9c) is added in (14.9b)3,4. Based upon the solutions presented in (14.9a, 14.9b, 14.9c, 14.9d)-(14.12a, 14.12b, 14.12c, 14.12d) and later in (14.19)– (14.21a, 14.21b) for the electro-elastic laminates, function s1421LAMholeUSB is designed and presented in F187 of 1 1 1 1 1 1 Appendix F. The input file for load and structure information is input_loadstr: a; b; N11 ; N12 ; N22 ; M11 ; M12 ; M22 for lam1 1 1 1 1 1 1 1 ; M52 for inated plates, followed by additional values of N41 ; N42 ; M41 ; M42 for electro-elastic laminates and N51 ; N52 ; M51 magneto-electro-elastic laminates.
Problems with an elliptical inclusion (rigid or elastic) It can be seen that the solution shown in (14.9a, 14.9b, 14.9c, 14.9d) has identical mathematical form as that of (13.7) for plate bending problem. Through suitable inference, we may conclude that the solutions to the problem of laminated plates containing an elliptical rigid inclusion subjected to uniform stretching and bending moments can also be written in the form of (13.13) for plate bending problem. With this understanding, a function s1420LAMincluUSB applicable for the coupled stretching-bending analysis is designed by using the solutions presented in Sect. 13.2.2 for the plate bending problem, and is called by function s1322ERincluUB for its associated problems. Similarly, for the problems with elliptical elastic inclusion, same mathematical form as (13.18) can be used for the coupled stretching-bending analysis, and the matlab function is named as s1423LAMEEincluUSB (please refer to Sect. 13.2.4).
14.2
Holes in Laminates
319
14.2.2 Uniform Heat Flow—s1422LAMholeUH (i) Uniform Heat Flow in x1 x2 Plane Consider an infinite composite laminate containing a traction-free insulated elliptical hole. The heat h0 is flowing uniformly in the direction of angle a0 clockwise from the positive x1 -axis (Fig. 14.2). The solution to this problem has been found in (Hsieh and Hwu 2006) and can be expressed by (14.3a) in which 1 2 \za [ q0 þ \za f1 a [ q1 þ \ma lnðma fa Þ [ q2 ; 2 1 2 e0 zt þ e1 ½zt f1 gðzt Þ ¼ t þ mt lnðmt ft Þ : 2 fðzÞ ¼
ð14:13aÞ
In (14.13a), the definitions of the symbols za ; fa ; ma ; a ¼ 1; 2; 3; 4, zt ; ft ; mt , and q0 ; q1 ; q2 are the same as those given in (10.3) and (10.4) for the associated two-dimensional problem. The coefficients e0 ; e1 now become h0 e Þ sin a0 K22 cos a0 ; ðK12 þ i K 2 ~ 2K qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi h0 2 ; e ¼ K11 K22 K12 e1 ¼ fb cos a0 þ ia sin a0 g; K e 2K e0 ¼
ð14:13bÞ
where Kij ; i; j ¼ 1; 2, are the resultant heat conduction coefficients defined in (2.67). To get the first derivatives of (14.13a), one may refer to the relations given in (10.6). The solution of /d;n which is useful for the calculation of the stress resultants and bending moments along the hole boundary is obtained as /d;n ¼
h0 1 c2 ; ðb cos a0 cos u þ a sin a0 sin uÞc2 ðhÞ G3 ðhÞRe ie2iu e1 ða þ ibsÞ~ e q K
ð14:14Þ
where G3 ðhÞ; c2 ðhÞ, and c~2 are defined in the extended symbols (7) and (5) of Sect. 2.5.5. (ii) Uniform Heat Flow in x3 Direction If the temperatures on the top and bottom surfaces of the laminate are, respectively, Tu and Tl , and vary linearly along the laminate thickness, i.e.,
Fig. 14.2 Laminates weakened by an elliptical hole subjected to uniform heat flow in x1 x2 plane
320
14
T ¼ T 0 þ T x3 ;
T0 ¼
Tl þ Tu ; 2
T ¼
Coupled Stretching-Bending Analysis
Tl Tu ; h
ð14:15Þ
the heat h0 will flow uniformly in the thickness direction instead of plane direction (Fig. 14.3). The field solution to this problem then becomes n ^ ^ o 1 ud ¼ Re A\f1 a [ B ða 02 ib 01 Þ ; n ð14:16aÞ ^ ^ o ^ ^ 1 [ B ða 0 ib 0 Þ x 0 þ x 0 ; Ud ¼ Re B\f1 1 1 2 2 1 a 2 where ^ 01
¼ 01 þ g0 i4 ;
^ 02
¼ 02 g0 i3 ;
ka ¼ L1 ði3 kST i4 Þ;
g0 ¼
kTa 02 kkTb 01 ; kTa i3 þ kkTb i4
kb ¼ L1 ðST i3 þ ki4 Þ;
k ¼ b=a:
ð14:16bÞ ð14:16cÞ
and 01 ; 02 , are defined in (2.74b). The stress resultants and bending moments along the hole boundary can be obtained by. h^ ^ ^ ^ ^ ^ i b a Ud;n ¼ cos h 01 þ G1 ðhÞ 02 þ G3 ðhÞ 01 þ sin h 02 G1 ðhÞ 01 þ G3 ðhÞ 02 : ð14:17Þ a b As the correction made in Sects. 13.2.1 and 14.2.1, for the present problem the solutions of (Hwu 2010a) were corrected ^
^
in (14.16a) and (14.17) with 01 and 02 replaced by 01 and 02 , in which an additional term related to g0 of (14.16b)3 is added in (14.16b)1,2. Instead of using the numerical integration as shown in (14.7), the deflection w for both cases of uniform heat flow can be derived analytically by the way stated later in (14.37). The integrals useful for writing the computer codes are ! Z 1 2 c2a 1 za fa dza ¼ ma 3fa þ 3 ; 12 fa
Z ma c lnðma fa Þdza ¼ za lnðma fa Þ fa a ; ð14:18aÞ 2 fa ! Z ma ca 1 fa dza ¼ ln fa þ 2 ; 2 2fa
Fig. 14.3 Laminates weakened by an elliptical hole subjected to uniform heat flow in x3 direction
14.2
Holes in Laminates
321
where ca is defined later in (14.25c), and the logarithmic functions lnðma fa Þ are evaluated through the relation (13.12) with the understanding of ma ¼ 2ca ¼ a ibla , i.e., lnðma fa Þ ¼ ln za lnð1 þ
ca Þ þ ln 2: f2a
ð14:18bÞ
Based upon the solutions provided in (14.13a, 14.13b)–(14.18a, 14.18b) for two different cases, function s1422LAMholeUH is designed and presented in F188 of Appendix F. The input file for load and structure information is input_loadstr: 1; a; b; h0 ; a0 , or 2; a; b; Tu ; Tl . The former is for the uniform heat flow in x1 x2 plane, and the latter is for the uniform heat flow in x3 direction.
14.3
Holes in Electro-elastic Laminates
Consider an unbounded electro-elastic composite laminate with an elliptical hole subjected to the generalized forces and 1 1 1 1 1 1 1 1 1 1 moments N11 ; N22 ; N12 , M11 ; M22 ; M12 , N41 ; N42 ; M41 ; M42 at infinity. The generalized forces and moments are defined in (1.53) and (1.79). The contour of the elliptical hole is represented by (6.1). The hole edge and the upper and lower surfaces of the laminate are free of traction and electric charge. The solutions to this problem have exactly the same mathematical 1 1 1 form as those given in (14.9a), (14.9b) and (14.11) except now the related vectors d1 1 ; d2 ; m1 ; m2 , should be expanded to 8 1 9 8 1 9 8 19 8 19 e11 > e12 > N11 > N12 > > > > > > > > > > > > > > > > > > 1 > 1 > 1 > > > > > > e1 > > > e N N > > > > > > > 12 > 22 > 12 > 22 > > > > > = < 1= < 1= < 1= < 1> 2e 2e N N 41 42 41 42 ; d1 ; m1 ; m1 : ð14:19Þ d1 ¼ ¼ ¼ 1 1 1 1 1 ¼ 2 1 2 j > j > M > M > > > > > > > > > > > > > > > > > > 11 > 12 > 11 > 12 1 > 1 > 1> 1> > > > > j > j > M > M > > > > > > > > > > > ; ; : 121 > : 221 > : 12 : 22 1; 1; 2j41 2j42 M41 M42 1 Here, e1 pj and jpj , p = 1,2,4, j = 1,2, are the generalized mid-plane strains and curvatures at infinity, which are induced by 1 , and can be determined by the relation (14.9c)1 in which Q , R and T are three 6 6 the application of Npj1 and Mpj matrices defined by 3 2 A16 =2 A17 B11 B16 =2 B17 A11 6 A16 =2 A66 =4 A67 =2 B61 =2 B66 =4 B67 =2 7 7 6 6 A17 A67 =2 A77 B71 B76 =2 B77 7 7; ð14:20aÞ Q ¼ 6 6 B B61 =2 B71 D11 D16 =2 D17 7 7 6 11 4 B =2 B =4 B =2 D =2 D =4 D =2 5 16 66 76 16 66 67 B17 B67 =2 B77 D17 D67 =2 D77
2
A16 =2 6 A66 =4 6 6 A67 =2 R ¼6 6 B =2 6 61 4 B =4 66 B67 =2 2
A66 =4 6 A26 =2 6 6 A68 =2 T ¼6 6 B =4 6 66 4 B =2 62 B68 =2
3 B12 B18 B62 =2 B68 =2 7 7 B72 B78 7 7; D12 D18 7 7 D26 =2 D68 =2 5 D27 D78
ð14:20bÞ
3 B68 =2 B28 7 7 B88 7 7: D68 =2 7 7 D28 5 D88
ð14:20cÞ
A12 A26 =2 A27 B21 B26 =2 B27
A18 A68 =2 A78 B81 B86 =2 B87
B16 =2 B66 =4 B76 =2 D16 =2 D66 =4 D67 =2
A26 =2 A22 A28 B26 =2 B22 B28
A68 =2 A28 A88 B86 =2 B82 B88
B66 =4 B62 =2 B26 =2 B22 B86 =2 B82 D66 =4 D26 =2 D26 =2 D22 D68 =2 D28
In the above, Aij ; Bij ; Dij are defined in (1.55b). With /d;n given in (14.11), the real form solutions for the generalized stress resultants and moments around the hole boundary can then be determined by
322
14
e n ¼ 0; Ns ¼ sT1 /d;n ; Nn ¼ Nns ¼ Mn ¼ D 1 e s ¼ iT Ms ¼ sT2 /d;n ; Mns ¼ nT2 /d;n ; D 3 /d;n ; 2
Coupled Stretching-Bending Analysis
e s ¼ iT6 /d;n ; D
ð14:21aÞ
where sT1 ¼ ðsT
0Þ; sT2 ¼ ð0
sT ¼ ðcos h
sin h 0Þ;
sT Þ; nT2 ¼ ð0
nT Þ;
nT ¼ ð sin h
cos h
T iT 3 ¼ ði3
0Þ;
0Þ;
iT6 ¼ ð0 iT3 Þ;
iT3 ¼ ð0 0
1Þ:
ð14:21bÞ
Based upon the solutions presented in Sect. 14.2.1 and the changes given in (14.19)–(14.21a, 14.21b), the computer code of function s1421LAMholeUSB is designed to include the present case of electro-elastic laminates through the control parameter Ptype. Furthermore, similar extension is also made for the magneto-electro-elastic laminates, and the function s1421LAMholeUSB is applicable for this kind of laminates by simply choosing Ptype > 10.
14.4
Green’s Functions for Laminates—s1441LAMinfPFM
^ ¼ ðm ^ 1; m ^ 2; m ^ 3 Þ at point Consider an infinite laminate subjected to a concentrated force ^f ¼ ð^f1 ; ^f2 ; ^f3 Þ and moment m ^ x ¼ ð^x1 ; ^x2 Þ (see Fig. 14.4). The solution to this problem, which is usually called Green’s function, can be written in the form of (14.2a) where the complex function vector fðzÞ is 1 ^ þ ^f3 \ðza ^za Þ½lnðza ^za Þ 1 [ AT i3 \ lnðza ^za Þ [ AT p 2pi 1 T ^ 3\ [ A i2 m za ^za
ð14:22aÞ
9 8 ^f1 > > > = < ^ > f2 ^¼ ; p > ^2 > > > m ; : ^1 m
ð14:22bÞ
fðzÞ ¼
in which 8 9 1> > > = < > 0 i1 ¼ ; > > >0> ; : 0
8 9 0> > > = < > 1 i2 ¼ ; > > >0> ; : 0
8 9 0> > > = < > 0 i3 ¼ : > > >1> ; : 0
Using some identities converting complex form to real form, the real form solution of Green’s function has been obtained as n o n o ^3 ^ b ^f3 ðln r 1Þ N e ðhÞ p b ðhÞ þ p N e ðhÞ i3 þ m ^ 2pud ¼ ðln rÞH þ p N r N ðhÞi2 ; 2 2 2 r 2 n o n o ^ 3 ^ T b e T ðhÞ p b T ðhÞ þ p N e T ðhÞ i3 þ m ^ r^f3 ðln r 1Þ N 2p/d ¼ ðln rÞST þ p N N ðhÞi2 ; 1 1 1 r 1
Fig. 14.4 Laminated plates subjected to point forces and moments
ð14:23aÞ
14.4
Green’s Functions for Laminates—s1441LAMinfPFM
323
where e 3 ðhÞH þ N e T ðhÞST ; e T ðhÞ ¼ N N 1 1 b T ðhÞ ¼ N b 3 ðhÞH þ N b T ðhÞST ; N 1 1 ^ T
^
^T
^
e ðhÞ ¼ N e 1 ðhÞH þ N e 2 ðhÞST ; N 2 b ðhÞ ¼ N b 1 ðhÞH þ N b 2 ðhÞST ; N 2 ^
^
N1 ðhÞ ¼ N3 ðhÞH þ N1 ðhÞST ; N2 ðhÞ ¼ N1 ðhÞH þ N2 ðhÞST ; b b e T ðhÞ ¼ N b 3 ðhÞ N e ðhÞ þ N b T ðhÞ N e T ðhÞ; N e ðhÞ ¼ N b 1 ðhÞ N e ðhÞ þ N b 2 ðhÞ N e T ðhÞ; N 1 2 2 1 1 2 1
ð14:23bÞ
and e 1 ðhÞ ¼ 1 N p
Zh N1 ðxÞdx; 0
^ 1 ðhÞ ¼ cos hI þ sin hN1 ; N ^
e 2 ðhÞ ¼ 1 N p
Zh N2 ðxÞdx; 0
^ 2 ðhÞ ¼ sin hN2 ; N
N1 ðhÞ ¼ cos hI sin hN1 ðhÞ;
^
e 3 ðhÞ ¼ 1 N p
Zh N3 ðxÞdx; 0
^ 3 ðhÞ ¼ sin hN3 ; N
N2 ðhÞ ¼ sin hN2 ðhÞ;
ð14:23cÞ
^
N3 ðhÞ ¼ sin hN3 ðhÞ:
Further reduction of (14.23a, 14.23b, 14.23c) for isotropic plates leads to the following results (Hwu 2010a). 1þm 2ð1 þ mÞ ^ ^ ^ ^ 3 sin h cos 2h ; 2ð3 mÞf1 ln r ð1 þ mÞ½f1 ðcos 2h 1Þ þ f2 sin 2h m u1 ¼ 8pEh r ð14:24aÞ 1þm 2 ^ 3 cos h½4 ð1 þ mÞ cos 2h ; 2ð3 mÞ^f2 ln r ð1 þ mÞ½^f1 sin 2h ^f2 ðcos 2h 1Þ m u2 ¼ 8pEh r 1 ^ 1 sin 2h þ 2^f3 rðln r 1Þ cos h ; ^ 2 ð2 ln r þ cos 2h 1Þ m m 8pD 1 ^ 2 sin 2h þ 2^f3 r ln r sin h ; ^ 1 ð2 ln r þ cos 2h 1Þ þ m b2 ¼ m 8pD b1 ¼
w¼
1 ^ 2 rðln r 1Þ cos h 4m ^ 1 r ln r sin h þ ^f3 r 2 ½2ðln r 1Þ cos 2h ; 4m 16pD
ð14:24bÞ
ð14:24cÞ
1 m ^ f1 cos h þ ^f2 sin h ; 4pr ^3 3 þ m ^ m f1 cos h þ ^f2 sin h Nr ¼ ð1 þ mÞ sin 2h; 4pr 2pr 2 ^3 1 m ^ m Nrh ¼ f1 sin h ^f2 cos h f2 ð1 þ mÞ cos 2hg; 4pr 4pr 2
ð14:24dÞ
^f3 1þm ^ 1 sin h m ^ 2 cos hg ð1 þ mÞ ln r ð1 mÞ sin2 h ; fm 4pr 4p ^f3 1þm ^ 1 sin h m ^ 2 cos hg ð1 þ mÞ ln r þ ð1 mÞ sin2 h ; Mr ¼ fm 4pr 4p ^f3 1m ^ 1 cos h þ m ^ 2 sin hg ð1 mÞ sin 2h; Mrh ¼ fm 4pr 8p
ð14:24eÞ
1 ^ 2 sin hg; ^ 1 cos h þ m fm 2pr 2 ^f3 1 ^ 2 cos hg ^ 1 sin h m ; Qr ¼ fm 2 2pr 2pr
ð14:24fÞ
Nh ¼
Mh ¼
Qh ¼
324
14
Coupled Stretching-Bending Analysis
1þm ^ 2 sin hg; ^ 1 cos h þ m fm 4pr 2 ^f3 3m ^ 2 cos hg ^ 1 sin h m f2 þ ð1 mÞ cos 2hg: Vr ¼ fm 2 4pr 4pr
Vh ¼
ð14:24gÞ
In the above, D is the bending stiffness of isotropic plate which is defined in (2.116b). With the solutions provided in (14.22a, 14.22b)–(14.24a, 14.24b, 14.24c, 14.24d, 14.24e, 14.24f, 14.24g), function s1441LAMinfPFM is designed and presented in F190 of Appendix F. The input file for load and structure information is input_loadstr: ^f1 ; ^f2 ; ^f3 ; m ^ 1; m ^ 2; m ^ 3 ; ^x1 ; ^x2 for elastic laminates, and followed by the additional values of ^f4 ; m ^ 4 for electro-elastic laminates ^ 5 for MEE laminates. and ^f5 ; m
14.5
Green’s Functions for Laminates with Holes/Cracks
14.5.1 Holes—s1451LAMholePFM Consider an infinite composite laminate containing an elliptical hole under a concentrated force ^f ¼ ð^f1 ; ^f2 ; ^f3 Þ and moment ^ ¼ ðm ^ 1; m ^ 2; m ^ 3 Þ at point ^x ¼ ð^x1 ; ^x2 Þ (Fig. 14.5). If the hole is assumed to be traction free, the field solution of this m problem has been found to be (Hwu 2005; Hsu and Hwu 2021) fðfÞ ¼ f 1 ðfÞ þ f 2 ðfÞ þ f 3 ðfÞ þ f c ðfÞ;
ð14:25aÞ
( ) 4 X 1 T ^ ^; \ lnðfa ^fa Þ [ AT þ p \ lnðf1 f 1 ðfÞ ¼ a fk Þ [ D k A 2pi k¼1 ( ) 4 X ^f3 T 1 T ^ f 2 ðfÞ ¼ \gðfa Þ [ A þ \fa fk [ Ek ðfÞA i3 ; 2pi k¼1 ( ) 4 X ^3 c4a^fa 1 m T \ [ AT þ \ [ Dk \c4a^fa [ A i2 ; f 3 ðfÞ ¼ 2pi ^fk fa ^fa f1 k¼1 a g0 1 1 \fa [ kB ; kB ¼ B ði3 þ iki4 Þ; k ¼ b=a; f c ðfÞ ¼ 2p
ð14:25bÞ
where
Fig. 14.5 An elliptic hole in laminates subjected to concentrated forces and moments
14.5
Green’s Functions for Laminates with Holes/Cracks
325
and ^1 gðfa Þ ¼ ðza ^za Þ lnðfa ^fa Þ þ c2a ðfa ^fa Þ c3a ðf1 a fa Þ; 1
Ek ðfÞ ¼ Dk \c2a [ þ \^fk fa [ Dk \c3a [ 1
^ þ \ð1 ck ^fk fa Þ lnðf1 a fk Þ [ Dk \ca [ ; c2a ¼ ca ðln ca 1Þ;
c3a ¼ ca ca lnð^fa Þ;
1 a þ ibla ca ¼ ða ibla Þ; ca ¼ ; 2 a ibla n o 3 P ^j Re kTB \mj ð^fa Þ [ AT p g0 ¼
j¼1
iT3 ka þ kiT4 kb
c4a ¼
1 ; ^ ca ðfa ca =^fa Þ
ð14:25cÞ
Dk ¼ B1 BIk ;
:
^; i2 and i3 are defined in (14.22b), i4 ¼ ð0; 0; 0; 1ÞT . In (14.25c)9, ka and kb are defined in (14.9d), and mj and p ^j In (14.25b), p are related to the source point and forces by h i m2 ð^fa Þ ¼ ca lnðca^fa Þ þ ca^f2 m3 ð^fa Þ ¼ c4a^f1 m1 ð^fa Þ ¼ ^f1 a ; a =2 ; a ; ð14:25dÞ ^1 ¼ p ^; p ^2 ¼ ^f3 i3 ; p ^3 ¼ m ^ 3 i2 : p The derivatives of fðfÞ necessary for the calculation of strains and stress resultants in the full field domain are f ;1 ðfÞ ¼ f 01 ðfÞ þ f 02 ðfÞ þ f 03 ðfÞ þ f 0c ðfÞ;
f ;2 ðfÞ ¼ \la [ f ;1 ðfÞ;
ð14:26aÞ
where ( ) 4 X fa;1 f2 1 T a fa;1 T ^; \ ¼ [A \ [ Dk A p 2pi ^ fa ^fa f1 k¼1 a fk ( ) 4 h i T X ^f3 1 0 ^ f 02 ðfÞ ¼ \g0 ðfa Þ [ AT þ \ f2 i3 ; a fa;1 [ Ek ðfÞ þ \fa fk [ Ek ðfÞ A 2pi k¼1 ( ) 4 X c4a^fa fa;1 f2 ^3 m T a fa;1 0 T ^ \ [A þ \ [ Dk \c4a fa [ A i2 ; f 3 ðfÞ ¼ 2pi ^ 2 ðfa ^fa Þ2 ðf1 k¼1 a fk Þ g0 \f2 f 0c ðfÞ ¼ a fa;1 [ kB ; 2p f 01 ðfÞ
ð14:26bÞ
and
za ^za g0 ðfa Þ ¼ lnðfa ^fa Þ þ þ c2a þ c3a f2 fa;1 ; a fa ^fa 1 0 Ek ðfÞ ¼ \fa;1 [ \^fk [ Dk \c3a [ 1
9 =
ð14:26cÞ
2 ^ 1 ^fk Þ þ fa ð1 ck fk fa Þ [ Dk \ca [ : \ck ^fk lnðf1 a ; ^ f1 a fk
In (14.26b) and (14.26c), fa;1 ¼ @fa =@x1 whose result has been given in (6.5b). On the other hand, the integrals of fðfÞ required to calculate the laminate deflection are ~fðfÞ ¼ ~f 1 ðfÞ þ ~f 2 ðfÞ þ ~f 3 ðfÞ þ ~f c ðfÞ;
ð14:27aÞ
326
14
Coupled Stretching-Bending Analysis
where ) 4 X T ^ ~f j ðfÞ ¼ 1 \qj ðfa Þ [ AT þ ^j ; Ej ðfa ; fk ÞA p 2pi k¼1 ~f c ðfÞ ¼ g0 \ca ðln fa þ ca Þ [ kB ; 2p 2f2a
j ¼ 1; 2; 3;
c q1 ðfa Þ ¼ ðza ^za Þ lnðfa ^fa Þ þ ca a ln fa ðfa ^fa Þ ; ^fa 1 q2 ðfa Þ ¼ ðza ^za Þ2 lnðfa ^fa Þ þ ca ½ca g1 ðfa Þ þ c2a g2 ðfa Þ c3a g3 ðfa Þ; 2 ln f q3 ðfa Þ ¼ lnðfa ^fa Þ ca ca c4a ð a f1 a Þ; ^fa ^ E1 ðfa ; ^fk Þ ¼ \e1 ðfa Þ lnðf1 a fk Þ ca e2 ðfa Þ [ Dk ; E ðfa ; ^fk Þ ¼ \e ðfa Þ [ Dk \ca [ þ \e ðfa Þ [ Dk \c2a [ 2
1
þ \e3 ðfa Þ [ Dk \c3a [ ;
2
ð14:27bÞ
ð14:27cÞ
ð14:27dÞ
E3 ðfa ; ^fk Þ ¼ \ca e3 ðfa Þ [ Dk \c4a^fa [ : In (14.27c, 14.27d), the functions gi ðfa Þ; ei ðfa Þ and ei ðfa Þ, i = 1, 2, 3, are defined as
fa ^ 4ca ca ^ ca c2 fa þ 2f a f a þ g1 ðfa Þ ¼ ln fa a ; ^fa ^fa 4 2^fa 2fa^fa f2 za^f c za þ ln fa ; g2 ðfa Þ ¼ a a ca ln fa ; g3 ðfa Þ ¼ a2 2 ca 2fa ca^fa 1 e1 ðfa Þ ¼ za ca ðca^fk þ ^fk Þ ;
ln fa ^ þ ca ðf1 a fk Þ; ^fk " # 1 1 ln f a 1 ðca^fk ^fk Þ lnðfa ^fk Þ fa e3 ðfa Þ ¼ ; ^fk ^fk
ð14:27eÞ
e2 ðfa Þ ¼
ð14:27fÞ
^ e1 ðfa Þ ¼ ca ½g4 ðfa Þ lnðf1 a fk Þ þ g5 ðfa Þ ln fa þ g6 ðfa Þ; ^ e2 ðfa Þ ¼ ca ðln fa þ ca f2 a =2Þ za fk ;
ð14:27gÞ
1
e3 ðfa Þ ¼ ca ðca ln fa f2a =2Þ þ za^fk ; where 1 1 ca 1 ^ 2 ck ^ ðfa fk Þ þ ðfa ^fk Þ2 þ ðfa ca ck ^fk Þðf1 a fk Þ; 2 2 2 g5 ðfa Þ ¼ ð1 c c Þ lnð^fk Þ þ ðc ^f =2 þ 1Þ;
g4 ðfa Þ ¼
a k
k k
1
^ g6 ðfa Þ ¼ ð1 ca ck ÞLi2 ðf1 a fk Þ
ð14:27hÞ
1 ca 1 ^ 2 ðfa fk Þ þ ck ^fk ðca f1 a fa =2Þ; 4
and Li2 denotes the dilogarithm whose definition is Zz Li2 ðzÞ ¼ 0
lnð1 sÞ ds: s
ð14:27iÞ
14.5
Green’s Functions for Laminates with Holes/Cracks
327
Note the integral relation given later in (14.37) is employed during the derivation of (14.27a, 14.27b, 14.27c, 14.27d, 14.27e, 14.27f, 14.27g, 14.27h, 14.27i). The differential /d;n necessary for the calculation of the stress resultants and bending moments along the hole boundary is obtained as /d;n ¼
1 fg G1 ðhÞgs ðwÞ G3 ðhÞ½g1 ðwÞ þ g2 ðwÞ þ g3 ðwÞ g0 gc ðwÞg; pq 0
ð14:28aÞ
where ^i ; gi ðwÞ ¼ 2Im B\hi ðwÞ [ AT p gc ðwÞ ¼ cos wi3 þ k sin wi4 ;
i ¼ 1; 2; 3;
ð14:28bÞ
gs ðwÞ ¼ sin wi3 þ k cos wi4 ;
and h1 ðwÞ ¼ eiw ðeiw ^fa Þ1 ; iw ^1 h2 ðwÞ ¼ ca ½eiw lnðca ðeiw ^fa ÞÞ ca eiw lnð1 ^f1 a e Þ ca fa ; eiw^fa h3 ðwÞ ¼ : ca ð^fa ca =^fa Þðeiw ^fa Þ2
ð14:28cÞ
Here, w and q are related to h by (6.2). Again, like the correction made in Sects. 13.2.1, 14.2.1 and 14.2.2, for the present problem the solutions of (Hwu 2010a) were corrected by adding an additional term fc in (14.25a) which is related to g0 of (14.25c)9. Remark on computer coding To avoid the discontinuity occurring in the calculation of logarithmic function, the logarithmic functions of (14.28c) are suggested to be calculated by iw ^ lnðca ðeiw ^fa ÞÞ ¼ lnðca Þ þ lnð1 ^f1 a e Þ þ lnðfa Þ;
ð14:29aÞ
c lnð^fa Þ ¼ lnð^za Þ ln ca lnð1 þ a2 Þ: ^f a
ð14:29bÞ
in which
^ iw e Þ can be evaluated directly by using the built-in function log of Matlab because here In (14.29a), lnð1 ^f1 fa [ 1 and a this logarithmic function is holomorphic; the evaluation of lnð^fa Þ is inspired from the relation (13.12). For the field solutions of (14.25a, 14.25b, 14.25c, 14.25d)–(14.27a, 14.27b, 14.27c, 14.27d, 14.27e, 14.27f, 14.27g, 14.27h, 14.27i), the logarithmic functions lnðfa ^fa Þ and ln fa can be evaluated by (6.23) and (13.12). While for lnðf1 ^fk Þ, one may refer to a
Part (ii) of the Remarks in Sect. 6.1.4, or employ the following relation 1
1^ ^ ^ lnðf1 a fk Þ ¼ lnðfk Þ þ lnð1 fa fk Þ;
ð14:29cÞ
328
14
Coupled Stretching-Bending Analysis
1 1 ^ ^ in which lnðfk Þ is calculated by (14.29b). For the dilogarithmic function in g6 ðfa Þ of (14.27h), due to the fact fa fk \1, this dilogarithmic function is holomorphic outside the hole region, and can be calculated by using the built-in function dilog of Matlab with the relation Li2 ðzÞ ¼ dilogð1 zÞ, where no discontinuity will be induced. However, in our implementation the built-in function dilog designed for numeric or symolic arguments is much less efficient than the integral evaluation by standard Gaussian quadrature rule. Therefore, an auxiliary function called Li2log is designed in our computer code to evaluate the dilogarithmic function Li2(z) of (14.27i). In this function, to avoid the singular point near z = 1, the range of argument z is divided into two parts: j1 zj [ 1=2 and j1 zj 1=2. The former can be evaluated directly, whereas the latter is evaluated indirectly through the identity (Osacar, et al., 1995) Li2 ðzÞ ¼
p2 lnðzÞ lnð1 zÞ Li2 ð1 zÞ: 6
Based upon the solutions presented in (14.25a, 14.25b, 14.25c, 14.25d)–(14.28a, 14.28b14.28c) for the Green’s functions of laminates with an elliptical hole and the remarks on computer coding, function s1451LAMholePFM is designed and presented in F191 of Appendix F. The input file for load and structure information is input_loadstr: ^ 1; m ^ 2; m ^ 3 ; ^x1 ; ^x2 for elastic problems, and followed by the additional values of ^f4 ; m ^ 4 for electro-elastic a; b; ^f1 ; ^f2 ; ^f3 ; m ^ ^ 5 for MEE laminates. laminates and f5 ; m
14.5.2 Cracks—s1452LAMcrackPFM An elliptic hole can be made into a crack of length 2a by letting the minor axis 2b be equal to zero. The Green’s functions for crack problems can therefore be obtained from (14.25a, 14.25b, 14.25c, 14.25d) with b = 0. From the relations given in (2.58), we know that the stress intensity factors defined by 9 9 8 8 KII > N12 =h > > > > > > > = < pffiffiffiffiffiffiffiffi< N22 =h = KI ¼ lim 2pr ; ð14:30aÞ k¼ 6M12 =h2 > K > r!0 > > > > > ; : IIB > : 2; KIB 6M22 =h can be expressed as k ¼ lim
r!0
pffiffiffiffiffiffiffiffi 2pr \da [ ð/d;1 m0 i3 Þ;
ð14:30bÞ
where d1 ¼ d2 ¼ 1=h;
d3 ¼ d4 ¼ 6=h2 ;
m0 ¼ ðiT3 /d;1 þ iT4 /d;2 Þ=2:
ð14:30cÞ
Here, r is the distance ahead of the crack tip. The stress intensity factors can then be determined if the limits, pffiffiffiffiffiffiffiffi pffiffiffiffiffiffiffiffi lim 2pr /d;1 and lim 2pr /d;2 , are known. With the solutions (14.25a, 14.25b, 14.25c, 14.25d) and (14.2a, 14.2b), it can
r!0
r!0
be proved that (Hsu and Hwu 2021) pffiffiffiffiffiffiffiffi 1 2pr /d;1 ¼ pffiffiffiffiffiffi g; r!0 pa lim
pffiffiffiffiffiffiffiffi 1 2pr /d;2 ¼ pffiffiffiffiffiffi G1 g; r!0 pa lim
ð14:31aÞ
where g¼2
3 X
Im B\hi [ A
T
! ^i p
g0 i 3 :
ð14:31bÞ
i¼1
Here, g0 is related to the concentrated forces and moments by (14.25c)9; G1 ¼ G1 ð0Þ, hi ¼ hi ð0Þ of (14.28c) which can be reduced to (Hsu and Hwu 2021)
14.5
Green’s Functions for Laminates with Holes/Cracks
h1 ¼
1
1 ^fa
329
;
( ) ! a a^fa 1 ln h2 ¼ ; ^fa 2 2
2^f2a h3 ¼ : að1 þ ^fa Þð1 ^fa Þ3
ð14:31cÞ
Substituting (14.31a) into (14.30b), we have 1 1 k ¼ pffiffiffiffiffiffi \da [ g ðiT3 g þ iT4 G1 gÞi3 : 2 pa
ð14:31dÞ
^ is applied on the upper crack surface x1 ¼ c where 0\c\a, the solution (14.31b) can be ^ 3 ¼ 0 and the force p If ^f3 ¼ m further reduced to ("rffiffiffiffiffiffiffiffiffiffiffi # ) 1 aþc T ^ 2g0 i3 ; IS p g ¼ pffiffiffiffiffiffi ð14:32aÞ ac 2 pa
where g0 ¼
h pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi i ^ iT3 L1 cST þ a2 c2 I p aiT3 L1 i3
:
ð14:32bÞ
Based upon the function s1451LAMholePFM for the hole problems and the solutions in (14.30a, 14.30b, 14.30c, 14.30d)–(14.32a, 14.32b) for the calculation of stress intensity factors, function s1452LAMcrackPFM is designed and presented in F192 of Appendix F. The input file input_loadstr for load and structure information should be prepared as required by function s1451LAMholePFM in which the minor axis of elliptical hole is set to be zero.
14.6
Green’s Functions for Laminates with Elastic Inclusions
Consider an infinite composite laminate containing an elliptical inclusion subjected to a concentrated force ^f ¼ ð^f1 ; ^f2 ; ^f3 Þ and ^ ¼ ðm ^ 1; m ^ 2; m ^ 3 Þ at point ^x ¼ ð^x1 ; ^x2 Þ. The contour of the inclusion boundary is represented by (6.1). The inclusion moment m and the matrix are assumed to be perfectly bonded along the interface. Like the inclusion problems discussed in Chap. 8, the solutions to this problem have been separated into two parts. One is for the loads outside the inclusion, and the other is for the loads inside the inclusion.
14.6.1 Outside the Inclusion—s1461LAMincluPFMo ^ ¼ ðm ^ 1; m ^ 2; m ^ 3 Þ are outside the inclusion (Fig. 14.6), the field When the concentrated force ^f ¼ ð^f1 ; ^f2 ; ^f3 Þ and moment m solution can be expressed as ð1Þ
ud ¼ 2RefA1 ½f 0 ðfÞ þ f 1 ðfÞg; ð2Þ
ud ¼ 2RefA2 f 2 ðf Þg;
ð2Þ
ð1Þ
/d ¼ 2RefB1 ½f 0 ðfÞ þ f 1 ðfÞg;
/d ¼ 2RefB2 f 2 ðf Þg;
ð14:33aÞ
where the subscripts 1 and 2 or the superscripts (1) and (2) denote, respectively, the values related to the matrix and the inclusion. The complex function vectors f 0 , f 1 and f 2 are as follows (Hwu and Tan 2007; Hsu and Hwu 2020).
330
14
Coupled Stretching-Bending Analysis
Fig. 14.6 An elliptic inclusion in laminates subjected to in-plane/out-of-plane concentrated forces and moments outside the inclusion
1 n ^ \ lnðfa ^fa Þ lnð^fa Þ [ AT1 p 2pi T þ ^f3 \gðfa Þ ca^fa ½1 lnðca^fa Þ ca^f2 a [ A1 i3 c4a fa ^ 3\ m [ AT1 i2 ; fa ^fa 1 1 X X \fk f 2 ðf Þ ¼ \ðfa Þk þ ðca =fa Þk [ ck ; f 1 ðfÞ ¼ a [ dk ;
f 0 ðfÞ ¼
k¼1
ð14:33bÞ
k¼1
where gðfa Þ and c4a are defined in (14.25c), and fa , fa , ca , ck and dk are defined in (8.3b), in which ek for this problem is 1 1 ^k T ^ þ ^f3 \ha [ AT1 i3 þ m ^ 3 \c4a^fk \fa [ AT1 p ek ¼ [ A i ð14:33cÞ a 1 2 ; 2pi k
where 8 ca ^ ca > ^ > f lnðca fa Þ þ ; > > < ^fa a 2^fa " # ha ¼ > ca > ca ^fa > > : k^fk k 1 þ ðk þ 1Þ^f ; a
when k ¼ 1; ð14:33dÞ when k [ 1:
a
The derivatives of f 0 , f 1 and f 2 are f i;1 ðfÞ ¼ f 0i ðfÞ;
where
f i;2 ðfÞ ¼ \la [ f 0i ðfÞ;
i ¼ 0; 1; 2;
ð14:34aÞ
14.6
Green’s Functions for Laminates with Elastic Inclusions
331
( ) fa;1 c4a^fa fa;1 1 T T T 0 ^ ^ þ f3 \g ðfa Þ [ A1 i3 þ m ^ 3\ \ ¼ [ A1 p [ A1 i2 ; 2pi fa ^fa ðfa ^fa Þ2 1 1 X X 0 \ kfk1 f [ d ; f ðf Þ ¼ \kðfa;1 =fa Þ½ðfa Þk ðca =fa Þk [ ck : f 01 ðfÞ ¼ k a;1 2 a f 00 ðfÞ
k¼1
ð14:34bÞ
k¼1
The differentials /d;s and /d;n necessary for the calculation of the stress resultants and moments along the interface boundary can be obtained by ð1Þ ð2Þ ud;s ¼ ud;s ¼ ud;s ¼ 2Re A2 f 2;s ðwÞ ; ð1Þ ð2Þ /d;s ¼ /d;s ¼ /d;s ¼ 2Re B2 f 2;s ðwÞ ; 1 X ik ikw \eikw ck [ ck ; f 2;s ðwÞ ¼ a e q k¼1 8 9 ( ) < uðiÞ = ud;s d;n ðiÞ ¼ N ðhÞ ; i ¼ 1; 2; : /ðiÞ ; /d;s
ð14:35Þ
d;n
where NðiÞ ðhÞ is the generalized fundamental elasticity matrix of material i. Note that like the solution (8.14) for two-dimensional inclusion problems, the solutions shown in (14.33b) are different from those published in (Hwu and Tan 2007; Hwu 2010a) by the constant terms appeared in f 0 ðfÞ, i.e., T ^=2pi, \ ca^fa ½1 lnðca^fa Þ ca^f2 ^ 3 \c4a [ AT1 i2 =2pi. Without these three \ lnð^fa Þ [ AT1 p a [ A1 i3 =2pi and m constant terms, the displacements across the interface will be discontinuous. To find the displacement w, we use the first equality of (14.7)1 in which the integrals of f 0 , f 1 and f 2 in (14.33b) with respect to the argument za are required. Since the solutions shown in (14.33b) are in terms of fa , we need to transform the integral of (14.7) into the form of fa through the relation of (6.4b), i.e. za ¼ ca ðfa þ ca =fa Þ; where ca and ca are defined in (14.25c). By using (14.36), the integral of (14.7)2 can be rewritten as "Z # Z Z @z c a ~fðfÞ ¼ fðfÞ df ¼ \ca [ fðfÞdf \ 2 [ fðfÞdf : @f fa Substituting (14.33b) into (14.37), we obtain
~f 0 ðfÞ ¼ 1 \ca ca ðln fa þ 1Þ fa þ ðza ^za Þ ln 1 fa [ AT p 1^ ^fa ^f 2pi
a
fa ca T T ^ ^ 3 \ ln 1 þ f3 \~gðfa Þ [ A1 i3 m þ ca c4a fa þ ln fa [ A1 i2 ; ^fa ^fa ( ) 1 X fa k ca =fa ~f 1 ðfÞ ¼ \ca [ \ ln fa þ ca [ d1 þ \fa [ dk ; kþ1 k 1 2f2a k¼2
ð14:36Þ
ð14:37Þ
ð14:38aÞ
ð14:38bÞ
(
~f 2 ðf Þ ¼
2 1 2 c \ fa þ a [ c1 2 fa ) k 1 X k fa ca =fa ca ca =fa fa þ \ fa þ [ ck ; kþ1 k 1 fa kþ1 k 1 k¼2 \ca
[
ð14:38cÞ
332
14
Coupled Stretching-Bending Analysis
where ~gðfa Þ in ~f 0 ðfÞ is defined as
1 f 1 c a ca 2 ~gðfa Þ ¼ ðza ^za Þ2 ln 1 a ln fa ^fa 2 2 ^fa
2
2fa c2a 3fa 1 fa 2 ^ ^ ca ln fa lnðca fa Þ : þ ca ca 1 fa fa þ þ ^fa 2 fa^fa 4^fa 2
ð14:38dÞ
Similar to the constant terms added in (14.33b)1, in (14.38a, 14.38b, 14.38c, 14.38d) some constant terms are added after the integration operation to make sure that the deflection w be continuous across the interface. If these constant terms are neglected, the deflection may be discontinuous across the interface. Note that the term ln fa appeared in (14.38a, 14.38b, 14.38c, 14.38d) can be evaluated by the way suggested in (13.12) or the following alternative way ln fa ¼ lnððfa þ ^fa Þ ^fa Þ;
ð14:39Þ
which removes the branch point from zero to x^, and is also different from the way suggested in (8.28) for the dislocation inside the inclusion. With the solutions presented in (14.33a, 14.33b, 14.33c, 14.33d)–(14.35) and (14.38a, 14.38b, 14.38c, 14.38d), function s1461LAMincluPFMo is designed and presented in F193 of Appendix F. The input file for load and structure information is ^ 1; m ^ 2; m ^ 3 ; ^x1 ; ^x2 ; ns for elastic laminates, and followed by the additional values of ^f4 ; m ^ 4 for input_loadstr: a; b; ^f1 ; ^f2 ; ^f3 ; m ^ ^ 5 for MEE laminates. In above, ns is the number of estimated terms for infinite series. electro-elastic laminates and f5 ; m According to the convergence test of some numerical examples, a suggested number for ns is 20.
14.6.2 Inside the Inclusion—s1462LAMincluPFMi ^ ¼ ðm ^ 1; m ^ 2; m ^ 3 Þ are inside the inclusion (Fig. 14.7), the field When the concentrated force ^f ¼ ð^f1 ; ^f2 ; ^f3 Þ and moment m solution can be expressed as ð1Þ
ð1Þ
ud ¼ 2RefA1 ½f 0 ðfÞ þ f 1 ðfÞg; /d ¼ 2RefB1 ½f 0 ðfÞ þ f 1 ðfÞg; ð2Þ ð2Þ ud ¼ 2Re A2 ½f 0 ðf Þ þ f 2 ðf Þ ; /d ¼ 2Re B2 ½f 0 ðf Þ þ f 2 ðf Þ : The complex function vectors f 0 , f 0 , f 1 and f 2 are as follows (Hwu and Tan 2007; Hsu and Hwu 2020) 1 ^ þ ^f3 \ðza ^za Þ ln fa [ AT1 i3 \ ln fa [ AT1 p 2pi þ \fa [ k1 þ \f1 a [ k1 ; 1 ^ f 0 ðf Þ ¼ \ lnðza ^za Þ ln ca [ AT2 p 2pi þ ^f3 \ðza ^za Þ½lnðza ^za Þ 1 þ ^za ln ca [ AT2 i3 o ^ 3 \ðza ^za Þ1 [ AT2 i2 ; m
ð14:40Þ
f 0 ðfÞ ¼
f 1 ðfÞ ¼
1 X
\fk a [ dk ;
f 2 ðf Þ ¼
k¼1
1 X
\ðfa Þk þ ðca =fa Þk [ ck ;
ð14:41aÞ
ð14:41bÞ
k¼1
where ck is defined in (8.3b)2 with tk of (8.3c)3 changed to tk ¼ ðM1 M2 ÞA2 ekþ : The coefficient vector dk of (14.41b)1 is defined as
ð14:42Þ
14.6
Green’s Functions for Laminates with Elastic Inclusions
333
Fig. 14.7 An elliptic inclusion in laminates subjected to in-plane/out-of-plane concentrated forces and moments inside the inclusion
þ dk ¼ B1 B2 ck þ B2 \ck 1 a [ ck þ B 2 ek þ : ¼ A1 A2 ck þ A2 \ck 1 a [ ck þ A2 ek
ð14:43Þ
Note that here the definition of dk is different from those of (8.3b)1, (8.6)1, (8.7a) and (8.7b) for the two-dimensional inclusion problems. Their difference comes from the third term of their expressions. The other vectors k1 ; k1 , and ekþ are defined by T k1 ¼ ^f3 ðBT1 Q2 þ AT1 QT1 Þi3 ; k1 ¼ ^f3 ðBT1 Q2 þ AT1 Q1 Þi3 ; 1 ^ þ ^f3 \q2 ðfa Þ [ AT2 i3 m ^ 3 \q3 ðfa Þ [ AT2 i2 ; \q1 ðfa Þ [ AT2 p ekþ ¼ 2pi
ð14:44aÞ
where 1 ^k ^ k f a þ c a =f a ¼ ; k 8 n h i
o ^ 2 > < ca 12 ^f2 þ ðc = f Þ ln c þ 1 ; when k ¼ 1; þ c a a a a a n h i h io q2 ðfa Þ ¼ ca ^k1 > þ1 : cka k þ1 1 ^fk fa þ ðca =^fa Þk1 ; þ ðca =^fa Þk þ 1 k1 a
q1 ðfa Þ
q3 ðfa Þ ¼
^fk ðc =^f Þk a a a ; ^ c ½f ðc =^f Þ a
a
a
a
when k [ 1;
ð14:44bÞ
1 ca ¼ ða ibla Þ; 2
In (14.44a), Qk , k = 1,2, are defined as Q1 ¼ A2 \ca ðln ca 1Þ [ BT2 ;
Q2 ¼ A2 \ca ðln ca 1Þ [ AT2 :
ð14:45Þ
Using the relations given in (14.34a), the derivatives of f 0 , f 0 , f 1 and f 2 with respect to x1 and x2 can be obtained by their associated f 0i ðfÞ. From (14.41a, 14.41b), we get
334
14
Coupled Stretching-Bending Analysis
fa;1 f 1 ^ þ ^f3 \ a;1 ðza ^za Þ þ ln fa [ AT1 i3 þ fa;1 k1 \f2 \ [ AT1 p [ k ; 1 a 2pi fa fa ( ) 1 1 1 0 T T T ^ ^ þ f3 \ lnðza ^za Þ [ A2 i3 þ m ^ 3\ \ [ A2 p [ A 2 i2 f 0 ðf Þ ¼ 2pi za ^za ðza ^za Þ2
f 00 ðfÞ ¼
ð14:46Þ
The mathematical forms of f 01 ðfÞ and f 02 ðfÞ are the same as those shown in (14.34b) except that their associated coefficient vectors ck and dk are different. To obtain the stress resultants and moments along the interface boundary, /d;s and /d;n are required and can be calculated by the way stated in (14.35). Here the tangential derivatives of the field solutions are found to be n h io ð1Þ ð2Þ ud;s ¼ ud;s ¼ ud;s ¼ 2Re A2 f 0;s þ f 2;s ; n h io ð14:47aÞ ð1Þ ð2Þ /d;s ¼ /d;s ¼ /d;s ¼ 2Re B2 f 0;s þ f 2;s ; where \^ la ðhÞ [ 1 T ^ þ ^f3 \ ln ‘a [ AT2 i3 þ m ^ 3 \‘2 \‘a [ AT2 p a [ A2 i2 ; 2pi 1 X ik ikw \eikw ck ¼ [ ck ; a e q k¼1
f 0;s ¼ f 2;s
ð14:47bÞ
and ^a ðhÞ ¼ cos h þ la sin h; l
‘a ¼ a cos w þ la b sin w ^za :
ð14:47cÞ
Then the normal derivative /d;n can be calculated by substituting ud;s and /d;s of (14.47a, 14.47b, 14.47c) into (14.35)4. Similar to the solution listed in (14.33b), the solution (14.41a)2 is different from that published in (Hwu and Tan 2007; Hwu 2010a) by the terms related to \ ln ca [ and \^za ln ca [ : Without these terms, the displacements across the interface will be discontinuous. Moreover, ln fa appeared in the solution should be calculated by (8.28) with the Remarks stated in Sect. 8.3.2, or by the way suggested in (13.12). To calculate the deflection w, we can substitute (14.41a, 14.41b) into (14.37), which leads the integrals of f 0 ðfÞ and f 0 ðf Þ to Z T ~f 0 ¼ f 0 dz ¼ 1 \za ln fa ca ðfa ca Þ [ AT p ^ ~ 1 ^ þ f3 \hðfa Þ [ A1 i3 2pi fa ð14:48aÞ þ \ca [ ½p1 ðfa Þ \ca [ p2 ðfa Þg; ~f ¼ 0
Z
f 0 dz ¼
1 ^ \ðza ^za Þ lnðza ^za Þ ln ca 1 [ AT2 p 2pi ^ 3 \ lnðz ^z Þ ln c [ AT i2 ; þ ^f3 \pðf Þ [ AT i3 m a
2
a
a
a
ð14:48bÞ
2
where
h i ~hðfa Þ ¼ za za ^za c2 ca ln fa ca za ^za fa ca ; a 2 4 fa f2a 1 [ k1 þ \ ln fa [ k1 ; p2 ðfa Þ ¼ \ ln fa [ k1 \ 2 [ k1 ; 2 2fa 1 3 1 ln ca c2 pðfa Þ ¼ ðza ^za Þ2 lnðza ^za Þ ln ca þ z2 a ca ðln ca 1Þ: 2 2 2 a
p1 ðfa Þ ¼ \
ð14:48cÞ
14.6
Green’s Functions for Laminates with Elastic Inclusions
335
Note that the integrals of f1 and f2 have the same form as those shown in (14.38b, 14.38c), in which the vectors ck is given in (8.3b)2 with tk defined in (14.42), and dk is given in (14.43). Moreover, similar to (14.38a, 14.38b, 14.38c, 14.38d), several constant terms are added in (14.48a, 14.48b, 14.48c) to ensure the continuity of deflection w across the interface. Based upon the solutions provided in (14.40)–(14.48a, 14.48b, 14.48c) for the laminate with an elastic inclusion subjected to a point force/moment inside the inclusion, function s1462LAMincluPFMi is designed and presented in F194 of Appendix F. The input file input_loadstr for the present function contains the same load and structure information as that for function s1461LAMincluPFMo except the location of point force/moment should now be inside the inclusion instead of outside the inclusion.
14.7
Functions for Common Use
14.7.1 Function—s14_mdinf Based upon the relations given in (14.9a, 14.9b, 14.9c, 14.9d)–(14.10a, 14.10b, 14.10c) and (14.19)–(14.20a, 14.20b, 1 1 1 14.20c), a common function s14_mdinf is designed for the calculation of m1 1 ; m2 ; d1 ; d2 in the solutions of Sects. 14.2 and 14.3, and is presented in F095 of Appendix F.
14.7.2 Function—s14_eck s14_eck is a common function for the problems in Chapter 14, which calculates the coefficients ek and ck defined in (8.3b), (14.33c) and (14.44a). According to their definition, this function is designed and presented in F094 of Appendix F.
14.8
Examples
14.8.1 Holes in Laminates Example 1: An Elliptical Hole—Uniform Stretching and Bending Moment Consider an asymmetric laminate [45/0/45/-45] composed of carbon/epoxy fiber-reinforced laminae. The thickness of each lamina is 1 mm, and the elastic properties of carbon/epoxy are shown in example 5 of Table 3.1. The laminate contains a through thickness elliptical hole with a = 2 m and b = 1 m (see Fig. 14.1), and its plane dimension is large enough to be 1 1 treated as unbounded. The in-plane force N11 ¼ 1N=m and out-of plane bending moment M11 ¼ 1N m=m are applied simultaneously at far end of the laminate. Calculate the mid-plane displacements, slopes, strains, curvatures, stress resultants, bending moments and resultants of hoop stress along the hole boundary, in which 60 equally distributed points are evaluated. To find the solution of this problem, one should prepare the following four input files. input_control: 1 3 1421 11 1 1.0e9 0.001 1.0e−6; 6 0 0 0 input_elastic1: 4 1; 181e9 10.3e9 7.17e9 0.28; 1 45 0.001; 1 0 0.001; 1 45 0.001; 1 −45 0.001 input_loadstr: 2 1 1 0 0 1 0 0 input_variable: 3 0 0 2 1 0 360 60 0. Example 2: An Elliptical Hole—Uniform Heat Flow All conditions are the same as the previous example except the load is changed to uniform heat flow in x3 direction, which is induced by the constant temperature Tu = 100 °C and Tl = 0 °C at the top and bottom surfaces of the laminate. To solve this problem, one should prepare the following five input files.
336
14
Coupled Stretching-Bending Analysis
input_control: 1 3 1422 11 1 1.0e9 0.001 1.0e−6; 6 6 0 0 input_elastic1: (same as example 1) input_loadstr: 2 2 1 100 0 input_thermal1: 1.5 0.5 0.02e−6 22.5e−6 input_variable: 3 0 0 2 1 0 360 60 0. Example 3: An Elliptical Hole in an Electro-elastic Laminate All conditions are the same as Example 1 except the laminate is changed to an electro-elastic composite laminate [E/0/45/E], whose material properties are the same as those shown in Example 5 of Sect. 3.8.3. To solve this problem, one should prepare the following four input files. input_control: 1 31 1421 11 1 1.0e9 0.001 1.0e−6; 0 0 5 0 input_piezoM1: (same as Example 5 of Sect. 3.8.3) input_loadstr: 2 1 1 0 0 1 0 0 0 0 0 0 input_variable: 3 0 0 2 1 0 360 60 0.
14.8.2 Green’s Functions Example 1: An Infinite Laminate Same laminate as Example 1 of Sect. 14.8.1 is considered. If the laminate is subjected to a concentrated force ^f ¼ ð1; 1; 0Þ kN and a concentrated moment m ^ ¼ ð1; 1; 0Þ kN m at the position ^ x ¼ ð5; 4Þm, calculate the mid-plane displacements, slopes, strains, curvatures, stress resultants and bending moments along a straight line starting from (−4, 0)m to (4, 0)m in which 40 equally distributed points are evaluated. To find the solution of this problem, one should prepare the following four input files. input_control: 1 3 1441 1 1 1.0e9 0.001 1.0e−6; 6 0 0 0 input_elastic1: (same as Example 1 of Sect. 14.8.1) input_loadstr: 1000 1000 0 1000 1000 0 5 4 input_variable: 1 1 −4 0 4 0 40. Example 2: A Hole in an Infinite Laminate All conditions are the same as Example 1 of Sect. 14.8.1 except the load is changed to a concentrated force ^f ¼ ð1; 1; 0Þ kN ^ ¼ ð1; 1; 1Þ kN m at the position ^ and a concentrated moment m x ¼ ð5; 4Þm. To solve this problem, one should prepare the following four input files. input_control: 1 3 1451 11 1 1.0e9 0.001 1.0e−6; 6 0 0 0 input_elastic1: (same as Example 1 of Sect. 14.8.1) input_loadstr: 2 1 1000 1000 0 1000 1000 1000 5 4 input_variable: 3 0 0 2 1 0 360 60 0. Example 3: A Crack in an Infinite Laminate Same laminate as Example 1 of Sect. 14.8.1 is considered. The laminate contains a through thickness crack subjected to a ^ ¼ ð1; 1; 0Þ kN m. The crack center is located at (0, 0), whereas the force concentrated force ^f ¼ ð1; 1; 0Þ kN and moment m and moment is applied at ^x ¼ ð1; 0Þm. The crack length is 4 m. To calculate the physical responses along a straight line starting from (−4, 0)m to (4, 0)m in which 40 equally distributed points are evaluated, one should prepare the following four input files. input_control: 1 3 1452 1 1 1.0e9 0.001 1.0e−6; 6 0 0 0 input_elastic1: (same as Example 1 of Sect. 14.8.1) input_loadstr: 2 0 1000 1000 0 1000 1000 0 1 0 input_variable: 1 1 −4 0 4 0 40.
14.8
Examples
337
Example 4: An Elastic Inclusion in an Infinite Laminate All conditions are the same as Example 2 except the hole is now replaced by an elastic inclusion whose material properties are given in Example 1 of Table 3.1. To solve this problem, one should prepare the following five input files. input_control: 2 3 1461 1 1 1.0e9 0.001 1.0e−6; 6 0 0 0; 1 0 0 0 input_elastic1: (same as Example 1 of Sect. 14.8.1) input_elastic2: 300e9 0.25 0.004 input_loadstr: 2 1 1000 1000 0 1000 1000 1000 5 4 20 input_variable: 3 0 0 2 1 0 360 60 0. If the concentrated force and moment is moved to the point ^ x ¼ ð1; 0Þm which is inside the inclusion, the input files should be prepared as follows. input_control: 2 3 1462 1 1 1.0e9 0.001 1.0e−6; 6 0 0 0; 1 0 0 0 input_elastic1: (same as Example 1 of Sect. 14.8.1) input_elastic2: 300e9 0.25 0.004 input_loadstr: 2 1 1000 1000 0 1000 1000 1000 1 0 20 input_variable: 3 0 0 2 1 0 360 60 0.
References Hsieh, M.C., and C. Hwu. 2006. Hygrothermal stresses in unsymmetric laminates disturbed by Elliptical Holes. ASME Journal of Applied Mechanics 73: 228–239. Hsu, C.W., and C. Hwu. 2020. Green’s functions for unsymmetric composite laminates with inclusions. Proceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences, 476: 20190437. Hsu, C.W., and C. Hwu. 2021. Correction of the existing solutions for hole/crack problems of composite laminates under coupled stretching-bending deformation. Composite Structures, 260: 113154. Hwu, C. 2003. Stroh-like formalism for the coupled stretching-bending analysis for composite laminates. International Journal of Solids and Structures 40: 3681–3705. Hwu, C. 2005. Green’s functions for holes/cracks in laminates with stretching-bending coupling. ASME Journal of Applied Mechanics 72: 282– 289. Hwu, C., and C.Z. Tan. 2007. In-plane/out-of-plane concentrated forces and moments on composite laminates with elliptical elastic inclusions. International Journal of Solids and Structures 44: 6584–6606. Hwu, C. 2010a. Anisotropic elastic plates. New York: Springer. Hwu, C. 2010b. Some explicit expressions of Stroh-like formalism for coupled stretching-bending analysis. International Journal of Solids and Structures 47: 526–536. Osacar, C., Palacian, J. and Palacios, M., 1995. Numerical evaluation of the dilogarithm of complex argument. Celestial Mechanics & Dynamical Astronomy 62(1): 93–95.
Boundary Element Analysis
15
Finite element method (FEM) and boundary element method (BEM) are two important and popular techniques for practical engineering problems. The main advantages of BEM over FEM are the reduction of the problem dimension by one and the exact satisfaction of certain boundary conditions for particular problems if their associated fundamental solutions are embedded in boundary element formulation. To know how BEM works, an overview will be presented in the first section of this chapter. To employ the special fundamental solutions for certain particular problems, some fundamental solutions derived from the Green’s functions presented in the previous chapters are shown in Sects. 15.2 and 15.3 for two-dimensional problems and coupled stretching-bending problems with an infinite space, holes, cracks, inclusions, and interfaces, etc. Following these Sections are the BEMs for two-dimensional anisotropic elastic analysis, piezoelectric/MEE analysis, viscoelastic analysis, thermoelastic analysis, dynamic analysis, coupled stretching-bending analysis, contact analysis, and three-dimensional analysis, which are stated based upon the works presented in Hwu and Liao (1994), Liang and Hwu (1996), Hwu (1999, 2010a, b, 2012), Chen and Hwu (2011, 2014), Hwu and Chang (2015a, b), Chang and Hwu (2016), Nguyen and Hwu (2017, 2018, 2019, 2020a, b, c), Hsu et al. (2019), Hsu and Hwu (2020, 2021), Hwu et al. (2017a, b, 2019a, b, 2020).
15.1
An Overview
15.1.1 Boundary Integral Equations The boundary integral equation is the basis of BEM, which may be written in different expressions for different types of problems. Followings are their expressions for the problems discussed in this chapter. (i) Two-dimensional anisotropic elastic analysis Z cij ðnÞuj ðnÞ þ
tij ðn; xÞuj ðxÞdCðxÞ
Z ¼
uij ðn; xÞtj ðxÞdCðxÞ; i; j ¼ 1; 2; 3;
C
C
ð15:1aÞ
n ¼ ð^x1 ; ^x2 Þ; x ¼ ðx1 ; x2 Þ: (ii) Two-dimensional anisotropic piezoelectric/MEE analysis Z cij ðnÞuj ðnÞ þ C
tij ðn; xÞuj ðxÞdCðxÞ ¼
Z
uij ðn; xÞtj ðxÞdCðxÞ;
C
ð15:1bÞ
i; j ¼ 1; 2; 3; 4; for piezoelectric materials, i; j ¼ 1; 2; 3; 4; 5; for MEE materials:
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2021 C. Hwu, Anisotropic Elasticity with Matlab, Solid Mechanics and Its Applications 267, https://doi.org/10.1007/978-3-030-66676-7_15
339
340
15
Boundary Element Analysis
(iii) Two-dimensional anisotropic viscoelastic analysis Z
^
^
cij ðnÞuj ðnÞ þ
Z
^
t ij ðn; xÞuj ðxÞdCðxÞ ¼
^
^
uij ðn; xÞ t j ðxÞdCðxÞ; i; j ¼ 1; 2; 3:
ð15:1cÞ
C
C
(iv) Two-dimensional anisotropic thermoelastic analysis Z cij ðnÞuj ðnÞ þ Z ¼
tij ðn; xÞuj ðxÞdCðxÞ
C
uij ðn; xÞtj ðxÞdCðxÞ þ
C
ð15:1dÞ
Z
bjk uij;k ðn; xÞTðxÞdXðxÞ;
i; j; k ¼ 1; 2; 3:
X
(v) Two-dimensional anisotropic dynamic analysis Z cij ðnÞuj ðnÞ þ Z ¼
tij ðn; xÞuj ðxÞdCðxÞ
C
uij ðn; xÞtj ðxÞdCðxÞ
C
Z
ð15:1eÞ uij ðn; xÞ½q€ uj ðxÞ
bj ðxÞdXðxÞ; i; j ¼ 1; 2; 3:
X
(vi) Coupled stretching-bending analysis Z cip ðnÞup ðnÞ þ Z ¼
_ tij ðn; xÞuj ðxÞdCðxÞ þ
Nc X
tic ðn; xk Þu3 ðxk Þ _
k¼1
C
uij ðn; xÞtj ðxÞdCðxÞ þ
C
Z
uij ðn; xÞqj ðxÞdXðxÞ þ
ui3 ðn; xk Þtc ðxk Þ;
ð15:1fÞ
k¼1
X
i; j ¼ 1; 2; 3; 4;
Nc X
p ¼ 1; 2; 3; 4; 5:
(vii) Three-dimensional anisotropic elastic analysis Z cij ðnÞuj ðnÞ þ
tij ðn; xÞuj ðxÞdCðxÞ ¼
C
Z C
uij ðn; xÞtj ðxÞdCðxÞ; i; j ¼ 1; 2; 3;
ð15:1gÞ
n ¼ ð^x1 ; ^x2 ; ^x3 Þ; x ¼ ðx1 ; x2 ; x3 Þ:
In the above, n and x represent, respectively, the source point and field point of the boundary integral equations; n ¼ ð^x1 ; ^x2 Þ and x ¼ ðx1 ; x2 Þ for two-dimensional or coupled stretching-bending analysis listed in (i)–(vi), and n ¼ ð^x1 ; ^x2 ; ^x3 Þ and x ¼ ðx1 ; x2 ; x3 Þ for three-dimensional analysis listed in (vii). C and X are the boundary and body of the elastic R solid. The symbol C denotes an integral taken in the sense of Cauchy principal value. cij ðnÞ are the free term coefficients dependent on the location of the source point n, which equals to dij =2 for a smooth boundary and cij ¼ dij for an internal point. The symbol dij is the Kronecker delta, i.e., dij ¼ 1 when i ¼ j and dij ¼ 0 when i 6¼ j. In practical applications, cij ðnÞ can be computed by considering rigid body motion, which will be stated detailed later in Sects. 15.4 and 15.7. uj ðxÞ and tj ðxÞ are the displacements and surface tractions at the field point x. uij ðn; xÞ and tij ðn; xÞ are, respectively, the displacements and tractions in the xj direction at point x corresponding to a unit point force acting in the xi direction applied at point n. All the other symbols which may be different for different problems are explained as follows.
15.1
An Overview
341
(i) The sub-indices i; j ¼ 1; 2; 3 means the values in the directions of x1 ; x2 and x3 . Although only two-dimensional problems are considered, all the physical responses in the third direction are included since they may not be zero for the general anisotropic elastic materials even they depend only on two variables x1 and x2 for two-dimensional deformation. (ii) The difference between Eqs. (15.1a) and (15.1b) is the sub-indices which are expanded to 4 for piezoelectric analysis, and expanded to 5 for magnetoelectroelastic analysis. As stated in Sects. 2.1.4 and 11.2.2, the fourth and fifth components of generalized displacements and tractions are related to the electric displacement Di , electric field Ei , magnetic flux Bi , and magnetic field Hi by u4;j ¼ 2e4j ¼ Ej ; t4 ¼ r4j nj ¼ Dj nj ¼ Dn ;
ð15:2Þ
u5;j ¼ 2e5j ¼ Hj ; t5 ¼ r5j nj ¼ Bj nj ¼ Bn : ^
(iii) The difference between Eqs. (15.1a) and (15.1c) is the appearance of the over-breve for viscoelastic analysis. As stated in Sect. 12.1 this symbol denotes the Laplace transform. In other words, the boundary integral equations shown in (15.1c) are the equations in the Laplace domain. All the physical responses in time domain should therefore be determined through numerical inversion of the Laplace transform stated in Sect. 12.1.3. (iv) The difference between Eqs. (15.1a) and (15.1d) is the extra term at the right hand side of (15.1d), which is a body integral reflecting the thermal effects through temperature change TðxÞ and thermal moduli bij (see Sect. 15.1.3 for the explanation of these two symbols). Because this term is a body integral instead of a boundary integral, to avoid body discretization on BEM an exact transformation for this body integral has been made as (Shiah et al. 2014) Z bjk uij;k ðn; xÞTðxÞdXðxÞ X
Z ¼
ð15:3aÞ
h i kjk vi ðn; xÞT;k ðxÞ vi;k ðn; xÞTðxÞ nj ðxÞdCðxÞ;
C
where kjk vi;jk ðn; xÞ ¼ bjk uij;k ðn; xÞ:
ð15:3bÞ
In (15.3), kij are the heat conduction coefficients and nj ðxÞ is the normal direction at the field point x. (v) The difference between Eqs. (15.1a) and (15.1e) is the extra term at the right hand side of (15.1e), which is a body integral reflecting the inertia effects. In (15.1e), q is the mass density, the over double dot € indicates the differentiation twice with respect to time, and bj is the body force. Like the thermoelastic analysis, to avoid body discretization on BEM by using the dual reciprocity method (Nardini and Brebbia 1982) an approximate transformation for this body integral has been made as (Chen and Hwu 2014) Z uij ðn; xÞ½q€uj ðxÞ bj ðxÞdXðxÞ X
¼
Np X p¼1
ðpÞ
where uj
ðpÞ
and tj
8 < ap
:
ðpÞ cij ðnÞuj ðnÞ þ
Z h
ðpÞ tij ðx; nÞuj ðxÞ
C
ðpÞ uij ðx; nÞtj ðxÞ
i
9 =
ð15:4Þ
dCðxÞ ; ; ðpÞ
are the particular solutions of displacements and tractions associated with the body force fj ; ap are the ðpÞ
unknown coefficients related to a series of known body force fj
by
342
15
q €uj ðxÞ bj ðxÞ ffi
Np X
ðpÞ
ap fj ðxÞ:
Boundary Element Analysis
ð15:5Þ
p¼1 ðpÞ
ðpÞ
Np is the number of the particular solutions. The selection of particular solutions fj ; uj Sect. 15.6.1.
ðpÞ
and tj
will be presented later in
_
(vi) The difference between Eqs. (15.1a) and (15.1f) are: (1) the appearance of the symbol , (2) the physical meaning of uj and tj , and the range of the sub-indices, (3) the surface integral related to the loads qi on the plate surface, (4) the summation terms related to the corner force tc and deflection u3 . These are explained as follows _
ui ðxÞ ¼ ui ðxÞ; i ¼ 1; 2; 4;
_
u3 ðxÞ ¼ u3 ðxÞ u3 ðnÞ;
ð15:6aÞ
and u1 ¼ u0 ; u2 ¼ v0 ; u3 ¼ w; u4 ¼ bn ; u5 ¼ bs ; t1 ¼ Tx ; t2 ¼ Ty ; t3 ¼ Vn ; t4 ¼ Mn ; tc ¼ Mnsþ Mns ; q1 ¼ qx ; q2 ¼ qy ; q3 ¼ q; q4 ¼ mn ;
ð15:6bÞ
where bn and bs are the negative slopes of deflection in normal and tangential directions; Tx and Ty are the x and y components of surface traction; Vn and Mn are the effective transverse shear force and bending moment on the surface with normal direction n; qx ; qy ; q and mn represent the distributed loads in x; y; z directions and the moment in n direction; tc is the corner force related to the twisting moments Mns ahead (+) and behind ðÞ of the corner. uij ðn; xÞ; tij ðn; xÞ and tic ðn; xÞ, i ¼ 1; 2; 3; j¼ 1; 2; 3; 4; are the fundamental solutions which represent, respectively, uj ; tj and tc at point x corresponding to ðn; xÞ and t4c ðn; xÞ, j = 1, 2, 3, 4, are the a unit point force acting in the xi direction applied at point n, whereas u4j ðn; xÞ, t4j fundamental solutions which represent uj , tj and tc at point x corresponding to a unit point moment acting on the surface with normal n applied at point n. Nc of the first summation term is related to the number of corners Nc by if the source point n is not a corner point; Nc ; Nc ¼ ð15:7Þ Nc 1; if the source point n is a corner point: In other words, when the source point n is a corner, the location xk of the corner of the summation terms in (15.1f) does not include the source point itself. Thus, no singularity occurs in the terms of summation. (vii) The difference between Eqs. (15.1a) and (15.1g) are the variables n and x used in the boundary integral equations. Two variables are used for two-dimensional analysis, whereas three variables for three-dimensional analysis. Note that even for two-dimensional analysis all the physical responses in the third direction are also included, which may cover the in-plane, anti-plane, or coupling of in-plane and anti-plane problems.
15.1.2 Fundamental Solutions—Greenbank Since the Green’s functions for the problems with an infinite space, an elliptical hole, a straight crack, an elliptical elastic inclusion, and a straight interface have been obtained for the two-dimensional analysis, their associated fundamental solutions uij ðn; xÞ and tij ðn; xÞ can be derived and will be presented in Sect. 15.2. Similarly, for the following discussions of the coupled stretching-bending analysis, the fundamental solutions for the problems with an infinite laminate, an elliptical hole, a straight crack, and an elliptical elastic inclusion will be presented in Sect. 15.3. In the computer programming, all these fundamental solutions can be called through the function Greenbank, which is designd and presented in F066 of Appendix F. Note that the fundamental solution for three-dimensional analysis will be presented in Sect. 15.9 and is not included in the function Greenbank.
15.1
An Overview
343
15.1.3 Interpolation Functions When performing BEM, the displacements uj ðxÞ and tractions tj ðxÞ along each element are assumed to have a linear or higher-order variation. The function behavior of each uj or tj needs not to be of the same order. In practice for the convenience of computational procedures it is usually to take all functions of uj and tj the same order. Followings are the elements for two-dimensional and coupled stretching-bending analyses taken in our computer codes. As to the three-dimensional analysis, we take the element shown in (15.247). (i) Linear element ð2Þ x ¼ -1 xð1Þ m þ -2 xm ð2Þ ð1Þ ð2Þ u ¼ -1 uð1Þ m þ -2 um ; t ¼ -1 tm þ -2 tm ; on the mth element
where
1 1 -1 ¼ ð1 1Þ; -2 ¼ ð1 þ 1Þ: 2 2
ð15:8aÞ
ð15:8bÞ
(ii) Quadratic element ð2Þ ð3Þ x ¼ -1 xð1Þ m þ - 2 xm þ - 3 xm ð2Þ ð3Þ ð1Þ ð2Þ ð3Þ u ¼ -1 uð1Þ m þ -2 um þ -3 um ; t ¼ -1 tm þ -2 tm þ -3 tm ; on the mth element
where
1 1 -1 ¼ 1ð1 1Þ; -2 ¼ ð1 þ 1Þð1 1Þ; -3 ¼ 1ð1 þ 1Þ: 2 2
ð15:9aÞ
ð15:9bÞ
(iii) Linear element with cubic deflection ð2Þ ð1Þ ð2Þ x ¼ -1 xð1Þ m þ -2 xm ; t ¼ -1 tm þ -2 tm ð1Þ ð2Þ ð2Þ ð1Þ ð2Þ u ¼ -1 uð1Þ m þ -2 um ; v ¼ -1 vm þ -2 vm ; bn ¼ -1 ðbn Þm þ -2 ðbn Þm ;
w¼
k1 wð1Þ m
þ k2 wð2Þ m
þ g1 ðbs Þð1Þ m
þ g2 ðbs Þð2Þ m ;
ð15:10aÞ
bs ¼ w;s ; on the mth element
where 1 1 -1 ¼ ð1 1Þ; -2 ¼ ð1 þ 1Þ; 2 2 1 1 2 k1 ¼ ð1 1Þ ð1 þ 2Þ; k2 ¼ ð1 þ 1Þ2 ð2 1Þ; 4 4 ‘m ‘m 2 g1 ¼ ð1 1Þ ð1 þ 1Þ; g2 ¼ ð1 þ 1Þ2 ð1 1Þ: 8 8
ð15:10bÞ
In the above, a symbol with subscript m denotes the value related to the mth element, and the subscripts 1, 2 and 3 (or the superscripts (1), (2) and (3)) denote the values of nodes 1, 2 and 3 of the mth element. ‘m is the length of the mth element. The variable 1 is the dimensionless local coordinate ranging from −1 to 1. The evaluation of the integrals along the boundary of each element requires the use of a Jacobian since all functions are now expressed in terms of 1. For the two-dimensional and the coupled stretching-bending problems discussed in this chapter, the transformation can be written as s ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 2 @x1 2 @x2 dCm ¼ jJm jd1; where jJm j ¼ : ð15:11Þ þ @1 @1
344
15
Boundary Element Analysis
Substituting the interpolation functions given in (15.8) and (15.9) into (15.11), we get ( ‘q for linear element m =2; ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ffi j Jm j ¼ ðam þ 1bm Þ2 þ ðcm þ 1dm Þ2 ; for quadratic element
ð15:12aÞ
where 1 ð3Þ ð1Þ ð2Þ ð3Þ xm xð1Þ m ; bm ¼ xm 2xm þ xm ; 2 1 ð3Þ ð1Þ ð2Þ ð3Þ ym yð1Þ cm ¼ m ; dm ¼ ym 2ym þ ym : 2
am ¼
ð15:12bÞ
In (15.12b), for the convenience of writing we use (x, y) to stand for the coordinate variable ðx1 ; x2 Þ.
15.1.4 Boundary Element Formulation With the interpolation functions introduced in Sect. 15.1.3 for each element, by following the standard procedure of BEM (Brebbia et al. 1984) the boundary integral equations (15.1a–g) for different types of problems (if the involved body integrals are ignored temporarily) will all lead to a system of algebraic equations, which can be written in matrix from as Ye ue ¼ Ge te þ qe ;
ð15:13Þ
where Ye and Ge are the influence matrices of the entire body, ue and te are, respectively, vectors for the nodal displacements and tractions of the entire boundary element; qe is the extra term contributed by thermal effects, inertia effects, or surface loads. The details of Ye ; Ge ; ue , te , and qe for different integral Eqs. (15.1a–f) will be shown later in Sects. 15.4–15.7.
15.1.5 Boundary-Based Finite Element A special boundary element can be established by using a special fundamental solution such as that for the problem with a single hole or crack. If there are multiple holes and cracks inside the body, subregion technique can be applied to make each subregion contains one hole or one crack (Hwu and Liao 1994). The final system of equations for the whole region is then obtained by adding the set of equations for each subregion together with compatibility and equilibrium conditions between their interfaces. Therefore, if several holes and cracks appear in the anisotropic elastic solid, the system of equations will become complicated due to the requirement of compatibility and equilibrium along all the interfaces of subregions. For example, if we have an internal point intersected by four subregions (e.g., point A of Fig. 15.1), to describe the difference of tractions on different surfaces we need 8 nodes to represent this point.
Fig. 15.1 Node at the junction of subregion
15.1
An Overview
345
To satisfy the compatibility and equilibrium along the interfaces, we set t1 ¼ t8 ; t4 ¼ t5 ; t2 ¼ t3 ; t6 ¼ t7 ; and u1 ¼ u2 ¼ u3 ¼ u4 ¼ u5 ¼ u6 ¼ u7 ¼ u8 . Similar situation occurs for the other intersection points or corners, and hence the system of equations becomes complicated when the subregions increase. To avoid the trouble caused by the subregion, here we transform the special boundary element into a super finite element and combine all of them by following the rule of finite element. If we treat the subregion enclosed by the boundary elements as a super finite element, the system of simultaneous linear algebraic equations can be written in the form of (15.13). In the finite element method the continuum is divided into a series of elements which are connected at a finite number of points known as nodal points. If the finite element displacement method is considered, the variation of displacement within each element is assumed to be described by means of proper shape functions together with unknown displacement values at the nodal points such as u ¼ Nue ;
ð15:14Þ
where u is the vector of displacements at any point of the element; N is the set of shape functions, ue is the vector of nodal displacements of the element. The minimization of the total potential energy of element with respect to the nodal displacements results in a standard finite element system as Ke ue ¼ f e ;
ð15:15Þ
where Ke is the element stiffness matrix, and f e is the vector of element nodal forces. If the body forces are neglected, the nodal force f e is related to the surface traction by Z fe ¼ N T tdC; ð15:16Þ Ce
where Ce is the boundary of the element. By comparing the system of equations (15.13) with (15.15), we see that the key approach to transform the results of boundary element into an equivalent finite element is deriving the relation between element nodal force f e and traction te through (15.16). Since the essential feature of boundary element is that discretization is made only on the boundary instead of the entire region, the set of shape functions N required in (15.14) for the approximation of field displacements in the entire element region is unknown. Fortunately, to find the equivalent nodal force through (15.16), only the shape functions along the boundary is required for the integration. From (15.8) or (15.9) we see that the displacements and tractions along the mth element of the boundary are approximated as u ¼ Num ; t ¼ Ntm ;
ð15:17Þ
Substituting (15.17)2 into (15.16), we obtain fe ¼
M Z X m¼1
N T ðNtm ÞdCm ¼
M X
Wm tm ¼We te ;
ð15:18Þ
m¼1
Cm
where M is the number of boundary element in the subregion, and Z Wm ¼ N T NdCm :
ð15:19Þ
Cm
Substituting (15.18) into (15.13) with qe ¼ 0, we get Ke ue ¼ f e ;
ð15:20aÞ
Ke ¼ We G1 e Ye :
ð15:20bÞ
where
346
15
Boundary Element Analysis
In general, unlike the finite element formulation, the equivalent stiffness matrix Ke obtained from (15.20b) is asymmetric. In the literature, there are some discussions about the symmetrization (Brebbia et al. 1984) such as the replacement by 1 Ke ! ðKe þ KTe Þ: 2
ð15:21Þ
In our formulation, we only transform the boundary element to finite element, and will not consider the combination of finite element method and boundary element method. And hence, the equivalent stiffness matrix Ke is constructed by (15.20b) and no further symmetrization like (15.21) is made. Note that in order to calculate the stiffness matrix from (15.20b), the operation of inverse will be performed on the matrix Ge . To avoid the possible singularity of the matrix Ge , the double nodes commonly used on the corner of boundary element should be represented by two nodes with slightly different positions instead of the same position.
15.1.6 Computational Procedure Step 1: Input mesh information and boundary condition. The mesh information and boundary condition are input through three textfiles: input_xn, input_node1 and input_bc. The first one is for the coordinates of boundary nodes, the second one is for the element-node connection, and the third one is for the boundary conditions. If a coupled stretching-bending problem is considered, an additional textfile file input_corner is required for the information of corner-node connection. If a problem with multiple holes, cracks, and inclusions are solved using boundary-based finite element method, additional input files input_node2, input_node3, …,etc. are required for the additional sub-region 2, 3, …, etc. After reading the input files, some other mesh information such as the normal directions of each element and each source point are generated. The function operating this procedure is BEMmesh. Step 2: Calculate the fundamental solutions uij ðn; xÞ and tij ðn; xÞ. Calculate the fundamental solutions for the problems shown in Sect. 15.1.2. The problem type is denoted by the controlled number Ltype described later in Sect. 15.1.7. The function working on this calculation is Greenbank presented in Sect. 15.1.2. Note that for the coupled stretching-bending problems, the fundamental solutions also include tic ðn; xk Þ and ui3 ðn; xk Þ of (15.1f), which is related to the corners. Step 3: Calculate the influence matrices Y and G. With the fundamental solutions calculated by Greenbank, the influence matrices Y and G at each source point n are managed by two functions BEMinfluence and BEMinfluenceIN. The former is for the boundary node, and the latter is for the internal point. In these two functions, the main calculation is performed by function BEMinfluence_YG through the numerical integration scheme coded according to the Gaussian quadrature rule. This rule is coded in the sub-function Gauss (see Sect. 4.4.2). Since this integration method is not valid for the singular integrals, a special treatment is necessary to calculate Y for the source point located within the elements, which is performed by the consideration of rigid body motion and will be stated later in Sects. 15.4 and 15.7.1. In addition, two more functions, BEMinfluence_Cc and BEMinfluence_Yt, are designed for the coupled stretching-bending analysis to deal with the problems related to the corners and variable transformation. Step 4: Construct the algebraic system of equations. After getting the influence matrices through function BEMinfluence, the system of algebraic Eq. (15.13) is constructed in the sub-functions of BEMbankB with the aid of function BEM_YGtoVg. For the problems of thermal elastic analysis, dynamic analysis, or coupled stretching-bending analysis, additional sub-functions BEMload_thermo, BEMload_dynamic, BEMload_couple are coded for the calculation of body integrals (see Eqs. (15.1d), (15.1e), and (15.1f)). Step 5: Calculate the nodal displacements, tractions, strains and stresses. After constructing the algebraic system of equations, the nodal displacements and tractions can be solved by using the Gauss elimination method coded in function Gauss_elimination (see Sect. 8.5.2). With the obtained displacements and tractions, further calculation is carried out to get the strains and stresses at the boundary nodes. All these works are executed in the sub-functions of BEMbankB.
15.1
An Overview
347
Step 6: Calculate the internal displacements, strains and stresses. The displacements, strains and stresses at the internal point are calculated by the sub-functions of BEMbankIN. The associated functions are BEMinfluenceIN, BEMinfluence_Yt, BEMload_couple, Greenbank, etc. In these functions the control parameter Ytype = 11 is used to indicate the calculation of the derivatives of influence matrices YðnÞ and GðnÞ, which are differentiated with respect to the source point n. For the coupled stretching-bending analysis, the values to be calculated become mid-plane strain, curvatures, stress resultants and bending moments at the internal points.
15.1.7 Program Structure—BEMbankB, BEMbankIN Based upon the computational procedure stated in the previous section, two main functions are designed for the boundary element method (see part IV of Fig. 3.1). One is BEMbanB for the calculation of the displacements, tractions, strains and stresses on the boundary nodes, and the other is BEMbankIN for the calculation of displacements, strains and stresses at the internal points. All the functions collected in BEMbankB and BEMbankIN will be stated later in the following sections. The control parameters, global variables, input files, and these two main functions are arranged as follows. Control parameters The type of problem solved through boundary element method is categorized by the control parameters: Btype and Ltype, whose details are as follows. Btype = 1: linear element. Btype = 2: quadratic element. Btype = 3: linear element with cubic deflection. Ltype = 1: BEM for two-dimensional (2D) problem. Ltype = 2: BEM for 2D problem with a straight line boundary. Ltype = 3: BEM for 2D problem with an interface. Ltype = 4: BEM for 2D problem with a hole. Ltype = 5: BEM for 2D problem with a crack. Ltype = 6: BEM for 2D problem with a rigid inclusion. Ltype = 7: BEM for 2D problem with an elastic inclusion. Ltype = 8: BEM for 2D problem with multiple regions such as multiple holes, cracks and inclusions in one body, or multiple materials in one body, etc. Ltype = 11–18: same as Ltype = 1–8 except that the material is piezoelectric or MEE. Ltype = 21–28: same as Ltype = 1–8 except that the material is viscoelastic. Ltype = 31–38: same as Ltype = 1–8 except that the thermal environment is considered. Ltype = 41–48: same as Ltype = 1–8 except that static problem becomes dynamic problem. Ltype = 51–57: same as Ltype = 1–7 except that 2D problem becomes coupled stretching-bending problem. Due to the lack of fundamental solutions, some types such as Ltype = 52, 53, and 58 are unavailable. Ltype = 61–68: BEM for 2D contact problems. For Ltype = 61–67, an elastic half-plane indented by multiple rigid punches is considered by using fundamental solutions like Ltype = 1–7 for the elastic half-plane. Ltype = 68 is a BEM for 2D contact problems of two elastic bodies. These types are also applicable for the contact problems with viscoelastic materials, which are distinguished by letting Vtype 6¼ 0. Ltype = 71: BEM for three-dimensional (3D) problem. Note that the holes and inclusions considered in Ltype = 4, 6, 7, 8 and their related Ltypes considers only the elliptical holes/inclusions which include circular holes/inclusions, cracks and line inclusions as special cases. Global variables Symbol
Variable
Description
a, b
a, b
Half-length of the major and minor axes of ellipse
N
nnode
Number of nodes (include regular nodes and corners)
Nc
ncorner
Number of corners for coupled stretching-bending analysis
M
nelement
Number of element
–
node12
node12 (k, i): ith node of kth-element
–
corner12
corner12 (k, i): i = 1, the node behind of the kth-corner; i = 2, the node ahead of the kth-corner (continued)
348
15
Boundary Element Analysis
Symbol
Variable
Description
–
element12
element12 (j, i): i = 1: the element behind node j; i = 2: the element ahead of node j; i = 3: the element containing node j as the mid-point
–
bc
bc (k, i): boundary condition of the kth node, k: kth-node; …plane problems (Dtype = 1 or 2 or …): i = 1 * dim: traction-prescribed or displacement-prescribed or contact, 0: traction-prescribed, 1: displacement-prescribed, 2: contact; i = dim + 1 * dim2: prescribed values of tractions or displacements, set to be zero for contact boundary; i = dim2 + 1 * dim3: prescribed values of acceleration for dynamic problems (if displacement is prescribed); i = dim2 + 1 * dim3: initial values of displacement for dynamic problems (if displacement is unknown in time history, traction-prescribed); i = dim3 + 1 * dim4: initial values of velocity for dynamic problems (if displacement is unknown in time history, traction-prescribed); (Note: dim = 3: anisotropic, dim = 4: piezoelectric, dim = 5: MEE, dim2 = dim*2, dim3 = dim*3, dim4 = dim*4) …coupled stretching-bending problems (Dtype = 3 or …): i = 1–4: displacement-prescribed or traction-prescribed, 1: displacement-prescribed, 0: traction-prescribed; i = 5–8: prescribed values of displacements or tractions, if meshes contain corner points, additional variables - corner force should be considered, which is added after nnode. Thus, when knode > nnode, i = 1: deflection-prescribed or corner force-prescribed, 1: deflection-prescribed, 0: corner force-prescribed; i = 2: prescribed values of deflection or corner force
xn
xn
Position of the nth node; xn (n, i): n: nth-node; i = 1, x1-coordinate; i = 2, x2-coordinate
xð1Þ m
xm1
Position of the 1st node of the mth element; xm1 (i,m): m: mth-element; i = 1, x1-coordinate; i = 2, x2-coordinate
xð2Þ m
xm2
Position of the 2nd node of the mth element; xm2 (i,m): m: mth-element; i = 1, x1-coordinate; i = 2, x2-coordinate
xð3Þ m
xm3
Position of the 3rd node of the mth element; xm3 (i, m): m: mth-element; i = 1, x1-coordinate; i = 2, x2-coordinate (only for quadratic element)
hk
theta_x
Theta_x(k): direction angle of the kth element
hj
theta_xi
Theta_xi(j): direction angle of the jth node
‘k
ds
ds(k): length of the kth element
ub
ub
ub(i,j): ith displacement component of jth boundary node
ub;1
ub_1
ub_1(i,j): derivative of the boundary displacement with respect to x1 at the jth boundary node
ub;2
ub_2
ub_2(i,j): derivative of the boundary displacement with respect to x2 at the jth boundary node
u
ui
Vector of displacements at the internal point xi
u;1 ; u;2
ui_1,ui_2
Derivatives of the vector of displacements with respect to x1 or x2 at the internal point xi
tb
tb
tb(i,j): ith traction component of the jth boundary node
r1
tb1
tb1(i,j) = (r11 ; r21 ; r31 ): stress vector 1 at jth boundary node
r2
tb2
tb2 (i,j) = (r12 ; r22 ; r32 ): stress vector 2 at jth boundary node
r1
ti1
ti1 = (r11 ; r21 ; r31 ): stress vector 1 at the internal point xi
r2
ti2
ti2 = (r12 ; r22 ; r32 ):stress vector 2 at the internal point xi
wc
uc
uc (j): deflection of the jth corner node
tc
tc
tc (j): corner force of the jth corner node
^ u
u_hat
u_hat (i, j): prescribed value of the displacement in the ith direction of the jth node
^t
t_hat
t_hat (i, j): prescribed value of the traction in the ith direction of the jth node
^ w
uc_hat
uc_hat (j): prescribed value of the corner deflection in the jth corner node
^tc
tc_hat
tc_hat (j): prescribed value of the corner force in the jth corner node
–
u_vc
Variable condition of displacement in the ith direction of the jth node; u_vc (i, j) = 1: is an unknown variable; u_vc (i, j) = 0: is known and not a variable
–
t_vc
Variable condition of traction in the ith direction of the jth node; t_vc (i, j) = 1: is an unknown variable; t_vc (i, j) = 0: is known and not a variable
–
uc_vc
Variable condition of deflection in the jth corner node; uc_vc (j) = 1: is an unknown variable; uc_vc (j) = 0: is known and not a variable
–
tc_vc
Variable condition of corner force in the jth corner node; tc_vc (j) = 1: is an unknown variable; tc_vc (j) = 0: is known and not a variable
15.1
An Overview
349
Input files When using BEMbankB, additional input files are required to input mesh information, boundary conditions and other necessary data for the boundary element method. (i) input_loadstr.txt: load and structural information The information required in input_loadstr.txt depends on the type of problem, which is denoted by the control parameter Ltype. The first line of input_loadstr.txt for each subregion is prepared according to the second digit of Ltype, whereas the data of its second line is prepared according to the first digit of Ltype. Followings are the information provided in input_loadstr.txt. The first line of input_loadstr.txt: When Ltype = 3, 13, 23, 33, 43 (interface) Btype, nG ; x0 ; y0 ; a0 ; ðm1 ; m2 Þ When Ltype = 4, 14, 24, 34, 44, 54, 64 (hole). or 6, 16, 26, 36, 46, 56, 66 (rigid inclusion) Btype, nG ; x0 ; y0 ; a0 ; a; b; ðmi Þ When Ltype = 5, 15, 25, 35, 45, 55, 65 (crack) Btype, nG ; x0 ; y0 ; a0 ; a; ðmi Þ When Ltype = 7, 17, 27, 37, 47, 57, 67 (elastic inclusion) Btype, nG ; x0 ; y0 ; a0 ; a; b; ns ; ðm1 ; m2 Þi When Ltype = others (2D-BEM or couple-BEM or 3D-BEM). Btype, nG ; x0 ; y0 ; a0 for 2D-BEM or couple-BEM. Btype, nG ; ng for 3D-BEM. In the above, nG is the number of Gaussian points used for the line integral of 2D-BEM and couple-BEM, or the surface integral of 3D-BEM; ng is the number of Gaussian points used for the circumferential integral of 3D-BEM, such as those shown later in (15.243)–(15.244); ðx0 ; y0 Þ is the center of local coordinate, and a0 is the angle between global and local coordinates (see Fig. 15.4); a; b are two parameters to describe the contour of ellipse (see Eq. (6.1)); ns is the number of estimated terms for infinite series; ðm1 ; m2 Þi or ðmi Þ means the additional data denoting the material serial number which should be added for the problem with multiple regions treated by BFEM whose original Ltype is set to be 8, 18, 28, 38, or 48. Here, m1 and m2 denote, respectively, the serial number of the 1st and 2nd material used in the ith subregion which contains two different materials, and mi is the serial number of the material used in the ith subregion which involves only one material. The second line of input_loadstr.txt: For thermoelastic analysis, dynamic analysis, couple stretching-bending analysis, or contact analysis, additional data should be input at the 2nd row of input_loadstr as follows. When Ltype = 31–38 (thermoelastic 2D-BEM) nF ; nh ; c When Ltype = 41–48 (dynamic 2D-BEM) 1; q (free vibration) ^ (steady state) 2; q; b1 ; b2 ; b3 ; x 31; q; b1 ; b2 ; b3 (transient by Houbolt’s algorithm) 32; q; b1 ; b2 ; b3 ; S (transient by modal superposition method) When Ltype = 51–57 (couple-BEM) Mq ; nA ; ðq; x1 ; x2 ; x3 ; x4 Þi ; i ¼ 1; 2; . . .; nq When Ltype = 61–67 (contact-BEM with multiple rigid punches) np ; nI ; g1 ; g2 ; . . .; gnp ; ðq1 ; q2 ; q3 ; m; d; w; n1 ; n2 ; nf ; c; nq ; cq Þk ; k ¼ 1; 2; . . .; np ; nu ; cu Note: ðnq ; cq Þk ; k ¼ 1; 2; . . .; np and nu ; cu are input only when Vtype 6¼ 0.
350
15
Boundary Element Analysis
When Ltype = 68 (contact-BEM with two elastic/viscoelastic solids) ð1Þ ð2Þ ð1Þ ð2Þ g; nC ; nI ; nu ; nu ; cu ; cu ; ðna ; nb Þk ; k ¼ 1; 2; . . .; nC ð1Þ
ð2Þ
ð1Þ
ð2Þ
Note: ðnu ; nu ; cu ; cu Þ are input only when Vtype 6¼ 0. In the above, nF is the number of Fourier series for the thermal fundamental solution (15.88b); nh is the number of Gaussian points for the integrals related to the coefficients of Fourier series, (15.89); c is the heat generation rate used in (15.90); q is the mass density; ðb1 ; b2 ; b3 Þ are the components of body forces which have been assumed to be uniformly ^ is the frequency of the external harmonic force (see Sect. 15.6.4); S is the number of natural modes used in distributed; x modal superposition method (see Eq. 15.116); Mq is the number of quadrilateral elements used for the surface integral of lateral loads (see Eq. 15.135); nA is the number of Gaussian points used for the surface integral; qi is the vector of lateral load in the ith quadrilateral element; ðx1 ; x2 ; x3 ; x4 Þi are the coordinates of the four nodes of the ith quadrilateral element (see Fig. 15.7); np is the number of punches considered in the contact problem; nI is the number of iteration used in contact analysis; ðg1 ; g2 ; . . .; gnp Þ are the friction coefficients of all punches; ðq1 ; q2 ; q3 Þ is the load vector applied on the kth punch; m is the moment applied on the kth punch; d is the center location of the kth punch (only the value of x-coordinate is input); w is the width of the kth punch; (n1, n2) are the starting and ending node number of the kth punch; nf is the order of the polynomial used to describe the head profile of the kth punch, e.g. nf = 0 for a flat-ended punch, nf = 1 for a wedge-shape punch, and nf = 2 for a parabolic punch; c is a vector of polynomial coefficients, e.g., c = 0 for y = 0 of a falt-end punch, c = [0,c] for y = cx of a wedge shape punch, and c = [0,0,1/2R] for y = x2/2R of a parabolic punch. If the foundation is considered to be viscoelastic and the loads applied on each punch are time-dependent, additional data related to the time-dependent load function should be input, which is denoted by nq and cq. Here, nq is the order of the polynomial used to describe the time-dependent load function applied on the kth punch, and cq like c for punch profile is a vector of containing the coefficients of the load function. Moreover, the function used to describe the time-dependent prescribed-tractions/displacements should also be input for the contact with viscoelastic foundation, which is denoted by nu, cu. If only time-independent functions are considered for load and prescribed-tractions/ displacements, we set nq = nu = 0, cq = cu = 1. When Ltype = 68, g is the friction coefficient of contact bodies, nC is the number of node pairs, ð1Þ
ð1Þ
ð2Þ
ð2Þ
is the kth node pair, and nu ; cu and nu ; cu are, respectively, the input values denoting the time-dependent prescribed-tractions/displacements of contact bodies A and B. (ii) input_xn.txt: nodal coordinates The textfile of input_xn.txt contains the information of coordinates of nodal points which are arranged in clockwise sequence and the input data will be assigned to xn(k, i), k = 1, 2,…, nnode and i = 1, 2 (2D) or i = 1, 2, 3 (3D). In other words, the textfile of input_xn.txt has nnode rows and each row contains two or three values, i.e., (x1 , x2 ) or (x1 , x2 , x3 ) of the kth node for the kth row. Here, nnode stands for the number of total nodal points. For the problem with multiple regions solved by using Ltype = 8 or its associated Ltype, nnode stands for the number of total nodal points in the subregion, which may vary for different subregion, and nnodeT is used to denote the number of total nodal points in the entire region. Note that for the corner points, two nodes with different traction surfaces are usually used to denote one corner, and both nodes belong to boundary nodes of 2D-BEM or coupled-BEM. In some conditions these two nodes can be described by using the same coordinate. However, if degeneracy occurs due to the dependent equations of the same coordinate, two different but closer nodes are suggested for the two nodes of one corner. For coupled-BEM, the nodal points include not only boundary nodes but also corner nodes (together with two other boundary nodes for one corner, totally three nodes are used to denote one corner for coupled-BEM, see Fig. 15.2). Hence, nnode = nnodeB + ncorner for coupled-BEM, and nnode = nnodeB for 2D-BEM, where nnodeB and ncorner are, respectively, the numbers of boundary nodes and corner nodes. The nodes are numbered from 1 to nnodeB for all boundary nodes, and then from nnodeB + 1 to nnode for all corner nodes, and all nodes are in the sequence that the node number is chosen so that when one faces the direction of increasing node number the body lies on the right hand side.
15.1
An Overview
351
Fig. 15.2 Double nodes or triple nodes for a corner point
(iii) input_node1.txt: element-node connection The element-node connection is described through the matrix node12(k, i), where k = 1,2,…, nelement, i = 1,2 for Btype = 1, and i = 1, 2, 3 (2D), or i = 1, 2,…,8 (3D) for Btype = 2. The value of node12(k, i) denotes the ith node of the kth element, which is input through the textfile of input_node1.txt. In other words, input_node1.txt has nelement rows and each row contains two, three, or eight values, i.e., (node1, node2), (node1, node2, node3), or (node1, …, node8) of the kth element for the kth row. Same format is required for input_node2.txt, input_node3.txt,… of the 2nd, 3rd,…region. (iv) input_bc.txt: boundary condition For 2D-BEM or 3D-BEM, the data of input_bc.txt will be assigned to a nnode dim2 matrix bc(k, i), k = 1, 2,…, nnode, i = 1, 2,…, dim2. The value of bc(k, i) for i = 1,…, dim can only be 0 or 1 or 2 in which 0 means that xi -direction of the kth node is traction-prescribed, 1 means displacement-prescribed, and 2 means contact. The associated prescribed values of traction or displacement for the xi -direction (i = 1,…,dim) of the kth node will then be given in bc(k, i) for i = dim + 1,…, dim2. Here, dim = 3 for the problems with anisotropic elastic materials, dim = 4 for piezoelectric materials, and dim = 5 for MEE materials, and dim2 = dim*2. Note that for dynamic problems additional data related to acceleration and initial displacement and velocity should also be provided through input_bc.txt (see the explanation given in Global variable for bc). For coupled_BEM, the data of input_bc.txt will be assigned to a nnode 8 matrix bc(k, i), k = 1, 2,…,nnode, i = 1, 2, …,8. Here, the dimension of bc(k, i) is different from that of 2D-BEM because the degree of freedom of boundary node and corner node is, respectively, 4 and 1 instead of 3. For boundary node, the value of bc(k, i) for i = 1, 2, 3, 4 can only be 0 or 1 where 0 means traction-prescribed, while 1 means displacement-prescribed. The associated prescribed values of traction or displacement of the kth node will then be given in bc(k, i) for i = 5, 6, 7, 8. Similarly, for corner node, the value of bc(k, 1) can only be 0 or 1 where 0 means traction-prescribed, while 1 means displacement-prescribed. The associated prescribed values of corner force or deflection of the kth corner will then be given in bc(k, 2). Note that the index k is from 1 to nnodeB for all boundary nodes, and then from nnodeB + 1 to nnode for all corner nodes. If Ptype 6¼ 0 is chosen for piezoelectric or MEE materials, the matrix size of bc should be expanded from nnode 8 to nnode 12 for piezoelectric materials, or to nnode 16 for MEE materials, and the arrangement of input_bc.txt should then be changed accordingly. (v) input_corner.txt: corner-node connection for coupled-BEM The corner-node connection is described through the matrix corner12(k, i), k = 1, 2,…, ncorner, i = 1, 2, which is a ncorner 2 matrix. The value of corner12(k, i) denotes the ith node of the kth corner, which is input through the textfile of input_corner.txt. In other words, input_corner.txt has ncorner rows and each row contains two values, i.e., (node1, node2) of the kth corner for the kth row. Note that node1 is the node behind of the kth corner and node2 is the node ahead of the kth corner.
352
15
Boundary Element Analysis
(vi) input_temp.txt and input_tempIN.txt: temperature for thermoelastic problem Temperature and its derivatives with respect to x1 and x2 at each node are treated as known values in thermal-BEM of AEPH. And hence, their values obtained from the other sources such as ANSYS should be input through input_temp.txt, and then stored in the matrix of temp(i, j), i = 1, 2,…, nnode, j = 1, 2, 3. Here, temp(i, 1) = T of the ith node, temp(i, 2) = T,x of the ith node, temp(i, 3) = T,y of the ith node, and T is the temperature. If the thermal stresses at the internal points are required, the temperature of internal points should be input through input_tempIN.txt. The values of this input file will then be stored in the vector of tempIN(k) which means that the temperature at the kth internal point. (vii) input_xnp.txt: source point of particular solution for dynamic problem As described later in Sect. 15.6.1 for the general dynamic analysis, to solve this kind of problems, an extra input file is required for the arrangement of source points of particular solutions. (viii) input_qt: external load for transient analysis of dynamic problem External load, q(t), which is assumed to be independent of position, should be provided for transient analysis. This load is input as a vector q whose ith component qi corresponds to the value of qðti Þ in which ti ¼ t0 þ ði 1ÞDt; where Dt is the time step size. Two main functions All the problems of boundary element analysis are managed by two main functions, BEMbankB and BEMbankIN. The sub-functions collected in BEMbankB are responsible for the solutions of boundary nodes, and those collected in BEMbankIN are for the solutions of internal points. These two main functions are designed and presented in F028 and F029 of Appendix F. Note that the associated functions for three-dimensional analysis are BEM3DelasticB and BEM3DelasticIN, which are not collected in BEMbankB and BEMbankIN, and will be presented in Sect. 15.9. Function description As shown in part IV of Fig. 3.1, several functions are designed in AEPH for the implementation of BEM. To have an overview on functions of BEM, the task of a certain key function used in BEM is described below. Function BEMmesh: generates the information of boundary element mesh for two-dimensional analysis and coupled stretching-bending analysis. Function BEMbankB: collects all the functions for solving the displacements, strains, and stresses of the boundary nodes. The sub-functions collected here are: BEM2DelasticB (for both elastic and piezoelectric analysis), BEM2DviscoB, BEM2DthermoB, BEM2DdynamicB, BEMcoupleB and BEMcontactB, which are associated with the six different boundary integral equations stated in (15.1a)–(15.1f). Function BEMbankIN: similar to BEMbankB except that all its sub-functions work for the internal points instead of the boundary nodes. Function BEMinfluence: calculates the influence matrices Y and G associated with the boundary node. Its associated functions are: BEMinfluence_Cc, BEMinfluence_YG, BEMinfluence_Yt, BEM_YGtoVg, BEMload_thermo, BEMload_dynamic, and BEMload_couple. Function BEMinfluenceIN: similar to BEMinfluence except that it works for the internal points instead of the boundary nodes. Function Greenbank: provides the Green’s functions (fundamental solutions) of displacements and tractions for different types of problems (see Sect. 15.1.2 for the computer code and its detailed explanation).
15.2
Fundamental Solutions for Two-Dimensional Anisotropic …
15.2
353
Fundamental Solutions for Two-Dimensional Anisotropic Elastic Analysis
The fundamental solutions uij ðn; xÞ and tij ðn; xÞ for two-dimensional anisotropic elastic analysis can be derived from the associated Green’s functions presented in the previous chapters, such as (4.7) for an infinite space, (4.22) for a half-space, (4.34) for a bimaterial, (6.20) for an elliptical hole, (7.15) for a straight crack, (8.21) for an elliptical rigid inclusion, and (8.14) for an elliptical elastic inclusion. The detailed derivation of these Green’s functions can be found in Hwu (2010a). By using the matrix form, uij ðn; xÞ and tij ðn; xÞ can be expressed as U ðn; xÞ and T ðn; xÞ. If only one material is involved, the solutions can be written as U ¼ 2Ref½AFðzÞT g; T ¼ 2Ref½BF;s ðzÞT g:
ð15:22Þ
If two materials are considered such as the problems of bimaterials and the problems with inclusions, the solutions can be written as U1 ¼ 2Ref½A1 F1 ðzÞT g; T1 ¼ 2Ref½B1 F1;s ðzÞT g; U2 ¼ 2Ref½A2 F2 ðz ÞT g; T2 ¼ 2Ref½B2 F2;s ðz ÞT g:
ð15:23Þ
The complex function matrices F; F1 ; F2 and their derivatives F;s ; F1;s ; F2;s for each different problem will be presented in the following subsections. Note that the subscript “,s” denotes the derivative with respect to the tangential direction s ¼ ðs1 ; s2 Þ of the boundary. The tangential direction can be expressed by the tangential angle h as (Fig. 15.3) s1 ¼
@x1 @x2 ¼ cos h; s2 ¼ ¼ sin h: @s @s
ð15:24Þ
15.2.1 An Infinite Plane—G1inf2D The fundamental solutions of the complex function matrices F and its derivative F;s associated with the problem discussed in Sect. 4.1.3 are FðzÞ ¼
~sa 1 1 \ lnðza ^za Þ [ AT ; F;s ðzÞ ¼ \ [ AT ; 2pi 2pi za ^za
ð15:25aÞ
where ~sa ¼ s1 þ la s2 : From (15.25), the derivatives necessary for the calculation of internal strains and stresses are
Fig. 15.3 tangential and normal directions
ð15:25bÞ
354
15
Boundary Element Analysis
~sa^za;i @FðzÞ 1 ^za;i @F;s ðzÞ 1 \ \ ¼ [ AT ; ¼ [ AT ; i ¼ 1; 2; @^xi 2pi za ^za @^xi 2pi ðza ^za Þ2
ð15:26aÞ
^za;1 ¼ 1; ^za;2 ¼ la :
ð15:26bÞ
where
With the solutions given in (15.25) and (15.26) function G1inf2D is designed and presented in F052 of Appendix F.
15.2.2 A Half Plane—G2half2D From the solutions provided in Sect. 4.2.1, the fundamental solution associated with the half-plane can be obtained as ( ) 3 X 1 T T ðkÞ 1 \pa [ A þ \qa [ B BIk A ; FðzÞ ¼ ð15:27Þ 2pi k¼1 ðkÞ
where pa , qa and their derivatives are pa ¼ lnðza ^za Þ; qðkÞ a
¼ lnðza ^zk Þ;
pa;s ¼ qðkÞ a;s
~sa ; za ^za
~sa ¼ ; za ^zk
@pa ^za;i ¼ ; @^xi za ^za ðkÞ
@qa ^zk;i ¼ ; @^xi za ^zk
~sa^za;i @pa;s ¼ ; @^xi ðza ^za Þ2 ðkÞ
~sa^zk;i @qa;s ¼ : @^xi ðza ^zk Þ2
ð15:28Þ
Based upon the solutions presented in (15.27) and (15.28), function G2half2D is designed and presented in F055 of Appendix F.
15.2.3 Interfaces—G3interface2D From the solutions provided in Sect. 4.3.1, the fundamental solution associated with the interfaces can be obtained as ( ) 3 X 1 T ðkÞ \pa [ A1 þ \qa [ Ak ; F1 ðzÞ ¼ 2pi k¼1 ð15:29aÞ 3 X ^ 1 F2 ðz Þ ¼ \gðkÞ a [ Ak ; 2p k¼1 where 1 Ak ¼ A1 1 ðM2 þ M1 Þ ðM2 M1 ÞA1 Ik A1 ; T
ð15:29bÞ
^
1 T T Ak ¼ A1 2 ðM2 þ M1 Þ A1 Ik A1 : ðkÞ
ðkÞ
In (15.29a), pa , qa and their derivatives are the same as those shown in (15.28), and ga and its derivatives are zk Þ; gðkÞ a ¼ lnðza ^
gðkÞ a;s ¼
~sa ; za ^zk
ðkÞ
@ga ^zk;i ¼ ; @^xi za ^zk
ðkÞ
~sa^zk;i @ga;s ¼ : @^xi ðza ^zk Þ2
ð15:30Þ
15.2
Fundamental Solutions for Two-Dimensional Anisotropic …
355
Based upon the solutions presented in (15.29) and (15.30), function G3interface2D is designed and presented in F056 of Appendix F.
15.2.4 Holes—G4hole2D From the solutions provided in Sect. 6.1.4, the fundamental solution associated with the holes can be obtained as ( ) 3 X 1 T T ðkÞ 1 \pa [ A þ FðfÞ ¼ ð15:31aÞ \qa [ B BIk A ; 2pi k¼1 ðkÞ
where pa , qa and their derivatives are pa ¼ lnðfa ^fa Þ; qðkÞ a
pa;s ¼
^ ¼ ln f1 a fk ;
qðkÞ a;s
fa;s ; fa ^fa
^fa;i @pa ¼ ; @^xi fa ^fa
fa;s^fa;i @pa;s ¼ ; @^xi ðfa ^fa Þ2
ðkÞ ^fk;i @qa ¼ ; @^xi f1 ^fk
fa;s ¼ ; fa ^fk f2 a
a
ðkÞ fa;s f2a^fk;i @qa;s ¼ : @^xi ðf ^f f2 Þ2 a
ð15:31bÞ
k a
In (15.31), fa and ^fa are defined in (6.4) and fa;s ¼
~sa fa ; ða ibla Þfa za
^fa;1 ¼
^fa
ða ibla Þ^fa ^za
;
^fa;2 ¼ l ^fa;1 : a
ð15:32Þ
Based upon the solutions presented in (15.31) and (15.32), function G4hole2D is designed and presented in F057 of Appendix F.
15.2.5 Cracks The solutions shown in (15.31) and (15.32) can be used for crack problems by letting the minor axis of the ellipse b = 0.
15.2.6 Rigid Inclusions—G6Rinclusion2D From the solutions provided in Sect. 8.2.1, the fundamental solution associated with the rigid inclusions can be obtained as ( ) 3 X 1 T 1 ðkÞ r T \pa [ A þ \qa [ Dk þ \ga [ A kw0 ; ð15:33aÞ FðfÞ ¼ 2pi k¼1 where Drk is defined in (8.9e) and 8 9 > = < ib > iRefk A [A g T w0 ¼ ; k¼ a : > k Mk ; : > 0 T
\^f1 a T
T
T
ð15:33bÞ
ðkÞ
In (15.33a), pa , qa and their derivatives are the same as those shown in (15.31b), and ga and its derivatives are @ga @ga;s ¼ ¼ 0; @^xi @^xi T T ^ @wT0 iRefk AT \^f2 a fa;i [ A g : ¼ T @^xi k Mk
2 ga ¼ f1 a ; ga;s ¼ fa;s fa ;
ð15:34Þ
356
15
Boundary Element Analysis
With the solutions presented in (15.33) and (15.34), function G6Rinclusion2D is designed and presented in F059 of Appendix F.
15.2.7 Elastic Inclusions—G7Einclusion2D From the solutions provided in Sects. 8.1.2 and 8.3.2, the fundamental solution associated with the elastic inclusions can be obtained as when j^fa j 1 and jfa j 1 : ( ) 3 1 X X 1 T ðkÞ c ðkÞ c \pa [ A1 þ F1 ðfÞ ¼ \qa [ Dk þ \ga [ Ek ; 2pi k¼1 k¼1 when j^fa j\1 and jfa j 1 : ( ) 1 X 1 a \ ln fa [ AT1 þ \gðkÞ F1 ðfÞ ¼ a [ Fk ; 2pi k¼1
ð15:35aÞ
where Dck and Eck are defined in (8.9e) and (8.9c), and Fak is 1 B2 \ð^fa Þk þ ðca =^fa Þk [ AT2 ; Fak ¼ Eak B1 k 1 1 T Eak ¼ Ek ; Cak ¼ Ck with Tk ¼ ðM1 M2 ÞA2 \ð^fa Þk þ ðca =^fa Þk [ A2 : k ðkÞ
ð15:35bÞ
ðkÞ
In (15.35a), pa , qa and their derivatives are the same as those shown in (15.31b), and ga , ln fa and their derivatives are k ðkÞ gðkÞ a ¼ fa ; ga;s ¼
ðkÞ kfa;s @gðkÞ @ga;s a ; ¼ ¼ 0; @^xi fka þ 1 @^xi
@ ln fa fa;s @ ln fa ¼ ; ¼ 0: @s fa @^xi
ð15:36Þ
Since Eck and Fak defined in (8.9c) and (15.35b) are related to ^xi , their derivatives Eck;i and Fak;i are non-zeros and can be obtained as n o @Eck c k c ¼ B1 B C B \c [ C 2 2 k;i 1 a k;i ; @^xi @Fa ^ k1 ðc Þk ð^f Þk1 ^f [ AT ; ¼ k ¼ Eak;i B1 a a;i 2 1 B2 \½ðfa Þ a @^xi
Eck;i ¼ Fak;i
ð15:37aÞ
where 1
1
Cck;i ¼ ðG0 Gk G0 Gk Þ1 ðTck;i þ Gk G0 Tk;i Þ; n o a a k B C B \c [ C Eak;i ¼ B1 2 2 k;i k;i ; 1 a 1
1
c
Cak;i ¼ ðG0 Gk G0 Gk Þ1 ðTak;i þ Gk G0 Tk;i Þ; a
ð15:37bÞ
15.2
Fundamental Solutions for Two-Dimensional Anisotropic …
357
and ^k1^fa;i [ AT ; Tck;i ¼ iAT 1 \ fa 1 T Tak;i ¼ ðM1 M2 ÞA2 \½ð^fa Þk1 ðca Þk ð^fa Þk1 ^fa;i [ A2 :
ð15:37cÞ
Based upon the solutions presented in (15.35)–(15.37), function G7Einclusion2D is designed and presented in F060 of Appendix F.
15.3
Fundamental Solutions for Coupled Stretching-Bending Analysis
Similar to the two-dimensional problems, the fundamental solutions uij ðn; xÞ and tij ðn; xÞ for the coupled stretching-bending analysis can also be derived from the associated Green’s functions presented in the previous chapters, such as (14.22) for an infinite laminate, (14.25) for an elliptical hole, and (14.33) for an elliptical elastic inclusion. Detailed derivation of these Green’s functions can be found in Hwu (2010a).
15.3.1 An Infinite Laminate—G1infCouple From the solutions presented in Sect. 14.4, the fundamental solutions associated with the infinite laminates can be obtained as uij ðn; xÞ ¼ 2RefhTj ðxÞAf i ðn; xÞg; i ¼ 1; 2; 3; 4; j ¼ 1; 2; 4; u ðn; xÞ ¼ 2RefiT Af~i ðn; xÞg; i ¼ 1; 2; 3; 4; 3
i3
tij ðn; xÞ ¼ 2RefhTj ðxÞB\~sa [ f 0i ðn; xÞg; i ¼ 1; 2; 3; 4; j ¼ 1; 2; 4; ti3 ðn; xÞ tic ðn; xk Þ
¼ ¼
2Ref½sTb ðxÞB\~sa [ f 0i ðn; xÞ;s g; i ¼ 1; 2; 3; 4; 2RefnTc ðxk ÞBf 0i ðn; xk Þ þ sTc ðxk ÞB\la [ f 0i ðn; xk Þg;
ð15:38aÞ
i ¼ 1; 2; 3; 4;
where 1 \ lnðza ^za Þ [ AT hi ðnÞ; i ¼ 1; 2; 4; 2pi 1 \ðza ^za Þ½lnðza ^za Þ 1 [ AT i3 ; f 3 ðn; xÞ ¼ 2pi
ð15:38bÞ
h1 ðnÞ ¼ h1 ðxÞ ¼ i1 ; h2 ðnÞ ¼ h2 ðxÞ ¼ i2 ; h4 ðnÞ ¼ nb ðnÞ; h4 ðxÞ ¼ nb ðxÞ; ~sa ¼ s1 þ la s2 ; za ¼ x1 þ la x2 ; ^za ¼ n1 þ la n2 ; 8 9 8 9 8 9 8 9 8 9 0> 0> 1> 0> 0> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > = < 0= < 0=
> > > n1 > s1 > 0> 0> 1> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ; ; ; ; ; : > : > : > : > : > 0 0 0 n2 s2 9 9 8 8 0> > > 0> > > > > > > > > > > > > > > > > > > > > > > 0> 0> = = < < þ ; st ¼ n n ; nc ¼ ntþ n nt ¼ 1 t ; sc ¼ st st : > > > 1 2> > n2 > > > > > > 1> > > > > > > > >2 > > > 1> > > > 2 ; ; : n1 > : n1 n2 2
ð15:38cÞ
f i ðn; xÞ ¼
and
358
15
Boundary Element Analysis
In (15.38c), ðn1 ; n2 Þ, ðs1 ; s2 Þ, ðx1 ; x2 Þ and ðn1 ; n2 Þ are the components of normal direction n, tangential direction s, field point x, and source point n, respectively; the subscript b denotes the value related to the bending response. A prime (0 ) and a ~ signify differentiation and integration, respectively, i.e., superimposed tilde () 1 1 1 1 \ \ [ AT hi ðnÞ; f 00i ðn; xÞ ¼ [ AT hi ðnÞ; 2pi za ^za 2pi ðza ^za Þ2 ~f i ðn; xÞ ¼ 1 \ðza ^za Þ½lnðza ^za Þ 1 [ AT hi ðnÞ; i ¼ 1; 2; 4; 2pi 1 1 1 0 \ lnðza ^za Þ [ AT i3 ; f 003 ðn; xÞ ¼ \ [ AT i3 ; f 3 ðn; xÞ ¼ 2pi 2pi za ^za ~f 3 ðn; xÞ ¼ 1 \ðza ^za Þ2 ½2 lnðza ^za Þ 3 [ AT i3 : 8pi f 0i ðn; xÞ ¼
ð15:39Þ
For linear element the components of the tangential direction s1 and s2 are constants, and hence (15.38a)4 can be further reduced to ti3 ðn; xÞ ¼ 2RefsTb ðxÞB\~s2a [ f 00i ðn; xÞg; i ¼ 1; 2; 3; 4:
ð15:40Þ
From (15.38)–(15.40), the derivatives necessary for the calculation of internal strains and stresses are obtained as @uij @u ¼ 2RefhTj ðxÞAf i;k ðn; xÞg; i3 ¼ 2RefiT3 A~f i;k ðn; xÞg; @^xk @^xk @tij ¼ 2RefhTj ðxÞB\~sa [ f 0i;k ðn; xÞg; @^xk @ti3 ¼ 2RefsTb ðxÞB\~s2a [ f 00i;k ðn; xÞg; k ¼ 1; 2; @^xk
ð15:41aÞ
1 ^za;k \ [ AT hi ðnÞ; i ¼ 1; 2; 4; 2pi za ^za 1 \^za;k lnðza ^za Þ [ AT i3 ; f 3;k ðn; xÞ ¼ 2pi
ð15:41bÞ
1 ^za;k \ [ AT hi ðnÞ; 2pi ðza ^za Þ2 1 ^za;k \ [ AT hi ðnÞ; f 00i;k ðn; xÞ ¼ pi ðza ^za Þ3 ~f i;k ðn; xÞ ¼ 1 \^za;k lnðza ^za Þ [ AT hi ðnÞ; i ¼ 1; 2; 4; 2pi
ð15:41cÞ
1 ^za;k \ [ AT i3 ; 2pi za ^za 1 ^za;k \ [ AT i3 ; f 003;k ðn; xÞ ¼ 2pi ðza ^za Þ2 ~f 3;k ðn; xÞ ¼ 1 \^za;k ðza ^za Þ½lnðza ^za Þ 1 [ AT i3 : 2pi
ð15:41dÞ
where f i;k ðn; xÞ ¼
f 0i;k ðn; xÞ ¼
f 03;k ðn; xÞ ¼
Since the equations shown in (15.38a) is a general relation for the problems of coupled stretching-bending analysis, before coding a function for the fundamental solutions of an infinite laminate, a common function GreenCouple is designed for the transition from f i to uij and tij , and will be presented later in Sect. 15.10.1. With this common function, based upon the solutions of fi, i = 1, 2, 3, 4 and their related derivatives and integrals presented in (15.38)–(15.41), function G1infCouple is designed and presented in F054 of Appendix F.
15.3
Fundamental Solutions for Coupled Stretching-Bending …
359
15.3.2 Holes—G4holeCouple The fundamental solutions associated with the infinite laminates containing an elliptical hole discussed in Sect. 14.5.1 can be expressed by the same equations as those shown in (15.38a) except that the associated complex functions f i ðn; xÞ should be changed to ( ) 4 X 1 i T 1 T ðkÞ T \pa [ A þ \qa [ Dk A \fa [ q0 qp hi ðnÞ; i ¼ 1; 2; 4; f i ðn; xÞ ¼ 2pi k0 k¼1 ( ) ð15:42Þ 4 X 1 i T 1 T T \ga [ A þ Ek A þ \fa [ q0 qb i3 ; f 3 ðn; xÞ ¼ 2pi k0 k¼1 ðkÞ
in which hi ðnÞ is defined in (15.38c); pa , qa , ga , Ek with their derivatives, the scalar k0 , and the vectors q0 ; qp ; qb are defined by pa ¼ lnðfa ^fa Þ lnð^fa Þ; p0a ¼ qðkÞ a
¼
lnðf1 a
fa;1 fa;11 ðfa ^fa Þ ðfa;1 Þ2 ; p00a ¼ ; fa ^fa ðfa ^fa Þ2
f2 ðfa;1 Þ2 ð1 2fa^fk Þ fa fa;11 ð1 fa^fk Þ a fa;1 ^fk Þ; q0ðkÞ ; q00a ðkÞ ¼ ; a ¼ 1 ^ 2 fa ^fk f4a ðf1 a fk Þ
h i ^f1 Þ ca^fa 1 lnðca^fa Þ c ^f2 ; ga ¼ ðza ^za Þ lnðfa ^fa Þ þ c2a ðfa ^fa Þ c3a ðf1 a a a a ( ) za ^za c3a þ c2a þ 2 fa;1 ; g0a ¼ lnðfa ^fa Þ þ ^ fa fa fa ( ) ( ) ðza ^za Þfa;1 c3a fa;1 2 za ^za c3a 00 2 3 þ c2a þ 2 fa;11 ; ga ¼ fa;1 þ fa fa ðfa ^fa Þ2 fa ^fa fa ^fa
ð15:43aÞ
ð15:43bÞ
^ Ek ¼ \f1 a fk [ E k ; 1 0 ^ E0k ¼ \ f2 a fa;1 [ Ek þ \fa fk [ Ek ;
ð15:43cÞ
2 2 2 1 0 00 ^ E00k ¼ \2f3 a ðfa;1 Þ fa fa;11 [ Ek \2fa fa;1 [ Ek þ \fa fk [ Ek :
n o q0 ¼ B1 ði3 þ iki4 Þ; qp ¼ Re A\^f1 a [ q0 ; h i n o =2 [ q qb ¼ Re A\ca lnðca^fa Þ þ ca^f2 0 ; a
ð15:43dÞ
k0 ¼ iT3 ka þ kiT4 kb ; Here, fa and ^fa are the transformed variables of za and ^za related by (6.4); ka and kb in (15.43d)3 are the real vectors defined in (14.9d); Ek is defined in (14.25c) whose 1st derivative is shown in (14.26c) and 2nd derivative is 1
1
^ E00k ¼ \^fk fa;11 [ Dk \c3a [ \ck^fk fa;11 lnðf1 a fk Þ þ
eka ðf1 a
^fk Þ2
[ Dk \ca [ ;
ð15:44aÞ
360
15
Boundary Element Analysis
where 1
1
2 4 2 ^ ^ ^ ^ eka ¼ fa;11 f3 a ð1 ck fk fa fk fa þ ck fa Þ ðfa;1 Þ fa ð1 þ ck fk fa 2fk fa Þ;
ð15:44bÞ
fa;11 ¼ ða þ ibla Þðz2a a2 b2 l2a Þ3=2 :
To use the expressions of (15.38a), it should be noted that the symbol ~ denoting the integration is with respect to za R instead of fa , for example, ~pa ¼ lnðfa ^fa Þdza , …, etc. After performing the integration analytically, the explicit ðkÞ ~ can be obtained from the related expressions shown in (14.27) as expressions of ~pa , ~qa , ~ga and E k
~ð0Þ ~pa : q1 ðfa Þ of (14.27c) with additional term p a ; ðkÞ ~q Dk : E ðfa ; ^fk Þ of (14.27d), a
1
ð15:45aÞ
~ð0Þ ~ga : q2 ðfa Þ of (14.27c) with additional term g a ; ~ : E ðfa ; ^fk Þ of (14.27d), E k
2
where ~pð0Þ za Þ lnð^fa Þ þ ^za 2ca^fa ; a ¼ ðza ^ ~gð0Þ za ðza a ¼^
ð15:45bÞ
^za 3c2a c2a 2 Þ lnð^fa Þ þ za ½^za ca^fa þ c2a^fa c3a^f1 : a c3a ca ca ca 2 4^f2a
Like (15.41), in order to differentiate the fundamental solutions with respect to the source point n, we need to know the ðkÞ 0 ðkÞ 00 ðkÞ ðkÞ 00 ~ derivatives @X=@^xi ; i ¼ 1; 2; where X ¼ pa ; p0a ; p00a ; ~ pa ;qa ; qa ; qa ; ~ qa , ga ; g0a ; g00a ; ~ ga ; Ek ; E0 k ; Ek ; Ek ; qp , or qb . Since all these derivatives can be obtained by the standard differentiation, in the following we only show the derivatives of X ¼ pa ; p0a ; p00a ; ~pa : ( ) 2 00 ^fa;i ^fa;i @p0 ^fa;i ^fa;i f 2ðf Þ @pa @p a;1 a;1 a a ¼ ; ¼ ; ¼ fa;11 ; 2 @^xi fa ^fa ^fa @^xi ðfa ^fa Þ @^xi fa ^fa ðfa ^fa Þ2 " # ð15:46Þ h i @~pa za ^za za ^za ca ca ^ ^ ^ ¼ ^za;i lnðfa fa Þ lnðfa Þ fa;i þ þ 2 ðln fa þ 1Þ : ^fa ^f @^xi fa ^fa a In the above, functions pa and ga defined in (15.43a) and (15.43b) appear not only in the Green’s functions for hole problems but also in the Green’s functions for inclusion problems. The expressions shown in (15.43a, b) are different from h i the ones presented in (14.25b) of Sect. 14.5.1 by constant terms lnð^fa Þ and ca^fa 1 lnðca^fa Þ c ^f2 . These a a
constants induce only rigid body motion and hence have no influence on the stress analysis of hole problems. However, adding these terms is important for the inclusion problems to satisfy continuity condition across the interface (Hsu and Hwu 2020). To take care of both holes and inclusions, a common function s15_pgzV for the calculation of pa and ga is designed and will be stated later in Sect. 15.10.4. Thus, with the common function s15_pgzV and the solutions presented in (15.42)– (15.46), function G4holeCouple is coded and presented in F058 of Appendix F.
15.3.3 Cracks Like the two-dimensional problems, the solutions shown in (15.42)–(15.46) can be used for crack problems by letting the minor axis of the ellipse b = 0.
15.3
Fundamental Solutions for Coupled Stretching-Bending …
361
15.3.4 Inclusions—G7inclusionCouple Similar to the hole problems, the fundamental solutions for the infinite laminates containing an elliptical elastic inclusion discussed in Sect. 14.6 can also be expressed by (15.38a) except that the associated complex function f i ðn; xÞ should be changed to one of the four expressions shown below, which are related to the locations of source point n and field point x. I. When j^fa j 1 and jfa j 1: ( ) 1 X 1 k T c \pa [ A1 þ f i ðn; xÞ ¼ \fa [ Pk hi ðnÞ; i ¼ 1; 2; 4; 2pi k¼1 ( ) 1 X 1 k T h \ga [ A1 þ \fa [ Pk i3 : f 3 ðn; xÞ ¼ 2pi k¼1
ð15:47aÞ
II. When j^fa j\1 and jfa j 1: ( ) 1 X 1 a \ ln fa [ AT1 þ f i ðn; xÞ ¼ \fk a [ Pk hi ðnÞ; i ¼ 1; 2; 4; 2pi k¼1 ( ) 1 X 1 q 1 k T \ðza ^za Þ ln fa [ A1 þ \fa [ K1 þ \fa [ K1 þ \fa [ Pk i3 : f 3 ðn; xÞ ¼ 2pi k¼1
ð15:47bÞ
III. When j^fa j 1 and jfa j\1: ( ) 1 k 1 X k c f i ðn; xÞ ¼ \ðfa Þ þ ðca fa Þ [ Ck hi ðnÞ; i ¼ 1; 2; 4; 2pi k¼1 ( ) 1 k 1 X k h \ðfa Þ þ ðca fa Þ [ Ck i3 : f 3 ðn; xÞ ¼ 2pi k¼1
ð15:47cÞ
IV. When j^fa j\1 and jfa j\1: ( ) 1 X k 1 k T a \fa ðza Þ [ A2 þ f i ðn; xÞ ¼ \ðfa Þ þ ðca fa Þ [ Ck hi ðnÞ; i ¼ 1; 2; 4; 2pi k¼1 ( ) 1 X k 1 q k T \fq ðza Þ [ A2 þ \ðfa Þ þ ðca fa Þ [ Ck i3 ; f 3 ðn; xÞ ¼ 2pi k¼1
ð15:47dÞ
fa ðza Þ ¼ lnðza ^za Þ ln ca ;
fq ðza Þ ¼ ðza ^za Þ lnðza ^za Þ 1 þ ^za ln ca :
ð15:47eÞ
where
In (15.47), pa and ga are the same as that used in the hole problem, and ðPck ; Phk ; Pak ; Pqk Þ and ðCck ; Chk ; Cak ; Cqk Þ are k 1 c T c c k ^ Pck ¼ B1 1 fB2 Ck þ B2 \ca [ Ck B1 \fa [ A1 g; Ck : ð8.9c)1 ; k h T k h h h Phk ¼ B1 1 fB2 Ck þ B2 \ca [ Ck þ B1 \ha [ A1 g; Ck : ð8.8)1 with Tk ¼ Tk ; a
a T a k ð1Þ Pak ¼ B1 1 fB2 Ck þ B2 \ca [ Ck þ B2 \qa [ A2 g; Ck : ð15.35b); q
q q q k ð2Þ T Pqk ¼ B1 1 fB2 Ck þ B2 \ca [ Ck þ B2 \qa [ A2 g; Ck : ð8.8)1 with Tk ¼ Tk ;
ð15:48aÞ
362
15
Boundary Element Analysis
where T Thk ¼ iAT 1 \ha [ A1 ; ð1Þ
ð2Þ
T
Tqk ¼ ðM1 M2 ÞA2 \qa [ A2 :
ð15:48bÞ
ð2Þ
In (15.48), ha is defined in (14.33d), and qa ¼ q1 ðfa Þ and qa ¼ q2 ðfa Þ of (14.44b). The matrices K1 and K1 of (15.47b) are n o T ð15:49Þ K1 ¼ BT1 Q2 þ AT1 QT1 ; K1 ¼ BT1 Q2 þ AT1 Q1 : The matrices Q1 and Q2 are defined in (14.45), which are independent of source point and field point. With the solutions given in (15.47), similar mathematical operation as that shown in the previous sections can be performed to obtain the related derivatives and integrals. In addition to the derivatives and integrals of pa and ga shown in Sect. 15.3.2, followings are the examples of derivatives and integrals of some other functions related to (15.47). h i @fk @ 2 fk a a ¼ kfk1 fa;1 ; ¼ kfk2 ðk þ 1Þðfa;1 Þ2 fa fa;11 ; a a 2 @za @za Z fa 1 ca k Þ þ ð fk dz ¼ c f ; k 6¼ 1; a a a a k þ 1 fa k1 ! Z Z ca 1 1 fa dza ¼ ca ln fa þ 2 ; fa dza ¼ ca f2a ca ln fa ; . . .; etc: 2 2fa
ð15:50aÞ
@fa ðza Þ @f 0 ðz Þ ¼ ^za;i ðza ^za Þ1 ; a a ¼ ^za;i ðza ^za Þ2 ; @^xi @^xi 00
@fa ðza Þ @~fa ðza Þ ¼ 2^za;i ðza ^za Þ3 ; ¼ ^za;i lnðza ^za Þ ln ca ; :::; etc: @^xi @^xi
ð15:50bÞ
From the solutions shown in (15.47), we see that the basic functions needed for the calculation of fundamental solutions can be separated into three parts. One contains the functions of pa ; ga ; ln fa ; ðza ^za Þ ln fa , that can be calculated by the common function s15_pgzV, another contains fa ðza Þ; fq ðza Þ, that can be calculated by the function G7inclusionCouple, and the other contains series terms of Pck ; Phk ; Pak ; Pqk , that can be calculated by calling a sub-function. By treating these three parts separately and using the solutions presented in (15.47)–(15.50), function G7inclusionCouple is designed and presented in F061 of Appendix F.
15.4
Two-Dimensional Anisotropic Elastic Analysis—Basic Version
The basic version of boundary element for two-dimensional anisotropic elastic analysis is developed based upon the boundary integral equation stated in (15.1a). In that equation, the fundamental solutions tij ðn; xÞ and uij ðn; xÞ can be found in Sect. 15.2, and the free term coefficient cij ðnÞ can be computed by considering rigid body motion. In other words, if we let a unit rigid body movement in the direction of xj , uj ¼ 1 which will not induce any stresses and hence tj ¼ 0. Substituting this condition into (15.1a), we get Z ð15:51Þ cij ðnÞ ¼ tij ðn; xÞ dCðxÞ: C
The boundary integral equations given in (15.1a) have now three unknown functions, i.e., uj or tj ; j ¼ 1; 2; 3, and three equations, which constitute the basis of the boundary element formulation. Written in matrix form, we have Z Z T ðn; xÞuðxÞdCðxÞ ¼ U ðn; xÞtðxÞdCðxÞ; ð15:52aÞ CðnÞuðnÞ þ C
C
15.4
Two-Dimensional Anisotropic Elastic Analysis—Basic Version
363
where 9 9 8 8 t1 ðxÞ > u1 ðxÞ > > > > > > > = = < < 6 7 7 ; tðxÞ ¼ ; c u t ðnÞ c ðnÞ c ðnÞ ðxÞ ðxÞ ; uðxÞ ¼ CðnÞ ¼ 6 22 23 2 2 4 21 5 > > > > > > > > ; ; : : c31 ðnÞ c32 ðnÞ c33 ðnÞ u3 ðxÞ t3 ðxÞ 2 3 t11 ðn; xÞ t12 ðn; xÞ t13 ðn; xÞ 6 7 7 T ðn; xÞ ¼ 6 4 t21 ðn; xÞ t22 ðn; xÞ t23 ðn; xÞ 5; t31 ðn; xÞ t32 ðn; xÞ t33 ðn; xÞ 2 3 u11 ðn; xÞ u12 ðn; xÞ u13 ðn; xÞ 6 7 7 U ðn; xÞ ¼ 6 4 u21 ðn; xÞ u22 ðn; xÞ u23 ðn; xÞ 5: u31 ðn; xÞ u32 ðn; xÞ u33 ðn; xÞ 2
c11 ðnÞ c12 ðnÞ c13 ðnÞ
3
ð15:52bÞ
In boundary element formulation, the boundary C is approximated by a series of elements, and the points x, displacements u and tractions t on the boundary are approximated by the nodal points xn , nodal displacement un and nodal traction tn through different interpolation functions (as described in Sect. 15.1.3). If the boundary C is discretized into M linear elements with N nodes, substitution of (15.8a) (or (15.9a) for quadratic element) and (15.11) into (15.52a) yields (in the following only the formulations for linear element are shown) CðnÞuðnÞ þ
M n X
M n o X o ð1Þ ð2Þ ð2Þ ^ ð1Þ ðnÞuð1Þ þ Y ^ ð2Þ ðnÞuð2Þ ¼ Y Gð1Þ ; m m m m m ðnÞtm þ Gm ðnÞtm
m¼1
ð15:53aÞ
m¼1
^ ðiÞ ðnÞ and GðiÞ ðnÞ, i = 1, 2, are the matrices of influence coefficients defining the interaction between the source in which Y m m point n and the particular node (1 or 2) on element m, and are defined as ^ ðiÞ ðnÞ Y m
Z1 ¼
ð2Þ T ðn; xð1Þ m ; xm ; 1Þ-i ð1ÞjJm jd1;
1
GðiÞ m ðnÞ ¼
Z1
ð15:53bÞ ð2Þ U ðn; xð1Þ m ; xm ; 1Þ-i ð1ÞjJm jd1; i ¼ 1; 2:
1 ðiÞ
^ ðnÞ and GðiÞ ðnÞ may be a regular function or a weakly singular function with f ðxÞ ln x or Since the integrands involved in Y m m a strongly singular function with f ðxÞ=x, their numerical integration scheme designed based upon Appendix A.1 will be stated later in Sects. 15.4.2 and 15.4.3. If the connecting elements, for example the ðm 1Þth and the mth element, are continuous at the connecting nodal points, the second node of the ðm 1Þth element will be the first node of the mth element and can be named as the nth node of the whole boundary element. We let ð2Þ
um1 ¼ uðm1Þ ¼ un ;
ð2Þ
tm1 ¼ tðm1Þ ¼ tn ; . . .; etc:
ð15:54aÞ
To write (15.53a) corresponding to point n in discrete form, we need to add the contribution from two adjoining elements, m and m–1, into one term. Hence, we let ^ ð2Þ þ Y ^ ð1Þ ¼ Y ^ n; Y m1 m
ð2Þ
Gm1 þ Gð1Þ m ¼ Gn ; . . .; etc:
ð15:54bÞ
Equation (15.53a) can then be rewritten as CðnÞuðnÞ þ
N X n¼1
^ n ðnÞun ¼ Y
N X n¼1
Gn ðnÞtn :
ð15:55Þ
364
15
Boundary Element Analysis
^ in ; Gin to denote the values of C; u; Y ^ n ; Gn at node i. EquaConsider n to be the location of node i and use Ci ; ui ; Y tion (15.55) can now be expressed as N X n¼1
Yin un ¼
N X
Gin tn ; i ¼ 1; 2; . . .; N;
ð15:56aÞ
n¼1
in which ^ in ; for i 6¼ n; Yin ¼ Y ^ in þ Ci ; for i ¼ n: Yin ¼ Y
ð15:56bÞ
When all the nodes are taken into consideration, Eq. (15.56) produces a 3N 3N system of equations. By applying the boundary condition such that either ui or ti at each node is prescribed, the system of equation (15.56) can be reordered in such a way that the final system of equations can be expressed as Kv = p where K is a fully populated matrix, v is a vector containing all the boundary unknowns and p is a vector containing all the prescribed values given on the boundary. Note that through the system of equations shown in (15.56), a rigid body movement represented by u1 ¼ u2 ¼ ¼ uN ¼ ik , t1 ¼ t2 ¼ ¼ tN ¼ 0, k = 1, 2, 3, where i1 ¼ ð1; 0; 0ÞT , i2 ¼ ð0; 1; 0ÞT and i3 ¼ ð0; 0; 1ÞT , can give us the following relation X Yii ¼ Yij ; ð15:57Þ j6¼i
which can be used to calculate Yii directly without knowing the coefficient matrix Ci and its associated influence coefficients ^ ii . And hence, the trouble of singular integral occurred in Y ^ ii and Ci , whose source point locates at one node of the element, Y can be circumvented. If the subscript i of (15.57) is one node of the double nodes of a corner, j 6¼ i in the summation of the right hand side should exclude both nodes of the corner, i.e., j 6¼ i þ and j 6¼ i . It should be noted that the fundamental solutions shown in Sects. 15.2 and 15.3 are obtained with respect to the local coordinate ðx ; y Þ shown in Fig. 15.4. To get the fundamental solutions with respect to the global coordinate ðx; yÞ, the transformation between local and global coordinates should be made as x ¼ ðx x0 Þ cos a0 þ ðy y0 Þ sin a0 ; y ¼ ðx x0 Þ sin a0 þ ðy y0 Þ cos a0 ;
Fig. 15.4 Global and local coordinates
ð15:58Þ
15.4
Two-Dimensional Anisotropic Elastic Analysis—Basic Version
365
in which a0 denotes the angle between global and local coordinates, and ðx0 ; y0 Þ is the center of local coordinate (Fig. 15.4). With this transformation, it can be proved that the fundamental solutions presented in Sects. 15.2 and 15.3 still keep the same mathematical form except that the variables and their related derivatives should be changed to their corresponding values of the local coordinates. In other words, the following resplacement should be made for the fundamental solutions. za ! za ; ^za ! ^za ; ~sa ! ~sa ; ^za;1 ! ^za;1 ; ^za;2 ! ^za;2 ; fa ! fa ; ^fa ! ^fa ; fa;s ! fa;s ; ^fa;1 ! ^fa;1 ; ^fa;2 ! ^fa;2 ;
ð15:59aÞ
where za ¼ x1 þ la x2 ; ~sa ¼ s1 þ la s2 ¼ cosðh a0 Þ þ la sinðh a0 Þ;
^za;1 ¼ cos a0 la sin a0 ; ^za;2 ¼ sin a0 þ la cos a0 ; pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 2 2 2 za þ z2 ~sa fa a a b la ; f ¼ ; fa ¼ a;s a ibla ða ibla Þfa za ^f ^ a ^f ¼ ^f0 ^z ; ^f ¼ ^f0 ^z ; ^f0 ¼ @ fa ¼ ; a;1 a a;1 a;2 a a;2 a @^za ða ibla Þ^fa ^za
ð15:59bÞ
and la ¼
la cos a0 sin a0 ; a ¼ 1; 2; 3: la sin a0 þ cos a0
ð15:59cÞ
The mapped variable fa shown above is for the problems with elliptical holes/inclusions. Note that no transformation should be made on the material eigenvector matrices A, B, and their related matrices. A rigorous proof to the above conclusion can be made by using the relations u ¼ Xu, A ¼XA, B ¼XB to the fundamental solutions of local coordinate.
15.4.1 Mesh Generation of Boundary Element—BEMmesh Function BEMmesh is designed to organize the mesh information through three input textfiles: input_xn, input_node1 and input_bc for both two-dimensional problem and coupled stretching-bending problem. The first one is for the coordinates of boundary nodes, the second one is for the element-node connection, and the third one is for the boundary conditions. Additional input files input_node2, input_node3,…,etc. are required for additional sub-region 2, 3, … if a problem with multiple holes, cracks, and inclusions are solved by using BFEM. Also, additional input files input_corner is required for the coupled stretching-bending problems, which is the information about the corner-node connection. The computer code of this function is presented in F042 of Appendix F.
15.4.2 Influence Matrices—BEMinfluence, BEMinfluence_YG ^ ðiÞ ðnÞ and GðiÞ ðnÞ of If the source point n does not locate in the element, the integrands involved in the influence matrices Y m m (15.53b) will not be singular. The numerical integration can then be performed by using the Gaussian quadrature rule stated in Appendix A.1.1. Even when the source point n locates at one node of the element, the influence matrix GðiÞ m ðnÞ can still be calculated by using the Gauss quadrature rule since its integrand involving the weakly singular function f ðxÞ ln x has finite integral value and the solution calculated by Gauss quadrature rule is not that accurate but acceptable. As to YðiÞ m ðnÞ which contains the strongly singular integral f ðxÞ=x, different calculation method should be used and will be stated later in the next sub-section.
366
15
Boundary Element Analysis
To calculate the influence matrices, two functions BEMinfluence and BEMinfluence_YG are designed. The former provides the results of Yn , Gn and their derivatives associated with the nth node by adding the contribution from the ðiÞ adjoining elements, whereas the latter is responsible for the calculation of YðiÞ m , Gm and their derivatives of the mth element. These two functions are applicable for both two-dimensional problems and coupled stretching-bending problems, and are presented in F032 and F035 of Appendix F.
15.4.3 Computation of Singular Integrals—BEMinfluence_G2 ^ ðiÞ ðnÞ and CðnÞ will contain strongly singular When the source point n locates at one node of the element, the integrands of Y m ðnÞ contains weakly singular function such as f ðxÞ ln x. Direct calcalution of these function such as f ðxÞ=x, whereas GðiÞ m integrals by Gaussian quadrature rule is generally wrong and should be corrected. If the relation (15.57) derived from the ^ ðiÞ ðnÞ and CðnÞ can be avoided. Otherwise, the rigid body movement is employed, the direct calculation of singular integral Y m
strongly singular integrals should be calculated through the analytical derivation or by the concept of finite part integral stated in Appendix A.1.3. On the other hand, the weakly singular integral may be calculated by using the standard Gauss quadrature rule with higher number of Gaussian points or by using the numerical method suggested in Appendix A.1.2. Followings are the examples of analytical solutions and the deduction for using the suggested method. (1) Y, G and C for the conventional fundamental solution. With the fundamental solutions given in (15.22) and (15.25), and the interpolation function (15.8b) and the Jacobian ^ ðiÞ ðnÞ, GðiÞ ðnÞ and CðnÞ can be written as (15.12a)1, the complete explicit expressions of Y m
^ ðiÞ ðnÞ ¼ Y m
Z1 1
GðiÞ m ðnÞ
Z1 ¼ 1
CðnÞ ¼
M X m¼1
m
~sa 1 T A\ Re [ B -i ð1Þ‘m d1; 2pi za ^za
1 T A\ lnðza ^za Þ [ A -i ð1Þ‘m d1; Re 2pi
Z1 Cm ðnÞ; Cm ðnÞ ¼
Re 1
ð15:60Þ
~sa 1 A\ [ BT ‘m d1: 2pi za ^za
Using the linear relation (15.8a)1 for the field point x in the mth element and the definition (2.6b)6 for the complex variable za , and knowing that s1 and s2 of ~sa (see Eq. 15.25b) defined in (15.24) are constant and can be evaluated by s1 ¼ Dx1 =‘m and s2 ¼ Dx2 =‘m for linear element, it can be proved that ( ð1Þ 2 za ¼ za ~sa þ 1Þ ; when ^ ¼ ‘m ð1 ð15:61Þ ð2Þ 2 za ^za when ^za ¼ za ‘m ð11Þ ; Substituting (15.61) into (15.60) and using the definitions (2.13) for the Barnett-Lothe tensors, we obtain the following results. ð1Þ
When ^za ¼ za , i.e., the source point n is the 1st node of the element,
15.4
Two-Dimensional Anisotropic Elastic Analysis—Basic Version
367
^ ð2Þ ðnÞ ¼ 1 S; Cm ðnÞ ¼ 1 ðln 2 ln eÞS; ^ ð1Þ ðnÞ ¼ 1 ðln 2 1 ln eÞS; Y Y m m 2p 2p 2p ‘ ‘m m ð1Þ ð2Þ Gm ðnÞ ¼ ½ð2 ln ‘m 3ÞH 2U0 ; Gm ðnÞ ¼ ½ð2 ln ‘m 1ÞH 2U0 ; 8p 8p
ð15:62aÞ
U0 ¼ 2ImfA\ ln ~sa [ AT g:
ð15:62bÞ
where
ð2Þ
When ^za ¼ za , i.e., the source point n is the 2nd node of the element, ^ ð2Þ ðnÞ ¼ 1 ðln 2 1 ln eÞS; Cm ðnÞ ¼ 1 ðln 2 ln eÞS; ^ ð1Þ ðnÞ ¼ 1 S; Y Y m m 2p 2p 2p ‘m ‘m ð1Þ ð2Þ Gm ðnÞ ¼ ½ð2 ln ‘m 1ÞH 2U0 ; Gm ðnÞ ¼ ½ð2 ln ‘m 3ÞH 2U0 : 8p 8p
ð15:63Þ
In (15.62) and (15.63), e is a small number which will let ln e ! 1 when e ! 0. Therefore, the standard Gaussian integration will not provide a correct solution since the integral is singular. From the above results, we see that the infinite parts contributed by the neighboring elements of the source point can be cancelled each other. Thus, in numerical programming for Eqs. (15.62) and (15.63), the term with ln e will be deleted, which is the same as the concept of finite part integral. (2) General evaluation procedure for Y and G. As stated at the beginning of this section, Yii can be evaluated via (15.57) and the trouble of singular integral occurred in ^ Yii and Ci , whose source point locates at one node of the element, can be circumvented. However, to improve the accuracy of Gii special care should be taken by the employment of logarithmic quadrature formula introduced in Appendix A.1.2. In order to describe how we evaluate GðiÞ xÞ with the aid of (A.6), in the following we firstly simplify the symbol by ignoring m ð^ the index denoting the element and the argument of functions, i.e., writing GðiÞ m ðnÞ into Gi and (15.53b)2 be rewritten as Z Gi ¼
1
1
U -i jJjd1:
ð15:64Þ
The subscript i ranges from 1 to 2 for linear element, and ranges from 1 to 3 for quadratic element. Let U ¼ UR þ US , in which UR and US represent, respectively, the regular and singular part of the fundamental solution U . Substituting this relation into (15.64), we have Gi ¼ GRi þ GSi ;
ð15:65aÞ
where Z GRi
¼
1
1
UR -i jJjd1;
Z GSi
¼
1
1
US -i jJjd1:
ð15:65bÞ
In (15.65b), GRi can be evaluated numerically by standard Gaussian quadrature rule. Since US contains singular functions, special care should be taken for the evaluation of GSi . Among all the fundamental solutions listed in Sect. 15.2 for two-dimensional anisotropic elasticity, it has been noted that US contains only one of the following two forms, 1 US ¼ ImfA\ lnðza ^za Þ [ AT g; p 1 US ¼ ImfA\ lnðfa ^fa Þ [ AT g: p
ð15:66Þ
368
15
Boundary Element Analysis
With the relations (6.23) and knowing that lnð1 ca =^fa fa Þ will not be singular if the branch for the principle value of logarithmic function is selected as ðp; p, we can conclude that the singular integral containing lnðfa ^fa Þ can be handled by considering only lnðza ^za Þ (Hwu et al. 2020). Let za ^za ¼ cta ;
ð15:67aÞ
where ta ¼
x ¼ x1 ; Dza ; when ^ for linear element; Dza ; when ^ x ¼ x2 ;
ð15:67bÞ
8 Dz ; when ^x ¼ x1 ; > > < a Dza ; when ^x ¼ x2 and 1 1 0; for quadratic element; ta ¼ Dz Dza ; when ^ x ¼ x2 and 0 1 1; > > : a Dza ; when ^x ¼ x3 ;
ð15:67cÞ
ð1Þ ð3Þ ð1Þ Dza ¼ zð2Þ a za ; Dza ¼ za za ;
ð15:67dÞ
and
in which the superscript (i), i = 1,2,3, denotes the ith node of the mth element. With the variable transformation introduced in (15.67a), we have z0a d1 ¼ ta dc;
ð15:67eÞ
in which the symbol prime ð0 Þ denotes the derivative respective to variable 1 of the local coordinate. By using (15.8), (15.9) and (2.6b)6, we have 1 dza Dz ; for linear element 0 ¼ 2 a ð15:68Þ za ¼ 1ðDza 2Dza Þ þ 12 Dza ; for quadratic element d1 With the relations given in (15.66)–(15.68), GSi of (15.65b) can be written as GSi
1 ¼ p 1 ¼ p
Z1 ImfA\ lnðcta Þ [ AT g-i jJjd1 1 cf
Z
ð15:69aÞ T ImfA\hðiÞ a lnðcta Þ [ A gdc
c0
where hðiÞ a ¼
-i jJjta ; z0a
ð15:69bÞ
and
^¼x1 ð0; 1Þ; when x ^¼x2 ð1; 0Þ; when x 8 ^ ð0; 1Þ; when x¼x1 > > > < ð1; 0Þ; when x^¼x 2 ðc0 ;cf Þ ¼ > ð0; 1Þ; when x^¼x2 > > : ð1; 0Þ; when ^ x¼x3 ðc0 ;cf Þ ¼
With the result of (15.69a), we have
and 1 1 1 and 1 1 1 and 1 1 1
for linear element,
and 1 1 0 ; for quadratic element: and 0 1 1 and 1 1 1
ð15:69cÞ
15.4
Two-Dimensional Anisotropic Elastic Analysis—Basic Version
Zcf
ðiÞ UR dc þ
Zcf
ðiÞ
US ln cdc;
ð15:70aÞ
1 ðiÞ T UR ¼ ImfA\hðiÞ a ln ta [ A g; p 1 ðiÞ T US ¼ ImfA\hðiÞ a [ A g: p
ð15:70bÞ
GSi
¼
369
c0
c0
where
By using the standard Gaussian quadrature rule for the regular part and the logarithmic Gaussian quadrature formula for the singular part, GSi of (15.70a) can be evaluated by GSi ¼
nG nL X 1X ðiÞ G ðiÞ wG ci Þ wLi US ðcLi Þ; if c0 ¼ 0; cf ¼ 1; i UR ð~ 2 i¼1 i¼1
ð15:71aÞ
cG i þ1 ; 2
ð15:71bÞ
where ~cG i ¼
and ci and wi are, respectively, the abscissa and weight of Gaussian quadrature formula, and n is the number of Gaussian points; the superscript G and L denote, respectively, the value related to Gaussian quadrature rule of standard and logarithmic type. According to the derivation presented previously, the procedure for numerical evaluation of GSi can be stated as follows. (1) (2) (3) (4) (5)
Given ^x which can be any boundary node. Determine ta by (15.67b) or (15.67c). L Given c which can be ~cG i or ci of (15.71). Determine 1 by (15.67a–d) with the aid of (2.6b)6, (15.8a)1, (15.8b), (15.9a)1, (15.9b). Determine -i and jJj by (15.8b) or (15.9b), and (15.12). ðiÞ
(6) Determine ha by (15.69b). ðiÞ
ðiÞ
(7) Evaluate UR and US by (15.70b). (8) Evaluate GSi by (15.71) for the case whose c0 ¼ 0; cf ¼ 1, that occurs when ^ x¼x1 . When ^ x¼x2 for linear element or S S x¼x2 for quadratic element, replace GSi by x^¼x3 for quadratic element, replace Gi evaluated via (15.71) by Gi . When ^
GSi þ GSi 0 1 1.
þ
where GSi and GSi
þ
are, respectively, the results of (15.71) evaluated for the regions 1 1 0 and
By the way stated in this Section, function BEMinfluence_G2 is designed and presented in F034 of Appendix F.
15.4.4 Solutions at the Boundary Nodes—BEM2DelasticB Once (15.56) has been solved, all the values of tractions and displacements on the boundary are determined. With this result, the values of strains and stresses at the boundary nodes can be calculated by the following steps (see Fig. 15.5). Step 1: calculate e1 ; e5 through the nodal displacements. þ @u1 Du1 cos h þ Du2 sin h ðu1þ u 1 Þ cos h þ ðu2 u2 Þ sin h ¼ ¼ ; þ þ @x1 Dx1 cos h þ Dx2 sin h ðx1 x1 Þ cos h þ ðx2 x2 Þ sin h @u Du3 u3þ u 3 : ¼ þ e5 ¼ 2e31 ¼ 3 ¼ @x1 Dx1 cos h þ Dx2 sin h ðx1 x1 Þ cos h þ ðx2þ x 2 Þ sin h
e1 ¼
Step 2: calculate r2 ; r4 ; r6 through the nodal tractions.
ð15:72Þ
370
15
Boundary Element Analysis
Fig. 15.5 Coordinates x1 x2 and x1 x2
8 9 8 9 8 9 2 > cos h = > = > = < r6 > < r12 > < t1 > r2 ¼ r22 ¼ t2 ¼ 4 sin h > ; > ; > ; : > : > : > 0 r4 r32 t3 Step 3: calculate r1 ; r5 ; e2 ; e4 ; e6 through the constitutive law. 38 9 2 2 C11 1 C12 C14 0 C16 > > > r1 > > 7> > > 6 C21 6 0 C22 C 0 C e = < 24 26 2 7 6 6 7 6 6 0 C42 C44 0 C46 7 e4 ¼ 6 C41 6 > 4 C > r > 4 0 C C 1 C 5> 52 54 56 > 51 > > 5> : ; C61 0 C62 C64 0 C66 e6
sin h cos h 0
0 1 0 0 0
0 0 1 0 0
38 t 9 0 > = < 1> 0 5 t2 : > > 1 : t3 ;
C15 C25 C45 C55 C65
38 9 e1 > 0 > > > > > > > 0 7 r < 2= 7 7 0 7 r4 ; > > 0 5> e > > > > ; : 5 > 1 r6
ð15:73Þ
ð15:74Þ
where Cij ; i; j ¼ 1; 2; . . .; 6 are the elastic constants at the x1 x2 coordinate, which can be calculated by using the relation given in (1.25)3. Step 4: calculate r3 under plane strain condition ( e3 ¼ 0). e1 þ C32 e2 þ C34 e4 þ C35 e5 þ C36 e6 : r3 ¼ C31
ð15:75aÞ
or calculate e3 under plane stress condition ( r3 ¼ 0). e3 ¼ S31 r1 þ S32 r2 þ S34 r4 þ S35 r5 þ S36 r6 :
ð15:75bÞ
Step 5: calculate ri ; ei ; i ¼ 1; 2; . . .; 6 through coordinate transform (see Eq. (1.25)). r ¼ K1 r ; e ¼ KT e ;
ð15:76Þ
where K is given in (1.26). Note that for the problems with piezoelectric materials, additional terms related to the piezoelectric quantities should be added as follows.
15.4
Two-Dimensional Anisotropic Elastic Analysis—Basic Version
Step 1: e7 ¼ 2e41 ¼
371
@u4 u4þ u 4 ¼ þ ; @x1 ðx1 x1 Þ cos h þ ðx2þ x 2 Þ sin h
Step 2: r8 ¼ r42 ¼ t4 ¼ t4 ; Step 3: expand the matrices and vectors by adding r7 ; e8 to the left hand side of (15.74), and
ð15:77Þ
e7 ; r8
adding to the right hand side of (15:74Þ. Step 4: add two more terms C37 e7 þ C38 e8 to the right hand side of (15.75a),
add two more terms S37 r7 þ S38 r8 to the right hand side of (15.75b):
Step 5: expand K to a 8 8 matrix to include e7 ; e8 and r7 ; r8 :
If MEE materials are considered, further addition and expansion are required on all steps of (15.72)–(15.77). For the problems under thermal environment, further additional terms related to the temperature should also be added. In numerical calculation, the first three steps should be performed under the constitutive law of two-dimensional state such as (11.16)– (11.23) for the general cases of MEE materials. To find the complete stress and strain components through steps 4 and 5, we need to employ the original three-dimensional constitutive law such as (11.13). To solve the displacements and tractions at the boundary nodes from (15.56), function BEM2DelasticB is designed and presented in F021 of Appendix F. To solve the strains and stresses of the boundary nodes from (15.72)–(15.77), an auxiliary function BEMstrainstressB will be presented later in Sect. 15.7.4, which will also include the solution for the problems with coupled strectching-bending deformation.
15.4.5 Solutions at the Internal Points—BEM2DelasticIN, BEMinfluenceIN To know the values of stresses, strains and displacements at any interior point, the source point n is considered to be an internal point and CðnÞ in (15.55) becomes the unit matrix I. The displacement at any point inside the body can therefore be obtained from (15.55) as uðnÞ ¼
N X
^ n ðnÞun : Gn ðnÞtn Y
ð15:78Þ
n¼1
The internal strains at point n can be found by differentiating (15.78) with respect to ^xi ; i ¼ 1; 2; 3 and using the strain– displacement relation eij ¼ ðui;j þ uj;i Þ=2. For two-dimensional problems considered in this Section, we have e11 ¼ u1;1 ;
e22 ¼ u2;2 ;
2e12 ¼ 2e21 ¼ u1;2 þ u2;1 ;
e33 ¼ 0; 2e13 ¼ 2e31 ¼ u3;1 ;
2e23 ¼ 2e32 ¼ u3;2 :
ð15:79aÞ
From (15.79a), we see that all the strain components can easily be calculated if we know u;1 and u;2 . Their relations are 8 9 8 ð2Þ 9 < e11 = < 2e12 = ð1Þ e1 ¼ 2e12 ¼ u;1 ; e2 ¼ ¼ u;2 ; ð15:79bÞ : ; : e22 ; 2e13 2e23 and ð1Þ
ð 2Þ
2e12 ¼ 2e12 þ 2e12 ¼ iT2 u;1 þ iT1 u;2 :
ð15:79cÞ
By differentiating (15.78) with respect to ^x1 and ^x2 , we obtain u;i ðnÞ ¼
N X
^ n;i ðnÞun ; i ¼ 1; 2: Gn;i ðnÞtn Y
ð15:79dÞ
n¼1
^ n;i are obtained by using Eqs. 15.53b and 15.54b in which the differentiation of T and U with Note that Gn;i and Y respect to ^x1 and ^x2 can be obtained from the expressions given in Sect. 15.2 for different kinds of problems.
372
15
Boundary Element Analysis
To find the internal stresses at point n, the stress–strain law rij ¼ Cijks eks should be employed. If we let 8 9 8 9 < r11 = < r21 = r1 ¼ r12 ; r2 ¼ r22 ; : ; : ; r13 r23
ð15:80aÞ
it can be proved that r1 ðnÞ ¼ Qu;1 ðnÞ þ Ru;2 ðnÞ;
ð15:80bÞ
r2 ðnÞ ¼ RT u;1 ðnÞ þ Tu;2 ðnÞ; where Q, R and T have been defined in (2.9b) and u;1 and u;2 are given in (15.79d). Stress intensity factors of cracks
As shown in (7.2), the stress intensity factors are defined based upon the values of stresses near the crack tip. Conventionally to get accurate and stable results of these factors, very fine meshes near the crack tip are generally required. In the special boundary element Ltype = 5, no meshes are made inside the body. As shown in (15.80b), the stresses at the internal points are related to u;1 and u;2 which can be calculated by (15.79d). Thus, it is very possible that we can calculate the stress intensity factors using only the nodal displacements and nodal tractions on the boundary of the anisotropic elastic body. Considering the possible cases of incline cracks, it is desired to know the stresses in the rotated coordinate (see the x y coordinate shown in Fig. 15.4). Through the use of transformation rule for second order tensor, we have r1 ðnÞ ¼ Q u;1 ðnÞ þ R1 u;2 ðnÞ;
ð15:81aÞ
r2 ðnÞ ¼ R2 u;1 ðnÞ þ T u;2 ðnÞ;
where Q ¼ T11 Q þ T12 RT ; R1 ¼ T11 R þ T12 T; R2 ¼ T21 Q þ T22 RT ; T ¼ T21 R þ T22 T;
ð15:81bÞ
and 2
c2 6 T11 ¼4 cs
2cs 2 c s2
0 cs 6 2 T21 ¼4 s
0
2
0
2 3 0 s2 0 6 7 0 5; T12 ¼4 0 cs 3
c
2
0
0
0 c s 6 7 0 5; T22 ¼4 2cs 0 s 0
0 0
2
3 0 7 0 5;
2
s
cs c2
3 0 7 0 5;
0
c
ð15:81cÞ
in which c ¼ cos a0 ; s ¼ sin a0 . Substituting r2 ðnÞ of (15.81a)2 into (7.2), a formula for calculating the stress intensity factors through the nodal displacements and nodal tractions on the boundary can be obtained as 9 8 > = < KII > pffiffiffiffiffiffiffiffi ¼ k ¼ lim 2pr ðR2 u;1 þ T u;2 Þ KI r!0 > > ; : h¼0 KIII ð15:82aÞ N nh i h i o X R2 Gcn1 þ T Gcn2 tn R2 Ycn1 þ T Ycn2 un ; ¼ n¼1
where Ycnj
1 ¼ 2
1 Gcnj ¼ 2
Z1 Tcj -1 ‘m d1 þ 1
Z1 1
1 2
1 Ucj -1 ‘m d1 þ 2
Z1 Tcj -2 ‘m1 d1; 1
ð15:82bÞ
Z1 Ucj -2 ‘m1 d1; 1
j ¼ 1; 2;
15.4
Two-Dimensional Anisotropic Elastic Analysis—Basic Version
373
and ( " #) 3 X 1 1 T T 1 ¼ pffiffiffiffiffiffi Im A\ [ \^za;j [ A \^zk;j fa [ B BIk A ; 1 fa pa k¼1 ( " #) 3 X 2 f2 sa T T c T 1 a ~ : [ \^za;j [ A \^zk;j [ B BIk A ðTj Þ ¼ pffiffiffiffiffiffi Im B\ 2 a pa ðfa 1Þð1 fa Þ2 k¼1
ðUcj ÞT
ð15:83aÞ
For an inclined crack of length 2a located at an arbitrary location of the anisotropic elastic body, its intensity factor of the right tip (x ¼ a; y ¼ 0) and left tip (x ¼ a; y ¼ 0) may not be the same. If x y is the coordinate based upon the orientation a0 of right tip, the orientation of the left tip will then be a0 þ p. And hence, the sign of some values stated in (15.59b, c) and (15.81a)–(15.83a) should be changed for the left tip as c ! c; s ! s; x1 ! x1 ; x2 ! x2 ; la ! la ; za ! za ; ~sa ! ~sa ; ^za;1 ! ^za;1 ; ^za;2 ! ^za;2 :
ð15:83bÞ
In (15.83), ~sa and fa are defined in (15.59). Note that the matrix Tci in Tci -1 ‘m and Tci -2 ‘m1 of (15.82b)1 is associated with two different elements whose corresponding Tci is different. The first term is associated with element m, and the second term is associated with element m-1. Same situation occurs for Uci in (15.82b)2. A matrix with superscript c means that it is a matrix related to crack problems, and the superscript T denotes the transpose of matrix. For the calculation of the internal displacements, stresses, strains, and the stress intensity factors, function BEM2DelasticIN is designed and presented in F022 of Appendix F. To implement the function BEM2DelasticIN, we need to calculate the influence matrices for the internal points. By adding the contribution of two adjoining elements as shown in (15.54b), function BEMinfluenceIN is designed and presented in F038 of Appendix F.
15.4.6 Multiple Holes/Cracks/Inclusions—BFEM As stated in Sect. 15.1.5 the problems with multiple holes/cracks/inclusions are suggested to be solved by using boundary-based finite element. After getting the element stiffness matrix from (15.20b), the overall structural stiffness matrix and load vector can be obtained through the conventional finite element assembly process. The final system of equations can then be solved by Gaussian elimination algorithm (see Appendix A.2.1). Once all the values of nodal forces f e and nodal displacements ue are determined, the traction te at the boundary can be calculated from the original system of Eqs. (15.13) of boundary element, i.e., 1 0 te ¼ G1 e Ye ue ¼ We Ke ue :
ð15:84Þ
When the nodal displacements ue and nodal tractions te at all the boundaries (exterior and interior) are determined, the strains and stresses at the boundaries and internal points can be calculated by following the way stated at Sects. 15.4.4 and 15.4.5. With this understanding, function BFEM is designed and presented in F045 of Appendix F.
15.5
Two-Dimensional Anisotropic Elastic Analysis—Extended Version
15.5.1 Piezoeletric/MEE Analysis As stated in Sects. 11.2 and 15.1.1, by extending the range of the index from 1, 2, 3 to 1, 2, 3, 4, or 1, 2, 3, 4, 5, the basic equations and the associated boundary integral equations for anisotropic piezoelectric/MEE analysis can be written in the same tensor notation as those of anisotropic elasticity. And hence, no particular computer program is coded for the boundary element analysis with piezoelectric/MEE materials, and all the programs will follow the control parameter with Ptype 6¼ 0 by expanding the range of the index to include the piezoelectric/MEE effects.
374
15
Boundary Element Analysis
15.5.2 Viscoelastic Analysis—BEM2DviscoB, BEM2DviscoIN, BFEMv As stated in Sects. 12.1.1 and 15.1.1, in the Laplace domain the basic equations and the associated boundary integral equations for viscoelasticity can also be written in the same tensor notation as those of anisotropic elasticity. Like the cases of piezoelectric/MEE materials, no particular computer program is coded for the boundary element analysis in the Laplace domain. After getting the solutions in the Laplace domain, numerical Laplace inversion is implemented by function laplace_inv (see Sect. 12.1.3) to get the solution in time domain. To take advantage of the predesigned functions BEM2DelasticB, BEM2DelasticIN and BFEM for 2D-BEM of anisotropic elasticity, three functions BEM2DviscoB, BEM2DviscoIN and BFEMv are designed for viscoelasticity. The first is responsible for the calculation of displacements, tractions, strains and stresses at the boundary nodes, the second is for those of internal nodes, and the third is for the problems with multiple holes/cracks/inclusions. These functions are presented in F022, F024, and F046 of Appendix F. The functions introduced in this section is based upon the correspondence principle mentioned in Chap. 12. Since this principle is applicable only for the cases with time-independent boundary conditions, some problems such as contact between two viscoelastic bodies cannot be solved by this method. To have a method applicable for the general boundary conditions, later in Sect. 15.8.3 the time-stepping method will be introduced for the general contact problems of viscoelastic solids, whose boundaries may be time-dependent. Through proper adjustment on the functions introduced in Sect. 15.8.3, the BEM based upon time-stepping method can also be applied to the general problems of anisotropic viscoelasticity, and has been proved to be more efficient than the one based upon the correspodenec principle.
15.5.3 Thermoelastic Analysis—BEMload_thermo, thermal_BEM For thermoelastic analysis the extra term on the right hand side of (15.1d), which is a body integral reflecting the thermal effects through temperature change T(x) and thermal moduli bij , should be added to the system of equations Yu = Gt. If the uncoupled steady state thermoelastic problem is considered, as shown in the basic Eq. (2.24) the heat flux hi and the temperature T can be determined independently from the relations hi ¼ kij T;j and hi;i ¼ 0 as well as the boundary conditions for the problem. Therefore, the temperature T(x) in (15.1d) is treated as a known function, which can be determined from any other method such as finite element method or boundary element method. To avoid body discretization an exact transformation introduced in (15.3) is employed for the boundary element formulation. Using (15.3b) to find vi and vi;k , and expressing the right hand side of (15.3a) in matrix form, we can prove that (Shiah et al. 2014, 2018; Hwu et al. 2019a) Z Z ~ bjk uij;k ðn; xÞTðxÞdX ¼ ½v ðn; xÞT~ 0 ðxÞ V0 ðn; xÞkðxÞTðxÞdC; ð15:85aÞ X
C
where 1 v ðn; xÞ ¼ Im A\ka1 ðza ^za Þ½lnðza ^za Þ 1 [ bA ; p V 0 ðn; xÞ ¼ ½v;1 ðn; xÞ; v;2 ðn; xÞ; T~ 0 ðxÞ ¼ ðk11 n1 þ k21 n2 ÞT;1 þ ðk12 n1 þ k22 n2 ÞT;2 ; ( ) k11 n1 þ k21 n2 ~ kðxÞ ¼ ; k12 n1 þ k22 n2 and
ð15:85bÞ
15.5
Two-Dimensional Anisotropic Elastic Analysis…
375
1 v;1 ðn; xÞ ¼ Im A\ka1 lnðza ^za Þ [ bA ; p 1 v;2 ðn; xÞ ¼ Im A\la ka1 lnðza ^za Þ [ bA ; p bA ¼ AT b1 þ \la [ AT b2 ; ka ¼ k11 þ 2k12 la þ k22 l2a ; 2 3 2 3 b11 b12 6 7 6 7 b1 ¼ 4 b21 5; b2 ¼ 4 b22 5: b31 b32
ð15:85cÞ
If a multi-connected domain is considered, depending upon the location of the source point n the domain boundary can be assumed to be C ¼ C0 þ C1 þ þ Ci þ þ Cn þ C þ þ C , where C þ ¼ C1þ þ þ Cnþ ; C ¼ C 1 þ þ Cn , and some portions of Ci may be split into Cic and Ciu where the subscripts c and u denote, respectively, the cut and uncut portions (see Fig. 15.6a–e). Since t þ ¼ t and u þ ¼ u , it can be proved that Z Z T ðn; xÞuðxÞdC ¼ U ðn; xÞtðxÞdC ¼ 0; for all n; C þ þ C
C þ þ C
Z
ð15:86aÞ
~ ½v ðn; xÞT~ 0 ðxÞ V0 ðn; xÞkðxÞTðxÞdC ¼ 0;
for n ¼ no ;
C þ þ C
where no denotes the point lying on the outer boundary of the body. Note that as discussed in Sect. 4.1.3, the first equation of (15.86a) is always valid no matter which branch is selected for the calculation of logarithmic function. The second equation is valid only when the branch is chosen such that it will not cut the body. With this concern, the branch cut is usually suggested to be directed in the outward normal direction, i.e., a branch leading to hj þ p=2 h hj þ 5p=2;
ð15:86bÞ
where hj is the angle of tangential direction of the boundary node j. However, when the source point n locates inside the body, no such branch cut exists. If the branch cut for the principal value of the logarithmic function is selected such that ln z ¼ ln r þ ih and p h p, it can be shown that Z ~ ½v ðn; xÞT~ 0 ðxÞ V0 ðn; xÞkðxÞTðxÞdC ¼ a1 v1 a2 ½v1 ; v2 k0 ; when n 6¼ no ; ð15:87aÞ C þ þ C
where v1 ¼ 2Re a1 ¼
n‘ Z X i¼1
Li
A\ka1
[ bA ; v2 ¼ 2Re
A\ka1 la
½k21 T;1 ðxÞ þ k22 T;2 ðxÞxdx; a2 ¼
n‘ Z X i¼1
[ bA ; k 0 ¼
(
k21 k22
) ; ð15:87bÞ
TðxÞdx:
Li
In (15.87b), the integration variable x is a local variable with the origin at the source point n, and Li ; i ¼ 1; . . .; n‘ are the horizontal lines on the left hand side of the source point n. For example, if n ¼ nA ; then n‘ ¼ 1 and L1 ¼ C 1 (Fig. 15.6a); if ; L ¼ C (Fig. 15.6b); if n ¼ n ; then n ¼ 2 and L ¼ C ; L ¼ C n ¼ nB ; then n‘ ¼ 2 and L1 ¼ C 2 ‘ 1 2 C 1 2c 1 2 (Fig. 15.6c); if þ (Fig. 15.6d); if n ¼ n ; as shown in (15.86a) the line integral along C þ C will be zero. n ¼ nD ; then n‘ ¼ 1 and L1 ¼ C o 1c From the above discussion we know that due to the discontinuity across the branch cut selected for the logarithmic function lnðza ^za Þ, to evaluate the boundary integral (15.85a) an extra line integral (15.87a) acrossing the domain surface is required for the problem with multi-connected domain. Therefore, even only the boundary integral is involved in (15.85a)
376
15
Boundary Element Analysis
Fig. 15.6 A multi-connected domain
we still need to provide the temperature information inside the domain, which will reduce the value of BEM. To avoid the problem induced by the complex logarithmic function, by solving (15.3b) and using the Stroh’s identities to convert complex form to real form a continuous real form solution for vi and its derivatives vi;j have been obtained as (Hwu et al. 2019a) v ¼ r ln rv1 ðhÞ þ rv2 ðhÞ; v;1 ¼ ½ðln r þ 1Þv1 ðhÞ þ v2 ðhÞ cos h ½ln rv01 ðhÞ þ v02 ðhÞ sin h; v;2
¼
½ðln r þ 1Þv1 ðhÞ þ v2 ðhÞ sin h þ ½ln rv01 ðhÞ þ v02 ðhÞ cos h;
ð15:88aÞ
15.5
Two-Dimensional Anisotropic Elastic Analysis…
377
where v1 ðhÞ ¼ cos hvc þ sin hvs ; v01 ðhÞ ¼ sin hvc þ cos hvs ; 1 X 1 ðan cos nh þ bn sin nhÞ; v2 ðhÞ ¼ a0 þ 1 n2 n¼2 v02 ðhÞ ¼
ð15:88bÞ
1 X
n ðan sin nh þ bn cos nhÞ: 1 n2 n¼2
In the above, ðr; hÞ is the polar coordinate with origin located at the source point n, and vc , vs , a0 , an ; bn ; n ¼ 2; 3; . . .; 1 can be determined from 1 1 1 vc ¼ fkss gc ksc gs g; vs ¼ fkcc gs kcs gc g; a0 ¼ D D 2p 1 an ¼ p
Zp
1 hðhÞ cos nhdh; bn ¼ p
p
Zp
Zp hðhÞdh; p
ð15:89aÞ
hðhÞ sin nhdh; n ¼ 1; 2; 3; . . .; 1; p
where Zp gc ¼
Zp g0 ðhÞ cos hdh; gs ¼
p
g0 ðhÞ sin hdh; g0 ðhÞ ¼ p
1
ðhÞ gðhÞ; k11
ð15:89bÞ
hðhÞ ¼ g0 ðhÞ kc ðhÞvc ks ðhÞvs ; Zp kcc ¼
Zp kc ðhÞ cos hdh; ksc ¼
p Zp
kcs ¼
p
Zp kc ðhÞ sin hdh; kss ¼
p
kc ðhÞ ¼
ks ðhÞ cos hdh;
ks ðhÞ sin hdh; p
k0 cosh 2k12 ðhÞ sin h k0 sin h þ 2k12 ðhÞcosh ; ks ðhÞ ¼ ; k11 ðhÞ k11 ðhÞ
ð15:89cÞ
D ¼ kcc kss kcs ksc ; k0 ¼ k11 þ k22 ; k12 ðhÞ k11 ðhÞ
¼ k11 sin h cos h þ k12 ðcos2 h sin2 hÞ þ k22 sin h cos h; ¼ k11 sin2 h 2k12 sin h cos h þ k22 cos2 h;
and 1 Hb1 ðhÞ þ ½N1 ðhÞH þ N2 ðhÞST b2 ðhÞ ; 2p b1 ðhÞ ¼ coshb1 þ sin hb2 ; b2 ðhÞ ¼ sin hb1 þ cos hb2 : gðhÞ ¼
ð15:89dÞ
To generalize the application of thermal BEM to the problems with heat source inside the body, Eq. (15.3a) has been modified further as (Hwu et al. 2019a) Z bjk uij;k ðn; xÞTðxÞdXðxÞ X
Z ¼ C
fcwij ðn; xÞ þ kjk ½vi ðn; xÞT;k ðxÞ vi;k ðn; xÞTðxÞgnj ðxÞdCðxÞ;
ð15:90aÞ
378
15
Boundary Element Analysis
where wij;j ðn; xÞ ¼ vi ðn; xÞ:
ð15:90bÞ
Here, the heat generation rate c which satisfies the relation that hi;i ¼ c, is assumed to be constant within the domain. From (15.88) and (15.90b), a real form solution of wij has been derived and written in matrix form as
1 1 1 ½wi1 ¼ r 2 ln rvc þ r 2 vc þ a0 cos h þ w1 ; 2 4 3
1 1 1 ½wi2 ¼ r 2 ln rvs þ r 2 vs þ a0 sin h þ w2 ; 2 4 3
ð15:91aÞ
where 1 X
1 ½cosðn þ 1Þhan þ sinðn þ 1Þhbn ; ðn þ 3Þð1 n2 Þ n¼2 1 X 1 w2 ¼ ½sinðn þ 1Þhan cosðn þ 1Þhbn : ðn þ 3Þð1 n2 Þ n¼2 w1 ¼
ð15:91bÞ
To calculate the internal stresses by the way stated in Sect. 15.4.5, the derivatives of v ; v;1 ; v;2 ; and wij with respective to ^x1 and ^x2 are required. Through the relations between ðr; hÞ and x n, it can be proved that @v @v ¼ v;1 ; ¼ v;2 ; @^x1 @^x2 @v;1 @v;1 @v;2 ¼ v;11 ; ¼ ¼ v;12 ; @^x1 @^x2 @^x1 @wij @wij ¼ wij;1 ; ¼ wij;2 ; @^x1 @^x2
@v;2 ¼ v;22 ; @^x2
ð15:92aÞ
where v;1 and v;2 are shown in (15.88a), and 1 v1 v01 sin 2h þ ðv2 þ v002 Þ sin2 h ; r 1 0 v1 cos 2h ðv2 þ v002 Þ cos h sin h ; v;12 ¼ r 1 v1 þ v01 sin 2h þ ðv2 þ v002 Þ cos2 h ; v;22 ¼ r
1 0 wi1;1 ¼ r cos h ln rvc þ ð3 þ cos 2hÞa0 þ 2 cos hw1 sin hw1 ; 6
1 0 wi1;2 ¼ r sin h ln rvc þ sin 2ha0 þ 2 sin hw1 þ cos hw1 ; 6
1 0 wi2;1 ¼ r cos h ln rvs þ sin 2ha0 þ 2 cos hw2 sin hw2 ; 6
1 0 wi2;2 ¼ r sin h ln rvs þ ð3 cos 2hÞa0 þ 2 sin hw2 þ cos hw2 ; 6
v;11 ¼
ð15:92bÞ
in which v2 þ v002 ¼ a0 þ
1 X
ðan cos nh þ bn sin nhÞ:
ð15:92cÞ
n¼2
With the results obtained in (15.85)–(15.92), two functions, BEMload_thermo and thermal_BEM, are designed and presented in F041 and F200 of Appendix F. With the thermal load calculated by function BEMload_thermo, to calculate displacements, strains and stresses at the boundary nodes and internal nodes for thermoelastic problems, some codes with ‘Ttype * = 0′ are added in functions BEM2DelasticB and BEM2DelasticIN.
15.6
15.6
Two-Dimensional Anisotropic Dynamic Analysis
379
Two-Dimensional Anisotropic Dynamic Analysis
For the traditional BEM of dynamic analysis, the fundamental solutions are based on the solutions of the dynamic body force, i.e., a unit impulse force, which is in terms of time variable. However, practically it is difficult to find the solution analytically for particular problems, such as anisotropic plates with cracks, holes, or interfaces subjected to an impulse force. Even though such fundamental solutions could be obtained, the domain integral would have been present in the boundary integral equation if the body forces or non-zero initial conditions do exist. In view of this, Nardini and Brebbia (1982) developed the dual reciprocity boundary element method (DRBEM) to deal with the problems which involve the domain integral. By using a series of distributed shape functions to approximate the source term, the domain integral can be transformed into an equivalent boundary integral numerically (see Eq. 15.4). The applications of this method have been successful in a wide range of fields. Thus, the elastostatics fundamental solutions can be used for dynamic analysis if the inertia term of dynamic problems is treated as a general body force, which is the source term remained in the domain integral (see Eq. 15.1e). A lot of approximate functions, such as general radial basis function (RBF), spline, multiquadric and Gaussian types RBFs, have been discussed to increase the accuracy of DRBEM (Partridge 2000). For the isotropic elastic problems the most commonly used function is the first order conical radial basis function. However, in the case of anisotropic elastic materials the particular solutions derived by the functions described above are not easy to be coped with in closed form. Kögl and Gaul (2000, 2003) suggested an alternative approach to choose a particular solution, which was employed in (Chen and Hwu 2014) and will be discussed in detail in Sect. 15.6.1. By the benefit of dual reciprocity method, the boundary element method for vibration analysis of anisotropic elastic plates containing holes, cracks, or interfaces can be improved substantially by using the static fundamental solution which exactly satisfies the traction-free boundary conditions of holes or cracks, or the interface continuity condition. Same as the associated elastostatic problems, through the use of these special fundamental solutions, no meshes are needed along the boundary of holes, cracks, or interfaces, and hence the accuracy and efficiency of BEM can be improved. Three kinds of vibration analysis are considered in this Section, which are free vibration, steady-state forced vibration and transient analysis. Free vibration problem is accomplished by the generalized eigenvalue equation, and steady state analysis subjected to periodic harmonic loading is solved from a purely algebraic system of equations. The solution of the transient analysis involves the integration in time, and hence a step-by-step time integration technique is needed to solve the system of ordinary differential equations set for the vibration problems.
15.6.1 Particular Solutions—BEMload_dynamic From the boundary integral Eq. (15.1e) with (15.4), we see that not only the fundamental solutions tij and uij , but also the ðpÞ
ðpÞ
particular solutions uj ðxÞ and tj ðxÞ, are necessary for the boundary element dynamic analysis. However, finding ðpÞ
appropriate particular solutions from their associated body force fj ðxÞ is not an easy work for anisotropic elastic analysis. ðpÞ
Instead a much simple approach suggested by Kögl and Gaul (2000) was employed in (Chen and Hwu 2014) using uj ðxÞ, ðpÞ
ðpÞ
and calculating tj ðxÞ and fj ðxÞ via tj ¼ rij ni ¼ Cijkl ekl ni ¼ Cijkl uk;l ni ;
fj ¼ Cjikl uk;li ;
ð15:93Þ
where ni is the normal direction of the surface. If a particular displacement field is selected to be u1 ðxÞ ¼ r 2 þ r 3 ; u2 ðxÞ ¼ u3 ðxÞ ¼ 0; where r denotes the distance between field point x and source point n, i.e., qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi r ¼ jx nj ¼ ðx1 ^x1 Þ2 þ ðx2 ^x2 Þ2 ;
ð15:94aÞ
ð15:94bÞ
380
15
Boundary Element Analysis
in order to have an equal base for x1 ; x2 , and x3 directions, it seems better to choose the following two particular displacement fields simultaneously, u1 ðxÞ ¼ 0; u2 ðxÞ ¼ r 2 þ r 3 ; u3 ðxÞ ¼ 0; u1 ðxÞ ¼ u2 ðxÞ ¼ 0; u3 ðxÞ ¼ r 2 þ r 3 :
ð15:95Þ
Equations (15.94) and (15.95) can be combined together by using a second order tensor ujm to represent three sets of particular displacement fields, i.e., ujm ¼ djm ðr 2 þ r 3 Þ:
ð15:96Þ
With the field solution (15.96) as three bases of particular solutions, by selecting Np appropriate locations for the source point n, we can get totally 3Np particular solutions for the displacement fields, i.e., ðpÞ
ujm ðxÞ ¼ djm ðr 2 ðx; nðpÞ Þ þ r 3 ðx; nðpÞ ÞÞ; j; m ¼ 1; 2; 3; p ¼ 1; 2; . . .; Np :
ð15:97aÞ
The associated particular solutions of traction and body force can then be obtained by substituting (15.96) into (15.93), which are ðpÞ
tjm ¼ Cijml ð2 þ 3rÞrr;l ni ;
ðpÞ
fjm ¼ 3 r;i r;l rCjiml ð2 þ 3rÞ Cjlml :
ð15:97bÞ
In (15.97b), the derivative of r with respect to xi, i = 1,2, can be obtained from (15.94), which is r;i ¼ ðxi ^xi Þ=r: Note that the repeated index l in (15.97b) ranges from 1 to 2 without including 3 because the derivative with respect to x3 required in (15.93)2 is zero for two-dimensional problems. For the convenience of computer programming, (15.97) can be rewritten in matrix form as U¼ ½U1 U2 . . .UNp ; T¼ ½T1 T2 . . .TNp ; F¼ ½F1 F2 . . .FNp ;
ð15:98aÞ
9 9 9 8 8 8 U1k > T1k > F1k > > > > > > > > > > > > > > > > > > > > > > > > > = = = < U2k > < T2k > < F2k > ; Tk ¼ ; Fk ¼ ; k ¼ 1; 2; . . .; Np ; Uk ¼ . . . > > > .. > .. > .. > > > > > > > > > > > > > > > > > > > > > > > > > ; ; ; : : : FNp k UNk TNk
ð15:98bÞ
where
2
3 ~ 11 r0 nT C ~ 0 nT C ~ 0 nTj C jk j 12 rjk j 13 rjk 6 T 7 T~ 0 T~ 0 7 ~ 0 Ujk ¼ ðrjk2 þ rjk3 ÞI; Tjk ¼ ð2 þ 3rjk Þrjk 6 4 nj C21 rjk nj C22 rjk nj C23 rjk 5; ~ 31 r0 nT C ~ 0 nT C ~ 0 nTj C jk j 32 rjk j 33 rjk 2 0T 3 ~ 11 r0 r0T C ~ 0 r0T C ~ 0 rjk C jk jk 12 rjk jk 13 rjk 6 0T 7 0T ~ 0 0T ~ 0 7 ~ ~ 0 Fjk ¼ 3rjk 6 4 rjk C21 rjk rjk C22 rjk rjk C23 rjk 5 ð2 þ 3rjk ÞC0 ; (no sum on j;kÞ ~ 0 r0T C ~ 0 r0T C ~ 0 r0T jk C31 rjk jk 32 rjk jk 33 rjk
ð15:98cÞ
nTj ¼ ð sin hj ; cos hj ; 0Þ; r0T jk ¼ ðrjk;1 ; rjk;2 ; 0Þ; qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ðjÞ ðkÞ ðjÞ ðkÞ x ^x1 x ^x2 ðjÞ ðkÞ ðjÞ ðkÞ ; rjk;2 ¼ 2 ; rjk ¼ ðx1 ^x1 Þ2 þ ðx2 ^x2 Þ2 ; rjk;1 ¼ 1 rjk rjk
ð15:98dÞ
and
15.6
Two-Dimensional Anisotropic Dynamic Analysis
2
~ 11 C
C11 6 ¼ 4 C16
C16 C66
3 2 C15 C66 7 ~ 6 C56 5; C ¼ C26 4 22
C26 C22
3 2 C46 C55 7 ~ 6 C24 5; C ¼ C 4 33 45
C45 C44
3 C35 7 C34 5;
C15
C56
C55
C46
C24
C44
C35
C34
C33
C16 6 ¼ 4 C12
C66 C26
C56 C15 7 ~ 6 C25 5; C31 ¼ 4 C14
C56 C46
C55 C56 7 ~ 6 C45 5; C32 ¼ 4 C46
C25 C24
3 C45 7 C44 5;
C45
C36
C35
C23
C34
2
~ 21 C
381
~ 12 ¼ C
C14 C46 T ~ ; C ~ 13 ¼ C 21
~T ; C 31
3
2
C13 ~ 23 ¼ C
~T ; C 32
3
2
C36
ð15:98eÞ
~0 ¼ C ~ 11 þ C ~ 22 : C
Note that the source point n of (15.97a) can be placed freely inside the domain (including the boundary) without requiring an interior mesh. Since all the particular solutions can be calculated directly from (15.97) and (15.98) if n and x are known, no unknown variables appear in the interior domain due to the use of particular solutions. To calculate the particular solutions of displacements, tractions and body forces, function BEMload_dynamic is designed and presented in F040 of Appendix F.
15.6.2 Boundary Element Formulation—BEM_YGMVsplit With the fundamental solutions and particular solutions provided in Sects. 15.2 and 15.6.1, the boundary integral Eq. (15.1e) with (15.4) can now be solved by discretizing the boundary into M linear elements with N nodal points, in which the displacement uj(x) and the traction tj(x) over each element can be interpolated linearly by nodal displacements and nodal tractions. In each node, one of the two variables (uj or tj) is known. Considering the source point n to be the location of boundary node, and following the standard procedure of boundary element method stated in Sect. 15.4, the boundary integral Eq. (15.1e) finally reduces to a system of simultaneous linear algebraic equations which may be expressed as (Gaul et al. 2003) Yu Gt ¼ ðYU GTÞ a;
ð15:99Þ
where u and t are the vectors of nodal displacements and nodal tractions, Y and G are the matrices of influence coefficients related to the static fundamental solutions and the interpolation functions, U and T are the matrices contributed by the ðpÞ
ðpÞ
particular solutions uj ðxÞ and tj ðxÞ, a is a vector containing the unknown coefficients ap . To calculate the unknown coefficients contained in the vector a, a system of equations can be set from (15.5) by selecting Np proper boundary and interior points, which yields a ¼ F1 ðq€ u bÞ;
ð15:100Þ
ðpÞ
where F is a matrix contributed by the particular solution fj ðxÞ, and b is a vector related to the body forces bj ðxÞ of the actual load system, which can be ignored if no body force is applied on the dynamic problem. In our program, in addition to np interior points, all the boundary nodal points are selected to be the source points of particular solutions, i.e., Np = N + np. Substituting (15.100) into (15.99), a system of ordinary differential equations can be obtained as M€ u þ Yu ¼ Gt þ Vb;
ð15:101aÞ
where M ¼ qV; and
V ¼ ðYU GTÞF1 :
ð15:101bÞ
To solve (15.101), it is customary to split the nodal vectors into known and unknown parts denoted by the superscripts (k) and (u). Subdividing the system matrices M, Y, G, and V accordingly, Eq. (15.101) can be rewritten as (Gaul et al. 2003) ðkÞ
M11 M12 Y11 Y12 G11 G12 V1 € uðkÞ tðkÞ u þ ¼ þ b: ð15:102Þ ðuÞ ðuÞ ðuÞ M21 M22 Y Y G G V € u t u 21 22 21 22 2
382
15
Boundary Element Analysis
Solving the first row of (15.102) for the unknown traction tðuÞ yields €ðkÞ þ M12 u €ðuÞ þ Y11 uðkÞ þ Y12 uðuÞ G11 tðkÞ V1 bÞ: tðuÞ ¼ G1 12 ðM11 u
ð15:103Þ
Substituting (15.103) into the second row of (15.102), a reduced system of ordinary differential equations can be obtained as €ðuÞ þ YðuÞ uðuÞ ¼ qðkÞ ; MðuÞ u
ð15:104aÞ
where €ðkÞ YðkÞ uðkÞ þ VðkÞ b; qðkÞ ¼ GðkÞ tðkÞ MðkÞ u MðuÞ ¼ M22 G22 G1 12 M12 ;
YðuÞ ¼ Y22 G22 G1 12 Y12 ;
MðkÞ ¼ M21 G22 G1 12 M11 ;
YðkÞ ¼ Y21 G22 G1 12 Y11 ;
GðkÞ ¼ G21 G22 G1 12 G11 ;
VðkÞ ¼ V2 G22 G1 12 V1 :
ð15:104bÞ
Note that in (15.103) and (15.104b) the known traction tðkÞ is related to the applied dynamic load and may depend on both position and time, i.e., tðkÞ ¼ tðkÞ ðx; tÞ ¼ ^tðxÞqðtÞ;
ð15:104cÞ
where ^tðxÞ is read from input_bc.txt and qðtÞ is from input_qt.txt. According to the above formulations, the solutions stated later for the dynamic analysis will be related to part of the matrices with the superscripts (k) and (u) instead of the whole matrices themselves, and hence a function used to split the matrices Y, G, M and V into known and unknown parts is necessary. Function BEM_YGMVsplit is then designed and is presented in F002 of Appendix F.
15.6.3 Free Vibration To know the natural frequency and its associated vibration mode, we consider the motion in the absence of any imposed external forces, i.e., tðx; tÞ ¼ bðx; tÞ ¼ 0 in (15.101a). To find the natural modes of vibration, the usual way is the method of ~ðxÞ of the spatial separation of variables. By this method we write the deflection uðx; tÞ as a product of a function u coordinates and a function f ðtÞ depending on time. Furthermore, because of free vibration, f ðtÞ is assumed to be harmonic with natural frequency x. Thus, ~ðuÞ ðxÞeixt : uðuÞ ðx; tÞ ¼ u
ð15:105Þ
€ðkÞ ¼ 0) into (15.104a), we obtain Substituting (15.105) with qðkÞ ¼ 0 (because tðkÞ ¼ b ¼ uðkÞ ¼ u uðuÞ ¼ 0; ðYðuÞ x2 MðuÞ Þ~
ð15:106Þ
which can be further reduced to the following standard eigenproblem ~ðuÞ ¼ k~ uðuÞ ; KðuÞ u
ð15:107aÞ
KðuÞ ¼ ðYðuÞ Þ1 MðuÞ ; k ¼ 1=x2 :
ð15:107bÞ
where
15.6.4 Steady-State Forced Vibration If the motion of the plate is continuously excited by an external harmonic force such that all physical quantities perform ^ i.e., harmonic oscillation with circular frequency x,
15.6
Two-Dimensional Anisotropic Dynamic Analysis
383
^ ^ ~ðkÞ ðxÞeixt ~ðuÞ ðxÞeixt uðuÞ ðx; tÞ ¼ u ; qðkÞ ðx; tÞ ¼ q ;
ð15:108Þ
the system of Eqs. (15.104a) becomes ~ðkÞ ; ^ 2 MðuÞ Þ~ uðuÞ ¼ q ðYðuÞ x
ð15:109Þ
which is a purely algebraic system of equations, and can be solved by standard solver such as Gauss elimination. Note that the solution obtained from (15.109) is not a complete solution but a steady-state solution which is not affected by initial conditions and remains as long as the forcing function is applied. In addition to the steady-state solution, the complete solution should also contain the transient solution which consists of the motion related to free vibration.
15.6.5 Transient Analysis—BEM2DdynamicB, BEM2DdynamicIN If we want to know the effects of initial conditions or the responses caused by non-harmonic forces, transient analysis to (15.104) is necessary. In general, there are two different methods to solve the system of ordinary differential equations set for vibration problems. One is the direct method, and the other is the modal superposition method. Two commonly used algorithms of direct method are Houbolt’s algorithm and Newmark’s algorithm, which employ the finite difference scheme to transform differential equations into algebraic equations, and then solve the unknowns directly. By performing the modal superposition method, the individual modes are decoupled and can be solved independently. Since these two methods have been discussed vastly in the literature, such as (Gaul et al. 2003), to save the space of this chapter only the algorithm used in our program is shown below. (1) Houbolt’s algorithm In Houbolt’s algorithm (1950), the time derivative of displacement is approximated by using the backward Gregory-Newton interpolation formula (Wylie 1975) to the third order difference. If we consider the four successive time steps (t0 3Dt; t0 2Dt; t0 Dt; t0 ) of the end time (t0 ), the velocity and acceleration at time step n can be approximated by o 1 n ðuÞ ðuÞ ðuÞ 11 uðuÞ 18 u þ 9 u 2 u n n1 n2 n3 ; 6Dt n o 1 ðuÞ ðuÞ ðuÞ ¼ 2 2 uðuÞ n 5 un1 þ 4 un2 un3 : Dt
u_ ðuÞ n ¼ €ðuÞ u n
ð15:110Þ
If we consider the third (t0 Dt) of four successive time steps, the approximation can be written as o 1 n ðuÞ ðuÞ ðuÞ 2un þ 1 þ 3 uðuÞ n 6 un1 þ un2 ; 6Dt o 1 n ðuÞ ðuÞ ¼ 2 un þ 1 2 uðuÞ þ u n n1 ; Dt
u_ ðuÞ n ¼ €ðuÞ u n
ð15:111Þ
where Dt is the time step size, and the subscript n denotes the value at time t ¼ t0 þ nDt. Introducing the approximation (15.110) into (15.104) for time step n leads to KuðuÞ n ¼ f n;
ð15:112aÞ
where K¼
2 1 ðuÞ ðuÞ ðuÞ ðuÞ ðuÞ ðkÞ ðuÞ M þ Y ; f ¼ q þ M 5u 4u þ u : n n n1 n2 n3 Dt2 Dt2
ðuÞ
ðuÞ
ðuÞ
ð15:112bÞ
ðuÞ
From (15.112b) we see that if u0 ; u1 ; u2 are known, all the values of un can be determined from (15.112a) successively. ðuÞ
ðuÞ
€ðuÞ With un determined, the unknown velocity u_ ðuÞ n , acceleration u n , and traction tn can then be obtained from (15.110) and (15.103).
384
15
Boundary Element Analysis
ðuÞ ðuÞ Consider the initial condition with u0 and u_ 0 known. From (15.104a), we have ðuÞ 1 ðkÞ ðuÞ ðuÞ €ðuÞ u 0 ¼ ðM Þ ðq0 Y u0 Þ:
ð15:113Þ
Using the approximation given in (15.111) with n = 0, we obtain ðuÞ
ðuÞ
ðuÞ
ðuÞ
€ 0 þ 2 u0 u 1 ; u1 ¼ Dt2 u ðuÞ
ðuÞ
ðuÞ
ðuÞ
ðuÞ
€0 þ 6Dtu_ 0 þ 9u0 8u1 : u2 ¼ 6Dt2 u Substituting (15.113) and (15.114) into (15.112) with n = 1, we get 6 6 6 ðuÞ ðkÞ ðkÞ ðuÞ ðuÞ ðuÞ ðuÞ ðuÞ ðuÞ M þ Y ¼ q þ 2q þ M 2Y u u0 þ MðuÞ u_ 0 : 1 1 0 Dt2 Dt2 Dt
ð15:114Þ
ð15:115Þ
ðuÞ ðuÞ ðuÞ ðuÞ ðuÞ €ðuÞ Thus, with u0 and u_ 0 known, u 0 ; u1 ; u1 ; u2 , can be determined from (15.113), (15.115) and (15.114) successively.
(2) Modal superposition method In modal analysis, using the expansion theorem the solution uðuÞ of (15.104a) can be written as a superposition of the ~ðuÞ normal modes u i ðxÞ(obtained from (15.107a) of free vibration analysis) multiplying corresponding time-dependent generalized coordinates hi ðtÞ. That is, uðuÞ ðx; tÞ ¼
S X
~ ~ðuÞ u i ðxÞhi ðtÞ ¼ UðxÞhðtÞ;
ð15:116aÞ
i¼1
~ where S is the number of normal modes used to approximate the solution uðuÞ , and UðxÞ and h(t) are, respectively, the modal matrix and the vector of generalized coordinates, which are defined as 9 8 h1 ðtÞ > > > > > > > > > = < h2 ðtÞ > ðuÞ ðuÞ ðuÞ ~ ~2 ðxÞ u ~S ðxÞ; hðtÞ ¼ ð15:116bÞ UðxÞ ¼ ½~ u1 ðxÞ u .. >: > > > . > > > > > > ; : hS ðtÞ Pre-multiplying (15.104a) by ðYðuÞ Þ1 and using the expansion (15.116a), we obtain ~h € þ Uh ~ ¼ ðYðuÞ Þ1 qðkÞ : KðuÞ U
ð15:117Þ
It’s known that KðuÞ is a non-symmetric matrix whose diagonalization can be made by ^
~ ¼ K; U KðuÞ U T
ð15:118aÞ
where ^
^ ðuÞ
^
^ ðuÞ
^ ðuÞ
U ¼ UðxÞ ¼ ½u1 ðxÞ u2 ðxÞ. . . uS ðxÞ;
K ¼ diag½k1 ; k2 ; . . .; kS :
ð15:118bÞ
^ ðuÞ
In (15.118b), ui ðxÞ; i ¼ 1; 2; . . .; S, are the left eigenvectors of KðuÞ , i.e., ^ ðuÞ
^ ðuÞ
^ ðuÞ
ðui ÞT KðuÞ ¼ ki ðui ÞT ; or (KðuÞ ÞT ui
^ ðuÞ
¼ ki ui ;
ð15:119aÞ
15.6
Two-Dimensional Anisotropic Dynamic Analysis
385
~ðuÞ which are known to be orthogonal with the right eigenvectors u j ðxÞ. By employing an appropriate normalization we can achieve ^
~ ¼ I; UT U
ð15:119bÞ
where I is the identity matrix. ^ Pre-multiplication of (15.117) with the transpose of the left modal matrix UT; and using the relations (15.118a) and (15.119b), we obtain € þ h ¼ q; Kh ^
ð15:120aÞ
where ^
q ¼ UT ðYðuÞ Þ1 qðkÞ : ^
ð15:120bÞ
Since K is a diagonal matrix, the equations of motion (15.120a) are uncoupled, and each unknown hi ðtÞ; i ¼ 1; 2; . . .; S can be determined independently from ^ ^ ki €hi ðtÞ þ hi ðtÞ ¼ qi ðtÞ; or € hi ðtÞ þ x2i hi ðtÞ ¼ x2i qi ðtÞ; i ¼ 1; 2; . . .; S;
ð15:121Þ
which is similar to the equation of a single-degree-of-freedom system. To solve (15.121) numerically, one may approximate €hi ðtÞ by its finite difference such as that shown in (15.110)2 of Houbolt’s algorithm, and find the value of hi ðtÞ for each time step. By the procedure stated in (15.110)–(15.115), hi ðtÞ of each time step can be calculated as follows. ^
^
ðuÞ ðuÞ h0 ¼ UT u0 ; h_ 0 ¼ UT u_ 0 ; ^ 1 2 €0 ¼ \x2 [ ðq h 0 h0 Þ; where \xa [ ¼ K ; a
6 6 6 _ ^ ^ 2 1 2 2 \xa [ ðq1 þ 2q0 Þ þ \ 2 2xa [ h0 þ h0 ; h1 ¼ \ 2 þ xa [ Dt Dt Dt 2€ h1 ¼ Dt h0 þ 2 h0 h1 ;
ð15:122aÞ
€0 þ 6Dth_ 0 þ 9h0 8h1 ; h2 ¼ 6Dt2 h 2 hn ¼ \ 2 þ x2a [ 1 f n ; n ¼ 2; 3; . . .; S; Dt where ^
f n ¼ \x2a [ qn þ
1 ð5hn1 4hn2 þ hn3 Þ: Dt2
ð15:122bÞ
€ðuÞ , and With hi ðtÞ known, the solution uðuÞ ðx; tÞ can be obtained from (15.116a). The unknown velocities u_ ðuÞ , acceleration u tractions tðuÞ can then be calculated from (15.110) and (15.103). From the above statement we know that the determination of hi ðtÞ will not be affected by the other modes. Hence, the instability and the inaccuracy of the higher vibration modes will not influence the results of the lower vibration modes. The modal superposition method using only the lower vibration modes for approximation may then be a good choice for the transient analysis. Since the lower eigenmodes are usually sufficient to calculate the transient responses of an elastic system, the number S of normal modes used for the approximation are not necessary to be equal to the number of degree of freedom. ^ ~ and the left modal matrix U are not required to be square matrices, and hence, the relation Thus, both of the modal matrix U ^
1
~ , which can be obtained from (15.119b), is not suitable for the general situation. UT ¼ U Based upon the mathematical formulations presented in this Section, two functions, BEM2DdynamicB and BEM2DdynamicIN, are designed and presented in F019 and F020 of Appendix F. The former is designed to get the values at the boundary nodes for three kinds of vibration analysis—free vibration, steady-state forced vibration and transient analysis, and the latter is designed to calculate the associated physical responses at the internal nodes.
386
15.7
15
Boundary Element Analysis
Coupled Stretching-Bending Analysis
In practical applications, to take advantage of the designable characteristics of composite laminates, it always has the possibility to design a plate with unsymmetric laminated composites. In that case, the stretching-bending coupling may occur no matter what kind of loading is applied on the laminated plates. Due to the coupling of stretching and bending deformations, stress analysis of the unsymmetric laminated plates becomes much more complicated than that of the metallic plates or the symmetric laminated plates since the latter can be treated by considering only in-plane or plate bending analysis. To effectively treat the coupled stretching-bending deformation, a boundary element was developed (Hwu 2012b) by using the boundary integral Eq. (15.1f) with the fundamental solutions presented in Sect. 15.3, and will be introduced in Sect. 15.7.1. Like the discussions in Sect. 15.4.3 for two-dimensional analysis, the computation of singular integrals for the coupled stretching-bending analysis will be treated separately in Sect. 15.7.2. The auxiliary relations which are necessary for the multiple nodes with the same position on the corner will be discussed in Sect. 15.7.3. The solutions at the boundary nodes and the internal points will then be presented at Sect. 15.7.4 and 15.7.5.
15.7.1 Boundary Element Formulation—BEMcoupleB, BEMload_couple, BEMinfluence_Cc, BEMinfluence_Yt Similar to the procedure stated in Sect. 15.4 for two-dimensional analysis, substitution of (15.10a) into (15.1f) yields Nc M n o X X ð1Þ ð2Þ ^ ð1Þ ðnÞ~ ^ ð2Þ ðnÞ~ Y u þ Y u pk ðnÞwðxk Þ þ m m m m
^ uðnÞ þ CðnÞ~
m¼1
k¼1
Nc M n o X X ð2Þ ð1Þ ð2Þ ¼ Gð1Þ wk ðnÞtc ðxk Þ; þ q ðnÞ þ m ðnÞtm þ Gm ðnÞtm m¼1
ð15:123aÞ
k¼1
where 9 8 9ðpÞ 8 u0 > u0 ðnÞ > 9ðpÞ 8 > > > > > > > > > > Tx > > > > > > > > > > > > > > > = = = < v0 > < T > < v0 ðnÞ > y ðpÞ ðpÞ ~m ¼ ~ðnÞ ¼ wðnÞ ; u w ; tm ¼ ; p ¼ 1; 2; m ¼ 1; 2; . . .; M; u > > > > > Vn > > > > > > > > > > > > > bn ðnÞ > bn > ; > : > > > > > > > > Mn m ; ; : > : bs ðnÞ bs m
ð15:123bÞ
and ^ ðpÞ ðnÞ ¼ ½ðY^ij ÞðpÞ ðnÞ; p ¼ 1; 2; i ¼ 1; 2; 3; 4; j ¼ 1; 2; 3; 4; 5; Y m m ð15:123cÞ
ðpÞ GðpÞ m ðnÞ ¼ ½ðGij Þm ðnÞ; p ¼ 1; 2; i ¼ 1; 2; 3; 4; j ¼ 1; 2; 3; 4;
q ðnÞ ¼ fqi ðnÞg; pk ðnÞ ¼ ftic ðn; xk Þg; wk ðnÞ ¼ fui3 ðn; xk Þg; i ¼ 1; 2; 3; 4:
^ ¼ C ðcR þ cc ÞiT where C¼½cij ; cR ¼ fcðRÞ g; cc ¼ ^ is related to the free term coefficients cij by C In (15.123a), matrix C 3 i3 ðcÞ
fci3 g; and Z cij ðnÞ ¼
C
tij ðn; xÞ
dCðxÞ;
ðRÞ ci3
¼
M 2 Z X m¼1
Cm
ti3 ðn; xÞdCm ð1Þ;
ðcÞ ci3
¼
Nc X
tic ðn; xk Þ:
ð15:123dÞ
k¼1
^ together with its Instead of calculating through (15.123c)1 and (15.123d), to avoid the evaluation of singular integrals, C ^ can also be obtained by considering five independent rigid body movements and will be stated later at the end associated Y of this Section. As to the components of the matrices, they are calculated by
15.7
Coupled Stretching-Bending Analysis
‘m ðY^ij ÞðpÞ m ¼ 2 ðY^i3 ÞðpÞ m
‘m ¼ 2
ðY^i5 ÞðpÞ m ¼
‘m 2
387
Z1
tij ðn; xð1ÞÞ-p ð1Þd1; p ¼ 1; 2; i ¼ 1; 2; 3; 4; j ¼ 1; 2; 4;
1
Z1
ti3 ðn; xð1ÞÞk p ð1Þd1; p ¼ 1; 2; i ¼ 1; 2; 3; 4;
1
Z1
ti3 ðn; xð1ÞÞgp ð1Þd1; p ¼ 1; 2; i ¼ 1; 2; 3; 4;
ð15:124aÞ
1
Z1 ‘m ¼ uij ðn; xÞ-p ð1Þd1; p ¼ 1; 2; i ¼ 1; 2; 3; 4; j ¼ 1; 2; 3; 4; 2 1 Z qi ðnÞ ¼ uij ðn; xÞqj ðxÞdA; i ¼ 1; 2; 3; 4; j ¼ 1; 2; 3; 4;
ðGij ÞðpÞ m
A
where k 1 ð1Þ ¼ k1 ð1Þ 1; k2 ð1Þ ¼ k2 ð1Þ; n: the 1st node of the mth element; k1 ð1Þ ¼ k1 ð1Þ; k2 ð1Þ ¼ k2 ð1Þ 1; n: the 2nd node of the mth element;
ð15:124bÞ
k 1 ð1Þ ¼ k1 ð1Þ; k2 ð1Þ ¼ k2 ð1Þ; n : does not locate on the the mth element:
Like (15.55) for two-dimensional analysis, Eq. (15.123a) can be rewritten as N X
Nc Nc X X ~ j ðnÞ~ Y uj Gj ðnÞtj þ pk ðnÞwðxk Þ wk ðnÞtc ðxk Þ ¼ q ðnÞ;
j¼1
k¼1
ð15:125aÞ
k¼1
where ~ j ðnÞ ¼ Y
^ j ðnÞ; when n 6¼ node j; Y ^ ^ j ðnÞ þ CðnÞ; when n ¼ node j: Y
ð15:125bÞ
Note that the slope of deflection in tangential direction is not an independent variable, which is related to the deflection or the slope in normal direction by the following way (Hwu 2010b,2012b) ! 1 wj þ 1 wj wj wj1 ðjÞ þ ; j : regular node, bs ¼ 2 ‘ ‘jþ j o þ 1 n ð15:126Þ ðcos DaÞbnðj Þ bnðj Þ ; j : corner, bsðj Þ ¼ sin Da o þ þ 1 n ðj Þ bn ðcos DaÞbnðj Þ ; j : corner, Da ¼ a þ a : bðjs Þ ¼ sin Da þ The superscript (j) or the subscript j denotes the values at the jth node; ‘ j and ‘j are, respectively, the lengths of the elements behind and ahead of the jth node. Since the two sides of a corner have different normal directions, we need two nodes to represent one corner. The node behind of the corner is denoted by the symbol ðÞ, whereas the node ahead of the corner is denoted by (+). With the relation (15.126), Eq. (15.125a) can now be reduced to N X j¼1
Yj ðnÞuj Gj ðnÞtj þ
Nc X k¼1
pk ðnÞwðxk Þ
Nc X
wk ðnÞtc ðxk Þ ¼ q ðnÞ;
ð15:127Þ
k¼1
~ j ðnÞ defined in (15.125b); uj is a 4 1 displacement vector of in which Yj ðnÞ is a 4 4 matrix related to the 4 5 matrix Y T the jth node, i.e., uj ¼ ðu0 ; v0 ; w; bn Þj .
388
15
Boundary Element Analysis
Consider n to be the location of node i and use Yij ; Gij ; pik ; wik ; qi to denote the values of Yj ; Gj ; pk ; wk ; q at node i. Equation (15.127) can now be expressed as N X
Nc Nc X X Yij uj Gij tj þ pik wðkÞ wik tcðkÞ ¼ qi ; i ¼ 1; 2; . . .; N;
j¼1
k¼1
ð15:128Þ
k¼1
in which the superscript (k) denotes the values at corner point xk . Since Eq. (15.128) produces only 4N equations through N boundary nodes, to solve the equations with 4N þ Nc unknowns we need another Nc equations. The additional Nc equations can be set by considering the third equation of (15.127) with n being the location of corner node, which can be expressed as N X j¼1
yij uj gij tj þ
Nc X
ð3Þ
pik wðkÞ
k¼1
Nc X
ð3Þ
ð3Þ
wik tcðkÞ ¼ qi
; i ¼ 1; 2; . . .; Nc ;
ð15:129Þ
k¼1 ð3Þ
ð3Þ
ð3Þ
where yij and gij are two 1 4 matrices extracted from the third row of Yij and Gij , respectively; pik ; wik and qi are, respectively, the third component of the vectors pik ; wik and qi . It has been shown that if the three nodes of a corner are selected to be located on the same position, their associated equations may be dependent on each other, and Eq. (15.129) can be simply replaced by (Hwu and Chang 2015a) wðkÞ wðkÞ ¼ 0:
ð15:130Þ
If a displacement-prescribed boundary condition is considered, Eq. (15.130) will vanish and the auxiliary equations introduced later in Sect. 15.7.3 becomes necessary. When all the nodes including the corner nodes are taken into consideration, Eqs. (15.128) and (15.129) produce a ð4N þ Nc Þ ð4N þ Nc Þ system of equations which can be represented in matrix form as " #( ) ½Yij 4N4N ½pik 4NNc ½uj 4N1 ð3Þ ½wðkÞ Nc 1 ½yij Nc 4N ½pik Nc Nc " #( ) ( ) ½Gij 4N4N ½wik 4NNc ½tj 4N1 ½qi 4N1 ¼ þ : ðkÞ ð3Þ ð3Þ ½tc Nc 1 ½qi Nc 1 ½gij Nc 4N ½wik Nc Nc
ð15:131aÞ
Or simply written as Yu ¼ Gt þ q:
ð15:131bÞ
Like (15.57) for two-dimensional analysis, employment of the rigid body movement, u0 ¼ 1 or v0 ¼ 1 or w ¼ 1 or bn ¼ 1 or bs ¼ 1, to (15.125) leads to (Hwu 2010b) ~ ii ¼ Y
X
Zij
j6¼i
Nc X
Pik ;
ð15:132aÞ
k¼1
where 2^ Y11 6 Y^ 6 21 Zij ¼ 6 4 Y^31
Y^12 Y^22 Y^32
Y^13 Y^23 Y^33
Y^41
Y^42
Y^43
2
0
60 6 Pik ¼ 6 40 0
Z14 Z24 Z34 Z44
3 Z15 Z25 7 7 7 ; Z35 5 Z45 3
0 t1c
P14
0 t2c 0 t3c
P24 P34
P25 7 7 7 ; P35 5
0 t4c
P44
P45
P15
ik
ij
ð15:132bÞ
15.7
Coupled Stretching-Bending Analysis
389
and Zi4 ¼ u04 ðxÞY^i3 þ cosða hÞY^i4 sinða hÞY^i5 ; Zi5 ¼ u05 ðxÞY^i3 þ sinða hÞY^i4 þ cosða hÞY^i5 ; Pi4 ¼
u04 ðxÞtic ;
Pi5 ¼
u05 ðxÞtic ;
ð15:132cÞ
i ¼ 1; 2; 3; 4:
In (15.132c), x ¼ xj ; j 6¼ i for jth boundary node, or x ¼ xk ; k ¼ 1; . . .; Nc for kth corner point, a is the direction angle of the ith node (source point n), h is the direction angle of the jth node (field point x), and u04 ðxÞ ¼ ðx1 n1 Þ sin a ðx2 n2 )cosa; u05 ðxÞ ¼ ðx1 n1 Þ cos a ðx2 n2 )sina;
ð15:133Þ
where ðx1 ; x2 Þ is the position of the field point x, which is now the jth node or the kth corner, and ðn1 ; n2 Þ is the position of the source point n, which is now the ith node. Same as (15.57), with the relation (15.132) the trouble of singular integral ^ i , whose source point locates at one node of the element, can be circumvented. Also, if the subscript i of ^ ii and C occurred in Y (15.132) is one node of the double nodes of a corner, j 6¼ i in the summation of the right hand side should exclude both nodes of the corner, i.e., j 6¼ i þ and j 6¼ i . Note that instead of the line integral for most of quantities of 2D-BEM, the load vector qi ðnÞ of (15.124a)5 is evaluated by surface integral. Therefore, in order to calculate qi ðnÞ we divide the entire surface of the plate into Mq quadrilateral elements. By using linear interpolation function, each quadrilateral element can be transformed into an element with local coordinate ð1; gÞ; 1 1; g 1 as (see Fig. 15.7) xð1; gÞ ¼ -1 x1 þ -2 x2 þ -3 x3 þ -4 x4 ;
ð15:134aÞ
1 1 -1 ¼ ð1 1Þð1 gÞ; -2 ¼ ð1 þ 1Þð1 gÞ; 4 4 1 1 -3 ¼ ð1 þ 1Þð1 þ gÞ; -4 ¼ ð1 1Þð1 þ gÞ; 4 4
ð15:134bÞ
where
and x1 ; x2 ; x3 ; x4 are the coordinates of the four nodes of element. With this transformation, the load vector qi ðnÞ can be evaluated as follows
Fig. 15.7 Quadrilateral element for surface integral of lateral load
390
15
qi ðnÞ ¼
Z
uij ðn; xÞqj ðxÞdA ¼
m¼1
A
¼
Mq Z X
Mq X m¼1
Z1 Z1
Boundary Element Analysis
uij ðn; xÞqj ðxÞdAm
Am
ð15:135Þ
uij ðn; xð1; gÞÞqj ðxð1; gÞÞjJm jd1dg;
1 1
in which jJm j is the determinant of the Jacobian matrix Jm ¼ ½@x=@1; @x=@g. By using the relation (15.134), the Jacobian can be obtained as 1 jJm j ¼ fa1 -1 þ a2 -2 þ a3 -3 þ a4 -4 g; 4
ð15:136aÞ
a1 ¼ Dx21 Dy41 Dy21 Dx41 ; a2 ¼ Dx21 Dy32 Dy21 Dx32 ; a3 ¼ Dx34 Dy32 Dy34 Dx32 ; a4 ¼ Dx34 Dy41 Dy34 Dx41 ;
ð15:136bÞ
where
and ðiÞ
ðjÞ
ðiÞ
ðjÞ
Dxij ¼ x1 x1 ; Dyij ¼ x2 x2 :
ð15:136cÞ
In (15.136c), the superscript (i) or (j) denotes the ith or jth node of element m. Like the statements written following Fig. 15.4 for the global and local coordinates of 2D analysis, if a local coordinate is used for the coupled bending-streching problem with inclined holes or cracks, in addition to the replacements required in (15.59a–c), we also need to make the following replacement in the complex function vectors f 3 , the deflection ui3 and their corresponding derivatives/integrals listed in Sect. 15.3. i3 ! i3 ;
ð15:137aÞ
i3 ¼ XT i3 ;
ð15:137bÞ
where
x X¼ 0
0 cos a0 ;x¼ sin a0 x
sin a0 : cos a0
ð15:137cÞ
And the components of normal direction n ¼ ðn1 ; n2 Þ and tangential direction s ¼ ðs1 ; s2 Þ in (15.38c) are still calculated according to the global coordinate. For the fundemantal solutions of hole/crack problems (Ltype = 54,55), besides the above replacement, the substitution i4 ! i4 ;
i4 ¼ XT i4 ;
ð15:137dÞ
is also required. Based upon the formulation stated in this subsection, the main function responsible for the calculation of displacements, tractions, strains and stresses at the boundary nodes of coupled stretching-bending analysis is designed and named as BEMcoupleB. In this function, some works are done by the other functions such as BEMload_couple for the surface integral related to the transverse load defined in (15.124a)5, BEMinfluence_Cc for the influence matrices contributed by the corner ~ j to Yj through the nodes stated in (15.123d) and (15.132), BEMinfluence_Yt for the transition of influence matrices from Y relations given in (15.126), and BEM_aux for the auxiliary relations stated later in Sect. 15.7.3, etc. The computer codes of functions BEMcoupleB, BEMload_couple, BEMinfluence_Cc, and BEMinfluence_Yt are presented, respectively, in F030, F039, F033, F036 of Appendix F.
15.7
Coupled Stretching-Bending Analysis
391
15.7.2 Computation of Singular Integrals Similar to the problems discussed in Sect. 15.4.3, some singular integrals for the coupled stretching-bending problems cannot be evaluated numerically by using the standard Gaussian quadrature rule, and should be integrated analytically or computed by using the concept of finite part integral stated in Appendix A.1.3, or computed indirectly through the use of rigid body movement. For the convenience of computer coding, Eq. (15.132) obtained by the rigid body movement was generally employed. However, to have a suitable comparison on the numerical results, in this subsection we introduce the analytical integration for the influence matrices Y and G. From the boundary integral Eqs. (15.1f) and the fundamental solutions (15.38), we see that the singular integral will ^ ðiÞ of (15.123a) which contains strongly singular function such as f ðxÞ=x. With the relation given in (15.61), it appear in Y m
can be shown that when the source point n locates at one 2 ða0 þ ln eÞS11 ða0 þ ln eÞS12 6 6 ða0 þ ln eÞS21 ða0 þ ln eÞS22 ^ m ¼ 1 6 Y 6 2p 6 2‘ ðb0 S31 Q31 Þ 2‘ ðb0 S32 Q32 Þ 4 ^
^
ða0 þ ln eÞS41
ða0 þ ln eÞS42
node of the element, _
_
_
2‘ S13 ða0 þ ln eÞS14 ðb0 þ ln eÞS13
3
7 _ _ _ 2‘ S23 ða0 þ ln eÞS24 ðb0 þ ln eÞS23 7 7 _ _ 7; 5 ‘ ‘ 7 6 S33 2 ðb0 S34 Q34 Þ 3 S33 5 _ _ _ ^
^
ð15:138aÞ
^
2‘ S43 ða0 þ ln eÞS 44 ; ðb0 þ ln eÞS 43
in which the constants a0 and b0, and the components Sij , Sij , and Qij of the matrices S, S ðhÞ and Q ðhÞ are defined by S ¼ ið2ABT IÞ; S ðhÞ ¼ 2ImfA\sa [ BT g; Q ðhÞ ¼ 2ImfA\sa ln sa [ BT g; 1 a0 ¼ 1 ln ‘; b0 ¼ ð3 2 ln ‘Þ: 2 _
ð15:138bÞ
_ ^
^
The symbols , and used in (15.138a) are defined as follows, _
^
X i3 ¼ cos hXi3 þ sin hXi4 ; X i3 ¼ cos aXi3 þ sin aXi4 ; _
^
_
^
X i4 ¼ sin hXi3 þ cos hXi4 ; X i4 ¼ sin aXi3 þ cos aXi4 ; i ¼ 1; 2; 3; X 4j ¼ sin hX3j þ cos hX4j ; X 4j ¼ sin aX3j þ cos aX4j ; j ¼ 1; 2; 3; 4; _ ^
^
^
_ ^
^
ð15:138cÞ
^
X 43 ¼ cos hX 43 þ sin hX 44 ; X 44 ¼ sin hX 43 þ cos hX 44 ; where a is the direction angle of the source point n, and X = S, S*, or Q*. With the results of (15.138a), the influence matrices which contain the singular integrals can be calculated by ^ ð1Þþ ¼ Y ^ m and Gð1Þþ ¼ Gm with ‘ ¼ ‘ þ ; s ¼ cos h þ þ la sin h þ ; Y m a m ^ ð2Þ ¼ Y ^ m and Gð2Þ ¼ Gm with ‘ ¼ ‘ ; s ¼ ðcos h þ la sin h Þ: Y m m a
ð15:139Þ
Note that in (15.138a) e is a small positive number which will lead ln e to infinity. In the sense of Cauchy principal value one should be very careful whether the associated terms of ln e vanish after summation of the nearby terms. With this in ^ ð1Þ mind, from (15.138a) and (15.139) we notice that some of the components ðY^ij Þð2Þ m þ ðYij Þ þ still have the non-vanished term m
_
þ
_
_ ^
þ
_ ^
ln e since Sij ðh Þ 6¼ Sij ðh Þ and S ij ðh Þ 6¼ S ij ðh Þ for a general curvilinear boundary. To see why the infinite parts cannot be cancelled through the addition of the influence matrices, we go back to (15.123a) and see that the direct addition of
392
15
Boundary Element Analysis
^ ð1Þ ~ð2Þ ~ð1Þ ðY^ij Þð2Þ m and u m and ðYij Þm þ are valid only when their associated nodal displacements u m þ are the same. Since the 4th and 5th components of the nodal displacements depend on the normal direction of boundary element, the following transformation is necessary þ ~ð1Þ ~; when n is a regular node, u mþ ¼ T u
~ð2Þ ~; u m ¼ T u
where
ð15:140aÞ
9 8 9 8 8 9 u0 > u0 > u0 > > > > > > > > > > > > > > > > > > > > > > > > > > > > v v v > > > > > 0 0 0 = = < = < < > ð1Þ ~m þ ¼ ~¼ w ; ~ð2Þ w ; u w ; u u m ¼ > > > > > > > > > > > > > b > > > bnþ > bn > > > > > > > n > > > > > > > > > > > ; : ; : þ; : > bs bs bs 2 3 I 0 0 6 7 T ¼ 4 0 cosða a Þ sinða a Þ 5; 0
sinða a Þ
ð15:140bÞ
cosða a Þ
and I is a 3 3 identity matrix. With the transformation relation given in (15.140), the assembly of the nodal displacements leads to ð2Þ ^ ð2Þ u ^ ð1Þ ~ð1Þþ ¼ ½Y ^ þ Y ^ þ ~ Y u; when n is a regular node, m ~ m þ Ym þ u m
ð15:141aÞ
^ ¼ Y ^ ð2Þ T ; Y ^þ ¼Y ^ ð1Þþ T þ : Y m m
ð15:141bÞ
where
Substituting (15.138a) into (15.141b), we get ð1Þ Y^ijþ ¼ ðY^ij Þm þ ; Y^ij ¼ ðY^ij Þð2Þ m ; i ¼ 1; 2; 3; 4; j ¼ 1; 2; 3; 8 _ _ ^ > ½a0 cosða hÞSi4 b0 sinða hÞSi3 þ Si4 ln e; i ¼ 1; 2; > > < _ Y^i4 ¼ 6‘ ½3ðb0 S34 Q34 Þ cosða hÞ 2S33 sinða hÞ; i ¼ 3; > > _ _ ^ > ^ ^ ^ : ½a0 cosða hÞS 44 b0 sinða hÞS43 þ S 44 ln e; i ¼ 4;
8 _ _ ^ > > i3 þ Si3 ln e; i ¼ 1; 2; <½a0 sinða hÞSi4 þ b0 cosða hÞS _ Y^i5 ¼ 6‘ ½3ðb0 S34 Q34 Þ sinða hÞ þ 2S33 cosða hÞ; i ¼ 3; > _ _ ^ > ^ ^ ^ : ½a0 sinða hÞS 44 þ b0 cosða hÞS43 þ S 43 ln e; i ¼ 4;
ð15:142Þ
in which ‘ ¼ ‘ þ ; h ¼ h þ and the upper sign are used for element m þ , and ‘ ¼ ‘ ; h ¼ h and the lower sign are used for ^
_
_
_ ^
^ ^
^ ^
element m ; the symbols Sij ; Sij ; Sij ; S ij have been defined in (15.138c), whereas S 43 and S44 are ^ ^
^
^
S 43 ¼ cos aS43 þ sin aS44 ;
^ ^
^
^
S44 ¼ sin aS43 þ cos aS44 :
ð15:143Þ
From (15.142), we see that Y^ijþ þ Y^ij ¼ ð0Þ ln e + finite terms, i = 1,2,3,4, j = 1,2,3,4,5. If the source point n is a corner, the transformation used in (15.141) is replaced by the last two terms of (15.126), and hence, the related components of the influence matrix should be transformed by o 1 n ^ ð2Þ ð1Þ ð1Þ Y^i4þ ¼ ðY^i4 Þm þ ðYi5 Þm þ cos DhðY^i5 Þm þ ; sin Dh ð15:144Þ o 1 n ð1Þ ð2Þ ð2Þ þ ^ ^ ^ ^ cos DhðYi5 Þm þ ðYi5 Þm þ ; Dh ¼ h h : Yi4 ¼ ðYi4 Þm þ sin Dh
15.7
Coupled Stretching-Bending Analysis
393
Substituting (15.138a) into (15.144), we get
8 _þ _ _þ > þ 1 þ > ð1 ln ‘ ÞS þ ð3 2 ln ‘ ÞS ð3 2 ln ‘ ÞS cos Dh ; i ¼ 1; 2; > i4 i3 i3 2 sin Dh > > >
> < ‘þ _ _ þ þ þ þ 1 þ Y^i4þ ¼ 4 ð3 2 ln ‘ ÞS34 2Q34 3 sin Dh ‘ S33 ‘ S33 cos Dh ; i ¼ 3; > ( > > _ þ _ _ þ > ^ ^ ^ > > þ 1 þ > : ð1 ln ‘ Þ S 44 þ 2 sin Dh ð3 2 ln ‘ Þ S 43 ð3 2 ln ‘ Þ S 43 cos Dhg; i ¼ 4:
8 _ _ _þ > 1 þ > ð1 ln ‘ ÞS ð3 2 ln ‘ ÞS cos Dh ð3 2 ln ‘ ÞS > i4 i3 i3 ; i ¼ 1; 2; 2 sin Dh > > >
> < ‘ _ _ þ 1 þ Y^i4 ¼ 4 ð3 2 ln ‘ ÞS34 2Q34 þ 3 sin Dh ‘ S33 cos Dh ‘ S33 ; i ¼ 3; > ( > > _ _ _ þ > ^ ^ ^ > > 1 þ > : ð1 ln ‘ Þ S 44 2 sin Dh ð3 2 ln ‘ Þ S 43 cos Dh ð3 2 ln ‘ Þ S 43 g; i ¼ 4:
ð15:145aÞ
ð15:145bÞ
From (15.142) and (15.145), we see that no singular term exists in the final solutions of the influence matrices no matter the source point is a regular node or a corner node. In other words, these terms can all be calculated directly from the explicit closed-form solutions or by taking the finite parts of the integrals since the terms associated with ln e will cancel each other through suitable transformation and addition. Note that the explicit solutions shown in (15.142) are valid for any source points which may be a regular node or a corner node. If a regular node is considered, the direction angle of the source point is taken to be a ¼ ðh þ þ h Þ=2. If a corner is represented by a double node, the direction angles of these two nodes will be different since they lie on the surfaces with different normal directions. And hence, the direction angle of the corner should be a ¼ h þ for one node and a ¼ h for the other node.
15.7.3 Auxiliary Relations for the Multiple Nodes of Corners—BEM_aux For a plate each corner has two adjacent edges with different surface tractions, and hence it is usual to use two nodes to represent a corner for two dimensional problems. Due to the additional variable—corner force for the plate bending problems or the coupled stretching-bending problems, here three nodes are used to represent a corner (see Fig. 15.2). If these three nodes are located at the same position, the equations produced by the triple nodes of corners may be dependent of each other, especially when the boundary is displacement-prescribed (Hwu and Chang 2015a). Thus, additional auxiliary equations are necessary for the complete implementation. Otherwise, the techniques such as rounding-off corners, or triple independent nodes on the boundary, or triple independent nodes outside the boundary may be applied. (i) First auxiliary equation Consider the symmetry of stress tensor, it can be proved that þ þ þ Txþ n 1 þ Ty n2 ¼ Tx n1 þ Ty n2 ;
ð15:146Þ
where ðTxþ ; Tyþ Þ and ðTx ; Ty Þ are, respectively, the tractions along the surfaces with normals ðn1þ ; n2þ Þ and ðn 1 ; n2 Þ.
(ii) Second to fourth auxiliary equations The key concept for the derivation of the additional three auxiliary equations is connected through the constitutive relations (1.55). Consider two different local coordinates (see Fig. 15.8). One is x0 y0 with origin at the corner node O þ , and the other is x00 y00 with origin at the corner node O . The x0 (or x00 ) and y0 (or y00 ) axes are parallel and normal to the boundary surface. Based upon these coordinate systems, the constitutive relation (1.55) can be rewritten as
394
15
Boundary Element Analysis
0 0 e00 B0 A N ¼ ; j0 M0 B0T D0 00 00 00 e0 N B00 A ¼ ; 00T 00 00 j M 00 B D
ð15:147aÞ
N 0 ¼ Tða þ ÞN; M 0 ¼ Tða þ ÞM; N 00 ¼ Tða ÞN; M 00 ¼ Tða ÞM;
ð15:147bÞ
where
and 2
cos2 a 4 Tða Þ ¼ sin2 a sin a cos a
sin2 a cos2 a sin a cos a
3 2sina cos a 2sina cos a 5: cos2 a sin2 a
ð15:147cÞ
On the left hand side of (15.147a)1, parts of the midplane strains and plate curvatures can be evaluated through the boundary nodal displacements and the assumed variation along the elements. For example, the strain ex0 and curvatures jx0 ; jx0 y0 at corner O+ can be evaluated as follows @u0 2 @u0 2 @ ¼ þ ¼ þ fuð1Þ cos a þ þ vð1Þ sin a þ g 0 ‘ @1 ‘ @1 @x 1 ¼ þ fðu2 u þ Þ cos a þ þ ðv2 v þ Þ sin a þ g; ‘ 2 2
@2w 2 @ w 1 6 þ ð2Þ þ jx0 ¼ 02 ¼ þ ¼ þ ðw2 w Þ þ 4bs þ 2bs ; @x ‘ @12 ‘ ‘þ ex0 ¼
1¼1
jx0 y0
o @2w @b 4 @b 2 n ¼ 2 0 0 ¼ 2 n0 ¼ þ n ¼ þ bnþ þ bð2Þ ; n @x @y ‘ @1 ‘ @x
ð15:148aÞ
ð15:148bÞ
in which the negative slope of deflection in tangential direction, bsþ and bð2Þ s , are related to the nodal deflections and slope in normal direction by (15.126). Note that in (15.148) the variation of the displacements along the element was assumed in (15.10). Since no information has been provided for the displacements outside the straight line element, the normal strain ey0 , shear strain cx0 y0 and curvature jy0 cannot be evaluated by only knowing the nodal displacements near the corner. Fig. 15.8 Two local coordinates at the adjacent nodes of corners
15.7
Coupled Stretching-Bending Analysis
395
Similar to (15.148), for the coordinate x00 y00 located on the corner node O , we have 1 fðu u1 Þ cos a þ ðv v1 Þ sin a g; ‘
1 6 4b jx00 j1¼1 ¼ ðw1 w Þ 2bð1Þ ; s s ‘ ‘ o 2 n þ b jx00 y00 ¼ bð1Þ n n : ‘ ex00 ¼
ð15:149Þ
Through the transformation relations (15.147b, c) and the definition of corner force given in (15.6b), it can be proved that o o cos Da n 1 n cos a þ Txþ þ sin a þ Tyþ þ cos a þ Tx þ sin a þ Ty ; sin Da sin Da Ny0 ¼ sin a þ Txþ þ cos a þ Tyþ ; Nx0 y0 ¼ cos a þ Txþ þ sin a þ Tyþ ; o o cos Da n 1 n cos a Tx þ sin a Ty cos a Txþ þ sin a Tyþ ; Nx00 ¼ sin Da sin Da Ny00 ¼ sin a Tx þ cos a Ty ; Nx00 y00 ¼ cos a Tx þ sin a Ty ; Nx0 ¼
ð15:150aÞ
and 1 cos Da cos Da tc ; My0 ¼ Mnþ ; Mx0 y0 ¼ Mn Mnþ þ tc ; sin Da 2 sin Da 2 cos Da cos Da 1 tc ; My00 ¼ Mn ; Mx00 y00 ¼ Mn Mnþ tc : sin Da 2 sin Da 2
Mx0 ¼ Mn M ¼ x00
Mnþ
For the convenience of following presentation, we can also rewrite (15.150) in matrix form as 8 þ9 8 þ9 0 < t = 00
Tx > > > > > > > > > = =
< T > 0 y uk ¼ ; tk ¼ ; k ¼ 1; 2; . . .; N; > > w> Vn > > > > > > > > ; ; : > : bn k Mn k
ð15:155Þ
are known at the boundary nodes. With this result, the values of strains, curvatures, stress resultants and bending moments at the boundary nodes can be calculated by the following steps. Step 1: calculate es ; js ; jsn through the nodal displacements ( u0 ; v0 ; w; bn ). þ @us ðu0þ u 0 Þ cos h þ ðv0 v0 Þ sin h ¼ þ ; þ ðx x Þ cos h þ ðy y Þ sin h @s @ 2 w @b bsþ b s js ¼ 2 ¼ s ¼ þ ; @s @s ðx x Þ cos h þ ðy þ y Þ sin h @2w @b 2ðbnþ b nÞ jsn ¼ 2 ¼2 n¼ þ ; @s@n ðx x Þ cos h þ ðy þ y Þ sin h @s
es ¼
ð15:156aÞ
where bsþ bnþ
@w @w ¼ ; b ¼ ; @s n þ ; sðnÞ s @s n ; sðnÞ @w @w ¼ ; bn ¼ : @n þ @n n ; nðnÞ
ð15:156bÞ
n ; nðnÞ
Note that b s and bn are different from the nodal values of bs and bn at points n since the direction angles of these two points are h þ and h instead of h. To calculate b s and bn from the nodal values of bs and bn at points n , we use the following transformation relation
398
15
)
bsþ ¼ cosðh þ hÞbsþþ sinðh þ hÞbnþþ
bnþ ¼ sinðh þ hÞbsþþ þ cosðh þ hÞbnþþ b s ¼ cosðh hÞbs sinðh hÞbn b n ¼ sinðh hÞbs þ cosðh hÞbn
Boundary Element Analysis
; ð15:157aÞ ;
where bsþþ bnþþ
@w @w ¼ ; b ¼ ; @s n þ ; sðn þ Þ s @s n ; sðn Þ @w @w ¼ ; b ¼ : n @n þ þ @n n ; nðn Þ
ð15:157bÞ
n ; nðn Þ
þ Here, bnþþ and b n can be obtained directly from the solution of (15.131), whereas bs þ and bs should be calculated indirectly from (15.126) once their related w and bn are obtained from (15.131). Step 2: calculate Nn ; Nsn ; Mn through the nodal tractions (Tx ; Ty ; Vn ; Mn ).
Nn ¼ Tx sin h þ Ty cos h; Nns ¼ Tx cos h þ Ty sin h; Mn ¼ Mn : Step 3: calculate Ns ; en ; csn ; Ms ; jn ; Msn through the constitutive law. 9 2 0 38 2 A11 0 0 B011 1 A012 A016 0 B012 0 > Ns > > > > 0 0 > > 6 6 0 A022 A026 0 B022 0 7> > 6 A21 1 0 B21 > en > 7> 6 6 0 A062 A066 0 B062 0 7< csn = 6 A061 0 1 B061 7 6 ¼6 6 B0 6 0 B0 B016 1 D012 0 7 0 0 D011 Ms > > 12 > > 7 6 11 6 > > 0 0 0 > > 5 4 4 0 B0 B26 0 D22 0 > B21 0 0 D021 j > 22 > ; : n > 0 0 0 0 0 B62 B66 0 D62 1 B61 0 0 D061 Msn
0 0 0 0 1 0
9 38 B016 > es > > > > > > B026 7 Nn > > > > > 7 = 0 7< B66 7 Nsn ; 0 7 D16 7> js > > > > > > D026 5> > > > Mn > ; : 0 D66 jsn
where A0ij ; B0ij ; and D0ij are the extensional, coupling and bending stiffnesses at the sn coordinate. Step 4: calculate Nx ; Ny ; Nxy ; Mx ; My ; Mxy through transformation relation. 9 9 8 9 9 8 8 8 > > > = = > = = < Nx > < Ns > < Mx > < Ms > Ny ¼ T Nn ; My ¼ T Mn ; > > > > > > > ; ; > ; ; : : : : Nxy Nsn Mxy Msn
ð15:158Þ
ð15:159Þ
ð15:160aÞ
where 2
cos2 h 4 T¼ sin2 h sin h cos h
3 sin2 h 2 sin h cos h cos2 h 2 sin h cos h 5: sin h cos h cos2 h sin2 h
Step 5: calculate ex ; ey ; cxy ; jx ; jy ; jxy through transformation relation. 8 9 8 9 8 8 9 9 < ex = < es = < jx = < js = ey jy e j ¼T ; : ¼T : c =2 ; : n ; : : n ; ; jxy =2 csn =2 jsn =2 xy
ð15:160bÞ
ð15:161Þ
From the description presented in Sect. 15.4 and Sect. 15.7.1, we see that the displacements and tractions at the boundary nodes can be obtained by solving the system of algebraic equations given in (15.56) for two-dimensional analysis and in (15.128) and (15.129) for coupled stretching-bending analysis. To solve the strains and stresses of the boundary nodes, we need to follow the steps introduced in (15.72)–(15.77) for two-dimensional analysis and in (15.156)–(15.161) for coupled
15.7
Coupled Stretching-Bending Analysis
399
stretching-bending analysis. The work on solving the displacements and tractions has been completed by functions BEM2DelasticB and BEMcoupleB. To get the strains and stresses at the boundary nodes, the function BEMstrainstressB is designed and presented in F043 of Appendix F.
15.7.5 Solutions at the Internal Points—BEMcoupleIN To know the internal displacements, strains, curvatures, stress resultants and bending moments, the source point n is ^ considered to be an internal point and CðnÞ in (15.123a) becomes the unit matrix I. By following the procedure of deriving (15.127), the displacement at any point inside the body can be obtained as uðnÞ ¼
N X
fGn ðnÞtn Yn ðnÞun g þ
n¼1
Nc X
wk ðnÞtc ðxk Þ pk ðnÞu3 ðxk Þ þ q ðnÞ:
ð15:162Þ
k¼1
In (15.162) the last component of the displacement vector uðnÞ is bn ðnÞ whose normal direction n can be chosen arbitrarily. By changing the normal direction, one can obtain bn for different directions. For internal points, it may be useful to calculate ~ðnÞ both bx and by instead of bn for specific direction. In other words, it would be helpful to calculate the following 5 1 u vector 9 8 9 8 u0 ðnÞ > u1 ðnÞ > > > > > > > > > > > > > > > > > > > v ðnÞ u ðnÞ > > > > 0 2 = < = < ~ðnÞ ¼ u3 ðnÞ ¼ wðnÞ : ð15:163Þ u > > > > > > > > > > > > u4 ðnÞ > > > > > > > bx ðnÞ > > > > ; > ; : : by ðnÞ u5 ðnÞ ~ðnÞ to be calculated in a 5 1 vector, the associated 4 4 matrices Gn and Yn should be expanded into 5 4 With u ~ k be expanded into a 5 5 matrix, and the 4 1 vectors p ; w and q ðnÞ be expanded matrices, and the 4 5 matrix Y k k th into 5 1 vectors. The 4 and 5th rows of these matrices or vectors are related to the fundamental solutions with unit point ^ x and m ^ y . In other words, when employing the fundamental solutions given in Sect. 15.3 with i = 4, nb ðnÞ of moment m f 4 ðn; xÞ should be replaced by i3 . For the additional row i = 5, nb ðnÞ of f 4 ðn; xÞ should be replaced by i4 which is a 4 1 vector, (0, 0, 0, 1). With u0 ; v0 ; w; bx ; by calculated from (15.162), the internal strains e and curvatures j at point n can be found by differentiating (15.162) with respect to n, i.e., 8 09 8 9 8 9 8 9 ~;1 ~;1 iT1 u iT4 u < ex = < = < jx = < = e0y e¼ ¼ ; j ¼ jy ¼ : ð15:164Þ ~;2 ~;2 iT2 u iT5 u : 0 ; : T ; : ; : T ; jxy ~;2 þ iT2 u ~;1 ~;2 þ iT5 u ~;1 cxy i1 u i4 u The stress resultants and bending moments at the tutive relation 9 2 8 Nx > A11 > > > > > 6 A12 > Ny > > > > > = 6 < 6 A16 Nxy ¼6 6 B11 M > > x > > > 6 > > > 4 B12 M > > y > > ; : Mxy B16
internal point n can therefore be obtained through the following constiA12 A22 A26 B12 B22 B26
A16 A26 A66 B16 B26 B66
B11 B12 B16 D11 D12 D16
B12 B22 B26 D12 D22 D26
38 0 9 ex > B16 > > > > > > e0y > B26 7 > > 7> = < 0 > B66 7 c 7 xy ; D16 7 jx > > > 7> > > > > D26 5> j > > ; : y> D66 jxy
where Aij ; Bij and Dij are, respectively, the extensional, coupling and bending stiffnesses of the laminates.
ð15:165Þ
400
15
Boundary Element Analysis
Stress intensity factors of cracks As stated in Sect. 15.4.5, the stress intensity factors of cracks for two-dimensional problems can be evaluated directly by using only the nodal displacements and nodal tractions on the boundary without any mesh near the crack tip. Here, for the coupled stretching-bending analysis, similar formulae like (15.82) can also be obtained. Starting from the definition of stress intensity factors given in (14.30a) and considering the possible cases of inclined cracks, firstly like (15.81) we derive the relations for stress resultants and bending moments in the rotated coordinate as r1 ðnÞ ¼ Q ud;1 ðnÞ þ R1 ud;2 ðnÞ;
ð15:166aÞ
r2 ðnÞ ¼ R2 ud;1 ðnÞ þ T ud;2 ðnÞ;
where
r1 ¼
8 9 N > > > = < N x > xy
M > > > ; : M x >
; r2 ¼
xy
8 9 N > > > = < Nxy > y
M > > > ; : Mxy >
; ud ¼
y
8 9 u0 > > > =
0
b > > > ; : x> by
Q ¼ T11 Q þ T12 RT ;
R1 ¼ T11 R þ T12 T;
R2 ¼ T21 Q þ T22 RT ;
T ¼ T21 R þ T22 T;
;
ð15:166bÞ
ð15:166cÞ
and 2
T11
T21
c2 6 cs 6 ¼6 4 0
2cs 2 c s2
0 0
0
c2
0 2 cs 6 s2 6 ¼6 4 0
0
0
0 0 0 0
0 0
3
7 7 7; 2cs 5
2
T12
0 60 6 ¼6 40
s2 cs
0 0
0
0
0
0
cs c2 s2 2 2 3 0 0 c s2 6 2cs 0 07 6 7 7; T22 ¼ 6 4 0 5 cs 0 2 s 0 0
XA XB X¼ ; X ¼ Q; R; T; XB XD Y11 Y16 Y16 Y12 Y66 QY ¼ ; RY ¼ ; TY ¼ Y16 Y66 Y66 Y26 Y26
cs c2 0 0
3 0 07 7 7; 25 s
0 cs 3 0 0 0 07 7 7; 2 2 c s cs 5 2cs
ð15:166dÞ
c2
Y26
ð15:166eÞ
Y22
; Y ¼ A; B; D:
In (15.166d), c ¼ cos a0 ; s ¼ sin a0 . Substituting r2 ðnÞ of (15.166a)2 into (14.30a), a formula for calculating the stress intensity factors through nodal displacements and nodal tractions on the boundary can be obtained as ( ) Nc h N h i i X X Gcj tj Ycj uj þ ð15:167aÞ wck tc ðxk Þ pck wðxk Þ þ qc ; k ¼ \da [ j¼1
k¼1
where Xc ¼ R2 X c1 þ T Xc2 ; X ¼ Gj ; Yj ; wk ; pk ; q;
ð15:167bÞ
and the matrices Gcjm ; Ycjm ; wckm ; pckm ; qcm ; m ¼ 1; 2; can be calculated from the definition given in (15.123c), (15.124) with c u ; t ; t determined by (15.38) in which f i ; ~f i ; f 0 ; f 00 ; should now be replaced by f c ; ~f ; f 0c ; f 00c as ij
ij
ic
i
i
i;k
i;k
i;k
i;k
15.7
Coupled Stretching-Bending Analysis
401
1 i pffiffiffiffiffiffi \ð1 fa Þ1 [ Z1;m \ðfa Þ1 [ q0 qTm hi ðnÞ; k0 2i pa
a i ~f c ¼ pffiffiffiffiffiffi Z2;m \ln f þ 2ðf Þ2 [ q qT hi ðnÞ; i;m a a 0 m k0 4i pa ( ) 1 1 f2 i T 0c a f i;m ðn; xÞ ¼ pffiffiffiffiffiffi \ [ \ [ Z3;m þ q0 qm hi ðnÞ; k0 ia pa 1 f2 ð1 fa Þ2 a ( ) 4 f3 1 f3 i T 00c a a [ \ [ Z3;m þ q0 qm hi ðnÞ; i ¼ 1; 2; 3; 4; 5; m ¼ 1; 2; f i;m ¼ 2 pffiffiffiffiffiffi \ 3 k0 ia pa ð1 f2 ð1 fa Þ3 a Þ f ci;m ¼
ð15:168aÞ
where
Z1;m ¼ \^za;m [ AT \fa [ B1 B\^za;m [ A ; T
ln fa 1Þ^za;m [ AT þ \ln fa 1 [ B1 B\^za;m [ A ; Z2;m ¼ \ðf1 a
T
Z3;m ¼ \^za;m [ AT B1 B\^za;m [ A ; n o 1 q0 ¼ B1 i3 ; qm ¼ Re A\^za;m [ q0 ; k0 ¼ iT 3 L i3 :
T
ð15:168bÞ
In (15.168), the vetocrs hi ðnÞ; i ¼ 1; 2; 4; are defined in (15.38c) and h3 ðnÞ ¼ 0, h5 ðnÞ ¼ i4 ¼ ð0; 0; 0; 1ÞT . Note that the expressions listed in (15.168) are derived by the following relations with fi given in (15.42) for a = 0 ( )
pffiffiffiffiffiffiffiffi @f i ðn; xÞ pffiffiffiffiffiffiffiffi @~f i ðn; xÞ c c ~ 2pr 2pr f i;m ðn; xÞ ¼ lim ; f i;m ðn; xÞ ¼ lim ; r!0 r!0 @^xm @^xm h¼0 h¼0 ð15:169Þ
0 p ffiffiffiffiffiffiffi ffi pffiffiffiffiffiffiffiffi @f 00i ðn; xÞ @f ðn; xÞ 0c 00c i 2pr 2pr ; f i;m ðn; xÞ ¼ lim : f i;m ðn; xÞ ¼ lim r!0 r!0 @^xm @^xm h¼0
h¼0
Here, i = 5 is also included which has been explained at the beginning of this Section. Similar to the two-dimensional analysis, for an inclined crack the stress intensity factors of the right tip (x ¼ a; y ¼ 0) and left tip (x ¼ a; y ¼ 0) may be different in general. By referring to the statement before (15.83b), the stress intensity factors evaluated in (15.167) for the right tip can be applied to the left tip through the sign change of (15.83b). For the calculation of the displacements, strains, curvatures, stress resultants and bending moments at the internal points, and the stress intensity factors for crack problems, function BEMcoupleIN is designd and presented in F031 of Appendix F.
15.8
Contact Analysis
Usually, the contact portion of an elastic problem cannot be described as traction-prescribed (bc = 0) or displacement-prescribed (bc = 1). To make the BEM codes work for the contact problems a third choice, bc = 2, is designed for contact condition. If this condition is selected for a boundary node, it is considered to be located in the potential contact region. With the inclusion of the contact boundary condition, in this section we present: (1) contact of two elastic solids, (2) indentation by multiple rigid punches, and (3) contact of viscoelastic solids, which are edited from our recent published works (Nguyen and Hwu 2019, 2020a,b,c).
402
15
Boundary Element Analysis
15.8.1 Contact of Two Elastic Solids—BEM2Dcontact2ElaB To simplify the following discussions for contact of two elastic solids, the system of Eqs. (15.56a) can be simply written as Yu ¼ Gt;
ð15:170Þ
in which Y, G, u, and t are the global matrices and vectors assembled by their associated element matrices and vectors Yij, Gij, uj, and tj. If two contact bodies A and B are considered (see Fig. 15.9) and each of them is divided into contact and non-contact parts, then (15.170) can be re-expressed as YAc uAc þ YAnc uAnc GAc tAc GAnc tAnc ¼ 0;
ð15:171Þ
YBc uBc þ YBnc uBnc GBc tBc GAnc tBnc ¼ 0;
where the subscripts c and nc denote, respectively, the contact and non-contact parts; the superscripts A and B denote, respectively, the contact bodies A and B. Since the actual contact zone may not be known a priori, it is essential that a potential contact zone be chosen to be larger than the likely final contact region. If the non-contact parts are further divided AðkÞ
BðkÞ
AðuÞ
BðuÞ
AðuÞ
BðuÞ
AðkÞ
BðkÞ
into the part with displacement-prescribed (unc ; unc ; tnc ; tnc ) and traction-prescribed (unc ; unc ; tnc ; tnc ), where the superscripts (u) and (k) denote, respectively, unknown and known, we may re-write (15.171e) as A A AðuÞ AðuÞ AðkÞ AðkÞ AðuÞ AðkÞ AðkÞ YAc uAc þ YAðuÞ nc unc þ Ync unc Gc tc Gnc tnc Gnc tnc ¼ 0; B B BðuÞ BðuÞ BðkÞ BðkÞ BðuÞ BðkÞ BðkÞ YBc uBc þ YBðuÞ nc unc þ Ync unc Gc tc Gnc tnc Gnc tnc ¼ 0:
Fig. 15.9 Contact of two elastic bodies
ð15:172Þ
15.8
Contact Analysis
403
By letting
xA ¼
8 9 < uAðuÞ = nc : tAðuÞ ; nc "
KA ¼ " KC ¼
; xB ¼
YAðuÞ nc
GAðuÞ nc
0
0
8 9 < uBðuÞ = nc : tBðuÞ ; nc #
; xC ¼
0
; KB ¼
YAc
GAc
0
0
0
YBc
8 9 > uAc > > > > > > > > > > = < tAc > > > > uBc > > > > > > > > ; : tB > c
; ð15:173Þ
0 ; GBðuÞ nc
YBðuÞ nc 8 9 # AðkÞ AðkÞ AðkÞ = < GAðkÞ 0 nc tnc Ync unc ; f¼ ; : GBðkÞ tBðkÞ YBðkÞ uBðkÞ ; GBc nc nc nc nc
(15.172) can now be written as KA xA þ KB xB þ KC xC ¼ f:
ð15:174Þ
Let nA and nB be the number of nodes in the non-contact region of bodies A and B, respectively; nC denotes the number of node pairs in the contact region; qA and qB be the number of known displacement components of bodies A and B, respectively. The dimensions of each matrices and vectors in (15.172) and (15.174) can then be expressed as AðuÞ uAðkÞ nc ; tnc :qA 1;
AðkÞ uAðuÞ nc ; tnc : ð3nA qA Þ 1;
BðuÞ uBðkÞ nc ; tnc :qB 1;
BðkÞ uBðuÞ nc ; tnc : ð3nB qB Þ 1;
uAc ; tAc ; uBc ; tBc :
ð15:175aÞ
3nC 1;
and YAðuÞ nc : ð3nA þ 3nC Þ ð3nA qA Þ; YAðkÞ nc : ð3nA þ 3nC Þ qA ; YAc :
ð3nA þ 3nC Þ 3nC ;
GAðkÞ nc : ð3nA þ 3nC Þ ð3nA qA Þ; GAc :
YBc : ð3nB þ 3nC Þ 3nC ;
ð15:175bÞ
ð3nA þ 3nC Þ 3nC ;
YBðuÞ nc : ð3nB þ 3nC Þ ð3nB qB Þ; YBðkÞ nc : ð3nB þ 3nC Þ qB ;
GAðuÞ nc : ð3nA þ 3nC Þ qA ;
GBðuÞ nc : ð3nB þ 3nC Þ qB ;
GBðkÞ nc : ð3nB þ 3nC Þ ð3nB qB Þ;
ð15:175cÞ
GBc : ð3nB þ 3nC Þ 3nC ;
and KA : 3n 3nA ; xA : 3nA 1;
KB : 3n 3nB ; xB :3nB 1;
KC : 3n 12nC ;
xC :12nC 1;
f: 3n 1;
n ¼ nA þ nB þ 2nC :
ð15:175dÞ
From (15.175d) we see that the system of linear Eqs. (15.174) contains 3n equations and 3n þ 6nC unknowns. To solve all the unknown variables, we need 6nC additional equations which come from the contact constraint relations discussed below. Contact constraint relations As stated previously, we need 6nC additional equations to solve the contact problems by using BEM. To obtain these equations, we consider the contact region CC whose tractions and displacements are unknown. The contact condition in this region can be represented by the contact modes of each node pair. In general, there are three different modes: separation, stick and slip. If ðtna ; tsa ; t3a Þ; ðtnb ; tsb ; t3b Þ; ðuan ; uas ; ua3 Þ and ðubn ; ubs ; ub3 Þ are the vectors of the surface tractions and displacements in the local normal-tangential coordinate of a node pair (a, b) of Fig. 15.9, the mathematical expressions for these three modes can be stated as follows.
404
15
Boundary Element Analysis
Stick: tna ¼ tnb ; tsa ¼ tsb ; t3a ¼ t3b ; uan þ ubn ¼ g0 ; uas þ ubs ¼ 0; ua3 þ ub3 ¼ 0:
ð15:176Þ
Separation: tna ¼ tsa ¼ t3a ¼ 0; tnb ¼ tsb ¼ t3b ¼ 0: Slip:
tna
¼
tnb ; tsa
¼
gtna ; t3a
¼
t3b ;
uan
þ ubn
¼
g0 ; tsa
¼
tsb ;
ua3
þ ub3
¼ 0:
In the above, g is the friction coefficient and the sign ahead of g depends on the moving direction. The frictionless contact can be considered by letting g ¼ 0. Note that in (15.176) the local coordinates of node a and node b are different (see Fig. 15.9). For all node pairs of contact bodies, the tangential direction s is always chosen such that when one faces the direction of increasing s the body lies on the right hand side. Counterclockwise 90° we get the normal direction n, which will always direct outward of the body. If we use ha and hb to denote the tangential directions of node pair (a, b) (see Fig. 15.9), the transformation relation of local–global coordinates for this node pair can be written as 8 i9 2 u > > cos hi > = < s> 6 uin ¼ 4 sin hi > > > ; : i> 0 u
sin hi cos hi 0
3
3 8 ui 9 > 0 > > = < 1> 7 i 0 5 u2 ; > > > > 1 : ui ; 3
8 i9 2 t > > cos hi > = < s> 6 ¼ 4 sin hi tni > > > ; : i> 0 t
sin hi cos hi 0
3
38 ti 9 > 0 > > = < 1> 7 i 0 5 t2 ; i ¼ a or b: > > > > 1 : ti ; 3
ð15:177Þ
For stick/slip contact mode, this node pair is supposed to be brought together, and hence, to describe the relation for (15.176)2 and (15.176)3 the normal-tangential coordinates of nodes a and b should be arranged to be parallel but in opposite direction. If we define the direction pointing from node a to node b be the average normal direction and use the outward normal for each point, then the average normal na and nb can be determined by na ¼ nb ¼ n ¼ ðsinh; cos h; 0Þ;
ð15:178aÞ
cos h ¼ ðxb2 xa2 Þ=g0 ; sinh¼ ðxb1 xa1 Þ=g0 ; qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 2 2 xb1 xa1 þ xb2 xa2 : g0 ¼
ð15:178bÞ
where
and g0 is the normal gap between node a and node b. Under the action of an external force during deformation the node pair will be brought closer if the load increases, and contact occurs when g0 = 0. Note that in the above ha ; hb ; and h depend on the position of each node pair. If an incremental loading technique is employed, these angles will change at each loading stage since the associated position of node pairs will change under different loading condition. Combining (15.176), (15.177), and (15.178), the contact constraint relations for each contact node pair can be stated as. DC xC ¼ f 0 ; where f 0 ¼ g0 i5 ;
ð15:179aÞ
0 T 0 0 DC ¼ ; when separate 0 0 T 0 0 T 0 T ¼ ; when stick T 0 T 0 0 T 0 T ¼ ; when slip I2 T ET I2 T 0
ð15:179bÞ
and
2
cosh T ¼ 4 sinh 0
sinh cosh 0
3 2 0 0 0 5; I2 ¼ 4 0 0 1
0 1 0
3 2 0 1 0 5; E ¼ 4 0 1 0
g 0 0
3 0 0 5: 0
ð15:179cÞ
Assembling the contact constraint relations for all contact node pairs, Eq. (15.179) can provide 6nC additional equations. Thus, combination of (15.174) and (15.179) constructs a ð3n þ 6nC Þ ð3n þ 6nC Þ system of linear equations, in which the unknown variables can be determined uniquely. In the case when the contact region is known a priori (e.g. a flat-ended punch on a flat elastic foundation), and the size of contact region is independent of the magnitude of the applied load, only
15.8
Contact Analysis
405
stick and slip contact modes will be assumed in the known contact region. In this situation although an iteration process is still required to determine a satisfactory contact state inside the contact region, the total load can be applied directly to the system of linear equations to solve the contact problems. On the other hand, if the size of the contact region is unknown, which generally occurs in contact problems, and is dependent on the applied load, then an incremental method must be employed to overcome the nonlinear feature of contact problems. Incremental loading technique As stated previously in the general contact problem the size of contact region is usually unknown a priori. Different magnitude of applied load will lead to different contact size and contact mode, and hence contact problem is generally nonlinear. To solve a nonlinear problem by a system of linear equations, (15.174) and (15.179), a fully incremental loading technique was suggested so that the nonlinearity can be approximated by many linear steps (Man et al. 1993a,b). To implement an incremental load process, in each step the load is updated by pm ¼ pm1 þ Dpm ; m ¼ 1; 2; . . .; M;
ð15:180Þ
and in the last step pM equals to the external load p. The system of linear Eqs. (15.174) under the external loads pm and pm1 can be written as m m K A xm A þ KB xB þ KC xC ¼ f m ; under pm ;
þ KB xm1 þ KC xm1 ¼ f m1 ; under pm1 : KA xm1 A B C
ð15:181Þ
Subtracting (15.181)1 by (15.181)2, we get m m KA Dxm A þ KB DxB þ KC DxC ¼ Df m ; m 1;
ð15:182Þ
where Df m ¼ f m f m1 . Like the total form system equations, to solve the incremental displacements and tractions from the incremental form (15.182), we still need 6nC additional equations which are constructed by the constraint relations. To use the constraint relations (15.176) in incremental form, we first update the displacements and tractions by m1 m m1 m m1 um þ Dum þ Dum þ Dum n ¼ un n ; us ¼ us s ; u3 ¼ u3 3;
tnm ¼ tnm1 þ Dtnm ; tsm ¼ tsm1 þ Dtsm ; t3m ¼ t3m1 þ Dt3m ;
ð15:183Þ
m where Dum j and Dtj , j = n, s, 3, are, respectively, the incremental changes in displacements and tractions due to the incremental load Dpm . Substituting (15.183) into (15.176), the constraints for different contact modes can be expressed as follows. Separation mode:
Dðtna Þm ¼ ðtna Þm1 ; Dðtsa Þm ¼ ðtsa Þm1 ; Dðt3a Þm ¼ ðt3a Þm1 ; Dðtnb Þm ¼ ðtnb Þm1 ; Dðtsb Þm ¼ ðtsb Þm1 ; Dðt3b Þm ¼ ðt3b Þm1 :
ð15:184Þ
Stick/slip mode: Dðtna Þm Dðtnb Þm ¼ ½ðtna Þm1 ðtnb Þm1 ; stick/slip; Dðtsa Þm Dðtsb Þm ¼ ½ðtsa Þm1 ðtsb Þm1 ; stick/slip; Dðt3a Þm Dðt3b Þm ¼ ½ðt3a Þm1 ðt3b Þm1 ; stick/slip; ; stick/slip; Dðuan Þm þ Dðubn Þm ¼ g0 ½ðuan Þm1 þ ðubn Þm1 gm1 0
ð15:185Þ
Dðuas Þm þ Dðubs Þm ¼ ½ðuas Þm1 þ ðubs Þm1 ; stick; Dðtsa Þm gDðtna Þm ¼ ½ðtsa Þm1 gðtna Þm1 ; slip; Dðua3 Þm þ Dðub3 Þm ¼ ½ðua3 Þm1 þ ðub3 Þm1 ; stick/slip: Same as the construction of (15.179), by using (15.184), (15.185) and (15.177)–(15.178) the additional contact constraint relations can be written as
406
15
Boundary Element Analysis
m1 DC Dxm C ¼ fC ; m 1
ð15:186aÞ
f m1 ¼ DC xm1 þ g0 i 5 : C C
ð15:186bÞ
where
Combination of (15.182) and (15.186) can then solve the incremental displacements and tractions of the mth step
m m Dxm A ; DxB ; DxC :
Determination of slip direction and incremental load To solve the incremental displacements and tractions from (15.182) and (15.186), the vectors on their right hand sides, i.e., Df m and f m1 C , should be known before calculation. According to (15.173)7, we see that to obtain Df m we need to provide a proper value for the incremental load Dpm . Whereas the relations shown in (15.184) and (15.185) tell us that f m1 C is determined from the displacements and tractions obtained in the previous step. Moreover, the sign ahead of the friction coefficient g, which depends on the slip direction, is required to be determined prior to the evaluation of f m1 C . As suggested by (Man et al. 1993a; Aliabadi and Martin 1998), the incremental load Dpm can determined by the load that is required to bring a node pair, which is nearest to the contact edge of current contact region, into contact and ensure that the normal traction at this pair is zero. If two node pairs are at the same distance to the contact edge, which usually occurs for the contact under symmetric condition, both node pairs will be brought to contact. Under this consideration, the node pair next to the current contact edge is set to be in slip mode. To get zero normal traction at this node pair, two trial incremental loads Dpð1Þ ð1Þ
ð2Þ
and Dpð2Þ are applied. If tn and tn are the normal traction associated with these two trial loads at the selected node pair, the incremental load Dpm which will lead to tnm ¼ 0 can then be extrapolated by Dpm ¼ Dpð1Þ þ
ð1Þ
tn ð1Þ
ð2Þ
tn tn
Dpð2Þ Dpð1Þ :
ð15:187Þ
Note that the above extrapolation formula is obtained based upon the linear relation between traction and load, which is applicable if the trial incremental load are small enough that the contact conditions are unaltered and the material is linear elastic. For the convenience of computer programming, no matter the contact is symmetric or unsymmetric, both node pairs nearest to the two edges of contact region are brought into contact and are set in slip mode. By using (15.187) for each node pair, we get two incremental loads. For unsymmetric contact, the smaller incremental load is selected and its corresponding node pair is the new edge of contact region. For symmetric contact, these two incremental loads will be equal, and both node pairs become the new edge of contact region. Since the slip direction is unknown at the beginning of applying load and the sign ahead of the friction coefficient g is undetermined, the above concept can only be executed by assuming g ¼ 0 which is irrelevant to the sign. With this understanding, to solve the general frictional contact problems we suggest the following process to determine the slip direction and incremental load. (1) Assume frictionless movement in tangential direction, i.e., g ¼ 0. (2) Apply two trial incremental loads Dpð1Þ and Dpð2Þ and determine their corresponding values of Df ð1Þ and Df ð2Þ by (15.173)7. (3) Both node pairs nearest to the two ends of current contact region, (m–1)th step, are assumed to be brought into contact, m1 i.e., node pairs (a, b) and ða0 ; b0 Þ of Fig. 15.9 are assumed in slip mode. Thus, Dm of (15.186) can be C and f C determined. (4) Solve DxA ; DxB ; DxC corresponding to Df ð1Þ and Df ð2Þ from (15.189) by fast solver (15.191), which will be stated later ð1Þ
ð2Þ
in this Section. From these solutions we can calculate the normal traction tn and tn at the node pair (a, b), and the 0 ð1Þ
normal traction tn
0 ð2Þ
and tn
at the node pair ða0 ; b0 Þ. ð1Þ
ð2Þ
0 ð1Þ
0 ð2Þ
(5) The incremental loads calculated by (15.187) using (tn , tn ) for the left node pair and using (tn , tn ) for the right node pair can now be set to be Dp‘m and Dprm , respectively. (6) If Dp‘m \Dprm , the node pair (a, b) in slip mode is confirmed and the node pair ða0 ; b0 Þ is released to be separated. If Dp‘m [ Dprm , ða0 ; b0 Þ slips and (a, b) separates. If Dp‘m ¼ Dprm , both (a, b) and ða0 ; b0 Þ remain in slip mode.
15.8
Contact Analysis
407
(7) After updating the contact status through the comparison of Dp‘m and Dprm , repeat (3)–(6) with only one node pair brought into contact for Dp‘m 6¼ Dprm , and get the new Dpm . Otherwise, Dpm ¼ Dp‘m ¼ Dprm , and no new updating is required at this stage. m1 (8) Apply Dpm obtained in stage (7) and determine their corresponding values of Df m by (15.173)7. With Dm C and f C obtained in stage (3), solve DxA ; DxB ; DxC corresponding to Df m from (15.189) by fast solver (15.191). Calculate the relative tangential displacement ðuas Þm þ ðubs Þm for each node pair in contact region. If ðuas Þm þ ðubs Þm [ 0, choose the positive sign for g, otherwise, negative sign for g. This selection will make the direction of tangential traction be opposite to the slip direction. At each incremental load step m, store the sign determined in stage (8) for the friction coefficient g and the contact status determined in stage (6) for the nearest node pair. With these information, all the cases with non-zero friction coefficient can be performed directly from (3) to (8) by bringing the correct node pairs into contact with the correct sign for the friction coefficient. Criteria for contact status Because the solutions obtained at each step are solved under certain assumptions of contact modes, after getting the solutions we need to check the contact status of each node pair. Followings are the criteria for checking the contact status. Separation: if ðDuan Þm þ ðDubn Þm \gm1 remains separate; otherwise contact 0
ð15:188aÞ
if ðtna Þm1 þ ðDtna Þm 0 remains contact; otherwise separate
ð15:188bÞ
if jtsm1 þ Dtsm j\jgðtnm1 þ Dtnm Þj remains stick; otherwise slip
ð15:188cÞ
if ððtsa Þm1 þ ðDtsa Þm Þððuas Þm þ ðubs Þm Þ 0 remains slip; otherwise stick
ð15:188dÞ
Contact (slip/stick):
Stick:
Slip:
Fast solver for iteration Note that the complete system of equations, (15.182) and (15.186), for solving the incremental displacements and tractions can be written in matrix form as 8 m9 ( ) > = < DxA > Df m KA KC KB m DxC ¼ ; m 1: ð15:189Þ 0 Dm 0 > f m1 C ; : m> C DxB m1 From (15.189) we see that KA, KB, and KC keep unchanged in the entire iteration process, only Dm need to C , Df m , and f C m m m be updated before solving DxA , DxB , and DxC in each step. Here, Df m is due to the change of incremental load, and Dm C and f m1 are influenced by the changes of contact conditions and the solution obtained by the previous step. Comparing to the C unchanged portion, these changes are usually only a small fraction of the total. To avoid reformulation of the entire system matrix, all the changes in the left hand side of (15.189) have been purposely arranged in the bottom part of the matrix. With this arrangement, a fast solver suggested by Aliabadi (2002) can be employed, and is stated as follows. Consider a system of linear equations which is written as
Ks x ¼ f; Ks ¼ K þ e1 vT1 þ þ es vTs ;
ð15:190Þ
where ei, i = 1,2,…, s, is a column vector which contains only one component that is unity at the (di)th row and all the others are zero, and vTi is a row vector which contains the difference between the components of K and Ks in the (di)th row. Here, di denotes the row number of the ith different row between K and Ks. Without repeating the evaluation of K1 in each iteration, which is usually the most time consuming part in the entire calculation, the solution of x can be calculated as (Sherman and Morrison 1949; Aliabadi 2002)
408
15
Boundary Element Analysis
1 x ¼ K1 s f ¼ Qs K f;
ð15:191aÞ
where Qs ¼
s Y
ðI Csi Þ ¼ ðI Cs1 ÞðI Cs2 Þ. . .ðI C0 Þ;
ð15:191bÞ
i¼1
and Ck1 ¼
T yk1 0 1 k vk ; yj1 ¼ ðI Cj2 Þyj2 k k ; yk ¼ K ek ; k ¼ 1; 2; . . .; s; j ¼ 2; . . .; k: T 1 þ vk yk1 k
ð15:191cÞ
Iteration procedure Based upon the contact constraint relations and the incremental loading technique presented previously, a flowchart for computer programing is shown in Fig. 15.10. In order to clearly explain this flowchart, an iteration procedure is stated as follows. Step 1: Input material properties, friction coefficient and make boundary meshes. Like the usual BEM, input the material properties for two contact bodies and make boundary meshes for each of them. Note that independent nodes are set for two bodies. The friction coefficient g is input at this step. Step 2: Set a potential contact region and input boundary conditions for each node If the contact region is known, the potential contact region is the actual contact region. If the contact region is unknown, a potential contact region is suggested to be larger than the likely final contact region. Otherwise, it is possible that after completing the iteration process the final solution is corresponding to a load pm which is less than the actual total load p, and new iteration process should start again. The potential contact region (CC ) is generally divided into two parts: stick/slip (Cs ) and separate (Cp ). Put ns and np node pairs for Cs and Cp , and nC ¼ ns þ np . For the cases whose contact region is known, we set np = 0. Initially, if the contact region is unknown all the boundary values are input based upon the assumption that only one node pair contact, i.e., ns ¼ 1 and np ¼ nC 1. An initial normal gap g0 and a local coordinate for each node pair are also calculated at this step. Step 3: Calculate KA, KB, and KC, for the entire contact bodies. According to the definition given in (15.173) we can calculate KA, KB, and KC, which are related to the matrices of influence coefficients Y and G, and will not change in the entire iteration process. m1 Step 4: Calculate D0C ; f; f 0 or Dm for updating contact status. C ; Df m ; f c 0 To calculate DC ; f; f 0 by (15.173), (15.176)–(15.179), an initial load p0 should be applied. We suggest p0 ¼ p for the problems whose contact region is known. Whereas for the problems whose contact region is unknown, an initial contact node pair is assumed and the load p0 is evaluated by (15.187) with the two trial incremental loads. In the following examples, these values are suggested to be Dpð1Þ ¼ 0:003p and Dpð2Þ ¼ 0:005p for all updating steps m including the initial m1 one. When m 1, the values of Dm can be calculated by (15.182)–(15.186) with the incremental loads evaluated C ; Df m ; f c by (15.187). As stated in the previous eight stages, the new edge of contact region and the sign of friction coefficient at each iteration process are determined based upon the assumption of frictionless contact. This information can then be employed for the cases with non-zero friction coefficient.
Step 5: Solve xA ; xB ; xC or DxA ; DxB ; DxC for the displacements and tractions. When m = 0, solve xA ; xB ; xC by (15.174) and (15.179). Whereas when m 1, solve DxA ; DxB ; DxC by (15.189) using the fast solver introduced in (15.191). Step 6: Check the criteria for contact status and update contact status. If all the node pairs pass the criteria set in (15.188), output the solutions of tractions and displacements for this iteration and go to the next step. Otherwise, update contact status by (15.188) and go to step 4. Since the contact solutions associated with the new contact status will be changed, the normal tractions associated with the two trial loads in (15.187) will also be changed. Thus, the incremental load Dpm needs to be updated by (15.187) before going back to step 4.
15.8
Contact Analysis
409
Fig. 15.10 Flow chart for computer programming of contact problems
Step 7: Check the total load and total contact area. If the magnitude of the total incremental load |pm| equals to the actual total load |p|, stop the iteration process and output all the information required in contact analysis. If jpm j\jpj and the contact area is over the one set in step 2, which can be indicated by np = 0, stop the iteration and send a warning message to suggest the user to increase the size of potential contact region and repeat running the program again. In the case the potential contact region reaches its maximum value such as
410
15
Boundary Element Analysis
complete indention of parabolic punch, the remaining load p pm will be applied on the system in the next step. If jpm j\jpj and the contact area is less than the one set in step 2, go to the next step. Step 8: Apply the incremental load. To apply the incremental load Dpm , we first set the node pairs (one or two pairs depending on the contact status) nearest to the edge of current contact region to slip mode. In order to obtain a proper value of Dpm which can make the normal traction at the edge of updated contact region vanish, the updated formula (15.187) is used and two trial loads are required. In our program, an indicator q is set to indicate the status of load pm-1. If the load pm-1 is applied at the first time, q = 0 and a small ð1Þ
trial load Dpð1Þ is applied to get the data of tn and switch the indicator q to 1. When q = 1, another trial load Dpð2Þ is applied ð2Þ
to get the data of tn and switch the indicator q to 2. When q = 2, apply the incremental load Dpm which is evaluated by (15.187), reset q = 0, and update m to m + 1. No matter q = 0, 1 or 2, after getting the value of Dpð1Þ , Dpð2Þ or Dpm , go to step 4 to update the contact status. According to the above iteration procedure, the function BEM2Dcontact2ElaB is designed and presented in F014 of Appendix F. In our study we observed that the solutions obtained from a single total load and a summed-up incremental load are almost the same, and hence for simplicity only the code by total load is presented in the function BEM2Dcontact2ElaB.
15.8.2 Indentation by Multiple Rigid Punches—BEM2DcontactMReB Consider a two-dimensional anisotropic elastic solid indented by multiple rigid punches as shown in Fig. 15.11. Since only one elastic body is considered, the system of Eq. (15.174) written for two elastic bodies can now be simplified as Kxnc þ Yc uc Gc tc ¼ f;
Fig. 15.11 A half-plane indented by multiple rigid punches
ð15:192aÞ
15.8
Contact Analysis
411
where ( xnc ¼
uðuÞ nc
) ;
tðuÞ nc
K ¼ YðuÞ nc
; GðuÞ nc
n o ðkÞ ðkÞ ðkÞ t Y u f ¼ GðkÞ nc nc nc nc :
ð15:192bÞ
The contact constraint relations (15.176) can also be simplified as Separation: t1 ¼ t2 ¼ t3 ¼ 0; ^t1 ¼ ^t2 ¼ ^t3 ¼ 0: Stick: u1 ¼ ^u1 ; u2 ¼ ^ u2 ; u3 ¼ ^ u3 ; t1 ¼ ^t1 ; t2 ¼ ^t2 ; t3 ¼ ^t3 : ^2 ; u3 ¼ ^ Slip: t1 ¼ gt2 ; u2 ¼ u u3 ; t1 ¼ ^t1 ; t2 ¼ ^t2 ; t3 ¼ ^t3 :
ð15:193Þ
In the above, the overhat ^ appeared on the right hand side of each equation of (15.193) denotes the value related to the rigid punches. Since the punches are considered to be rigid, the displacements ^ ui can be described by using rigid body motion of ^ each punch. On the other hand, the tractions ti are related to the loads applied on each punch. Using the local coordinate n of each punch (see Fig. 15.11), these relations can be expressed as ^u1 ¼ u0 xf ðnÞ; ^ u2 ¼ v0 þ xn þ f ðnÞ; ^ u3 ¼ 0; Zd
^t1 ðnÞdn ¼ ^q1 ;
c
Zd
^t2 ðnÞdn ¼ ^ q2 ;
c
Zd
ð15:194Þ
^ n^t2 ðnÞdn ¼ m;
c
where ðu0 ; v0 Þ denote, respectively, the translation of rigid punch in x1 and x2 direction, and x is the rigid body rotation; f ðnÞ ^ are, respectively, the horizontal load, vertical load, and is a function describing the profile of punch head; ^ q1 , ^ q2 and m moment applied on the punch; c and d are the two ends of the rigid punch. Note that these values may vary for different punches, i.e., they can be expressed explicitly by ^ c; dÞi ; i ¼ 1; 2; . . .; M; ðu0 ; v0 ; x; f ; n; ^ q1 ; ^ q2 ; m;
ð15:195Þ
where M is the number of rigid punches. Writing the contact mode (15.193) for each contact node and the relations (15.194) for each punch, the contact constraint relations can now be written as ðjÞ
ðijÞ ðjÞ ðjÞ ðijÞ ðiÞ DðjÞ u uc þ Dt tc þ Dr xr ¼ f c ; i ¼ 1; 2; . . .; M; j ¼ 1; 2; . . .; Nc ;
ð15:196Þ
ðiÞ ðiÞ DðiÞ q tc ¼ f q ; i ¼ 1; 2; . . .; M; ðiÞ
where Nc is the number of contact nodes. In the first equation of (15.196), an additional unknown vector xr appears, which represents the rigid body motion of the ith rigid punch and is 8 9 > = < u0 > ¼ v0 : ð15:197Þ xðiÞ r > ; : > x i The other symbols of (15.196)1, which depend on the contact mode, the punch profile fi ðnÞ and the location of contact node nj , can be expressed as
412
15
Boundary Element Analysis
ðjÞ
ðijÞ ðijÞ DðjÞ u ¼ 0; Dt ¼ I; Dr ¼ 0; f c ¼ 0; for separation; 9 8 2 3 1 0 f ðnÞ > = < 0 > 6 7 ðjÞ ðijÞ ðijÞ ¼ I; D ¼ 0; D ¼ 0 1 n ; f ¼ f ðnÞ ; for stick; DðjÞ 4 5 t c u r > > ; : 0 0 0 ij 0 ij 9 8 2 3 2 3 2 3 0 0 0 1 g 0 0 0 0 > = < 0 > 6 7 ðjÞ 6 7 6 7 ðijÞ DðjÞ 0 0 5; DðijÞ f ðnÞ ; for slip: u ¼ 4 0 1 0 5; Dt ¼ 4 0 r ¼ 4 0 1 n 5 ; f c ¼ > > ; : 0 0 1 0 0 0 0 0 0 ij 0 ij
ð15:198Þ
The second equation of (15.196) is derived from the equilibrium equations listed in (15.194)4–6 by using the Trapezoidal rule for numerical integration. The symbols used in (15.196)2 can be detailed by 8 9 q1 =
< ðxk þ 1 xk Þ=2; k ¼ 1 hk ¼ ðxk þ 1 xk1 Þ=2; 1\k\n ; > : ðxk xk1 Þ=2; k ¼ n 8 2 2 > < ½xk þ 1 xk 2eðxk þ 1 xk Þ=4; k ¼ 1 gk ¼ ½x2k þ 1 x2k1 2eðxk þ 1 xk1 Þ=4; 1\k\n : > : 2 ½xk x2k1 2eðxk xk1 Þ=4; k ¼ n
ð15:199cÞ
In the above, n is the number of contact nodes in the ith punch, e is the x-coordinate of the center position of the ith punch, and xk is the x-coordinate of the kth contact node of the ith punch. After getting all the equations for all contact nodes and all punches, assembly of these equations will lead to Du uc þ Dt tc þ Dr xr ¼ f c ;
Dq tc ¼ f q :
ð15:200Þ
Combination of (15.192a) and (15.200) gives us 2
K 40 0
Yc 0 Du
Gc Dq Dt
9 8 3> xnc > 8 9 > > 0 < = tc > : ; > Dr > fc ; : xr
ð15:201Þ
which constitutes a ½3ðN þ Nc þ MÞ ½3ðN þ Nc þ MÞ system of linear equations, where all the unknown variables ðxnc ; uc ; tc ; xr Þ can be solved. Note that in order to keep the punch in equilibrium, the horizontal force applied on the punch must not be greater than the maximum friction force, ^q1;max ¼ gs ^q2 (gs : the coefficient of static friction). When the applied horizontal force ^ q1 is equal to the maximum friction force, the punch is on the verge of non-equilibrium. When the punches slide slowly, g ¼ gk (gk : the coefficient of kinetic friction). If the half-plane surface is frictionless, gs ¼ gk ¼ 0 and no horizontal force can be applied since the punch will not stop on a frictionless surface once it is started.
15.8
Contact Analysis
413
When the punch slides slowly (g ¼ gk ) or when the punch is on the verge of non-equilibrium (g ¼ gs ), the slip mode will take place on the entire contact region of the punch. The frictionless contact can be considered to be the special case of sliding whose gk ¼ 0. Since no unique and definite values of u0 can be assumed for these cases and the relations obtained by the force equilibrium in x1 and x2 directions of (15.194) may become dependent each other, both the number of unknowns and equations will be reduced by one per punch for these cases. Therefore, if all punches are in sliding condition or on the verge of non-equilibrium, the system of equations will become ½3ðN þ Nc Þ þ 2M ½3ðN þ Nc Þ þ 2M, and the related matrices of (15.196)–(15.199) reduce to 2 3 0 0 v0 q2 ðijÞ 4 1 n 5 ; ½Dk ¼ 0 hk 0 ; f ðiÞ ¼ ^ xðiÞ ¼ ; D ¼ : ð15:202Þ r i ^ i 0 gk 0 i q x i r m 0 0 ij As stated previously, the determination of the sign ahead of friction coefficient depends on the slip direction. In the case of sliding punch which is under the force that ^q1 ¼ g^ q2 whose g ¼ gk or when the punch is on the verge of non-equilibrium (^q1 ¼ g^q2 , g ¼ gs ), the punch slip direction is the same as the force direction. Thus, we should choose positive sign for g when the horizontal load is applied in the negative direction of x1 (note that for the contact problem the vertical load is always negative if the coordinate system is chosen to be the one shown in Fig. 15.11). Otherwise, choose negative sign for g. However, in the general cases of contact, the slip direction at each contact node is usually unknown a priori. The sign for each slip node can be initially assumed by referring to the cases of sliding or frictionless punches, and then updated by checking the relative tangential displacement Du1 ¼ u1 u0 þ xf ðnÞ. If Du1 [ 0, choose the positive sign for g, otherwise, choose the negative sign for g. Here, u0 is ignored for the frictionless cases. Because the solutions obtained from (15.201) are solved under certain assumptions of contact modes, after getting the solutions we need to check the contact status of each contact node. Followings are the criteria for checking the contact status. Separation : if u2 \v0 þ xn þ f ðnÞ remains separate; otherwise contact
ð15:203aÞ
Contact ðslip=stickÞ : if t2 0 remains contact; otherwise separate
ð15:203bÞ
Stick : if t1 j\jgt2 j remains stick; otherwise slip
ð15:203cÞ
Slip : if t1 ½u1 u0 þ xf ðnÞ 0 remains slip; otherwise stick
ð15:203dÞ
Like the iteration procedure stated in the previous section for two contact bodies, an iteration procedure can also be set for the present problem, whose details are presented in (Nguyen and Hwu 2020a). According to the approach stated in this section, the function BEM2DcontactMReB is designed and presented in F016 of Appendix F.
15.8.3 Contact of Viscoelastic Solids—BEM2Dcontact2VisB, BEM2DcontactMRvBc, BEM2DcontactMRvBt As we stated in Chap. 12 by using elastic–viscoelastic correspondence principle the problems of anisotropic viscoelasticity can be solved for the cases with time-invariant boundaries. Therefore, if a contact problem is considered, BEM developed based upon correspondence principle can only be applied to the cases of complete indentation whose contact region as well as contact status should be time-independent. To develop a BEM dealing with the general cases of contact, a new method called time-stepping method is now introduced as follows. Time-stepping method Consider the basic equations stated in (12.1)–(12.2) for anisotropic viscoelasticity. If the elastic stiffness tensor is expressed by Prony series as that shown in (12.9), substituting (12.9) into (12.2), dividing the time t into m equal time step Dt and assuming the strain rate to be constant in each time step, i.e., ðqÞ
ðq1Þ
@ekl ðtÞ ekl ekl ¼ @t Dt
ðqÞ
¼ e_ kl ¼ constant, when ðq 1ÞDt t\qDt; q 1;
ð15:204Þ
414
15
Boundary Element Analysis
we can integrate (12.2) explicitly as ( rij ðtÞ ¼
e0kl cðtÞ þ
0 Cijkl
m X
) ðqÞ e_ kl cq ðtÞ
;
ð15:205aÞ
1 eDt=xp ;
ð15:205bÞ
q¼1
where e0kl ¼ ekl ð0Þ; cðtÞ ¼ q þ
n X
qp et=xp ;
p¼1
cq ðtÞ ¼ qDt þ
n X
qp xp e
ðtqDtÞ=xp
Dt ¼ t=m:
p¼1
Introduce a new variable vk such that vk ðtÞ ¼
ðqÞ ðq1Þ m X u u k
q¼1 ðqÞ
where uk ðq1Þ
uk
ðq1Þ
and uk
Dt
k
cq ðtÞ;
ð15:206Þ ðqÞ
are the displacements uk at the time step q and q-1, respectively, i.e., uk ¼ uk ðqDtÞ and
¼ uk ððq 1ÞDtÞ. With the definition given in (15.206), we have evkl ðtÞ ¼
m X 1 ðqÞ vk;l ðtÞ þ vl;k ðtÞ ¼ e_ kl cq ðtÞ: 2 q¼1
ð15:207Þ
Thus, the stress–strain relation (15.205a) leads to rij ðtÞ ¼ r0ij cðtÞ þ rvij ðtÞ;
ð15:208aÞ
where 0 0 r0ij ¼ Cijkl ekl ;
0 v rvij ðtÞ ¼ Cijkl ekl ðtÞ.
ð15:208bÞ
From the results of (15.208), we see that the basic Eqs. (12.1) for linear anisotropic viscoelasticity can now be separated into two parts. One is related to the initial state and the other is related to the state at the follow-up time step. That is, 0 0 r0ij ¼ Cijkl ekl ; e0ij ¼ ðu0i;j þ u0j;i Þ=2; r0ij;j = 0, when t ¼ 0; 0 v ekl ; evij ¼ ðvi;j þ vj;i Þ=2; rvij;j = 0, when t ¼ mDt; m 1: rvij ¼ Cijkl
ð15:209Þ
Since both of the initial state and the follow-up time state in (15.209) bear the same basic equations for anisotropic elasticity, we can then use the usual methods for anisotropic elasticity to solve the problems of anisotropic viscoelasticity. In other words, we solve the first set of (15.209) for t = 0 to get the initial displacements, strains, and stresses. After getting the solutions for t = 0, we then get vi ; evij ; rvij for t ¼ Dt; 2Dt; 3Dt; . . .; for the follow-up time by using the second set of (15.209). The displacements ui for the problems of anisotropic viscoelasticity can therefore be evaluated step by step through the following relation, which is derived from (15.206), ðmÞ
ui
ðm1Þ
¼ wi
þ
vi Dt ; cm ðtÞ
ð15:210aÞ
where
ðm1Þ
wi
8 ðm1Þ > ; m¼1 > < ui m1 ¼ 1 X ðm1Þ ðqÞ ðq1Þ > u ðu ui Þcq ðtÞ; m 2 > : i cm ðtÞ q¼1 i
ð15:210bÞ
15.8
Contact Analysis
415
The associated strains eij and stresses rij at each time step can then be evaluated by using (12.1)2 and (15.208a). Note that when dealing with the elastic problems set by vi ; evij ; rvij for t ¼ Dt; 2Dt; 3Dt; . . .; the associated boundary conditions depend not only on the displacements and tractions of the current time step but also on their values of the previous time steps including the initial time step. For example, vi ¼ ^vi ¼
ðqÞ ðq1Þ m X ^u ^ u i
q¼1
tiv
¼ ^tiv
¼
^vij nj r
i
Dt
cq ðtÞ; on Cu for time t;
¼ ^ti ^ti0 cðtÞ;
ð15:211Þ
on Ct for time t:
^ denotes the value given on the displacement-prescribed boundary Cu or the traction-prescribed In (15.211), the overhat ðÞ ðqÞ
ðq1Þ
^i and u ^i boundary Ct ; nj is the outward normal vector of boundary surface; u are, respectively, the displacements 0 0 ^ ^ ^ij nj and ti ¼ r ^ij ðtÞnj are tractions on the traction-prescribed prescribed at the time t ¼ qDt and t ¼ ðq 1ÞDt; ti ¼ r boundary at the time t ¼ 0 and t ¼ mDt. If ^ui ¼ 0 on Cu or ^ti ¼ 0 on Ct for all time, from (15.211) we see that vi ¼ 0 on Cu or tiv ¼ 0 on Ct for all time, which is the same as the clamped boundary condition or traction-free boundary condition set for the elastic problems. However, along the contact region both displacements and tractions are unknown priori and may vary with time, and hence the boundary conditions of vi and tiv may depend on the displacements and tractions of the current time step as well as their values of the previous time steps. From (15.209) we see that by time stepping method the problems of linear anisotropic viscoelasticity can be solved by two sets of linear anisotropic elastic problems. One is noted by ðu0i ; e0ij ; r0ij Þ for the initial state, and the other is noted by ðvi ; evij ; rvij Þ for the follow-up time step. Therefore, by following the standard procedure of BEM for these two sets of elastic problems, we can write the system of equations for viscoelasticity in the form of (15.170) in which 0 0 u ; when t¼ 0 t ; when t¼ 0 u¼ ; t¼ ð15:212Þ v; when t¼mDt; m 1 tv ; when t¼mDt; m 1 Through this way, the system of equations stated in (15.189) for solving the incremental displacments and tractions of elastic contact problems can now be written for these two sets of elastic problems as 8 9 < xA = KA KC KB f ¼ x ; ð15:213aÞ 0 DC 0 : C ; fC xB where xA ¼ x0A ; xB ¼ x0B ; xC ¼ x0C ; f ¼ f 0 , when t¼ 0; xA ¼ xvA ; xB ¼ xvB ; xC ¼ xvC ; f ¼ f v , when t¼mDt; m 1:
ð15:213bÞ
In the above, KA ; KB ; KC ; xA ; xB ; xC and f are defined in (15.173), whereas DC and f C relating the contact constraint relations DC xC ¼ f C for t = 0 and t¼mDt; m 1 have been presented in (Nguyen and Hwu 2020b). Like the expression shown in (15.179) and (15.186), DC and f C for each contact node pair can be expressed as 0 T 0 0 DC ¼ ; when separate 0 0 T 0 0 T 0 T ; when stick ¼ ca T 0 cb T 0 ð15:213cÞ 0 T 0 T ; when slip ¼ ca I2 T ET cb I2 T 0 when t¼ 0 g0 i 5 ; fC ¼ DC yC þ g0 i5 ; when t¼mDt; m 1;
416
15
Boundary Element Analysis
in which
yC ¼
ca ¼
9 8 a w =ca > > > > > > > = < ca ðt0 Þa > > wb =cb > > > > > > ; : b 0 b> c ðt Þ
;
8 a9 < w1 = wa ¼ wa2 ; : a; w3
1; when t ¼ 0 ; cb ¼ Dt=cam ; when t ¼ mDt; m 1
8 9 < wb1 = b w ¼ wb2 ; : b; w3
ð15:213dÞ
1; when t ¼ 0 ; Dt=cbm ; when t ¼ mDt; m 1
ð15:213eÞ
and cam and cbm are, respectively, the values of cm ðtÞ of bodies A and B, whereas ca and cb are, respectively, the values of cðtÞ ðm1Þ
(defined in (15.210)) for bodies A and B, of bodies A and B. In (15.213d), wai and wbi are the simplified notation of wi respectively. Similarly, if the contact between multiple rigid punches and anisotropic viscoelastic foundation is considered, we can rely on the system of Eqs. (15.201) for these two sets of elastic systems. Details description of the application of time-stepping method on this kind of problems can be found in (Nguyen and Hwu 2020c). Like the expression shown in (15.198), ðjÞ
ðijÞ
ðijÞ DðjÞ and f C for each contact node can be expressed as u ; Dt ; Dr ðjÞ
ðijÞ DðjÞ u ¼ 0; Dt ¼ I; Dr ¼ 0; for separation; 2 3 1 0 f ðnÞ 6 7 ðjÞ ðijÞ DðjÞ 1 n 5 ; for stick; u ¼ I; Dt ¼ 0; Dr ¼ c4 0 0 0 0 ij 2 3 2 3 2 0 0 0 1 g 0 0 0 6 7 ðjÞ 6 7 ðijÞ 6 ðjÞ Du ¼ 4 0 1 0 5; Dt ¼ 4 0 0 0 5; Dr ¼ c4 0 1 0 0 1 0 0 0 0 0
f ðijÞ c ¼
0
ð15:213fÞ
3
7 n 5 ; for slip: 0 ij
f ðnÞic ; when t ¼ 0 : ðjÞ 0 w cD cDðjÞ t t þ cf ðnÞic ; when t ¼ mDt; m 1: u
c ¼ cm =Dt; ic ¼
ð15:213gÞ
8 9 8 9 < w1 =
= < r5 > < r13 > < t1 > r4 ¼ r23 ¼ t2 ¼ Xt: > ; > ; > ; : > : > : > r3 r33 t3 Step 4: calculate r1 ; r2 ; e3 ; e4 ; e5 and r6 through the constitutive law. 38 9 2 2 C11 C12 r1 > C14 C15 0 > 0 1 0 C13 > > > > > > 7 6 6 0 1 C23 C C 0 r C C 0 > > 24 25 2 21 22 > 6 7> 6 7< e3 = 6 C31 6 0 0 C33 C C 0 C 1 34 35 32 7 6 6 6 0 0 C C C 0 7> e > ¼ 6 C C 0 43 44 45 4 > 42 > 7 6 41 6 > > > 4 C C 4 0 0 C C C 0 5> e 0 > > 53 54 55 5 51 52 > ; : > 0 0 C63 C64 C65 1 r6 C61 C66 0
0 0 0 1 0 0
ð15:257Þ
0 0 0 0 1 0
38 9 C16 > > > e1 > 7> > > C26 e2 > > > > > 7 < 7 = C36 7 r3 ; 7 C46 r4 > > > > 7 > > 5> > C56 > > > r5 > ; : C66 e6
ð15:258Þ
where Cij ; i; j ¼ 1; 2; . . .; 6 are the elastic constants at the x1 x2 x3 coordinate, which can be calculated by using following relation C ¼ KCKT ;
ð15:259aÞ
where 2
X211 6 X2 21 6 6 X2 31 6 K¼6 6 X21 X31 4 X11 X31 X11 X21
X212 X222 X232 X22 X32 X12 X32 X12 X22
X213 X223 X233 X23 X33 X13 X33 X13 X23
2X12 X13 2X22 X23 2X32 X33 X23 X32 þ X22 X33 X13 X32 þ X12 X33 X13 X22 þ X12 X23
2X11 X13 2X21 X23 2X31 X33 X23 X31 þ X21 X33 X13 X31 þ X11 X33 X13 X21 þ X11 X23
3 2X11 X12 7 2X21 X22 7 7 2X31 X32 7: X22 X31 þ X21 X32 7 7 X12 X31 þ X11 X32 5 X12 X21 þ X11 X22
ð15:259bÞ
In (15.259b), Xij ; i; j ¼ 1; 2; 3; are the components of the transformation matrix X, and C and C* are, respectively, the matrices of Cij and Cij . Step 5: calculate ri ; ei ; i ¼ 1; 2; . . .; 6 through coordinate transform. r ¼ K1 r ; e ¼ KT e ; where K is given in (15.259b).
ð15:260Þ
426
15
Boundary Element Analysis
Strains and stresses at the internal points To know the values of stresses, strains and displacements at any interior point, the source point n is considered to be an internal point and CðnÞ in (15.52) becomes the unit matrix I. The displacement at any point inside the body can therefore be obtained from (15.78). Differentiating (15.78) with respect to ^xi ; i ¼ 1; 2; 3, we obtain (15.79d). With the results of (15.79d), the internal strains at point n can then be found by using the strain–displacement relation eij ¼ ðui;j þ uj;i Þ=2, and the stresses can be obtained by employing the stress–strain law rij ¼ Cijkl ekl ¼ Cijkl uk;l . According to the boundary element formulation stated in this section, several functions such as BEM3DelasticB, BEM3DelasticIN, BEMinfluence3D_YG, and BEMstrainstressB3D are designed and presented in F026, F027, F037, and F044 of Appendix F. The technique of deleting “for loop” by vectorization (see Appendix B) usually used in the numerical integration has been employed in the design of function BEMinfluence3D_YG, which is responsible for the calculation of influence matrices (15.250).
15.9.4 Extension to Piezoelectric and MEE Materials For electromechanical analysis of piezoelectric materials, the basic equations can be written as (2.31), and further in expanded notation like (2.33a). Similarly, for MEE materials further expansion can be made by letting all sub-indices ranging from 1 to 5 as shown in (11.29). Since the basic equations for anisotropic elastic solids, piezoelectric solids, and MEE solids have exactly the same mathematical form with different range of the sub-indices, the formulae obtained in the previous sections can all be extended to the cases with piezoelectric and MEE solids. The only difference between them is the expansion of the size of the associated vectors and matrices from 3 to 4 for piezoelectric solids and from 3 to 5 for MEE solids. For example, if a MEE material is considered in the three-dimensional boundary element, the vectors of displacements and tractions should be expanded to u ¼ ðu1 ; u2 ; u3 ; u4 ; u5 ÞT ;
t ¼ ðt1 ; t2 ; t3 ; t4 ; t5 ÞT ;
ð15:261aÞ
where the additional components Z u4 ¼
Z E1 dx1 ¼
Z u5 ¼
Z E2 dx2 ¼
Z H1 dx1 ¼
t4 ¼ r4j ej ¼ Dj ej ;
Z H2 dx2 ¼
E3 dx3 ; H3 dx3 ;
ð15:261bÞ
t5 ¼ r5j ej ¼ Bj ej :
To determine the generalized stresses and strains at the boundary nodes, the additional terms e4i ; e5i ; r4i ; r5i ; i ¼ 1; 2; 3; appearing in the MEE materials can be evaluated by e4i ¼
1 @u4 1 @u4 ¼ ; 2 @xi 2 @xi
r43 ¼ t4 ¼ t4 ;
e5i ¼
1 @u5 1 @u5 ¼ ; i ¼ 1; 2; 2 @xi 2 @xi
ð15:262Þ
r53 ¼ t5 ¼ t5 :
After getting e41 ð¼ e7 =2Þ; e42 ð¼ e8 =2Þ; e51 ð¼ e10 =2Þ; e52 ð¼ e11 =2Þ; r43 ð¼ r9 Þ; r53 ð¼ r12 Þ from (15.262), all the remaining strains and stresses such as e9 ; e12 ; r7 ; r8 ; r10 ; r11 ; can be determined from the constitutive laws of MEE. The transformation matrix K for MEE should now be expanded to 2 3 Ke 0 0 ð15:263Þ K ¼ 4 0 X 0 5; 0 0 X in which Ke and X are the matrices given in (15.259b) and (15.252b).
15.10
Functions for Common Use
15.10
427
Functions for Common Use
15.10.1 Function—GreenCouple Function GreenCouple is a common function for the calculation of the Green's functions and their derivatives for the problems of coupled stretching-bending analysis. The Green’s functions uij ,tij , tic given in (15.38a) are expressed in terms of the complex functions f i ; i ¼ 1; 2; 3; 4; whose explicit solutions are presented in (15.38b), (15.42), and (15.47) for three different problems. The common function GreenCouple designed here is applicable for all these three cases, and is presented in F067 of Appendix F.
15.10.2 Function—BEM_YGtoVg Function BEM_YGtoVg converts the data of influence matrices Y and G to the global coefficient matrix V of the system of algebraic equations, Vy = g, and its associated known vector g according to the control parameter YGtype. When YGtype = 1: conversion for the elements; when YGtype = 2: conversion for the corners; when YGtype = 3: conversion for the auxiliary equations. The computer code of this function is presented in F003 of Appendix F.
15.10.3 Function—CSABD_star Function CSABD_star transforms the elastic properties according to the control parameter TRtype. When TRtype = 1: transforms the elastic matrix Cij and compliance matrix Sij to Cij and Sij of the new coordinate system which is rotated about x3-axis counterclockwisely angle a from the original coordinate system. When TRtype = 2: transforms the inverse relations of the extensional, coupling and bending stiffnesses, i.e., A ; B ; D of (1.55b), to the new coordinate system, i.e., A0 ; B0 ; D0 of (15.147a). When TRtype = 3: transforms the extensional, coupling and bending stiffnesses, i.e., A; B; D of (1.54b), to the new coordinate system, i.e., A0 ; B0 ; D0 of (15.159). The computer code of this function is presented in F048 of Appendix F.
15.10.4 Function—s15_pgzV s15_pgzV is a common function to calculate the functions pa ; ga ; ln fa ; ðza ^za Þ ln fa and their related derivatives and integrals. These functions are defined in (15.43), (15.46) and (15.47). According to their definition, function s15_pgzV is designd and presented in F096 of Appendix F.
15.11
Examples
15.11.1 Two-Dimensional Anisotropic Elastic Analysis Example 1: An Orthotropic Solid With a Traction-Free Side (Ltype = 1,2, Btype = 1,2) Consider a semi-circular solid with a pressurized circular hole under plane strain condition. The geometry and load of this problem are shown in Fig. 15.14. The solid is made by an orthotropic material whose elastic properties are shown on Example 2 of Table 3.1. Since the upper side of the solid is a traction-free surface, to solve this problem by boundary element we can choose the fundamental solution for the half plane, i.e., Ltype = 2. With this selection, no meshes are needed on the upper side of the solid. On the other hand, if we choose the fundamental solution for infinite plane, i.e., Ltype = 1, meshes are needed on the entired boundary of the problems. By selecting two different fundamental solutions and two different element types (Btype = 1 for linear element and Btype = 2 for quadratic element), four different sets of input files are prepared as follows. (1) Ltype = 1, Btype = 1:
428
15
Boundary Element Analysis
L d p0
Fig. 15.14 A semi-circular solid with a pressurized hole, L = 2 m, r = 0.2 m, p0 = 100 MPa. (-: node for both Ltype = 1 and Ltype = 2, : node for Ltype = 1)
^ = 1 MPa) Fig. 15.15 A bimaterial plate subjected to uniform tension. (W = 50 m, H = 50 m, r
input_control: 1 2 1 0 0 1 0 1.0e-6; 2 0 0 0. input_elastic1: 134e9 11e9 11e9 2.98e9 5.84e9 5.84e9 0.49 0.3 0.3 0. input_loadstr: 1 16 0 0 0. input_xn: X1;X2. input_bc: B1;B2. input_node1: O1;O2. (2) Ltype = 1, Btype = 2: input_control, input_elastic1, input_xn, input_bc: (same as (1)). input_loadstr: 2 16 0 0 0. input_node1: 1 2 3;3 4 5;5 6 7;7 8 9;9 10 11;11 12 13; 13 14 15;15 16 17;18 19 20;20 21 22; 22 23 24;24 25 26;26 27 28;28 29 30; 30 31 32;32 33 34;35 36 37;37 38 39; 39 40 41;41 42 43;43 44 45;45 46 47; 47 48 49;49 50 35.
15.11
Examples
429
^ = 1GPa) Fig. 15.16 A plate with a hole subjected to uniform tension. (W = 1, H = 3, a = 0.1, b = 0.05, r
(3) Ltype = 2, Btype = 1: input_control: 1 2 2 3 0 1 0 1.0e-6; 2 0 0 0. input_elastic1, input_loadstr: same as (1). input_variable: 17; X1 of (1). input_xn: same as X2 of (1). input_bc: same as B2 of (1). input_node1: O2 of (1) with each node number minus 17. (4) Ltype = 2, Btype = 2: input_control, input_elastic1, input_variable, input_bc, input_xn: (same as (3)). input_loadstr: (same as (2)). input_node1: 1 2 3;3 4 5;5 6 7;7 8 9;9 10 11;11 12 13;13 14 15;15 16 17;18 19 20;20 21 22;22 23 24;24 25 26;26 27 28;28 29 30;30 31 32;32 33 18. where. X1: −0.999 0; −0.875 0; −0.75 0; −0.625 0; −0.5 0; −0.375 0; −0.25 0; −0.125 0; 0 0; 0.125 0; 0.25 0; 0.375 0; 0.5 0; 0.625 0; 0.75 0; 0.875 0; 0.999 0. X2: 1 0; 0.98078528 −0.195090322; 0.923879533 −0.382683432; 0.831469612 −0.555570233; 0.707106781 −0.707106781; 0.555570233 −0.831469612; 0.382683432 −0.923879533; 0.195090322 −0.98078528; 0 −1; −0.195090322 −0.98078528; −0.382683432 −0.923879533; −0.555570233 −0.831469612; −0.707106781 −0.707106781; −0.831469612 −0.555570233; −0.923879533 −0.382683432; −0.98078528 −0.195090322; −1 0; −0.2 −0.5; −0.184775907 −0.576536686; −0.141421356 −0.641421356; −0.076536686 −0.684775907; 0 −0.7; 0.076536686 −0.684775907; 0.141421356 −0.641421356; 0.184775907 −0.576536686; 0.2 −0.5; 0.184775907 −0.423463314; 0.141421356 −0.358578644; 0.076536686 −0.315224093; 0 −0.3; −0.076536686 −0.315224093; −0.141421356 −0.358578644; −0.184775907 −0.423463314.
430
15
Boundary Element Analysis
B1: 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 1 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; B2: 1 1 0 0 0 0; 1 1 0 0 0 0; 1 1 0 0 0 0; 1 1 0 0 0 0; 1 1 0 0 0 0; 1 1 1 0 0 0; 1 1 0 0 0 0; 1 1 0 0 0 0; 1 1 0 0 0 0; 1 1 0 0 0 0; 1 1 0 0 0 0; 1 1 0 0 0 0; 1 1 0 0 0 0; 1 1 0 0 0 0; 1 1 0 0 0 0; 1 1 0 0 0 0; 1 1 0 0 0 0; 0 0 1 −100,000,000 0 0; 0 0 0 −92,387,953.25 −38,268,343.24 0; 0 0 0 −70,710,678.12 −70,710,678.12 0; 0 0 0 −38,268,343.24 −92,387,953.25 0; 0 0 0 0 −100,000,000 0; 0 0 0 38,268,343.24 −92,387,953.25 0; 0 0 0 70,710,678.12 −70,710,678.12 0; 0 0 0 92,387,953.25 −38,268,343.24 0; 0 0 1 100,000,000 0 0; 0 0 0 92,387,953.25 38,268,343.24 0; 0 0 0 70,710,678.12 70,710,678.12 0; 0 0 0 38,268,343.24 92,387,953.25 0; 0 0 0 0 100,000,000 0; 0 0 0 −38,268,343.24 92,387,953.25 0; 0 0 0 −70,710,678.12 70,710,678.12 0; 0 0 0 −92,387,953.25 38,268,343.24 0. O 1: 12; 2 3; 3 4; 4 5; 5 6; 6 7; 7 8; 8 9; 9 10; 10 11; 11 12; 12 13; 13 14; 14 15; 15 16; 16 17 O 2: 18 19; 19 20; 20 21; 21 22; 22 23; 23 24; 24 25; 25 26; 26 27; 27 28; 28 29; 29 30; 30 31; 31 32; 32 33; 33 34; 35 36; 36 37; 37 38; 38 39; 39 40; 40 41; 41 42; 42 43; 43 44; 44 45; 45 46; 46 47; 47 48; 48 49; 49 50; 50 35. Example 2: A Composite Bi-material (Ltype = 3, Btype = 1) A bimaterial composed of the fiber-reinforced composites with two different fiber orientation subjected to uniform tension ^ ¼ 1 MPa is considered in this example. The loading, geometry and boundary element meshes of this problem are shown in r Fig. 15.15. The properties of the composite referred to the principal material axes are E1 ¼ 55 GPa, E2 ¼ 21GPa, m12 ¼ 0:25 and G12 ¼ 9:7 GPa. The material above the interface is with fibers oriented counterclockwisely 45°, whereas the material below the interface is counterclockwisely 30°. Similar to the previous example, by taking the advantage of the special fundamental solution for interface we can select Ltype = 3 for BEM. With this selection, no meshes are needed along the interface between two dissimilar materials. If the linear element with Ltype = 3 is considered, the input files should be prepared as follows. input_control: 2 1 3 11 0 1 0 1.0e−6; 5 0 0 0; 5 0 0 0. input_elastic1: 55e9 21e9 9.7e9 0.25 45. input_elastic2: 55e9 21e9 9.7e9 0.25 30. input_loadstr: 1 16 0 0 0. input_variable: 1 3 −45 0.0001 45 0.0001 10 45 −0.0001 2 −45 −0.0001 10. input_xn: −50 −50; −50 −38; −50 −30; −50 −23; −50 −17; −50 −12.50; −50 −8.5; −50 −5.5; −50 −3; −50 −1.5; −50 −0.5; −50 0; −50 0.5; −50 1.5; −50 3; −50 5.5; −50 8.5; −50 12.50; −50 17; −50 23; −50 30; −50 38; −50 50; −49.999 50; −37.50 50; −25 50; −12.50 50; 0 50; 12.50 50; 25 50; 37.50 50; 49.999 50; 50 50; 50 38; 50 30; 50 23; 50 17; 50 12.50; 50 8.5; 50 5.5; 50 3; 50 1.5; 50 0.5; 50 0; 50 −0.5; 50 −1.5; 50 −3; 50 −5.5; 50 −8.5; 50 −12.50; 50 −17; 50 −23; 50 -30; 50 −38; 50 −50; 49.999 −50; 37.50 −50; 25 −50; 12.50 −50; 0 −50; −12.50 −50; −25 −50; −37.50 −50; −49.999 −50. input_bc: 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 1 1 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 1e6 0; 0 0 0 0 1e6 0; 0 0 0 0 1e6 0; 0 0 0 0 1e6 0; 0 0 1 0 1e6 0; 0 0 0 0 1e6 0; 0 0 0 0 1e6 0; 0 0 0 0 1e6 0; 0 0 0 0 1e6 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 1 1 1 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 −1e6 0; 0 0 0 0 −1e6 0; 0 0 0 0 −1e6 0; 0 0 0 0 −1e6 0; 0 0 1 0 −1e6 0; 0 0 0 0 −1e6 0; 0 0 0 0 −1e6 0; 0 0 0 0 −1e6 0; 0 0 0 0 −1e6 0. input_node1: 1 2; 2 3; 3 4; 4 5; 5 6; 6 7; 7 8; 8 9; 9 10; 10 11; 11 12; 12 13; 13 14; 14 15; 15 16; 16 17; 17 18; 18 19; 19 20; 20 21; 21 22; 22 23; 24 25; 25 26; 26 27; 27 28; 28 29; 29 30; 30 31; 31 32; 33 34; 34 35; 35 36; 36 37; 37 38; 38 39; 39 40; 40 41; 41 42; 42 43; 43 44; 44 45; 45 46; 46 47; 47 48; 48 49; 49 50; 50 51; 51 52; 52 53; 53 54; 54 55; 56 57; 57 58; 58 59; 59 60; 60 61; 61 62; 62 63; 63 64.
15.11
Examples
431
Fig. 15.17 An anisotropic plate with two elliptical holes (W = 200, H = 100, a1 = 1, b1 = 0.5, a2 = 1, b2 = 0.5, A: (-50,0), and B: (50,0), unit: m)
Example 3: An Anisotropic Plate With a Hole (Ltype = 4, Btype = 1) ^ ¼ 1 GPa in x2-direction (Fig. 15.16). Consider a rectangular plate with an elliptical hole subjected to a uniform tension of r The plate is made by a unidirectional fiber-reinforced composite whose properties are described in Example 5 of Sect. 3.8.1. The sizes of the plate and the hole are b/a = 0.5, a/W = 0.1, H/W = 3, and W = 1 m. To solve this problem by BEM without meshes along the hole, we select Ltype = 4. If linear element is considered, the input files for this problem should then be prepared as follows. input_control: 1 2 4 11 1 1e9 1e−3 1e−6; 5 0 0 0. input_elastic1: 181e9 10.3e9 7.17e9 0.28 30. input_loadstr: 1 16 0 0 0 0.1 0.05. input_variable: 3 0 0 0.1 0.05 0 360 73 0. input_xn: −0.5 −1.5; −0.5 −1.2; −0.5 −0.9; −0.5 −0.6; −0.5 −0.3; −0.5 0; −0.5 0.3; −0.5 0.6; −0.5 0.9; −0.5 1.2; −0.5 1.5; −0.49999 1.5; −0.4 1.5; −0.3 1.5; −0.2 1.5; −0.1 1.5; 0 1.5; 0.1 1.5; 0.2 1.5; 0.3 1.5; 0.4 1.5; 0.49999 1.5; 0.5 1.5; 0.5 1.2; 0.5 0.9; 0.5 0.6; 0.5 0.3; 0.5 0; 0.5 −0.3; 0.5 −0.6; 0.5 −0.9; 0.5 −1.2; 0.5 −1.5; 0.49999 −1.5; 0.4 −1.5; 0.3 −1.5; 0.2 −1.5; 0.1 −1.5; 0 −1.5; −0.1 −1.5; −0.2 −1.5; −0.3 −1.5; −0.4 −1.5; −0.49999 −1.5 input_bc: 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 1 1 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 1E9 0; 0 0 0 0 1E9 0; 0 0 0 0 1E9 0; 0 0 0 0 1E9 0; 0 0 0 0 1E9 0; 1 0 1 0 1E9 0; 0 0 0 0 1E9 0; 0 0 0 0 1E9 0; 0 0 0 0 1E9 0; 0 0 0 0 1E9 0; 0 0 0 0 1E9 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 1 1 0 0 0; 0 0 0 0 0
432
15
Boundary Element Analysis
Fig. 15.18 An anisotropic plate with one crack, one hole and one rigid inclusion (W = 200, H = 100, ‘ ¼ 1, a1 = 1, b1 = 0.5, a2 = 1, b2 = 0.5, A: (−50,0), B: (50,25), and C: (50, −25), unit: m)
0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 −1E9 0; 0 0 0 0 −1E9 0; 0 0 0 0 −1E9 0; 0 0 0 0 −1E9 0; 0 0 0 0 −1E9 0; 1 0 1 0 −1E9 0; 0 0 0 0 −1E9 0; 0 0 0 0 −1E9 0; 0 0 0 0 −1E9 0; 0 0 0 0 −1E9 0; 0 0 0 0 −1E9 0. input_node1: 1 2; 2 3; 3 4; 4 5; 5 6; 6 7; 7 8; 8 9; 9 10; 10 11; 12 13; 13 14; 14 15; 15 16; 16 17; 17 18; 18 19; 19 20; 20 21; 21 22; 23 24; 24 25; 25 26; 26 27; 27 28; 28 29; 29 30; 30 31; 31 32; 32 33; 34 35; 35 36; 36 37; 37 38; 38 39; 39 40; 40 41; 41 42; 42 43; 43 44. Example 4: An Anisotropic Plate With a Crack (Ltype = 5, Btype = 1) All the conditions are the same as Example 3 except that the elliptical hole is changed to a crack with length 2a = 0.2 m. To solve this problem, one should prepare the following input files. input_control: 1 2 5 11 1 1e9 1e−3 1.0e−6; 5 0 0 0. input_elastic1: same as Example 3. input_loadstr: 1 16 0 0 0 0.1 input_variable: 1 1 0.1 0 0.2 0 40. input_xn: same as Example 3. input_bc: same as Example 3. input_node1: same as Example 3.
15.11
Examples
433
Example 5: An Anisotropic Plate With An Inclusion (Ltype = 6 or 7, Btype = 1) All the conditions are the same as Example 3 except that the elliptical hole is changed to an elliptical inclusion whose elastic properties are shown in Example 1 of Table 3.1. To solve this problem, one should prepare the following input files. input_control: 2 2 7 11 1 1e9 1e−3 1e−6; 5 0 0 0; 1 0 0 0. input_elastic1: same as Example 3. input_elastic2: 300e9 0.25. input_loadstr: 1 16 0 0 0 0.1 0.05 20. input_variable: same as Example 3. input_xn: same as Example 3. input_bc: same as Example 3. input_node1: same as Example 3. If a rigid inclusion is considered, some of the input files should be changed to input_control: 1 2 6 11 1 1e9 1e−3 1e−6; 5 0 0 0. input_loadstr: 1 16 0 0 0 0.1 0.05. Example 6: Multiple Holes Consider a rectangular plate made by a symmetric laminate ½04 = 45s whose integrated material properties are E1 ¼ 111:7 GPa, E2 ¼ 20:4 GPa, G12 ¼ 16:9 GPa, m12 ¼ 0:663: The plate contains two elliptical holes subjected to unidirectional tension r0 ¼ 1 Pa (see Fig. 15.17). To analyze this problem by using BFEM, one should prepare the following input files. input_control: 1 2 8 11 1 1e9 0.001 1.0e−6; 5 0 0 0. input_elastic1: 111.7e9 20.4e9 16.9e9 0.663 0. input_loadstr: 2 4 4; 2 8 −50 0 0 1 0.5 1; 2 8 50 0 0 1 0.5 1. input_variable: 4 -50 0 1 0.5 0 0 0 180 7 0; 4 50 0 1 0.5 0 0 0 180 7 0. input_xn: −100 −50; −100 −40; −100 −30; −100 −20; −100 −10; −100 0; −100 10; −100 20; −100 30; −100 40; −100 49.9999; −99.9999 50; −90 50; −80 50; −70 50; −60 50; −50 50; −40 50; −30 50; −20 50; −10 50; −0.0001 50; 0.0001 50; 10 50; 20 50; 30 50; 40 50; 50 50; 60 50; 70 50; 80 50; 90 50; 99.9999 50; 100 49.9999; 100 40; 100 30; 100 20; 100 10; 100 0; 100 −10; 100 −20; 100 −30; 100 −40; 100 −49.9999; 99.9999 −50; 90 −50; 80 −50; 70 −50; 60 −50; 50 −50; 40 −50; 30 −50; 20 −50; 10 −50; 0.0001 −50; 0.0001 −50; −10 −50; −20 −50; −30 −50; −40 −50; −50 −50; −60 −50; −70 −50; −80 −50; −90 −50; −99.9999 −50; 0 50; 0 40; 0 30; 0 20; 0 10; 0 0; 0 −10; 0 −20; 0 −30; 0 −40; 0 −50. input_bc: 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 1 1 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 1 0; 0 0 0 0 1 0; 0 0 0 0 1 0; 0 0 0 0 1 0; 0 0 0 0 1 0; 0 0 0 0 1 0; 0 0 0 0 1 0; 0 0 0 0 1 0; 0 0 0 0 1 0; 0 0 0 0 1 0; 1 0 1 0 1 0; 1 0 1 0 1 0; 0 0 0 0 1 0; 0 0 0 0 1 0; 0 0 0 0 1 0; 0 0 0 0 1 0; 0 0 0 0 1 0; 0 0 0 0 1 0; 0 0 0 0 1 0; 0 0 0 0 1 0; 0 0 0 0 1 0; 0 0 0 0 1 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 1 1 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 −1 0; 0 0 0 0 −1 0; 0 0 0 0 −1 0; 0 0 0 0 −1 0; 0 0 0 0 −1 0; 0 0 0 0 −1 0; 0 0 0 0 −1 0; 0 0 0 0 −1 0; 0 0 0 0 −1 0; 0 0 0 0 −1 0; 1 0 1 0 −1 0; 1 0 1 0 −1 0; 0 0 0 0 −1 0; 0 0 0 0 −1 0; 0 0 0 0 −1 0; 0 0 0 0 −1 0; 0 0 0 0 −1 0; 0 0 0 0 −1 0; 0 0 0 0 −1 0; 0 0 0 0 −1 0; 0 0 0 0 −1 0; 0 0 0 0 −1 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; input_node1: 1 2 3; 3 4 5; 5 6 7; 7 8 9; 9 10 11; 12 13 14; 14 15 16; 16 17 18; 18 19 20; 20 21 22; 67 68 69; 69 70 71; 71 72 73; 73 74 75; 75 76 77; 56 57 58; 58 59 60; 60 61 62; 62 63 64; 64 65 66. input_node2: 77 76 75; 75 74 73; 73 72 71; 71 70 69; 69 68 67; 23 24 25; 25 26 27; 27 28 29; 29 30 31; 31 32 33; 34 35 36; 36 37 38; 38 39 40; 40 41 42; 42 43 44; 45 46 47; 47 48 49; 49 50 51; 51 52 53; 53 54 55. Example 7: Multiple Holes, Cracks and Rigid Inclusions Consider a plate with one crack, one hole and one rigid inclusion subjected to unidirectional tension r0 ¼ 1 MPa (see Fig. 15.18). Except for the crack, hole and inclusion, all the other conditions are the same as Example 6. To analyze this problem by using BFEM, one should prepare the following input files.
434
15
Boundary Element Analysis
input_control: same as Example 6. input_elastic1: same as Example 3. input_loadstr: 3 5 4 6; 2 256 -50 0 0 1 1; 2 256 50 25 0 1 0.5 1; 2 256 50 −25 0 1 0.5 1 input_variable: 3 −50 0 1 0.5 0 360 7 0; 3 50 25 1 0.5 0 360 60 0; 3 50 −25 1 0.5 0 360 60 0. input_xn: −100−50; −100−45; −100−40; −100−35; −100−30; −100−25; −100−20; −100−15; −100 −10; −100−5; −100 0; −100 5; −100 10; −100 15; −100 20; −100 25; −10,030; −100 35; 100 40; −100 45; −100 49.9999; −99.9999 50; −9550; −90 50; −85 50; −80 50; −75 50; −70 50; −65 50; −60 50; −55 50; −5050; −45 50; −4050; −35 50; −30 50; −25 50; −20 50; −15 50; −10 50; −5 50; −0.000150; 0.0001 50; 5 50; 10 50; 15 50; 20 50; 2550; 30 50; 35 50; 4050; 45 50; 50 50; 55 50; 60 50; 65 50; 70 50; 75 50; 80 50; 85 50; 90 50; 95 50; 99.9999 50; 100 49.9999; 100 45; 100 40; 100 35; 100 30; 100 25; 100 20; 100 15; 100 10; 100 5; 100 0; 100 −5; 100 −10; 100 −15; 100 −20; 100 −25; 100 −30; 100 −35; 100 −40; 100 −45; 100 −49.9999; 99.9999 −50; 95 −50; 90 −50; 85−50; 80 −50; 75 −50; 70 −50; 65 −50; 60 −50; 55 −50; 50 −50; 45 −50; 40 −50; 35 −50; 30 −50; 25 -50; 20 −50; 15 −50; 10 −50; 5 −50; 0.0001 −50; −0.0001 −50; −5−50; −10 −50; −15 −50; −20 −50; −25 −50; −30 −50; −35 −50; −40 −50; −45 −50; −50 −50; −55 −50; −60−50; −65 −50; −70 −50; −75 −50; −80 −50; −85 −50; −90 −50; −95 −50; −99.9999 −50; 050; 0 45; 0 40; 0 35; 0 30; 0 25; 0 20; 0 15; 0 10; 0 5; 0 0; 0 −5; 0 −10; 0 −15; 0 −20; 0 −25; 0 −30; 0 −35; 0 −40; 0 −45; 0 −50; 99.9999 0; 95 0; 90 0; 85 0; 80 0; 75 0; 70 0; 65 0; 60 0; 550; 50 0; 45 0; 40 0; 35 0; 30 0; 25 0; 20 0; 15 0; 10 0; 5 0; 0.0001 0. input_bc: 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 1 1 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 1E6 0; 0 0 0 0 1E6 0; 0 0 0 0 1E6 0; 0 0 0 0 1E + 06 0; 0 0 0 0 1E + 06 0; 0 0 0 0 1E + 06 0; 0 0 0 0 1E + 06 0; 0 0 0 0 1E + 06 0; 0 0 0 0 1E + 06 0; 0 0 0 0 1E + 06 0; 0 0 0 0 1E + 06 0; 0 0 0 0 1E + 06 0; 0 0 0 0 1E + 06 0; 0 0 0 0 1E + 06 0; 0 0 0 0 1E + 06 0; 0 0 0 0 1E + 06 0; 0 0 0 0 1E + 06 0; 0 0 0 0 1E + 06 0; 0 0 0 0 1E + 06 0; 0 0 0 0 1E + 06 0; 1 0 1 0 1E + 06 0; 1 0 1 0 1E + 06 0; 0 0 0 0 1E + 06 0; 0 0 0 0 1E + 06 0; 0 0 0 0 1E + 06 0; 0 0 0 0 1E + 06 0; 0 0 0 0 1E + 06 0; 0 0 0 0 1E + 06 0; 0 0 0 0 1E + 06 0; 0 0 0 0 1E + 06 0; 0 0 0 0 1E + 06 0; 0 0 0 0 1E + 06 0; 0 0 0 0 1E + 06 0; 0 0 0 0 1E + 06 0; 0 0 0 0 1E + 06 0; 0 0 0 0 1E + 06 0; 0 0 0 0 1E + 06 0; 0 0 0 0 1E + 06 0; 0 0 0 0 1E + 06 0; 0 0 0 0 1E + 06 0; 0 0 0 0 1E + 06 0; 0 0 0 0 1E + 06 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 1 1 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 1 0 1 0 −1E + 06 0; 1 0 1 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 −1E + 06 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0. input_node1: 1 2 3; 3 4 5; 5 6 7; 7 8 9; 9 10 11; 11 12 13; 13 14 15; 15 16 17; 17 18 19; 19 20 21; 22 23 24; 24 25 26; 26 27 28; 28 29 30; 30 31 32; 32 33 34; 34 35 36; 36 37 38; 38 39 40; 40 41 42; 127 128 129; 129 130 131; 131 132 133; 133 134 135; 135 136 137; 137 138 139; 139 140 141; 141 142 143; 143 144 145; 145 146 147; 106 107 108; 108 109 110; 110 111 112; 112 113 114; 114 115 116; 116 117 118; 118 119 120; 120 121 122; 122 123 124; 124 125 126. input_node2: 137 136 135; 135 134 133; 133 132 131; 131 130 129; 129 128 127; 43 44 45; 45 46 47; 47 48 49; 49 50 51; 51 52 53; 53 54 55; 55 56 57; 57 58 59; 59 60 61; 61 62 63; 64 65 66; 66 67 68; 68 69 70; 70 71 72; 72 73 74; 148 149 150; 150 151 152; 152 153 154; 154 155 156; 156 157 158; 158 159 160; 160 161 162; 162 163 164; 164 165 166; 166 167 168. input_node3:
15.11
Examples
435
147 146 145; 145 144 143; 143 142 141; 141 140 139; 139 138 137; 168 167 166; 166 165 164; 164 163 162; 162 161 160; 160 159 158; 158 157 156; 156 155 154; 154 153 152; 152 151 150; 150 149 148; 74 75 76; 76 77 78; 78 79 80; 80 81 82; 82 83 84; 85 86 87; 87 88 89; 89 90 91; 91 92 93; 93 94 95; 95 96 97; 97 98 99; 99 100 101; 101 102 103; 103 104 105.
15.11.2 Two-Dimensional Piezoelectric/Viscoelastic/Thermoelastic Analysis Example 1: A Piezoelectric Plate With a Hole Under Uniform Load (Ltype = 14) All the conditions are the same as Example 3 of Sect. 15.11.1 except that the plate is now made by a piezoelectric material whose properties are shown in Example 2 of Table 3.3. To solve this problem, one should prepare the following input files. input_control: 1 21 14 11 1 1e9 1e−3 1e−6; 0 0 3 0. input_piezoM1: same as Example 2 of Sect. 3.8.3 input_loadstr: same as Example 3 of Sect. 15.10.1 input_variable: same as Example 3 of Sect. 15.10.1 input_xn: same as Example 3 of Sect. 15.10.1 input_node1: same as Example 3 of Sect. 15.10.1 input_bc: 0 0 0 1 0 0 0 0; 0 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 0; 0 1 1 0 0 0 0 0; 0 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 0; 0 0 0 0 0 1E9 0 0; 0 0 0 0 0 1E9 0 0; 0 0 0 0 0 1E9 0 0; 0 0 0 0 0 1E9 0 0; 0 0 0 0 0 1E9 0 0; 1 0 1 0 0 1E9 0 0; 0 0 0 0 0 1E9 0 0; 0 0 0 0 0 1E9 0 0; 0 0 0 0 0 1E9 0 0; 0 0 0 0 0 1E9 0 0; 0 0 0 0 0 1E9 0 0; 0 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 0; 0 1 1 0 0 0 0 0; 0 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 0; 0 0 0 0 0 −1E9 0 0; 0 0 0 0 0 −1E9 0 0; 0 0 0 0 0 −1E9 0 0; 0 0 0 0 0 −1E9 0 0; 0 0 0 0 0 −1E9 0 0; 1 0 1 0 0 −1E9 0 0; 0 0 0 0 0 −1E9 0 0; 0 0 0 0 0 −1E9 0 0; 0 0 0 0 0 −1E9 0 0; 0 0 0 0 0 −1E9 0 0; 0 0 0 0 0 −1E9 0 0. Example 2: A Viscoelastic Plate With a Hole Under Uniform Load (Ltype = 24) All the conditions are the same as the previous example except that the plate is now made by a viscoelastic material whose properties are described in Example 1 of Sect. 12.4.1. To solve this problem, one should prepare the following input files. input_control: 1 2 24 11 1 1e9 0 1.0e−6; 0 0 0 2. input_visco1: 20 1 5.81e9 0.3; 0.5439; 10. input_loadstr: 1 16 0 0 0 0.1 0.05. input_variable: 3 0 0 0.1 0.1 0 360 73 0; 1 30 0.5; 4 4; 10 12 13 21; −0.017 −0.098; −0.098 0.017; 0.1 0; 0 −0.1; −0.5 0. input_xn: same as Example 3 of Sect. 15.10.1 input_bc: same as Example 3 of Sect. 15.10.1 input_node1: same as Example 3 of Sect. 15.10.1 Example 3: An Anisotropic Plate With a Hole Under Uniform Heat Flow (Ltype = 31) All the conditions are the same as Example 3 of Sect. 15.11.1 except that the uniform tension is now changed to a uniform heat flow h0 = 100 W/m2 in the direction of positive x2 axis. To solve this problem, one should prepare the following input files. input_control: 1 2 31 0 0 1e9 0 1.0e−6; 5 5 0 0. input_elastic1: 55e9 21e9 9.7e9 0.25 30. input_thermal1: 3.46 0.35 6.3e−6 20e−6. input_loadstr: 2 16 0 0 0 32 32 0. input_xn: −0.5 −1.5; −0.5 −1.2; −0.5 −0.9; −0.5 −0.6; −0.5 −0.3; −0.5 0; −0.5 0.3; −0.5 0.6; −0.5 0.9; −0.5 1.2; −0.5 1.5; −0.49999 1.5; −0.4 1.5; −0.3 1.5; −0.2 1.5; −0.1 1.5; 01.5; 0.1 1.5; 0.2 1.5; 0.3 1.5; 0.4 1.5; 0.49999 1.5; 0.5 1.5; 0.5 1.2; 0.5 0.9; 0.5 0.6; 0.5 0.3; 0.5 0; 0.5 −0.3; 0.5 −0.6; 0.5 −0.9; 0.5 −1.2; 0.5 −1.5; 0.49999 −1.5; 0.4 −1.5; 0.3 −1.5; 0.2 −1.5; 0.1 −1.5; 0 −1.5; −0.1 −1.5; −0.2 −1.5; −0.3 −1.5; −0.4 −1.5; −0.49999 −1.5; −0.1 0; −0.098078528 −0.009754516; −0.092387953 –0.019134172; −0.083146961 −0.027778512; −0.070710678 –0.035355339; −0.055557023 −0.041573481; −0.038268343 −0.046193977; −0.019509032 −0.049039264; 0 −0.05; 0.019509032 −0.049039264; 0.038268343 −0.046193977; 0.055557023 −0.041573481; 0.070710678 −0.035355339; 0.083146961 −0.027778512; 0.092387953 −0.019134172; 0.098078528 −0.009754516; 0.1 0; 0.098078528 0.009754516; 0.092387953 0.019134172;
436
15
Boundary Element Analysis
0.083146961 0.027778512; 0.070710678 0.035355339; 0.055557023 0.041573481; 0.038268343 0.046193977; 0.019509032 0.049039264; 0 0.05; −0.019509032 0.049039264; −0.038268343 0.046193977; −0.055557023 0.041573481; −0.070710678 0.035355339; −0.083146961 0.027778512; −0.092387953 0.019134172; −0.098078528 0.009754516. input_bc: 1 0 0 0 0 0; 1 0 0 0 0 0; 1 0 0 0 0 0; 1 0 0 0 0 0; 1 0 0 0 0 0; 1 0 1 0 0 0; 1 0 0 0 0 0; 1 0 0 0 0 0; 1 0 0 0 0 0; 1 0 0 0 0 0; 1 0 0 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 0 1 1 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 1 0 0 0 0 0; 1 0 0 0 0 0; 1 0 0 0 0 0; 1 0 0 0 0 0; 1 0 0 0 0 0; 1 0 1 0 0 0; 1 0 0 0 0 0; 1 0 0 0 0 0; 1 0 0 0 0 0; 1 0 0 0 0 0; 1 0 0 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 0 1 1 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0. input_node1: 1 2 3; 3 4 5; 5 6 7; 7 8 9; 9 10 11; 12 13 14; 14 15 16; 16 17 18; 18 19 20; 20 21 22; 23 24 25; 25 26 27; 27 28 29; 29 30 31; 31 32 33; 34 35 36; 36 37 38; 38 39 40; 40 41 42; 42 43 44; 45 46 47; 47 48 49; 49 50 51; 51 52 53; 53 54 55; 55 56 57; 57 58 59; 59 60 61; 61 62 63; 63 64 65; 65 66 67; 67 68 69; 69 70 71; 71 72 73; 73 74 75; 75 76 45. input_temp: 341.8 111.2 −221.51; 275.35 111.19 −221.49; 208.92 111.1 −221.31; 142.65 110.68 −220.47; 74.251 124.5 −247.99; 0 115.47 −230.01; −67.261 111.45 −222; −133.77 111.23 −221.56; −200.23 111.21 −221.52; −266.68 111.2 −221.51; −333.14 111.2 −221.51; −333.13 111.2 −221.51; −322.02 111.2 −221.51; −310.9 111.2 −221.51; −299.77 111.2 −221.51; −288.65 111.2 −221.51; −277.53 111.2 −221.51; −266.41 111.2 −221.51; −255.29 111.2 −221.51; −244.17 111.2 −221.51; −233.05 111.2 −221.51; −221.93 111.2 −221.51; −221.93 111.2 −221.51; −155.48 111.19 −221.49; −89.053 111.1 −221.31; −22.777 110.68 −220.47; 45.619 124.5 −247.99; 119.87 115.47 −230; 187.13 111.45 −222; 253.64 111.23 −221.56; 320.1 111.21 −221.52; 386.55 111.2 −221.51; 453.01 111.2 −221.51; 453 111.2 −221.51; 441.89 111.2 −221.51; 430.76 111.2 −221.51; 419.64 111.2 −221.51; 408.52 111.2 −221.51; 397.4 111.2 −221.51; 386.28 111.2 −221.51; 375.16 111.2 −221.51; 364.04 111.2 −221.51; 352.92 111.2 −221.51; 341.8 111.2 −221.51; 48.482 166.81 −332.28; 55.183 170.97 −321.13; 62.069 172.47 −308.16; 68.866 171.91 −293.25; 75.31 169.4 −275.81; 81.151 164.52 −254.62; 86.169 156.13 −227.37; 90.176 141.23 −189.29; 93.024 111.14 −130.38; 94.611 50.35 −50.127; 94.873 −17.302 −18.273; 93.805 −25.527 −99.551; 91.447 30.72 −227.65; 87.859 100.67 −318.99; 83.202 141.06 −343.81; 77.641 158.39 −341.04; 71.387 166.79 −332.27; 64.686 170.97 −321.13; 57.801 172.47 −308.16; 51.004 171.91 −293.25; 44.56 169.4 −275.81; 38.719 164.52 −254.62; 33.701 156.13 −227.37; 29.694 141.23 −189.29; 26.845 111.38 −130.26; 25.259 50.35 −50.127; 24.997 −17.302 −18.273; 26.065 −25.527 −99.551; 28.423 30.942 −226.7; 32.01 100.67 −318.99; 36.668 141.06 −343.81; 42.229 158.39 −341.04.
15.11.3 Two-Dimensional Anisotropic Dynamic Analysis Example 1: Free Vibration of An Isotropic Plate Consider free vibration of an isotropic triangular plate which is fixed on one side and free on the other sides. The material properties of the plate are E ¼ 200 GPa, m ¼ 0:3; q ¼ 8 103 kg/m3 . The geometry, element meshes, and boundary conditions are shown in Fig. 15.19. If some other parameters required in the computer program are selected as, Dtype = 2, Otype = 0, E0 = 109 Pa, h0 = 0.001 m, e ¼ 106 , Btype = 1, n_Gauss = 16, ðx0 ; y0 ; a0 Þ ¼ ð0; 0; 0Þ, DYtype = 1, t0 ¼ 0; tf ¼ 9s, Dt ¼ 1 sec, to solve this problem one should prepare the following input files (Fig. 15.19). input_control: 1 2 41 0 1 1e9 0.001 1e−6; 1 0 0 0. input_elastic1: 200e9 0.3 input_loadstr: 1 16 0 0 0; 1 8000. input_variable: 0 9 1; 0 0; 0; 0 input_xn: 0 0; 1.25 2; 2.5 4; 3.75 6; 4.9999 8; 5.0001 8; 6.25 6; 7.5 4; 8.75 2; 10 0; 9.9999 0; 7.5 0; 5 0; 2.5 0; 0.0001 0 input_xnp: 2.5 2; 3.75 2; 5 2; 6.25 2; 7.5 2; 3.75 4; 5 4; 6.25 4; 5 6. input_node1: 1 2; 2 3; 3 4; 4 5; 6 7; 7 8; 8 9; 9 10; 11 12; 12 13; 13 14; 14 15.
15.11
Examples
437
Fig. 15.19 Boundary nodes and interior source points of a triangular plate (W = 10 m, H = 8 m)
input_bc: 00000 00000 00000 00000 00000 00000 00000 00000 00000 11100 11100 11100 11100 11100
000,000 0 0 0 0 0 0; 0 0 0 0 0 0 0; 0 0 0 0 0 0 0; 0 0 0 0 0 0 0; 0 0 0 0 0 0 0; 0 0 0 0 0 0 0; 0 0 0 0 0 0 0; 0 0 0 0 0 0 0; 0 0 0 0 0 0 0; 0 0 0 0 0 0 0; 0; 0; 0; 0; 0.
Example 2: An Anisotropic Plate With An Elliptical Hole Subjected to a Harmonic Load Consider a square plate with an elliptical hole subjected to a harmonic load qðtÞ ¼ cos 100t GPa on the upper edge of the plate. The plate is made of a unidirectional fiber-reinforced composite whose mechanical properties are E11 ¼ 161:3 GPa; E22 ¼ E33 ¼ 8:82 GPa; G23 ¼ 2:744 GPa; G13 ¼ G12 ¼ 5:331 GPa; m23 ¼ 0:45; m13 ¼ m12 ¼ 0:33; q¼ 1.58 103 kg/m3 ; where the subscript 1 denotes the fiber direction and the subscripts 2 and 3 are the directions transverse to the fiber. The geometry, element meshes, interior points for particular solutions, boundary and loading conditions are shown in Fig. 15.20. In addition to the geometry, loading and material information, like example 1 to solve this problem the user needs to provide some other parameters required in the computer program and the input files can be prepared as follows. input_control: 1 2 44 3 0 1e9 0.001 1e−6; 5 0 0 0. input_elastic1: 161.3e9 8.820e9 5.331e9 0.3 0. input_loadstr: 1 16 0 0 0 1 0.1; 2 1580 0 0 0 100. input_variable: 2; 2 2; 0 2; 0 9 1; 2 2; 0 5; 2 2; 0 2; 0
438
15
Boundary Element Analysis
Fig. 15.20 An anisotropic square plate with an elliptical hole subjected to a harmonic load (W ¼ 6 m; a ¼ 1 m; b ¼ 0:1 1 m)
input_xn: −3 −3; −3 −1.5; −3 0; −3 1.5; −3 3; −2.999 3; −1.5 3;0 3; 1.5 3; 3 3; 3 2.999; 3 1.5; 3 0; 3 −1.5; 3 −3; 2.999 −3; 1.5 −3; 0 −3; −1.5 −3; −2.999 −3. input_xnp: 1.5 0; 1.06 1.06; 0 1.5; −1.06 1.06; −1.5 0; −1.06 −1.06; 0 −1.5; 1.06 −1.06; 2.5 0; 1.77 1.77; 0 2.5; −1.77 1.77; −2.5 0; −1.77 −1.77; 0 −2.5; 1.77 −1.77. input_node1: 1 2; 2 3; 3 4; 4 5; 6 7; 7 8; 8 9; 9 10; 11 12; 12 13; 13 14; 14 15; 16 17; 17 18; 18 19; 19 20 input_bc: 000,000 0 0 0 0 0 0. 0 0 0 0 0 0 0 0 0 0 0 0. 0 0 0 0 0 0 0 0 0 0 0 0. 0 0 0 0 0 0 0 0 0 0 0 0. 0 0 0 0 0 0 0 0 0 0 0 0. 0 0 0 0 1e6 0 0 0 0 0 0 0. 0 0 0 0 1e6 0 0 0 0 0 0 0. 0 0 0 0 1e6 0 0 0 0 0 0 0. 0 0 0 0 1e6 0 0 0 0 0 0 0. 0 0 0 0 1e6 0 0 0 0 0 0 0. 0 0 0 0 0 0 0 0 0 0 0 0. 0 0 0 0 0 0 0 0 0 0 0 0. 0 0 0 0 0 0 0 0 0 0 0 0. 0 0 0 0 0 0 0 0 0 0 0 0. 0 0 0 0 0 0 0 0 0 0 0 0. 1 1 1 0 0 0. 1 1 1 0 0 0. 1 1 1 0 0 0. 1 1 1 0 0 0. 1 1 1 0 0 0. Example 3: An Anisotropic Plate With a Crack—Transient Analysis The same problem as Example 2 is considered except that the hole is replaced by a crack and the harmonic load is replaced by a Heaviside-type load qðtÞ ¼ HðtÞ GPa (Fig. 15.21). As stated in Sect. 15.6.5 two different methods are designed for
15.11
Examples
439
Fig. 15.21 An anisotropic square plate with a crack subjected to a Heaviside-type load (W ¼ 6 m; H ¼ 6 m; a ¼ 1 m)
transient analysis. And hence, to solve this problem one may choose DYtype = 31 for Houbolt’s algorithm or DYtype = 32 for modal superposition method, and prepare the input files as follows. input_control: 1 2 45 3 0 1e9 0.001 1e-6; 5 0 0 0. input_elastic1: (same as Example 2). input_loadstr: 1 16 0 0 0 1; 31 (or 32) 1580 0 0 0 (add iS = 10 for DYtype = 32). input_variable: (same as Example 2). input_xn: (same as Example 2). input_xnp: (same as Example 2). input_node1: (same as Example 2). input_bc: (same as Example 2). input_qt: 1 1 1 1 1 1 1 1 1 1.
Fig. 15.22 A laminate under a uniform tension, b out-of-plane bending, c transverse load
440
15
Boundary Element Analysis
15.11.4 Coupled Stretching-Bending Analysis Example 1: A Laminate Under Uniform Tension, Pure Bending, or Transverse Load Consider an unsupported laminated square plate subjected to uniform tension N22 ¼ 1MPa(Fig. 15.22a). The properties of the laminates are described in Example 6 of Sect. 3.8.1. If 8 elements with 12 nodes are used for the coupled-BEM (see Fig. 15.23), to solve this problem one should prepare the following input files. input_control: 1 3 51 2 1 1e9 1e−3 1e−6; 6 0 0 0. input_elastic1: (same as Example 6 of Sect. 3.8.1). input_loadstr: 1 16 0 0 0; 0 32. input_variable: 1 −0.5 −0.5 0.5 0.5 13 13 0. input_xn: −0.5 −0.5; −0.5 0; −0.5 0.5; −0.5 0.5; 0 0.5; 0.5 0.5; 0.5 0.5; 0.5 0; 0.5 −0.5; 0.5 −0.5; 0 −0.5; −0.5 −0.5 input_node1: 1 2; 2 3; 4 5; 5 6; 7 8; 8 9; 10 11; 11 12. input_corner: 12 1; 3 4; 6 7; 9 10. input_bc: 0 0 0 0 0 0 0 0; 0 1 1 0 0 0 0 0; 0 0 0 0 0 0 0 0; 0 0 0 0 0 1.e6 0 0; 1 0 0 1 0 1.e6 0 0; 0 0 0 0 0 1.e6 0 0; 0 0 0 0 0 0 0 0; 0 1 1 0 0 0 0 0; 0 0 0 0 0 0 0 0; 0 0 0 0 0 −1.e6 0 0; 0 0 0 0 0 −1.e6 0 0; 0 0 0 0 0 −1.e6 0 0; 0 0;0 0;0 0;0 0; If the applied in-plane tension is changed to the out-of-plane bending moment M22 ¼ 100N m/m (Fig. 15.22b), all input files remain the same except that the input related to the setup of the boundary condition, i.e., input_bc.txt, should be changed as. input_bc: 0 0 0 0 0 0 0 0; 0 1 0 0 0 0 0 0; 0 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 −1.e2; 1 0 1 0 0 0 0 −1.e2; 0 0 0 0 0 0 0 −1.e2; 0 0 0 0 0 0 0 0; 0 1 0 1 0 0 0 0; 0 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 −1.e2; 0 0 1 0 0 0 0 −1.e2; 0 0 0 0 0 0 0 −1.e2; 0 0;0 0;0 0;0 0; If the applied in-plane tension is changed to the uniformly distributed transverse load q ¼ 5 kPa (Fig. 15.22c) and the plate is simply supported at all edges, two of the input files should be changed as. input_loadstr: 1 16 0 0 0; 1 32; 0 0 −5000 0 0 −0.5 −0.5 0.5 −0.5 0.5 0.5 −0.5 0.5 input_bc: 1 1 1 0 0 0 0 0; 1 1 1 0 0 0 0 0; 4
5
6
3
7
x1
2
8
9
1 12
11
W
Fig. 15.23 A square laminated plate meshed by 12 nodes (W = 1 m, H = 1 m)
10
H
x2
15.11
Examples
441
1 1 1 0 0 0 0 0; 1 1 1 0 0 0 0 0; 1 1 1 0 0 0 0 0; 1 1 1 0 0 0 0 0; 1 1 1 0 0 0 0 0; 1 1 1 0 0 0 0 0; 1 1 1 0 0 0 0 0; 1 1 1 0 0 0 0 0; 1 1 1 0 0 0 0 0; 1 1 1 0 0 0 0 0; 1 0; 1 0; 1 0; 1 0. Note that the boundary element meshes shown in Fig. 15.23 are rough meshes used to show the input files presented above. And hence, the solutions obtained by using the input files shown in this example may not be accurate enough, especially for the problem under transverse load. To get more accurate results, one may increase the number of elements and nodes. Example 2: A Laminate With a Hole Subjected to Out-of-Plane Bending Moment Consider a laminate of the previous example, which now contains a through thickness elliptical hole subjected to out-of-plane bending moment M22 ¼ 100N m/m (see Fig. 15.24). To solve this problem, the input files can be prepared as those for the problem of Fig. 15.22b except that. input_control: 1 3 54 11 1 1.e9 1e-3 1e-6; 6 0 0 0. input_loadstr: 1 4 0 0 0 0.1 0.05; 0 32. input_variable: 3 0 0 0.1 0.05 0 360 37 0. Example 3: A Laminate With a Crack Subjected to Out-of-Plane Bending Moment All the conditions are the same as Example 2 except that the elliptical hole is now replaced by a crack (Fig. 15.25). To solve this problem, all the input files remain the same as those of Example 2 except that. input_control: 1 3 55 3 1 1.e9 1.e-3 1.e-6; 6 0 0 0. input_loadstr: 1 4 0 0 0 0.1; 0 32. input_variable: 1; 0 0. Example 4: A Laminate With An Inclusion Subjected to Out-of-Plane Bending Moment All the conditions are the same as Example 2 except that the elliptical hole is now replaced by an isotropic inclusion (Fig. 15.26). To solve this problem, the input files can be prepared as those for the problem of Fig. 15.22b except that. input_control: 2 3 57 11 1 1.e9 1e−3 1e−6; 6 0 0 0; 1 0 0 0. input_elastic2: 300e9 0.25 0.004. input_loadstr: 1 4 0 0 0 0.1 0.05; 0 32. input_variable: 3 0 0 0.1 0.05 0 360 37 0. Note that for the input files provided here, the results of physical quantities are along the interface in matrix side. The results along the interface in inclusion side can be obtained by infinitesimally decreasing the size of ellipse of output points. For example, one can prepare all the input files listed above except that. input_variable.txt: 3 0 0 0.099999 0.049999 0 360 37 0.
x3 x2 x1
Fig. 15.24 A laminate containing an elliptic hole under pure bending
442
15
Boundary Element Analysis
x3 x2 x1
Fig. 15.25 A laminate containing a central crack under pure bending
x3 x2 x1
Fig. 15.26 A laminate containing an elliptic elastic inclusion under pure bending
15.11.5 Contact Analysis Example 1: Contact Problem—An Elastic Half-Plane Indented by a Rigid Punch Consider Example 1 of Sect. 9.7.1 for an orthotropic elastic half-plane indented by a flat-ended rigid punch subjected to a vertical load, in which the half-plane is modeled by a rectangular plate. The contact surface is assumed to be frictionless. The loading, geometry and boundary element meshes of this problem are shown in Fig. 15.27. To solve this problem by boundary element method, one should prepare the following input files. input_control: 1 1 61 0 1 1e9 0.001 1.0e−6; 2 0 0 0. input_elastic1: 134e9 11e9 11e9 2.98e9 5.84e9 5.84e9 0.49 0.3 0.3 0. input_loadstr: 1 32 0 0 0; 1 10 0; 0 −1e6 0 0 0 0.02 36 70 0 0. input_xn: −0.999 0; −0.95 0; −0.9 0; −0.85 0; −0.8 0; −0.75 0; −0.7 0; −0.65 0; −0.6 0; −0.55 0; −0.5 0; −0.45 0; −0.4 0; −0.35 0; −0.3 0; −0.25 0; −0.2 0; −0.15 0; −0.1 0; −0.08 0; −0.06 0; −0.04 0; −0.02 0; −0.018 0; −0.016 0; −0.014 0; −0.012 0; −0.01175 0; −0.0115 0; −0.01125 0; −0.011 0; −0.01075 0; −0.0105 0; −0.01025 0; −0.0101 0; −0.01 0; −0.0099 0; −0.0094 0; −0.00925 0; −0.009 0; −0.00875 0; −0.0085 0; −0.00825 0; −0.008 0; −0.0075 0; −0.007 0; −0.006 0; −0.005 0; −0.004 0; −0.003 0; −0.002 0; −0.001 0; 0 0; 0.001 0; 0.002 0; 0.003 0; 0.004 0; 0.005 0; 0.006 0; 0.007 0; 0.0075 0; 0.008 0; 0.00825 0; 0.0085 0; 0.00875 0; 0.009 0; 0.00925 0; 0.0094 0; 0.0099 0; 0.01 0; 0.0101 0; 0.01025 0; 0.0105 0; 0.01075 0; 0.011 0; 0.01125 0; 0.0115 0; 0.01175 0; 0.012 0; 0.014 0; 0.016 0; 0.018 0; 0.02 0; 0.04 0; 0.06 0; 0.08 0; 0.1 0; 0.15 0; 0.2 0; 0.25 0; 0.3 0; 0.35 0; 0.4 0; 0.45 0; 0.5 0; 0.55 0; 0.6 0; 0.65 0; 0.7 0; 0.75 0; 0.8 0; 0.85 0; 0.9 0; 0.95 0; 0.999 0; 1 −0.001; 1 −0.05; 1 −0.1; 1 −0.15; 1 −0.2; 1 −0.25; 1 −0.3; 1 −0.35; 1 −0.4; 1 −0.45; 1 −0.5; 1 −0.55; 1 −0.6; 1 −0.65; 1 −0.7; 1 −0.75; 1 −0.8; 1 −0.85; 1 −0.9; 1 −0.95; 1 −1; 0.999 −1; 0.9 −1; 0.8 −1; 0.7 −1; 0.6 −1; 0.5 −1; 0.4 −1; 0.3 −1; 0.2 −1; 0.1 −1; 0 −1; −0.1 −1; −0.2 −1; −0.3 −1; −0.4 −1; −0.5 −1; −0.6 −1; −0.7 −1; −0.8 −1; −0.9 −1; −0.999 −1; −1 −1; −1 −0.95; −1 −0.9; −1 −0.85; −1 −0.8; −1 −0.75; −1 −0.7; −1 −0.65; −1 −0.6; −1 −0.55; −1 −0.5; −1 −0.45; −1 −0.4; −1 −0.35; −1 −0.3; −1 −0.25; −1 −0.2; −1 −0.15; −1 −0.1; −1 −0.05; −1 −0.001. input_node1: 1 2; 2 3; 3 4; 4 5; 5 6; 6 7; 7 8; 8 9; 9 10; 10 11; 11 12; 12 13; 13 14; 14 15; 15 16; 16 17; 17 18; 18 19; 19 20; 20 21; 21 22; 22 23; 23 24; 24 25; 25 26; 26 27; 27 28; 28 29; 29 30; 30 31; 31 32; 32 33; 33 34; 34 35; 36 37; 37 38; 38 39; 39 40; 40 41; 41 42; 42 43; 43 44; 44 45; 45 46; 46 47; 47 48; 48 49; 49 50; 50 51; 51 52; 52 53; 53 54; 54 55; 55 56; 56 57; 57 58; 58 59; 59 60; 60 61; 61 62; 62 63; 63 64; 64 65; 65 66; 66 67; 67 68; 68 69; 69 70; 71 72; 72 73; 73 74; 74 75; 75 76; 76 77; 77
15.11
Examples
443
Fig. 15.27 A half-plane modelled as a rectangular plated indented by a flat-ended punch. (H = 1 m, W = 2 m, ‘1 ¼ 0:02 m, ^q1 ¼ ð0; ^ q0 Þ; ^ q0 ¼ 1MN)
78; 78 79; 79 80; 80 81; 81 82; 82 83; 83 84; 84 85; 85 86; 86 87; 87 88; 88 89; 89 90; 90 91; 91 92; 92 93; 93 94; 94 95; 95 96; 96 97; 97 98; 98 99; 99 100; 100 101; 101 102; 102 103; 103 104; 104 105; 106 107; 107 108; 108 109; 109 110; 110 111; 111 112; 112 113; 113 114; 114 115; 115 116; 116 117; 117 118; 118 119; 119 120; 120 121; 121 122; 122 123; 123 124; 124 125; 125 126; 127 128; 128 129; 129 130; 130 131; 131 132; 132 133; 133 134; 134 135; 135 136; 136 137; 137 138; 138 139; 139 140; 140 141; 141 142; 142 143; 143 144; 144 145; 145 146; 146 147; 148 149; 149 150; 150 151; 151 152; 152 153; 153 154; 154 155; 155 156; 156 157; 157 158; 158 159; 159 160; 160 161; 161 162; 162 163; 163 164; 164 165; 165 166; 166 167; 167 168. input_bc: 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 00 0 0;0 0 0 0 0 0;0 0 0 0 0 0;0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 0 1 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0.
444
15
Boundary Element Analysis
Example 2: Contact Problem—Two Elastic Bodies Consider a parabolic punch in contact with an elastic foundation as shown in Fig. 15.28. The profile of the punch head is represented by y ¼ x2 =2R where R = 10 cm. Both of the punch and elastic foundation are made by an orthotropic material whose properties expressed by the elastic stiffness Cij are C11 ¼ 147:34 GPa; C22 ¼ C33 ¼ 10:78 GPa; C23 ¼ 3.32 GPa; C12 ¼ C13 ¼ 4:23 GPa; C44 ¼ C55 ¼ C66 ¼ 4:1 GPa: To see the effects of frictional force, not only the vertical uniform load p = 172 N/mm2 is applied on the top of the punch, but also a horizontal force f = 10 N/mm2 is applied on the left hand side of elastic punch. The friction coefficient is considered to be g ¼ 0:2. To solve this problem by boundary element method, one should prepare the following input files. input_control: 2 1 68 0 1 1e9 0.001 1.0e−6; 3 0 0 0; 3 0 0 0 input_elastic1: 1.4734e11 4.23e9 4.23e9 0 0 0; 4.23e9 1.078e10 3.32e09 0 0 0; 4.23e9 3.32e9 1.078e10 0 0 0; 0 0 0 4.1e9 0 0 0;0 0 0 0 4.1e9 0 0; 0 0 0 0 0 4.1e9. input_elastic2: 1.4734e11 4.23e9 4.23e9 0 0 0; 4.23e9 1.078e10 3.32e09 0 0 0; 4.23e9 3.32e9 1.078e10 0 0 0; 0 0 0 4.1e9 0 0 0;0 0 0 0 4.1e9 0 0; 0 0 0 0 0 4.1e9. input_loadstr: 2 1 1; 1 32 0 0 0 1; 1 32 0 0 0 2; 0.2 41 20; 24 166; 25 165; 26 164; 27 163; 28 162; 29 161; 30 160; 31 159; 32 158; 33 157; 34 156; 35 155; 36 154; 37 153; 38 152; 39 151; 40 150; 41 149; 42 148; 43 147; 44 146; 45 145; 46 144; 47 143; 48 142; 49 141; 50 140; 51 139; 52 138; 53 137; 54 136; 55 135; 56 134; 57 133; 58 132; 59 131; 60 130; 61 129; 62 128; 63 127; 64 126. input_xn: −0.5 0.0126; −0.5 0.2; −0.5 0.4; −0.5 0.6; −0.5 0.8; −0.5 0.9999; −0.5 1; −0.4 1; −0.3 1; −0.2 1; −0.1 1; 0 1; 0.1 1; 0.2 1; 0.3 1; 0.4 1; 0.5 1; 0.5 0.9999; 0.5 0.8; 0.5 0.6; 0.5 0.4; 0.5 0.2; 0.5 0.0126; 0.5 0.0125; 0.475 0.01128125; 0.45 0.010125; 0.425 0.00903125; 0.4 0.008; 0.375 0.00703125; 0.35 0.006125; 0.325 0.00528125; 0.3 0.0045; 0.275 0.00378125; 0.25 0.003125; 0.225 0.00253125; 0.2 0.002; 0.175 0.00153125; 0.15 0.001125; 0.125 0.00078125; 0.1 0.0005; 0.075
Fig. 15.28 A half-plane modelled as a rectangular plated indented by a parabolic punch. (p ¼ 172 N=mm2 ; f ¼ 10 N=mm2 )
15.11
Examples
445
Fig. 15.29 A cube subjected to uniaxial tension in x2-direction: a schematic diagram, b BEM mesh
0.00028125; 0.05 0.000125; 0.025 0.00003125; 0 0; −0.025 0.00003125; −0.05 0.000125; −0.075 0.00028125; −0.1 0.0005; −0.125 0.00078125; −0.15 0.001125; −0.175 0.00153125; −0.2 0.002; −0.225 0.00253125; −0.25 0.003125; −0.275 0.00378125; −0.3 0.0045; −0.325 0.00528125; −0.35 0.006125; −0.375 0.00703125; −0.4 0.008; −0.425 0.00903125; −0.45 0.010125; −0.475 0.01128125; −0.5 0.0125; 0.52 0; 0.54 0; 0.56 0; 0.58 0; 0.6 0; 0.65 0; 0.7 0; 0.75 0; 0.8 0; 0.9 0; 1 0; 1.5 0; 2 0; 2.5 0; 3 0; 3.5 0; 4 0; 4.5 0; 5 0; 5 −0.0001; 5 −1; 5 −2; 5 −3; 5 −4; 5 −4.999; 5 −5; 4 −5; 3 −5; 2 −5; 1 −5; 0 −5; −1 −5; −2 −5; −3 −5; −4 −5; −5 −5; −5 −4.999; −5 −4; −5 −3; −5 −2; −5 −1; −5 −0.0001; −5 0; −4.5 0; −4 0; −3.5 0; −3 0; −2.5 0; −2 0; −1.5 0; −1 0; −0.9 0; −0.8 0; −0.75 0; −0.7 0; −0.65 0; −0.6 0; −0.58 0; −0.56 0; −0.54 0; −0.52 0; −0.5 0; −0.475 0; −0.45 0; −0.425 0; −0.4 0; −0.375 0; −0.35 0; −0.325 0; −0.3 0; −0.275 0; −0.25 0; −0.225 0; −0.2 0; −0.175 0; −0.15 0; −0.125 0; −0.1 0; −0.075 0; −0.05 0; −0.025 0; 0 0; 0.025 0; 0.05 0; 0.075 0; 0.1 0; 0.125 0; 0.15 0; 0.175 0; 0.2 0; 0.225 0; 0.25 0; 0.275 0; 0.3 0; 0.325 0; 0.35 0; 0.375 0; 0.4 0; 0.425 0; 0.45 0; 0.475 0; 0.5 0. input_node1: 1 2; 2 3; 3 4; 4 5; 5 6; 7 8; 8 9; 9 10; 10 11; 11 12; 12 13; 13 14; 14 15; 15 16; 16 17; 18 19; 19 20; 20 21; 21 22; 22 23; 24 25; 25 26; 26 27; 27 28; 28 29; 29 30; 30 31; 31 32; 32 33; 33 34; 34 35; 35 36; 36 37; 37 38; 38 39; 39 40; 40 41; 41 42; 42 43; 43 44; 44 45; 45 46; 46 47; 47 48; 48 49; 49 50; 50 51; 51 52; 52 53; 53 54; 54 55; 55 56; 56 57; 57 58; 58 59; 59 60; 60 61; 61 62; 62 63; 63 64. input_node2: 65 66; 66 67; 67 68; 68 69; 69 70; 70 71; 71 72; 72 73; 73 74; 74 75; 75 76; 76 77; 77 78; 78 79; 79 80; 80 81; 81 82; 82 83; 84 85; 85 86; 86 87; 87 88; 88 89; 90 91; 91 92; 92 93; 93 94; 94 95; 95 96; 96 97; 97 98; 98 99; 99 100; 101 102; 102 103; 103 104; 104 105; 105 106; 107 108; 108 109; 109 110; 110 111; 111 112; 112 113; 113 114; 114 115; 115 116; 116 117; 117 118; 118 119; 119 120; 120 121; 121 122; 122 123; 123 124; 124 125; 125 126; 126 127; 127 128; 128 129; 129 130; 130 131; 131 132; 132 133; 133 134; 134 135; 135 136; 136 137; 137 138; 138 139; 139 140; 140 141; 141 142; 142 143; 143 144; 144 145; 145 146; 146 147; 147 148; 148 149; 149 150; 150 151; 151 152; 152 153; 153 154; 154 155; 155 156; 156 157; 157 158; 158 159; 159 160; 160 161; 161 162; 162 163; 163 164; 164 165; 165 166; 166 65. input_bc: 0 0 0 1e7 0 0; 0 0 0 1e7 0 0; 0 0 0 1e7 0 0; 0 0 0 1e7 0 0; 0 0 0 1e7 0 0; 0 0 0 1e7 0 0; 0 0 0 0 −1.72e8 0;0 0 0 0 −1.72e8 0; 0 0 0 0 −1.72e8 0; 0 0 0 0 −1.72e8 0; 0 0 0 0 −1.72e8 0; 0 0 0 0 −1.72e8 0; 0 0 0 0 −1.72e 8 0; 0 0 0 0 −1.72e 8 0; 0 0 0 0 −1.72e8 0; 0 0 0 0 −1.72e8 0; 0 0 0 0 −1.72e8 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0;0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 1 1 0 0 0 0; 1 1 0 0 0 0; 1 1 0 0 0 0; 1 1 0 0 0 0; 1 1 0 0 0 0; 1 1 0 0 0 0; 1 1 0 0 0 0; 1 1 0 0 0 0; 1 1 0 0 0 0; 1 1 0 0 0 0; 1 1 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0; 0 0 0 0 0 0;2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2
446
15
Boundary Element Analysis
2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0; 2 2 2 0 0 0.
15.11.6 Three-Dimensional Analysis Example 1: A Cube Subjected to Uniform Tension Consider a cube as schematically depicted in Fig. 15.29a with ‘ ¼ 2m. A uniform tension (p = 1 MPa) is applied on the top and bottom surfaces. To fix the rigid body movement, displacements are prescribed on the the triple nodes of the bottom corner, i.e., u1 ¼ u2 ¼ u3 ¼ 0 at ð1; 1; 1Þ, u2 ¼ u3 ¼ 0 at ð 1; 1 þ e; 1 þ eÞ and u3 ¼ 0 at ð 1 þ e; 1; 1 þ eÞ where e ¼ 105 . The cube is made by an anisotropic elastic material whose properties are C11 ¼ 1.148; C12 ¼ 0.758; C13 ¼ 0.556; C14 ¼ 0.134; C15 ¼ 0.103; C16 ¼ 0:0514; C22 ¼ 1:211; C23 ¼ 0.719; C24 ¼ 0.0031; C25 ¼ 0.135; C26 ¼ 0.0027; C33 ¼ 1:075; C34 ¼ 0.088; C35 ¼ 0.152; C36 ¼ 0.141; C44 ¼ 0.188; C45 ¼ 0.065; C46 ¼ 0.0162; C55 ¼ 0.113, C56 ¼ 0.0468, C66 ¼ 0.183, Cij ¼ Cji ; i; j ¼ 1; 2; . . .; 6; unit: GPa: To determine the displacements, strains, and stresses inside this cube by 3D boundary element method, one should prepare the following input files. input_control: 1 4 71 3 0 1e9 0 1.0e−4; 3 0 0 0 input_elastic1: 1:148E þ 09; 7:578E þ 08; 5:562E þ 08; 1:343E þ 08; 1:028E þ 08; 5:140E þ 07 7:578E þ 08; 1:211E þ 09; 7:187E þ 08; 3:100E þ 06; 1:353E þ 08; 2:700E þ 06 5:562E þ 08; 7:187E þ 08; 1:075E þ 09; 8:750E þ 07; 1:515E þ 08; 1:407E þ 08 1:343E þ 08; 3:100E þ 06; 8:750E þ 07; 1:875E þ 08; 6:490E þ 07; 1:620E þ 07 1:028E þ 08; 1:353E þ 08; 1:515E þ 08; 6:490E þ 07; 1:125E þ 08; 4:680E þ 07 5:140E þ 07; 2:700E þ 06; 1:407E þ 08; 1:620E þ 07; 4:680E þ 07; 1:828E þ 08 input_loadstr: 2 8 64 0 0 input_variable: 0.8,0,0; 0.6,0,0; 0.4,0,0; 0.2,0,0; 0,0,0; −0.2,0,0; −0.4,0,0; −0.6,0,0; −0.8,0,0 input_xn: −1, −1,1; 1, −1,1; −0.5, −1,1; 0, −1,1; 0.5, −1,1; 1,1,1; 1, −0.5,1; 1,0,1; 1,0.5,1; −1,1,1; 0.5,1,1; 0,1,1; −0.5,1,1; −1,0.5,1; −1,0,1; −1, −0.5,1; −0.5,0,1; 0, −0.5,1; 0,0,1; 0,0.5,1; 0.5,0,1; −1, −1, −1; 1, −1, −1; −0.5, −1, −1; 0, −1, −1; 0.5, −1, −1; 1,1, −1; 1, −0.5, −1; 1,0, −1; 1,0.5, −1; −1,1, −1; 0.5,1, −1; 0,1, −1; −0.5,1, −1; −1,0.5, −1; −1,0, −1; −1, −0.5, −1; −0.5,0, −1; 0, −0.5, −1; 0,0, −1; 0,0.5, −1; 0.5,0, −1; 1, −0.99999, −0.99999; 1,0.99999, −0.99999; 1, −0.5, −0.99999; 1,0, −0.99999; 1,0.5, −0.99999; 1,0.99999,0.99999; 1,0.99999, −0.5; 1,0.99999,0; 1,0.99999,0.5; 1, −0.99999,0.99999; 1,0.5,0.99999; 1,0,0.99999; 1, −0.5,0.99999; 1, −0.99999,0.5; 1, −0.99999,0; 1, −0.99999, −0.5; 1, −0.5,0; 1,0, −0.5; 1,0,0; 1,0,0.5; 1,0.5,0; −1, −0.99999, −0.99999; −1,0.99999, −0.99999; −1, −0.5, −0.99999; −1,0, −0.99999; −1,0.5, −0.99999; −1,0.99999,0.99999; −1,0.99999, −0.5; −1,0.99999,0; −1,0.99999,0.5; −1, −0.99999,0.99999; −1,0.5,0.99999; −1,0,0.99999; −1, −0.5,0.99999; −1, −0.99999,0.5; −1, −0.99999,0; −1, −0.99999, −0.5; −1, −0.5,0; −1,0, −0.5; −1,0,0; −1,0,0.5; −1,0.5,0; −0.99999,1, −0.99999; 0.99999,1, −0.99999; −0.5,1, −0.99999; 0,1, −0.99999; 0.5,1, −0.99999; 0.99999,1,0.99999; 0.99999,1, −0.5; 0.99999,1,0; 0.99999,1,0.5; −0.99999,1,0.99999; 0.5,1,0.99999; 0,1,0.99999; −0.5,1,0.99999; −0.99999,1,0.5; −0.99999,1,0; −0.99999,1, −0.5; −0.5,1,0; 0,1, −0.5; 0,1,0; 0,1,0.5; 0.5,1,0; −0.99999, −1, −0.99999; 0.99999, −1, −0.99999; −0.5, −1, −0.99999; 0, −1, −0.99999; 0.5, −1, −0.99999; 0.99999, −1,0.99999; 0.99999, −1, −0.5; 0.99999, −1,0; 0.99999, −1,0.5; −0.99999, −1,0.99999; 0.5, −1,0.99999; 0, −1,0.99999; −0.5, −1,0.99999; −0.99999, −1,0.5; −0.99999, −1,0; −0.99999, −1, −0.5; −0.5, −1,0; 0, −1, −0.5; 0, −1,0; 0, −1,0.5; 0.5, −1,0 input_node1:
15.11
Examples
447
1,3,4,18,19,17,15,16; 4,5,2,7,8,21,19,18; 15,17,19,20,12,13,10,14; 19,21,8,9,6,11,12,20; 22,37,36,38,40,39,25,24; 25,39,40,42,29,28,23,26; 36,35,31,34,33,41,40,38; 40,41,33,32,27,30,29,42; 43,45,46,60,61,59,57,58; 46,47,44,49,50,63,61,60; 57,59,61,62,54,55,52,56; 61,63,50,51,48,53,54,62; 64,79,78,80,82,81,67,66; 67,81,82,84,71,70,65,68; 78,77,73,76,75,83,82,80; 82,83,75,74,69,72,71,84; 85,100,99,101,103,102,88,87; 88,102,103,105,92,91,86,89; 99,98,94,97,96,104,103,101; 103,104,96,95,90,93,92,105; 106,108,109,123,124,122,120,121; 109,110,107,112,113,126,124,123; 120,122,124,125,117,118,115,119; 124,126,113,114,111,116,117,125. input_bc: 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 1; 1; 1; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 1; 1; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 1; 0; 1; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0; 0; 0; 0; 0; 1e6; 0
References Aliabadi, M.H., and D. Martín. 1998. Boundary element analysis of two-dimensional elastoplastic contact problems. Engineering Analysis with Boundary Elements 21 (4): 349–360. Aliabadi, M.H. 2002. The boundary element method: Applications in solids and structures. Chichester: Wiley. Brebbia, C.A., J.C.F. Telles, and L.C. Wrobel. 1984. Boundary element techniques. New York: Springer. Chang, H.W., and C. Hwu. 2016. Complete solutions at or near the boundary nodes of boundary elements for coupled stretching-bending analysis. Engineering Analysis with Boundary Elements 72: 89–99. Chen, Y.C., and C. Hwu. 2011. Boundary element analysis for viscoelastic solids containing interfaces/holes/cracks/inclusions. Engineering Analysis with Boundary Elements 35: 1010–1018. Chen, Y.C., and C. Hwu. 2014. Boundary element method for vibration analysis of anisotropic elastic plates containing holes, cracks or interfaces. Engineering Analysis with Boundary Elements 40: 22–35. Deans, S.R. 1983. The Radon transform and some of its applications. New York: Wiley & Sons. Gaul, L., M. Kögl, and M. Wagner. 2003. Boundary element methods for engineers and scientists. New York: Springer. Houbolt, J.C. 1950. A recurrence matrix solution for the dynamic response of elastic aircraft. Journal of the Aeronautical Sciences 17: 540–550. Hsu, C.L., C. Hwu, and Y.C. Shiah. 2019. Three-dimensional boundary element analysis for anisotropic elastic solids and its extension to piezoelectric and magnetoelectroelastic solids. Engineering Analysis with Boundary Elements 98: 265–280. Hsu, C.W., and C. Hwu, 2020. Green’s functions for unsymmetric composite laminates with inclusions. Proceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences, 476, 20190437. Hsu, C.W., and C. Hwu, 2021. Correction of the existing solutions for hole/crack problems of composite laminates under coupled stretching-bending deformation. Composite Structures, 260, 113154. Hwu, C., and C.Y. Liao. 1994. A special boundary element for the problems of multi-holes, cracks and inclusions. Computers and Structures 51 (1): 23–31.
448
15
Boundary Element Analysis
Hwu, C., 1999. A new BEM for two-dimensional anisotropic elastic solids containing multiple holes, cracks and inclusions. In Chapter 2 of discontinuous materials and structures, ed. M.B. Bush, Advances in boundary element series. Southampton, U.K.: WIT Press/Computational Mechanics Publications. Hwu, C. 2010a. Anisotropic elastic plates. New York: Springer. Hwu, C. 2010b. Boundary integral equations for general laminated plates with coupled stretching-bending deformation. Proceedings of the Royal Society, Series A 466: 1027–1054. Hwu, C. 2012. Boundary element formulation for the coupled stretching -bending analysis of thin laminated plates. Engineering Analysis with Boundary Elements 36: 1027–1039. Hwu, C., and H.W. Chang. 2015a. Coupled stretching-bending analysis of laminated plates with corners via boundary elements. Composite Structures 120: 300–314. Hwu, C., and H.W. Chang. 2015b. Singular integrals in boundary elements for coupled stretching-bending analysis of unsymmetric laminates. Composite Structures 132: 933–943. Hwu, C., C.L. Hsu, and W.R. Chen. 2017a. Corrective evaluation of multi-valued complex functions for anisotropic elasticity. Mathematics and Mechanics of Solids 22 (10): 2040–2062. Hwu, C., S.T. Huang, and C.C. Li. 2017b. Boundary-based finite element method for two-dimensional anisotropic elastic solids with multiple holes and cracks. Engineering Analysis with Boundary Elements 79: 13–22. Hwu, C., C.L. Hsu, C.W. Hsu, and Y.C. Shiah. 2019a. Fundamental solutions for two-dimensional anisotropic thermo-magneto-electro-elasticity. Mathematics and Mechanics of Solids 24 (11): 3575–3596. Hwu, C., W.R. Chen, and T.H. Lo. 2019b. Green’s function of anisotropic elastic solids with piezoelectric or magneto-electro-elastic inclusions. International Journal of Fracture 215: 91–103. Hwu, C., H.B. Ko, T.H. Lo, and C.W. Hsu. 2020. Evaluation of singular integrals for anisotropic elastic boundary element analysis. Applied Mathematical Modelling 81: 128–143. Kögl, M., and L. Gaul. 2000. A 3-D boundary element method for dynamic analysis of anisotropic elastic solids. Computer Modeling in Engineering & Sciences 1: 27–43. Kögl, M., and L. Gaul. 2003. Free vibration analysis of anisotropic solids with the boundary element method. Engineering Analysis with Boundary Elements 27: 107–114. Liang, Y.C., and C. Hwu. 1996. Electromechanical analysis of defects in piezoelectric materials. Smart Materials and Structures 5: 314–320. Man, K.W., M.H. Aliabadi, and D.P. Rooke. 1993. BEM frictional contact analysis: Load increment technique. Computers and Structures 47 (6): 893–905. Man, K.W., M.H. Aliabadi, and D.P. Rooke. 1993. BEM frictional contact analysis: Modelling consideration. Engineering Analysis with Boundary Elements 11: 77–85. Nardini, D., and C.A. Brebbia, 1982. A new approach to free vibration analysis using boundary elements. In Proceedings 4th international conference on boundary element methods. Nguyen, V.T., and C. Hwu, 2017. Holes, cracks, or inclusions in two-dimensional linear anisotropic viscoelastic solids. Composites Part B— Engineering 117: 111–123. Nguyen, V.T., and C. Hwu. 2018. Multiple holes, cracks, and inclusions in anisotropic viscoelastic solids. Mechanics of Time-Dependent Materials 22: 187–205. Nguyen, V.T., and C. Hwu. 2019. Boundary element method for two-dimensional frictional contact problems of anisotropic elastic solids. Engineering Analysis with Boundary Elements 108: 49–59. Nguyen, V.T., and C. Hwu, 2020a. Indentation by multiple rigid punches on two-dimensional anisotropic elastic or viscoelastic solids. International Journal of Mechanical Sciences 178: 105595. Nguyen, V.T., and C. Hwu, 2020b. Time-stepping method for frictional contact of anisotropic viscoelastic solids. International Journal of Mechanical Sciences 184: 105836. Nguyen, V.T., and C. Hwu. 2020c. Boundary element method for contact between multiple rigid punches and anisotropic viscoelastic foundation. Engineering Analysis with Boundary Elements 118: 295–305. Partridge, P.W. 2000. Towards criteria for selecting approximation functions in the dual reciprocity method. Engineering Analysis with Boundary Elements 24: 519–529. Sherman, J., and W.J. Morrison. 1949. Adjustment of an inverse matrix corresponding to changes in the elements of a given column or a given row of the original matrix. The Annals of Mathematical Statistics 20: 621. Shiah, Y.C., C.L. Hsu, and C. Hwu. 2014. Direct volume-to-surface integral transformation for 2D BEM analysis of anisotropic thermoelasticity. Computer Modeling in Engineering & Sciences 102 (4): 257–270. Shiah, Y.C., C.L. Hsu, and C. Hwu. 2018. Analysis of 2D anisotropic thermoelasticity involving constant volume heat source by directly transformed boundary integral equation. Engineering Analysis with Boundary Elements 93: 44–52. Wylie, C.R. 1975. Advanced engineering mathematics. New York: McGraw-Hill. Xie, L., C. Hwu, and C. Zhang. 2016. Advanced methods for calculating green’s function and its derivatives for three-dimensional anisotropic elastic solids. International Journal of Solids and Structures 80: 261–273.
Appendix A Numerical Algorithms
A.1 Numerical Integration A.1.1 Gaussian Quadrature Rule The basic problem considered by numerical integration is to compute an approximate solution to a definite integral. There are many methods of approximating the integral with arbitrary precision. Among them, the Gaussian quadrature is the most popular one. The Gaussian quadrature rule is a quadrature rule constructed to yield an exact result for polynomials of degree 2n 1 or less. The domain of integration for such a rule is conventionally taken as [−1, 1]. If a one-dimensional integral having arbitrary limits a and b is considered, the integral should be first transformed into the one with limits −1 and +1. For example, let x¼
ðb aÞt þ b þ a ; 2
ðA:1Þ
then Zb
Z1 f ðxÞdx ¼
n X
wi Fðti Þ;
ðA:2aÞ
ðb aÞ ðb aÞt þ b þ a f : FðtÞ ¼ 2 2
ðA:2bÞ
a
FðtÞdt ffi
i¼1
1
where
In (A.2a), the integral is approximated as the weighted sum of the function evaluated at n number of Gaussian points ti, which are called the abscissae. The associated factors wi are known as the weights. With n number of Gaussian points a polynomial of degree 2n 1 is integrated exactly. If F(t) is not a polynomial, Gaussian quadrature is not exact and accuracy improves with more number of Gaussian points. The abscissae ti are the roots of the Legendre polynomial Pn(t), Pn ðtÞ ¼
N 1 d n ðt2 1Þn X ð1Þk ð2n 2kÞ! n2k t ¼ ; 2n n! 2n k!ðn kÞ!ðn 2kÞ! dtn k¼0
N ¼ n=2; when n : even;
ðA:3Þ
N ¼ ðn 1Þ=2; when n : odd;
with the weights wi coming from the following function wi ¼
2 ð1
ti2 Þ½P0n ðti Þ2
:
ðA:4Þ
The values of abscissae and weights are listed in Table A.1 for n = 2, 3, …, 12, 16, 32. © The Author(s), under exclusive license to Springer Nature Switzerland AG 2021 C. Hwu, Anisotropic Elasticity with Matlab, Solid Mechanics and Its Applications 267, https://doi.org/10.1007/978-3-030-66676-7
449
450
Appendix A: Numerical Algorithms
Table A.1 Gaussian points and weights for
R1
1
f ðxÞdx
n
ti
wi
1
0.0
2.0
2
0.57735 02691 89626
1.0
3
0.0
0.888888888888889
0.774596669241483
0.555555555555556
4
0.339981043584856
0.652145154862546
0.861136311594052
0.347854845137453
5
0.0
0.56888 8888888889
0.538469310105683
0.47862 86704 99366
6
7
8
9
10
12
16
32
0.906179845938664
0.23692 68850 56189
0.23861 91860 83197
0.46791 39345 72691
0.66120 93864 66265
0.36076 15730 48139
0.93246 95142 03152
0.17132 44923 79170
0.0
0.41795 91836 73469
0.40584 51513 77397
0.38183 00505 05119
0.74153 11855 99394
0.27970 53914 89277
0.94910 79123 42759
0.12948 49661 68870
0.183434642495649
0.362683783378361
0.525532409916328
0.313706645877887
0.796666477413626
0.222381034453374
0.960289856497536
0.101228536290376
0.0
0.33023 93550 01260
0.32425 34234 03809
0.31234 70770 40003
0.61337 14327 00590
0.26061 06964 02935
0.83603 11073 26636
0.18064 81606 94857
0.96816 02395 07626
0.08127 43883 61574
0.14887 43389 81631
0.29552 42247 14753
0.43339 53941 29247
0.26926 67193 09996
0.67940 95682 99024
0.21908 63625 15982
0.86506 33666 88985
0.14945 13491 50581
0.97390 65285 17172
0.06667 13443 08688
0.12523 34085 11469
0.24914 70458 13403
0.36783 14989 98180
0.23349 25365 38355
0.58731 79542 86617
0.20316 74267 23066
0.76990 26741 94305
0.16007 83285 43346
0.90411 72563 70475
0.10693 93259 95318
0.98156 06342 46719
0.04717 53363 86512
0.095012509837637
0.189450610455068
0.281603550779258
0.182603415044923
0.458016777657227
0.169156519395002
0.617876244402643
0.149595988816576
0.755404408355003
0.124628971255533
0.865631202387831
0.095158511682492
0.944575023073232
0.062253523938647
0.989400934991649
0.027152459411754
0.048307665687738
0.096540088514727
0.144471961582796
0.095638720079274
0.239287362252137
0.093844399080804
0.331868602282127
0.091173878695763
0.421351276130635
0.087652093004403
0.506899908932229
0.083311924226946
0.587715757240762
0.078193895787070
0.663044266930215
0.072345794108848
0.732182118740289
0.065822222776361
0.794483795967942
0.058684093478535
0.849367613732569
0.050998059262376
0.896321155766052
0.042835898022226
0.934906075937739
0.034273862913021
0.964762255587506
0.025392065309262
0.985611511545268
0.016274394730905
0.997263861849481
0.007018610009470
Appendix A: Numerical Algorithms
451
By successive application of one-dimensional Gaussian quadrature rule, the two-dimensional integration can be performed in the following way, Z b Zd
Z1 Z1 f ðx; yÞdxdy ¼
a
n X m X Fðu; vÞdudv ffi wi wj Fðui ; vj Þ;
1 1
c
ðA:5aÞ
i¼1 j¼1
where Fðu; vÞ ¼
ðb aÞðd cÞ ðb aÞu þ b þ a ðd cÞv þ d þ c f ; : 4 2 2
ðA:5bÞ
Similar process can be applied to three-dimensional integration. Based upon Eqs. (A.3) and (A.4), and the Gaussian points and weights listed in Table A.1, a matlab function Gauss is coded and presented in F062 of Appendix F.
A.1.2 Weakly Singular Integration—GaussLog A function is called weakly singular if it contains a singularity but its integral is continuous at the singular point. For R1 example, ln xjx¼0 ! 1, and 0 ln xdx ¼ ½x ln x x10 ! 1. In 2D-BEM, many fundamental solutions contain the singularity type ln x, which can be evaluated by the logarithmic Gaussian quadrature formula as (Stroud and Secrest 1966) Z1
Z1 f ðxÞ ln xdx ¼
0
0
n X 1 ln wi f ðxi Þ; f ðxÞdx ffi x i¼1
ðA:6Þ
where xi and wi are listed in Table A.2 for n = 2, 3, …, 10. If a surface integral is considered, the weakly singular may occur when the integrand contains the singularity type 1/r. For example, ð1=rÞjr¼0 ! 1, and Z1 Z1 0
0
1 dxdy ¼ r
Z1 Z1 0
0
1 pffiffiffiffiffiffiffiffiffiffiffiffiffiffi dxdy ¼ x2 þ y2
Z1 ¼
Z1 ½lnðx þ
pffiffiffiffiffiffiffiffiffiffiffiffiffiffi 1 x2 þ y2 Þ0 dy
0
Z pffiffiffiffiffiffiffiffiffiffiffiffi 1 þ y2 Þdy ln ydy 1
lnð1 þ 0
ðA:7Þ
0
¼ regular integral weakly singular integral In this situation, a regularizing transformation whose Jacobian determinant vanishes at the point of singularity is usually suggested for the calculation. That is, ZZ ZZ f ðx; yÞ f ð1; gÞ dxdy ¼ jJjd1dg; ðA:8aÞ r r where @x jJj ¼ @1 @y @1
@x @g @y ; @g
and lim jJj ¼ 0: r!0
ðA:8bÞ
An approach frequently used in 3D-BEM is Lachat-Watson transformation (Gaul et al. 2003; Beer et al. 2008), in which x ¼ x1 x1 þ x2 x2 þ x3 x3 ; y ¼ x1 y1 þ x2 y2 þ x3 y3 ;
ðA:9aÞ
452 Table A.2 Logarithmic Gaussian points and weights for R1 0 lnð1=xÞf ðxÞdx
Appendix A: Numerical Algorithms n
xi
wi
n
xi
wi
2
0.11200880 0.60227691 0.063890792 0.36899706 0.76688030 0.04144848 0.24527491 0.55616545 0.84898239 0.029134472 0.17397721 0.41170251 0.67731417 0.89477136 0.021634005 0.12958339 0.31402045 0.53865721 0.75691533 0.92266884 0.016719355 0.10018568 0.24629424 0.43346349 0.63235098 0.81111862 0.94084816
0.71853931 0.28146068 0.51340455 0.39198004 0.094615406 0.38346406 0.38687532 0.19043513 0.039225487 0.29789346 0.34977622 0.23448829 0.09893046 0.018911552 0.23876366 0.30828657 0.24531742 0.14200875 0.055454622 0.010168958 0.19616938 0.27030264 0.23968187 0.16577577 0.088943226 0.033194304 0.0059327869
8
0.013320243 0.079750427 0.19787102 0.35415398 0.52945857 0.70181452 0.84937932 0.95332645 0.010869338 0.064983682 0.16222943 0.29374996 0.44663195 0.60548172 0.75411017 0.87726585 0.96225056 0.0090425944 0.053971054 0.13531134 0.24705169 0.38021171 0.52379159 0.66577472 0.79419019 0.89816102 0.96884798
0.16441660 0.23752560 0.22684198 0.17575408 0.11292402 0.057872212 0.020979074 0.0036864071 0.14006846 0.20977224 0.21142716 0.17715622 0.12779920 0.078478879 0.039022490 0.013867290 0.0024080402 0.12095474 0.18636310 0.19566066 0.17357723 0.13569597 0.093647084 0.055787938 0.027159893 0.0095151992 0.0016381586
3
4
5
6
7
9
10
where 1 1 1 x1 ¼ ð1 þ 1Þð1 gÞ; x2 ¼ ð1 þ 1Þð1 þ gÞ; x3 ¼ ð1 1Þ; 4 4 2
ðA:9bÞ
and ðx1 ; y1 Þ; ðx2 ; y2 Þ; and ðx3 ; y3 Þ are the coordinates of three nodes of a triangle, whose position depends on the location of singular point. Based upon the regularizing transformation introduced in (A.8a, A.8b)–(A.9a, A.9b), the influence matrix Gii mentioned in the paragraph following (15.250c), which contains weak singularity of the type 1/r, can now be rewritten and calculated as follows. Consider the source point n located at the ith global node xi, the influence matrix stated in (15.250b)2 can be rewritten as ðkÞ Gim
Z1 Z1 ¼
U ðxi ; xð1; gÞÞ-k ð1; gÞjJm ð1; gÞjd1dg; k ¼ 1; 2; . . .; 8;
ðA:10Þ
1 1 ðkÞ
for the kth local node of the mth element. When the kth local node of the mth element happens to be the ith global node, Gim of (A.10) becomes part of Gii. If a quadratic quadrilateral element (Fig. 15.12a) is considered, Gii is summed up by adding ðkÞ
Gim of the neighboring elements, which have four connected elements for a corner node (node 1, 3, 5, 7 of Fig. 15.12a), and two connected elements for a mid-side node (node 2, 4, 6, 8 of Fig. 15.12a). Equation (15.250a)2 is an example for the assembly of a corner node of the mth element.
Appendix A: Numerical Algorithms
453 ðkÞ
By using the Lachat-Watson transformation, Gim which may contain weak singularity of the type 1/r, can now be calculated by ðkÞ Gim
¼
2X or 3 e¼1
Z1 Z1
k ð1; U ðxi ; xð1; gÞÞgÞj Jm ð1; gÞjjJð1Þjd1d g;
ðA:11aÞ
1 1
where 1 1 1 gÞ11 þ ð1 þ 1Þð1 þ gÞ12 þ ð1 1Þ13 ; 1 ¼ ð1 þ 1Þð1 4 4 2 1 1 1 gÞg1 þ ð1 þ 1Þð1 þ gÞg2 þ ð1 1Þg3 ; g ¼ ð1 þ 1Þð1 4 4 2 1 jJð1Þj ¼ ð1 þ 1Þf11 ðg2 g3 Þ þ 12 ðg3 g1 Þ þ 13 ðg1 g2 Þg; 8 xð1; gÞ ¼ xð1; gÞ; k ð1; gÞ ¼ -k ð1; gÞ; j Jm ð1; gÞj ¼ jJm ð1; gÞj:
ðA:11bÞ
The values of ð11 ; g1 Þ; ð12 ; g2 Þ; and ð13 ; g3 Þ in the transformation function (A.11b)1,2 depend on the location of the singular point n at the mth element, which are listed in Table A.3. For example, if the singular point locates at the 1st node of the mth element, substituting ð11 ; g1 Þ ¼ ð1; 1Þ; ð12 ; g2 Þ ¼ ð1; 1Þ; and ð13 ; g3 Þ ¼ ð1; 1Þ into (A.11b)1–3 we have 1 1 gÞ 1; jJð1Þj ¼ ð1 þ 1Þ: ðA:12Þ 1 ¼ 1; g ¼ ð1 þ 1Þð1 þ 2 2 Figure A.1 shows the transformation of (A.12)1,2, from which we see that the singular point (−1, −1) maps to the line 1 ¼ 1 whose Jacobian vanishes. The summation of (A.11a) from e = 1 to e = 2 or 3 means that the mth element is divided into two or three triangular sub-elements. As shown in Fig. A.2, if the singular point is located at one of the corner nodes, the element is divided into two sub-elements, whereas if the singular point is located at one of the mid-side nodes, the element is divided into three ðkÞ
sub-elements. Because the Jacobian jJð1Þj cancels out the singularity 1/r of U* and thus regularizes the integral, Gim of (A.11a) can now be evaluated by using the standard Gaussian quadrature rule as shown in (A.5a), and ðkÞ
Gim ¼
np X nq 2or3 X X
k ð1p ; U ðxi ; xð1p ; gq ÞÞgq Þ Jm ð1p ; gq ÞjJð1p Þjwp wq :
ðA:13Þ
e¼1 p¼1 q¼1
Based upon the Logarithmic Gaussian points and weights listed in Table A.2, a matlab function GaussLog is coded and presented in F065 of Appendix F.
Table A.3 The values ð1j ; gj Þ, j = 1, 2, 3, used in the Lachat-Watson transformation (A.11b)1,2 n at node
Sub-element 1 ð11 ; g1 Þ
1 3 5 7 n at node
(1, −1) (1, 1) (−1, −1) (−1, −1) Sub-element 1 ð12 ; g2 Þ ð11 ; g1 Þ
2 4 6 8
(−1, (−1, (−1, (−1,
1) −1) 1) −1)
(−1, −1) (1, −1) (−1, −1) (1, −1)
ð12 ; g2 Þ
Sub-element 2 ð11 ; g1 Þ
ð13 ; g3 Þ
ð13 ; g3 Þ
(−1, −1) (1, −1) (1, 1) (−1, 1) Sub-element 2 ð11 ; g1 Þ ð12 ; g2 Þ
(0, −1) (1, 0) (0, 1) (−1, 0)
(1, (1, (1, (1,
(1, 1) (−1, 1) (1, −1) (1, −1)
−1) 1) −1) 1)
(1, 1) (−1, 1) (1, 1) (−1, 1)
(1, 1) (−1, 1) (−1, 1) (1, −1)
ð12 ; g2 Þ
ð13 ; g3 Þ
ð13 ; g3 Þ
(−1, 1) (−1, −1) (−1, −1) (1, 1) Sub-element 3 ð11 ; g1 Þ ð12 ; g2 Þ
(0, −1) (1, 0) (0, 1) (−1, 0)
(1, 1) (−1, 1) (−1, −1) (1, −1)
(−1, 1) (−1, −1) (1, −1) (1, 1)
(−1, −1) (1, −1) (1, 1) (−1, 1) ð13 ; g3 Þ (0, −1) (1, 0) (0, 1) (−1, 0)
454
Appendix A: Numerical Algorithms
Fig. A.1 Lachat-Watson transform (A.12)
Fig. A.2 Sub-elements for numerical integration when the singular point locates at (a) a corner node (e.g., node 1), or (b) a mid-side node (e.g., node 2)
A.1.3 Strongly Singular Integration—GaussInv In contrast to the weak singularities, the integral over a strongly singular function is unbounded at the singularity point. For R1 example, ð1=xÞx¼0 ! 1, and 0 ð1=xÞdx = ½ln x10 ! 1, i.e., the integral does not exist. If the singularity point is located inside the region of integration, the integral may exist under the definition of Cauchy principal value, i.e., 8 se 9 Zb Zb < Z f ðxÞ f ðxÞ f ðxÞ = dx ¼ lim dx þ dx ; a\s\b; ðA:14Þ I¼ e!0: xs xs xs ; a
sþe
a
where the integrand f ðxÞ fulfils the symmetry property lim f ðs þ eÞ ¼ lim f ðs eÞ:
e!0
e!0
Subtraction and addition of the infinite part f ðsÞ ln e lead to the following two finite part integrals, 8 se 9 Z Zs < = f ðxÞ f ðxÞ dx ¼ lim dx f ðsÞ ln e ; I1 ¼ PV e!0: ; xs xs a a 8 b 9 Zb < Z f ðxÞ = f ðxÞ I2 ¼ PV dx ¼ lim dx þ f ðsÞ ln e : e!0: ; xs xs s
sþe
Transform the interval x 2 ½a; s to 1 2 ½0; 1 by x ¼ s þ ða sÞ1, we get
ðA:15Þ
ðA:16Þ
Appendix A: Numerical Algorithms
455
8 9 < Z1 f ðs þ ða sÞ1Þ = e d1 f ðsÞ ln e ; e0 ¼ I1 ¼ lim e!0: ; 1 sa e0 8 9 < Z1 f ðs þ ða sÞ1Þ = 0 d1 f ðsÞ ln e ¼ lim f ðsÞ lnðs aÞ ; e0 !0: 1
ðA:17Þ
e0
Z1 ¼ PV 0
f ðs þ ða sÞ1Þ d1 f ðsÞ lnðs aÞ: 1
Similarly, transform the interval x 2 ½s; b to 1 2 ½0; 1 by x ¼ s þ ðb sÞ1, we get Z1 I2 ¼ PV 0
f ðs þ ðb sÞ1Þ d1 þ f ðsÞ lnðb sÞ: 1
ðA:18Þ
Numerical integration formulae for the computation of finite part integrals have been presented by Kutt (1975) as Z1 PV 0
n X f ðxÞ dx ffi wi f ðxi Þ; x i¼1
ðA:19Þ
where xi and wi are the coordinates and weights of the Gaussian type integration formulae listed in Table A.4 for n = 2, 3, …, 8. Table A.4 Gaussian-type points R1 and weights for 0 ðf ðxÞ=xÞdx
n=2
xi
−0.131881307912986667215670599477 0.631881307912986667215670599477
wi
−0.130930734141595428759658491249 (101 ) 0.130940734141595428759658491249 (101 )
n=3
xi
−0.396968652757639723645602577574 (101 ) 0.333333333333333333333333333333 0.839696865275763972364560257757
wi
−0.205166851934853387633677477371 (101 ) 0.158823529411764705882352941176 (101 ) 0.463433225230886817513245361943
n=4
xi
−0.183538088360023975743306030308 (101 ) 0.199738181049986745917610636251 0.583953047465078370006565400789 0.909987255645612606325479241316
wi
−0.259362868942063531411986911649 (101 ) 0.167202980135334975615800624534 (101 ) 0.675433417027654245840955338683 0.246165471039631312120907532468
n=5
xi
−0.103486403556104503913216228982 (101 ) 0.131879296925423204448930810801 0.411044507140593905654861696346 0.720610060487349651755922829110 0.942370331357799244087161842197
wi
−0.302022018801674894991983779419 (101 ) 0.170670551905232834095676514538 (101 ) 0.765577107766208934127999254496 0.394032087616689930509861730341 0.153905473581521744325211663977 (continued)
456
Appendix A: Numerical Algorithms Table A.4 (continued) n=6
−0.655608160224453145648046162307 (102 )
xi
0.932501535508349533414314714990 (101 ) 0.300446288807923201568234438420 0.559448197103055667281833365623 0.800821235007224623246583676282 0.959955834206862356754960217165 wi
−0.337178515401070250916620840281 (101 ) 0.172351909741056125093829789834 (101 ) 0.812511734292337377468770569286 0.468309736484676101335742374651 0.261827824732246601620697426204 0.105616761090881177802700134329
n=7
−0.448601797638590461609844627776 (102 )
xi
0.693086825938914772039902359773 (101 ) 0.227649603143286650704908345661 0.439063761049528005158487273996 0.661648975086660594050408569646 0.851320948287674064482920243734 0.970564691457417326516168706619 wi
−0.367069594205419725147338842722 (101 ) 0.173243653195680011264627034186 (101 ) 0.840078734493839951690577594652 0.511225176607482047995326075488 0.322244451904583957561663455934 0.187646307231292464285563208552 0.770647398601987172939877507356 (101 )
n=8
−0.324250159729717187076226447723 (102 )
xi
0.534907660721459963516325759777 (101 ) 0.177827326392695320291476101206 0.350717878552549524941759499784 0.545819520468487880497113433351 0.733427080657186257757460821281 0.884983053370116722114798993637 0.977454378379799583782452886991 wi
−0.393063681006855112567343685901 (101 ) 0.173740631090021528562172435669 (101 ) 0.857634542273068849482376287755 0.538360773482498038995953311080 0.359757591592037376795700571782 0.237267699094551287307264145652 0.141462285496868528328034959954 0.587476072293117591423832261022 (101 )
Combining the results of (A.14)–(A.19), we obtain Zb a
f ðxÞ dx ¼ I1 þ I2 ; xs
ðA:20aÞ
Appendix A: Numerical Algorithms
457
where a\s\b, and I1 ffi
n X
wi f ½s þ ða sÞ1i f ðsÞ ln js aj;
i¼1
I2 ffi
n X
ðA:20bÞ
wi f ½s þ ðb sÞ1i þ f ðsÞ ln jb sj:
i¼1
Based upon the Gaussian-type points and weights listed in Table A.4, a matlab function GaussInv is coded and presented in F064 of Appendix F.
A.2 Solving Systems of Linear Equations A.2.1 Gaussian Elimination Gaussian elimination is an algorithm for solving systems of linear equations such as Ax = b, and is a sequence of row operations performed on the matrix of coefficients, A. There are three types of elementary row operations: (1) swapping two rows, (2) multiplying a row by a non-zero number, and (3) adding a multiple of one row to another row. Using these operations a matrix can always be transformed into an upper triangular matrix. Once all of the leading coefficients (the left-most non-zero entry in each row) are 1, the final solution can be obtained by back substitution. Consider a system of linear equations, Ax = b, written as 2 38 9 8 9 a11 a12 a1n > x1 > > b1 > > < > > = > = 6 a21 a22 a2n 7< b2 6 7 x2 ¼ ðA:21Þ 6 .. .. 7 .. .. .. .. : > > > 4 . . 5> . . > ; > ; : . > : . > an1 an2 ann xn bn Divide the first row of A by a11 and then subtract a21 times the new first row from the second row, …, and an1 times the new first row from the nth row, we obtain 9 2 38 9 8 b1 =a11 1 a12 =a11 a1n =a11 x1 > > > > > > = = > < b2 a21 b1 =a11 > < x2 > 6 0 a22 a21 a12 =a11 a2n a21 a1n =a11 7> 6 7 : ðA:22Þ ¼ 6 .. 7 .. .. .. .. .. > 4. 5> . . . . > > > > > . > > ; > : ; : xn 0 an2 an1 a12 =a11 ann an1 a1n =a11 bn an1 b1 =a11 Repeating this process for rows 3 to n, the region below the leading diagonal will be gradually replaced by zeros. An upper triangular matrix can then be obtained for the coefficient matrix such as 2 38 9 8 9 ^ 1 ^a12 ^ a1n > x1 > > > > b1 > > = = >
60 1 ^ 7> a b 2n 2 6 7 ðA:23Þ ¼ 6 .. .. 7 .. .. .. . : 4. . 5> . . > > > > .. > > . > > ; > : :^ ; 0 0 1 xn bn The final solution can be obtained by back substitution as xn ¼ ^bn ; xn1 ¼ ^ bn1 ^ an1;n xn ; . . .; x2 ¼ ^b2 ^ a23 x3 ^ a2n xn ; x1 ¼ b^1 ^ a12 x2 ^ a13 x3 ^ a1n xn :
ðA:24Þ
If the arithmetic is exact and the matrix A is not singular, the solution computed in this manner will be exact (provided no zeros appear on the diagonal). To avoid zero or small number appears on the diagonal, a strategy called pivoting should be used by row (and/or column) interchanges to rearrange the equations so as to put the coefficient of largest magnitude on the diagonal at each step.
458
Appendix A: Numerical Algorithms
Based upon the method described in this section, a matlab function Gauss_elimination is coded and presented in F063 of Appendix F.
A.3 Finding Zeros of Functions A.3.1 Newton’s Method One of the most widely used methods for finding zeros (or called roots) of functions is Newton's method (Gerald and Wheatley 1999). Starting from an initial guess which is not too far from a root, xk , we extrapolate along the tangent to its intersection with the x-axis, and take that as the next approximation. This is continued until either the successive x-values are sufficiently close, or the value of the function is sufficiently near zero. Therefore, the calculation scheme can be designed by computing xk þ 1 ¼ xk
f ðxk Þ ; k ¼ 1; 2; 3; . . . f 0 ðxk Þ
ðA:25Þ
Based upon the method described in this section, a matlab function newton is coded as a sub-function of the functioninternal presented in F069 of Appendix F.
A.3.2 Muller’s Method As discussed in Sect. A.3.1, if the function is a real-valued function and the initial guess is also a real value, according the iterative scheme of Newton’s method it will not provide the complex zeros. Complex zeros can be only found by starting a complex guess. To find all the zeros, real or complex, of a real or complex valued function, Muller’s method is usually suggested. Muller’s method is an iterative method that requires three initial points. Starting from three initial guesses x0, x1 and x2, their associated function values f ðx0 Þ, f ðx1 Þ and f ðx2 Þ are calculated. Without loss of generality, x2 is assumed to be the best approximation to the root. A quadratic function is constructed that passes through the three points ðx0 ; f ðx0 ÞÞ, ðx1 ; f ðx1 ÞÞ, ðx2 ; f ðx2 ÞÞ. If the quadratic function is considered to be a function of variable t ¼ x x2 , i.e., hðtÞ ¼ at2 þ bt þ c;
ðA:26Þ
its coefficients a, b, c can be determined by the following three equations at02 þ bt0 þ c ¼ f0 ;
at12 þ bt1 þ c ¼ f1 ;
c ¼ f2 ;
ðA:27aÞ
where t 0 ¼ x0 x2 ; f0 ¼ f ðx0 Þ;
t1 ¼ x1 x2 ; f1 ¼ f ðx1 Þ;
f2 ¼ f ðx2 Þ:
ðA:27bÞ
Solving the linear system of equations (A.27a) results in a ¼ ðe0 t1 e1 t0 Þ=D;
b ¼ ðe1 t02 e0 t12 Þ=D;
c ¼ f2 ;
ðA:28aÞ
where e0 ¼ f0 c;
e1 ¼ f1 c;
D ¼ t1 t02 t0 t12 :
ðA:28bÞ
The roots of the quadratic function hðtÞ given in (A.26) can be obtained as t ¼
2c pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi : b b2 4ac
ðA:29Þ
Appendix A: Numerical Algorithms
459
The solution provided in (A.29) is equivalent to the standard formula for the roots of a quadratic polynomial and is better in this case because c ¼ f2 . The root of the nonlinear function f ðxÞ can then be improved by x3 ¼ x2 þ t :
ðA:30Þ
To ensure the stability of the method, t is chosen to be the one of (A.29) with the smallest absolute value. That is, if b > 0, use the positive sign with the square root, and if b < 0, use the negative sign. To update the iteration, the new quadratic function is established by using the best three points of x0, x1, x2 and x3. That is, take new x2 to be old x3, and choose the new x0 and x1 from {x0, x1, x2} that lie closest to old x3. Because t obtained by (A.29) might be complex for a real valued function, it is possible to obtain complex roots for a real valued function starting from real initial guesses. This is in contrast with other root-finding algorithms like the secant method or Newton’s method, whose iterates will remain real if one starts with real numbers. Having complex iterates can be an advantage (if one is looking for complex roots) or a disadvantage (if it is known that all roots are real), depending on the problem. If Muller’s method is used to find the real roots, the imaginary component induced from (A.29) can be set equal to zero so that the calculations proceed with real numbers. Based upon the method described in this section, a matlab function Muller is coded and presented in F080 of Appendix F.
References Beer, G., I. Smith, and C. Duenser. 2008. The boundary element method with programming. New York: Springer. Gaul, L., M. Kögl, and M. Wagner. 2003. Boundary element methods for engineers and scientists. New York: Springer. Gerald, C.F., and P.O. Wheatley. 1999. Applied numerical analysis, 6th ed. Reading, MA: Addison Wesley. Kutt, H.R. 1975. Quadratic formulas for finite part integrals. Report WISK 178. Pretoria: The National Research Institute for Mathematical Sciences. Stroud, A.H., and D. Secrest. 1966. Gaussian quadrature formulas. New York: Prentice Hall.
Appendix B Loops and Vectorization
B.1 Array Versus Matrix Operations Matlab has two different types of arithmetic operations: array operation and matrix operation. Matrix operation follows the rule of linear algebra, whereas array operation executes element by element operation and support multidimensional arrays. Array operation uses period character (.) to distinguish from matrix operation. Since the matrix and array operations are the same for addition and subtraction, the character pairs .+ and .− are unnecessary. The operands of array operation can not only have the same size, but also have compatible sizes. For the later case, each input will be implicitly expanded as needed to match the size of the other. For example, when you perform the subtraction on a 1 * 3 vector and 3 * 3 matrix, whose sizes are compatible, the 1 * 3 vector will be implicitly expanded to become a 3 * 3 matrix. Following is an example of array operation: 2 3 2 3 1 2 3 2 0 2 A m ¼ 4 4 5 6 5 ½ 3 2 1 ¼ 4 1 3 5 5: ðB:1Þ 7 8 9 4 6 8 For nonscalar inputs, the matrix operators generally calculate different answers than their array operator counterparts. If we have the arrays, a11 a12 b11 b12 A¼ ðB:2Þ ;B ¼ ; c ¼ ½ c1 c2 ; a21 a22 b21 b22 the matrix operation gives AB¼
a11 b11 þ a12 b21
a11 b12 þ a12 b22
; a21 b11 þ a22 b21 a21 b12 þ a22 b22 B c ¼ incorrect dimensions for matrix multiplication:
ðB:3Þ
whereas array operation gives,
a b A: B ¼ 11 11 a21 b21
a12 b12 b c ; B: c ¼ 11 1 a22 b22 b21 c1
b12 c2 : b22 c2
ðB:4Þ
As shown above, array c has been implicitly expanded to become a 2 * 2 matrix. For more information about the array and matrix operations, please refer to Matlab documentation—Array versus Matrix Operations.
B.2 “for loop” Vectorization As stated in Matlab documentation, the process of revising loop-based scalar-oriented code to use matrix and vector operations is called vectorization. One of the benefits by using vectorization is performance improvement. In other words, the vectorized code often runs much faster than the corresponding code containing loops because through this process the © The Author(s), under exclusive license to Springer Nature Switzerland AG 2021 C. Hwu, Anisotropic Elasticity with Matlab, Solid Mechanics and Its Applications 267, https://doi.org/10.1007/978-3-030-66676-7
461
462
Appendix B: Loops and Vectorization
loop-based algorithm operating on a single value at a time can be converted to the one operating on a set of values (vector) at one time without loop. In general, we can firstly expand the dimension of an array to include the values operated in “for loop”, and then array operation on multidimensional calculations. Note that when we do loop vectorization the iteration in loop cannot depend on the results of the other iterations. Each iteration must be independent of all others. Followings are the examples of loop vectorization used to convert the 1st version to 2nd version of AEPH codes. In the 1st version of AEPH, to calculate the influence matrices Y and G for various different situations, several functions are designed such as the functions BEMinfluence and BEMinfluence_YG, Greenbank and G1inf2D, presented in F032, F035 and F052 of Appendix F and the related Sects. 15.4.2, 15.1.2 and 15.2.1. To explain how we can perform loop vectorization in our functions, we now list an example by assembling these functions through argument connection. The “for loop” used in these functions can be shown below as for ke=1: nelement [xg,wg]=Gauss(n_Gauss); for ig=1: n_Gauss sia=xg(ig); % sia: local variable (ranging from -1 to 1) of the interpolation function omega; omega(1)=(1-sia)/2; omega(2)=(1+sia)/2; % eqn.(15.8b), interpolation function; x(1)=omega(1)*xm1(1,ke)+omega(2)*xm2(1,ke); % x1-coordinate of the Gaussian points; x(2)=omega(1)*xm1(2,ke)+omega(2)*xm2(2,ke); % x2-coordinate of the Gaussian points; sti=xc+mu*xs; z_hat1=cos(alpha0)-mu*sin(alpha0); z_hat2=sin(alpha0)+mu*cos(alpha0); % eqn.(15.59b)_3,4; dz=x(1)-xi(1)+(x(2)-xi(2))*mu; logz=log(dz); f=sti./dz; % eqn.(15.25b); U0=imag(A*diag(logz)*A.')/pi; T0=imag(A*diag(f)*B.')/pi; % eqn.(15.22), U0=U_star; T0=T_star; end end
ðB:5Þ
To work on the vectorization, we need to know the dimension of each symbol. Let n, m, and d denote, respectively, the number of Gaussian points, elements, and problem dimension, i.e., n = n_Gauss, m = nelement, d = dim, we have xg: 1 n; wg: 1 n; xm1: 2 m; xm2: 2 m; x: 1 2; omega: 1 2; mu: 1 d; A: d d; B: d d; sti: 1 d; z hat1: 1 d; z hat2: 1 d; dz: 1 d; logz: 1 d; f: 1 d;
ðB:6Þ
others: sia; xc; xs; alpha0: 1 1 ðscalar): To include the values operated in the loop, in the vectorization some symbols are changed and some dimensions are expanded such as xð1Þ ! x1: n m; xð2Þ ! x2: n m; omegað1Þ ! omega1: 1 n; omegað2Þ ! omega2: 1 n; sia: 1 1 ! 1 n; xc: 1 1 ! 1 m; xs: 1 1 ! 1 m;
ðB:7Þ
sti: 1 d ! d m; dz: 1 d ! n m d; logz: 1 d ! d 1 n m; f: 1 d ! d 1 n m: With the expanded dimensions shown in (B.7), the loop vectorization leads the 2nd version of AEPH to [xg,wg]=Gauss(n_Gauss); sia=xg; omega1=(1-sia)/2; omega2=(1+sia)/2; x1=omega1.'*xm1(1,:)+omega2.'*xm2(1,:); x2=omega1.'*xm1(2,:)+omega2.'*xm2(2,:); sti=xc+mu.'*xs; z_hat1=cos(alpha0)-mu*sin(alpha0); z_hat2=sin(alpha0)+mu*cos(alpha0); dz=x1-xi(1)+(x2-xi(2)).*permute(mu,[1,3,2]); logz=permute(log(dz),[3,4,1,2]); f=permute(permute(sti,[3,2,1])./dz,[3,4,1,2]); logzA=reshape(logz.*A.',dim,dim*n_Gauss*nelement); fB=reshape(f.*B.',dim,dim*n_Gauss*nelement); U0=imag(A*logzA)/pi; T0=imag(A*fB)/pi; U0=reshape(U0,dim,dim,n_Gauss,nelement); T0=reshape(T0,dim,dim,n_Gauss,nelement);
ðB:8Þ
Appendix B: Loops and Vectorization
463
In this new version, two useful commands permute and reshape are used to validate the array and matrix operations provided by matlab. Followings are the description of these two commands stated in matlab’s help. B = permute(A, dimorder) rearranges the dimensions of an array in the order specified by the vector dimorder. For example, permute(A, [2 1]) switches the row and column dimensions of a matrix A. B = reshape(A, sz) reshapes A using the size vector, sz, to define size(B). For example, reshape(A, [2, 3]) reshapes A into a 2-by-3 matrix. B = reshape(A, sz1, …, szN) reshapes A into a sz1-by-…-by-szN array where sz1, …, szN indicates the size of each dimension. You can specify a single dimension size of [] to have the dimension size automatically calculated, such that the number of elements in B matches the number of elements in A. For example, if A is a 10-by-10 matrix, then reshape(A, 2, 2, []) reshapes the 100 elements of A into a 2-by-2-by-25 array. To explain how to use these commands to achieve our goal of loop vectorization, some codes of (B.8) are listed and described as follows. (i) The 8th line of the codes (B.8): dz=x1-xi(1)+(x2-xi(2)).*permute(mu,[1,3,2]); Here, the dimension of each symbol on the right hand side are x1: n m; xið1Þ: 1 1; x2: n m; xið2Þ: 1 1; mu: 1 d:
ðB:9Þ
When we use the command “permute(mu, [1, 3, 2])” on a symbol “mu” with dimension 1 d, its trailing dimension with the size of 1 will be put on its 3rd dimension, i.e., sizeðmuÞ ¼ 1 d 1. And hence, permuteðmu; ½1; 3; 2Þ will change its dimension from 1 d to 1 1 d. Thus, this code is performed on the addition and array operation of the following dimensions, nmd
ðn mÞ ð1 1Þ þ ððn mÞ ð1 1ÞÞ: ð1 1 dÞ:
ðB:10Þ
(ii) The 10th line of the codes (B.8): logzA=reshape(logz.*A.',dim,dim*n_Gauss*nelement); Here, the dimension of logz and A on the right hand side are logz: d 1 n m; A: d d:
ðB:11Þ
With these dimensions, the array operation and reshape lead this code to the following dimension changes d ðdnmÞ
ðd 1 n mÞ: ðd dÞ:
ðB:12Þ
The reshape performed on this line is important for the matrix operation made in the next line, in which A: d d; logzA: d ðdnmÞ; and U0: d ðdnmÞ:
ðB:13Þ
Reshape again at the last line of (B.8) leads to U0 with the dimension of d d n m.
B.3 “if statement” Vectorization Sometimes it is unavoidable to have “if statement” within the “for loop”. The “if statement” evaluates an expression and executes a group of statements when the expression is true. Usually the expression is evaluated based upon a scalar variable. When this scalar variable is expanded to a multi-dimensional array for loop vectorization, we need to evaluate the expression for the entire array not just for a specific element of this array. In other words, we need to work on “if statement” vectorization. To see how to write a code for the vectorization of “if statement” within “for loop”, we take an example by modifying parts of the codes (B.5) to the following one.
464
Appendix B: Loops and Vectorization
for ke=1: nelement [xg,wg]=Gauss(n_Gauss); for ig=1: n_Gauss sia=xg(ig); % sia: local variable (ranging from -1 to 1) of the interpolation function omega; omega(1)=(1-sia)/2; omega(2)=(1+sia)/2; % eqn.(15.8b), interpolation function; x(2)=omega(1)*xm1(2,ke)+omega(2)*xm2(2,ke); % x2-coordinate of the Gaussian points; dz1=x(1)-xi(1)+(x(2)-xi(2))*mu1; % dz2=x(1)-xi(1)+(x(2)-xi(2))*mu2; % if xi(2)>=0 & x(2)>=0, A=A1; Fz=diag(log(dz1))*A1.'; end if xi(2)>=0 & x(2)=0 Fz=m.*log(dz1).*A1.'; % Fz: d*d*n*m else Fz=log(dz2).*A2.'.*(~m); % Fz: d*d*n*m end Fz=reshape(Fz,dim,dim*n_Gauss*nelement); % Fz: d*(dnm) m=reshape(m.*ones(1,dim),1,dim*n_Gauss*nelement); % m: 1*(dnm) U0=imag(A1*Fz.*m+A2*Fz.*(~m))/pi; % U0: d*(dnm) U0=reshape(U0,dim,dim,n_Gauss,nelement); % U0: d*d*n*m U0=permute(U0,[2 1 3 4]); % take transpose for U0f in each Gaussian point of each element
ðB:16Þ
In the above, the key code for “if statement” vectorization is “m=(x2>=0)” in which m is a logical array whose size is the same as x2. The element of array m will be one if the statement x2>=0 is true, otherwise it will be zero. In other words, m (1,1,i,j)=1 if x2(1,1,i,j)>=0 is true, where i=1:n and j=1:m.
Appendix C List of Functions
No
Function
Short description
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
BEM_aux BEM_YGMVsplit BEM_YGtoVg BEM2Dcontact_BCv BEM2Dcontact_CCR BEM2Dcontact_Cstatus BEM2Dcontact_Dfq BEM2Dcontact_DT BEM2Dcontact_localC BEM2Dcontact_MRB BEM2Dcontact_ut12 BEM2Dcontact_vtv BEM2Dcontact_YGtoKf BEM2Dcontact2ElaB BEM2Dcontact2VisB BEM2DcontactMReB BEM2DcontactMRvBc BEM2DcontactMRvBt BEM2DdynamicB BEM2DdynamicIN BEM2DelasticB BEM2DelasticIN BEM2DviscoB BEM2DviscoIN BEM2DviscoINt BEM3DelasticB BEM3DelasticIN BEMbankB BEMbankIN BEMcoupleB BEMcoupleIN BEMinfluence BEMinfluence_Cc BEMinfluence_G2 BEMinfluence_YG BEMinfluence_Yt
Auxiliary equations for couple BEM Split of matrices for 2D dynamic BEM Transform local YG to global Vg for BEM Calculate B.C. for the elastic-like system Matrices of contact constraint relations Update the contact status Calculate Dq and fq of (15.200) Convert the solutions to ui and ti at boundary nodes. Calculate the rotation angle of local coordinate Calculate the values required in multiple punches Calculate the stresses and strains at each time step Convert from elastic-like to actual viscoelastic Determine KA, KB, KC, and f of (15.173) 2D contact BEM of two elastic bodies 2D contact BEM of two viscoelastic bodies 2D contact elastic BEM with multiple rigid punches 2D contact visco-MR-BEM by correspondence 2D contact visco-MR-BEM by time-stepping Solutions of boundary points of 2D dynamic BEM Solutions of internal points of 2D dynamic BEM Solutions of boundary points of 2D elastic BEM Solutions of internal points of 2D elastic BEM Solutions of boundary points of 2D visco BEM Solutions of internal points of 2D visco BEM Internal points of 2D visco BEM by time-stepping Solutions of boundary points of 3D elastic BEM Solutions of internal points of 3D elastic BEM Collection of functions for BEM—boundary Collection of functions for BEM—internal Solutions of boundary points of couple BEM Solutions of internal points of couple BEM Influence matrices Y, G of each node Free term coefficients C of corner nodes Improvement of influence matrix G Influence matrices Y, G on element level Re-distribution of influence matrix Y
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2021 C. Hwu, Anisotropic Elasticity with Matlab, Solid Mechanics and Its Applications 267, https://doi.org/10.1007/978-3-030-66676-7
Section 15.7.3 15.6.2 15.10.2 15.8.4 15.8.4 15.8.4 15.8.4 15.8.4 15.8.4 15.8.4 15.8.4 15.8.4 15.8.4 15.8.1 15.8.3 15.8.2 15.8.3 15.8.3 15.6.5 15.6.5 15.4.4 15.4.5 15.5.2 15.5.2 15.8.4 15.9.3 15.9.3 15.1.7 15.1.7 15.7.1 15.7.4 15.4.2 15.7.1 15.4.3 15.4.2 15.7.1 (continued)
465
466
Appendix C: List of Functions
No
Function
Short description
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
BEMinfluence3D_YG BEMinfluenceIN BEMload_couple BEMload_dynamic BEMload_thermo BEMmesh BEMstrainstressB BEMstrainstressB3D BFEM BFEMv CijkstoCik CSABD_star eigen_muAB elastic fundamental_N G1inf2D G1inf3D G1infCouple G2half2D G3interface2D G4hole2D G4holeCouple G6Rinclusion2D G7Einclusion2D G7inclusionCouple Gauss Gauss_elimination GaussInv (inactive) GaussLog Greenbank GreenCouple identities internal Laplace_inv LogBranch (inactive) Main Main_aux mapEP material_eigen MEE MEE3Dto2D MEExy MLS muller multiwedge output_caption piezo2 piezoM piezoM2 positionTime
Influence matrices Y, G for 3D BEM Influence matrices Y, G for internal points Load vector for couple BEM Load vector for 2D dynamic BEM Load vector for 2D thermo BEM Generate BEM mesh Strains and stresses at boundary nodes Strains and stresses at boundary nodes of 3D BEM Boundary-based finite element method Boundary-based finite element for viscoelasticity Construct Cik from Cijks Transformation of Cij, Sij, Aij, Bij, Dij Material eigenvalues and eigenvectors: mu, A, B Input of elastic properties Fundamental elasticity matrix N Green’s function for 2D BEM Green’s function for 3D BEM Green’s function for couple BEM Green’s function for 2D BEM with half space Green’s function for 2D BEM with interface Green’s function for 2D BEM with hole Green’s function for couple BEM with hole Green’s function for 2D BEM with rigid inclusion Green’s function for 2D BEM with elastic inclusion Green’s function for couple BEM with inclusion Gaussian points and weights for integration Method of Gaussian elimination Integration for function with f(x)/x Integration for function with f(x)lnx Collection of functions for Green’s function Common funct. for Green’s function of couple BEM Check of some identities provided in this book Arrange the internal points for the related functions Perform the Laplace inversion numerically Correct logarithmic function by branch adjustment Main program Auxiliary function of Main program Mapping of elliptical or polygonal hole (inclusion) Material eigenvalues and eigenvectors: mu, A, B Provides magneto-electro-elastic properties Transform 3D-MEE constitutive law to 2D-MEE Transform MEE matrix from x to y Moving least square Muller’s method to find roots of a function Calculate key matrices for multi-material wedges Designate folder and print caption for output tables Additional calculation of piezoelectric properties Input of piezoelectric and MEE properties Additional piezoelectric and MEE properties Identify the selected time or position
Section 15.9.3 15.4.5 15.7.1 15.6.1 15.5.3 15.4.1 15.7.4 15.9.3 15.4.6 15.5.2 15.9.1 15.10.3 3.6.3 3.3.1 3.6.2 15.2.1 15.9.2 15.3.1 15.2.2 15.2.3 15.2.4 15.3.2 15.2.6 15.2.7 15.3.4 4.4.2 8.5.2 A.1.3 A.1.2 15.1.2 15.10.1 3.6.4 3.5.1 12.1.3 6.3.2 3.2.2 3.2.2 6.3.1 3.4.1 11.1.2 11.1.2 11.1.2 5.5.4 5.5.2 5.5.1 3.7.1 3.6.1 3.3.3 3.6.1 3.5.1 (continued)
Appendix C: List of Functions
467
No
Function
Short description
Section
87 88 89 90 91 92 93 94 95 96 97 98 99
printTF s5_ut s9_delLam s9_fzp s9_Plemelj s9_uphi s10_gamma s14_eck s14_mdinf s15_pgzV s84_abcEFG s84_CoeffUniform s84_F12
A common function for printing tables and figures Displacements and tractions at Gaussian points Singular orders and eigenfunctions of contact/crack Complex function and its derivative of Chap. 9 Calculate part of Plemelj function of Chap. 9 Displacement u and stress function phi of Chap. 9 Calculate vector gamma of thermal problems Coefficients ek and ck of Chap. 14 Calculate m1 and d1 of Chap. 14 Related to pa ; ga ; fa of Chap. 15 Coefficients ak ; bk ; ck ; Ek ; Fk ; Gk of Sect. 8.4 Coefficients for problems under uniform loads
3.7.2 5.5.3 9.6.1 9.6.2 9.6.4 9.6.3 10.6.1 14.7.2 14.7.1 15.10.4 8.5.4 8.5.3 8.5.6
Prepare K and y for dislocation density ^ b ^ Calculate kernel K and undisturbed traction tu Displacement u and stress function phi of Sect. 8.4 Infinite space: uniform load Infinite space: inplane bending Infinite space: point force Infinite space: point moment Infinite space: dislocation Half space: point force Half space: point force on surface Half space: distributed load Half space: point moment Half space: dislocation Bimaterials: point force/dislocation Bimaterials: point force/dislocation at interface A single wedge: uniform traction A single wedge: point force A single wedge: point moment Multi-material wedge space: point force/dislocation Multi-material wedge: point force Multi-material wedge: singular order/eigenfunction Multi-material wedge: near tip solutions Multi-material wedge: 2D stress intensity factors Multi-material wedge: 3D stress intensity factors Elliptical hole: uniform load Elliptical hole: inplane bending Elliptical hole: arbitrary load Elliptical hole: point force Elliptical hole: dislocation Polygon-like hole: uniform load Polygon-like hole: inplane bending Crack: near tip solutions Interface crack: near tip solutions Crack terminating at interface: near tip solutions Crack: uniform load Crack: inplane bending
100
s84_Kbeta
101
s84_Kt
102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
s84_uphi s411infUL s412infIB s413infPF s414infPM s415infDL s421halfPF s422halfPFs s423halfDT s424halfPM s425halfDL s431bimatPFD s432bimatPFDi s512wedgeUT s521wedgePF s522wedgePM s523MwedgePFD s524MwedgePF s533MwedgeSOE s542MwedgeNTS s543MwedgeSIF2d s544MwedgeSIF3d s611EholeUL s612EholeIB s613EholeAL s614EholePF s615EholeDL s622PholeUL s623PholeIB s711crackNTS s712IFcrackNTS s713crackTI s721crackUL s722crackIB
Calculate Fd1 and Fd2 of Sect. 8.4
8.5.7 8.5.5 8.5.8 4.1.1 4.1.2 4.1.3 4.1.4 4.1.5 4.2.1 4.2.2 4.2.3 4.2.4 4.2.5 4.3.1 4.3.2 5.1.2 5.2.1 5.2.2 5.2.3 5.2.4 5.3.3 5.4.2 5.4.3 5.4.4 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 6.2.2 6.2.3 7.1.1 7.1.2 7.1.3 7.2.1 7.2.2 (continued)
468
Appendix C: List of Functions
No
Function
Short description
136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186
s723crackAL s724crackPF s725crackDL s732CO2crackUL s733COPcrackUL s741IFcrack s742SIFcrackPFs s743_1IFcrackPFs s743_2IFcrackUL s744CO2IFcrackUL s811EEincluUL s812EEincluPFm s821_1ERincluUL s821_2ERincluPF s822_1RLincluUL s823PRincluUL s831EEincluDLo s832EEinlcuDLi s833EEincluDLf s841EEincluCo s842EEincluCi s843EEincluCp s844EEincluCc s912FpunchL s913FpunchM s914PpunchL s922Estamp s923Pstamp s933_1Cpunch s933_2Tstamp s942SWpunch s943SPpunch s944S2punch s951P2Fcontact s952P2contact s1021EholeUH s1022crackUH s1031ERincluUH s1032RLincluUH s1042IFcrackUH s1052MwedgeTH s1131piezoEhole s1132piezoPhole s1161piezoCOcrack s1162piezoIFcrack s1221visco s1321EholeUB s1322ERincluUB s1323crackUB s1324EEincluUB s1420LAMincluUSB
Crack: arbitrary load Crack: point force Crack: dislocation Two collinear cracks: uniform load Collinear periodic cracks: uniform load Interface crack: COD and energy release rate Semi-infinite interface crack: point force on surface Finite interface crack: point force on crack surface Finite interface crack: uniform load Two collinear interface cracks: uniform load Elliptical elastic inclusion: uniform load Elliptical elastic inclusion: point force at the matrix Elliptical rigid inclusion: uniform load Elliptical rigid inclusion: point force Rigid line inclusion: uniform load Polygon-like rigid inclusion: uniform load Dislocation outside the elliptical elastic inclusion Dislocation inside the elliptical elastic inclusion Dislocation on the interface of EE inclusion Crack outside the elliptical elastic inclusion Crack inside the elliptical elastic inclusion Crack penetrating the elliptical elastic inclusion Crack lying along the elliptical interface Flat-ended punch indented by a load Flat-ended punch tilted by a moment Parabolic punch indented by a load Rigid stamp indentation on an elliptical hole Rigid stamp indentation on an polygonal hole Flat-ended punch on a cosine wavy-shaped surface Rigid stamp indentation on a triangular hole Sliding wedge-shaped punch Sliding parabolic punch Two sliding flat-ended punches Contact of two elastic bodies with friction Contact of two elastic bodies without friction Elliptical hole under uniform heat flow Crack under uniform heat flow Elliptical rigid inclusion under uniform heat flow Rigid line inclusion under uniform heat flow Interface crack under uniform heat flow Multi-material wedge: thermal effect on singularity Elliptical holes in piezoelectric/MEE materials Polygon-like holes in piezoelectric/MEE materials Collinear cracks in piezoelectric/MEE materials Interface cracks in piezoelectric/MEE materials Problems with viscoelastic materials Elliptical hole: out-of-plane bending Elliptical rigid inclusion: out-of-plane bending Crack: out-of-plane bending Elliptical elastic inclusion: out-of-plane bending Elliptical rigid inclusion: stretching and bending
Section 7.2.3 7.2.4 7.2.5 7.3.2 7.3.3 7.4.1 7.4.2 7.4.3 7.4.3 7.4.4 8.1.1 8.1.2 8.2.1 8.2.1 8.2.2 8.2.3 8.3.1 8.3.2 8.3.3 8.4.1 8.4.2 8.4.3 8.4.4 9.1.2 9.1.3 9.1.4 9.2.2 9.2.3 9.3.3 9.3.3 9.4.2 9.4.3 9.4.4 9.5.1 9.5.2 10.2.1 10.2.2 10.3.1 10.3.2 10.4.2 10.5.2 11.3.1 11.3.2 11.6.1 11.6.2 12.2 13.2.1 13.2.2 13.2.3 13.2.4 13.2.2 (continued)
Appendix C: List of Functions
469
No
Function
Short description
Section
187 188 189 190 191 192 193 194 195
s1421LAMholeUSB s1422LAMholeUH s1423LAMEEincluUSB s1441LAMinfPFM s1451LAMholePFM s1452LAMcrackPFM s1461LAMincluPFMo s1462LAMincluPFMi Stroh_matrices
Elliptical hole in laminate: stretching and bending Elliptical hole in laminate: uniform heat flow Elliptical inclusion in laminate: stretching-bending Green’s functions for laminates Green’s functions for laminates with holes Green’s functions for laminates with cracks Point force/moment outside inclusion of laminate Point force/moment inside inclusion of laminate
14.2.1 14.2.2 13.2.4 14.4.1 14.5.1 14.5.2 14.6.1 14.6.2 4.4.1
196 197 198 199 200 201 202 203 204
TableFig TableFig3D TGCEF thermal thermal_BEM thermal_eigen uphi_bank visco visco_load
Stroh’s related matrices such as N; Nd ; N0 ; . . ., etc. Output the results to Tables and Figures Output the results to Tables and Figures, 3D BEM Calculate matrices Tk, Gk, Ck, Ek, Fk of Chap. 8 Input of thermal properties Calculate the thermal fundamental solutions Thermal eigenvalues and eigenvectors: tau, c, d Collection of functions for analytical solutions Input of viscoelastic properties Transform load into the values in Laplace domain
3.7.3 3.7.3 8.5.1 3.3.2 15.5.3 3.4.2 3.5.2 12.1.2 12.2
Appendix D List of Global Variables
Following is a list of global variables used in the entire computer program of AEPH. Since the detailed description of global variables has been stated in the functions which generate the global variables, only short descriptions together with the function names are shown in this list. Some of the global variables may be generated by several different functions, and some others may have different meaning in different function. To clearly describe the global variables, their associated mathematical symbols and equations stated in this book will be shown. Also, to save the space of the list the symbols such as Xfi will be used and their contents are shown separately at the end of this list. If the short description is not clear enough, one may go back to the related Section of the function to see more detailed description.
Variable
Symbol
Description (function)
a
a
a0
a
a0R a0s a1 a2 ac ac0 ac2
a a a1 a2 – – –
akm alpha alpha_hat alpha_v alpha0
ck a ^ a a a
alpha0R alpha2 alphaij alphaij_hat alphaij0 alphaij0_a A
– 2a aij ^ aij aij or ^aij aij or ^aij A
Half length of major axis of ellipse (af1); Parameter of polygon, (6.39) (af2); Half length of crack (af3); contact region (af4) Parameter of ellipse or polygon, (6.39) (BEMbankB); Half length of crack (s841EEincluCo, s843EEincluCp) a0 of the Rth region (BFEM, BEMbankB) Half length of inside crack (s842EEincluCi, s843EEincluCp) Left tip of 1st crack (s732CO2craclUL, s744CO2IFcrackUL) Left tip of 2nd crack (s732CO2craclUL,s744CO2IFcrackUL) ac = (a + c)/a(a − c), (7.39) (s743_1IFcrackPFs) ac = (a + c)/(a − c), (7.39) (s743_1IFcrackPFs) pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ac2 ¼ a2 c2 , (7.39) (s743_1IFcrackPFs) Left end of contact region, Fig. 15.11 (BEMbankB) Angle of the applied moment (s612EholeIB, s623PholeIB) Reduced thermal expansion coefficients, (1.61b)3 (thermal) Thermal expansion coefficients, (1.61b)1 (thermal) Interface orientation (s432bimatPFDi); Crack orientation (alpha0f1); Thermal expansion coeff. of isotropic materials (thermal); Direction of heat flow (s1422LAMholeUH); Orientation of local coordinate (BEMbankB) alpha0 (a of local coordinate) of the Rth region (alpha0Rf0) Wedge angle (s512wedgeUT, s522wedgePM) Thermal expansion coefficient (thermal) Reduced thermal expansion coefficient (thermal) Thermal expansion coefficient (Main) Augmented thermal expansion coefficient (Main) Stroh’s eigenvector matrix (Main) (continued)
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2021 C. Hwu, Anisotropic Elasticity with Matlab, Solid Mechanics and Its Applications 267, https://doi.org/10.1007/978-3-030-66676-7
471
472
Appendix D: List of Global Variables
Variable
Symbol
Description (function)
A_a A0 A1 A1R A1i
A A1 or A2 A1 A1
Augmented Stroh’s eigenvector matrix (Main) Stroh’s eigenvector matrix (s951P2Fcontact, s952P2contact) Stroh’s eigenvector matrix of material #1 (A1f0) A1 of the Rth region (BEMbankB) Inverse of A1 (s1462LAMincluPFMi)
A2 A2R Ai Aij Aij_a Aij_star1 Aij_star2 Aij0 Aijt
A1 1 A2 A2 A−1 Aij Aij A00 A0 Aij ~ A
Stroh’s eigenvector matrix of material #2 (same as A1f0) A2 of the Rth region (BEMbankB) Inverse of A (s821_2ERincluPF) Extensional stiffness (Main) Augmented extensional stiffness (Main) Related to extensional stiffness A (15.147a) (BEMcoupleB) Related to extensional stiffness A (15.147a) (BEMcoupleB) Extensional stiffness (QRT_Ce, QRT_Cp of material_eigen) (1.56b)1 (QRT_Ce, QRT_Cp of material_eigen)
Ap
~ A –
AR As As_a At Atij
A As As AT Atij
Aza
–
b
b
b_hat b0 b0R b1 b2 bc bct beta beta_hat
^ b b b b1 b2 – – b ^ b
beta_v betaij
b bij
Half length of minor axis of ellipse (BEMbankB) b0 of the Rth region (BFEM, BEMbankB) Right tip of 1st crack (s732CO2craclUL, s744CO2IfcrackUL) Right tip of 2nd crack (s732CO2craclUL, s744CO2IfcrackUL) Boundary condition for BEM (Main) Thermal boundary condition (s1052MwedgeTH) Related to oscillatory index e, (9.6c) (s9_delLam) Reduced thermal modulus, (1.61b)4 (thermal); pffiffiffiffiffiffiffiffiffiffiffiffiffi ^bðgÞ ¼ 1 g2 bðgÞ, bðgÞ: dislocation density (same as cnf0) Thermal modulus, (1.61b)2 (thermal) Thermal modulus (thermal)
betaij_hat
^ b ij
Reduced thermal modulus (thermal)
betaij0
^ bij or b ij
Thermal modulus (Main)
betaij0_a
^ bij or b ij
Augmented thermal modulus (Main)
betaije
beij
Piezoelectric properties, (1.65) (piezoM, piezo2)
betaije_hat
^e b ij
Piezoelectric properties (piezo2)
betaije_p
b0eij
Piezoelectric properties (piezo2)
betaije_ph
^0e b ij
Piezoelectric properties (piezo2)
betaijs
brij
Piezoelectric properties, (1.65) (piezoM, piezo2)
betaijs_hat
^r b ij b0r ij
Piezoelectric properties, (1.71e)3 (piezo2)
Aijts
betaijs_p
(1.56b)4 (StrohN_Ce, StrohN_Cp of fundamental_N) ^ (s821_2ErincluPF) AT p ^ (s1461LAMincluPFMo, s1462LAMincluPFMi) ATi p A of the Rth region (BEMbankB) Eigenvector matrix A in Laplace domain, (12.4b) (Main) Augmented A in Laplace domain, (12.4b) (Main) Prepare for G1inf3D (material_eigen) Thermal extensional stiffness, (1.64b) (Main) ð1Þ
ð2Þ
ðza þ za Þ=2, (BEMinfluence_G2) Half length of minor axis of ellipse (same as af1); Contact region (bf2) Burgers vector (b_hatf0)
Piezoelectric properties, (1.75d)3 (piezo2) (continued)
Appendix D: List of Global Variables Variable betaijs_ph betaijs0 betaijs0_a bkm bp B B_a B0 B1 B1i B1L B1R B2 B2i
Symbol ^0r b ij
Description (function) Piezoelectric properties, (1.71d)3 (piezo2)
r b ij r b
Piezoelectric properties, (1.71)–(1.75) (piezo2)
dk b B B B1 or B2 – B1
Right end of contact region, Fig. 15.11 (BEMbankB) Body forces of dynamic BEM, (15.101a) (BEMbankB) Stroh’s eigenvector matrix (Main) Augmented Stroh’s eigenvector matrix (Main) Stroh’s eigenvector matrix (s951P2Fcontact, s952P2contact) Reference magnetic flux (TableFig) Stroh’s eigenvector matrix of material #1 (same as A1f0) Inverse of B1 (B1if0)
ij
B1 1 B1 1 K B1 B2
B2ML
B1 2 –
B2R Bc1
B2 –
Bc2
–
Bc3
–
Bc4
–
Bf Bi Bij Bij_a Bij_star1 Bij_star2
Bf Bi Bij Bij
Bij0 Bijt
473
B00 B0 Bij ~ B
Augmented piezoelectric constant (piezo2)
(7.34) (B1Lf0) B1 of the Rth region (BEMbankB) Stroh’s eigenvector matrix of material #2 (same as A1f0) Inverse of B2 (s952P2contact, s1042IfcrackUH) 1
M K, (7.34) (same as B1Lf0) B1 2 M B2 of the Rth region (BEMbankB) k \ca [ , (14.25c) (Bc1f0) Vector of B1 BI k \c2a [ , (14.25c) (same as Bc1f0) Vector of B1 BI k \c3a [ , (14.25c) (same as Bc1f0) Vector of B1 BI k \c4a^fa [ , (14.25c) (s1451LAMholePFM) Vector of B1 BI Matrix related to Stroh’s eigenvector, (8.10) (s844EeincluCc) Bi of (15.241b) (material_eigen) Coupling stiffness (Main) Augmented coupling stiffness (Main) Related to coupling stiffness B (15.147a) (BEMcoupleB) Related to coupling stiffness B (15.147a) (BEMcoupleB) Coupling stiffness (QRT_Ce, QRT_Cp of material_eigen) ~ of (1.56b)2 (QRT_Ce, QRT_Cp of material_eigen) B
~ B B Bs Bs Btij
~ of (1.56b)5 (StrohN_Ce, StrohN_Cp of fundamental_N) B B of the Rth region (BEMbankB) Eigenvector matrix B in Laplace domain, (12.4b) (Main) Augmented B in Laplace domain, (12.4b) (Main) Thermal coupling stiffness, (1.64b) (Main)
c_a c0 c0R c1 c2a c3a c4a ca
– c c c c c c1 c2a c3a c4a ca
cft ci
– –
Element type of BEM (BEMbankB) Thermal eigenvector (Main); Parameter of polygon, (6.39) (af2); c = b/a (s612EholeIB); location of the point force (s743_1IfcrackPFs) Augmented thermal eigenvector (Main) Parameter of polygon, Eq. (6.39) (BEMbankB) c0 of the Rth region (BFEM) Coefficient vector of functions f2, (8.3a) (s84_CoeffUniform) (14.25c) (c2af0) (14.25c) (same as c2af0) (14.25c) (same as c2af0) (14.25c) (s15_pgzV, s1461LAMincluPFMo); cos a (s412infIB) Coefficients for prescribed tractions/displ. (BEMbankB) Corner index (BEMmesh) (continued)
Bijts BR Bs Bs_a Btij Btype c
474
Appendix D: List of Global Variables
Variable
Symbol
Description (function)
ck cn cpt corner12 cur Cij Cij_hat
ck – – – – Cij ^ ij C
Coefficient of punch profile, (BEMbankB) Half-number of the discretized points on the crack (cnf0) Coefficients for applying forces/moments (BEMbankB) Nodes behind and ahead of the corner (Main) Type of curve for output data (curve of internal) Elastic stiffness (elastic, visco) Reduced elastic stiffness, (1.42) (elastic, visco)
Cij_k Cij0
ðCij Þk
Elastic stiffness of the kth layer (elastic) Elastic stiffness (Main)
Cij0_a Cij0s Cij0s_a
^ ij Cij or C ^ ij Cij or C
Augmented elastic stiffness (Main)
^0
Elastic stiffness used in the Laplace domain (Main)
^0
Augmented elastic stiffness used in Laplace domain (Main)
sC ij sC ij
CijD
CijD
Elastic stiffness at constant D (1.68) (piezoM, piezo2)
CijD_hat
^D C ij
Reduced elastic stiffness at constant D (1.75) (piezo2)
CijD_p
Cij0D
Reduced elastic stiffness at constant D (1.75) (piezo2)
CijD_ph
Reduced elastic stiffness at constant D (1.75) (piezo2)
CijE
^ 0D C ij CijE
CijE_hat
^E C ij
Reduced elastic stiffness at constant E (1.75) (piezoM)
CijE_k
CijE at the kth layer (1.80) (piezoM)
CijE_p
ðCijE Þk Cij0E
CijE_ph
^ 0E C ij
Reduced elastic stiffness at constant E (1.75) (piezoM)
CijE0
CijE CijE
CijE0_a
d d_a d0
– – – d d d0
d1
d1
Elastic stiffness at constant E (1.68) (piezoM)
Reduced elastic stiffness at constant E (1.75) (piezoM)
or ..
Elastic stiffness at constant electric field E (Main)
or ..
Augmented elastic stiffness at constant electric field (Main)
delta0 density dij dij_hat
d1 1 d1 2 da d da da q dij d^ij
Matrix of coeff. Vector ½c0 ; c1 ; ::; cn , (6.17) (s613EholeAL) Expanded stiffness and/or compliance matrix (piezoM2) Contact status (CSf0) Thermal eigenvector (Main) Augmented thermal eigenvector (Main) Coefficient of punch problems, (9.57b) (s9_fzp); d0 = dim/2 + 1 (s14_mdinf, s1422LAMholeUH) Coefficient of punch problems, (9.57b) (s9_fzp); d1 = d0 + 1 (s14_mdinf) Coefficient vector of function f1, (8.3a) (s84_CoeffUniform) d1 1 of (14.9c) (s1420LAMincluUSB, s1421LAMholeUSB) d1 2 of (14.9c) (s1420LAMincluUSB, s1421LAMholeUSB) Order of stress singularity (deltaf0) Order of heat flux singularity (s1052MwedgeTH) Order of stress singularity in time domain (Main, s1221visco) Singular order (delta0f0) Mass density (BEMbankB) Piezoelectric constant, (1.68) (piezoM, piezo2) Reduced piezoelectric constant, (1.75) (piezo2)
dij_p
dij0
Reduced piezoelectric constant, (1.75) (piezo2)
dij_ph
d^ij0
Reduced piezoelectric constant, (1.75) (piezo2)
dim dim1 dim_a dimH
– – – –
Dimension of material eigenvector matrix A (Main) dim1 = dim + 1 or dim (GreenCouple) Augmented dimension of eigenvector matrix A (Main) Dimension of heat flux h (uphi_bank)
Cn CS
d1 d1_inf d2_inf delta delta_t
(continued)
Appendix D: List of Global Variables
475
Variable
Symbol
Description (function)
dk ds dsR dt dz dzeta
ek ‘m ‘m Dt za ^za fa ^fa
Location of punch center, Fig. 15.11 (BEMbankB) Length of element in BEM (BEMmesh) ds of the Rth region (BEMmesh) Time step (BEM2Dcontact2VisB) Difference of the complex variable (s15_pgzV) Difference of the mapped complex variable (s15_pgzV)
D
D
1 D ¼ L1 1 þ L2 , (7.5) (s9_delLam)
D0
–
D01
–
Delta Dij Dij_a Dij_star1
D Dij Dij
Dij_star2 Dij0 Dijt
D00 D0 Dij ~ D
~ s (TableFig) Reference electric displacement Ds or D ~ s for plotting (TableFig) Reference electric displacement D D of (5.1) (s512wedgeUT, s522wedgePM) Bending stiffness (Main) Augmented bending stiffness (Main) Related to bending stiffness D (15.147a) (BEMcoupleB) Related to bending stiffness D (15.147a) (BEMcoupleB) Bending stiffness (QRT_Ce, QRT_Cp of material_eigen) ~ of (1.56b)3 (QRT_Ce, QRT_Cp of material_eigen) D
Dn Dt Dtij
~ D – Dt Dtij
~ of (1.56b)6 (StrohN_Ce, StrohN_Cp of fundamental_N) D Matrix of coeff. Vector ½d1 ; d2 ; ::; dn , (6.17) (s613EholeAL) Time step for dynamic analysis (BEMbankB) Thermal bending stiffness, (1.64b) (Main)
Dtype Dytype Dza
– – Dza
Type of problem dimension (Main) Problem type of dynamic analysis (BEMbankB)
Dzas
Dza
e0 e1
e0 e1, e1 e1 e2 eij ^eij (eij)k e0ij
Dijts
e1s e2s eij eij_hat eij_k eij_p eij_ph eij0 eij0_a element12 element12R ep ep0 epp eps eps1_inf eps2_inf epsilon epsilonV es eta
e^0 ij eij eij – – e e ^
e e e1 1 e1 2 e e e g
ð2Þ
ð1Þ
ð3Þ
ð1Þ
za za , (15.67d) (BEMinfluence_G2) za za , (15.67d) (BEMinfluence_G2) Coefficient, (10.4a) or (10.14) or (14.13) (e0f0) Coefficient vector of functions f0, (8.2) (s84_CoeffUniform); coefficient, (10.4a) or (10.14) or (14.13) (same as e0f0) Coefficient vector, (10.27b) (s1042IfcrackUH) Coefficient vector, (10.27b) (s1042IfcrackUH) Piezoelectric constant, (1.68) (piezoM) Reduced piezoelectric constant, (1.75) (piezoM) Piezoelectric constant at the kth layer, (1.80) (piezoM) Reduced piezoelectric constant, (1.75) (piezoM) Reduced piezoelectric constant, (1.75) (piezoM) Piezoelectric constant, (1.68c) (Main) Augmented piezoelectric constant, (1.68c) (Main) Element 1, 2, or 3 connected with node i (BEMmesh) element12 of the Rth region (BEMmesh) Parameter of polygon, (6.39) (af2) Parameter of polygon, (6.39) (BEMbankB) Magnitude of cosine wavy-shape (s933_1Cpunch) Small value for general use, suggested value eps = 10−6 (Main) Strains at infinity, (4.4b) (eps1_inff0) Strains at infinity, (4.4b) (same as eps1_inff0) Oscillatory index e, (9.6c) (s9_delLam) Vector of oscillatory index ðe; e; 0Þ, (7.8) (epsilonVf0) Slope of the wedge-shaped punch (s942Swpunch) Ratio of horizontal and normal forces Fk =Nk (etaf0) Friction coefficient (etaf1) (continued)
476
Appendix D: List of Global Variables
Variable
Symbol
Description (function)
etaS E E0 Eh1 Eh2
– E E0 E0 h0 E0 h20
Sign for friction coefficient g (etaSf0BEM2Dcontact2VisB) Young’s modulus (elastic) Reference Young’s modulus (Main) Scaling factors, (2.125) (E1f0) Scaling factors, (2.125) (same as E1f0)
Eh3 ENG ENG_t Etype Etype_a f_hat
E0 h30 G G – – ^f
Energy release rate (ENGf0) Energy release rate in time domain (Main) Type of elastic properties (Main) Etype_a(im): Etype of imth material (Main) Point force (f_hatf0)
f3 f3d f3d2 f3int
f3 f30 f 300 ~f 3
Vector of complex function (f3f0) 1st derivative of f 3 (same as f3f0) 2nd derivative of f 3 (same as f3f0) Integral of f 3 (same as f3f0)
fid folderName fx F Fd1 Fd2 Fh Fint
– – f ðnÞ F F0 F00 F ~ F
An integer identifying the file for output (output_caption) Name of the folder storing all output results (output_caption) Profile of punch head, (15.194) (fxf0) Matrix of complex function (same as f3f0) 1st derivative of F (same as f3f0) 2nd derivative of F (same as f3f0) Horizontal force (s943Sppunch, s944S2punch,) Integral of F (same as f3f0)
Fn FX2 g0 ga ga2 gam gamma gamma0 gamma0p gamma1 gamma2 gammah gamq
N – g0 ca ca cðtÞ c c c ca ca c cq ðtÞ
Normal force (Fnf0) A matrix derivative with respect to ^x2 (FX2f0) Normal gap, (15.178b) (g0f0) ca of (14.25c) (c2af0) ca of (8.3b) (s1461LAMincluPFMo) cðtÞ of (15.205), (gamf0BEM2Dcontact2VisB) c ¼ ðc1 ; c2 ; . . .; c6 Þ, (4.6d) (s412infIB) c ¼ c4 sin a þ c5 cos a, under (4.6d) (s412infIB) c ¼ c8 sin a þ c7 cos a, under (11.47c) (s412infIB) ca of (8.5) (s84_CoeffUniform) ca of (8.3b) (gamma2f0) Heat generation rate, (15.90a) (BEMbankB) cq ðtÞ of (15.205), (gamqf0)
gamqR
cq ðtÞ
cq ðtÞ of (15.205), t ¼ mDt (BEM2Dcontact_BCv)
gamR gij gij_hat gij_p
cðtÞ gij ^ gij g0ij
cðtÞ of (15.205), t ¼ mDt (BEM2Dcontact_BCv) Piezoelectric constant, (1.68) (piezoM, piezo2) Reduced piezoelectric constant, (1.75) (piezo2) Reduced piezoelectric constant, (1.75) (piezo2)
gij_ph
^ g0ij
Reduced piezoelectric constant, (1.75) (piezo2)
gij0 gij0_a G11 G12 G21 G22 Gdk
gij gij G11 G12 G21 G22 GðkÞ
Piezoelectric constant, (1.71)–(1.75) (piezo2) Augmented piezoelectric constant, (1.71)–(1.75) (piezo2) Matrix used in dynamic BEM, (15.102) (BEM_YGMVsplit) Matrix used in dynamic BEM, (15.102) (BEM_YGMVsplit) Matrix used in dynamic BEM, (15.102) (BEM_YGMVsplit) Matrix used in dynamic BEM, (15.102) (BEM_YGMVsplit) Matrix used in dynamic BEM, (15.104b) (BEM_YGMVsplit)
Gdu
GðuÞ
Matrix used in dynamic BEM, (15.104b) (BEM_YGMVsplit)
Scaling factors, (2.125) (s1422LAMholeUH)
(continued)
Appendix D: List of Global Variables Variable
Symbol
Description (function)
Ge Gn
Ge
Influence matrix of displacement, (15.13) (BEMinfluence) Influence matrix, (15.173) (BEM_YgtoVg)
h0 h0s h2
BðkÞ GAðkÞ nc ; Gnc h0 h0 h0
Reference thickness, suggested value = 10−3 (Main) Coefficient vector, (5.7b) (s512wedgeUT) h0 of (10.27c) (s1042IfcrackUH) Scaling factors, (2.125) (s14_mdinf, s1451LAMholePFM)
hf0 hij hij_hat
h20 h0 hij ^ hij
hij_p
h0ij
Reduced piezoelectric constant, (1.75) (piezo2)
hij_ph
h^0ij hðt0 Þ hðt0 DtÞ hðt0 2DtÞ h=p
Reduced piezoelectric constant, (1.75) (piezo2)
H –
One of Barnett-Lothe tensors (s1031ErincluUH) Type of uniform heat flow direction (s1422LAMholeUH) Inverse of H (s1031ErincluUH)
hn0 hn1 hn2 hp H Hftype Hi
H1 – i1 i2 – – –
Uniform heat flow (hf0f0) Piezoelectric constant, (1.68) (piezoM, piezo2) Reduced piezoelectric constant, (1.75) (piezo2)
Generalized coordinate at t0, (15.121) (BEMbankB) Generalized coordinate at t0 Dt, (15.121) (BEMbankB) Generalized coordinates at t0 2Dt, (15.121) (BEMbankB) ~ 3 ðh þ ; h Þ1 p ^=p, (5.13b) (s521wedgePF) ½N
Htype i1 i2 imat imat1 imat2 iAcA
A1 A
Type of displacements and tractions used in H-integral (s5_ut) Unit vector: (1,0,0) (S823PrinlcuUL) Unit vector: (0,1,0) (S823PrinlcuUL) Material # used in the subregion (BEMbankB) Material #1 used in the subregion (BEMbankB) Material #2 used in the subregion (BEMbankB) Part of Drk , (8.9e) (s821_2ErincluPF)
iFp
F1
Inverse of F, (15.98a) (BEM2DdynamicB)
iG12
G1 12 1
Inverse of G12 , (15.102) (BEM_YGMVsplit)
iL
k0
L S – – – – – – – – – k k k ~k
k1
k1
k2
k k2
kij km1
kij k1
iS Icheck isr jc1 jc1m jc1mm jc2 jc2p jc2pp jt k
477
Inverse of L (s721crackUL, s1022crackUH) Number of normal modes, (15.116a) (BEMbankB) Control parameter for check (Main) ith sub-region of BEM (Main, BFEM) The node behind of the jc corner (BEM_aux) The node behind of jc1 (BEM_aux) The node behind of jc1m (BEM_aux) The node ahead of the jc corner (BEM_aux) The node ahead of jc2 (BEM_aux) The node ahead of jc2p (BEM_aux) Number of time variables (Main, s1221visco) Parameter defined in (5.6b) (S512wedgeUT); Parameter of polygon, (6.39) (kf2) Coefficient vector ðib; a; 0Þ, (8.18) (s821_2ErincluPF) pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ~k ¼ k11 k22 k2 , (10.4a) (k0f1); 12 parameter of polygon, (6.39) (BEMbankB) Vector of heat conduction coefficient, (10.1b) (same as hf0f0); Resultant of heat conduction coeff., (s1422LAMholeUH) Coefficient vector, (14.44a) (s1462LAMincluPFMi) Vector of heat conduction coefficient, (10.1b) (same as hf0f0) Resultant of heat conduction coeff., (s1422LAMholeUH) Heat conduction coefficient (Main) Coefficient vector, (14.44a) (s1462LAMincluPFMi) (continued)
478 Variable K0 K1 K1m Ki Kij_a Ktij Ktij_a Ktijs lamda lamda0 lamda1 lamda2 lamda3 loadinf Loadstr1421 loadstr533 loadT logzeta L L1 L2 Lam Lam0 Lamda Lfs Lik LiMt Lit Ltype Ltype2 LtypeR m_hat m1_inf m2_inf ma mije0:
Appendix D: List of Global Variables Symbol ~ K K1 K1 K1 kij Kij Kij Kij k k0 k1 k1a k2a k3a – – – – lnðfa ^fa Þ L L1 L2 K K K Lf L1 k – K1^t0 – – – ^ m m1 1 m1 2 ma mejk
mk mt mu mu_a mu0 mu1
mk mt la la la
mu1R
la
mu2
la
mu2R
la la lsa lsa
muR mus mus_a
ð1Þ
la
ð1Þ ð2Þ ð2Þ
Description (function) pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 2 , (14.13b) (s1422LAMholeUH) ~ ¼ K11 K22 K12 K Coefficient matrix, (15.49) (S15_pgzV) Coefficient matrix, (15.49) (S15_pgzV) Inverse of transformation matrix K, (1.26) (CSABD_star) Augmented heat conduction coefficient (Main) Resultant heat conduction coefficient, (2.67) (Main) Augmented resultant heat conduction coeff., (2.67) (Main) Resultant heat conduction coefficient, (2.67) (Main) A constant defined in (7.20b) (s732CO2crackUL) A constant defined in (7.20b) (s732CO2crackUL) A constant defined in (7.20b) (s732CO2crackUL); A constant defined in (7.44b) (s744CO2IfcrackUL) A constant defined in (7.44b) (s732CO2crackUL) A constant defined in (7.44b) (s732CO2crackUL) Uniform load at infinity (loadinff0) Input data for function-s1421LAMholeUSB (s1421*) Input data for function-s533MwedgeSOE (loadstr533f0) Temperature information for thermal problems (BEMbankB) fa : a transformed variable, (6.4) (s15_pgzV) One of Barnett-Lothe tensors (Lf0) L of material 1 (s841EeincluCo, s843EeincluCp) L of material 2 (s842EeincluCi, s843EeincluCp) K ¼ Kð0Þ, (5.33b) (Lamf0) K ¼ Kð0Þ, (5.33b) (Lam0f0) K ¼ Kð0Þ, (9.5b) (Lamdaf0) A matrix defined in (8.48b) (s844EeincluCc) Part of (7.1a) (s711crackNTS) 1
M Þ1^t, part of (7.42) (LiMtf0) K1 ðI þ M Part of (7.39) (s742SIFcrackPFs, s743_1IfcrackPFs) Type of load and structure (Main) 2nd digit of Ltype (BEMinfluence_G2) Ltype of the Rth region (BFEM, BEMbankB) Point moment (m_hatf0) (14.9c) (s1420LAMincluUSB, s1421LAMholeUSB) (14.9c) (s1420LAMincluUSB, s1421LAMholeUSB) ma ¼ a ila b, (10.4a) (maf0) Scaled magneto-electric coefficient, (11.1a) (Main) Moment applied on the punch, (15.194) (BEMbankB) mt ¼ a isb, (10.4a) (same as maf0) Stroh’s eigenvalue (Main) Augmeneted Stroh’s eigenvalue (Main) Stroh’s eigenvalue (s951P2Fcontact, s952P2contact) Stroh’s eigenvalue of material 1 (A1f0) ð1Þ
la of the Rth region (BEMbankB) Stroh’s eigenvalue of material 2 (A1f0) ð2Þ
la of the Rth region (BEMbankB) la of the Rth region (BEMbankB) Stroh’s eigenvalue in Laplace domain (Main) Augmented Stroh’s eigenvalue in Laplace domain (Main) (continued)
Appendix D: List of Global Variables Variable
Symbol
Description (function)
MaI MI Ms Ms22 MsI
Ma/I M/I M m22 M sin2 a=I
Part of (6.13a) (s612EholeIB, s623PholeIB) Part of (4.6a) (s412infIB) bimaterial matrix, extended symbol (8) of Sect. 2.5.5 (Msf0) M ð2; 2Þ of bimaterial matrix (same as Msf0) Part of (7.13b) (s722crackIB)
M1i
M1 1
Inverse of impedance matrix M of material 1 (same as Msf0)
M2i
Inverse of impedance matrix M of material 2 (same as Msf0)
M11 M12 M21 M22 MLtype n n_Fs n_Gauss n_Gaussh n_GaussA n_load n_punch n0 nA nb nB nb_xi nbd
M1 2 M11 M12 M21 M22 – n – ng – ng – – nðh Þ nA nb nB nb ðnÞ –
nc nC ncd ncorner ncr ndel ne
– nC n Nc – n n
nelement nelementR nf
M M
Number of contact nodes under ith punch (ncf0) Number of contact nodes or node pairs (nCf0) Number of coefficient vector dk, (6.17b) (s613EholeAL) Number of corners of BEM (Main) Number of cracks (BFEM) Number of da (s533MwedgeSOE, s1052MwedgeTH) Number of layers of laminated composites (elastic) Number of element nodes (BEM3DelasticB) Number of elements of BEM (Main) nelement of the Rth region (BFEM, BEMbankB)
nðh þ Þ – – – – – N N N – – – – – –
Normal direction with h þ (s512wedgeUT, s522wedgePM) Order of polynomial for tractions/displ. (BEMbankB) Number of interpolation functions (BEMinfluence_YG) Order of the polynomial of the punch profile (BEMbankB) Dimension of matrix K (BEM2Dcontact2VisB) Number of non-contact nodes (nnCf0) Number of nodes of BEM (Main) Nnode of the Rth region (BFEM, BEMbankB) Total number of nodes of BFEM (BFEM) 1st and 2nd nodes of kth BEM element (Main) node12 of the Rth region (BEMmesh) ith contact node (nodeCf0) ith non-contact node (nodeNCf0) nodeS of the Rth region (BFEM, BEMbankB) ith node of the subregion (BEMbankB)
nft ni nk nK nnC nnode nnodeR nnodeT node12 node12R nodeC nodeNC nodeR nodeS
479
Matrix used in dynamic BEM, (15.102) (BEM_YGMVsplit) Matrix used in dynamic BEM, (15.102) (BEM_YGMVsplit) Matrix used in dynamic BEM, (15.102) (BEM_YGMVsplit) Matrix used in dynamic BEM, (15.102) (BEM_YGMVsplit) Ltype for multi-connected domain (BFEM) n of (15.219c) and (15.237) (material_eigen) Number of Fourier series, (15.88b) (BEMbankB) Number of Gauss points for line integral (n_Gaussf0) Number of Gauss points used in (15.89) (BEMbankB) Number of Gauss points for surface integral (BEMbankB) Number of regions for load vector, (15.135) (BEMbankB) Number of punches for BEM2DcontactB (BEMbankB) Normal direction with h (s512wedgeUT, s522wedgePM) Number of non-contact nodes in A (BEM2Dcontact2VisB) Normal direction, [0; 0; n1; n2], (15.38c) (GreenCouple) Number of non-contact nodes in B (BEM2Dcontact2VisB) Normal direction of source point n, (15.38c) (GreenCouple) ^ (8.35a) (s84_uphi) Length of vector b,
(continued)
480
Appendix D: List of Global Variables
Variable
Symbol
Description (function)
np
np n – – – – n
Number of interior source points for particular solution (BEMbankB); order of polynomial (s423halfDT) Starting and ending node number of ith punch (BEMbankB) Contact nodes under ith punch (npCf0) ith node pair (BEMbankB) Order of polynomial for forces/moments (BEMbankB) Number of variable s in Laplace domain (Main) Number of sub-region for BFEM (Main) Number of iteration for BEM2DcontactB Number of time variable or vibration mode (ntsf0) Number of selected time for printing space variation (Main) Number of time step (BEM2Dcontact2VisB) Poisson’s ration (elastic) Number of points in x-direction (surface of internal) Number of selected position for printing time variation(Main) Total number of selected position (Main_aux) Fundamental elasticity matrix (Main) Augmented fundamental elasticity matrix (s1221visco) Sub-matrix of N (Main) Augmented sub-matrix of N (s1221visco) Sub-matrix of Nm (material_eigen) Matrix N1 in Laplace domain (Main) Augmented N1 in Laplace domain (Main) Sub-matrix of N (Main) Augmented sub-matrix of N (s1221visco) Sub-matrix of Nm (material_eigen) Matrix N2 in Laplace domain (Main) Augmented N2 in Laplace domain (Main) Sub-matrix of N (Main) Augmented sub-matrix of N (s1221visco) Sub-matrix of Nm (material_eigen) Matrix N3 in Laplace domain (Main) Augmented N3 in Laplace domain (Main) Part of (5.1) (s522wedgePM)
np12 npC npC12 npt ns nsr ntimes nts
nu nx nxy nxyT N N_a N1 N1_a N1m N1s N1s_a N2 N2_a N2m N2s N2s_a N3 N3_a N3m N3s N3s_a N3ti0
– n – m m nx – – N N N1 N1 ðNm Þ1 N1 N1 N2 N2 ðNm Þ2 N2 N2 N3 N3 ðNm Þ3 N3 N3 ~ 3 ðh þ ; h Þ N
Na Nm Nmat Ns Ns_a omega
Nmin Nm n N N x
omega_hat Otype p p_hat p1 p2 pij PiL
^ x – – ^ p p1 p2 pij
pk pkd
U1 k ð0Þkk pk p0 k
min. normal force N to reach complete indentation (Naf0) N of mixed formalism, (2.59c) (material_eigen) Number of materials (Main) Fundamental elasticity matrix N in Laplace domain (Main) Augmented N in Laplace domain (Main) Tilted angle, Fig. 9.3 (s913FpunchM) Rotation angle of rigid inclusion, (8.21b) (s821_2ERincluPF) Frequency of external harmonic force (BEMbankB) Type of output (Main) Length of vector u(k), (15.102) (BEM_YGMVsplit) Point force (p_hatf0) Coefficient vector, (10.28c) (s1042IFcrackUH) Coefficient vector, (10.28c) (s1042IFcrackUH) Coeff. of polynomial of distributed load, (4.28) (s423halfDT) Part of Eq. (7.6a) (s533MwedgeSOE) (15.123c) (BEMinfluence, BEMinfluenceIN) Derivative of pk , (15.123c) (BEMinfluenceIN) (continued)
Appendix D: List of Global Variables Variable psi_hat
Symbol ^ w
psi0
w0
pw Ptype q
– – q – q1 q0 q1 q2 q1a q2a qa qb
q_inf q0 q1 q2 q1a q2a qas qbs qijE0 qk qm qt qti Q Q_a Qs Qs_a r0 r2tau rgam2ts rI R R_a R0 R1 R12 R2 Rtime Rs Rs_a s_alpha sa sb sB scale sig0 sig01 sig02 sig03 sn surf sv S S2
qEkij qk – qðtÞ ~ðkÞ q Q Q Q Q ‘ s þ s Ref~c2 g r R R R R1 – R2 t R R sðaÞ sa sb – – – – – – n – – S S2
481
Description (function) Angular position, Fig. 8.15b (s844EEincluCc) Angle denoting crack position, Fig. 8.15b (s844EeincluCc); Angle denoting contact region, Figs. 9.6, 9.7 or 9.10 (psi0f0) Condition of corner deflection (BEM_aux) Type of piezoelectric properties (Main) The force applied on the punch (qf0) Number of internal points in y direction (internal) Coefficient vector, (8.9a) (q_inff0) Coefficient vector, (10.4b) (q0f0) Coefficient vector, (10.4b) (same as q0f0) Coefficient vector, (10.4b) (same as q0f0) Coefficient vector, (10.17) (s1032RlincluUH) Coefficient vector, (10.17) (s1032RlincluUH) Coefficient vector, (10.15c) (s1031ErincluUH) Coefficient vector, (10.15c) (s1031ErincluUH) Scaled piezomagnetic stress tensor (11.1a) (Main) Load vector applied on the punch, (15.194) (BEMbankB) Average load at region m, (15.135) (BEMbankB) External force for transient analysis, (15.104c) (BEMbankB) External harmonic force, (15.109) (BEMbankB) A matrix related to elastic constants, (2.9b) (Main) Augmented Q, (2.9b) (Main) Elastic matrix Q in Laplace domain (Main) Augmented Q in Laplace domain (Main) Reference length, (5.37) (r0f0) s þ s ¼ 2realðsÞ, where s: (9.39b) (r2tauf0) Part of (10.12) (s1022crackUH) Radius of integration path, (5.52b) (s5_ut) A matrix related to elastic constants, (2.9b) (Main) Augmented R, (2.9b) (Main) Radius of curvature (s914PpunchL, s943Sppunch) Radius of the curvature of body 1 (R1f0) R1 R2 =ðR1 þ R2 Þ (same as R1f0) Radius of the curvature of body 2 (same as R1f0) The time used in viscoelastic analysis (Main) Elastic matrix R in Laplace domain (Main) Augmented R in Laplace domain (Main) Tangential direction, (6.8b) (s_alphaf0) sin a (s412infIB) Tangential direction, [0; 0; s1; s2], (15.38c) (GreenCouple) Starting contact node of body B (BEM2Dcontact2VisB) Scaling factor used for plot of displacements (TableFig) Reference stress of rij used for plot of stresses (TableFig) Reference stress of rss used for plot of stresses (TableFig) Reference stress of rnn used for plot of stresses (TableFig) Reference stress of rsn used for plot of stresses (TableFig) Estimated terms for infinite series (snf0) Type of surface for output data (surface of internal) ðs1 ; s2 ; . . .; sn þ 2 Þ of the Laplace domain, Eq. (12.33) (Main) One of Barnett-Lothe tensors (Sf0) Square of S (s9_delLam) (continued)
482
Appendix D: List of Global Variables
Variable
Symbol
Description (function)
SIF SIF_t SIFR SIFs Sij Sij_hat
k k k k Sij ^ Sij
Vector of stress intensity factors (KII, KI, KIII) (SIFf0) SIF in time domain (Main) SIF of the Rth region (BFEM) SIF in Laplace domain (BFEMv) Compliance (elastic, visco) Reduced compliance, (1.39b) (elastic, visco)
Sij0
Sij or ^Sij
Compliance (Main)
Sij0s
^0
sSij
Elastic compliance used in the Laplace domain (Main)
Sij0_a
Sij or ^Sij
Augmented elastic stiffness (Main)
SijD
SD ij
Compliance at constant D (1.68) (piezoM, piezo2)
SijD_hat
^ SD ij
Reduced compliance at constant D (1.75) (piezo2)
SijD_p
S0D ij
Reduced compliance at constant D (1.75) (piezo2)
SijD_ph
Reduced compliance at constant D (1.75) (piezo2)
SijE
^ S0D ij SD ij D S ij SEij
SijE_hat
^ SEij
Reduced compliance at constant E (1.75) (piezo2)
SijE_p
S0E ij
Reduced compliance at constant E (1.75) (piezo2)
SijE_ph
^ S0E ij
Reduced compliance at constant E (1.75) (piezo2)
SLtype smu sti Stm Sxy t_hat
Type for printing Tables of SIF, ENG, delta (SLtypef0) s1 þ la s2 , (15.25b) (GreenCouple) ni þ la mi of (15.244) (material_eigen) Location of the selected time (Main) Location of the selected position (Main) Prescribed traction value of the boundary node (BEMmesh) Uniform traction, Fig. 7.15 (s743_2IfcrackUL) Parameter related to tractions, (5.1) (s512wedgeUT)
t0_hat
– ~sa – – – ^t ^t ^t – t0 t ^t0
t0s t1_inf t2_inf tau tau_a tauC tb tb1 tb2 tbs tc tc_hat
t0 t1 1 t1 2 s s s t t;1 t;2 t tc ^tc
Vector related to t0 , (10.27b) (s1042IfcrackUH) Stresses at infinity, (4.4b) (t1_inff0) Stresses at infinity, (4.4b) (t2_inff0) Thermal eigenvalue, (2.26) (Main) Augmented thermal eigenvalue, (2.26) (Main) Parameter of sliding punch, (9.39b) (s9_delLam) Traction of the boundary node (Main, BEM2DviscoIN) ðr11 ; r12 ; r13 Þ of the boundary node (Main) ðr21 ; r22 ; r23 Þ of the boundary node (Main) tb in the Laplace domain (Main, BEM2DcontactMRvBc) Corner force (BEMcoupleB) Prescribed corner force (BEMmesh)
tc_vc temp tempIN teR teRs
– – – te –
Variable condition of corner force (BEMmesh) Temperature information at the boundary node (BEMbankB) Temperature at the internal points (BEMbankB) Traction of the Rth region, (15.84) (BFEM) teR of the Laplace domain (BFEMv)
SijD0 SijD0_a
t_vc t0
Compliance at constant D (1.71)–(1.75) (piezo2) Augmented compliance at constant D (1.71)–(1.75) (piezo2) Compliance at constant E (1.68) (piezoM, piezo2)
Variable condition of traction (BEMmesh) Uniform load, Fig. 10.6 (s1042IfcrackUH); Traction applied on the wedge side, Fig. 5.1 (s512wedgeUT) Point force, part of (7.34) or (7.39) (t0_hatf0)
(continued)
Appendix D: List of Global Variables Variable
Symbol
Description (function)
tf th0 theta_x theta_xR theta_xi theta_xiR thetaC
tþ h h h a a h
Traction applied on the wedge side, Fig. 5.1 (s512wedgeUT) Polar angle of the wedge side, Fig. 5.1 (th0f0) Direction angle of the element (BEMmesh) theta_x of the Rth region (BEMmesh) Direction angle of the node (BEMmesh) theta_xi of the Rth region (BEMmesh) Angle of normal direction, (15.178a) (thetaCf0)
th1 th2 thf
ðhn h0 Þ=2 ðhn þ h0 Þ=2
h0 and hn , angle of two outer sides of wedges (s5_ut) h0 and hn , angle of two outer sides of wedges (s5_ut) Polar angle of the wedge side, Fig. 5.1 (thff0)
thickness thk thSIF ti timek tk tk_e tv_hat tvbm T T_a T0
hþ h – – – – tðkÞ hk ^tiv tiv T T
Plate thickness (elastic, piezoM) Vector of wedge angles ðh0 ; h1 ; . . .; hn Þ, Fig. 5.5 (thkf0) Angle that defines the stress intensity factors, (5.41) (s5_ut) Selected time for printing space variation (Main) Vector of time ½t0 ; t0 þ dt; t0 þ 2dt; . . .; tf (Main, s1221visco) Traction of the known part, (15.102) (BEM_YGMVsplit) Thickness of the kth layer of laminated composites (elastic) Prescribed traction, (15.211) (BEM2Dcontact2VisB) tiv of boundary node at time mDt (tvbmf0) A matrix related to elastic constants, (2.9b) (Main) Augmented T, (2.9b) (Main) T 0 ¼ ðTl þ Tu Þ=2, (14.15) (s1422LAMholeUH)
Th1
T0 01
Th2
02
Tik Tm1 Tm2 Tm3 Tmtype Tp Ts
– – – – – T T t T t;1 t;2 T – ^ u –
02 ¼ a2 T 0 þ a2 T , (2.74b) (s1422LAMholeUH) Stresses of internal point (internal) Temperature information of the 1st node (BEMmesh) Temperature information of the 2nd node (BEMmesh) Temperature information of the 3rd node (BEMmesh) Time type of problem (Main) Particular solutions of tractions, (15.98a) (BEM2DdynamicB) Elastic matrix T in Laplace domain (Main) Boundary traction in Laplace domain (BEM2Dvisco) T ¼ ðTl Tu Þ=h, (14.15) (s1422LAMholeUH) ðr11 ; r12 ; r13 Þ in Laplace domain (BEM2Dvisco) ðr21 ; r22 ; r23 Þ in Laplace domain (BEM2Dvisco) Augmented T in Laplace domain (Main) Type of thermal properties (Main) Prescribed displacement of the boundary node (BEMmesh) Variable condition of displacement (BEMmesh) Initial displacement, (15.102) (BEM_YGMVsplit)
Ts_1 Ts_2 Ts_a Ttype u_hat u_vc u0 u0_hat ua_hat uak uab ub ub_1 ub_2 ubs uc uc_hat
ðuÞ
u0 u0 ^ € u
€ðkÞ u – u u;1 u;2 u wc ^c w
483
01 ¼ a1 T 0 þ a1 T , (2.74b) (s1422LAMholeUH)
Initial displacement (BEMmesh) Prescribed acceleration of the boundary node (BEMmesh) Acceleration of known part, (15.102) (BEM_YGMVsplit) Acceleration at the boundary node (BEM2DdynamicB) Displacement of the boundary node (Main, BEM2DviscoIN) Derivative of the boundary displacement (Main) Derivative of the boundary displacement (Main) ub in the Laplace domain (Main, BEM2DcontactMRvBc) Corner deflection (BEMcoupleB) Prescribed corner deflection (BEMmesh) (continued)
484
Appendix D: List of Global Variables
Variable
Symbol
Description (function)
uc_vc uk
–
Variable condition of corner deflection (BEMmesh) Displacement of known part, (15.102) (BEM_YGMVsplit)
uphi0
ðu0 ; /0 ÞT – U u u;1 u;2 a0 an bn ^vi
Uik Up Us Us_1 Us_2 v_a0 v_an v_bn v_hat v0 v0_hat v1p v1r vbm vc vkp vs V1 V2 Vdk
uðkÞ
ðuÞ u_ 0 v0 u_ 0
vp1 vr1 vi vc vpk vs V1 V2 VðkÞ
uphi0=[u0;phi0], w0 of (5.27) (s533MwedgeSOE) Displacement and its derivatives of internal point (internal) Particular sol. of displacement, (15.98b) (BEM2DdynamicB) Boundary displacement in Laplace domain (BEM2Dvisco) u;1 in Laplace domain (BEM2Dvisco) u;2 in Laplace domain (BEM2Dvisco) Coeff. of thermal fundamental sol., (15.89a) (BEMbankB) Coeff. of thermal fundamental sol., (15.89a) (BEMbankB) Coeff. of thermal fundamental sol., (15.89a) (BEMbankB) Prescribed displacement, (15.211) (BEM2Dcontact2VisB) Initial velocity, (15.102) (BEM_YGMVsplit); Coefficient vector, (14.43a) (s1462LAMincluPFMi) Initial velocity (BEMmesh) Coefficient vector, (8.9d) (s823PRincluUL) Coefficient vector, (8.9d) (s821_1ERincluUL) vi of boundary node at time mDt (vbmf0) Coeff. of thermal fundamental sol., (15.89a) (BEMbankB) Coefficient vector, (8.9d) (s823PRincluUL) Coeff. of thermal fundamental sol., (15.89a) (BEMbankB) Sub-matrix of V, (15.101b), (15.102) (BEM_YGMVsplit) Sub-matrix of V, (15.101b), (15.102) (BEM_YGMVsplit) Matrix used in dynamic BEM, (15.104b) (BEM_YGMVsplit)
VLtype Vtype w
VðuÞ – – –
wbc wg wgA wije
– wi – xeij
Ltype for problem with viscoelastic materials (s1221visco) Type of visocelastic properties (Main) Number of internal points in x direction (internal) Local weight matrix for BFEM, (15.19) (BEMinfluence_YG) Boundary condition of the multi-material wedge (wbcf0) Weight of Gaussian quadrature rule, (A.2a) (wgf0) -i A of (15.249), (15.250b) (material_eigen) Piezoelectric properties, (1.65) (piezoM)
wije_hat
^ eij x
Piezoelectric properties (piezoM)
wije_k
ðxeij Þk x0eij ^ 0eij x xeij xeij xrij ^ rij x x0r ij ^ 0r x ij wk w0 k
Piezoelectric properties at the kth layer, (1.80) (piezoM)
Vdu
wije_p wije_ph wije0 wije0_a wijs wijs_hat wijs_p wijs_ph wk wkd W WCtype We
W – We
Matrix used in dynamic BEM, (15.104b) (BEM_YGMVsplit)
Piezoelectric properties (piezoM) Piezoelectric properties (piezoM) Piezoelectric properties, (1.65) (Main) Piezoelectric properties, (1.65) (Main) Piezoelectric properties, (1.65) (piezoM, piezo2) Piezoelectric properties, (1.75) (piezo2) Piezoelectric properties, (1.75) (piezo2) Piezoelectric properties, (1.71) (piezo2) (15.123c) (wkf0) Derivative of wk , (15.123c) (same as wkf0) Distance between the crack centers (s733COPcrackUL) Wedge-crack type (s533MwedgeSOE) Weight matrix of entire body, (15.18) (BEMinfluence) (continued)
Appendix D: List of Global Variables
485
Variable
Symbol
Description (function)
Wm Wtype x_hat x0L x0m
Wm – ^ x x0
Global weight matrix, BFEM, (15.19) (BEMinfluence_YG) Wedge type (s512wedgeUT) Position of point force or dislocation (x_hatf0) Origin of local coordinate x (x0f0) x-position of crack center (in matrix), Fig. 8.14 (x0mf0)
x0R x0s xa xb xba xg xiije0
x01 x0 x1 xa xb – ti ne;E jk
x0L of the Rth region (BFEM, BEMbankB) x-position of crack center (in inclusion), Fig. 8.14 (x0sf0) Starting point of the distributed load, Fig. 4.11 (s423halfDT) End point of the distributed load, Fig. 4.11 (s423halfDT) ðxb xa Þ=2 (s423halfDT) Abscissae of Gaussian quadrature rule, (A.2a) (same as wgf0) Scaled magnetic permeability tensor, (11.1a) (Main)
xm1
ð1Þ xm
Position of the 1st node of BEM element, (15.8) (BEMmesh)
xm1R
ð1Þ xm ð2Þ xm ð2Þ xm ð3Þ xm ð3Þ xm
xm1 of the Rth region (BEMmesh)
n (x, y) ðx ; y Þ ðx ; y Þ ðx ; y Þ – – – – – – – – y0 x2 y0
Local coordinate, Fig. 15.11 (xmdf0BEM2DcontactMReB) Coordinate of boundary node (Main) Local coordinate of boundary node, (15.58) (BEMbankB) xnL of the Rth region (BEMmesh) Local coord. of source points for particular sol. (BEMbankB) Selected position for printing time variation (Main) Location of x1, Fig. 15.7 (BEMbankB) Location of x2, Fig. 15.7 (BEMbankB) Location of x3, Fig. 15.7 (BEMbankB) Location of x4, Fig. 15.7 (BEMbankB) Matrix collecting the position of internal point (internal) Position of crack tips (Xtipf0) Xtip of the Rth region (BFEM) Origin of local coordinate y (same as x0f0) y-position of crack center (in matrix), Fig. 8.14 (x0mf0) y0L of the Rth region (BFEM, BEMbankB) y-position of crack center (in inclusion), Fig. 8.14 (x0sf0)
xm2 xm2R xm3 xm3R xmd xn xnL xnLR xnpL xyi xy1 xy2 xy3 xy4 Xik Xtip XtipR y0L y0m y0R y0s Y11 Y12 Y21 Y22 Ydk Ydu Ye Yn z z_hat z2_hat zeta zeta_1
x02 Y11 Y12 Y21 Y22 YðkÞ YðuÞ Ye BðkÞ YAðkÞ nc ; Ync
za ^za ^za fa fa;1
Position of the 2nd node of BEM element (15.8) (BEMmesh) xm2 of the Rth region (BEMmesh) Position of the 3rd node of BEM element, (15.9) (BEMmesh) xm3 of the Rth region (BEMmesh)
Matrix Matrix Matrix Matrix Matrix
used used used used used
in in in in in
dynamic dynamic dynamic dynamic dynamic
BEM, BEM, BEM, BEM, BEM,
(15.102) (BEM_YGMVsplit) (15.102) (BEM_YGMVsplit) (15.102) (BEM_YGMVsplit) (15.102) (BEM_YGMVsplit) (15.104b) (BEM_YGMVsplit)
Matrix used in dynamic BEM, (15.104b) (BEM_YGMVsplit) Influence matrix of traction, (15.13) (BEMinfluence) Influence matrix, (15.173) (BEM_YGtoVg) Complex variable, (2.6b) (zf0) Complex variable ^za ¼ ^x1 þ la ^x2 (z_hatf0) Complex variable ^za ¼ ^x1 þ la ^x2 (s833EEincluDLf) Transformed variable of za , (6.4) or (6.40) (same as zf0) @fa =@x1 , (6.5b) or (15.44b) (s15_pgzV) (continued)
486
Appendix D: List of Global Variables
Variable
Symbol
Description (function)
zeta_11
fa;11 ^fa
@ 2 fa =@x21 , (15.44b) (s15_pgzV) Transformed variable of ^za , (6.4) or (6.40) (zeta_hatf0)
^fa;1 ^fa ^f
@^fa =@^x1 , (15.32) (s15_pgzV)
zeta_hat zeta_hat1 zeta1_hat zeta2_hat
a
Transformed variable of ^za , (6.4) (s833EEincluDLf) Transformed variable of ^za , (6.4) (s833EEincluDLf)
af1: s611EholeUL, s612EholeIB, s613EholeAL, s614EholePF, s615EholeDL, s811EEincluUL, s812EEincluPFm, s821_1ERincluUL, s821_2ERincluPF, s831EEincluDL0, s832EEinlcuDLi, s833EEincluDLf, s841EEincluCo, s842EEincluCi, s843EEincluCp, s844EEincluCc, s922Estamp, s1021EholeUH, s1031ERincluUH, s1420LAMincluUSB, s1421LAMholeUSB, s1422LAMholeUH, s1451LAMholePFM, s1461LAMincluPFMo, s1462LAMincluPFMi af2: s622PholeUL, s623PholeIB, s823PRincluUL, s923Pstamp, s933_2Tstamp af3: s721crackUL, s722crackIB, s733COPcrackUL, s742SIFcrackPFs, s743_1IFcrackPFs, s743_2IFcrackUL, s1022crackUH, s1032RLincluUH, s1042IFcrackUH af4: s912FpunchL, s913FpunchM, s914PpunchL, s933_1Cpunch, s942SWpunch, s943SPpunch, s944S2punch, s951P2Fcontact alpha0f1: s841EEincluCo, s842EEincluCi, s843EEincluCp alpha0Rf0: BFEM, BEMbankB A1f0: G7inclusionCouple, s84_CoeffUniform, s431bimatPFD, s742SIFcrackPFs, s743_1IFcrackPFs, s743_2IFcrackUL, s744CO2IFcrackUL, s812EEincluPFm, s831EEincluDLo, s832EEincluDLi, s833EEincluDLf, s1461LAMincluPFMo, s1462LAMincluPFMi bf2: s943SPpunch, s944S2punch, s951P2Fcontact, s952P2contact b_hatf0: s415infDL, s425halfDL, s431bimatPFD, s432bimatPFDi, s523MwedgePFD, s615EholeDL, s831EEincluDL0, s832EEinlcuDLi, s833EEincluDLf B1if0: s952P2contact, s1042IfcrackUH, s1462LAMincluPFMi B1Lf0: s742SIFcrackPFs, s743_1IFcrackPFs, s743_2IFcrackUL, s744CO2IFcrackUL, s1042IFcrackUH Bc1f0: qEkA of G4holeCouple, s1451LAMholePFM c2af0: s15_pgzV, s1461LAMincluPFMo, s1451LAMholePFM cnf0: s841EEincluCo, s842EEincluCi, s843EEincluCp, s844EEincluCc CSf0: BEM2Dcontact2VisB, BEM2DcontactMReB deltaf0: s712IFcrackNTS, s912FpunchL, s913FpunchM, s914PpunchL, s922Estamp, s923Pstamp, s933_1Cpunch, s933_2Tstamp, s942SWpunch, s943SPpunch, s944S2punch, s951P2Fcontact, s1042IFcrackUH, s1052MwedgeTH delta0f0: s533MwedgeSOE, s542MwedgeNTS, s743_1IfcrackPFs, s743_2IfcrackUL, s744CO2IfcrackUL e0f0: s1021EholeUH, s1022crackUH, s1031ERincluUH, s1032RLincluUH, s1422LAMholeUH eps1_inff0: s411infUL, s732CO2crackUL, s733COPcrackUL epsilonVf0: s742SIFcrackPFs, s743_1IFcrackPFs, s743_2IFcrackUL s744CO2IFcrackUL etaf0: s942SWpunch, s943SPpunch, s944S2punch, s951P2Fcontact etaf1: BEMbankB, BEM2DcontactRMeB etaSf0: BEM2Dcontact2VisB, BEM2DcontactRMeB E1f0: s14_mdinf, s1422LAMholeUH, s1441LAMinfPFM, s1451LAMholePFM, s1461LAMincluPFMo, s1462LAMincluPFMi ENGf0: s721crackUL, s741IFcrack, s1022crackUH f_hatf0: s1441LAMinfPFM, s1451LAMholePFM, s1461LAMincluPFMo, s1462LAMincluPFMi f3f0: G1infCouple, G4holeCouple, G7inclusionCouple fxf0: BEM2DcontactMReB, BEM2DcontactMRvBt Fnf0: s942SWpunch, s943SPpunch, s944S2punch, s951P2Fcontact, s952P2contact FX2f0: G1infCouple, G4holeCouple, G7inclusionCouple g0f0: BEM2Dcontact2ElaB, BEM2Dcontact2VisB gamf0: BEM2Dcontact2VisB, BEM2DcontactMRvBt gamma2f0: s84_CoeffUniform, s812EEincluPFm, s831EEincluDL0, s832EEinlcuDLi, s833EEincluDLf gamqf0: BEM2Dcontact2VisB, BEM2DcontactMRvBt hf0f0: s1021EholeUH, s1022crackUH, s1031ERincluUH, s1032RLincluUH, s1042IFcrackUH kf2: s622PholeUL, s623PholeIB, s823PRincluUL, s923Pstamp k0f1: s1021EholeUH, s1022crackUH, s1031ERincluUH, s1032RLincluUH loadinff0: s611EholeUL, s612EholeIB, s622PholeUL, s623PholeIB, s821_1ErincluUL, s823PrincluUL loadstr533f0: s542MwedgeNTS, s712IFcrackNTS, s713crackTI Lf0: s913FpunchM, s914PpunchL, s1021EholeUH, s1422LAMholeUH Lamf0: s533MwedgeSOE, s1042IfcrackUH, s712IFcrackNTS Lam0f0: s542MwedgeNTS, s742SIFcrackPFs, s743_1IfcrackPFs, s743_2IfcrackUL, s744CO2IfcrackUL Lamdaf0: s912FpunchL, s913FpunchM, s914PpunchL, s922Estamp, s923Pstamp, s933_1Cpunch, s933_2Tstamp LiMtf0: s743_2IfcrackUL, s744CO2IfcrackUL m_hatf0: s414infPM, s424halfPM, s522wedgePM, s1441LAMinfPFM, s1451LAMholePFM, s1461LAMincluPFMo, s1462LAMincluPFMi maf0: s1021EholeUH, s1031ERincluUH, s1422LAMholeUH Msf0: s9_delLam, s952P2contact n_Gaussf0: BEMbankB, s423halfDT, s432bimatPFDi, s732CO2crackUL, s733COPcrackUL, s742SIFcrackPFs, s743_1IFcrackPFs, s744CO2IFcrackUL, s1323crackUB, s1420LAMincluUSB, s1421LAMholeUSB, s1422LAMholeUH, s1451LAMholePFM
Appendix D: List of Global Variables
487
ncf0: BEM2DcontactMReB, BEM2DcontactMRvBt nCf0: BEMbankB, BEM2DcontactMReB, BEM2DcontactMRvBt npCf0: BEM2DcontactMReB, BEM2DcontactMRvBt nnCf0: BEM2DcontactMReB, BEM2DcontactMRvBt nodeCf0: BEM2DcontactMReB, BEM2DcontactMRvBt nodeNCf0: BEM2DcontactMReB, BEM2DcontactMRvBt ntsf0: Main, BEMbankB, Laplace_inv, TableFig Naf0: s942SWpunch, s943SPpunch p_hatf0: s413infPF, s421halfPF, s422halfPFs, s431bimatPFD, s432bimatPFDi, s521wedgePF, s523MwedgePFD, s524MwedgePF, s614EholePF, s812EEincluPFm, s821_2ERincluPF, s1441LAMinfPFM, s1451LAMholePFM, s1461LAMincluPFMo, s1462LAMincluPFMi psi0f0: s922Estamp, s923Pstamp, s933_2Tstamp qf0: s912FpunchL, s914PpunchL, s922Estamp, s923Pstamp, s933_1Cpunch, s933_2Tstamp q_inff0: s84_CoeffUniform, s821_1ERincluUL, s823PRincluUL q0f0: s1021EholeUH, s1022crackUH, s1031ERincluUH, s1032RLincluUH, s1422LAMholeUH r0f0: s542MwedgeNTS, s712IFcrackNTS, s741IFcrack, s742SIFcrackPFs, s743_1IFcrackPFs, s743_2IFcrackUL, s744CO2IFcrackUL r2tauf0: s942SWpunch, s943SPpunch, s944S2punch, s951P2Fcontact R1f0: s951P2Fcontact, s952P2contact s_alphaf0: s612EholeIB, s623PholeIB, s722crackIB snf0: BEMbankB, s812EEinlcuPFm, s831EEincluDL0, s832EEinlcuDLi, s833EEincluDLf, s841EEincluCo, s842EEincluCi, s843EEincluCp, s844EEincluCc, s1461LAMincluPFMo, s1462LAMincluPFMi Sf0: s9_delLam, s1021EholeUH, s1031ERincluUH, s1422LAMholeUH SIFf0: s84_uphi, s542MwedgeNTS, s712IFcrackNTS, s713crackTI, s721crackUL, s722crackIB, s723crackAL, s725crackDL, s73CO22crackUL, s733COPcrackUL, s741IFcrack, s742SIFcrackPFs, s743_1IFcrackPFs, s743_2IFcrackUL, s744CO2IFcrackUL, s1022crackUH, s1032RLincluUH, s1323crackUB, s1452LAMcrackPFM SLtypef0: TableFig, uphi_bank t0_hatf0: s742SIFcrackPFs, s743_1IfcrackPFs t1_inff0: s411infUL, s732CO2crackUL, s733COPcrackUL, s823PrincluUL t2_inff0: s411infUL, s732CO2crackUL, s733COPcrackUL, s744CO2IfcrackUL, s823PrincluUL th0f0: s512wedgeUT, s521wedgePF, s522wedgePM, s523MwedgePFD, s524wedgePF thetaCf0: BEM2Dcontact2ElaB, BEM2Dcontact2VisB thff0: s512wedgeUT, s521wedgePF, s522wedgePM, s524wedgePF thkf0: s431bimatPFD, s432bimatPFDi, s523MwedgePFD, s524wedgePF, s533MwedgeSOE, s1052MwedgeTH timekf0: Main, s1221visco tvbmf0: BEM2Dcontact2VisB, BEM2DcontactMRvB t vbmf0: BEM2Dcontact2VisB, BEM2DcontactMRvBt wbcf0: s512wedgeUT, s1052MwedgeTH wgf0: s423halfDT, s732CO2crackUL, s733COPcrackUL, s742SIFcrackPFs, s743_1IFcrackPFs, s744CO2IFcrackUL wkf0: BEMinfluence, BEMinfluenceIN x_hatf0: s413infPF, s414infPM, s415infDL, s421halfPF, s422halfPFs, s424halfPM, s425halfDL, s431bimatPFD, s614EholePF, s615EholeDL, s812EEincluPFm, s821_2ERincluPF, s831EEincluDL0, s832EEinlcuDLi, s1441LAMinfPFM, s1451LAMholePFM, s1461LAMincluPFMo, s1462LAMincluPFMi x0f0: BEMbankB, curve and surface of internal x0mf0: s841EEincluCo, s843EEincluCp x0sf0: s842EEincluCi, s843EEincluCp xmdf0: BEM2DcontactMReB, BEM2DcontactMRvBt Xtipf0: s732CO2crackUL, s744CO2IFcrackUL, s841EEincluCo, s842EEincluCi, s843EEincluCp, s844EEincluCc zf0: G4holeCouple, G7inclusionCouple z_hatf0: G4holeCouple, G7inclusionCouple, s821_2ERincluPF, s832EEincluDLi, s1451LAMholePFM, s1461LAMincluPFMo, s1462LAMincluPFMi zeta_hatf0: G4holeCouple, G7inclusionCouple, s812EEincluPFm, s821_2ERincluPF, s831EEincluDLo, s832EEincluDLi, s1451LAMholePFM, s1461LAMincluPFMo, s1462LAMincluPFMi
Appendix E List of Input Files
Following is a list of input files required in each different case solved by AEPH. Since the detailed description of input files has been stated in the related sections, only short description together with the section name are shown in this list. file name
Description (Section)
Input files for all cases input_control
Control parameters (Sect. 3.1.4)
Input files for material properties input_elastic1
Elastic properties (Sect. 3.1.4)
input_piezoM1
Piezoelastic/MEE properties (Sect. 3.1.4)
input_visco1
Viscoelastic properties (Sect. 3.1.4)
input_thermal1
Thermal properties (Sect. 3.1.4) Note: change 1 to 2 for properties of the 2nd material such as input_elastic2, input_piezo2, input_visco2, input_thermal2. Similarly, change 1 to 3, 4, …, for the 3rd, 4th, …., material, etc.
Input files for the arrangement of internal points input_variable
Space and time variables (Sect. 3.1.4) Note: For problem independent of time (Tmtype = 0): • One row for Otype = 1, 11, 12, 13, or 2 (curve or surface) • Or, 1 + n rows for Otype = 3 (n: number of points) For problem related to time (Tmtype 6¼ 0): if Ltype = 10 or Ltype > 100 • one or 1 + n rows for space variables (like Tmtype = 0) & 3 + m more rows for time variables (m: number of selected position for internal points) if Ltype < 100 & Ltype 6¼ 10 • 3 rows for time variables • & 3 + m + p + 1 more rows for time variables (m: number of selected position for internal points, p: number of selected position for boundary nodes) if Ltype = 100 • 3 (Otype 6¼ 2) or 4 (Otype = 2) rows for the indices of time and space variables of the internal points • if a BEM problem is considered, plus 3 or 4 more rows for the indices of time and space variables of the boundary nodes
Input files for load and structural information input_loadstr
Load and structural information (Section: see below) When Ltype > 100 (analytical solution): see Section of Ltype, for example, if Ltype = 411, see Sect. 4.1.1, etc. When Ltype < 100 (BEM): see Sect. 15.1.7
Additional input files for BEM input_xn
Nodal coordinate (Sect. 15.1.7)
input_bc
Boundary condition (Sect. 15.1.7)
input_node1
Element-node connection (Sect. 15.1.7) Note: change 1 to 2 for the node of the 2nd sub-region such as input_node2. Similarly, change 1 to 3, 4, …, for the 3rd, 4th, …., sub-region, etc.
input_corner
Corner-node connection—for coupled-BEM (Sect. 15.1.7)
input_temp
Temperature information—for thermal-BEM (Sect. 15.1.7)
input_tempIN
Temperature information—for thermal-BEM (Sect. 15.1.7)
input_xnp
Points of particular solution—for dynamic-BEM (Sect. 15.1.7)
input_qt
External load—for dynamic-BEM (Sect. 15.1.7)
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2021 C. Hwu, Anisotropic Elasticity with Matlab, Solid Mechanics and Its Applications 267, https://doi.org/10.1007/978-3-030-66676-7
489
490
Appendix E: List of Input Files
As stated at the beginning, the detailed description of the input files can be found in the related sections. For the convenience of the users’ reference, in the following we collect the contents of all input files by using proper symbols whose details can also be found in the related sections. Here, the size of a matrix will be noted by (a:b, c:d) in which a:b stands for row a to row b and c:d stands for column c to column d in the related text of the input file. The symbol “;” denotes the end of a text line and the remaining text should be input through the next line.
E.1 Input Files for All Cases (Sect. 3.1.4) input_control: control parameters Nmat, Dtype, Ltype, Otype, Icheck, E0, h0, eps; (Etype, Type, Ptype, Vtype)k, k = 1, …, Nmat
E.2 Input Files for Material Properties (Sect. 3.1.4) input_elastic1: elastic properties Etype = 1: E; m, (h) Etype = 2: E1 ; E2 ; E3 ; G23 ; G31 ; G12 ; m23 ; m13 ; m12 ; af , (h) Etype = 3: Cij ð1:6; 1:6Þ; (h) Etype = 4: Sij ð1:6; 1:6Þ; (h) Etype = 5: E1 ; E2 ; G12 ; m12 ; af , (h) Etype = 6: n; nm ; ðE1 ; E2 ; G12 ; m12 Þi ; i ¼ 1; . . .; nm ; ðm; af ; hÞk ; k ¼ 1; . . .; n Note: (h) means that h is input only when Dtype = 3, 31, or 32. input_piezoM1: piezoelastic/MEE properties Ptype = 1: CijE ð1:6; 1:6Þ; eij ð7:9; 1:6Þ; xeij ð7:9; 7:9Þ; (h) Ptype = 2: CijD ð1:6; 1:6Þ; hij ð7:9; 1:6Þ; beij ð7:9; 7:9Þ; (h) Ptype = 3: SEij ð1:6; 1:6Þ; dij ð7:9; 1:6Þ; xrij ð7:9; 7:9Þ; (h) Ptype = 4: SD ij ð1:6; 1:6Þ; gij ð7:9; 1:6Þ; brij ð7:9; 7:9Þ; (h) Ptype = 5: n; nm ; ðCijE ; eij ; xeij Þ‘ ; ‘ ¼ 1; . . .; nm ; ðm; hÞk ; k ¼ 1; . . .; n
Appendix E: List of Input Files
Ptype = 11: CijE;H ð1:6; 1:6Þ; e;H eH ij ð7:9; 1:6Þ; xij ð7:9; 7:9Þ;
qEij ð10:12; 1:6Þ; meij ð10:12; 7:9Þ; ne;E ij ð10:12; 10:12Þ; (h) Ptype = 12: CijE;B ð1:6; 1:6Þ; eBij ð7:9; 1:6Þ; xe;B ij ð7:9; 7:9Þ; ~hE ð10:12; 1:6Þ; ge ð10:12; 7:9Þ; te;E ð10:12; 10:12Þ; (h) ij ij ij Ptype = 13: CijD;H ð1:6; 1:6Þ; e;H hH ij ð7:9; 1:6Þ; bij ð7:9; 7:9Þ; e;D e qD ij ð10:12; 1:6Þ; 1ij ð10:12; 7:9Þ; nij ð10:12; 10:12Þ; (h)
Ptype = 14: CijD;B ð1:6; 1:6Þ; hBij ð7:9; 1:6Þ; be;B ij ð7:9; 7:9Þ; ~hD ð10:12; 1:6Þ; ke ð10:12; 7:9Þ; te;D ð10:12; 10:12Þ; (h) ij ij ij Ptype = 15: SE;H ij ð1:6; 1:6Þ; dijH ð7:9; 1:6Þ; xr;H ij ð7:9; 7:9Þ; d~ijE ð10:12; 1:6Þ; mrij ð10:12; 7:9Þ; nr;E ij ð10:12; 10:12Þ; (h) Ptype = 16: SE;B ij ð1:6; 1:6Þ; dijB ð7:9; 1:6Þ; xr;B ij ð7:9; 7:9Þ; ~gEij ð10:12; 1:6Þ; grij ð10:12; 7:9Þ; tr;E ij ð10:12; 10:12Þ; (h) Ptype = 17: SD;H ij ð1:6; 1:6Þ; r;H gH ij ð7:9; 1:6Þ; bij ð7:9; 7:9Þ;
d~ijD ð10:12; 1:6Þ; 1rij ð10:12; 7:9Þ; nr;D ij ð10:12; 10:12Þ; (h) Ptype = 18: SD;B ij ð1:6; 1:6Þ; gBij ð7:9; 1:6Þ; br;B ij ð7:9; 7:9Þ; r;D r ~gD ij ð10:12; 1:6Þ; kij ð10:12; 7:9Þ; tij ð10:12; 10:12Þ; h
Ptype = 19: n; nm ; e;H E e;E e ðCijE;H ; eH ij ; xij ; qij ; mij ; nij Þ‘ ; ‘ ¼ 1; . . .; nm ;
ðm; hÞk ; k ¼ 1; . . .; n Note: (h) means that h is input only when Dtype = 31, 32, 311, 312, 321, or 322. input_visco1: viscoelastic properties Vtype = 1: ns ; nG ; G0 ; j; qk ; xk Vtype = 2: ns ; nG ; G0 ; m; qk ; xk
491
492
Appendix E: List of Input Files
Vtype = 3: ns ; x; Cij0 ; Cij1 Vtype = 4: ns ; nC ; qk ; x; Cij0 input_thermal1: thermal properties Ttype = 1: k; a for isotropic elastic materials Ttype = 2: k1 ; k2 ; k3 ; a1 ; a2 ; a3 for orthotropic elastic materials Ttype = 3: kij ð1:3; 1:3Þ; bij ð4:6; 1:3Þ for anisotropic elastic materials ð4:7; 1:3Þ for piezoelectric materials ð4:8; 1:3Þ for MEE materials Ttype = 4: kij ð1:3; 1:3Þ; aij ð4:6; 1:3Þ for anisotropic elastic materials ð4:7; 1:3Þ for piezoelectric materials ð4:8; 1:3Þ for MEE materials Ttype = 5: k1 ; k2 ; a1 ; a2 for fiber-reinforced composite materials Ttype = 6: ðk1 ; k2 ; a1 ; a2 Þ‘ ; ‘ ¼ 1; . . .; nm when the associated Etype = 6, or ðkij Þ‘ , ðaij Þ‘ , ‘ ¼ 1; . . .; nm , when the associated Ptype = 5 or 19. Here, for each ‘th material, kij and aij are input by the way of Type = 4. Note: change 1 to 2 for properties of the 2nd material such as input_elastic2, input_piezo2, input_visco2, input_thermal2. Similarly, change 1 to 3, 4, …, for the 3rd, 4th, …., material, etc.
E.3 Input Files for the Arrangement of Internal Points (Sect. 3.1.4) input_variable: space and time variables Otype = 1, 11, 12, or 13: cur and the variables describing the curve cur = 1 for piecewise lines: 1; n‘ ; x1 ; y1 ; xk þ 1 ; yk þ 1 ; nk ; k ¼ 1; . . .; n‘ cur = 2 for a circular curve: 2; x0 ; y0 ; a; w1 ; w2 ; n cur = 3 for a slanted elliptical curve: 3; x0 ; y0 ; a; b; w1 ; w2 ; n; a cur = 4 for a slanted polygon-like curve: 4; x0 ; y0 ; a; c; e; k; w1 ; w2 ; n; a Otype = 2: surf, and the variables describing the surface surf = 1 for a slanted rectangular surface: 1; x1 ; y1 ; x2 ; y2 ; nx ; ny ; a
Appendix E: List of Input Files
493
surf = 2 for a circular surface (including circular ring or sector): 2; x0 ; y0 ; r1 ; w1 ; r2 ; w2 ; nr ; nw surf = 3 for a slanted elliptical surface (including elliptical ring or sector): 3; x0 ; y0 ; c; a1 ; w1 ; a2 ; w2 ; na ; nw ; a surf = 4 for a slanted polygon-like surface (including polygon-like ring or sector): 4; x0 ; y0 ; c; e; k; a1 ; w1 ; a2 ; w2 ; na ; nw ; a surf = 5 for a rectangular surface with a polygon-like hole/inclusion: 5; x1 ; y1 ; x2 ; y2 ; nx ; ny ; x0 ; y0 ; a; c; e; k; nw ; a; nmax Otype = 3: discrete points n; x1 ; y1 ; x2 ; y2 ; . . .; xn ; yn Note: change n to (n1, n2, …nk,…, ns) if multiple domains are considered, where s is the number of sub-region which is input through the other text file such as input_loadstr.txt. For problems related to time (Tmtype 6¼ 0), additional data should be provided as follows. (i) Ltype = 10 or Ltype > 100 t0 ; tf ; Dt; ðsÞ nt ; nð1Þ x ; . . .; nx ; ðs: number of the subregionÞ
t1 ; t2 ; . . .:; tn ; ðn: number of selected time for printing space variationÞ x1 ; y1 ; x2 ; y2 ; . . .:; xm ; ym ðm: number of selected position for printing time variationÞ ð2Þ ðsÞ Here; n ¼ nt ; m ¼ nð1Þ x þ nx þ þ nx :
(ii) Ltype < 100 & Ltype 6¼ 10 t0 ; tf ; Dt; ðsÞ nt ; nð1Þ x ; . . .; nx ; ðs: number of the subregionÞ t1 ; t2 ; . . .:; tn ; ðn: number of selected time for printing space variationÞ
x1 ; y1 ; x2 ; y2 ; . . .:; xm ; ym ðm: number of selected position of internal pointÞ nð1Þ nðsÞ x ; . . .; x ; ðs: number of the subregionÞ x1 ; y1 ; x2 ; y2 ; . . .:; x‘ ; y‘ ð‘: number of selected position of boundary nodesÞ ð2Þ ðsÞ Here; n ¼ nt ; m ¼ nð1Þ nð1Þ nð2Þ nðsÞ x þ nx þ þ nx ; ‘ ¼ x þ x þ þ x :
(iii) Ltype = 100 n; m; k1 ; k2 ; . . .:; kn ; ðn: number of selected time for printing space variationÞ i1 ; i2 ; . . .:; im ; ðm: number of selected position for printing time variationÞ j1 ; j2 ; . . .:; jm ðif Otype ¼ 2Þ Here; tp ¼ t0 þ ðkp 1ÞDt; p ¼ 1; 2; . . .; n; xq ¼ xðiq ; jq Þ; q ¼ 1; 2; . . .; m:
E.4 Input Files for Load and Structural Information (Sects. from 4.1.1 to 15.1.7) input_loadstr.txt: load and structural information Ltype > 100 (analytical solution):
494
Appendix E: List of Input Files
Ltype = 411 (Uniform Load—s411infUL) Case1: 1; r1 ; a (unidirectional tension r1 directed at angle a from x1 axis) 1 1 1 Case2: 2; r1 1 ; r2 (biaxial loads r1 and r2 )
Case3: 3; s1 (inplane shear s1 ) 1 1 1 Case4: 4; s1 13 ; s23 (antiplane shear s13 and/or s23 ) 1 1 1 1 Case5: 5; r1 11 ; r22 ; r23 ; r13 ; r12 (general loading condition)
Ltype = 412 (Inplane Bending—s412infIB) M; a; I Ltype = 413 (Point Force—s413infPF) ^p1 ; ^p2 ; ^p3 ; ^x1 ; ^x2 Ltype = 414 (Point Moment—s414infPM) ^ ^x1 ; ^x2 m; Ltype = 415 (Dislocation—s415infDL) ^ b1 ; ^b2 ; ^b3 ; ^x1 ; ^x2 Ltype = 421 (Point Force—s421halfPF) ^ p1 ; ^p2 ; ^p3 ; ^x1 ; ^x2 Ltype = 422 (Point Force on Surface—s422halfPFs) ^p1 ; ^p2 ; ^p3 ; ^x1 ; ^x2 Ltype = 423 (Distributed Load—s423halfDT) T n; xa ; xb ; nGauss ; pij Ltype = 424 (Point Moment—s424halfPM) ^ ^x1 ; ^x2 m; Ltype = 425 (Dislocation—s425halfDL) ^ b1 ; ^b2 ; ^b3 ; ^x1 ; ^x2 Ltype = 431 (Point Force and Dislocation—s431bimatPFD) ^p1 ; ^p2 ; ^p3 ; ^b1 ; ^b2 ; ^b3 ; ^x1 ; ^x2 Ltype = 432 (Point Force and Dislocation on the Interface—s432bimatPFDi) ^ p1 ; ^p2 ; ^p3 ; ^b1 ; ^b2 ; ^b3 ; a0 Ltype = 512 (Critical Wedge Angles—s512wedgeUT) h ; h þ ; t1 ; t2 ; t3 ; t1þ ; t2þ ; t3þ Ltype = 521 (A Single Wedge Under a Point Force—s521wedgePF) h ; h þ ; ^p1 ; ^p2 ; ^p3 Ltype = 522 (A Single Wedge Under a Point Moment—s522wedgePM) ^ nG h ; h þ ; m;
Appendix E: List of Input Files
Ltype = 523 (Multi-Material Wedge Spaces—s523MwedgePFD) ^p1 ; ^p2 ; ^p3 ; ^b1 ; ^b2 ; ^b3 ; h0 ; h1 ; . . .; hn Ltype = 524 (Multi-Material Wedges—s524MwedgePF) ^p1 ; ^p2 ; ^p3 ; h0 ; h1 ; . . .; hn Ltype = 533 (Eigenfunctions—s533MwedgeSOE) BC; h0 ; h1 ; . . .; hn ; nd ; d0 ; d1 ; d2 ; TOLd ; TOLf ; Maxi Ltype = 542 (A Unified Definition—s542MwedgeNTS) ‘; KI ; KII ; KIII ; BC; h0 ; h1 ; . . .; hn ; nd ; d0 ; d1 ; d2 ; TOLd ; TOLf ; Maxi Ltype = 543 (H-Integral for 2D Interface Corners—s543MwedgeSIF2d) BC; h0 ; h1 ; . . .; hn ; hSIF ; nd ; d0 ; d1 ; d2 ; TOLd ; TOLf ; Maxi ; Htype; nG ; rI ; ‘; x0 ; y0 ; z0 ; ðn‘ Þ; Htype ¼ 1: ðu1 ; u2 ; u3 ; t1 ; t2 ; t3 Þk ; k ¼ 1; 2; . . .; nG ; Htype ¼ 2: ðu1 ; u2 ; u3 ; r11 ; r22 ; r12 ; r13 ; r23 ; r33 Þk ; k ¼ 1; 2; . . .; nG Htype ¼ 3: ðx1 ; x2 ; u1 ; u2 ; u3 ; t1 ; t2 ; t3 Þk ; k ¼ 1; 2; . . .; n; ðn [ nG Þ; Htype ¼ 4: ðx1 ; x2 ; u1 ; u2 ; u3 ; r11 ; r22 ; r12 ; r13 ; r23 ; r33 Þk ; k ¼ 1; 2; . . .; n; ðn [ nG Þ; Htype ¼ 5: ðx1 ; x2 ; . . .; xn‘ ; y1 ; y2 ; . . .; yn‘ Þ; ðu1 ; u2 ; u3 ; t1 ; t2 ; t3 Þk ; k ¼ 1; 2; . . .; n‘ nG ; Htype ¼ 6: ðx1 ; x2 ; . . .; xn‘ ; y1 ; y2 ; . . .; yn‘ Þ; ðu1 ; u2 ; u3 ; r11 ; r22 ; r12 ; r13 ; r23 ; r33 Þk ; k ¼ 1; 2; . . .; n‘ nG Note: n‘ is input only when Htype = 5 or 6. Ltype = 544 (H-Integral for 3D Interface Corners—s544MwedgeSIF3d) BC; h0 ; h1 ; . . .; hn ; hSIF ; nd ; d0 ; d1 ; d2 ; TOLd ; TOLf ; Maxi ; Htype; nG ; rI ; ‘; x0 ; y0 ; z0 ; ðn‘ Þ; nr ; n1 ; ðu1 ; u2 ; u3 ; t1 ; t2 ; t3 Þk ; k ¼ 1; 2; . . .; nG ; or . . .ðrefer to s543 MwedgeSIF2dÞ; ðu1;3 ; u2;3 ; u3;3 ; r13;3 ; r23;3 ; r33;3 Þk ; k ¼ 1; 2; . . .; nG ; or ðx1 ; x2 ; u1;3 ; u2;3 ; u3;3 ; r13;3 ; r23;3 ; r33;3 Þk ; k ¼ 1; 2; . . .; n2 ; Note: n‘ is input only when Htype=5 or 6. Ltype = 611 (Uniform Load at Infinity—s611EholeUL) Case1: a; b; 1; r1 ; a 1 Case2: a; b; 2; r1 1 ; r2
Case3: a; b; 3; s1 1 Case4: a; b; 4; s1 13 ; s23 1 1 1 1 1 Case5: a; b; 5; r1 11 ; r22 ; r33 ; r23 ; r13 ; r12
depending on the load case described in Sect. 4.1.1
495
496
Appendix E: List of Input Files
Ltype = 612 (In-Plane Bending at Infinity—s612EholeIB) a; b; M; a; I Ltype = 613 (Arbitrary Load Along the Hole Boundary—s613EholeAL) a; b; n; ½c0 ; c1 ; . . .; cn T ; ½d1 ; d2 ; . . .; dn T Ltype = 614 (Point Force at an Arbitrary Location—s614EholePF) a; b; ^p1 ; ^p2 ; ^p3 ; ^x1 ; ^x2 Ltype = 615 (Dislocation at an Arbitrary Location—s615EholeDL) a; b; ^b1 ; ^b2 ; ^b3 ; ^x1 ; ^x2 Ltype = 622 (Uniform Load at Infinity—s622PholeUL) Case1: a; c; e; k; 1; r1 ; a 1 Case2: a; c; e; k; 2; r1 1 ; r2
Case3: a; c; e; k; 3; s1 1 Case4: a; c; e; k; 4; s1 13 ; s23 1 1 1 1 1 Case5: a; c; e; k; 5; r1 11 ; r22 ; r33 ; r23 ; r13 ; r12
depending on the load case described in Sect. 4.1.1. Ltype = 623 (In-Plane Bending at Infinity—s623PholeIB) a; c; e; k; M; a; I Ltype = 711 (Cracks in Homogeneous Materials—s711crackNTS) KI ; KII ; KIII Ltype = 712 (Interfacial Cracks—s712IFcrackNTS) ‘; KI ; KII ; KIII Ltype = 713 (Cracks Terminating at the Interfaces—s713crackTI) a Ltype = 721 (Uniform Load at Infinity—s721crackUL) Case1: a; 0; 1; r1 ; a 1 Case2: a; 0; 2; r1 1 ; r2
Case3: a; 0; 3; s1 1 Case4: a; 0; 4; s1 13 ; s23 1 1 1 1 1 Case5: a; 0; 5; r1 11 ; r22 ; r33 ; r23 ; r13 ; r12
depending on the load case described in Sect. 4.1.1. Ltype = 722 (In-Plane Bending at Infinity—s722crackIB) a; 0; M; a; I
Appendix E: List of Input Files
Ltype = 723 (Arbitrary Load on the Crack Surfaces—s723crackAL) a; 0; n; ½c0 ; c1 ; . . .; cn ; ½d1 ; d2 ; . . .; dn Ltype = 724 (Point Force at Arbitrary Location—s724crackPF) a; 0; ^p1 ; ^p2 ; ^p3 ; ^x1 ; ^x2 Ltype = 725 (Dislocation at Arbitrary Location—s725crackDL) a; 0; ^b1 ; ^b2 ; ^b3 ; ^x1 ; ^x2 Ltype = 732 (Two Collinear Cracks—s732CO2crackUL) Case1: a1 ; b1 ; a2 ; b2 ; 1; r1 ; a 1 Case2: a1 ; b1 ; a2 ; b2 ; 2; r1 1 ; r2
Case3: a1 ; b1 ; a2 ; b2 ; 3; s1 1 Case4: a1 ; b1 ; a2 ; b2 ; 4; s1 13 ; s23 1 1 1 1 1 Case5: a1 ; b1 ; a2 ; b2 ; 5; r1 11 ; r22 ; r33 ; r23 ; r13 ; r12
depending on the load case described in Sect. 4.1.1. Ltype = 733 (Collinear Periodic Cracks—s733COPcrackUL) Case1: a; W; 1; r1 ; a 1 Case2: a; W; 2; r1 1 ; r2
Case3: a; W; 3; s1 1 Case4: a; W; 4; s1 13 ; s23 1 1 1 1 1 Case5: a; W; 5; r1 11 ; r22 ; r33 ; r23 ; r13 ; r12
depending on the load case described in Sect. 4.1.1. Ltype = 741 (General Solutions—s741IFcrack) ‘; KI ; KII ; KIII Ltype = 742 (A Semi-infinite Interface Crack—s742SIFcrackPFs) a; ‘; ^t1 ; ^t2 ; ^t3 Ltype = 743 (A Finite Interface Crack—s743_1IFcrackPFs, s743_2IFcrackUL) Point load: a; c; ‘; ^t1 ; ^t2 ; ^t3 Uniform load: a; ‘; ^t1 ; ^t2 ; ^t3 Ltype = 744 (Two Collinear Interface Cracks—s744CO2IFcrackUL) 1 1 a1 ; b1 ; a2 ; b2 ; ‘; r1 12 ; r22 ; r23
Ltype = 811 (Uniform Load at Infinity—s811EEincluUL) Case1: a; b; 1; r1 ; a 1 Case2: a; b; 2; r1 1 ; r2
Case3: a; b; 3; s1 1 Case4: a; b; 4; s1 13 ; s23
497
498
Appendix E: List of Input Files 1 1 1 1 1 Case5: a; b; 5; r1 11 ; r22 ; r33 ; r23 ; r13 ; r12
depending on the load case described in Sect. 4.1.1. Ltype = 812 (A Point Force at the Matrix—s812EEincluPFm) a; b; ^p1 ; ^p2 ; ^p3 ; ^x1 ; ^x2 ; ns Ltype = 821 (Elliptical Rigid Inclusions—s821_1ERincluUL, s821_2ERincluPF) Uniform load at infinity: Same as that stated for function-s811EEincluUL A point force at the matrix: a; b; ^p1 ; ^p2 ; ^p3 ; ^x1 ; ^x2 Ltype = 822 (Rigid Line Inclusions—s822_1RLincluUL) Uniform load at infinity: Same as that stated for function-s811EEincluUL, in which the minor axis b of elliptical inclusion should be set to zero. A point force at the matrix: Similar to the previous one, the solution to this problem (Fig. 8.6) can also be obtained from (8.21) and (8.22) with b = 0, i.e., this problem can be solved by using the function s821_2ERincluPF. Ltype = 823 (Polygon-like Rigid Inclusions—s823PRincluUL) Case1: a; c; e; k; 1; r1 ; a 1 Case2: a; c; e; k; 2; r1 1 ; r2
Case3: a; c; e; k; 3; s1 1 Case4: a; c; e; k; 4; s1 13 ; s23 1 1 1 1 1 Case5: a; c; e; k; 5; r1 11 ; r22 ; r33 ; r23 ; r13 ; r12
depending on the load case described in Sect. 4.1.1. Ltype = 831 (Dislocations Outside the Inclusions—s831EEincluDLo) a; b; ^b1 ; ^b2 ; ^b3 ; ^x1 ; ^x2 ; ns Ltype = 832 (Dislocations Inside the Inclusions—s832EEincluDLi) a; b; ^b1 ; ^b2 ; ^b3 ; ^x1 ; ^x2 ; ns Ltype = 833 (Dislocations on the Interfaces—s833EEincluDLf) a; b; ^b1 ; ^b2 ; ^b3 ; ^x1 ; ^x2 ; ns Ltype = 841 (Cracks Outside the Inclusions—s841EEincluCo) Case1: a; b; ‘; a0 ; x01 ; x02 ; n; ns ; 1; r1 ; a 1 Case2: a; b; ‘; a0 ; x01 ; x02 ; n; ns ; 2; r1 1 ; r2
Case3: a; b; ‘; a0 ; x01 ; x02 ; n; ns ; 3; s1 1 Case4: a; b; ‘; a0 ; x01 ; x02 ; n; ns ; 4; s1 13 ; s23 1 1 1 1 1 Case5: a; b; ‘; a0 ; x01 ; x02 ; n; ns ; 5, r1 11 ; r22 ; r33 ; r23 ; r13 ; r12
depending on the load case described in Sect. 4.1.1. Ltype = 842 (Cracks Inside the Inclusions—s842EEincluCi) Same as that stated for function-s841EEincluCo except that x01 ; x02 is now represented by x1 ; x2 .
Appendix E: List of Input Files
499
Ltype = 843 (Cracks Penetrating the Inclusions—s843EEincluCp) Case1: a; b; ‘1 ; ‘2 ; a0 ; x01 ; x02 ; x1 ; x2 , n; ns ; 1; r1 ; a 1 Case2: a; b; ‘1 ; ‘2 ; a0 ; x01 ; x02 ; x1 ; x2 , n; ns ; 2; r1 1 ; r2
Case3: a; b; ‘1 ; ‘2 ; a0 ; x01 ; x02 ; x1 ; x2 , n; ns ; 3; s1 1 Case4: a; b; ‘1 ; ‘2 ; a0 ; x01 ; x02 ; x1 ; x2 , n; ns ; 4; s1 13 ; s23 1 1 1 1 1 Case5: a; b; ‘1 ; ‘2 ; a0 ; x01 ; x02 ; x1 ; x2 ; n; ns ; 5, r1 11 ; r22 ; r33 ; r23 ; r13 ; r12
depending on the load case described in Sect. 4.1.1. Ltype = 844 (Curvilinear Cracks Lying Along the Interfaces—s844EEincluCc) ^ n; ns ; 1; r1 ; a Case1: a; b; w0 ; w; ^ n; ns ; 2; r1 ; r1 Case2: a; b; w0 ; w; 1 2 ^ n; ns ; 3; s1 Case3: a; b; w0 ; w; ^ n; ns ; 4; s1 ; s1 Case4: a; b; w0 ; w; 13 23 ^ n; ns ; 5, r1 ; r1 ; r1 ; r1 ; r1 ; r1 Case5: a; b; w0 ; w; 11 22 33 23 13 12 depending on the load case described in Sect. 4.1.1. Ltype = 912 (A Flat-Ended Punch Indented by a Load—s912FpunchL) a; ^q1 ; ^q2 ; ^q3 Ltype = 913 (A Flat-Ended Punch Tilted by a Moment—s913FpunchM) ^ a; m Ltype = 914 (A Parabolic Punch Indented by a Load—s914PpunchL) ‘; R; ^q1 ; ^q2 ; ^q3 Ltype = 922 (Elliptical Hole Boundaries—s922Estamp) q3 a; b; w0 ; ^q1 ; ^q2 ; ^ Ltype = 923 (Polygonal Hole Boundaries—s923Pstamp) a; c; e ; k; w0 ; ^q1 ; ^q2 ; ^q3 Ltype = 933 (Illustrative Examples—s933_1Cpunch, s933_2Tstamp) ^
A cosine wavy-shaped boundary: a; e ; ^q1 ; ^q2 ; ^q3 ^ A triangular hole: a; c; e ; w0 ; ^q1 ; ^q2 ; ^q3 Ltype = 942 (A Sliding Wedge-Shaped Punch—s942SWpunch) a; e ; N; F Ltype = 943 (A Sliding Parabolic Punch—s943SPpunch) ‘; R; N; F Ltype = 944 (Two Sliding Flat-Ended Punches—s944S2punch) a1 ; a2 ; b1 ; b2 ; N1 ; N2 ; F1 ; F2 Ltype = 951 (Contact in the Presence of Friction—s951P2Fcontact) R1 ; R2 ; N; F
500
Appendix E: List of Input Files
Ltype = 952 (Contact in the Absence of Friction—s952P2contact) R1 ; R 2 ; N Ltype = 1021 (Elliptical Holes under Uniform Heat Flow—s1021EholeUH) a; b; h0 Ltype = 1022 (Cracks under Uniform Heat Flow—s1022crackUH) a; h0 Ltype = 1031 (Elliptical Rigid Inclusions under Uniform Heat Flow—s1031ERincluUH) a; b; h0 ; u Ltype = 1032 (Rigid Line Inclusions under Uniform Heat Flow—s1032RLincluUH) a; h0 ; u Ltype = 1042 (Uniform Heat Flow—s1042IFcrackUH) a; h0 ; t1 ; t2 ; t3 Ltype = 1052 (Eigenfunctions—s1052MwedgeTH) BCt ; C; h0 ; h1 ; . . .; hn ; nd ; d0 ; d1 ; d2 ; TOLd ; TOLf ; Maxi Ltype = 1131 (Elliptical Holes—s1131piezoEhole) Ltype = 1132 (Polygon-Like Holes—s1132piezoPhole) Ltype = 1161 (Cracks—s1161piezoCOcrack) Ltype = 1162 (Interface Cracks—s1162piezoIFcrack) For Ltype = 1131, 1132, 1161, and 1162, the input file for load and structure information is constructed by adding Ltype in front of the other information required in the corresponding anisotropic elastic problem. Same situation is applied for the other functions of this Chapter, and hence no further statement about the input file will be made later. Ltype = 122 (Problems with Viscoelastic Materials—s1221visco, visco_load) The input file for load and structure information is constructed by adding Ltype (named as VLtype in function s1221visco) in front of the other information required in the corresponding anisotropic elastic problem. Ltype = 1321 (Elliptical Holes—s1321EholeUB) 1 1 1 ; M12 ; M22 for anisotropic elastic plates a; b; M11 1 1 1 1 1 a; b; M11 ; M12 ; M22 ; M41 ; M42 for piezoelectric plates 1 1 1 1 1 1 1 a; b; M11 ; M12 ; M22 ; M41 ; M42 ; M51 ; M52 for MEE plates
Ltype = 1322 (Elliptical Rigid Inclusions—s1322ERincluUB) 1 1 1 ; M12 ; M22 for anisotropic elastic plates a; b; M11 1 1 1 1 1 a; b; M11 ; M12 ; M22 ; M41 ; M42 for piezoelectric plates 1 1 1 1 1 1 1 a; b; M11 ; M12 ; M22 ; M41 ; M42 ; M51 ; M52 for MEE plates
For coupled stretching-bending analysis: 1 1 1 1 1 1 a; b; N11 ; N12 ; N22 ; M11 ; M12 ; M22 for laminated plates 1 1 1 1 1 1 1 1 1 1 a; b; N11 ; N12 ; N22 ; M11 , M12 ; M22 ; N41 ; N42 ; M41 ; M42 for electro-elastic laminates 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ; N51 ; N52 ; M51 ; M52 for MEE laminates a; b; N11 ; N12 ; N22 ; M11 ; M12 ; M22 , N41 ; N42 ; M41 ; M42
Appendix E: List of Input Files
Ltype = 1323 (Cracks—s1323crackUB) 1 1 1 ; M12 ; M22 for anisotropic elastic plates a; M11 1 1 1 1 1 a; M11 ; M12 ; M22 ; M41 ; M42 for piezoelectric plates 1 1 1 1 1 1 1 a; M11 ; M12 ; M22 ; M41 ; M42 ; M51 ; M52 for MEE plates
Ltype = 1324 (Elliptical Elastic Inclusions—s1324EEincluUB) 1 1 1 ; M12 ; M22 for anisotropic elastic plates a; b; M11 1 1 1 1 1 a; b; M11 ; M12 ; M22 ; M41 ; M42 for piezoelectric plates 1 1 1 1 1 1 1 a; b; M11 ; M12 ; M22 ; M41 ; M42 ; M51 ; M52 for MEE plates
For coupled stretching-bending analysis: 1 1 1 1 1 1 ; N12 ; N22 ; M11 ; M12 ; M22 for laminated plates a; b; N11 1 1 1 1 1 1 1 1 1 1 a; b; N11 ; N12 ; N22 ; M11 , M12 ; M22 ; N41 ; N42 ; M41 ; M42 for electro-elastic laminates 1 1 1 1 1 1 1 1 1 1 1 1 1 1 a; b; N11 ; N12 ; N22 ; M11 ; M12 ; M22 , N41 ; N42 ; M41 ; M42 ; N51 ; N52 ; M51 ; M52 for MEE laminates
Ltype = 1420 (Elliptical Rigid Inclusions—s1420LAMincluUSB) Same as Ltype = 1322 Ltype = 1421 (Uniform Stretching and Bending Moments—s1421LAMholeUSB) 1 1 1 1 1 1 ; N12 ; N22 ; M11 ; M12 ; M22 for laminated plates a; b; N11 , 1 1 1 1 1 1 1 1 1 1 M12 ; N12 ; N22 ; M11 ; M22 ; N41 ; N42 ; M41 ; M42 for electro-elastic laminates a; b; N11 1 1 1 1 1 1, 1 1 1 1 1 1 1 1 ; N52 ; M51 ; M52 for MEE laminates a; b; N11 ; N12 ; N22 ; M11 ; M12 ; M22 N41 ; N42 ; M41 ; M42 ; N51
Ltype = 1422 (Uniform Heat Flow—s1422LAMholeUH) The uniform heat flow in x1 x2 plane: 1; a; b; h0 ; a0 The uniform heat flow in x3 direction: 2; a; b; Tu ; Tl Ltype = 1423 (Elliptical Elastic Inclusions—s1423LAMEEincluUSB) Same as Ltype = 1324 Ltype = 1441 (Green’s Functions for Laminates—s1441LAMinfPFM) ^f1 ; ^f2 ; ^f3 , m ^ 1; m ^ 2; m ^ 3 ; ^x1 ; ^x2 for elastic problems ^f1 ; ^f2 ; ^f3 , m ^ 1; m ^ 2; m ^ 3 ; ^x1 ; ^x2 ; ^f4 ; m ^ 4 for electro-elastic laminates ^f1 ; ^f2 ; ^f3 ; m ^ 1; m ^ 2; m ^ 3 , ^x1 ; ^x2 ; ^f4 ; m ^ 4 ; ^f5 ; m ^ 5 for MEE laminates Ltype = 1451 (Holes—s1451LAMholePFM) ^ 1; m ^ 2; m ^ 3 ; ^x1 ; ^x2 for elastic problems a; b; ^f1 ; ^f2 ; ^f3 , m ^ 1; m ^ 2; m ^ 3 ; ^x1 ; ^x2 ; ^f4 ; m ^ 4 for electro-elastic laminates a; b; ^f1 ; ^f2 ; ^f3 , m ^ 1; m ^ 2; m ^ 3 , ^x1 ; ^x2 ; ^f4 ; m ^ 4 ; ^f5 ; m ^ 5 for MEE laminates a; b; ^f1 ; ^f2 ; ^f3 ; m Ltype = 1452 (Cracks—s1452LAMcrackPFM) Prepared as required by function s1451LAMholePFM in which the minor axis of elliptical hole is set to be zero.
501
502
Appendix E: List of Input Files
Ltype = 1461 (Outside the Inclusion—s1461LAMincluPFMo) ^ 1; m ^ 2; m ^ 3 ; ^x1 ; ^x2 ; ns for elastic problems a; b; ^f1 ; ^f2 ; ^f3 , m ^ 1; m ^ 2; m ^ 3 , ^x1 ; ^x2 ; ns ; ^f4 ; m ^ 4 for electro-elastic laminates a; b; ^f1 ; ^f2 ; ^f3 ; m ^ 1; m ^ 2; m ^ 3 , ^x1 ; ^x2 ; ns ; ^f4 ; m ^ 4 ; ^f5 ; m ^ 5 for MEE laminates a; b; ^f1 ; ^f2 ; ^f3 ; m Ltype = 1462 (Inside the Inclusion—s1462LAMincluPFMi) The same load and structure information as that for function s1461LAMincluPFMo except the location of point force/moment should now be inside the inclusion instead of outside the inclusion. Ltype < 100 (BEM): The first line of input_loadstr.txt for each subregion is prepared according to the second digit of Ltype, whereas the data of its second line is prepared according to the first digit of Ltype. Followings are the information provided in input_loadstr.txt. The first line of input_loadstr.txt: When Ltype = 3, 13, 23, 33, 43 (interface) Btype; nG ; x0 ; y0 ; a0 ; ðm1 ; m2 Þ When Ltype = 4, 14, 24, 34, 44, 54, 64 (hole) or 6, 16, 26, 36, 46, 56, 66 (rigid inclusion) Btype; nG ; x0 ; y0 ; a0 ; a; b; ðmi Þ When Ltype = 5, 15, 25, 35, 45, 55, 65 (crack) Btype; nG ; x0 ; y0 ; a0 ; a; ðmi Þ When Ltype = 7, 17, 27, 37, 47, 57, 67 (elastic inclusion) Btype; nG ; x0 ; y0 ; a0 ; a; b; ns ; ðm1 ; m2 Þi When Ltype = others (2D-BEM or couple-BEM or 3D-BEM) Btype; nG ; x0 ; y0 ; a0 for 2D-BEM or couple-BEM Btype; nG ; ng for 3D-BEM The second line of input_loadstr.txt: For thermoelastic analysis, dynamic analysis, couple stretching-bending analysis, or contact analysis, additional data should be input at the 2nd row of input_loadstr as follows. When Ltype = 31–38 (thermoelastic 2D-BEM) nF ; nh ; c When Ltype = 41–48 (dynamic 2D-BEM) 1; q (free vibration) ^ (steady state) 2; q; b1 ; b2 ; b3 ; x 31; q; b1 ; b2 ; b3 (transient by Houbolt’s algorithm) 32; q; b1 ; b2 ; b3 ; S (transient by modal superposition method) When Ltype = 51–57 (couple-BEM) Mq ; nA ; ðq; x1 ; x2 ; x3 ; x4 Þi ; i ¼ 1; 2; . . .; nq When Ltype = 61–67 (contact-BEM with multiple rigid punches) np ; nI ; g1 ; g2 ; . . .; gnp ; ðq1 ; q2 ; q3 ; m; d; w; n1 ; n2 ; nf ; c; nq ; cq Þk , k ¼ 1; 2; . . .; np ; nu ; cu
Appendix E: List of Input Files
503
Note: ðnq ; cq Þk ; k ¼ 1; 2; . . .; np and nu ; cu are input only when Vtype 6¼ 0. When Ltype = 68 (contact-BEM with two elastic/viscoelastic solids) ð1Þ
ð2Þ
ð1Þ
ð2Þ
g; nC ; nI ; ðnu ; nu ; cu ; cu Þ; ðna ; nb Þk k ¼ 1; 2; . . .; nC ð1Þ
ð2Þ
ð1Þ
ð2Þ
Note: ðnu ; nu ; cu ; cu Þ are input only when Vtype 6¼ 0.
E.5 Additional Input Files for BEM (Sect. 15.1.7) input_xn: nodal coordinate The textfile of input_xn.txt contains the information of coordinates of nodal points which are arranged in clockwise sequence and the input data will be assigned to xn(k, i), k = 1, 2, …, nnode and i = 1, 2 (2D) or i = 1, 2, 3 (3D). In other words, the textfile of input_xn.txt has nnode rows and each row contains two or three values, i.e., ðx1 ; x2 Þ or ðx1 ; x2 ; x3 Þ of the kth node for the kth row. Here, nnode stands for the number of total nodal points. For the problem with multiple regions solved by using Ltype = 8 or its associated Ltype, nnode stands for the number of total nodal points in the subregion, which may vary for different subregion, and nnodeT is used to denote the number of total nodal points in the entire region. Note that for the corner points, two nodes with different traction surfaces are usually used to denote one corner, and both nodes belong to boundary nodes of 2D-BEM or coupled-BEM. In some conditions these two nodes can be described by using the same coordinate. However, if degeneracy occurs due to the dependent equations of the same coordinate, two different but closer nodes are suggested for the two nodes of one corner. For coupled-BEM, the nodal points include not only boundary nodes but also corner nodes (together with two other boundary nodes for one corner, totally three nodes are used to denote one corner for coupled-BEM, see Fig. 15.2). Hence, nnode=nnodeB+ncorner for coupled-BEM, and nnode= nnodeB for 2D-BEM, where nnodeB and ncorner are, respectively, the numbers of boundary nodes and corner nodes. The nodes are numbered from 1 to nnodeB for all boundary nodes, and then from nnodeB+1 to nnode for all corner nodes, and all nodes are in the sequence that the node number is chosen so that when one faces the direction of increasing node number the body lies on the right hand side. input_bc: boundary condition For 2D-BEM or 3D-BEM, the data of input_bc.txt will be assigned to a nnode dim2 matrix bc(k, i), k = 1, 2, …, nnode, i = 1, 2,…, dim2. The value of bc(k, i) for i = 1, …, dim can only be 0 or 1 or 2 in which 0 means that xi -direction of the kth node is traction-prescribed, 1 means displacement-prescribed, and 2 means contact. The associated prescribed values of traction or displacement for the xi -direction (i = 1, …, dim) of the kth node will then be given in bc(k, i) for i = dim + 1, …, dim2. Here, dim = 3 for the problems with anisotropic elastic materials, dim = 4 for piezoelectric materials, and dim = 5 for MEE materials, and dim2 = dim*2. Note that for dynamic problems additional data related to acceleration and initial displacement and velocity should also be provided through input_bc.txt (see the explanation given in Sect. 15.1.6 for the global variable bc). For coupled_BEM, the data of input_bc.txt will be assigned to a nnode8 matrix bc(k, i), k = 1, 2, …, nnode, i = 1, 2, …, 8. Here, the dimension of bc(k, i) is different from that of 2D-BEM because the degree of freedom of boundary node and corner node is, respectively, 4 and 1 instead of 3. For boundary node, the value of bc(k, i) for i = 1, 2, 3, 4 can only be 0 or 1 where 0 means traction-prescribed, while 1 means displacement-prescribed. The associated prescribed values of traction or displacement of the kth node will then be given in bc(k, i) for i = 5, 6, 7, 8. Similarly, for corner node, the value of bc(k, 1) can only be 0 or 1 where 0 means traction-prescribed, while 1 means displacement-prescribed. The associated prescribed values of corner force or deflection of the kth corner will then be given in bc(k, 2). Note that the index k is from 1 to nnodeB for all boundary nodes, and then from nnodeB+1 to nnode for all corner nodes. If Ptype 6¼ 0 is chosen for piezoelectric or MEE materials, the matrix size of bc should be expanded from nnode8 to nnode12 for piezoelectric materials, or to nnode16 for MEE materials, and the arrangement of input_bc.txt should then be changed accordingly. input_node1: element-node connection The element-node connection is described through the matrix node12(k, i), where k = 1, 2, …, nelement, i = 1, 2 for Btype = 1, and i = 1, 2, 3 (2D), or i = 1, 2, …, 8 (3D) for Btype = 2. The value of node12(k, i) denotes the ith node of the kth element, which is input through the textfile of input_node1.txt. In other words, input_node1.txt has nelement rows and each row contains two, three, or eight values, i.e., (node1, node2), (node1, node2, node3), or (node1, …, node8) of the kth element for the kth row. Same format is required for input_node2.txt, input_node3.txt, … of the 2nd, 3rd, …region.
504
Appendix E: List of Input Files
input_corner: corner-node connection—for coupled-BEM The corner-node connection is described through the matrix corner12(k, i), k = 1, 2, …, ncorner, i = 1, 2, which is a ncorner 2 matrix. The value of corner12(k, i) denotes the ith node of the kth corner, which is input through the textfile of input_corner.txt. In other words, input_corner.txt has ncorner rows and each row contains two values, i.e., (node1, node2) of the kth corner for the kth row. Note that node1 is the node behind of the kth corner and node2 is the node ahead of the kth corner. input_temp: temperature information—for thermal-BEM Temperature and its derivatives with respect to x1 and x2 at each node are treated as known values in thermal-BEM of AEPH. And hence, their values obtained from the other sources such as ANSYS should be input through input_temp.txt, and then stored in the matrix of temp(i, j), i = 1, 2, …, nnode, j = 1, 2, 3. Here, temp(i, 1) = T of the ith node, temp(i, 2) = T,x of the ith node, temp(i, 3) = T,y of the ith node, and T is the temperature. input_tempIN: temperature information—for thermal-BEM If the thermal stresses at the internal points are required, the temperature of internal points should be input through input_tempIN.txt. The values of this input file will then be stored in the vector of tempIN(k) which means that the temperature at the kth internal point. input_xnp: points of particular solution—for dynamic-BEM As described in Sect. 15.6.1 for the general dynamic analysis, to solve this kind of problems, an extra input file is required for the arrangement of source points of particular solutions. input_qt: external load—for dynamic-BEM External load, q(t), which is assumed to be independent of position, should be provided for transient analysis. This load is input as a vector q whose ith component qi corresponds to the value of qðti Þ in which ti ¼ t0 þ ði 1ÞDt, where Dt is the time step size.
Appendix F AEPH Source Code (Listed in Alphabetic Order)
F001: BEM_aux IXQFWLRQ>9J@ %(0BDX[9JMF$%'BVWDU$%'BVWDU )XQFWLRQ%(0BDX[SURYLGHVDX[LOLDU\HTXDWLRQVIRUDFRUQHUZLWKWULSOHQRGHVZKRVHSRVLWLRQVDUHWKHVDPH 9JJOREDOFRHIILFLHQWPDWUL[DQGYHFWRUIRUWKHV\VWHPRIDOJHEUDLFHTXDWLRQV9\ J MFMFBWKFRUQHU */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ MFWKHQRGHEHKLQGRIWKHMFFRUQHU MFWKHQRGHDKHDGRIWKHMFFRUQHU MFPWKHQRGHEHKLQGRIMF MFSWKHQRGHDKHDGRIMF MFPPWKHQRGHEHKLQGRIMFP MFSSWKHQRGHDKHDGRIMFS SZSZ GLVSODFHPHQWVZDUHSUHVHFULEHGRQERWKQRGHVRIDFRUQHURWKHUZLVHSZa JOREDO3W\SHGLPQRGHFRUQHUQQRGHDOSKD IURP0DLQSURJUDPDQG%(0EDQN%DOSKD JOREDOHOHPHQWWKHWDB[LGVXBYFXFBYFFL IURPIXQFWLRQ%(0PHVK JOREDOMFMFMFPMFSMFPPMFSSSZ JHQHUDWHGIRUWKHXVHLQIXQFWLRQ%(0BSXSY@ SBDGLPGLP >SZSZF@
SBDWKHYHFWRUFRQWDLQVDOOWKHYDULDEOHFRQGLWLRQV
LI3W\SHa SX XBYFMF XBYFMF SX HOHFWULFSRWHQWLDOXDUHSUHVHFULEHGRQERWKQRGHVRIDFRUQHU SE XBYFGLPMF XBYFGLPMF SE VORSHRIHOHFWULFSRWHQWLDOEHWDDUHSUHVHFULEHGRQERWKQRGHVRIDFRUQHU SBD SX SBDGLP SE LI3W\SH! SX XBYFMF XBYFMF SX PDJQHWLFSRWHQWLDOXDUHSUHVHFULEHGRQERWKQRGHVRIDFRUQHU SE XBYFMF XBYFMF SE VORSHRIPDJQHWLFSRWHQWLDOEHWDDUHSUHVHFULEHGRQERWKQRGHVRIDFRUQHU SBD SX SBD SE HQG HQG
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2021 C. Hwu, Anisotropic Elasticity with Matlab, Solid Mechanics and Its Applications 267, https://doi.org/10.1007/978-3-030-66676-7
505
506
Appendix F: AEPH Source Code (Listed in Alphabetic Order) &DOFXODWLRQRIWKHPDWULFHVRPHJDASULPHBWDQGRPHJDAGRXEOH SULPHBWLQHTQF 7KHLUH[SOLFLWH[SUHVVLRQFDQEHREWDLQHGIURPHTQDE 2PJRPHJDASULPHBW 2PJRPHJDAGRXEOH SULPHBW 2PJ ]HURV GLP GLP 2PJ ]HURV GLP GLP
GHIDXOW
2PJ >FRVWDQGDVLQWDQGDVLQFRVFRVVLQ@ 2PJGLPGLP >FRVVLQ@VLQGD 2PJGLPGLPGLP >WDQGD@ 2PJGLPGLPGLPGLP >WDQGD@ 2PJGLPGLP GLP >WDQGD@ 2PJ >FRVVLQ@VLQGD 2PJGLPGLP >FRVWDQGDVLQWDQGDVLQFRVFRVVLQ@ 2PJGLPGLPGLP >WDQGD@ 2PJGLPGLPGLPGLP >WDQGD@ 2PJGLPGLP GLP >WDQGD@ LG >@ LQGH[QXPEHUIRUWKHFRPSRQHQWRIYHFWRUKLQHTQD WRVRUWWKHHPSOR\HGDX[LOLDU\HTXDWLRQV LI3W\SHa H[WHQGHGWKHPDWULFHVRIHTQF WRHOHFWURHODVWLFODPLQDWHVRU0((ODPLQDWHV 2PJ >WDQGD@ 2PJGLP >VLQGD@ 2PJGLPGLPGLP >WDQGD@ 2PJGLPGLPGLPGLP >VLQGD@ 2PJ >VLQGD@ 2PJGLP >WDQGD@ 2PJGLPGLPGLP >VLQGD@ 2PJGLPGLPGLPGLP >WDQGD@ LG >@ LI3W\SH! H[WHQGHGWKHPDWULFHVRIHTQF WR0((ODPLQDWHV 2PJ >WDQGD@ 2PJ >VLQGD@ 2PJ >WDQGD@ 2PJ >VLQGD@ 2PJ >VLQGD@ 2PJ >WDQGD@ 2PJ >VLQGD@ 2PJ >WDQGD@ LG >@ HQG HQG KS $%'BVWDU 2PJ$%'BVWDU 2PJ SDUWRIHTQ )RUHODVWLFODPLQDWHVWKHURZVRIWKHHTXDWLRQVDVVRFLDWHGZLWKWKHILUVWHTQRIQRGHMF PD\EHGHSHQGHQWRQWKRVHRIQRGHMFDQGDGGLWLRQDOHTQWKHWKHTQ LVDGGHGDIWHUWKHURZRIGLP QQRGH IRUN GLP MFPP MFSS GHIDXOW \ ]HURVGLP \ ]HURVGLP \P ]HURVGLP \S ]HURVGLP GHIDXOW J ]HURVGLP J ]HURVGLP JP ]HURVGLP JS ]HURVGLP JI GHIDXOW LISBDN
MY GLP MF N LIN LIN
GLP MY GLP QQRGHMF HQG
MYURZQXPEHUZKHUHWKHDX[LOLDU\HTXDWLRQWREHSODFHG
ILUVWDX[LOLDU\HTXDWLRQHTQ HPSOR\LQJZKHQSY
J VLQJ FRVJ VLQJ FRV FRHIILFLHQWVRIHTQ HOVH WKHRWKHUDX[LOLDU\HTXDWLRQVHTQ LIN
WKHDX[LOLDU\HTXDWLRQRID B
FRVU FRVUKRFRVU FRVUKRVLQU VLQUKRVLQU VLQUKR SDUWRIHTQE \P >FRVUVLQU@ \ \P \S >FRVUVLQU@ \ \SFRHIILFLHQWVRIHTQE HOVHLIN
GLP WKHDX[LOLDU\HTXDWLRQRID B
\PP ]HURVGLP \SS ]HURVGLP GHIDXOW HPP HOHPHQWMFP HPPWKHHOHPHQWEHKLQGRIMFP HPS HOHPHQWMFS HPSWKHHOHPHQWDKHDGRIMFS UKRP GVHPP UKRS GVHPS U UKRAU UKRAUP UKR UKRPUS UKR UKRS MFPP QRGHHPP MFSS QRGHHPS MFPPQRGHEHKLQGRIMFPMFSSQRGHDKHDGRIMFS LIFLMFP
FLMFS
ERWKQRGHVMFPDQGMFSDUHUHJXODUQRGHVHTQD
Appendix F: AEPH Source Code (Listed in Alphabetic Order) \GLP U\GLP U \PGLP UUP\SGLP UUS \PPGLP UP\SSGLP US HQG LIFLMFP
FLMFS a MFUHJXODUQRGHMFFRUQHUQRGHHTQE
\GLP U\GLP U \PGLP UUP\SGLP U\PPGLP UP HQG LIFLMFP a FLMFS
MFFRUQHUQRGHMFUHJXODUQRGHHTQF
\GLP U\GLP U \PGLP U\SGLP UUS\SSGLP US HQG LIFLMFP a FLMFS a ERWKQRGHVMFDQGMFDUHFRUQHUQRGHVHTQG \GLP U\GLP U \PGLP U\SGLP U HQG \GLP FRVGDUKRUKR VLQGD \GLP UKRFRVGDUKR VLQGD HOVH \N UKR\N UKR\PN UKR\SN UKR ULJKWKDQGVLGHRIHTQG HQG J KSLGN GLP GLP HTQ WKHFRPSRQHQWVEHLQJPXOWLSOLHGE\WAPLQXV J KSLGN GLP HTQ WKHFRPSRQHQWVEHLQJPXOWLSOLHGE\WASOXV JI KSLGN HQG HTQ WKHFRPSRQHQWVEHLQJPXOWLSOLHGE\WBF HQG \P\\\S@ JPJJJSJI@ *DWKHFRHIILFLHQWVRIQRGDOWUDFWLRQLQWKHDX[LOLDU\HTXDWLRQ LIN
GLP *D]HURV GLP @ HQG
>9J\J@ %(0B&6HWD6QYLY@ %(0'FRQWDFWB&VWDWXV&6HWD6XEWEXYZQEP 8SGDWHWKHFRQWDFWVWDWXV&6E\ RU DQGWKHVLJQIRUIULFWLRQFRHIILFLHQWHWD6 &6FRQWDFWVWDWXV&6L VHSDUDWH&6L VWLFN&6L VOLS HWD6L VLJQRIHWDIRUWKHLWKFRQWDFWQRGHSDLUSRVLWLYHHWD6L QHJDWLYHHWD6L 1RWHWKDWWKHVLJQDKHDGRIWKHIULFWLRQFRHIILFLHQWLVRSSRVLWHWRWKHVLJQRIWDQJHQWLDOWUDFWLRQ QYQXPEHURIVWDWXVFKDQJHVYLRODWLRQRIFRQWDFWFULWHULRQ )RUWKHFRQWDFWSUREOHPVEHWZHHQWZRHODVWLFYLVFRHODVWLFERGLHV LYL LWKYLRODWLRQQRGHSDLULVLYL LYL MNMN WKHFRQWDFWVWDWXVRILYL WKQRGHSDLUFKDQJHVIURPFRQWDFWVWDWXV&6L MWRFRQWDFWVWDWXV&6L N )RULQGHQWDWLRQE\PXOWLSOHULJLGSXQFKHV LYL LWKYLRODWLRQQRGHLVDWMWKQRGHRILSWKSXQFKZKHUHLYL LSLYL M LYL MNMN WKHFRQWDFWVWDWXVRILWKYLRODWLRQQRGHFKDQJHVIURPFRQWDFWVWDWXV&6 MWRFRQWDFWVWDWXV&6 N XEWEGLVSODFHPHQWVDQGWUDFWLRQVDWWKHERXQGDU\QRGHVVHHH[SODQDWLRQLQ%(0EDQN% XNL YNL ZNL ULJLGERG\WUDQVODWLRQDQGURWDWLRQRIWKHLWKSXQFKDWWKHNWKWLPHVWHS QEQXPEHURIHODVWLFYLVFRHODVWLFERGLHV PPWKWLPHVWHSRIWLPHVWHSSLQJPHWKRG JOREDO9W\SHQVQBSXQFKQ&QS&HWD IURP0DLQSURJUDPDQG%(0EDQN% JOREDOWKHWD&J IURPIXQFWLRQIURP%(0'FRQWDFW(OD%%(0'FRQWDFW9LV% JOREDOQFQS&I[[PG IURPIXQFWLRQ%(0'FRQWDFW05H%%(0'FRQWDFW05Y%W QY LY >@ QXPEHURIVHSDUDWLRQQRGHSDLUV LIQE
FRQWDFWEHWZHHQWZRHODVWLFYLVFRHODVWLFERGLHV IRUL Q&
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
515
WK WKHWD&L V VLQWK F FRVWK 7 >FVVF@ HTQ QD QS&L QE QS&L QDQEQRGHDDQGQRGHERIWKHLWKFRQWDFWSDLU LI9W\SH
__QVa IRUSUREOHPVZLWKHODVWLFVROLGVRUZKHQWKHFRUUHVSRQGHQFHSULQFLSOHLVXVHGIRUYLVFRHODVWLFFRQWDFW
XBD 7 XEQD WBD 7 WEQD GLVSODFHPHQWVDQGWUDFWLRQVRIORFDOFRRUGLQDWHVDWQRGHD XBE 7 XEQE GLVSODFHPHQWVDQGWUDFWLRQVRIORFDOFRRUGLQDWHVDWQRGHE HOVH
IRUSUREOHPVZLWKYLVFRHODVWLFVROLGV
XBD 7 XEPQD WBD 7 WEPQD GLVSODFHPHQWVDQGWUDFWLRQVRIORFDOFRRUGLQDWHVDWQRGHD XBE 7 XEPQE GLVSODFHPHQWVDQGWUDFWLRQVRIORFDOFRRUGLQDWHVDWQRGHE HQG VZLWFK&6L FDVH VHSDUDWH LIXBD XBE ! JL QY QYLYQY L LILa La Q&VHWFRQWDFWVWDWXVEDVHGRQLWVQHLJKERXUQRGH LI&6L
__&6L
LYQY &6L
LIHWD6L a HWD6L HWD6L HOVHHWD6L HWD6L HQG HOVHLYQY &6L HQG HQG HQG
HTQD
FDVH VWLFN LIWBD !&6L QY QYLYQY LLYQY HTQE HOVHLIDEVWBD ! DEVHWD WBD &6L QY QYLYQY LLYQY HWD6L VLJQWBD HQG
F
FDVH VOLS LIWBD !&6L QY QYLYQY LLYQY HTQE HOVHLIWBD XBD XBE ! HWDa &6L QY QYLYQY LLYQY HQG
HTQG
HQG HQG HOVH LQGHQWDWLRQE\PXOWLSOHULJLGSXQFKHV IRULS QBSXQFK LIP
XLS XLS YLS YLS ZLS ZLS KRUL]RQWDOYHUWLFDOWUDQVODWLRQDQGURWDWLRQRILSWKSXQFKUHVSHFWLYHO\
HOVHXLS XPLS YLS YPLS ZLS ZPLS HQG IRUL QFLS LF QS&LLS LFWKFRQWDFWQRGHXQGHULSWKSXQFKHV VZLWFK&6LLS FDVH VHSDUDWLRQHTQD LI9W\SH
__QVa XEQ XELF HOVHXEQ XEPLF HQG XEQQRUPDOGLVSODFHPHQW
9W\SH HODVWLFSUREOHPVQVa FRUUHVSRQGHQFHSULQFLSOHLVXVHGQV WLPHVWHSSLQJPHWKRGLVXVHG J YLSZLS [PGLLS I[LLS LIXEQ! JQY QYLYQY LSLYQY L LILa La QFLS VHWFRQWDFWVWDWXVEDVHGRQLWVQHLJKERXUQRGH LI&6LLS
__&6LLS
LYQY &6LLS
LIHWD6LLS a HWD6LLS HWD6LLS HOVHHWD6LLS HWD6LLS HQG HOVHLYQY &6LLS HQG HQG HQG FDVH VWLFNHTQEF LI9W\SH
__QVa WEV WELF WEQ WELF WEVWEQWDQJHQWLDODQGQRUPDOWUDFWLRQ
516
Appendix F: AEPH Source Code (Listed in Alphabetic Order) HOVHWEV WEPLF WEQ WEPLF HQG 9W\SH HODVWLFSUREOHPVQVa FRUUHVSRQGHQFHSULQFLSOHLVXVHGQV WLPHVWHSSLQJPHWKRGLVXVHG LIWEQLF !QY QYLYQY LSLYQY LLYQY &6LLS HOVHLIDEVWEV ! DEVHWDLS WEQ QY QYLYQY LSLYQY LLYQY &6LLS HWD6LLS VLJQWEV HQG FDVH VOLSHTQEG LI9W\SH
__QVa XEV XELF WEV WELF WEQ WELF
HOVHXEV XEPLF WEV WEPLF WEQ WEPLF HQG XEVWEVWEQWDQJHQWLDOGLVSODFHPHQWWDQJHQWLDOWUDFWLRQDQGQRUPDOWUDFWLRQ 9W\SH HODVWLFSUREOHPVQVa FRUUHVSRQGHQFHSULQFLSOHLVXVHGQV WLPHVWHSSLQJPHWKRGLVXVHG LIWEQ!QY QYLYQY LSLYQY LLYQY &6LLS HOVHLIWEV XEVXLSZLS I[LLS ! QY QYLYQY LSLYQY LLYQY &6LLS HQG HQG HQG HQG HQG
F007: BEM2Dcontact_Dfq IXQFWLRQ>'TIT@ %(0'FRQWDFWB'ITTNPN'TW\SH FDOFXODWH'TITRIHT E\HT 'TW\SH ERWK'TDQGITDUHFDOFXODWHG'TW\SH RQO\ITLVFDOFXODWHG JOREDOGLP IRUP0DLQSURJUDP JOREDOQBSXQFKQFQ&QS&Q.IURP%(0'FRQWDFW05H% JOREDOHWD[QGNQQRGHIURP%(0EDQN% 'T ]HURV QBSXQFKQ. IT >@ GHIDXOW M GLP QQRGH LQLWLDOYDOXHRIMVWDUWLQJFROXPQIRU'TRIHTQ IRULS QBSXQFK LI'TW\SH
ERWK'TDQGITDUHFDOFXODWHG
U LS VWDUWLQJURZWRSODFHUHVXOWDQWORDGVDQGPRPHQWVRIMWKFRQWDFWUHJLRQ LILS!M GLP QQRGHVXPQFLS HQG
VWDUWLQJFROXPQIRU'TRIWKHLSWKSXQFK
IRUN QFLS F MGLP N VWDUWLQJFROXPQIRU'TRIWKHNWKQRGHRIWKHLSWKSXQFK LIN
MS QS&NLS MS QS&NLS HQG
LIN
QFLS MS QS&NLS MS QS&NLS HQG
SDUWRIHTQF SDUWRIHTQF
LIN! NQFLS MS QS&NLS MS QS&NLS HQG
SDUWRIHTQF
KN [QMS [QMS HTQF B JN [QMS A[QMS A GNLS [QMS [QMS HTQF B 'NL >KNKNJN@ HTQE LIHWDLS
DEVTNLS TNLS 'NL HQG
VOLGLQJSXQFKRUWKHSXQFKLVRQYHUJHRIQRQHTXLOLEULXP
'TUUFFGLP 'NL HTQD HQG HQG ITL >TNLS TNLS PNLS @ HTQD B LIHWDLS
DEVTNLS TNLS IRUWKHFDVHVRIVOLGLQJSXQFKRUWKHSXQFKLVRQYHUJHRIQRQHTXLOLEULXP
LI'TW\SH
LY GLP QQRGHQ& LS 'TULY HQG
ITL VHWX LQZKLFKT
HTQ X
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
517
HQG IT >ITITL@ITRIHTQ B HQG
F008: BEM2Dcontact_DT IXQFWLRQ>XEWEXYZ@ %(0'FRQWDFWB'7XWXBKDWWBKDWQ$Q%Q&QEN &RQYHUWWKHVROXWLRQXWWRXEDQGWEZKLFKDUHWKHGLVSODFHPHQWVDQGWUDFWLRQVDWERXQGDU\QRGHV ,IWKHSUREOHPVZLWKPXOWLSOHULJLGSXQFKHVDUHFRQVLGHUHGDGGLWLRQDOUHVXOWVDUHREWDLQHGIRUXYDQGZ XEWEH[SODLQHGLQIXQFWLRQ%(0EDQN% XNL YNL ZNL ULJLGERG\WUDQVODWLRQDQGURWDWLRQRIWKHLWKSXQFKDWWKHNWKWLPHVWHS XWWKHVROXWLRQFRQWDLQLQJ[$[&[%RI RU[BQFXFWF[URI XBKDWWBKDWSUHVFULEHGGLVSODFHPHQWVDQGWUDFWLRQVDWWKHQRQFRQWDFWUHJLRQ Q$Q%QXPEHURIQRQFRQWDFWQRGHVLQERG\$DQGERG\% Q&QXPEHURIFRQWDFWQRGHSDLUVIRUSUREOHPVZLWKWZRHODVWLFYLVFRHODVWLFERGLHV QXPEHURIFRQWDFWQRGHVIRUSUREOHPVZLWKPXOWLSOHULJLGSXQFKHV QEQXPEHURIHODVWLFYLVFRHODVWLFERGLHV NNWKWLPHVWHS JOREDOGLPQQRGH7QQRGHQRGH6QBSXQFKTNHWDWBYFXBYF IURP0DLQSURJUDPDQG%(0EDQN%%(0PHVK X Y Z GHIDXOW Q Q$Q&WKHQXPEHURIQRGHRIWKHERG\$ LIQE
QQRGH7 QQRGHHQG
IRUM QQRGH7 LIQE
MU QRGH6M HOVHMU MHQG
LIM Q$UHJ HQG
QRQFRQWDFWQRGHLQERG\$
LIM!Q$ M QUHJ HQG LIQE
FRQWDFWQRGHLQERG\$
IRUFRQWDFWRIWZRHODVWLFYLVFRHODVWLFERGLHV LIM!Q M QQ%UHJ HQG
QRQFRQWDFWQRGHLQERG\%
LIM!QQ% M QQRGH7UHJ HQG
FRQWDFWQRGHLQERG\%
HQG IRUP GLP MY GLP M P VZLWFKUHJ FDVH^` LIUHJ
MY MY GLP Q&HQG
XEPMU WBYFPMU XBKDWPMU XBYFPMU XWMY UHDUUDQJHWKHVROXWLRQIRUXPM WEPMU XBYFPMU WBKDWPMU WBYFPMU XWMY UHDUUDQJHWKHVROXWLRQIRUWPM FDVH^` LIUHJ
MY MYGLP Q&Q% HQG
MY MYGLP Q& XEPMU XWMY WEPMU XWMY UHDUUDQJHWKHVROXWLRQIRUXPM DQGWPM HQG HQG HQG LIQE
FDOFXODWHXYDQGZIRUSUREOHPVZLWKPXOWLSOHULJLGSXQFKHV
[U XWGLP QQRGHQ& HQG F LQLWLDOYDOXH IRULS QBSXQFK LIHWDLS
DEVTNLS TNLS IRUWKHVOLGLQJRURQYHUJHRIQRQHTXLOLEULXPSXQFKHV
XNLS 1D1YNLS [UF ZNLS [UF VHWX QDQ
518
Appendix F: AEPH Source Code (Listed in Alphabetic Order) HOVH XNLS [UF YNLS [UF ZNLS [UF HQG F F HQG HQG
F009: BEM2Dcontact_localC IXQFWLRQ>WKHWD&J@ %(0'FRQWDFWBORFDO& FDOFXODWHVWKHURWDWLRQDQJOHRIORFDOFRRUGLQDWHDVVRFLDWHGZLWKHDFKFRQWDFWQRGHSDLUHTQ WKHWD&N WKHWDBEDURIHTQD RIWKHNWKFRQWDFWQRGHSDLUORFDWHGLQWKHUDQJHRI> SL@ JN QRUPDOJDSRIWKHNWKFRQWDFWQRGHSDLU JOREDO[QWKHWDB[L5Q&QS&IURP0DLQSURJUDPDQGIXQFWLRQ%(0PHVK%(0EDQN% IRUN Q& QD QS&N QE QS&N QDQEQRGHVRIFRQWDFWQRGHSDLUDE G[ [QQE [QQD G[ [QQE [QQD SDUWRIHTQE JN VTUWG[AG[A HTQE LIJN a LIG[ WKHWD&N DFRVG[JN WKHWDBEDURIHTQD ORFDWHGLQWKHUDQJHRI> SL@ HOVH WKHWD&N SLDFRVG[JN HQG HOVH WKHWD&N WKHWDB[L5QD FKRRVHWKHORFDOFRRUGLQDWHRISRLQW$DVORFDOFRRUGLQDWH HQG HQG
F010: BEM2Dcontact_MRB IXQFWLRQ>[PGI[QFQS&Q&QQ&Q.QRGH&QRGH1&QRGH6HWD6&6@ %(0'FRQWDFWB05%QSHWD WKLVIXQFWLRQFDOFXODWHVRPHYDOXHVUHTXLUHGLQ%(0'FRQWDFW05H%DQG%(0'FRQWDFW05Y%W [PGLLS ORFDOFRRUGLQDWHRIWKHLWKFRQWDFWQRGHRIWKHLSWKSXQFK I[LLS WKHDVVRFLDWHGIXQFWLRQYDOXHRISXQFKSURILOHDW[PGLLS QFLS QXPEHURIFRQWDFWQRGHVXQGHUWKHLSWKSXQFK QS&LS FRQWDFWQRGHVXQGHUWKHLSWKSXQFK Q&QXPEHURIFRQWDFWQRGHV QQ&QXPEHURIQRQFRQWDFWQRGH Q.QXPEHURIXQNQRZQYDULDEOHVDOVRGLPHQVLRQRIPDWUL[.RIHTQ QRGH&L LWKFRQWDFWQRGHRIHQWLUHFRQWDFWUHJLRQ QRGH1&L LWKQRQFRQWDFWQRGH QRGH6UHDUUDQJHWKHVHTXHQFHRIERXQGDU\QRGHVE\QRGH6 >QRGH1&QRGH&@ HWD6LLS WKHVLJQIRUIULFWLRQFRHIILFLHQWHWDRILWKFRQWDFWQRGHRIWKHLSWKSXQFK &6LLS FRQWDFWVWDWXVRIWKHLWKFRQWDFWQRGHRILSWKSXQFK&6 VHSDUDWH&6 VWLFN&6 VOLS QSL WKHVWDUWLQJDQGHQGLQJQRGHQXPEHURIWKHLWKSXQFK HWDLS IULFWLRQFRHIILFLHQWRIWKHLSWKSXQFK JOREDOGLPQBSXQFKTNQRGHQQRGHIURP0DLQSURJUDPDQG%(0EDQN% IRULS QBSXQFK QFLS QSLS QSLS QS&QFLS LS QSLS QSLS HWD6QFLS LS LQLWLDOYDOXHV LIHWDLS
DEVTNLS TNLS VOLGLQJFRQWDFWRURQYHUJHRIQRQHTXLOLEULXPFRQWDFW
&6QFLS LS VHWVOLSPRGHIRUVOLGLQJSXQFKRUWKHSXQFKLVRQWKHYHUJHRIQRQHTXOLEULXP
Appendix F: AEPH Source Code (Listed in Alphabetic Order) HWD6QFLS LS VLJQTNLS HOVHLIHWDLS !DEVTNLS TNLS &6QFLS LS LQLWLDOO\VHWWKHFRQWDFWQRGHVLQVWLFNPRGH HOVH GLVS :DUQLQJWKHKRUL]RQWDOORDGH[FHHGVWKHPD[LPXPIULFWLRQORDG UHWXUQ HQG HQG Q& VXPQF QQ& QQRGHQ& Q. GLP QQ& GLP Q& QBSXQFK >NQ@ VL]HQRGH QRGH% XQLTXHVRUWUHVKDSHQRGHN Q ERXQGDU\QRGHVLQFOXGHFRQWDFWDQGQRQFRQWDFW >NQ@ VL]HQS& QRGH& VHWGLIIXQLTXHVRUWUHVKDSHQS&N Q FRQWDFWQRGHV QRGH1& VHWGLIIQRGH%QRGH& QRQFRQWDFWQRGHV QRGH6 >QRGH1&QRGH&@ UHDUUDQJHWKHVHTXHQFHRIERXQGDU\QRGHVQRGH% >[PGI[@ SURILOH3QFQS& IXQFWLRQ>[PGI[@ SURILOH3QFQS& &DOFXODWH[LDQGI[LRIHTV JOREDO[QQBSXQFKGNQNFN IURP0DLQSURJUDPDQG%(0EDQN% P PD[QF [PG ]HURVPQBSXQFK I[ ]HURVPQBSXQFK IRULS QBSXQFK QFBS QFLS IRUL QFBS N QS&LLS [PGLLS [QN GNLS I[LLS IRUQ QNLS I[LLS I[LLS FNLSQ [PGLLS AQ HQG HQG HQG
F011: BEM2Dcontact_ut12 IXQFWLRQ>XEBXEBWEWE@ %(0'FRQWDFWBXWYEWYEXEBXEBWEWEQEP WKLVIXQFWLRQLVXVHGWRFDOFXODWHWKHVWUHVVHVDQGVWUDLQVIRUERXQGDU\QRGHVDWWLPHVWHSP 1RWHWKDWE\XVLQJHTQ WKHVWUDLQVDUHFDOFXODWHGE\WKHVDPHZD\DVHTQ IRUWKHGLVSODFHPHQWV ZKLOHWKHVWUHVVHVFDQEHFDOFXODWHGIURPHTQ XEBXEBWEWEH[SODLQHGLQIXQFWLRQ%(0EDQN% XEBXEBWEWEDOODSSHDUERWKLQLQSXWDQGRXWSXWEHFDXVHWKH\ZLOOEHHYDOXDWHGVWHSE\VWHSDVHTQ DQG YEWYETXDVLGLVSODFHPHQWVDQTXDVLWUDFWLRQV QEQXPEHURIHODVWLFYLVFRHODVWLFERGLHV PWLPHVWHS JOREDOGLP IURP0DLQIXQFWLRQYLVFR JOREDO/W\SH5QRGH5QHOHPHQW5[5\5DOSKD5[Q/5HOHPHQW5WKHWDB[5WKHWDB[L5QRGH5[P5D5E5%W\SHQQRGH5 IURP%(0EDQN JOREDO[P5[P5/W\SHQRGH6QHOHPHQW[/\/DOSKD[Q/HOHPHQWWKHWDB[WKHWDB[L[P[P[PDEQRGHQQRGHIURP %(0EDQN IRULY QE ORRSIRUWZRYLVFRHODVWLFERGLHVLY IRUERG\$DQGLY IRUERG\% LIQE
QQRGH QQRGH5LY /W\SH /W\SH5LY QRGH6 QRGH5LY QHOHPHQW QHOHPHQW5LY
519
520
Appendix F: AEPH Source Code (Listed in Alphabetic Order) [/ [5LY \/ \5LY DOSKD DOSKD5LY D D5LY E E5LY [Q/ [Q/5LY HOHPHQW HOHPHQW5LY WKHWDB[L WKHWDB[L5LY QRGH QRGH5LY [P [P5LY [P [P5LY LI%W\SH
WKHWDB[ WKHWDB[5LY HQG
OLQHDUHOHPHQW
LI%W\SH
[P [P5LY WKHWDB[ WKHWDB[5QHOHPHQWLY HQG
TXDGUDWLFHOHPHQW
HQG >YEBYEBWYEWYE@ %(0VWUDLQVWUHVV%YEWYELY FDOFXODWHTXDVLVWUDLQVVWUHVVHVRIWKHHODVWLFOLNHV\VWHPDWERXQGDU\QRGHV LILY
YWY >YEBYEBWYEWYE@ TXDVLVWUHVVHVDQGTXDVLVWUDLQVIRUERG\$
HOVH YWY >YWY>YEBYEBWYEWYE@@TXDVLVWUHVVHVDQGTXDVLVWUDLQVIRUERGLHV$DQG% HQG HQG YEB YWYGLP YEB YWYGLP GLP TXDVLVWUDLQVRIERGLHV$DQG% WYE YWY GLP GLP WYE YWY GLP GLP TXDVLVWUHVVHVRIERGLHV$DQG% >XEBWE@ %(0'FRQWDFWBYWYYEBWYEXEBWEQEP FDOFXODWHSDUWRIDFWXDOVWUHVVHVDQGVWUDLQVXEBDQGWE >XEBWE@ %(0'FRQWDFWBYWYYEBWYEXEBWEQEP FDOFXODWHWKHRWKHUSDUWRIDFWXDOVWUHVVHVDQGVWUDLQVXEBDQGWE
F012: BEM2Dcontact_vtv IXQFWLRQ>XEWE@ %(0'FRQWDFWBYWYYEWYEXEWEQEP WKLVIXQFWLRQFRQYHUWVVROXWLRQVRIWKHHODVWLFOLNHV\VWHPZLWKYEDQGWYE WRWKHDFWXDOYLVFRHODVWLFV\VWHPZLWKXEDQGWE XEWEDOODSSHDUERWKLQLQSXWDQGRXWSXWEHFDXVHWKH\ZLOOEHHYDOXDWHGVWHSE\VWHSE\HTQV DQG QEQXPEHURIHODVWLFYLVFRHODVWLFERGLHV JOREDOQQRGH5QQRGH7QQRGH IURP0DLQ%(0EDQN% JOREDOGWJDPTJDP IURPIXQFWLRQ%(0'FRQWDFW(OD% LIQE
QQRGH7 QQRGHQ QQRGHHOVHQ QQRGH5 HQG
LIP
XEP YEWEP WYE HOVH ZP XEP ZPQ ZPQ YEQ GWJDPTP SDUWRIHTQDE IRUFRQWDFWERG\$ LIQE
ZPQQQRGH7 ZPQQQRGH7 YEQQQRGH7 GWJDPTP HQG SDUWRIDE IRUFRQWDFWERG\%
LIP! IRUT P XTQ XETQ XETQ JDPTT JDPTP SDUWRIHTQE IRUFRQWDFWERG\$ LIQE
XTQQQRGH7 XETQQQRGH7 XETQQQRGH7 JDPTT JDPTP HQG
SDUWRIHTQE IRUFRQWDFWERG\% ZP ZPXT HQG HQG XEP ZP HTQD WE WE LQLWLDOWUDFWLRQ WEPQ WYEQ JDP WEQ HTQ BIRUWKHFRQWDFWERG\$ LIQE
WEPQQQRGH7 WYEQQQRGH7 JDP WEQQQRGH7 HQGHTQ BIRUWKHFRQWDFWERG\%
HQG
F013: BEM2Dcontact_YGtoKf IXQFWLRQ>.$.%.&I@ %(0'FRQWDFWB.$.%.&I@ %(0'FRQWDFWBXEWEXYZ@ %(0'FRQWDFWB'7[VXBKDWWBKDWQ$Q%Q& GLVSODFHPHQWVDQG WUDFWLRQ >&6HWD6QYLY@ %(0'FRQWDFWB&VWDWXV&6HWD6XEWEXYZ FKHFNWKHFULWHULDIRUFRQWDFWVWDWXVHTX QWLPHV QWLPHV HQG LIQWLPHV
QYa
GLVS :DUQLQJRXWSXWGXHWRWKHLWHUDWLRQOLPLWDWLRQ6RPHFRQWDFWFULWHULDDUHQRWVDWLVILHG ISULQWIILG ?U?Q:DUQLQJRXWSXWGXHWRWKHLWHUDWLRQOLPLWDWLRQ6RPHFRQWDFWFULWHULDDUHQRWVDWLVILHG?U?Q HQG RXWSXWWKHWUDFWLRQVDQGGLVSODFHPHQWV [K [Q \K [Q XK XE XK XE XK XE WK WE (WK WE (WK WE ( ISULQWIILG ?U?Q)ROORZLQJUHVXOWVDUHWKHGLVSODFHPHQWVDQGWUDFWLRQV?U?Q VWU ^ ?U?Q7DEOHRIGLVSODFHPHQW?U?Q [ \ X X X ` 8K >XKXKXK@ SULQW7)ILG[K\K8KVWUGLP VWU ^ ?U?Q7DEOHRIWUDFWLRQ?U?Q [ \ W W W ` =K >WKWKWK@ SULQW7)ILG[K\K=KVWUGLP EDFNWRHDFKVXEUHJLRQWRVROYHDOOWKHRWKHUTXDQWLWLHVE\XVLQJ%(0 IRULVU QQRGH QQRGH5LVU /W\SH /W\SH5LVU QRGH6 QRGH5LVU QHOHPHQW QHOHPHQW5LVU [/ [5LVU \/ \5LVU DOSKD DOSKD5LVU GV GV5LVU D5LVU DE5LVU E [Q/ [Q/5LVU HOHPHQW HOHPHQW5LVU WKHWDB[L WKHWDB[L5LVU QRGH QRGH5LVU [P [P5LVU [P [P5LVU LI%W\SH
WKHWDB[ WKHWDB[5LVU HQG
OLQHDUHOHPHQW
LI%W\SH
[P [P5LVU WKHWDB[ WKHWDB[5QHOHPHQWLVU HQG
TXDGUDWLFHOHPHQW
>XEBXEBWEWE@ %(0VWUDLQVWUHVV%XEWELVU FDOFXODWHDQGSULQWRXWWKHVWUDLQVDQGVWUHVVHVDWWKHERXQGDU\QRGHV HQG /W\SH /W\SHVHW/W\SHEDFNWRLWVRULJLQDOYDOXHWKHQLWPD\EHXVHLQ%(0EDQN,1
F015: BEM2Dcontact2VisB IXQFWLRQ>XEWEXEBXEBWEWE@ %(0'FRQWDFW9LV% %(0'FRQWDFW9LV%SURYLGHVWKHVROXWLRQVRIGLVSODFHPHQWVWUDFWLRQVVWUDLQVDQGVWUHVVHVDWWKHERXQGDU\QRGHV IRUWZRGLPHQVLRQDOFRQWDFWSUREOHPVEHWZHHQWZRYLVFRHODVWLFERGLHVWKURXJKERXQGDU\HOHPHQWPHWKRG XEWEXEBXEBWEWEH[SODLQHGLQIXQFWLRQ%(0EDQN% */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ 9/W\SH/W\SHRIYLVFRHODVWLFSUREOHP HWD6L WKHVLJQIRUIULFWLRQFRHIILFLHQWHWDRILWKFRQWDFWQRGH QWVQXPEHURIWLPHVWHS GWWLPHVWHS YBKDWWYBKDWGLVSODFHPHQWVDQGWUDFWLRQVRIWKHHODVWLFOLNHV\VWHP 6WP6WPM NMWKVHOHFWHGWLPHLVFORVHWRNWKWLPH !WLM WLPHNN WN GW 6[\6[\M YNMWKVHOHFWHGSRVLWLRQLVFORVHWRYNWKSRLQW ![\LM ;LNN LI2W\SHa 6[\M >ZT@MWKVHOHFWHGSRVLWLRQLVFORVHWR>ZT@WKSRLQW ![\LM ;LNZT LI2W\SH Q[\L QXPEHURIVHOHFWHGSRVLWLRQLQLWKUHJLRQIRUSULQWLQJWLPHYDULDWLRQ Q$Q%QXPEHURIQRQFRQWDFWQRGHVLQERG\$DQGERG\% Q.QXPEHURIXQNQRZQYDULDEOHVDOVRGLPHQVLRQRIPDWUL[.RIHTQ V%VWDUWLQJFRQWDFWQRGHRIERG\%LVV%
524
Appendix F: AEPH Source Code (Listed in Alphabetic Order) WKHWD&JVHHH[SOQDWLRQLQVXEIXQFWLRQORFDO& &6FRQWDFWVWDWXV&6L VHSDUDWH&6L VWLFN&6L VOLS YEPWYEPPDWULFHVFRQWDLQVWKHTXDVLGLVSODFHPHQWVYEDQGTXDVLWUDFWLRQVWYERIWKHHODVWLFOLNHV\VWHPVDWHDFKWLPHVWHS JDPL JDPPDW RIHTQE ZKHUHL FRQWDFWERG\$L FRQWDFWERG\% JDPTTL JDPPDBTW RIHTQE ZKHUHL FRQWDFWERG\$L FRQWDFWERG\% WLPHN MWYHFWRURIWLPHLHWLPHN >WWGWW GWWMW GW@ JOREDO/W\SH2W\SHILGGLP(HSV[Q5WLPH IURP0DLQSURJUDPDQG0DLQBDX[ JOREDOQQRGH7QQRGH5QRGH5QQRGHQRGH6Q&HWDQWLPHVXBKDWWBKDW IURPIXQFWLRQV%(0EDQN%DQG%(0PHVK JOREDO9/W\SHHWD6QWVGWYBKDWWYBKDW6WP6[\Q[\ JHQHUDWHG JOREDOQ$Q%Q.V%WKHWD&J&6YEPWYEPJDPJDPTWLPHN JHQHUDWHG /W\SH /W\SHVWRUHRULJQDOYDOXHRI/W\SH 9/W\SH /W\SH VDYHWKHRULJLQDO/W\SHDQGZLOOEHUHTXHVWHGLQIXQFWLRQ7DEOH)LJ HWD6 ]HURVQ& &6 ]HURVQ& JHQHUDWHG Q$ QQRGH5 Q&Q% QQRGH5 Q&Q. GLP QQRGH7 Q& V% Q$Q%Q& LIHWD
&6Q& HOVH&6Q& HQG DVVXPHVOLSIRUIULFWLRQOHVVFDVHVDQGVWLFNIRUIULFWRQDOFDVHV
W 5WLPH WI 5WLPH GW 5WLPH MW 5WLPH W WKHLQLWLDOWLPHWIWKHILQDOWLPH GWWLPHVWHS IRUWP WGWWIMW MWWLPHNMW WPHQG
JHQHUDWHWLPHNIRUWKHXVHLQSRVLWLRQ7LPH
QWV MW QXPEHURIWLPHVWHSJHQHUDWHGWRXVHLQ7DEOH)LJ >WKHWD&J@ %(0'FRQWDFWBORFDO&HTQ >.$.%.&I@ %(0'FRQWDFWBNNNIY@ %(0'FRQWDFWB'F'W'UJP@ %(0'FRQWDFWB&&5'FJPXEWE&6HWD6LYL P HQG LIP
'FDQGIPRIHTQ
IV >IJP@ >IIF@RIHTQD IF JPHTQF
HOVH IFP 'F \FPJP IFPIFRIHTQF ZKHQP! IV >IYIFP@ >IIF@RIHTQD HQG .V >.$.&.%]HURV GLP Q&GLP Q$ 'F]HURV GLP Q&GLP Q% @ OHIWKDQGVLGHRIHTQD XW .V?IVVROYHHTXDWLRQVD >YEWYEXYZ@ %(0'FRQWDFWB'7XWYBKDWWYBKDWQ$Q%Q&P WKHVROXWLRQRIHODVWLFOLNHV\VWHPV >XEWE@ %(0'FRQWDFWBYWYYEWYEXEWEP FRQYHUWVROXWLRQVRIHODVWLFOLNHV\VWHPVZLWKYDQGWY WRWKHDFWXDOYLVFRHODVWLF V\VWHPZLWKXDQGW HTQ >&6HWD6QYLY@ %(0'FRQWDFWB&VWDWXV&6HWD6XEWEXYZP FKHFNWKHFULWHULDIRUFRQWDFWVWDWXVE\ QWLPHV QWLPHV HQG LIQWLPHV
QYa
Appendix F: AEPH Source Code (Listed in Alphabetic Order) GLVS :DUQLQJRXWSXWGXHWRWKHLWHUDWLRQOLPLWDWLRQ6RPHFRQWDFWFULWHULDDUHQRWVDWLVILHG ISULQWIILG ?U?Q:DUQLQJRXWSXWGXHWRWKHLWHUDWLRQOLPLWDWLRQ6RPHFRQWDFWFULWHULDDUHQRWVDWLVILHG?U?Q HQG YEPP YEWYEPP WYE VWRUHGWKHVROXWLRQVRIHODVWLFOLNHV\VWHP >XEBXEBWEWE@ %(0'FRQWDFWBXWYEWYEXEBXEBWEWEP FDOFXODWHWKHVWUHVVHVDQGVWUDLQV SULQWWUDFWLRQDWWKHFXUUHQWWLPHVWHS WEP WEP WK WEP (WK WEP (WK WEP ( [K [Q \K [Q ISULQWIILG ?U?Q7UDFWLRQDWWLPH I?U?Q P GW VWU ^ ?U?Q7DEOHRIWUDFWLRQ?U?Q [ \ W W W ` =K >WKWKWK@ SULQW7)ILG[K\K=KVWUGLP HQG 8LN XE8LN XEB8LN XEB 7LN WE7LN WE7LN QDQ 7LNGLPMWQQRGH QDQ ;LN >[Q ]HURVQQRGH7 @JHQHUDWHVWRXVHLQ7DEOH)LJ ,GHQWLI\WKHWLPHDQGSRLVWLRQIRUSULQWLQJ7DEOHVDQG)LJXUHV >6WP6[\GV9ZTQVS@ SRVLWLRQ7LPH JHQHUDWH6WPIRUWKHXVHLQ7DEOH)LJ'9RI7DEOH)LJ Q[\ Q[\ IRULE LIQ[\LE a 2W\SHBWHPS 2W\SH2W\SH VHW2W\SH WRVHOHFWWKHQHDUHVWSRLQWWRSULQWLQ7DEOH)LJ GVQ[\LE QDQ9ZTQ[\LE QDQQVSQ[\LE QDQ6[\Q[\LE QDQGHIDXOW QQRGH QQRGH5LE QRGH6 QRGH5LE IRUM QQRGH L QRGH6M [L [QL [L [QL >a6[\GV9ZTQVS@ SRVLWLRQ7LPH[LHSVL6[\GV9ZTQVSLE JHQHUDWH6[\ HQG Q[\ Q[\LE JHQHUDWHWRXVHLQ7DEOH)LJXUH 2XWSXWWKHUHVXOWVRIGLVSODFHPHQWVVWUDLQVVWUHVVHVDQGWUDFWLRQVRIWKHERXQGDU\QRGHV 7DEOH)LJ;LN8LN7LNQQRGH7 SULQWRQO\WKH7DEOHVRIGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVQRILJXUHV 2W\SH 2W\SHBWHPS UHWXUQ2W\SHWRLWVRULJLQDOYDOXHLQSXWE\WKHXVHUV HQG HQG /W\SH /W\SHUHWXUQRULJLQDOYDOXHIRU/W\SH IXQFWLRQ>\FP@ I&XEWEP 'HWHUPLQHWKHPDWULFHVI&UHTXLUHGLQFRQWDFWFRQVWUDLQWUHODWLRQVHTQ 1RWHWKDWWRREDWLQI&HTQ QHHGWREHUHZULWWHQLQWHUPVRIWKHQHZYDULEDOHYWYDVHTQV DQG JOREDOGLPQQRGH7IURP0DLQ JOREDOQ$V%Q&JDPTJDPGWIURP%(0'FRQWDFW9LV% ZP XEPQ$Q$Q& ZP XEPV%QQRGH7 SDUWRIHTQE W WEQ$Q$Q& W WEV%QQRGH7 SDUWRIHTQG \FP UHVKDSH>ZP JDPTP GWJDP WZP JDPTP GWJDP W@ GLP Q& SDUWRIHTQG LIP! IRUT P
525
526
Appendix F: AEPH Source Code (Listed in Alphabetic Order) ZP XETQ$Q$Q& XETQ$Q$Q& JDPTT GW ZP XETV%QQRGH7 XETV%QQRGH7 JDPTT GW \FP \FPUHVKDSH>ZP]HURVGLPQ& ZP]HURVGLPQ& @ GLP Q& HTQE G HQG HQG
F016: BEM2DcontactMReB IXQFWLRQ>XEWEXEBXEBWEWE@ %(0'FRQWDFW05H%XBKDWWBKDWTNPN %(0'FRQWDFW%SURYLGHVWKHVROXWLRQVRIGLVSODFHPHQWVWUDFWLRQVVWUDLQVDQGVWUHVVHVDWWKHERXQGDU\QRGHV IRUWZRGLPHQVLRQDOFRQWDFWSUREOHPVWKURXJKERXQGDU\HOHPHQWPHWKRG 1RWHWKDWWKHFRQWDFWFRQVLGHUHGKHUHLVDKDOISODQHLQGHQWHGE\PXOWLSOHULJLGSXQFKHV 7RVROYHWKHFRQWDFWSUREOHPHVEHWZHHQWZRHODVWLFERGLHVRQHPD\FDOOWKHIXQFWLRQ%(0'FRQWDFW(OD% XEWEXEBXEBWEWEH[SODLQHGLQIXQFWLRQ%(0EDQN% XBKDWWBKDWH[SODLQHGLQIXQFWLRQ%(0PHVK TNPNWKHIRUFHVPRPHQWVDSSOLHGRQWKHSXQFKHVH[SODLQHGLQ%(0EDQN% */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ Q.QXPEHURIXQNQRZQYDULDEOHVDOVRGLPHQVLRQRIPDWUL[.RIHTQ [PGLLS ORFDOFRRUGLQDWHRIWKHLWKFRQWDFWQRGHRIWKHLSWKSXQFK I[LLS WKHDVVRFLDWHGIXQFWLRQYDOXHRISXQFKSURILOHDW[PGLLS &6LLS FRQWDFWVWDWXVRIWKHLWKFRQWDFWQRGHRILSWKSXQFK&6 VHSDUDWH&6 VWLFN&6 VOLS Q&QXPEHURIFRQWDFWQRGHV QFLS QXPEHURIFRQWDFWQRGHVXQGHUWKHLSWKSXQFK QS&LS FRQWDFWQRGHVXQGHUWKHLSWKSXQFK QQ&QXPEHURIQRQFRQWDFWQRGHV QRGH1&L LWKQRQFRQWDFWQRGH QRGH&L LWKFRQWDFWQRGHRIHQWLUHFRQWDFWUHJLRQ HWDLS IULFWLRQFRHIILFLHQWRIWKHLSWKSXQFK HWD6LLS WKHVLJQIRUIULFWLRQFRHIILFLHQWHWDRILWKFRQWDFWQRGHRIWKHLSWKSXQFK QRGH6UHDUUDQJHWKHVHTXHQFHRIERXQGDU\QRGHVE\QRGH6 >QRGH1&QRGH&@ JOREDO9W\SHGLPILGQQRGHQBSXQFKQWLPHVQS IURP0DLQSURJUDP %(0EDQN% JOREDOQ.[PGI[&6Q&QFQS&QQ&QRGH1&QRGH&HWDHWD6QRGH6 JHQHUDWHG >[PGI[QFQS&Q&QQ&Q.QRGH&QRGH1&QRGH6HWD6&6@ %(0'FRQWDFWB05%QSHWD FDOFXODWHWKHYDOXHVUHODWHGWRSXQFK SURILOHFRQWDFWQRGHVQRQFRQWDFWQRGHVHWF >..%.&I@ %(0'FRQWDFWB'TIT@ %(0'FRQWDFWB'ITTNPN FDOFXODWH'TDQGITLQHT .'T >..&]HURVGLP QQRGH QBSXQFK 'T@SDUWRIWKHOHIWKDQGVLGHRI ZKLFKLVXQFKDQJHGGXULQJLWHUDWLRQ 'X ]HURVGLP Q&GLP Q& 'W ]HURVGLP Q&GLP Q& 'U ]HURVGLP Q&GLP QBSXQFK IF ]HURVQ& 'X'W'UIFRIHT QY Q&VQF LQLWLDOYDOXHVIRUWKHIROORZLQJLWHUDWLRQ IRULS QBSXQFK LQLWLDOO\VHWDOOFRQWDFWQRGHVEHYLRODWHG LILS!VQF VQFQFLS HQG IRUM QFLS MV VQFMLYMV LSLYMV MHQG HQG ZKLOHQY QWLPHV! IRUL QYXSGDWH'X'W'UDQGIFIRUYLRODWHGFRQWDFWQRGHV LS LYL M LYL >'X'W'UIF@ %(0'FRQWDFWB&&5'X'W'UIF&6HWD6LSM HQG .V >.'T]HURVGLP Q&GLP QQ& 'X'W'U@WKHOHIWKDQGVLGHRIHT IV >IITIF@ULJKWKDQGVLGHRIHT
Appendix F: AEPH Source Code (Listed in Alphabetic Order) XW .V?IVVROYLQJWKHHT >XEWEXYZ@ %(0'FRQWDFWB'7XWXBKDWWBKDWQQ&Q& >&6HWD6QYLY@ %(0'FRQWDFWB&VWDWXV&6HWD6XEWEXYZ FKHFNLQJFRQWDFWVWDWXVE\HT QWLPHV QWLPHV HQG LIQWLPHV
QYa GLVS :DUQLQJVWRSUXQQLQJGXHWRWKHLWHUDWLRQOLPLWDWLRQ6RPHFRQWDFWFULWHULDDUHQRWVDWLVILHG
HOVH LI9W\SH
SULQWRXWRQO\IRUHODVWLFSUREOHPV
IRULS QBSXQFK ISULQWIILG ?U?QWKHULJLGERG\PRWLRQVRISXQFKL ILVX HY HZ H?U?Q LSXLS YLS ZLS SULQWRXWWKHULJLGERG\PRWLRQIRUHDFKSXQFK HQG HQG HQG >XEBXEBWEWE@ %(0VWUDLQVWUHVV%XEWE FDOFXODWHDQGSULQWRXWWKHVWUDLQVDQGVWUHVVHVDWWKHERXQGDU\QRGHV
F017: BEM2DcontactMRvBc IXQFWLRQ>XEWEXEBXEBWEWE@ %(0'FRQWDFW05Y%F %(0'FRQWDFW05Y%FSURYLGHVWKHVROXWLRQVRIGLVSODFHPHQWVWUDFWLRQVVWUDLQVDQGVWUHVVHVDWWKHERXQGDU\QRGHV IRUWZRGLPHQVLRQDOFRQWDFWSUREOHPVWKURXJKERXQGDU\HOHPHQWPHWKRGEDVHGRQFRUUHVSRQGHQFHSULQFLSOH XEWEXEBXEBWEWEH[SODLQHGLQIXQFWLRQ%(0EDQN% */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ $%PX457&LM6LMH[SODLQHGLQ0DLQSURJUDP 6WP6[\H[SODLQHGLQIXQFWLRQ0DLQDX[ LVLWKYDULDEOHRIVLQ/DSODFHGRPDLQ JOREDO/W\SH2W\SHHSVQQRGH[QQVVY$V%VPXV4V5V7V&LMV6LMVQ[\ IURP0DLQSURJUDPDQG0DLQDX[ JOREDOQWLPHVTNPNWBKDWXBKDW IURP%(0EDQN%DQG%(0PHVK JOREDO9/W\SH$%PX457&LM6LM6WP6[\LVJHQHUDWHGIRUWKHXVHLQIXQFWLRQ%(0'HODVWLF%%(0'YLVFR,1 %(0'FRQWDFWB&&57DEOH)LJ JOREDOXEVWEVJHQHUDWHGIRUWKHXVHLQ%(0'YLVFR,1 TN TNPN PN VWRUHGWKHRULJLQDOYDOXHVRIWKHDSSOLHGORDGTNDQGDSSOLHGPRPHQWPN WBKDW WBKDWXBKDW XBKDW VWRUHWKHRULJLQDOWBKDWDQGXBKDWEHIRUH/DSODFHWUDQVIRUP QWLPHV QWLPHV VWRUHWKHRULJLQDOQWLPHV 9/W\SH /W\SH VDYHWKHRULJLQDO/W\SHDQGZLOOEHUHTXHVWHGLQIXQFWLRQ7DEOH)LJ IRULV QV QWLPHV QWLPHV UHQHZIRU%(0'FRQWDFW05H% TN TNVYLV PN PNVYLV WBKDW WBKDWVYLV XBKDW XBKDWVYLV $ $VLV % %VLV PX PXVLV &LM &LMVLV 6LM 6LMVLV 4 4VLV 5 5VLV 7 7VLV >XVWVXVBXVBWVWV@ %(0'FRQWDFW05H%XBKDWWBKDWTNPN FDOFXODWHWKHVROXWLRQLQ/DSODFHGRPDLQ XEVLV XV WEVLV WV XEVBLV XVB XEVBLV XVB WEVLV WV WEVLV WV HQG IRUM QQRGH XEM /DSODFHBLQYXEVM WEM /DSODFHBLQYWEVM XEBM /DSODFHBLQYXEVBM XEBM /DSODFHBLQYXEVBM WEM /DSODFHBLQYWEVM WEM /DSODFHBLQYWEVM HQG 8LN XE8LN XEB8LN XEB
527
528
Appendix F: AEPH Source Code (Listed in Alphabetic Order) 7LN WE7LN WE7LN QDQ 7LNGLPMWQQRGH QDQ ;LN >[Q ]HURVQQRGH @ JHQHUDWHVWRXVHLQ7DEOH)LJ ,GHQWLI\WKHWLPHDQGSRLVWLRQIRUSULQWLQJ7DEOHVDQG)LJXUHV >6WP6[\GV9ZTQVS@ SRVLWLRQ7LPH JHQHUDWH6WPIRUWKHXVHLQ7DEOH)LJ'9RI7DEOH)LJ 2W\SHBWHPS 2W\SH2W\SH VHW2W\SH WRVHOHFWWKHQHDUHVWSRLQWWRSULQWLQ7DEOH)LJ GVQ[\ QDQ9ZTQ[\ QDQQVSQ[\ QDQ6[\Q[\ QDQGHIDXOW IRUL QQRGH [L [QL [L [QL >6WP6[\GV9ZTQVS@ SRVLWLRQ7LPH[LHSVL6[\GV9ZTQVS JHQHUDWH6[\ HQG 2XWSXWWKHUHVXOWVRIGLVSODFHPHQWVVWUDLQVVWUHVVHVDQGWUDFWLRQVRIWKHERXQGDU\QRGHV 7DEOH)LJ;LN8LN7LNQQRGH SULQWRQO\WKH7DEOHVRIGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVQRILJXUHV 2W\SH 2W\SHBWHPS UHWXUQ2W\SHWRLWVRULJLQDOYDOXHLQSXWE\WKHXVHUV VDYH LQSXWBUHVXOW%(0 XEV WEV DSSHQG VDYHWKHUHVXOWVIRUODWHUXVH
F018: BEM2DcontactMRvBt IXQFWLRQ>XEWEXEBXEBWEWE@ %(0'FRQWDFW05Y%W %(0'FRQWDFW05Y%WSURYLGHVWKHVROXWLRQVRIGLVSODFHPHQWVWUDFWLRQVVWUDLQVDQGVWUHVVHVDWWKHERXQGDU\QRGHV IRUWZRGLPHQVLRQDOFRQWDFWSUREOHPVZLWKPXOWLSOHULJLGSXQFKHVRQYLVRFHODVWLFIRXQGDWLRQ 6ROXWLRQPHWKRGERXQGDU\HOHPHQWPHWKRGFRPELQHGZLWKWLPHVWHSSLQJPHWKRG XEWEXEBXEBWEWEH[SODLQHGLQIXQFWLRQ%(0EDQN% */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ 9/W\SH/W\SHRIYLVFRHODVWLFSUREOHP GWWLPHVWHS QWVQXPEHURIWLPHVWHS 6WP6WPM NMWKVHOHFWHGWLPHLVFORVHWRNWKWLPH !WLM WLPHNN WN GW 6[\6[\M YNMWKVHOHFWHGSRVLWLRQLVFORVHWRYNWKSRLQW ![\LM ;LNN LI2W\SHa 6[\M >ZT@MWKVHOHFWHGSRVLWLRQLVFORVHWR>ZT@WKSRLQW ![\LM ;LNZT LI2W\SH
Q[\L QXPEHURIVHOHFWHGSRVLWLRQLQLWKUHJLRQIRUSULQWLQJWLPHYDULDWLRQ QFLS QXPEHURIFRQWDFWQRGHVXQGHUWKHLSWKSXQFK QS&LS FRQWDFWQRGHVXQGHUWKHLSWKSXQFK Q&WRWDOQXPEHURIFRQWDFWQRGHV QQ&QXPEHURIQRQFRQWDFWQRGHV Q.QXPEHURIXQNQRZQYDULDEOHVDOVRGLPHQVLRQRIPDWUL[.RIHTQ QRGH&L LWKFRQWDFWQRGHRIHQWLUHFRQWDFWUHJLRQ QRGH1&L LWKQRQFRQWDFWQRGH QRGH6UHDUUDQJHWKHVHTXHQFHRIERXQGDU\QRGHVE\QRGH6 >QRGH1&QRGH&@ HWD6LLS WKHVLJQIRUIULFWLRQFRHIILFLHQWHWDRILWKFRQWDFWQRGHRIWKHLSWKSXQFK &6FRQWDFWVWDWXV&6L VHSDUDWH&6L VWLFN&6L VOLS [PGLLS ORFDOFRRUGLQDWHRIWKHLWKFRQWDFWQRGHRIWKHLSWKSXQFK I[LLS WKHDVVRFLDWHGIXQFWLRQYDOXHRISXQFKSURILOHDW[PGLLS YEPWYEPPDWULFHVFRQWDLQVWKHTXDVLGLVSODFHPHQWVDQGTXDVLWUDFWLRQVRIWKHHODVWLFOLNHV\VWHPVDWHDFKWLPHVWHS JDPL JDPPDW RIHTQE ZKHUHL FRQWDFWERG\$L FRQWDFWERG\% JDPTTL JDPPDBTW RIHTQE ZKHUHL FRQWDFWERG\$L FRQWDFWERG\% WLPHN MWYHFWRURIWLPHLHWLPHN >WWGWW GWWMW GW@ JOREDO/W\SH2W\SHILGGLPHSV[Q5WLPH IURP0DLQDQG0DLQBDX[ JOREDOQQRGHQBSXQFKQSHWDQWLPHVTNPNXBKDWWBKDW IURP%(0EDQN%DQG%(0PHVK JOREDO9/W\SHGWQWV6WP6[\Q[\QFQS&Q&QQ&Q.QRGH&QRGH1&QRGH6HWD6&6 JHQHUDWHG
Appendix F: AEPH Source Code (Listed in Alphabetic Order) JOREDO[PGI[YEPWYEPJDPJDPTWLPHN JHQHUDWHG 9/W\SH /W\SH JHQHUDWHIRUWKHXVHLQ7DEOH)LJ W 5WLPH WI 5WLPH GW 5WLPH MW 5WLPH W WKHLQLWLDOWLPHWIWKHILQDOWLPH GWWLPHVWHS IRUWP WGWWIMW MWWLPHNMW WPHQG
JHQHUDWHWLPHNWRXVHLQSRVLWLRQ7LPH
QWV MW QXPEHURIWLPHVWHSJHQHUDWHGWRXVHLQ7DEOH)LJ TPN >TNPN@DYHFWRUFRQWDLQLQJIRUFHVPRPHQWVDSSOLHGRQDOOULJLGSXQFKHV >[PGI[QFQS&Q&QQ&Q.QRGH&QRGH1&QRGH6HWD6&6@ %(0'FRQWDFWB05%QSHWD >..%.&I@ %(0'FRQWDFWB'TIT@ %(0'FRQWDFWB'ITTNPN FDOFXODWH'TDQGITLQHT .'T >..&]HURVGLP QQRGH QBSXQFK 'T@SDUWRIWKHOHIWKDQGVLGHRI ZKLFKLVXQFKDQJHGGXULQJLWHUDWLRQ XE ]HURVGLPQWVQQRGH WE ]HURVGLPQWVQQRGH GHIDXOW XEB ]HURVGLPQWVQQRGH WE ]HURVGLPQWVQQRGH GHIDXOW XEB ]HURVGLPQWVQQRGH WE ]HURVGLPQWVQQRGH GHIDXOW X ]HURVQWVQBSXQFK Y ]HURVQWVQBSXQFK Z ]HURVQWVQBSXQFK GHIDXOW 'X ]HURVGLP Q&GLP Q& 'W ]HURVGLP Q&GLP Q& 'U ]HURVGLP Q&GLP QBSXQFK IF ]HURVQ& 'X'W'UIFRI QY Q&VQF LQLWLDOYDOXHVIRUWKHIROORZLQJLWHUDWLRQ IRULS QBSXQFK LQLWLDOO\VHWDOOFRQWDFWQRGHVEHYLRODWHG LILS!VQF VQFQFLS HQG IRUM QFLS MV VQFMLYMV LSLYMV MHQG HQG QWLPHV QWLPHVVWRUHRULJLQDOYDOXHRIWKHQXPEHURILWHUDWLRQ IRUP QWV QWLPHV QWLPHVUHWXUQWKHYDOXHRIQWLPHV >YBKDWWYBKDWJDPJDPTTPY@ %(0'FRQWDFWB%&YXBKDWWBKDWTPNPGWQQRGH HTQ TY TPYGLP PY TPYGLP TYPYIRUFHVPRPHQWVDSSOLHGRQHDFKSXQFKRIWKHHODVWLFOLNHV\VWHP LIPa >NNNI@ %(0'FRQWDFWB'TIT@ %(0'FRQWDFWB'ITTYPY FDOFXODWH'TDQGITLQHT HQG QY QYLY LY ZKLOHQY QWLPHV! IRUL QYXSGDWH'X'W'UDQGIFIRUYLRODWHGFRQWDFWQRGHV LS LYL M LYL >'X'W'UIF@ %(0'FRQWDFWB&&5'X'W'UIFXEWE&6HWD6LSMP HQG .V >.'T]HURVGLP Q&GLP QQ& 'X'W'U@WKHOHIWKDQGVLGHRIHT IV >IITIF@ULJKWKDQGVLGHRIHT XW .V?IVVROYLQJWKHHT >YEWYEXYZ@ %(0'FRQWDFWB'7XWYBKDWWYBKDWQQ&Q&P >XEWE@ %(0'FRQWDFWBYWYYEWYEXEWEP >&6HWD6QYLY@ %(0'FRQWDFWB&VWDWXV&6HWD6XEWEXYZP FKHFNLQJFRQWDFWVWDWXVE\HT QWLPHV QWLPHV HQG LIQWLPHV
QYa GLVS :DUQLQJVWRSUXQQLQJGXHWRWKHLWHUDWLRQOLPLWDWLRQ6RPHFRQWDFWFULWHULDDUHQRWVDWLVILHG
HOVH IRULS QBSXQFK ISULQWIILG ?U?QWKHULJLGERG\PRWLRQVRISXQFKL IDWWKHWLPHW IVDUHX HY HZ H ?U?Q LSP GWXPLS YPLS ZPLS HQG
529
530
Appendix F: AEPH Source Code (Listed in Alphabetic Order) HQG >XEBXEBWEWE@ %(0'FRQWDFWBXWYEWYEXEBXEBWEWEP YEPP YEWYEPP WYEVDYHIRUODVWHUXVHGLQ%(0'YLVFR,1W HQG 8LN XE8LN XEB8LN XEB 7LN WE7LN WE7LN QDQ 7LNGLPMWQQRGH QDQ ;LN >[Q ]HURVQQRGH @JHQHUDWHVWRXVHLQ7DEOH)LJ >6WP6[\GV9ZTQVS@ SRVLWLRQ7LPH JHQHUDWH6WPIRUWKHXVHLQ7DEOH)LJ'9RI7DEOH)LJ 2W\SHBWHPS 2W\SH2W\SH VHW2W\SH WRVHOHFWWKHQHDUHVWSRLQWWRSULQWLQ7DEOH)LJ GVQ[\ QDQ9ZTQ[\ QDQQVSQ[\ QDQ6[\Q[\ QDQGHIDXOW IRUL QQRGH [L [QL [L [QL >a6[\GV9ZTQVS@ SRVLWLRQ7LPH[LHSVL6[\GV9ZTQVS JHQHUDWH6[\ HQG 2XWSXWWKHUHVXOWVRIGLVSODFHPHQWVVWUDLQVVWUHVVHVDQGWUDFWLRQVRIWKHERXQGDU\QRGHV 7DEOH)LJ;LN8LN7LNQQRGH SULQWRQO\WKH7DEOHVRIGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVQRILJXUHV 2W\SH 2W\SHBWHPS UHWXUQ2W\SHWRLWVRULJLQDOYDOXHLQSXWE\WKHXVHUV
F019: BEM2DdynamicB IXQFWLRQ>XEWEXEBXEBWEWEXDE@ %(0'G\QDPLF% %(0'G\QDPLF%VROYHVWKHSUREOHPVIRUWZRGLPHQVLRQDOG\QDPLFSUREOHPVWKURXJKERXQGDU\HOHPHQWPHWKRG XEPMLW WKHPWKFRPSRQHQWRIWKHGLVSODFHPHQWXEDWWKHMWKERXQGDU\QRGHDWWLPHWLW GW WEPMLW WKHPWKFRPSRQHQWRIWKHWUDFWLRQWEDWWKHMWKERXQGDU\QRGHDWWLPHWLW GW XDEPMLW WKHPWKFRPSRQHQWRIWKHDFFHOHUDWLRQXDEDWWKHMWKERXQGDU\QRGHDWWLPHWLW GW XEBPMLW XEBPMLW WEPMLW WEPMLW H[SODLQHGLQIXQFWLRQ%(0EDQN% */2%$/9$5,%$/(6JHQHUDWHGLQWKLVIXQFWLRQFDOFXODWHGLQIXQFWLRQ%(0ORDGBG\QDPLF 8S 8SLMN PDWUL[RIWKHSDUWLFXODUVROXWLRQVRIGLVSODFHPHQWV L aGLPM aGLP 1S1S QQRGHQS N aQQRGH8SN ZKHQN!QQRGH 7S 7SLMN PDWUL[RIWKHSDUWLFXODUVROXWLRQVRIWUDFWLRQV L aGLPM aGLP 1SN aQQRGH7SN ZKHQN!QQRGH L)S )SLM LQYHUVHRIWKHPDWUL[RIWKHSDUWLFXODUVROXWLRQVRIERG\IRUFHV L aGLP 1SM aGLP 1S 6/W\SHW\SHIRUSULQWLQJ7DEOHVRI6,)(1*DQGRUGHOWDGHIDXOW LVVHWLQXSKLBEDQN 6/W\SH GHIDXOW6/W\SH IRU6,)RU(1*6/W\SH IRUVLQJXODURUGHUV JOREDO7PW\SHGLPILGQQRGH5WLPHWBKDWXBKDWXBYFXDBKDWIURP0DLQSURJUDPDQGIXQFWLRQ0DLQBDX[DQG%(0PHVK JOREDOTWESQS'K7LBK7LB@GHULYDWLYHVRIORDGYHFWRU K7LB K7GGLP K7LB K7GGLP GLP HQG IRUM QQRGH LI0/W\SH LI/W\SH
M QRGH6M HQG
LVQDQ[L
FDOFXODWHDVVRFLDWHGVWUDLQVRI6,)RIULJKWWLSIRUFUDFNSUREOHPV
XL5 XL5*LGLPM WEM [/D FRVDOSKD \/D VLQDOSKD @ SRVLWLRQRIFUDFNULJKWWLS LI7PW\SH
SUREOHPVLQGHSHQGHQWRIWLPHYDULDEOH
2W\SHBWHPS 2W\SH2W\SH
2W\SH SULQWLQJ6,)IRUSUREOHPVRI%)(0
7DEOH)LJLVU 2W\SH 2W\SHBWHPS HQG VLJPD ]HURVGLP VLJPD ]HURVGLP GHIDXOW HOVH
IRUWKHFDOFXODWLRQRILQWHUQDOVWUHVVHVHTQE
VLJPD 4 XLB5 XLB ( LQWHUQDOVWUHVVHV VLJPD 5
XLB7 XLB ( LQWHUQDOVWUHVVHV LI7W\SHa 2W\SHa VLJPD VLJPDEHWDLM WHPS,1YN (VLJPD VLJPDEHWDLM WHPS,1YN (HQG HTQ HQG LI3W\SHa IRUSLH]RHOHFWULFRU0((PDWHULDOV XL XL (XLB XLB (XLB XLB ( VLJPD VLJPD (VLJPD VLJPD ( HQG LI3W\SH! IRU0((PDWHULDOV XL XL (XLB XLB (XLB XLB ( VLJPD VLJPD (VLJPD VLJPD ( HQG
F023: BEM2DviscoB IXQFWLRQ>XEWEXEBXEBWEWE@ %(0'YLVFR%LVU %(0'YLVFR%SURYLGHVWKHVROXWLRQVRIGLVSODFHPHQWVWUDFWLRQVVWUDLQVDQGVWUHVVHVDWWKHERXQGDU\QRGHV IRUWZRGLPHQVLRQDOYLVFRHODVWLFSUREOHPVWKURXJKERXQGDU\HOHPHQWPHWKRG XEWEXEBXEBWEWELVUH[SODLQHGLQIXQFWLRQ%(0EDQN% 9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ XEVLLVM LWKGLVSODFHPHQWFRPSRQHQWRIWKHMWKERXQGDU\QRGHDW/DSODFHYDULDEOH LV WEVLLVM LWKWUDFWLRQFRPSRQHQWRIWKHMWKERXQGDU\QRGHDW/DSODFHYDULDEOH LV XEVBLLVM GHULYDWLYHRIERXQGDU\GLVSODFHPHQWZLWKUHVSHFWWR[DWWKHMWKERXQGDU\QRGHDW/DSODFHYDULDEOH LV XEVBLLVM GHULYDWLYHRIERXQGDU\GLVSODFHPHQWZLWKUHVSHFWWR[DWWKHMWKERXQGDU\QRGHDW/DSODFHYDULDEOH LV WEVLLVM VLJPDBVLJPDBVLJPDB YHFWRURIWKHVWUHVVHVDWWKHMWKERXQGDU\QRGHDW/DSODFHYDULDEOH LV WEVLLVM VLJPDBVLJPDBVLJPDB YHFWRURIWKHVWUHVVHVDWWKHMWKERXQGDU\QRGHDW/DSODFHYDULDEOH LV JOREDOGLP1PDW2W\SHHSV&LMV6LMV$V%VPXV4V7V5V&LMVBD6LMVBDIURP0DLQSURJUDP JOREDO$VBD%VBDPXVBD4VBD5VBD7VBDQVVYQQRGH[QQ[\9W\SHBDIURP0DLQSURJUDP
Appendix F: AEPH Source Code (Listed in Alphabetic Order) JOREDOWBKDWXBKDW6,)IURPIXQFWLRQ%(0PHVK%(0'HODVWLF,1 JOREDO&LM6LM$%PX457&LMBD6LMBD$BD%BDPXBD4BD5BD7BDXEVWEV6WP6[\JHQHUDWHGIRUWKHXVHLQIXQFWLRQ %(0'HODVWLF%%(0'YLVFR,1 7DEOH)LJ JOREDO6,)V6,)BW JHQHUDWHGIRUFUDFNSUREOHPV WBKDW WBKDWXBKDW XBKDW VWRUHWKHRULJLQDOWBKDWDQGXBKDWEHIRUH/DSODFHWUDQVIRUP IRULV QV LI1PDW! IRULP 1PDW LI9W\SHBDLP a IRUDQLVRWURSLFYLVFRHODVWLFVROLGV $BDLP $VBDLVLP %BDLP %VBDLVLP PXBDLP PXVBDLVLP &LMBDLP &LMVBDLVLP 6LMBDLP 6LMVBDLVLP 4BDLP 4VBDLVLP 5BDLP 5VBDLVLP 7BDLP 7VBDLVLP HQG HQG HOVH $ $VLV % %VLV PX PXVLV &LM &LMVLV 6LM 6LMVLV 4 4VLV 5 5VLV 7 7VLV HQG WBKDW WBKDWVYLV XBKDW XBKDWVYLV >XVWVXVBXVBWVWV@ %(0'HODVWLF%LVU FDOFXODWHWKHVROXWLRQVLQ/DSODFHGRPDLQ XEVLV XV WEVLV WV XEVBLV XVB XEVBLV XVB WEVLV WV WEVLV WV LILVHPSW\6,) a 6,)VLV 6,) HQG
DUUDQJH6,)VIRU6,)LQ/DSODFHGRPDLQZKLFKLVFDOFXODWHGLQ%(0'HODVWLF,1
HQG LILVHPSW\6,) a for k=1:2, SIF_t(:,k,:)=Laplace_inv(reshape(SIFs(:,k,:),dim,ns)); end % k=1: left tip, k=2: right tip of a crack; 2W\SHBWHPS 2W\SH2W\SH 2W\SH SULQWLQJ6,)IRUSUREOHPVRI%)(0 7DEOH)LJ 2W\SH 2W\SHBWHPS UHWXUQRULJLQDO2W\SH HQG IRUM QQRGH XEM /DSODFHBLQYXEVM WEM /DSODFHBLQYWEVM XEBM /DSODFHBLQYXEVBM XEBM /DSODFHBLQYXEVBM WEM /DSODFHBLQYWEVM WEM /DSODFHBLQYWEVM HQG 8LN XE8LN XEB8LN XEB 7LN WE7LN WE7LN QDQ 7LNGLPMWQQRGH QDQ ;LN >[Q ]HURVQQRGH @JHQHUDWHVWRXVHLQ7DEOH)LJ ,GHQWLI\WKHWLPHDQGSRLVWLRQIRUSULQWLQJ7DEOHVDQG)LJXUHV >6WP6[\GV9ZTQVS@ SRVLWLRQ7LPHLVU JHQHUDWH6WPIRUWKHXVHLQ7DEOH)LJ'9RI7DEOH)LJ 2W\SHBWHPS 2W\SH2W\SH VHW2W\SH WRVHOHFWWKHQHDUHVWSRLQWWRSULQWLQ7DEOH)LJ GVQ[\ QDQ9ZTQ[\ QDQQVSQ[\ QDQ6[\Q[\ QDQGHIDXOW IRUL QQRGH [L [QL [L [QL >6WP6[\GV9ZTQVS@ SRVLWLRQ7LPH[LHSVL6[\GV9ZTQVSLVU JHQHUDWH6[\ HQG 2XWSXWWKHUHVXOWVRIGLVSODFHPHQWVVWUDLQVVWUHVVHVDQGWUDFWLRQVRIWKHERXQGDU\QRGHV 7DEOH)LJ;LN8LN7LNQQRGH SULQWRQO\WKH7DEOHVRIGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVQRILJXUHV 2W\SH 2W\SHBWHPS UHWXUQ2W\SHWRLWVRULJLQDOYDOXHLQSXWE\WKHXVHUV VDYH LQSXWBUHVXOW%(0 XEV WEV DSSHQG VDYHWKHUHVXOWVIRUODWHUXVH
F024: BEM2DviscoIN IXQFWLRQ>XLXLBXLBVLJPDVLJPD@ %(0'YLVFR,1[LYNLVU
537
538
Appendix F: AEPH Source Code (Listed in Alphabetic Order) %(0'YLVFR,1FDOFXODWHVWKHLQWHUQDOGLVSODFHPHQWVXL VWUDLQVXLBXLBDQGVWUHVVHVVLJPDVLJPDRIRISRLQW[LZLWKWKH NQRZQYDOXHVRIERXQGDU\QRGDOGLVSODFHPHQWVXEDQGQRGDOWUDFWLRQVWE XLXLBXLBVLJPDVLJPD[LLVUH[SODLQHGLQIXQFWLRQ%(0EDQN,1 */2%$/9$5,$%/($JHQHUDWHGLQWKLVIXQFWLRQ XELM LWKGLVSODFHPHQWFRPSRQHQWRIWKHMWKERXQGDU\QRGH WELM LWKWUDFWLRQFRPSRQHQWRIWKHMWKERXQGDU\QRGH JOREDO/W\SH0/W\SH1PDWGLP$V%VPXV4V7V5V$VBD%VBDPXVBD4VBD5VBD7VBDQV9W\SHBD IURP0DLQSURJUDP JOREDOXEVWEVQQRGH7WH5V IURPIXQFWLRQ%(0'YLVFR%RU%(0'FRQWDFW05Y%F %)(0%)(0Y JOREDO$%PX457$BD%BDPXBD4BD5BD7BDXEWEWH5 JHQHUDWHGIRUWKHXVHLQIXQFWLRQ%(0'HODVWLF,1 /W\SH PRG/W\SH FKDQJH/W\SHWRUXQWKHSURJUDPLQ%(0'HODVWLF,1 XE ]HURVGLPQQRGH7 WE ]HURVGLPQQRGH7 IRULV QV LI1PDW! IRULP 1PDW LI9W\SHBDLP a IRUDQLVRWURSLFYLVFRHODVWLFPDWHULDOV $BDLP $VBDLVLP %BDLP %VBDLVLP PXBDLP PXVBDLVLP 4BDLP 4VBDLVLP 5BDLP 5VBDLVLP 7BDLP 7VBDLVLP HQG HQG HOVH $ $VLV % %VLV PX PXVLV 4 4VLV 5 5VLV 7 7VLV HQG XE XEVLV JHQHUDWHWKHVROXWLRQVRIXEWKURXJKXEV LI0/W\SH
/W\SHa WH5 WH5VLV SUHSDUHWKHVROXWLRQVRIWEE\XVLQJWH5WKURXJKWH5VIRUSUREOHPVZLWKPXOWLSOH
UHJLRQV HOVHWE WEVLV HQG
JHQHUDWHWKHVROXWLRQVRIWEWKURXJKWEV
>XLXLBXLBVLJPDVLJPD@ %(0EDQN,1[LYNLVU 8LVLV XL8LVLV XLB8LVLV XLB7LVLV VLJPD7LVLV VLJPD HQG XL /DSODFHBLQY8LV
GLVSODFHPHQWIURP/DSODFHGRPDLQWRWLPHGRPDLQ
XLB /DSODFHBLQY8LV XLB /DSODFHBLQY8LV GLVSODFHPHQWJUDGLHQWIURP/DSODFHGRPDLQWRWLPHGRPDLQ VLJPD /DSODFHBLQY7LV VLJPD /DSODFHBLQY7LV VWUHVVHVIURP/DSODFHGRPDLQWRWLPHGRPDLQ
F025: BEM2DviscoINt IXQFWLRQ>XLXLBXLBVLJPDVLJPD@ %(0'YLVFR,1W[LLVU %(0'YLVFR,1WFDOFXODWHVWKHLQWHUQDOGLVSODFHPHQWVXLVWUDLQVXLBXLBDQGVWUHVVHVVLJPDVLJPDRISRLQW[LZLWKWKH NQRZQYDOXHVRIERXQGDU\TXDVLQRGDOGLVSODFHPHQWVYEDQGTXDVLQRGDOWUDFWLRQVWYEE\XVLQJWLPHVWHSSLQJPHWKRG XLXLBXLBVLJPDVLJPD[LLVUH[SODLQHGLQIXQFWLRQ%(0EDQN,1 JOREDOGLP(457 IURP0DLQSURJUDP JOREDO0/W\SHQQRGHQRGH6QWVYEPWYEPGW IURP%(0EDQN%DQG%(0'FRQWDFW9LV% JOREDOJDPT5JDP5 IURPIXQFWLRQ%(0'FRQWDFWB%&Y >XEWEXEBXEBWEWE@ %(0'HODVWLF%LVU FDVH WZRGLPHQVLRQDODQLVRWURSLFYLVFRHODVWLFDQDO\VLV 9/W\SH /W\SH ZLOOEHUHTXHVWHGLQIXQFWLRQ7DEOH)LJ >XEWEXEBXEBWEWE@ %(0'YLVFR%LVU FDVH WZRGLPHQVLRQDODQLVRWURSLFWKHUPRHODVWLFDQDO\VLV QB)V ORDGVWUU VHWQXPEHURI)RXULHUVHULHVWREHHTQ QB*DXVVK ORDGVWUU QXPEHURI*DXVVLDQSRLQWVIRUWKHLQWHJUDOVUHODWHGWRWKHFRHIIRI)RXULHUVHULHV JDPPDK ORDGVWUU KHDWJHQHUDWLRQUDWHHTQ >YBDYBDQYBEQYFYV@ WKHUPDOB%(0 FDOFXODWHFRHIILFLHQWVDDQEQYFYVIRU%(0HTQD >XEWEXEBXEBWEWE@ %(0'HODVWLF%LVU FDVH WZRGLPHQVLRQDODQLVRWURSLFG\QDPLFDQDO\VLV [QS GOPUHDG LQSXWB[QSW[W UHDGWKHFRRUGLQDWHVRIVRXUFHSRLQWVIRUSDUWLFXODUVROXWLRQV 1RWHWKHILUVWaGDWDRIWKH U WKURZRIORDGVWUZDVLQSXWLQWKHSUHYLRXVVWDJH 'T[T\T'T]P[P'P\@IRUSLH]RHOHFWULFPDWHULDO LI3W\SH!TPLU ORDGVWUULU K TPGLPLU ORDGVWUULUGLP KA F HQG TPLU T >T[T\T'T%T]P[P'P%P\@IRU0((PDWHULDO [\LU ORDGVWUULUFF >[\[\[\[\@FRRUGLQDWHRIQRGHWRQRGHRIWKHLUBWKUHJLRQ)LJXUH [\LU [\LU [/ FRVDOSKD [\LU \/ VLQDOSKD QRGHWUDQVIRUPWRWKHORFDOFRRUGLQDWHHTQ [\LU [\LU [/ VLQDOSKD [\LU \/ FRVDOSKD [\LU [\LU [/ FRVDOSKD [\LU \/ VLQDOSKD QRGHWUDQVIRUPWRWKHORFDOFRRUGLQDWHHTQ [\LU [\LU [/ VLQDOSKD [\LU \/ FRVDOSKD [\LU [\LU [/ FRVDOSKD [\LU \/ VLQDOSKD QRGHWUDQVIRUPWRWKHORFDOFRRUGLQDWHHTQ [\LU [\LU [/ VLQDOSKD [\LU \/ FRVDOSKD [\LU [\LU [/ FRVDOSKD [\LU \/ VLQDOSKD QRGHWUDQVIRUPWRWKHORFDOFRRUGLQDWHHTQ [\LU [\LU [/ VLQDOSKD [\LU \/ FRVDOSKD HQG >XEWEXEBXEBWEWE@ %(0FRXSOH% FDVH WZRGLPHQVLRQDODQLVRWURSLFHODVWLFYLVFRHODVWLFFRQWDFWSUREOHPV /W\SH aFRQWDFWEHWZHHQPXOWLSOHULJLGSXQFKHVDQGHODVWLFYLVFRHODVWLFIRXQGDWLRQ /W\SH FRQWDFWEHWZHHQWZRHODVWLFYLVFRHODVWLFERGLHV VZLWFK/W\SH FDVH^` DQHODVWLFKDOISODQHLQGHQWHGE\PXOWLSOHULJLGSXQFKHV QBSXQFK ORDGVWUU QXPEHURISXQFKHV QWLPHV ORDGVWUU QXPEHURILWHUDWLRQVXJJHVWHGQXPEHU HWD ORDGVWUUQBSXQFK IULFWLRQFRHIILFLHQWV IRULS QBSXQFK TNLS ORDGVWUULS (WKHORDGYHFWRUDSSOLHGRQWKHLSBWKSXQFK PNLS ORDGVWUULS (WKHPRPHQWDSSOLHGRQWKHLSBWKSXQFK GNLS ORDGVWUULS ORFDWLRQRIFHQWHURIWKHLSBWKSXQFKRQO\LQSXWWKHYDOXHRI[FRRUGLQDWH\ ZN ORDGVWUULS ZLGWKRIWKHLSBWKSXQFK QSLS ORDGVWUULS WKHVWDUWLQJDQGHQGLQJQRGHQXPEHURIWKHLSBWKSXQFK
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
547
QNLS ORDGVWUULS RUGHURIWKHSRO\QRPLDOXVHGWRGHVFULEHWKHSURILOHRIWKHLSBWKSXQFKKHDG HJIODWHQGQN ZHGJHVKDSHQN SDUDEROLFQN FNLS ORDGVWUULSQNLS HJIDOWHQGFN ZHGJHVKDSHFN >F@SDUDEROLFFN >5@ DNPLS GNLS ZNENPLS GNLS ZN >DNPENP@PD[LPXPDOORZDEOHFRQWDFWUHJLRQIRUHDFKSXQFK HQG LI9W\SH
DQHODVWLFKDOISODQHLQGHQWHGE\PXOWLSOHULJLGSXQFKHV
>XEWEXEBXEBWEWE@ %(0'FRQWDFW05H%XBKDWWBKDWTNPN HOVH
DYLVFRHODVWLFKDOISODQHLQGHQWHGE\PXOWLSOHULJLGSXQFKHV LIQVa VROYHGE\FRUUHVSRQGHQFHSULQFLSOH
>XEWEXEBXEBWEWE@ %(0'FRQWDFW05Y%F HOVH
VROYHGE\WLPHVWHSSLQJPHWKRG IRULS QBSXQFK
QSWLS ORDGVWUULSQNLS RUGHURISRO\QRPLDORIWLPHGHSHQGHQWORDGPRPHQWRQHDFKSXQFK FSWLS ORDGVWUULSQNLS QNLS QSWLS FRHIILFLHQWVRIWKHSRO\QRPLDOHJFRQVWDQWORDGFSW OLQHDUFSW >FF@HWF HQG QIW ORDGVWUUQBSXQFK RUGHURIWKHSRO\QRPLDORIWLPHGHSHQGHQWSUHVFULEHGWUDFWLRQGLVSODFHPHQWRQWKHQRQFRQWDFWUHJLRQ FIW ORDGVWUUQBSXQFKQIW FRHIILFLHQWVRIWKHSRO\QRPLDOHJFRQVWDQWFIW OLQHDUFIW >FF@HWF >XEWEXEBXEBWEWE@ %(0'FRQWDFW05Y%W HQG HQG FDVH FRQWDFWRIWZRHODVWLFERGLHV HWD ORDGVWUU IULFWLRQFRHIILFLHQW Q& ORDGVWUU QXPEHURIQRGHSDLUVLQFRQWDFWUHJLRQ QWLPHV ORDGVWUU QXPEHURILWHUDWLRQVXJJHVWHGQXPEHU QS& ORDGVWUUUQ& QRGHSDLUVLQFRQWDFWUHJLRQQS&L QRGH$QRGH% LWKQRGHSDLU LI9W\SH
FRQWDFWEHWZHHQWZRHODVWLFERGLHV
>XEWEXEBXEBWEWE@ %(0'FRQWDFW(OD% HOVH
FRQWDFWEHWZHHQWZRYLVFRHODVWLFERGLHV
QIW ORDGVWUU RUGHURIWKHSRO\QRPLDORIWLPHGHSHQGHQWSUHVFULEHGWUDFWLRQGLVSODFHPHQWRQWKHHODVWLFERGLHV$DQG% IRULY LY ERG\$LY ERG\% LILY
Q HOVHQ QIHQG
QQIVWDUWLQJDQGILQDOFROXPQVIRUWKHSRO\QRPLDOFRIILFLHQWVFIW
QI QQIWLY FIWQIWLY ORDGVWUUQQI FRHIILFLHQWVRIWKHSRO\QRPLDOHJFRQVWDQWFIW OLQHDUFIW >FF@HWF HQG >XEWEXEBXEBWEWE@ %(0'FRQWDFW9LV% HQG HQG HQG VDYH LQSXWBUHVXOW%(0 [Q XE WE XEB XEB WE WE DSSHQG VDYHWKHUHVXOWVIRUODWHUXVH VDYH LQSXWBUHVXOW%(0 [Q/ /W\SH %W\SH QB*DXVV D E DSSHQG VDYHWKHUHVXOWVIRUODWHUXVH mu=mu0;
% return original values of mu;
F029: BEMbankIN IXQFWLRQ>XLXLBXLBWLWL@ %(0EDQN,1[LYNLVU %(0EDQN,1FROOHFWVWKHIXQFWLRQVWRFDOFXODWHWKHGLVSODFHPHQWVXLVWUDLQVXLBXLBDQGVWUHVVHVWLWLDWWKH LQWHUQDOSRLQW[LWKURXJKERXQGDU\HOHPHQWPHWKRG7KHYDOXHVRIGLVSODFHPHQWVXEDQGWUDFWLRQVWERQWKH
548
Appendix F: AEPH Source Code (Listed in Alphabetic Order) ERXQGDU\KDYHEHHQVROYHGWKURXJK%(0EDQN%DQGZLOOEHSURYLGHGWKURXJKJOREDOYDULDEOH XLLQWHUQDOGLVSODFHPHQWDWSRLQW[L XL >XXX@IRUWZRGLPHQVLRQDOSUREOHPVDGG X IRUSLH]RHOHFWULFPDWHULDOVDGG X IRU0((PDWHULDOV XL >XXZEHWDB[EHWDB\@IRUFRXSOHGVWUHWFKLQJEHQGLQJSUREOHPV XL >XXXZEHWDB[EHWDEHWDB\@IRUSLH]RHOHFWULFPDWHULDOVXL >XXXXZEHWDB[EHWDEHWDEHWDB\@IRU0((PDWHULDOV XLBGHULYDWLYHRIWKHLQWHUQDOGLVSODFHPHQWZLWKUHVSHFWWR[DWSRLQW[L XLBGHULYDWLYHRIWKHLQWHUQDOGLVSODFHPHQWZLWKUHVSHFWWR[DWSRLQW[L WL >VLJPDBVLJPDBVLJPDB@YHFWRURILQWHUQDOVWUHVVHVDWSRLQW[L WL >111@VWUHVVUHVXOWDQWVIRUFRXSOHGVWUHWFKLQJEHQGLQJSUREOHPV WL >11111@IRUSLH]RHOHFWULFPDWHULDOVWL >1111111@IRU0((PDWHULDOV WL >VLJPDBVLJPDBVLJPDB@YHFWRURILQWHUQDOVWUHVVHVDWSRLQW[L WL >000@EHQGLQJPRPHQWVIRUFRXSOHGVWUHWFKLQJEHQGLQJSUREOHPV WL >00000@IRUSLH]RHOHFWULFPDWHULDOVWL >0000000@IRU0((PDWHULDOV [LWKHLQWHUQDOSRLQW YNWKHYNWKLQWHUQDOSRLQW LVULQGH[RIVXEUHJLRQIRUERXQGDU\ILQLWHHOHPHQWPHWKRG%)(0 LQJHQHUDOLVU IRUWKHSUREOHPZLWKRQO\RQHVXEUHJLRQ JOREDO/W\SH9W\SHXEWE0/W\SHGLPQV1PDW$%PX$BD%BDPXBDIURP0DLQSURJUDPDOVRJHQHUDWHGIRU0/W\SH
JOREDO%W\SHLPDWLPDWLPDW IURPIXQFWLRQ%(0EDQN% JOREDOQQRGH5/W\SH5QRGH5D5[5\5DOSKD5WH5E5QHOHPHQW5IURPIXQFWLRQ%)(0 JOREDO[Q/5HOHPHQW5WKHWDB[L5WKHWDB[5QRGH5[P5[P5[P5GV5 IURPIXQFWLRQ%(0PHVK JOREDOQQRGHQRGH6D[/\/DOSKD[Q/HOHPHQWWKHWDB[LWKHWDB[QRGH[P[P[PEQHOHPHQWJHQHUDWHG JOREDO$%PX$%PX JHQHUDWHG$%PXRQWKHURWDWHGFRRUGLQDWH /W\SH IL[/W\SH /W\SH PRG/W\SH WKHVWDQGQGGLJLWVRI/W\SH /W\SH /W\SHVWRUHRULJLQDO/W\SH LI0/W\SH
SUREOHPVZLWKPXOWLFRQQHFWHGGRPDLQVROYHGE\%)(0
/W\SH /W\SH5LVU QQRGH QQRGH5LVU QRGH6 QRGH5LVU D D5LVU E E5LVU [/ [5LVU \/ \5LVU DOSKD DOSKD5LVU [Q/ [Q/5LVU HOHPHQW HOHPHQW5LVU WKHWDB[L WKHWDB[L5LVU QRGH QRGH5LVU [P [P5LVU [P [P5LVU QHOHPHQW QHOHPHQW5LVU LI%W\SHa GV GV5LVU WKHWDB[ WKHWDB[5LVU HOVHWKHWDB[ WKHWDB[5LVU [P [P5LVU HQG LI/W\SHa WKHIROORZLQJVWDWHPHQWLVIRU%)(0DQGLVQRWYDOLGIRUWKHFDVHVRIFRQWDFWSUREOHPV IRUN QQRGH IRUP GLPNY GLP N P WEPQRGH6N WH5NYLVU HQG HQG WEVKRXOGEHUHVWRUHGVLQFHWKHRQHVWRUHGLQ%)(0PD\FRQWDLQGLIIHUHQWYDOXHIRUWKHQRGHDWWKHLQWHUIDFHRI VXEUHJLRQ)RUWKHQRGHDWWKHLQWHUIDFHERWKQRUPDOGLUHFWLRQDQGVXUIDFHWUDFWLRQDUHRSSRVLWHZLWKWKH YDOXHVREWDLQHGIURPWKHQHLJKERULQJVXEUHJLRQ HQG HQG LILVQDQ[L
[L [L WHPSRUDULO\VDYH[LWREHXVHGODWHU [L [L [/ FRVDOSKD [L \/ VLQDOSKD WUDQVIRUP[LWRWKHORFDOFRRUGLQDWHHTQ [L [L [/ VLQDOSKD [L \/ FRVDOSKD HQG PX PX VWRUHRULJLQDOYDOXHRIPX LI/W\SH
_/W\SH
UHJLRQZLWKLQWHUIDFHRULQFOXVLRQ
$ $BDLPDWLVU % %BDLPDWLVU PX PXBDLPDWLVU $ $BDLPDWLVU % %BDLPDWLVU PX PXBDLPDWLVU PX PX FRVDOSKD VLQDOSKD PX VLQDOSKD FRVDOSKD HTQE
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
549
PX PX FRVDOSKD VLQDOSKD PX VLQDOSKD FRVDOSKD HTQE HOVH
UHJLRQZLWKRQHPDWHULDO$%PXUHPDLQWKHVDPH LI0/W\SH
1PDW!$ $BDLPDWLVU % %BDLPDWLVU PX PXBDLPDWLVU HQG
PX PX FRVDOSKD VLQDOSKD PX VLQDOSKD FRVDOSKD HTQE HQG VZLWFK/W\SH FDVH^` WZRGLPHQVLRQDODQLVRWURSLFHODVWLF SLH]RHOHFWULF FRQWDFWDQDO\VLV >XLXLBXLBWLWL@ %(0'HODVWLF,1XEWE[LYNLVU FDVH WZRGLPHQVLRQDODQLVRWURSLFYLVFRHODVWLFDQDO\VLV >XLXLBXLBWLWL@ %(0'YLVFR,1[LYNLVU FDVH WZRGLPHQVLRQDODQLVRWURSLFG\QDPLFDQDO\VLV >XLXLBXLBWLWL@ %(0'G\QDPLF,1[L FDVH FRXSOHGVWUHWFKLQJEHQGLQJDQDO\VLV >XLXLBXLBWLWL@ %(0FRXSOH,1XEWE[L FDVHFRQWDFWDQDO\VLV LI9W\SH
FRQWDFWEHWZHHQHODVWLFERGLHV
>XLXLBXLBWLWL@ %(0'HODVWLF,1XEWE[LYNLVU HOVH
FRQWDFWEHWZHHQYLVFRHODVWLFERGLHV LIQV
LIWLPHVWHSSLQJPHWKRGLVXVHG
>XLXLBXLBWLWL@ %(0'YLVFR,1W[LLVU HOVH
LIFRUUHVSRQGHQFHSULQFLSOHLVXVHG
>XLXLBXLBWLWL@ %(0'YLVFR,1[LYNLVU HQG HQG HQG /W\SH /W\SHUHWXUQWRWKHRULJLQDO/W\SH PX PX UHWXUQRULJLQDOYDOXHVRIPX
F030: BEMcoupleB IXQFWLRQ>XEWEXEBXEBWEWE@ %(0FRXSOH% %(0FRXSOH%SURYLGHVWKHVROXWLRQVRIGLVSODFHPHQWVWUDFWLRQVVWUDLQVDQGVWUHVVHVDWWKHERXQGDU\QRGHV IRUFRXSOHGVWUHWFKLQJEHQGLQJDQDO\VLVWKURXJKERXQGDU\HOHPHQWPHWKRG XEWEXEBXEBWEWEH[SODLQHGLQIXQFWLRQ%(0EDQN% */2%$//9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ XFM GHIOHFWLRQRIWKHMWKFRUQHUQRGH WFM FRUQHUIRUFHRIWKHMWKFRUQHUQRGH JOREDO/W\SHHSVGLP$LM%LM'LM$LMBD%LMBD'LMBDQQRGHIURP0DLQSURJUDP JOREDODOSKD[Q/WBKDWWBYFXBKDWXBYFWFBKDWWFBYFXFBKDWXFBYFWKHWDB[LFRUQHUQFRUQHUIURPIXQFWLRQ%(0EDQN%%(0PHVK JOREDOSNZN IURPIXQFWLRQ%(0LQIOXHQFH JOREDOXFWF JHQHUDWHG 9 ]HURVGLP QQRGHQFRUQHU J ]HURVGLP QQRGHQFRUQHU IRUMQ QQRGH [L [Q/MQ [L [Q/MQ SRVLWLRQRIMQWKQRGH >XLXLBXLB1LM0LM@ %(0FRXSOH,1XEWE[L %(0FRXSOH,1FDOFXODWHVWKHLQWHUQDOGLVSODFHPHQWVXLVWUDLQVXLBXLB DQGVWUHVVUHVXOWDQWV1LMDQGEHQGLQJPRPHQWV0LMRISRLQW[LZLWKWKHNQRZQYDOXHVRI ERXQGDU\QRGDOGLVSODFHPHQWVXEQRGDOWUDFWLRQVWEDQGFRUQHUGHIOHFWLRQXFDQGFRUQHUIRUFHWF XLXLBXLB1LM WL0LM WL[LH[SODLQHGLQIXQFWLRQ%(0EDQN,1 */2%$//9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ 6,)VWUHVVLQWHQVLW\IDFWRUV ;WLSM SRVLWLRQRIWKHMWKFUDFNWLS JOREDO/W\SH2W\SH3W\SHHSV(KGLP$LM%LM'LMQQRGHQFRUQHU IURP0DLQSURJUDP JOREDOWKLFNQHVV IURPIXQFWLRQHODVWLFRUSLH]R0 JOREDO[/\/DOSKDD IURPIXQFWLRQ%(0EDQN% JOREDOSNZNSNGZNG IURPIXQFWLRQ%(0LQIOXHQFH,1 JOREDOXFWF IURPIXQFWLRQ%(0FRXSOH% JOREDO$LMBD%LMBD'LMBD IURP0DLQSURJUDPPDWHULDOSURSHUWLHVDQGHLJHQYDOXHVIRUPXOWLPDWHULDOSUREOHPV JOREDO]HWDBKDW IURPIXQFWLRQ*LQFOXVLRQ&RXSOH
Appendix F: AEPH Source Code (Listed in Alphabetic Order) JOREDO6,);WLS JHQHUDWHGIRUWKHXVHLQIXQFWLRQ7DEOH)LJ GLP GLPGLP GLP >%LM %LM %LM %LM @ HTQH B 7B' >'LM 'LM 'LM 'LM @ HTQH B LI3W\SHa HOHFWURHODVWLFODPLQDWH 4B$S >$LM $LM @5B$S >$LM $LM @5B$S7 >$LM $LM @7B$S >$LM $LM @ 4B%S >%LM %LM @5B%S >%LM %LM @5B%S7 >%LM %LM @7B%S >%LM %LM @ 4B'S >'LM 'LM @5B'S >'LM 'LM @5B'S7 >'LM 'LM @7B'S >'LM 'LM @ 4B$ >4B$4B$S4B$S $LM @ 5B$ >5B$5B$S5B$S7 $LM @ 7B$ >7B$7B$S7B$S $LM @ 4B% >4B%4B%S4B%S %LM @ 5B% >5B%5B%S5B%S7 %LM @ 7B% >7B%7B%S7B%S %LM @ 4B' >4B'4B'S4B'S 'LM @ 5B' >5B'5B'S5B'S7 'LM @ 7B' >7B'7B'S7B'S 'LM @ HQG LI3W\SH! PDJQHWRHOHFWURHODVWLFODPLQDWH 4B$S >$LM $LM $LM @ 5B$S >$LM $LM $LM @ 5B$S7 >$LM $LM $LM @7B$S >$LM $LM $LM @ 4B%S >%LM %LM %LM @ 5B%S >%LM %LM %LM @ 5B%S7 >%LM %LM %LM @7B%S >%LM %LM %LM @ 4B'S >'LM 'LM 'LM @ 5B'S >'LM 'LM 'LM @ 5B'S7 >'LM 'LM 'LM @7B'S >'LM 'LM 'LM @ 4B$ >4B$4B$S4B$S $LM @ 5B$ >5B$5B$S5B$S7 $LM @ 7B$ >7B$7B$S7B$S $LM @ 4B% >4B%4B%S4B%S %LM @ 5B% >5B%5B%S5B%S7 %LM @ 7B% >7B%7B%S7B%S %LM @ 4B' >4B'4B'S4B'S 'LM @ 5B' >5B'5B'S5B'S7 'LM @ 7B' >7B'7B'S7B'S 'LM @ HQG 4 >4B$4B%4B%4B'@ 5 >5B$5B%5B%5B'@ 7 >7B$7B%7B%7B'@ HTQH B
F032: BEMinfluence IXQFWLRQ>WEM 1LM%XEGLPM K@WEM >WEM 0LM%@ 8LNM >8LNM XEM (8LNM XEGLPM (K@ 7LNM >7LNM XWV KXWVPG KA@ HQG HQG 8LNM >XEBM XEBM @8LRI6HFWLRQZKHQ'W\SH 7LNM >WEM WEM @7LRI6HFWLRQZKHQ'W\SH
577
578
Appendix F: AEPH Source Code (Listed in Alphabetic Order) HQG HQG WKHWDB[L WKHWDB[LDOSKD WUDQVIRUPIURPJOREDOFRRUGLQDWHEDFNWRORFDOFRRUGLQDWH ZKLFKZLOOEHHPSOR\HGORFDOO\LQOLQHRI%(0LQIOXQFHBEHWDBVWDU@ EHWDLMBVWDUEHWDLMFWKVWK FDOFXODWHWKHWKHUPDOH[SDQVLRQFRHIILFLHQWLQWKHURWDWHGFRRUGLQDWH JOREDO3W\SH . >FWKAVWKA FWK VWKVWKAFWKA FWK VWKFWK VWKFWK VWKFWKAVWKA@ WUDQVIRUPDWLRQPDWUL[IRUQGRUGHUWHQVRUSDUWRI . >FWKVWKVWKFWK@WUDQVIRUPDWLRQPDWUL[IRUYHFWURSDUWRI EHW . >EHWDLM EHWDLM EHWDLM @ EHW . >EHWDLM EHWDLM @ EHWDBVWDU >EHW EHW EHW EHW EHW @ LI3W\SHa EHW . >EHWDLM EHWDLM @EHWDBVWDU >EHWDBVWDUEHW EHW @HQG
SLH]RRU0((
LI3W\SH!EHW . >EHWDLM EHWDLM @EHWDBVWDU >EHWDBVWDUEHW EHW @HQG
0((
F044: BEMstrainstressB3D IXQFWLRQ>HSVLORQVLJPD@ %(0VWUDLQVWUHVV%'XEWE %(0VWUDLQVWUHVV%'FDOFXODWHVDQGSULQWRXWWKHVWUDLQVDQGVWUHVVHVDWWKHERXQGDU\QRGHV IRUWKUHHGLPHQVLRQDOSUREOHPVWKURXJKERXQGDU\HOHPHQWPHWKRG $OODQLVRWURSLFHODVWLFSLH]RHOHFWULFPDJQHWRHOHFWURHODVWLFPDWHULDOVZLWKRXWWKHUPDOFRQGLWLRQDUHFRQVLGHUHG HSVLORQVLJPDVWUDLQVDQGVWUHVVHV XEWEH[SODLQHGLQIXQFWLRQ%(0EDQN% JOREDO3W\SHGLPQQRGH[QQHOHPHQWQRGH&LM([P IURP0DLQSURJUDP %(0'HODVWLF LI3W\SH
PG HOVHPG HQG
LI3W\SH!PG HQG
PGPDWUL[GLPHQVLRQLQFOXGHVVLJDQGHSV
UHYLVHPG IRU0((PDWHULDOV
2PHJD ]HURVGLPGLPQQRGH WLPHV ]HURVQQRGH VLJPD ]HURVPGQQRGH HSVLORQ ]HURVPGQQRGH VHWD >@ORFDOFRRUGLQDWHRIQRGHVRIHFDKHOHPHQW IRUN QHOHPHQW IRUM
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
579
QM QRGHNM VLD VHWDM HWD VHWDM GRPHJD HWD VLDHWD GRPHJD VLD HWDVLD GRPHJDGHULYDWLYHRIRPHJDZLWKUHVSHFWWRVLD GRPHJD VLD HWD GRPHJD VLDA
GRPHJDGHULYDWLYHRIRPHJDZLWKUHVSHFWWRHWD
GRPHJD HWD VLDHWD GRPHJD VLD HWDVLD GRPHJD HWDA GRPHJD HWD VLD GRPHJD HWD VLDHWD GRPHJD VLD HWDVLD GRPHJD VLD HWD GRPHJD VLDA GRPHJD HWD VLDHWD GRPHJD VLD HWDVLD GRPHJD HWDA GRPHJD HWD VLD G[ [PN GRPHJD G[ [PN GRPHJD HTQD B XB XEQRGHN GRPHJD XB XEQRGHN GRPHJD HTQD B UKR VTUWG[ AG[ AG[ A HTQ B UKR VTUWG[ AG[ AG[ A HTQ B FJ GRWG[G[ UKR UKR VJ VTUWFJA HTQ B VH FURVVG[G[ VHFURVVSURGXFWRIG[DQGG[HTQ H VHVTUWVH AVH AVH A HTQ B V G[UKRHTQ B V FURVVHV HTQ B L >@L >@L >@ WLPHVQM WLPHVQM QXPEHURIHOHPHQWVZKLFKFRQWDLQWKHQRGHQM 2PHJD >GRWVL GRWVL GRWVL HTQE GRWVL GRWVL GRWVL GRWHL GRWHL GRWHL @ XBV 2PHJD XB XBV 2PHJD XB HSVV XBV UKR HTQ B B HSVV XBV FJUKRXBV UKR VJHTQ B B HSVV XBV FJUKR VJ XBV UKR VJ XBV UKRHTQ B VLJ 2PHJD WEQM VLJV VLJ VLJV VLJ VLJV VLJ HTQ LI3W\SHa HSVV XB UKRHSVV XB FJUKRXB UKR VJVLJV WEQM HQG
HTQ IRUSLH]RRU0((
LI3W\SH!HSVV XB UKRHSVV XB FJUKRXB UKR VJVLJV WEQM HQG >&LMV.V@ &BVWDU&LM2PHJD &LMV &LMBVWDU 9V &LMVJV &LMV SDUWRIHTQ OHIWVLGHIRU9VULJKWVLGHIRUJV 9V ]HURVPG 9V ]HURVPG 9V ]HURVPG JV ]HURVPG JV ]HURVPG JV ]HURVPG 9V 9V 9V JV JV JV HVN >HSVVHSVVVLJVVLJVVLJVHSVV@ NQRZQYDOXHVRIVWUDLQVDQGVWUHVVHV LI3W\SHa IRUSLH]RRU0(( 9V ]HURVPG 9V ]HURVPG JV ]HURVPG 9V 9V JV HVN >HVNHSVVHSVVVLJV@ HQG LI3W\SH! 0((PDWHULDOV 9V ]HURVPG 9V ]HURVPG JV ]HURVPG 9V 9V JV HVN >HVNHSVVHSVVVLJV@
HTQ IRU0((
580
Appendix F: AEPH Source Code (Listed in Alphabetic Order) HQG JV JV HVN JVIURP PDWUL[WRD YHFWRUULJKWKDQGVLGHRI XWV 9V?JV VROYHWKHXQNQRZQVE\XVLQJPDWODEIXQFWLRQ VLJV >XWV XWV VLJVVLJVVLJVXWV @ HSVV >HSVVHSVVXWV XWV XWV HSVV@ LI3W\SHa VLJV >VLJVXWV XWV VLJV@HSVV >HSVVHSVVHSVVXWV @HQG LI3W\SH!VLJV >VLJVXWV XWV VLJV@HSVV >HSVVHSVVHSVVXWV @HQG VLJPDQM VLJPDQM LQY.V VLJV HSVLORQQM HSVLORQQM .V
HSVV FRRUGLQDWHWUDQVIRUPDWLRQHTQ HQG HQG IRUQM QQRGH VLJPDQM ( VLJPDQM WLPHVQM
DYHUDJHRIVWUHVVHVIURPDOOWKHFRQQHFWHGHOHPHQWV
HSVLORQQM HSVLORQQM WLPHVQM DYHUDJHRIVWUDLQVIURPDOOWKHFRQQHFWHGHOHPHQWV HQG ILQDOL]HIRURXWSXW XER XE HSVLORQ HSVLORQ LI3W\SHa XER XE ( NHHSVFDOHGXEIRUWKHFRPSXDWLRQRILQWHUQDOSRLQWXQVFDOHGXERIRURXWSXW HSVLORQ HSVLORQ ( VLJPD VLJPD ( HQG LI3W\SH! XER XE ( NHHSVFDOHGXEIRUWKHFRPSXDWLRQRILQWHUQDOSRLQWXQVFDOHGXERIRURXWSXW HSVLORQ HSVLORQ ( VLJPD VLJPD ( HQG 7DEOH)LJ'[QXERHSVLORQVLJPD SULQWRQO\WKHWDEOHVRIGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVQRILJXUHV IXQFWLRQ>&LMV.@ &BVWDU&LM* FRRUGLQDWHWUDQVIRUPDWLRQIRU&LM JOREDO3W\SH . >* A* A* A * * * * * * HTQE * A* A* A * * * * * * * A* A* A * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * @ LI3W\SHa . >.]HURV ]HURV *@ HQG
HTQ IRUSLH]RRU0((PDWHULDOV
LI3W\SH!. >.]HURV ]HURV *@HQG
HTQ IRU0((PDWHULDOV
&LMV . &LM . HTQD
F045: BFEM IXQFWLRQ>XEWEXEBXEBWEWE@ %)(0ORDGVWU %)(0FDOFXODWHVWKHGLVSODFHPHQWVVWUHVVHVDQGVWUDLQVDWWKHERXQGDU\ QRGHVWKURXJKERXQGDU\EDVHGILQLWHHOHPHQWPHWKRG%)(0 7KHSUREOHPVFRQVLGHUHGPD\KDYH PXOWLSOHKROHVFUDFNVDQGLQFOXVLRQVLQDWZRGLPHQVLRQDODQLVRWURSLFHODVWLFERG\ XEWEXEBXEBWEWEORDGVWUH[SODLQHGLQIXQFWLRQ%(0EDQN%
Appendix F: AEPH Source Code (Listed in Alphabetic Order) */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ ;WLS5;WLS5MN SRVLWLRQRIMWKWLSRINWKFUDFN 6,)56,)5MN 6,)RIMWKWLSRINWKFUDFN 0/W\SHSUREOHPVZLWKPXOWLSOHKROHVFUDFNVLQFOXVLRQVXVLQJ%)(0LVGHVLJQDWHGDV0/W\SH QQRGH7WRWDOQXPEHURIHOHPHQWQRGHV /W\SH/W\SHRIWKHVXEUHJLRQZKLFKZLOOYDU\DFFRUGLQJWRWKHVXEUHJLRQ QVUQXPEHURIVXEUHJLRQIRUERXQGDU\ILQLWHHOHPHQWPHWKRG%)(0 QFUQXPEHURIFUDFNV [P[P[P[Q/HOHPHQWWKHWDB[LQRGHH[SODLQHGLQIXQFWLRQV%(0EDQN%%(0PHVKDQG0DLQSURJUDP QQRGH5/W\SH5QRGH5[5\5DOSKD5D5QQRGH/W\SHQRGH6[\DOSKDDRIWKH5WKUHJLRQ H[SODLQHGLQIXQFWLRQ%(0EDQN% WH5WHRIWKH5WKUHJLRQZKHUHWHLVWKHQRGDOWUDFWLRQHTQ RU JOREDOGLPQQRGHEF[Q7PW\SHQVUIURP0DLQDOVRJHQHUDWHGIRUVXEUHJLRQ JOREDO:HXEBXEBWEWE@ %(0VWUDLQVWUHVV%XEWELVU FDOFXODWHDQGSULQWRXWWKHVWUDLQVDQGVWUHVVHVDWWKHERXQGDU\QRGHV LI7PW\SH
YLVFR%(0
IRUM QQRGH XVBQRGH6M XEBM XVBQRGH6M XEBM WVQRGH6M WEM WVQRGH6M WEM HQG XEB XVBXEB XVBWE WVWE WV HQG
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
583
HQG /W\SH /W\SH UHWXUQWRLWVRULJLQDO/W\SH
F046: BFEMv IXQFWLRQ>XEWEXEBXEBWEWE@ %)(0YORDGVWU %)(0YFDOFXODWHVWKHGLVSODFHPHQWVVWUHVVHVDQGVWUDLQVDWWKHERXQGDU\ QRGHVWKURXJKERXQGDU\EDVHGILQLWHHOHPHQWPHWKRG7KHSUREOHPVFRQVLGHUHGPD\KDYH PXOWLSOHKROHVFUDFNVDQGLQFOXVLRQVLQDWZRGLPHQVLRQDODQLVRWURSLFYLVFRHODVWLFVROLG XEWEXEBXEBWEWEORDGVWUH[SODLQHGLQIXQFWLRQ%(0EDQN% */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ $BD%BDPXBD$VBD%VBDPXVBD&LMBD&LMVBD6LMBD6LMVBD4BD4VBD5BD5VBD7BD7VBDH[SODLQHGLQ0DLQSURJUDP 9/W\SHXEVWEV;WLS6,)BWH[SODLQHGLQ0DLQSURJUDP 6,)VVWUHVVLQWHQVLW\IDFWRUVLQ/DSODFHGRPDLQ WH5VWH5RIWKH/DSODFHGRPDLQWH5WHRIWKH5WKUHJLRQZKHUHWHLVWKHQRGDOWUDFWLRQHTQ RU JOREDO/W\SH2W\SHQV1PDWVYEFQQRGH[Q9W\SHBD IURP0DLQSURJUDP JOREDO$V%VPXV&LMV6LMV&LM6LM$%PX4754V5V7VIURP0DLQSURJUDP JOREDO6WP6[\Q[\ IURPIXQFWLRQ0DLQBDX[ JOREDOQQRGH7WH56,)6,)5;WLS5QFUIURPIXQFWLRQ%)(0 %(0'HODVWLF,1 JOREDO$BD%BDPXBD$VBD%VBDPXVBD&LMBD&LMVBD6LMBD6LMVBD4BD4VBD5BD5VBD7BD7VBDJHQHUDWHG JOREDO9/W\SHXEVWEVWH5V;WLS6,)BW6,)VJHQHUDWHG 9/W\SH /W\SH VDYHWKHRULJLQDO/W\SHDQGZLOOEHUHTXHVWHGLQIXQFWLRQ7DEOH)LJ EF EFVWRUHRULJLQDOERXQGDU\FRQGLWLRQ 6,)V >@6,) >@GHIDXOW IRULV QV EFHQG EFHQG VYLV LI1PDW! IRULP 1PDW LI9W\SHBDLP a IRUDQLVRWURSLFYLVFRHODVWLFPDWHULDOV $BDLP $VBDLVLP %BDLP %VBDLVLP PXBDLP PXVBDLVLP &LMBDLP &LMVBDLVLP 6LMBDLP 6LMVBDLVLP 4BDLP 4VBDLVLP 5BDLP 5VBDLVLP 7BDLP 7VBDLVLP HQG HQG HOVH $ $VLV % %VLV PX PXVLV $%PXLQ/DSODFHGRPDLQZLWKYDULDEOHVFDOFXODWHGE\LV &LM &LMVLV 6LM 6LMVLV 4 4VLV 7 7VLV 5 5VLV HQG >XVWVXVBXVBWVWV@ %)(0ORDGVWU ILQGWKHVROXWLRQLQWKH/DSODFHGRPDLQE\%)(0 XEVLV XV WEVLV WV WH5VLV WH5 XEVBLV XVB XEVBLV XVB WEVLV WV WEVLV WV LILVHPSW\6,) a 6,)VLV 6,)5 HQG
6,)5MN 6,)RIMWKWLSRINWKFUDFN
HQG LILVHPSW\6,) a IRUN QFU IRUM MN N M;WLSMN ;WLS5MN 6,)MN 6,)VMN 6,)BWMN /DSODFHBLQY6,)MN HQG HQG
584
Appendix F: AEPH Source Code (Listed in Alphabetic Order) 2W\SHBWHPS 2W\SH2W\SH 2W\SH SULQWLQJ6,)IRUSUREOHPVRI%)(0 7DEOH)LJ 2W\SH 2W\SHBWHPSVLJPD VLJPD GHIDXOW HQG EF EFUHWXUQWKHRULJLQDOYDOXHRIEF IRUM QQRGH7 XEM /DSODFHBLQYXEVM WEM /DSODFHBLQYWEVM XEBM /DSODFHBLQYXEVBM XEBM /DSODFHBLQYXEVBM WEM /DSODFHBLQYWEVM WEM /DSODFHBLQYWEVM HQG 8LN XE8LN XEB8LN XEB 7LN WE7LN WE7LN QDQ ;LN >[Q ]HURVQQRGH7 @JHQHUDWHXVHLQIXQFWLRQ7DEOH)LJ ,GHQWLI\WKHWLPHDQGSRLVWLRQIRUSULQWLQJ7DEOHVDQG)LJXUHV >6WP6[\GV9ZTQVS@ SRVLWLRQ7LPH JHQHUDWH6WPIRUWKHXVHLQ7DEOH)LJ'9RI7DEOH)LJ 2W\SHBWHPS 2W\SH2W\SH VHW2W\SH WRVHOHFWWKHQHDUHVWSRLQWWRSULQWLQ7DEOH)LJ GVQ[\ QDQ9ZTQ[\ QDQQVSQ[\ QDQ6[\Q[\ QDQGHIDXOW IRUL QQRGH7 [L [QL [L [QL >6WP6[\GV9ZTQVS@ SRVLWLRQ7LPH[LHSVL6[\GV9ZTQVS JHQHUDWH6[\ HQG /W\SH 9/W\SHUHWXUQRULJLQDO/W\SH 2XWSXWWKHUHVXOWVRIGLVSODFHPHQWVVWUDLQVVWUHVVHVDQGWUDFWLRQVRIWKHERXQGDU\QRGHV 7DEOH)LJ;LN8LN7LNQQRGH7 SULQWRQO\WKH7DEOHVRIGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVQRILJXUHV 2W\SH 2W\SHBWHPS UHWXUQ2W\SHWRLWVRULJLQDOYDOXHLQSXWE\WKHXVHUV VDYH LQSXWBUHVXOW%(0 XEV WEV DSSHQG VDYHWKHUHVXOWVIRUODWHUXVH QQRGH QQRGH7
F047: CijkstoCik IXQFWLRQ&LN &LMNVWR&LNLN FRQVWUXFWWKHHODVWLFVWLIIQHVVPDWUL[IURPLWVDVVRFLDWHGWKRUGHUWHQVRUQRWDWLRQ JOREDO&LM >S@ FRQWUDFWL >T@ FRQWUDFWN STLQGH[IRUFRQWUDFWHGQRWDWLRQ &LN >&LMS T &LMS T &LMS T &LMS T &LMS T &LMS T &LMS T &LMS T &LMS T @ IXQFWLRQ>S@ FRQWUDFWL WUDQVIHUWKHLQGH[IRUWHQVRUQRWDWLRQWRFRQWUDFWHGQRWDWLRQ LIL
S >@HQG
!!!
LIL
S >@HQG
!!!
LIL
S >@HQG
!!!
LIL
S >@HQG
!!!
LIL
S >@HQG
!!!
F048: CSABD_star IXQFWLRQ>;$LMBVWDU%LMBVWDU%LMBVWDUA7'LMB6WDU@WRWKHYDOXHVRIWKHURWDWHGFRRUGLQDWH FDVHWUDQVIRUP>$LM%LM%LM'LM@WRWKHYDOXHVRIWKHURWDWHGFRRUGLQDWH (K ( K (K (K K (K (K K K K K K K K $LM ; (K%LM FV FVVF FVFVFVFV@ HTQF LI3W\SHa $LM ; K %LM PXF$F%F@ PX$%B'H6LM FDVH^` FRXSOHGVWUHWFKLQJEHQGLQJSUREOHP >PXF$F%F@ PX$%B&H$LMWV%LMWV'LMWV HQG HOVH
SLH]RHOHFWULFPDWHULDOV VZLWFK'W\SH FDVH JHQHUDOL]HGSODQHVWUDLQ VKRUWFLUFXLW
>PXF$F%F@ PX$%B'S6LM'BSKEHWDLMVBSKJLMBSK FDVH JHQHUDOL]HGSODQHVWUDLQ RSHQFLUFXLW >PXF$F%F@ PX$%B'S6LM'BKDWEHWDLMVBKDWJLMBKDW FDVH JHQHUDOL]HGSODQHVWUHVV VKRUWFLUFXLW >PXF$F%F@ PX$%B'S6LM'BSEHWDLMVBSJLMBS FDVH JHQHUDOL]HGSODQHVWUHVV RSHQFLUFXLW >PXF$F%F@ PX$%B'S6LM'EHWDLMVJLM FDVH^`FRXSOHGVWUHWFKLQJEHQGLQJ VKRUWFLUFXLWRURSHQFLUFXLW >PXF$F%F@ PX$%B&S$LMWV%LMWV'LMWV HQG HQG
Appendix F: AEPH Source Code (Listed in Alphabetic Order) ,QRUGHUWRFRPSDUHWKHYDOXHVRIPX$%IURPGLIIHUHQWDSSURDFKHVZHQHHGWR UHRUGHUPX$% PXF$F%F DFFRUGLQJWRWKHDEVROXWHYDOXHRIPX PXFIRUFRPSOH[QXPEHU FRPSDUHDEVROXWHYDOXHILUVWWKHQFRPSDUHDQJOHZKRVHSULQFLSDOYDOXHUDQJHVIURPSLWRSL 127(WKHUHVXOWVIURP0$7(5,$/B(,*(1DQG(,*(1B08$%PD\KDYHWKHVLJQGLIIHUHQFHLQHDFKFROXPQ RI$DQG%VLQFHWKHQRUPDOL]DWLRQRI$DQG%RQO\UHTXLUHWKHVTXDUHRIWKHFRHIILFLHQWVLHFBNA QRWWKHFRHIILFLHQWVWKHPVHOYHV%HFDXVHLQ6WURKIRUPDOLVPWKHVROXWLRQVDOZD\VFRPHLQSDLU EHWZHHQ$%LQY$ DQGLQY% WKHVLJQGLIIHUHQFHZLOOQRWDIIHFWWKHILQDOUHVXOWVRIDOO SK\VLFDOUHVSRQVHVVXFKDVGLVSODFHPHQWVDQGVWUHVVHV LP OHQJWKPX QXPEHURIFRPSRQHQWVRIYHFWRUPX PX5 URXQGPX A APXF5 URXQGPXF A A XVHVLJLQLILFDQWGLJLWVWRVRUWPXDQGPXF RWKHUZLVHWZRLGHQWLFDOQXPEHUVPD\EHWUHDWHGDVGLIIHUQWQXPEHUVVLQFHWKH\PD\GLIIHUQXPHULFDOO\ E\DYHU\VPDOOQXPEHUVXFKDVADQGWKHVRUWLQJPD\EHGLVWRUWHG >PXBV[@ VRUWPX5 VRUWYHFWRUFRPSRQHQWVPXLQDVFHQGLQJRUGHU[DQDUUD\RIVRUWLQJLQGH[ >PXFBV\@ VRUWPXF5 VRUWYHFWRUFRPSRQHQWVPXFLQDVFHQGLQJRUGHU\DQDUUD\RIVRUWLQJLQGH[ ',)P PXBVPXFBV GLIBP PD[DEV',)P GLIBD GLIBE IRUL LP L[ [L L\ \L $BVL $L[ %BVL %L[ $FBVL $FL\ %FBVL %FL\ ',)DL $BVL $FBVL ',)EL %BVL %FBVL GLI PD[DEV',)DL GLI PD[DEV',)EL LIGLI! HSV GLI! HSV ',)DL $BVL $FBVL ',)EL %BVL %FBVL GLI PLQGLIPD[DEV',)DL GLI PLQGLIPD[DEV',)EL HQG GLIBD GLIBDGLI GLIBE GLIBEGLI HQG GLI GLIBPGLIBDGLIBE LIGLI! HSV GLVS 'LIIHUHQWUHVXOWVRIPX$%DUHREWDLQHGZKHQWKH\DUHFDOFXODWHGIURPGLIIHUHQWDSSURDFKHV GLVS $PRQJWKHPVRPHFRPSRQHQWVGLIIHURYHUA7KHLUPD[LPXPGLIIHUHQFHVDUH GLIBPGLIBDGLIBE GLVS )ROORZLQJVDUHWKHYDOXHVRIWKHVHPDWULFHVLIWKH\DUHDFFHSWDEOHMXVWLJQRUHWKLVFKHFN GLVS ,IPXDUHUHSHDWHGDQGWKHGLIIHUHQFHRIWKHHLJHQYHFWRUV$DQGRU% DUHQRWDFFHSWDEOH GLVS WU\WRSURYLGHPRUHVXLWDEOHSHUWXUEHGYDOXHVIRUWKHPDWHULDOSURSHUWLHV PXPXF$$F%%F HOVH GLVS PX$%FKHFN2. HQG IXQFWLRQ>PXF$F%F@ PX$%B'H6LM HTQ PXF$F%FPDWHULDOHLJHQYDOXHVPXDQGPDWHULDOHLJHQYHFWRUPDWULFHV$%IRUGRXEOHFKHFN 6LMFRPSOLDQFHVZKLFKPD\EH6LMRU6LMBKDW JOREDO( IURP0DLQSURJUDPFRQWUROSDUDPHWHU HSV A V\PV[
587
588
Appendix F: AEPH Source Code (Listed in Alphabetic Order) 6LM 6LM ( / 6LM [A 6LM [6LM / 6LM [A6LM 6LM [A6LM 6LM [6LM / 6LM [A 6LM [A 6LM 6LM [A 6LM [6LM DQV URRWVV\PSRO\/ //A N IRUL LILPDJDQVL ! N NPXFN DQVL HQG HQG $F ]HURV %F ]HURV FRHII IRUN IRUM SMN 6LMM PXFN A6LMM PXFN 6LMM TMN 6LMM PXFN 6LMM HQG /N VXEV/PXFN /N VXEV/PXFN /N VXEV/PXFN /N UHDO/N L LPDJ/N /N UHDO/N L LPDJ/N LIDEV/N ! HSV DEV/N !DEV/N ODPGD /N/N $FN SN ODPGD TN %FN PXFN $FN SN ODPGD TN PXFN %FN $FN SN ODPGD TN PXFN %FN ODPGD HOVHLIDEV/N ! HSV DEV/N !DEV/N ODPGD /N/N $FN ODPGD SN TN %FN ODPGD PXFN $FN ODPGD SN TN PXFN %FN ODPGD $FN ODPGD SN TN PXFN %FN HOVH GLVS WKLVLVDFDVHRIGHJHQHUDWHPDWHULDOV HQG FBL $FN %FN $FN %FN $FN %FN LIFBLa FRHII VTUW FBL HQG $FN FRHII $FN %FN FRHII %FN HQG IXQFWLRQ>PXF$F%F@ PX$%B'S6LMEHWDLMVJLM HTQ PXF$F%FPDWHULDOHLJHQYDOXHVPXDQGPDWHULDOHLJHQYHFWRUPDWULFHV$%IRUGRXEOHFKHFN 6LMEHWDLMVJLMFRPSOLDQFHV SLH]RSURSHUWLHV JOREDO( IURP0DLQSURJUDPFRQWUROSDUDPHWHU 6LM 6LM ( EHWDLMV EHWDLMV( HSV A V\PV[ / 6LM [A 6LM [6LM / 6LM [A6LM 6LM [A6LM 6LM [6LM / 6LM [A 6LM [A 6LM 6LM [A 6LM [6LM
Appendix F: AEPH Source Code (Listed in Alphabetic Order) P JLM [AJLM JLM [JLM P JLM [AJLM JLM [AJLM JLM [JLM 5KR EHWDLMV [A EHWDLMV [EHWDLMV HT / / 5KR / P P/ PA/ PA5KR /A DQV URRWVV\PSRO\HT N IRUL LILPDJDQVL ! N NPXFN DQVL HQG HQG $F ]HURV %F ]HURV FRHII IRUN /BVWDU VXEV/PXFN VXEV5KRPXFN VXEVPPXFN A /BVWDU VXEVPPXFN VXEVPPXFN VXEV/PXFN VXEV5KRPXFN /BVWDU VXEV/PXFN VXEV5KRPXFN VXEVPPXFN A PBVWDU VXEV/PXFN VXEVPPXFN VXEV/PXFN VXEVPPXFN PBVWDU VXEV/PXFN VXEVPPXFN VXEV/PXFN VXEVPPXFN 5KRBVWDU VXEV/PXFN VXEV/PXFN VXEV/PXFN A IRUM SMN 6LMM PXFN A6LMM PXFN 6LMM TMN 6LMM PXFN 6LMM UMN JLMM PXFN JLMM HQG SN JLM PXFN AJLM PXFN JLM TN JLM PXFN JLM UN EHWDLMV PXFN EHWDLMV LIDEV/BVWDU ! HSV %FN PXFN /BVWDU %FN /BVWDU %FN /BVWDU %FN PBVWDU HOVHLIDEV/BVWDU ! HSV_DEV/BVWDU ! HSV %FN PXFN /BVWDU %FN /BVWDU %FN /BVWDU %FN PBVWDU HOVHLIDEV5KRBVWDU ! HSV %FN PXFN PBVWDU %FN PBVWDU %FN PBVWDU %FN 5KRBVWDU HOVH GLVS WKLVLVDFDVHRIGHJHQHUDWHPDWHULDOV HQG $FN SN %FN TN %FN UN %FN $FN SN %FN TN %FN UN %FN PXFN $FN SN %FN TN %FN UN %FN PXFN $FN SN %FN TN %FN UN %FN FBL $FN %FN $FN %FN $FN %FN $FN %FN LIFBLa FRHII VTUW FBL HQG $FN FRHII $FN %FN FRHII %FN HQG
589
590
Appendix F: AEPH Source Code (Listed in Alphabetic Order) IXQFWLRQ>PXF$F%F@ PX$%B&H$V%V'V HTQ PXF$F%FPDWHULDOHLJHQYDOXHVPXDQGPDWHULDOHLJHQYHFWRUPDWULFHV$%IRUGRXEOHFKHFN $V%V'VPDWULFHVUHODWHGWRH[WHQVLRQDOEHQGLQJDQGFRXSOLQJVWLIIQHVVHVGHILQHGLQE HSV A V\PV[ / 'V [A 'V [A 'V 'V [A 'V ['V / %V [A %V %V [A%V %V %V [A %V %V [%V / / / $V [A $V [A $V $V [A $V [$V DQV URRWVV\PSRO\/ // / N IRUL LILPDJDQVL ! N NPXFN DQVL HQG HQG $F ]HURV %F ]HURV FRHII IRUN IRUM SMN $VM PXFN A$VM PXFN $VM TMN %VM PXFN A %VM PXFN %VM KMN %VM PXFN A%VM PXFN %VM JMN 'VM PXFN A 'VM PXFN 'VM HQG /N VXEV/PXFN /N VXEV/PXFN /N VXEV/PXFN /N VXEV/PXFN $VXP VXPVXPDEV$V 'VXP VXPVXPDEV'V /NV DEV/N $VXP/NV DEV/N 'VXP SURYLGHIDLUFRPSDULVRQEHWZHHQ/DQG/ LIDEV/N ! HSV_DEV/N ! HSV /NV!/NV LIDEV/N ! HSV ODPGD /N/N HOVHLIDEV/N ! HSV ODPGD /N/N HQG $FN SN ODPGD TN %FN PXFN $FN SN ODPGD TN PXFN %FN $FN ODPGD %FN KN ODPGD JN PXFN $FN ODPGD PXFN %FN KN ODPGD JN HOVHLIDEV/N ! HSV_DEV/N ! HSV /NV!/NV LIDEV/N ! HSV ODPGD /N/N HOVHLIDEV/N ! HSV ODPGD /N/N HQG $FN ODPGD SN TN %FN ODPGD PXFN $FN ODPGD SN TN PXFN %FN ODPGD
Appendix F: AEPH Source Code (Listed in Alphabetic Order) $FN %FN ODPGD KN JN PXFN $FN PXFN %FN ODPGD KN JN HOVH GLVS WKLVLVDFDVHRIGHJHQHUDWHPDWHULDOV HQG FBL $FN %FN $FN %FN $FN %FN $FN %FN LIFBLa FRHII VTUW FBL HQG $FN FRHII $FN %FN FRHII %FN HQG IXQFWLRQ>PXF$F%F@ PX$%B&S$V%V'V HTQ PXF$F%FPDWHULDOHLJHQYDOXHVPXDQGPDWHULDOHLJHQYHFWRUPDWULFHV$%IRUGRXEOHFKHFN $V%V'VPDWULFHVUHODWHGWRH[WHQVLRQDOEHQGLQJDQGFRXSOLQJVWLIIQHVVHVGHILQHGLQE 1RWHVXEVFULSWVXVHGLQWKHPDWULFHVRI$%'PRYHWRWKHFRPSRQHQWVRIWKHUHODWHGPDWULFHV ; >$V $V %V %V %V %V 'V 'V @ ; > $V $V $V %V %V %V %V $V $V %V %V %V %V %V %V 'V 'V 'V %V %V 'V 'V @ ; > $V $V $V $V %V %V %V %V %V $V $V $V %V %V %V %V %V %V %V %V %V 'V 'V 'V 'V %V %V %V %V 'V 'V 'V @ ; > $V $V %V %V %V $V $V $V %V %V %V %V %V %V 'V 'V %V %V %V 'V 'V 'V @ ; >$V %V $V %V %V 'V %V 'V @ >HLJYHLJ@ SRO\HLJ;;;;; N IRUL LILPDJHLJL ! N NPXFN HLJL EBXSN HLJYL HQG HQG IRUN ;Q >PXFN APXFN PXFN @ ;N >PXFN A PXFN PXFN @ ;; >;Q]HURV ]HURV ;N@ PX$N >$V%V%V 'V@ ;; EBXSN $FN PX$N $FN PX$N PXFN $FN PX$N
591
592
Appendix F: AEPH Source Code (Listed in Alphabetic Order) $FN EBXSN $FN PXFN EBXSN $FN EBXSN %FN PXFN EBXSN %FN EBXSN %FN EBXSN %FN PX$N PXFN %FN PX$N %FN PX$N FBL $FN %FN $FN %FN $FN %FN $FN %FN $FN %FN $FN %FN FRHII VTUW FBL $FN FRHII $FN %FN FRHII %FN HQG
F050: elastic IXQFWLRQ>&LM6LM$LM%LM'LM@ HODVWLFLQSXW (/$67,&SURYLGHVHODVWLFFRPSOLDQFHH[WHQVLRQDOFRXSOLQJDQGEHQGLQJ VWLIIQHVVHV&LM6LM$LM%LM'LM ZKHQWKHHODVWLFSURSHUWLHVDUHLQSXWWKURXJK WKHWH[WILOHLQSXWBHODVWLFW[WDFFRUGLQJWRGLIIHUHQWW\SHVRIPDWHULDOV(W\SH &LMHODVWLFVWLIIQHVVIRUWKHJHQHUDO'SUREOHPV &LM &LM(IRUJHQHUDOL]HGSODQHVWUDLQ&LM &LMBKDW(IRUJHQHUDOL]HGSODQHVWUHVV 6LMFRPSOLDQFHIRUWKHJHQHUDO'SUREOHPV 6LM ( 6LMBKDWIRUJHQHUDOL]HGSODQHVWUDLQ6LM ( 6LMIRUJHQHUDOL]HGSODQHVWUHVV $LMH[WHQVLRQDOVWLIIQHVV %LMFRXSOLQJVWLIIQHVV 'LMEHQGLQJVWLIIQHVV LQSXWDYHFWRURUPDWUL[LPSRUWHGIURP LQSXWBHODVWLFW[W */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ &LM6LMHODVWLFDQGFRPSOLDQFHPDWULFHV &LMBKDW6LMBKDWUHGXFHGHODVWLFDQGFRPSOLDQFHPDWULFHV QHQXPEHURIOD\HUVRIODPLQDWHGFRPSRVLWHV &LMBN&LMRINWKOD\HURIODPLQDWHGFRPSRVLWHV WNBHWKLFNQHVVRIWKHNWKOD\HURIODPLQDWHGFRPSRVLWHV WKLFNQHVVSODWHWKLFNQHVV (QX66666666@ &LM LQY6LM HTQ LI'W\SH
_'W\SH
_'W\SH
WKLFNQHVV LQSXW HQG
SODWHWKLFNQHVV
FDVH XQLGLUHFWLRQDOILEHUUHLQIRUFHGFRPSRVLWHPDWHULDOVHTQ ( LQSXW &LM6LM.V@ &6$%'BVWDU&LM6LMDOSKDN &LMBNN &LM &LMRINWKOD\HU &LMD &LMD&LM WNBHN WKLFNQHVV WKLFNQHVVWNBHN HQG &LM &LMDWKLFNQHVV 6LM LQY&LM RWKHUZLVH GLVS 8QNQRZQHODVWLFSURSHUWLHV HQG $LM ]HURV %LM ]HURV 'LM ]HURV VZLWFK'W\SH FDVH^` JHQHUDOL]HGSODQHVWUDLQ HTQE 6LMBKDW 6LM6LM 6LM 6LM &LM &LM6LM 6LMBKDW FDVH^` JHQHUDOL]HGSODQHVWUHVV HTQ &LMBKDW &LM&LM &LM &LM &LM &LMBKDW6LM 6LM FDVH^` FRXSOHGVWUHWFKLQJEHQGLQJSUREOHPHTQV E LI(W\SH &LMBKDW &LM&LM &LM &LM >4LM@ &4H&LMBKDW $LM 4LM WKLFNQHVV%LM ]HURV 'LM 4LM WKLFNQHVVAH[WHQVLRQDOFRXSOLQJDQGEHQGLQJVWLIIQHVVHV HOVHLI(W\SH
K WKLFNQHVV IRUN QH &LMBKDW &LMBNN &LMBNN &LMBNN &LMBNN >4LM@ &4H&LMBKDW KN KN WNBHN $LM $LM4LM WNBHN %LM %LM4LM KN AKN A 'LM 'LM4LM KN AKN A HQG HQG
Appendix F: AEPH Source Code (Listed in Alphabetic Order) &LM &LMBKDW6LM 6LM FDVH WKUHHGLPHQVLRQDOSUREOHP &LM &LM6LM 6LM RWKHUZLVH GLVS 8QNQRZQSUREOHPW\SH HQG &LM &LM(6LM 6LM ( QRQGLPHQVLRQDOL]DWLRQ IXQFWLRQ>4LM@ &4H&LM JHQHUDWH4LMHTQ IRUWKHFDOFXODWLRQRI$LM%LMDQG'LMHTQE 4LM >&LM &LM &LM &LM &LM &LM &LM &LM &LM @
F051: fundamental_N IXQFWLRQ>1F1F1F1F@ IXQGDPHQWDOB1 )81'$0(17$/B1FDOFXODWHVWKHIXQGDPHQWDOHODVWLFLW\PDWUL[1WKURXJKWKHH[SOLFLWVROXWLRQV WRSURYLGHDGRXEOHFKHFNIRUWKHPDWUL[1FDOFXODWHGIURPIXQFWLRQPDWHULDOBHLJHQ )RXUDX[LOLDU\IXQFWLRQVDUHXVHGWRDVVLVWWKHFDOFXODWLRQRI)XQGDPHQWDOB1 ZKLFKDUH6WURK1B'H6WURK1B&H6WURK1B'S6WURK1B&S 1F1F1F1FIXQGDPHQWDOHODVWLFLW\PDWULFHV1111IRUGRXEOHFKHFN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQDQGLWVVXEIXQFWLRQV $LMWV%LMWV'LMWVJHQHUDWHGLQ6WURK1B&H6WURK1B&S PDWULFHVUHODWHGWR$LM%LM'LMHTQE JOREDO3W\SH'W\SHHSV1$LM%LM'LM IURP0DLQ3URJUDPFRQWUROSDUDPHWHUV HODVWLFSURSHUWLHV JOREDO6LM6LMBKDW IURPIXQFWLRQHODVWLFHODVWLFSURSHUWLHV JOREDO6LM'JLMEHWDLMV IURPIXQFWLRQVSLH]RRUSLH]RSLH]RHODVWLFSURSHUWLHV JOREDO6LM'BKDWJLMBKDWEHWDLMVBKDW IURPIXQFWLRQSLH]RSLH]RHODVWLFSURSHUWLHV JOREDO6LM'BSJLMBSEHWDLMVBS6LM'BSKJLMBSKEHWDLMVBSK IURPIXQFWLRQSLH]RSLH]RHODVWLFSURSHUWLHV LI3W\SH
SXUHHODVWLFPDWHULDOV
VZLWFK'W\SH FDVH^` JHQHUDOL]HGSODQHVWUDLQ >1F1F1F1F@ 6WURK1B'H6LMBKDW FDVH^` JHQHUDOL]HGSODQHVWUHVV >1F1F1F1F@ 6WURK1B'H6LM FDVH^` FRXSOHGVWUHWFKLQJEHQGLQJSUREOHP >1F1F1F1F@ 6WURK1B&H$LM%LM'LM HQG HOVH
SLH]RHOHFWULFPDWHULDOV VZLWFK'W\SH FDVH JHQHUDOL]HGSODQHVWUDLQ VKRUWFLUFXLW
>1F1F1F1F@ 6WURK1B'S6LM'BSKEHWDLMVBSKJLMBSK FDVH JHQHUDOL]HGSODQHVWUDLQ RSHQFLUFXLW >1F1F1F1F@ 6WURK1B'S6LM'BKDWEHWDLMVBKDWJLMBKDW FDVH JHQHUDOL]HGSODQHVWUHVV VKRUWFLUFXLW >1F1F1F1F@ 6WURK1B'S6LM'BSEHWDLMVBSJLMBS FDVH JHQHUDOL]HGSODQHVWUHVV RSHQFLUFXLW >1F1F1F1F@ 6WURK1B'S6LM'EHWDLMVJLM
595
596
Appendix F: AEPH Source Code (Listed in Alphabetic Order) FDVH^`FRXSOHGVWUHWFKLQJEHQGLQJ VKRUWFLUFXLWRURSHQFLUFXLW >1F1F1F1F@ 6WURK1B&S$LM%LM'LM GLVS 1RFRPSDULVRQRIWKHIXQGDPHQWDOPDWUL[1ZDVPDGHEHFDXVHQRH[SOLFLWVROXWLRQRI1 HQG HQG ',)Q 11F GLI PD[PD[DEV',)Q LIGLI! HSV GLVS 'LIIHUHQWUHVXOWVRI1DUHREWDLQHGZKHQWKH\DUHFDOFXODWHGIURPGLIIHUHQWDSSURDFKHV GLVS 7KHPD[LPXPGLIIHUHQFHRYHUALV GLI GLVS )ROORZLQJVDUHWKHYDOXHVRIIXQGDPHQWDOPDWUL[1IURPGLIIHUHQWDSSURDFKHV GLVS LIWKH\DUHDFFHSWDEOHMXVWLJQRUHWKLVFKHFN 11F HOVH GLVS 1FKHFN2. HQG IXQFWLRQ>1F1F1F1F@ 6WURK1B'H6LM HTQ 1F1F1F1FIXQGDPHQWDOHODVWLFLW\PDWULFHV1111IRUGRXEOHFKHFN 6LMFRPSOLDQFHVZKLFKPD\EH6LMRU6LMBKDW JOREDO( IURP0DLQSURJUDPFRQWUROSDUDPHWHU 6LM 6LM ( GHOWD 6LM 6LM 6LM 6LM U 6LM 6LM 6LM 6LM GHOWDV 6LM 6LM 6LM 6LM GHOWD U 6LM 6LM 6LM 6LM GHOWDV 6LM 6LM 6LM 6LM GHOWD U 6LM 6LM 6LM 6LM GHOWDV 6LM 6LM 6LM 6LM GHOWD 1F >UVUVUV@ 1F >6LM 6LM 6LM 6LM @GHOWD 1FB >6LM 6LM 6LM 6LM 6LM 6LM 6LM 6LM 6LM @ 1FB >6LM 6LM 6LM 6LM 6LM 6LM @ 1FB >6LM 6LM 6LM 6LM 6LM 6LM @ 1F 1FB1FB 1F 1FB 1F >1F1F1F1F @ IXQFWLRQ>1F1F1F1F@ 6WURK1B&H$LM%LM'LM HTQ 1F1F1F1FIXQGDPHQWDOHODVWLFLW\PDWULFHV1111IRUGRXEOHFKHFN $LM%LM'LMH[WHQVLRQDOEHQGLQJDQGFRXSOLQJVWLIIQHVVHVIRUFRXSOHGVWUHFKLQJEHQGLQJSUREOHPV JOREDO(K IURP0DLQSURJUDPFRQWUROSDUDPHWHUV JOREDO$LMWV%LMWV'LMWV JHQHUDWHGPDWULFHVUHODWHGWRH[WHQVLRQDOFRXSOLQJDQGEHQGLQJVWLIIQHVVHVHTQE (K ( K (K (K K (K (K K $LM $LM(K %LM %LM(K 'LM 'LM(K QRQGLPHQVLRQDOL]DWLRQ $LMWV LQY$LM %LMWV $LMWV %LM 'LMWV 'LM%LM %LMWV HTQE LQWKHIROORZLQJWKHVXEVFULSWXVHGLQWKHWH[WERRNLVUHSODFHGE\GXHWRWKHUHTXLUHPHQWRIPDWUL[VL]H 'HOWD %LMWV %LMWV $LMWV 'LMWV
Appendix F: AEPH Source Code (Listed in Alphabetic Order) ; $LMWV 'LMWV %LMWV %LMWV ; $LMWV 'LMWV %LMWV %LMWV ; $LMWV %LMWV $LMWV %LMWV ; $LMWV 'LMWV %LMWV %LMWV ; $LMWV %LMWV $LMWV %LMWV ; %LMWV 'LMWV %LMWV 'LMWV ; $LMWV 'LMWV %LMWV %LMWV ; %LMWV 'LMWV %LMWV 'LMWV ; $LMWV 'LMWV %LMWV %LMWV ; $LMWV 'LMWV %LMWV %LMWV @ HTQD G] SHUPXWHQS
G[5S >@ SHUPXWHPXS >@ SHUPXWHG[S5S >@ HTQE ]L UHVKDSHSHUPXWHG] >@ GQP ]L ]LA %W UHVKDSHSHUPXWH%H>@ GQGLPP VZLWFK8BVWDU7BVWDU@ ]$ UHVKDSH]L $WS GQGP ]% UHVKDSH]L %WGQGP 8 UHDOZJ$S ]$ 7 UHDOZJ$S ]% SDUWRIHTQ 85S SHUPXWHVLJQG[S5S >@ UHVKDSH8GLPGLPP SL 75S SHUPXWHVLJQG[S5S >@ UHVKDSH7GLPGLPP SL FDVH FDOFXODWH>8BVWDU8BVWDU7BVWDU7BVWDU@ ]L ]LA IRUN GHULYDWLYHZLWKUHVSHFWWR[BKDW[BKDWRU[BKDW VN UHVKDSHVWLSN GQ VWLSUHSDUHGLQIXQFWLRQPDWHULDOBHLJHQ ]$ UHVKDSHVN ]L $WS GQGP ]% UHVKDSHVN ]L %WGQGP SDUWRIHTQ B 8GLPGPN UHDOZJ$S ]$ 7GLPGPN UHDO ZJ$S ]% SDUWRIHTQ HQG 8 UHVKDSH>8GLPGP 8GLPGP 8GLPGP @ GLPGP 7 UHVKDSH>7GLPGP 7GLPGP 7GLPGP @ GLPGP 85S SHUPXWHVLJQG[S5S >@ UHVKDSH8 GLPGLPP SL 75S SHUPXWHVLJQG[S5S >@ UHVKDSH7 GLPGLPP SL HQG HQG HQG
F054: G1infCouple IXQFWLRQ>87@ *LQI&RXSOH[[L[F[VMQ8BVWDU@ )] ]HURVGLP IRUM GLP QGWHUPRIHTQ )] )]GLDJORJ]F]BKDWM L%F%M $M XVHHTQ B HQG 8 LPDJ$ )] SL7 HTQ 8 8BVWDU HQG
F056: G3interface2D IXQFWLRQ>87@ *LQWHUIDFH'[[L[F[V[JZJ@ *DXVV/RJQB*DXVV/ *DXVV/RJSURYLGHVWKH/RJDULWKPLF*DXVVLDQ4XDGUDWXUHSRLQWVDQGWKHLUDVVRFLDWHGZHLJKWVIRU WKHLQWHJUDWLRQZLWKORJDULWKPLFIXQFWLRQ [J/RJDULWKPLF*DXVVSRLQWVIRULQWHJUDWLRQ ZJZHLJKWVRIWKH/RJDULWKPLF*DXVVSRLQWV QB*DXVV/QXPEHURI/RJDULWKPLF*DXVVLDQSRLQWVIRULQWHJUDWLRQWKURXJK/RJDULWKPLF*DXVVLDQTXDGUDWXUHUXOHVXJJHVWHGQXPEHU VZLWFKQB*DXVV/ FDVH [J [J ZJ ZJ FDVH [J [J [J ZJ ZJ ZJ FDVH [J [J [J [J
Appendix F: AEPH Source Code (Listed in Alphabetic Order) ZJ ZJ ZJ ZJ FDVH [J H [J [J [J [J ZJ ZJ ZJ ZJ H ZJ H FDVH [J [J [J [J [J [J ZJ ZJ ZJ ZJ ZJ ZJ FDVH [J [J [J [J [J [J [J ZJ ZJ ZJ ZJ ZJ ZJ ZJ FDVH [J [J [J [J [J [J [J [J ZJ ZJ ZJ ZJ ZJ ZJ ZJ ZJ FDVH [J [J [J [J [J [J [J [J [J ZJ ZJ ZJ ZJ ZJ ZJ ZJ ZJ ZJ FDVH [J [J [J [J [J [J
625
626
Appendix F: AEPH Source Code (Listed in Alphabetic Order) [J [J [J [J ZJ ZJ ZJ ZJ ZJ ZJ ZJ ZJ ZJ ZJ RWKHUZLVH GLVS 'RHVQRWFRGHIRU/RJDULWKPLF*DXVVLDQSRLQWVRWKHUWKDQWR HQG
F066: Greenbank IXQFWLRQ>87@ *UHHQEDQN[[L[F[VMQWFBVWDUWFBVWDU@IRUWKHOHIWWLSRIDVWUDLJKWFUDFN HTQD E D ZKHUH8BVWDU7BVWDU8BVWDU8BVWDU7BVWDU7BVWDUXFBVWDUWFBVWDUDUH 8BVWDU*UHHQ VIXQFWLRQVRIGLVSODFHPHQWV 7BVWDU*UHHQ VIXQFWLRQVRIWUDFWLRQV XFBVWDU*UHHQ VIXQFWLRQVRIGHIOHFWLRQDWFRUQHUV WFBVWDU*UHHQ VIXQFWLRQVRIFRUQHUIRUFHV 7BVWDUWKHGHULYDWLYHZLWKUHVSHFWWR[LIRU*UHHQ VIXQFWLRQVRIWUDFWLRQV 7BVWDUWKHGHULYDWLYHZLWKUHVSHFWWR[LIRU*UHHQ VIXQFWLRQVRIWUDFWLRQV 8BVWDUWKHGHULYDWLYHZLWKUHVSHFWWR[LIRU*UHHQ VIXQFWLRQVRIGLVSODFHPHQWV
Appendix F: AEPH Source Code (Listed in Alphabetic Order) 8BVWDUWKHGHULYDWLYHZLWKUHVSHFWWR[LIRU*UHHQ VIXQFWLRQVRIGLVSODFHPHQWV WFBVWDUWKHGHULYDWLYHZLWKUHVSHFWWR[LIRUWFBVWDU WFBVWDUWKHGHULYDWLYHZLWKUHVSHFWWR[LIRUWFBVWDU XFBVWDUWKHGHULYDWLYHZLWKUHVSHFWWR[LIRUXFBVWDU XFBVWDUWKHGHULYDWLYHZLWKUHVSHFWWR[LIRUXFBVWDU 8VBVWDU7VBVWDUVLQJXODUSDUWRI8BVWDUDQG7BVWDU 8UBVWDU7UBVWDUUHJXODUSDUWRI8BVWDUDQG7BVWDU */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ $%PX$%PX$%PXRIWKHVWDQGQGPDWHULDOV JOREDO/W\SH IURP0DLQSURJUDP /W\SH IL[/W\SH /W\SH PRG/W\SH WKHVWDQGQGGLJLWVRI/W\SH LI/W\SHa WZRGLPHQVLRQDOSUREOHPV/W\SH VZLWFK/W\SH FDVH 'LQILQLWHSODQH >87@ *LQI'[[L[F[VVV@QRUPDODQGWDQJHQWLDOGLUHFWLRQDVVRFLDWHGZLWKEHQGLQJ RPHJDWUDQVIRUPDWLRQPDWUL[DVVRFLDWHGZLWKWKHRULHQWDWLRQRIORFDOFRRUGLQDWHHTQF B JOREDOGLPDOSKDWKHWDB[L IURP0DLQSURJUDPGLP3W\SH %(0EDQN%DOSKD DQG%(0PHVKWKHWDB[L JOREDO))G)G)LQWIIGIGILQW);YIURPIXQFWLRQ*LQI&RXSOH*KROH&RXSOHRU*LQFOXVLRQ&RXSOH JOREDOGLPGLPVPXQEB[LVEQERPHJDJHQHUDWHGIRUWKHXVHLQVXEIXQFWLRQ87BVWDU GLP GLP RPJ]HURVGLP ]HURVGLP RPJ@ HTQF B Q [VQ [F V [FV [V Q VLQBWKHWDQ FRVBWKHWDV FRVBWKHWDV VLQBWKHWD LIVV@VPX VPX VHQG )RUFRVDOSKD VLQDOSKD @ GLP GLP HOVH QEB[LGLPGLP >VLQWKHWDB[LMQ FRVWKHWDB[LMQ @GLP GLPQRUPDOGLUHFWLRQRIVRXUFHQRGHMQ HQG LIFRVDOSKD VLQDOSKD @HQG
,QDERYH[F[VVEQEQEB[LDUHFDOFXODWHGLQWKHORFDOFRRUGLQDWHDQGZHQHHGWRWUDQVIRUP WKHVHWHUPVLQWKHJOREDOFRRUGLQDWHDVVWDWHGDIWHUHTQF ZKLFKFDQEHGRQHE\ SUHPXOWLSO\LQJWUDQVSRVHRIRPHJDRIHTQF BDVVKRZQLQWKHIROORZLQJ VZLWFK8BVWDU7BVWDU@ 87BVWDU$%))LQWIILQWMQ 8 8BVWDU7 FDVH FDOFXODWH>8BVWDU7BVWDU@8 8BVWDU7 7BVWDU >8BVWDU7BVWDU@ 87BVWDU$%))G)G)LQWIIGIGILQWMQ 8 8BVWDU7 7BVWDU FDVH FDOFXODWH>ZFBVWDUWFBVWDU@8 ZFBVWDU7 WFBVWDU LIMQ
)GGLP )GGLP )LQWGLP )LQWGLP HQG
)GGLP )GGLP RPHJD
QEB[L )LQWGLP )LQWGLP RPHJD
QEB[L )GGLP IG )LQWGLP ILQW IRUN GLP WFBVWDUN UHDO[F
RPHJD %[V
RPHJD % GLDJPX )GN [F QF QWQW[V VF VWVWHTQF XFBVWDUN UHDOY
$ )LQWN HQG 8 XFBVWDU 7 WFBVWDU FDVH^` FDOFXODWHGHULYDWLYHVRI8BVWDU8 8BVWDU7 8BVWDU ))B)LQW)LQWBIIBILQWILQWB >8BVWDU7BVWDU@ 87BVWDU$%))LQWIILQWMQ8BVWDU7BVWDU@ 87BVWDU$%)B)LQWBIBILQWBMQ8BVWDU8BVWDU@7 >7BVWDU7BVWDU@ ))B)G)GB)G)GB)LQW)LQWBIIBIGIGBIGIGBILQWILQWB >8BVWDU7BVWDU@ 87BVWDU$%))G)G)LQWIIGIGILQWMQ8BVWDU7BVWDU@ 87BVWDU$%)B)GB)GB)LQWBIBIGBIGBILQWBMQ8BVWDU8BVWDU@7 >7BVWDU7BVWDU@ FDVH^` FDOFXODWHGHULYDWLYHVRIZFBVWDUDQGWFBVWDU8 >ZFBVWDUZFBVWDU@7 >WFBVWDUWFBVWDU@ )G)GB)LQW)LQWBIGIGBILQWILQWB )GGLP )GGLP )GGLP )GGLP )LQWGLP )LQWGLP )LQWGLP )LQWGLP )GGLP IG )LQWGLP ILQW )GB );GLPGLP )LQWB );GLP GLP IGB );GLP ILQWB );GLP )GBGLP )GBGLP )GBGLP )GBGLP )LQWBGLP )LQWBGLP )LQWBGLP )LQWBGLP )GBGLP IGB )LQWBGLP ILQWB IRUN GLP WFBVWDUN UHDO[F
RPHJD %[V
RPHJD % GLDJPX )GN [F QF QWQW[V VF VWVWHTQF XFBVWDUN UHDOY
$ )LQWN WFBVWDUN UHDO[F
RPHJD %[V
RPHJD % GLDJPX )GBN [F QF QWQW[V VF VWVWHTQF XFBVWDUN UHDOY
$ )LQWBN HQG 8 >XFBVWDU XFBVWDU @7 >WFBVWDU WFBVWDU @ HQG IXQFWLRQ>8BVWDU7BVWDU@ 87BVWDU$%))G)G)LQWIIGIGILQWMQ==@ ,GHQWLWLHV,6+/ >==@ ,GHQWLWLHVB'H&LMBKDW6LMEHWDBYDOSKDBYR FDVH^` FRXSOHGVWUHWFKLQJEHQGLQJSUREOHP >==@ ,GHQWLWLHV,6+/ >==@ ,GHQWLWLHVB& HQG HOVH &HZ >&LM(HLM HLMZLMH@ 6GZ >6LM(GLM GLMZLMV@ &KE >&LM'KLM KLMEHWDLMH@6JE >6LM'JLM JLMEHWDLMV@ ,D &HZ 6JE,E 6GZ &KE HTQ =D H\H ,D=E H\H ,E = =D=E &LM(R &LM( (ZLMHR ZLMH( RULJLQDOYDOXHRI&LM(DQGZLMH VZLWFK'W\SH FDVH JHQHUDOL]HGSODQHVWUDLQ VKRUWFLUFXLW >==@ ,GHQWLWLHV,6+/ >=@ ,GHQWLW\B'S&LM(HLMZLMH6LM'BSKJLMBSKEHWDLMVBSK >=@ ,GHQWLW\B'S&LM'BSKLMBSEHWDLMHBS6LM(BKDWGLMBKDWZLMVBKDW FDVH JHQHUDOL]HGSODQHVWUDLQ RSHQFLUFXLW >==@ ,GHQWLWLHV,6+/ >=@ ,GHQWLW\B'S&LM(RHLMZLMHR6LM'BKDWJLMBKDWEHWDLMVBKDW &LM(R&LM(BSHLMHLMBSZLMHRZLMHBS >=@ ,GHQWLW\B'S&LM'KLMEHWDLMH6LM(BSKGLMBSKZLMVBSK FDVH JHQHUDOL]HGSODQHVWUHVV VKRUWFLUFXLW >==@ ,GHQWLWLHV,6+/ >=@ ,GHQWLW\B'S&LM(RHLMZLMHR6LM'BSJLMBSEHWDLMVBS &LM(R&LM(BKDWHLMHLMBKDWZLMHRZLMHBKDW >=@ ,GHQWLW\B'S&LM'BSKKLMBSKEHWDLMHBSK6LM(GLMZLMV FDVH JHQHUDOL]HGSODQHVWUHVV RSHQFLUFXLW >==@ ,GHQWLWLHV,6+/ >=@ ,GHQWLW\B'S&LM(RHLMZLMHR6LM'JLMEHWDLMV &LM(R&LM(BSKHLMHLMBSKZLMHRZLMHBSK >=@ ,GHQWLW\B'S&LM'BKDWKLMBKDWEHWDLMHBKDW6LM(BSGLMBSZLMVBS FDVH FRXSOHGVWUHWFKLQJEHQGLQJ VKRUWFLUFXLW >==@ ,GHQWLWLHV,6+/ >==@ ,GHQWLWLHVB& FDVH FRXSOHGVWUHWFKLQJEHQGLQJ RSHQFLUFXLW >==@ ,GHQWLWLHV,6+/ >==@ ,GHQWLWLHVB& HQG HQG GLI PD[PD[DEV= GLI PD[PD[DEV= GLI PD[PD[DEV= GLI PD[PD[DEV= GLI PD[PD[DEV= GLI PD[PD[DEV= QL IRULG
631
632
Appendix F: AEPH Source Code (Listed in Alphabetic Order) LIGLILG ! HSV GLVS LGHQWLW\HUURUGLIIHUHQFHRYHUA LGGLILG QL QL HQG HQG LIQL
GLVS LGHQWLWLHVFKHFN2. HQG
IXQFWLRQ>==@ ,GHQWLWLHV,6+/Q ==GLIIHUHQFHVIRU,DQG, ,, %$ $%GHILQHGLQHTQ 6+/%DUQHWW/RWKHPDWULFHV QGLPHQVLRQRIDPDWUL[ Q Q = H\HQ , 6 6L H\HQ , >6+/6 @ >6+/6 @ HTQE RI+ZXD = H\HQ , IXQFWLRQ>==@ ,GHQWLWLHVB'H;LMBKDW@ =@ ,GHQWLW\B'S&HHZH6GJEV =GLIIHUHQFHIRU, &HHZH6GJEVUHODWHGWRHODVWLF SLH]RSURSHUWLHV
Appendix F: AEPH Source Code (Listed in Alphabetic Order) &H >@ &H >@ H >@ H >@ ZH >@ ZH >@ 6G >@ 6G >@ J >@ J >@ EV >@ EV >@ &HZ >&HH HZH@ 6JE >6GJ JEV@ , &HZ 6JE HTQDE = H\H , IXQFWLRQ>=@ ,GHQWLW\B'S&GKEH6HGZV =GLIIHUHQFHIRU, &GKEH6HGZVUHODWHGWRHODVWLF SLH]RSURSHUWLHV &G >@ &G >@ K >@ K >@ EH >@ EH >@ 6H >@ 6H >@ G >@ G >@ ZV >@ ZV >@ &KE >&GK KEH@ 6GZ >6HG GZV@ , &KE 6GZ HTQDE = H\H ,
F069: internal IXQFWLRQ>;LN8LN7LN7NKNYN@ LQWHUQDOORDGVWUYDULDEOHLVU ,17(51$/DUUDQJHVWKHLQWHUQDOSRLQWVIRUIXQFWLRQVXSKLBEDQNDQG%(0EDQN,1 WRFDOFXODWHWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHV WKURXJKDQDO\WLFDOVROXWLRQVDQGERXQGDU\HOHPHQWPHWKRG ;LN ;LNN SRVLWLRQ[LRIWKHNWKSRLQWRQDFXUYH[L [[L \[L VRUSVLRU ;LN ;LNZT SRVLWLRQ[LRIWKHZT SRLQWRQDVXUIDFH[L [[L \[L VRUSVLRU [LYDULDEOHVLQGLFDWLQJWKHORFDWLRQZKRVHUHVSRQVHVZLOOEHFDOFXODWHG 8LN 8LNN 8LRIWKHNWKSRLQWRQDFXUYH8L >XXBXB@ 8LN 8LNZT 8LRIWKHZT SRLQWRQDVXUIDFH8L >XXBXB@ XGLVSODFHPHQWYHFWRUYHFWRURIXXX IRU'HODVWLFSUREOHPV YHFWRURIXXXX IRU'SLH]RHOHFWULFSUREOHPV YHFWRURIXXXXX IRU'0((SUREOHPV YHFWRURIXXXEHWDEHWD IRUFRXSOHGVWUHWFKLQJEHQGLQJSUREOHPV YHFWRURIXXXXEHWDEHWDEHWD IRUFRXSOHGSLH]RHOHFWULFPDWHULDO YHFWRURIXXXXXEHWDEHWDEHWDEHWD IRUFRXSOHG0((PDWHULDO XBVWUDLQYHFWRUYHFWRURIHSVLORQHSVLORQDHSVLORQ XIRU'HODVWLFSUREOHPV YHFWRURIHSVLORQHSVLORQDHSVLORQHSVLORQ XIRU'SLH]RHOHFWULFSUREOHPV YHFWRURIHSVLORQHSVLORQDHSVLORQHSVLORQHSVLORQ XIRU'0((SUREOHPV YHFWRURIHSVLORQHSVLORQDHSVLORQNDSSDNDSSDD XIRUFRXSOHGVWUHWFKLQJEHQGLQJSUREOHPV YHFWRURIHSVLORQHSVLORQDHSVLORQHSVLORQNDSSDNDSSDNDSSDD XIRUFRXSOHGSLH]RHOHFWULFPDW YHFWRURIHSVLORQHSVLORQDHSVLORQHSVLORQHSVLORQNDSSDNDSSDNDSSDNDSSDD XIRU FRXSOHG0((PDWHULDO XBVWUDLQYHFWRUYHFWRURIHSVLORQEHSVLORQHSVLORQ XIRU'SUREOHPV YHFWRURIHSVLORQEHSVLORQHSVLORQHSVLORQ XIRU'SLH]RHOHFWULFSUREOHPV YHFWRURIHSVLORQEHSVLORQHSVLORQHSVLORQHSVLORQ XIRU'0((SUREOHPV YHFWRURIHSVLORQEHSVLORQHSVLORQNDSSDENDSSD XIRUFRXSOHGVWUHWFKLQJEHQGLQJSUREOHPV YHFWRURIHSVLORQEHSVLORQHSVLORQHSVLORQNDSSDENDSSDNDSSD XIRUFRXSOHGSLH]RHOHFWULFPDW YHFWRURIHSVLORQEHSVLORQHSVLORQHSVLORQHSVLORQNDSSDENDSSDNDSSDNDSSD XIRU FRXSOHG0((PDWHULDO HSVLORQ HSVLORQDHSVLORQENDSSD NDSSDDNDSSDE 7LN 7LNN 7LRIWKHNWKSRLQWRQDFXUYH7L >VLJPDVLJPDWBVV@
633
634
Appendix F: AEPH Source Code (Listed in Alphabetic Order) 7LN 7LNZT 7LRIWKHZT SRLQWRQDVXUIDFH7L >VLJPDVLJPDWBVV@ ZKHUHVLJPDVWUHVVYHFWRUYHFWRURIVLJPDVLJPDVLJPD SKLBIRU'HODVWLFSUREOHPV YHFWRURIVLJPDVLJPDVLJPDVLJPD SKLBIRU'SLH]RHOHFWULFSUREOHPV YHFWRURIVLJPDVLJPDVLJPDVLJPDVLJPD SKLBIRU'0((SUREOHPV YHFWRURI111 IRUFRXSOHGVWUHWFKLQJEHQGLQJSUREOHPV YHFWRURI11111 IRUFRXSOHGSLH]RHOHFWULFPDWHULDO YHFWRURI1111111 IRUFRXSOHG0((PDWHULDO VLJPDVWUHVVYHFWRUYHFWRURIVLJPDVLJPDVLJPD SKLBIRU'SUREOHPV YHFWRURIVLJPDVLJPDVLJPDVLJPD SKLBIRU'SLH]RHOHFWULFSUREOHPV YHFWRURIVLJPDVLJPDVLJPDVLJPDVLJPD SKLBIRU'0((SUREOHPV YHFWRURI000 IRUFRXSOHGVWUHWFKLQJEHQGLQJSUREOHPV YHFWRURI00000 IRUFRXSOHGSLH]RHOHFWULFSUREOHPV YHFWRURI0000000 IRUFRXSOHG0((FRXSOHGSUREOHPV WBVV >VLJPDBVVVLJPDBQQVLJPDBVQ@KRRSVWUHVVIRU'HODVWLFSUREOHPV WBVV >VLJPDBVVVLJPDBQQVLJPDBVQ'V@KRRSVWUHVVIRU'SLH]RHOHFWULFSUREOHPV WBVV >VLJPDBVVVLJPDBQQVLJPDBVQ'V%V@KRRSVWUHVVIRU'0((SUREOHPV WBVV >1BVV0BVV0BVQ@YHFWRURIKRRSVWUHVVIRUFRXSOHGVWUHWFKLQJEHQGLQJSUREOHPV WBVV >1BVV0BVV0BVQ'V'V @IRUSLH]RHOFWULFPDWHULDO WBVV >1BVV0BVV0BVQ'V'V %V%V @IRU0((PDWHULDO 7N 7NN JHQHUDWHGLQFXUYHVXUIDFHSRLQW WHPSHUDWXUHRIWKHNWKSRLQW KN KNLN JHQHUDWHGLQFXUYHVXUIDFHSRLQW KHDWIORZLQ[BLGLUHFWLRQRIWKHNWKSRLQW YNQXPEHURISRLQWVWREHHYDOXDWHG ORDGVWUORDGDQGVWUXFWXUDOLQIRUPDWLRQLQSXWLQWKH0DLQSURJUDPWKURXJKLQSXWBORDGVWUW[W YDULDEOHYDULDEOHVLQGLFDWLQJWKHUHJLRQZKHUHWKHUHVSRQVHVDUHHYDOXDWHG LQSXWLQWKH0DLQSURJUDPWKURXJKLQSXWBYDULDEOHW[W LVULQGH[RIWKHVXEUHJLRQXVHGLQWKHSUREOHPVRI%)(0LVU IRUDOORWKHUSUREOHPV */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQDQGLWVVXEIXQFWLRQV [\JHQHUDWHGLQFXUYHVXUIDFH FHQWHURISRO\JRQOLNHFORVHGFRQWRXUGHIDXOW IRURWKHUFDVHV FXUJHQHUDWHGLQFXUYH W\SHRIOLQHVIRURXWSXWGDWDFXU SLHFHZLVHOLQHVFXU FLUFXODUFXUYH FXU HOOLSWLFDOFXUYHFXU SRO\JRQOLNHFXUYHHTQ VXUIJHQHUDWHGLQVXUIDFH W\SHRIVXUIDFHIRURXWSXWGDWDVXUI UHFWDQJXODUVXUIDFHVXUI FLUFXODUVXUIDFH VXUI HOOLSWLFDOVXUIDFHVXUI SRO\JRQOLNHVXUIDFHVXUI DVXUIDFHZLWKSRO\JRQOLNHKROH Q[JHQHUDWHGLQVXUIDFH QXPEHURISRLQWVWREHHYDOXDWHGLQ[GLUHFWLRQ ZTQXPEHURILQWHUQDOSRLQWVLQ[DQG\GLUHFWLRQV 6WP6WPM NMWKVHOHFWHGWLPHLVFORVHWRNWKWLPH !WLM WLPHNN WN GW 6[\6[\M YNMWKVHOHFWHGSRVLWLRQLVFORVHWRYNWKSRLQW ![\LM ;LNN LI2W\SHa 6[\M >ZT@MWKVHOHFWHGSRVLWLRQLVFORVHWR>ZT@WKSRLQW ![\LM ;LNZT LI2W\SH
1RWH:KHQ/W\SHX XGXB XGBXB XGBVLJPD >1LM@VLJPD >0LM@ JOREDO/W\SH2W\SH7PW\SH IURP0DLQSURJUDP JOREDOZT6WP JHQHUDWHG VZLWFK2W\SH FDVH^` RQO\JOREDOUHVSRQVHVLQGHSHQGHQWRIWKHSRVLWLRQRILQWHUQDOSRLQWV DUHHYDOXDWHG [L >@;LN [LYN 7N QDQKN QDQ8LN QDQ7LN QDQ GHIDXOW LI/W\SH>XLXLBXLBWLWL@ %(0EDQN,1[LYNLVU FDOFXODWH6,)IRUFUDFNSUREOHPV HOVH >8LN7LN7HPK@ XSKLBEDQNORDGVWU[LYN HQG FDVH^` UHVSRQVHVDUHHYDOXDWHGRQOLQHVVWUDLJKWRUFXUYLOLQHDU >;LN8LN7LN7NKNYN@ FXUYHORDGVWUYDULDEOHLVU FDVH UHVSRQVHVDUHHYDOXDWHGRQVXUIDFHVUHFWDQJOHFLUFOHHOOLSVHSRO\JRQHWF >;LN8LN7LN7NKNYNZT@ VXUIDFHORDGVWUYDULDEOHLVU
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
635
FDVH UHVSRQVHVDUHHYDOXDWHGRQGLVFUHWHSRLQWV >;LN8LN7LN7NKNYN@ SRLQWORDGVWUYDULDEOHLVU RWKHUZLVH GLVS ,IWKHUHJLRQWREHHYDOXDWHGFDQQRWEHVHWWKURXJKWKHFDVHVSURYLGHGLQWKLVSURJUDP GLVS LWLVVXJJHVWHGWRZULWHDQLQGHSHQGHQWVLPSOHSURJUDPWRFROOHFWWKHGDWDSRLQWV GLVS RIWKHUHTXLUHGUHJLRQDQGLQSXWWKHUHTXLUHGUHJLRQWKURXJK GLVS WKHGLVFUHWHSRLQWV2W\SH GHVLJQHGLQWKLVSURJUDP HQG LI7PW\SHa 2W\SHa >6WP6[\GV9ZTQVS@ SRVLWLRQ7LPHLVU HQG
JHQHUDWH6WPIRUWKHXVHLQ
7DEOH)LJ'9RI7DEOH)LJ IXQFWLRQ>;LN8LN7LN7NKNYN@ FXUYHORDGVWUYDULDEOHLVU 5HVSRQVHVDUHHYDOXDWHGRQFXUYHV JOREDO7W\SH7PW\SHGLP+Q[\ IURP0DLQSURJUDP IXQFWLRQXSKLBEDQN%)(0 JOREDO[\6[\FXU JHQHUDWHG 6[\6[\M YNMWKVHOHFWHGSRVLWLRQLVFORVHWRWKHYNWKSRLQW ![\LM ;LNN FXU YDULDEOHLVU 7\SHRIOLQHVFXU SLHFHZLVHOLQHVFXU FLUFXODUFXUYH FXU HOOLSWLFDOFXUYHFXU SRO\JRQOLNHFXUYHHTQ [L [L [\ &DUWHVLDQFRRUGLQDWHXVHGWRGHVFULEHWKHSRVLWLRQRQDFXUYH [L VRUSVLDVLQJOHSDUDPHWHUXVHGWRGHVFULEHWKHSRVLWLRQRQDFXUYH 7N KN GHIDXOWYDOXHIRUQRQWKHUPDOSUREOHPV LI7PW\SHa GVQ[\ QDQ9ZTQ[\ QDQQVSQ[\ QDQ6[\Q[\ QDQHQG GHIDXOW VZLWFKFXU FDVH FXU QRLQSXWIRUFXUYHSRLQWV FDVH FXU SLHFHZLVHOLQHV YN QOLQH YDULDEOHLVU QXPEHURIOLQHV [ YDULDEOHLVU \ YDULDEOHLVU VWDUWLQJSRLQW[\ [ \ V GHIDXOW IRUQ QOLQH Q Q Q QQ Q [ YDULDEOHLVUQ \ YDULDEOHLVUQ VXFFHVVLYHSRLQW[\ QS YDULDEOHLVUQ QXPEHURISRLQWVWREHHYDOXDWHGRQWKHQWKOLQHQS! G[ [[ QS G\ \\ QS GV VTUWG[AG\A V GV QS IRUN QS [L [G[ N [L \G\ N [L VGV N YN YN;LNYN [L >8L7L7HPK@ RSWLRQ[LORDGVWUYNLVU LI7PW\SH
8LNYN 8L7LNYN 7L
HOVH8LNYN 8L7LNYN 7L >6WP6[\GV9ZTQVS@ SRVLWLRQ7LPH[LGVYN6[\GV9ZTQVSLVU JHQHUDWH6[\ HQG LI7W\SHa 7NYN 7HPK KNGLP+YN 7HPKHQG HQG HQG [ [\ \V V HQG FDVH FXU FLUFXODUFXUYHHTQ ZLWKE D [ YDULDEOHLVU \ YDULDEOHLVU FHQWHURIWKHFLUFXODUFXUYH
636
Appendix F: AEPH Source Code (Listed in Alphabetic Order) DL YDULDEOHLVU UDGLXVRIFLUFXODUOLQH SVL YDULDEOHLVU SVL YDULDEOHLVU VWDUWLQJDQGHQGLQJDQJOHVXQLWGHJUHH QS YDULDEOHLVU SRLQWVWREHHYDOXDWHGRQWKHFLUFXODUOLQHQS! GSVL SVLSVL QS IRUYN QS SVL SVLGSVL YN [L [DL FRVGSVL [L \DL VLQGSVL [L SVL ;LNYN [L >8L7L7HPK@ RSWLRQ[LORDGVWUYNLVU LI7PW\SH
8LNYN 8L7LNYN 7L
HOVH8LNYN 8L7LNYN 7L GV DL GSVL SL RQO\YDOLGIRUVPDOOGSVL >6WP6[\GV9ZTQVS@ SRVLWLRQ7LPH[LGVYN6[\GV9ZTQVSLVU JHQHUDWH6[\ HQG LI7W\SHa 7NYN 7HPK KNGLP+YN 7HPKHQG HQG HQG FDVH FXU HOOLSWLFDOFXUYHHTQD E [ YDULDEOHLVU \ YDULDEOHLVU FHQWHURIWKHHOOLSWLFDOFXUYH DL YDULDEOHLVU EL YDULDEOHLVU PDMRUDQGPLQRUKDOIOHQJWKVRIHOOLSWLFDOOLQH SVL YDULDEOHLVU SVL YDULDEOHLVU VWDUWLQJDQGHQGLQJDQJOHVXQLWGHJUHH QS YDULDEOHLVU SRLQWVWREHHYDOXDWHGRQWKHHOOLSWLFDOOLQHQS! DQJ YDULDEOHLVU DQJLVWKHDQJOHXQLWGHJUHH GLUHFWHGFRXQWHUFORFNZLVHO\IURP[D[LVWRWKHPDMRUD[LVRIHOOLSVH GSVL SVLSVL QS IRUYN QS SVL SVLGSVL YN [LV DL FRVGSVL [LV EL VLQGSVL [L [FRVGDQJ [LVVLQGDQJ [LV [L \VLQGDQJ [LVFRVGDQJ [LV[L SVL ;LNYN [L >8L7L7HPK@ RSWLRQ[LORDGVWUYNLVU LI7PW\SH
8LNYN 8L7LNYN 7L
HOVH8LNYN 8L7LNYN 7L GV VTUWDL VLQGSVL AEL FRVGSVL A GSVL SLGLVWDQFHEHWZHHQWZRSRLQWVRQO\YDOLGIRUVPDOOGSVL >6WP6[\GV9ZTQVS@ SRVLWLRQ7LPH[LGVYN6[\GV9ZTQVSLVU JHQHUDWH6[\ HQG LI7W\SHa 7NYN 7HPK KNGLP+YN 7HPKHQG HQG HQG FDVH FXU SRO\JRQOLNHFXUYHSFXUYH HTQD [ YDULDEOHLVU \ YDULDEOHLVU FHQWHURIWKHSRO\JRQOLNHFXUYH DL YDULDEOHLVU FL YDULDEOHLVU HSL YDULDEOHLVU ND YDULDEOHLVU SDUDPHWHUVRISFXUYH SVL YDULDEOHLVU SVL YDULDEOHLVU VWDUWLQJDQGHQGLQJDQJOHVXQLWGHJUHH QS YDULDEOHLVU SRLQWVWREHHYDOXDWHGRQWKHHOOLSWLFDOOLQHQS! DQJ YDULDEOHLVU DQJLVWKHDQJOHXQLWGHJUHH GLUHFWHGFRXQWHUFORFNZLVHO\IURP[D[LVWRWKHPDMRUD[LVRISRO\JRQ GSVL SVLSVL QS IRUYN QS SVL SVLGSVL YN [LV DL FRVGSVL HSL FRVGND SVL
Appendix F: AEPH Source Code (Listed in Alphabetic Order) [LV DL FL VLQGSVL HSL VLQGND SVL [L [FRVGDQJ [LVVLQGDQJ [LV [L \VLQGDQJ [LVFRVGDQJ [LV[L SVL ;LNYN [L >8L7L7HPK@ RSWLRQ[LORDGVWUYNLVU LI7PW\SH
8LNYN 8L7LNYN 7L
HOVH8LNYN 8L7LNYN 7L FS FRVGSVL VS VLQGSVL FNS FRVGND SVL VNS VLQGND SVL UKR DL VTUWND HSL AVSAFL FS A ND HSL VS VNS FL ND HSL FS FNS HTQE GV UKR GSVL SL GLVWDQFHEHWZHHQWZRSRLQWVRQO\YDOLGIRUVPDOOGSVL >6WP6[\GV9ZTQVS@ SRVLWLRQ7LPH[LGVYN6[\GV9ZTQVSLVU JHQHUDWH6[\ HQG LI7W\SHa 7NYN 7HPK KNGLP+YN 7HPKHQG HQG HQG RWKHUZLVH GLVS :URQJFXUYHW\SH HQG IXQFWLRQ>;LN8LN7LN7NKNYNZT@ VXUIDFHORDGVWUYDULDEOHLVU 5HVSRQVHVDUHHYDOXDWHGRQVXUIDFHV JOREDO7W\SH7PW\SHGLP+Q[\ IURP0DLQSURJUDP IXQFWLRQXSKLBEDQN%)(0 JOREDOVXUIQ[JHQHUDWHGW\SHRIVXUIDFHIRURXWSXWGDWDXVHGLQWKHIXQFWLRQ7DEOH)LJ JOREDO[\6[\ JHQHUDWHG 6[\6[\M >ZT@MWKVHOHFWHGSRVLWLRQLVFORVHWR>ZT@WKSRLQW ![\LM ;LNZT VXUI YDULDEOHLVU VXUI UHFWDQJXODUVXUIDFHVXUI FLUFXODUVXUIDFH VXUI HOOLSWLFDOVXUIDFHVXUI SRO\JRQOLNHVXUIDFHVXUI DVXUIDFHZLWKSRO\JRQOLNHKROH Z YN 7N KN GHIDXOWYDOXHV LI7PW\SHa GVQ[\ QDQ9ZTQ[\ QDQQVSQ[\ QDQ6[\Q[\ QDQHQG GHIDXOW VZLWFKVXUI FDVH VXUI QRLQSXWIRUVXUIDFHSRLQWV FDVH VXUI RXWSXWUHJLRQLVDUHFWDQJXODUVXUIDFHHTQD [ YDULDEOHLVU \ YDULDEOHLVU [ YDULDEOHLVU \ YDULDEOHLVU Q[ YDULDEOHLVU Q\ YDULDEOHLVU DQJ YDULDEOHLVU DQJLVWKHDQJOHXQLWGHJUHH GLUHFWHGFRXQWHUFORFNZLVHO\IURP[D[LVWRWKHPDMRUD[LVRIUHFWDQJOH [\ WKHSRLQWRIORZHUOHIWFRUQHU [\ WKHSRLQWRIXSSHUULJKWFRUQHU Q[Q\ QXPEHURISRLQWVWREHHYDOXDWHGLQ[DQG\GLUHFWLRQV [ [[ \ \\ G[ [[ Q[ G\ \\ Q\ IRU[L [G[[ Z ZT IRU[L \G\\ T TYN YN [L FRVGDQJ [LVLQGDQJ [L [L VLQGDQJ [LFRVGDQJ [L[L ;LNZT [L >8L7L7HPK@ RSWLRQ[LORDGVWUYNLVU LI7PW\SH
8LNZT 8L 7LNZT 7L
HOVH8LNZT 8L7LNZT 7L
637
638
Appendix F: AEPH Source Code (Listed in Alphabetic Order) GV VTUWG[AG\A >6WP6[\GV9ZTQVS@ SRVLWLRQ7LPH[LGVYNZT6[\GV9ZTQVSLVU JHQHUDWH6[\ HQG LI7W\SHa 7NZT 7HPK KNGLP+ZT 7HPKHQG HQG HQG HQG FDVH VXUI RXWSXWUHJLRQLVDFLUFXODUVXUIDFHLQFOXGLQJFLUFXODUULQJRUVHFWRU HTQ ZLWKE D [ YDULDEOHLVU \ YDULDEOHLVU U YDULDEOHLVU SVL YDULDEOHLVU U YDULDEOHLVU SVL YDULDEOHLVU QU YDULDEOHLVU QSVL YDULDEOHLVU [\ FHQWHURIWKHFLUFXODUVXUIDFHRUFLUFXODUULQJRUVHFWRU UU UDQJHRIUDGLXVSVLSVL UDQJHRIUDGLDODQJOHVXQLWRISVLGHJUHH QUQSVL QXPEHURISRLQWVWREHHYDOXDWHGLQUDQGSVLGLHUFWLRQV GU UU QU GSVL SVLSVL QSVL Q[ QU IRUUL UGUU Z ZT IRUSVL SVLGSVLSVL T TYN YN [L [UL FRVGSVL [L \UL VLQGSVL [L SVL ;LNZT [L >8L7L7HPK@ RSWLRQ[LORDGVWUYNLVU LI7PW\SH
8LNZT 8L 7LNZT 7L
HOVH8LNZT 8L7LNZT 7L GV VTUWUL GSVL SL AGUA GLVWDQFHEHWZHHQWZRGLDJRQDOSRLQWV >6WP6[\GV9ZTQVS@ SRVLWLRQ7LPH[LGVYNZT6[\GV9ZTQVSLVU JHQHUDWH6[\ HQG LI7W\SHa 7NZT 7HPK KNGLP+ZT 7HPKHQG HQG HQG HQG FDVH VXUI RXWSXWUHJLRQLVHOOLSWLFDOVXUIDFHLQFOGXLQJHOOLSWLFDOULQJRUVHFWRU HTQD E [ YDULDEOHLVU \ YDULDEOHLVU F YDULDEOHLVU D YDULDEOHLVU SVL YDULDEOHLVU D YDULDEOHLVU SVL YDULDEOHLVU QD YDULDEOHLVU QSVL YDULDEOHLVU DQJ YDULDEOHLVU DQJLVWKHDQJOHXQLWGHJUHH GLUHFWHGFRXQWHUFORFNZLVHO\IURP[D[LVWRWKHPDMRUD[LVRIHOOLSVH [\ FHQWHURIWKHHOOLSWLFDOVXUIDFHRUHOOLSWLFDOULQJRUVHFWRU F EDUDWLRRIWZRD[HVRIHOOLSVHRXWHUDQGLQQHUHOOLSVHVVKRXOGKDYHWKHVDPHUDWLR DD UDQJHRIHOOLSWLFDOVXUIDFH SVLSVL UDQJHRIDQJXODUSDUDPHWHUVXQLWRISVLGHJUHH QDQSVL QXPEHURISRLQWVWREHHYDOXDWHGLQDDQGSVLGLHUFWLRQV GD DD QD GSVL SVLSVL QSVL Q[ QD IRUDL DGDD Z ZT IRUSVL SVLGSVLSVL T TYN YN [LV DL FRVGSVL [LV DL F VLQGSVL [L [FRVGDQJ [LVVLQGDQJ [LV [L \VLQGDQJ [LVFRVGDQJ [LV [L SVL ;LNZT [L >8L7L7HPK@ RSWLRQ[LORDGVWUYNLVU LI7PW\SH
8LNZT 8L 7LNZT 7L
HOVH8LNZT 8L7LNZT 7L
Appendix F: AEPH Source Code (Listed in Alphabetic Order) GV DL VTUWVLQGSVL AF FRVGSVL A GSVL SLRQO\YDOLGIRUVPDOOGSVL GV VTUWGVAGDA GLVWDQFHEHWZHHQWZRGLDJRQDOSRLQWV >6WP6[\GV9ZTQVS@ SRVLWLRQ7LPH[LGVYNZT6[\GV9ZTQVSLVU JHQHUDWH6[\ HQG LI7W\SHa 7NZT 7HPK KNGLP+ZT 7HPKHQG HQG HQG HQG FDVH VXUI RXWSXWUHJLRQLVSRO\JRQOLNHVXUIDFHLQFOGXLQJULQJRUVHFWRU HTQD [ YDULDEOHLVU \ YDULDEOHLVU FL YDULDEOHLVU HSL YDULDEOHLVU ND YDULDEOHLVU D YDULDEOHLVU SVL YDULDEOHLVU D YDULDEOHLVU SVL YDULDEOHLVU QD YDULDEOHLVU QSVL YDULDEOHLVU DQJ YDULDEOHLVU DQJLVWKHDQJOHXQLWGHJUHH GLUHFWHGFRXQWHUFORFNZLVHO\IURP[D[LVWRWKHPDMRUD[LVRISRO\JRQ [\ FHQWHURIWKHSRO\JRQOLNHVXUIDFHLQFOXGLQJULQJRUVHFWRU FLHSLNDSDUDPHWHUVWRGHVFULEHWKHSRO\JRQVHHHTQ RXWHUDQGLQQHUSRO\JRQVKRXOGKDYHWKHVDPHVKDSH DD UDQJHRISRO\JRQOLNHVXUIDFH SVLSVL UDQJHRIDQJXODUSDUDPHWHUVXQLWRISVLGHJUHH QDQSVL QXPEHURISRLQWVWREHHYDOXDWHGLQDDQGSVLGLHUFWLRQV GD DD QD GSVL SVLSVL QSVL Q[ QD IRUDL DGDD Z ZT IRUSVL SVLGSVLSVL T TYN YN [LV DL FRVGSVL HSL FRVGND SVL HTQ RI+ZX [LV DL FL VLQGSVL HSL VLQGND SVL [L [FRVGDQJ [LVVLQGDQJ [LV [L \VLQGDQJ [LVFRVGDQJ [LV [L SVL ;LNZT [L >8L7L7HPK@ RSWLRQ[LORDGVWUYNLVU LI7PW\SH
8LNZT 8L 7LNZT 7L
HOVH8LNZT 8L7LNZT 7L FS FRVGSVL VS VLQGSVL FNS FRVGND SVL VNS VLQGND SVL UKR DL VTUWND HSL AVSAFL FS A ND HSL VS VNS FL ND HSL FS FNS HTQE GV UKR GSVL SL GLVWDQFHEHWZHHQWZRSRLQWVRQWKHVDPHSRO\JRQOLNHFXUYHRQO\YDOLGIRUVPDOOGSVL GV VTUWGVAGDA GLVWDQFHEHWZHHQWZRGLDJRQDOSRLQWV >6WP6[\GV9ZTQVS@ SRVLWLRQ7LPH[LGVYNZT6[\GV9ZTQVSLVU JHQHUDWH6[\ HQG LI7W\SHa 7NZT 7HPK KNGLP+ZT 7HPKHQG HQG HQG HQG FDVH VXUI RXWSXWUHJLRQLVUHFWDQJXODUVXUIDFHZLWKDSRO\JRQOLNHKROHHTQD [ YDULDEOHLVU \ YDULDEOHLVU [ YDULDEOHLVU \ YDULDEOHLVU Q[ YDULDEOHLVU Q\ YDULDEOHLVU SDUDPHWHUVRIWKHUHFWDQJXODUSODWH [\ WKHSRLQWRIORZHUOHIWFRUQHU [\ WKHSRLQWRIXSSHUULJKWFRUQHU Q[Q\ QXPEHURISRLQWVWREHHYDOXDWHGLQ[DQG\GLUHFWLRQV [ YDULDEOHLVU \ YDULDEOHLVU DL YDULDEOHLVU FL YDULDEOHLVU HSL YDULDEOHLVU ND YDULDEOHLVU SDUDPHWHUVRISRO\JRQOLNHKROH DQJ YDULDEOHLVU QPD[ YDULDEOHLVU
639
640
Appendix F: AEPH Source Code (Listed in Alphabetic Order) [\ FHQWHURIWKHSRO\JRQOLNHKROH DLFLHSLNDSDUDPHWHUVWRGHVFULEHWKHSRO\JRQVHHHTQ RI+ZX DQJWKHDQJOHXQLWGHJUHH GLUHFWHGFRXQWHUFORFNZLVHO\IURP[D[LVWRWKHPDMRUD[LVRISRO\JRQ QPD[PD[LPXPQXPEHURILWHUDWLRQXVHGLQ1HZWRQ VPHWKRGIRU FDOFXODWLQJWKHLQWHUVHFWLRQSRLQWVRIKROHDQGYHWLFDOOLQH[L FRQVWDQWVXJJHVWHGYDOXH QSVL Q\ QSVLQXPEHURISRLQWVWREHHYDOXDWHGDORQJWKHKROHERXQGDU\LVGHILQHGWREH Q\ G[ [[ Q[ G\ \\ Q\ GSVL SLQSVL IRU[L [G[[ Z ZT [L [L[L PLQBK \PD[BK \ VHWLQLWLDOYDOXHRIPLQBKDQGPD[BKWREH\ UKR VTUWFRVGDQJ AFL VLQGDQJ A LI[DL UKRHSL [L [L[DL UKRHSL [LORFDWHGLQWKHKROHUHJLRQ >PLQBKPD[BK@ QHZWRQ[L\[\DLFLHSLNDDQJQPD[ FDOFXODWHPLQBKDQGPD[BKDW[LLQWKHKROHUHJLRQ HQG IRU[L \G\\ T TYN YN[L [L LI[L PLQBK_[L! PD[BK ;LNZT [L >8L7L7HPK@ RSWLRQ[LORDGVWUYNLVU LI7PW\SH
8LNZT 8L 7LNZT 7L
HOVH8LNZT 8L7LNZT 7L GV VTUWG[AG\A >6WP6[\GV9ZTQVS@ SRVLWLRQ7LPH[LGVYNZT6[\GV9ZTQVSLVU JHQHUDWH6[\ HQG LI7W\SHa 7NZT 7HPK KNGLP+ZT 7HPKHQG HQG HOVH
VHWWKHYDOXHRIQRWDYDLODEOHIRUWKHDOORFDWHGSRLQWVLQVLGHWKHKROH
;LNZT QDQ LI7PW\SH
8LNZT QDQ 7LNZT QDQ
HOVH8LNZT QDQ7LNZT QDQHQG LI7W\SHa 7NZT QDQ KNGLP+ZT QDQ HQG HQG HQG HQG DGGLWLRQDOFDOFXODWLRQIRUWKHSRLQWVDORQJWKHKROHERXQGDU\HTQD T Z Z IRUQ QSVL WKHDQJOHVWDUWIURPGSVLWR SLDQGWKHLQWHUYDOLVGSVL YN YNT TSVL Q GSVL [LV DL FRVSVL HSL FRVND SVL [LV DL FL VLQSVL HSL VLQND SVL [L [FRVGDQJ [LVVLQGDQJ [LV [L \VLQGDQJ [LVFRVGDQJ [LV [L SVL >8L7L7HPK@ RSWLRQ[LORDGVWUYNLVU LIT!TT Z ZHQG ;LNZT [L LI7PW\SH
8LNZT 8L 7LNZT 7L
HOVH8LNZT 8L7LNZT 7L FS FRVGSVL VS VLQGSVL FNS FRVGND SVL VNS VLQGND SVL UKR DL VTUWND HSL AVSAFL FS A ND HSL VS VNS FL ND HSL FS FNS HTQE
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
641
GV UKR GSVL SL GLVWDQFHEHWZHHQWZRSRLQWVRQO\YDOLGIRUVPDOOGSVL >6WP6[\GV9ZTQVS@ SRVLWLRQ7LPH[LGVYNZT6[\GV9ZTQVSLVU JHQHUDWH6[\ HQG LI7W\SHa 7NZT 7HPK KNGLP+ZT 7HPKHQG HQG HQG RWKHUZLVH GLVS :URQJVXUIDFHW\SH HQG IXQFWLRQ>;LN8LN7LN7NKNYN@ SRLQWORDGVWUYDULDEOHLVU JOREDO7W\SHHSV7PW\SHGLP+Q[\ IURP0DLQSURJUDP IXQFWLRQXSKLBEDQN%)(0 JOREDO6[\ JHQHUDWHG6[\XVHLQIXQFWLRQ7DEOH)LJZKHQ7PW\SHa LVUXVHLQ%(0'EDQN,1 6[\6[\M YNMWKVHOHFWHGSRVLWLRQLVFORVHWRYNWKSRLQW ![\LM ;LNN YN 7N KN GHIDXOWYDOXHV LI7PW\SHa GVQ[\ QDQ9ZTQ[\ QDQQVSQ[\ QDQ6[\Q[\ QDQHQG GHIDXOW YDULDEOHLVU QXPEHURIGLVFUHWHSRLQWVLQ LVU WKUHJLRQ YDULDEOHHQG SRVLWLRQ[L [L RIHDFKGLVFUHWHSRLQW MI IRUL LVUMI MIYDULDEOHL HQG
ILQDOURZRIYDULDEOHRIWKH LVU WKUHJLRQ
M MIYDULDEOHLVU LQLWLDOURZRIYDULDEOHRIWKH LVU WKUHJLRQ IRUM MMI RXWSXWSRLQWVRI2W\SH [L YDULDEOHM [L YDULDEOHM [L YN YN;LNYN [L >8L7L7HPK@ RSWLRQ[LORDGVWUYNLVU LI7PW\SH
8LNYN 8L 7LNYN 7L
HOVH8LNYN 8L7LNYN 7L >6WP6[\GV9ZTQVS@ SRVLWLRQ7LPH[LHSVYN6[\GV9ZTQVSLVU JHQHUDWH6[\ HQG LI7W\SHa 7NYN 7HPK KNGLP+YN 7HPKHQG HQG HQG IXQFWLRQ>8L7L7HPK@ RSWLRQ[LORDGVWUYNLVU JOREDO'W\SH/W\SH7W\SHGLP7PW\SHWHPS,1GLP+ IURP0DLQSURJUDP IXQFWLRQ%(0EDQN%%(0EDQN,1XSKLBEDQN 7HPK GHIDXOW 'HILQH'0 SODQHVWUDLQ'0 SODQHVWUHVV'0 FRXSOHGVWUHWFKLQJEHQGLQJ LI'W\SH'0 'W\SH IRUWKHFDVHVRI'W\SH HOVHLI'W\SH'0 IL['W\SH IRUWKHFDVHVRI'W\SH HOVH'0 IL['W\SH HQG LI'0
GLP GLPGLP GLP HOVHGLP GLPHQG
'0a WZRGLPHQVLRQDOSUREOHP
LI/W\SH >XLXLBXLBWLWL@ %(0EDQN,1[LYNLVU LQWHUQDOGLVSODFHPHQWVDQGVWUHVVHV IRU'SUREOHPVWL VLJPDWL VLJPDIRUFRXSOHGVWUHWFKLQJEHQGLQJSUREOHPVWL 1LMWL 0LM LI7PW\SH
VWDWLFSUREOHPV
8L XL8L XLB8L XLB7LGLP WL7LGLP WL7L QDQ LI'0
7LGLP XLGLP 8LGLP 8LGLP 8LGLP 8LGLP 8LGLP >@ HQG
PRYHGHIOHFWLRQWR7LGLP DQGUHDUUDQJH8L
642
Appendix F: AEPH Source Code (Listed in Alphabetic Order) HOVH YLVFRRUG\QDPLFSUREOHPV 8L XL8L XLB8L XLB7LGLP WL7LGLP WL7L QDQ LI'0
PRYHGHIOHFWLRQWR7LGLP DQGGHOHWHWKHUGURZRI8L
7LGLP XLGLP 8LGLP 8LGLP 8LGLP 8LGLP 8LGLP >@HQG HQG LI7W\SHa 7HPK >WHPS,1YN QDQ RQHV @GLP+ HQG
GLPHQVLRQRIYHFWRUKHDW)GLVUHJDUGSRVVLEOHFDVHVRIWKHUPRYLVFR
HOVH >8L7L7HPK@ XSKLBEDQNORDGVWU[LYN HQG IXQFWLRQ>PLQBKPD[BK@ QHZWRQ[L\[\DLFLHSLNDDQJQPD[ 8VH1HZWRQ VPHWKRGWRILQGWZRLQWHUVHFWLRQSRLQWVRIYHUWLFDOOLQH[L FRQVWDQW DQGWKHSRO\JRQOLNHKROHZKLFK DUHUHSUHVHQWHGE\WKHXSSHUERXQGDQGORZHUERXQGRI[LDQGDUHGHQRWHGE\PD[BKDQGPLQBK JOREDOHSV IURP0DLQSURJUDPDVPDOOQXPEHUXVHGWRMXGJHWKHFRQYHUJHQFHRIURRWVHDUFKLQJ P QPD[ QXPEHURILQLWLDOJXHVVRISVL G SLP LQWHUYDORILQLWLDOJXHVVRISVL SVL HSVG SLGLIIHUHQWLQLWLDOJXHVVRISVLVWDUWLQJIURPDVPDOOYDOXHHSV IRUN P GSVL Q SVL SVLN ZKLOHGSVL! HSV Q QPD[ KV DL FRVSVL HSL FRVND SVL HTQ KV DL FL VLQSVL HSL VLQND SVL KVS DL VLQSVL HSL ND VLQND SVL GHULYDWLYHRIKVZLWKUHVSHFWWRSVL KVS DL FL FRVSVL HSL ND FRVND SVL GHULYDWLYHRIKVZLWKUHVSHFWWRSVL K [KV FRVGDQJ KV VLQGDQJ [L HTQD KS KVS FRVGDQJ KVS VLQGDQJ SVL SVLKKSGSVL DEVSVLSVL SVL SVLQ Q HQG LISVL SL GSVL HSV K HSVKN \KV VLQGDQJ KV FRVGDQJ HOVHKN QDQHQG HQG PD[BK PD[K PLQBK PLQK LILVQDQPD[BK
PD[BK \PLQBK \HQG
1RLQWHUVHFWLRQSRLQWKDVEHHQIRXQGIRUWKHYHUWLFDOOLQH[L FRQVWDQW DQGWKH
SRO\JRQOLNHKROH
F070: Laplace_inv IXQFWLRQIW /DSODFHBLQYIV /DSODFHBLQYSHUIRUPVWKH/DSODFHLQYHUVLRQQXPHULFDOO\E\6FKDSHU\ VFROORFDWLRQPHWKRG IWIXQFWLRQYDOXHLQWLPHGRPDLQ IWMW N YHFWRURIIWDW MW WKWLPHDN QWPDWUL[QWQXPEHURIWLPHYDULDEOH IVYHFWRURIIXQFWLRQYDOXHVLQWKH/DSODFHGRPDLQ IVLV N YHFWRURIIVDW LV WKVYDULDEOHDN QVPDWUL[QVQXPEHURIVYDULDEOH */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ QWVQXPEHURIWLPHYDULDEOHV WLPHN MWYHFWRURIWLPHLHWLPHN >WWGWW GWWMW GW@ JOREDO5WLPHQVVY IURP0DLQSURJUDPFRQWUROSDUDPHWHUVIRUYLVFRHODVWLFPDWHULDOV JOREDOWLPHNQWV JHQHUDWHG
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
643
QVQXPEHURIYDULDEOHVXVHGLQ/DSODFHGRPDLQQV QRIHTQ VYYHFWRURIYDULDEOHVXVHGLQ/DSODFHGRPDLQHTQ &RQVWUXFWDQV QVPDWUL[$%DWRFDOFXODWHWKHFRHIILFLHQWV$%DBDBDBQRI $%D ]HURVQV $%D $%D VY SDUWRIHTQ IRUM QV$%DM VYVYVYM HQG
SDUWRIHTQ DVVXPHENM VYM
\I GLDJVY IV ULJKWKDQGVLGHRI$%D [D \IGLDJVY DQV QVPDWUL[IV DQV NPDWUL[\IDQV NPDWUL[ [D *DXVVBHOLPLQDWLRQ$%D\I XVLQJ*DXVVLDQHOLPLQDWLRQPHWKRGWRVROYHWKHXQNQRZQ[D[DDQV NPDWUL[ W 5WLPH WI 5WLPH GW 5WLPH MW IRUWP WGWWI MW MWWLPHNMW WP IWMW [D [D WP IRUN QVIWMW IWMW [DN
H[SVYN WP HQG
HTQ
HQG QWV MWQXPEHURIWLPHYDULDEOHV
F071: logBranch (inactive) IXQFWLRQ>ORJ]ORJ]HWDFORJ]L@ ORJ%UDQFK[[BKDW]HWD]HWDBKDWDEN&8W\SH ORJ%UDQFKSURYLGHVDFRUUHFWORJDULWKPLFIXQFWLRQWKURXJKWKHDGMXVWPHQWRIEUDQFKFXW 'HWDLOHGGLVFXVVLRQVFDQEHIRXQGLQWKHUHPDUNVRI6HFWLRQDQG6HFWLRQ ORJ]YHFWRURIORJ] ]BKDW UHTXLUHGIRU&8W\SH QRWUHTXLUHGIRU&8W\SH ORJ]HWDYHFWRURIORJ]HWD]HWDBKDW VWWHUPRIHTQ RUD IRU&8W\SH FORJ]LYHFWRURIORJ]HWDAFRQM]HWDBNBKDW ZKHUHN GLP VHFRQGORJWHUPRIHTQ RU IRU&8W\SH YHFWRURIORJ]HWDAFRQM]HWDBKDW QGWHUPRID IRU&8W\SH [[[ ORFDWLRQRIWKHILHOGSRLQW [BKDW[BKDW[BKDW ORFDWLRQRIWKHVRXUFHSRLQW ]HWDYHFWRURI]HWDBDOSKDIRUSRLQWRXWVLGHWKHKROHRULQFOXVLRQ ]HWDBKDWYHFWRURI]HWDBKDWBDOSKDIRUSRLQWRXWVLGHLQFOXGHWKHERXQGDU\ WKHKROHRULQFOXVLRQ DEKDOIRIWKHPDMRUDQGPLQRUD[HVRIWKHHOOLSVH NVXEVFULSWNRIWKHORJWHUPDSSHDUHGLQWKHHTXDWLRQVOLNHHTQ &8W\SHW\SHRIEUDQFKFXWZKLFKLVVHOHFWHGDFFRUGLQJWRWKHSRVLWLRQRISRLQWIRUFHRUGLVORFDWLRQ &8W\SH ZKHQWKHSRLQWIRUFHGLVORFDWLRQRXWVLGHRULQVLGHWKHHOOLSWLFDOKROHLQFOXVLRQ &8W\SH ZKHQWKHSRLQWIRUFHGLVORFDWLRQORFDWHGRQWKHLQWHUIDFHRIWKHHOOLSWLFDOLQFOXVLRQ JOREDO/W\SHPXGLPPXPX IURP0DLQSURJUDP RWKHUUHODWHGIXQFWLRQVIRUPX JOREDOWDXHSIURP0DLQSURJUDP IXQFWLRQ%(0EDQN%XSKLBEDQN GLP OHQJWK]HWD ORJ] ]HURVGLP ORJ]HWD ]HURVGLP FORJ]L ]HURVGLP ORJF]L ]HURVGLP FDOFXODWHWKBKDWGWKSVLBKDWSVLBUZKLFKDUHUHTXLUHGLQWKHDGMXVWPHQWRIWKHEUDQFKFXW LI/W\SH
_/W\SH
_&8W\SH
PX PXHQG
ZLWKFUDFNRUGLVORFDWLRQLQVLGHLQFOXVLRQ
]BKDW [BKDW L [BKDW WKBKDW DQJOH]BKDW )LJ G] [ [BKDW L [ [BKDW GWK DQJOHG] GWKSRODUDQJOHEHWZHHQ[DQG[BKDW LIGWKWKBKDWGWK GWK SLHQG LI/W\SH
_/W\SH
WROHWWKBKDWGWKWKBKDW SL
_/W\SH
_/W\SH
IRUWKHUPDOSUREOHPVZLWKP]HWDRI
]HWDBU HTQ ZKRVH]HWDKDVEHHQPXOWLSOLHGE\DLE PXDQGWKBKDW HOVH LI/W\SH
GLP
GLPPX >PXWDX@HQG
FRXSOHGWKHUPDOSUREOHP
]HWDBU FRVWKBKDW PX VLQWKBKDW DL E PX HTQ B
644
Appendix F: AEPH Source Code (Listed in Alphabetic Order) HQG LIHSa ]HWDBU HQG
SRLQWIRUFHRUGLVORFDWLRQORFDWHGRXWVLGHWKHSRO\JRQOLNHKROH
SVLBKDW DQJOH]HWDBU HTQ VZLWFK&8W\SH FDVH SRLQWIRUFHRUGLVORFDWLRQRXWVLGHRULQVLGHWKHHOOLSWLFDOKROHRULQFOXVLRQ LIN
G]HWD ]HWD]HWDBKDWORJG]HWD ORJG]HWD >ORJ]HWD@ ORJ%&87ORJG]HWDSVLBKDWWKBKDWGWKGLP FDOFXODWHORJG]HWD ZLWKWKHVHOHFWHGEUDQFKFXW HOVH ]L ]HWDF]L FRQM]L ORJF]L ORJF]L]HWDBKDWN >ORJF]L@ ORJ%&87ORJF]LSVLBKDWWKBKDWGWKGLP FDOFXODWHORJF]LZLWKWKHVHOHFWHGEUDQFKFXW HQG FORJ]L FRQMORJF]L FDVH SRLQWIRUFHRUGLVORFDWLRQORFDWHGRQWKHLQWHUIDFHRIWKHHOOLSWLFDOLQFOXVLRQ G]HWD ]HWD]HWDBKDWORJG]HWD ORJG]HWD >ORJ]HWD@ ORJ%&87ORJG]HWDSVLBKDWWKBKDWGWKGLP FDOFXODWHORJG]HWD ZLWKWKHVHOHFWHGEUDQFKFXW ]L ]HWDF]L FRQM]L ORJF]L ORJF]L]HWDBKDW HTQD B >ORJF]L@ ORJ%&87ORJF]LSVLBKDWWKBKDWGWKGLP FDOFXODWHORJF]LZLWKWKHVHOHFWHGEUDQFKFXW FORJ]L FRQMORJF]L ] [ PX [ ]BKDW [BKDW PX [BKDW ORJ] ORJ]]BKDW HTQD BORJ]ZLWKSULQFLSDODQJOHORFDWHGDW>SLSL@ WKBKDW DQJOH]BKDW IRUM GLP FKDQJHWKHYDOXHRIORJ]ZLWKSULQFLSDODQJOHORFDWHGDW>WKBKDWWKBKDW SL@ LILPDJORJ]M WKBKDWM ORJ]M ORJ]M SL LHQG HQG HQG IXQFWLRQ>ORJ]HWD@ ORJ%&87ORJ]HWDSVLBKDWWKBKDWWKGLP &DOFXODWLRQRIORJDULWKPLFIXQFWLRQDGMXVWHGE\DVXLWDEOHEUDQFKFXWZKLFKLVDUDGLDOOLQHLQ]GRPDLQZKRVH FRUUHVSRQGLQJFXWVLQ]HWDBNGRPDLQN DUHWKUHHGLIIHUHQWFXUYLOLQHDUFXWVVHHGHWDLOHGH[SODQDWLRQLQ&K ORJ]HWDORJ]HWD ZLWKWKHVHOHFWHGEUDQFKFXW G]HWDPD\EH]HWD]HWDBKDWRU]HWD SVLBKDWDYHWRURIWKHVWDUWLQJDQJOHRIEUDQFKFXWLQ]HWDBNGRPDLQN GLP WKBKDWDVFDODURIWKHVWDUWLQJDQJOHRIEUDQFKFXWLQ]GRPDLQ WKSRODUDQJOHRIWKHYHFWRU[[BKDW GSVL LPDJORJ]HWD SVLBKDWGWK WKWKBKDW UHJ LISL GWK GWK SLUHJ HQG
WKHSRLQWORFDWHVDWUHJLRQ,HTQ B
IRUM GLP UHJ LIGSVLM SLUHJ HQG WKHSRLQWORFDWHVDWUHJLRQHTQ B UHJ LIDEVGSVLM SLUHJ HQG WKHSRLQWORFDWHVDWUHJLRQHTQ B LIUHJUHJ UHJ a ORJ]HWDM ORJ]HWDM SL LHQG HQG
F072: Main Program 0DLQPVROYHVWKHSUREOHPVRIDQLVRWURSLFHODVWLFLW\WKURXJKDQDO\WLFDOVROXWLRQV RUERXQGDU\HOHPHQWPHWKRGIRUPXODWHGE\6WURKIRUPDOLVP FOF FOHDUFRPPDQGZLQGRZ
Appendix F: AEPH Source Code (Listed in Alphabetic Order) FOHDUDOO
FOHDUDOOIXQFWLRQVJOREDOYDULDEOHVDQGFODVVHVLQWKHZRUNVSDFH
JOREDOLVUIURPIXQFWLRQ%)(0RUJHQHUDWHGLQ0DLQ JOREDOILGIROGHU1DPH IURPIXQFWLRQRXWSXWBFDSWLRQ JOREDO1PDW(W\SH7W\SH3W\SH9W\SH'W\SH/W\SH2W\SH,FKHFN(KHSVFRQWUROSDUDPHWHUV JOREDOGLP$%FGPXWDX1111457 6WURK VPDWHULDOSURSHUWLHV JOREDO&LM6LM$LM%LM'LM&LM HODVWLFSURSHUWLHV JOREDODOSKDLMEHWDLMNLM.WLM.WLMV$WLM%WLM'WLM WKHUPDOSURSHUWLHV JOREDO&LM(HLMZLMHTLM(PLMH[LLMH SLH]RHOHFWULF 0((SURSHUWLHV JOREDO&LMV6LMV4V5V7V1V1V1V1VYLVFRHODVWLFSURSHUWLHV JOREDO7PW\SH$V%VPXVQVVY9/W\SHWLPHNQWVYDULDEOHVUHODWHGWRYLVFRHODVWLFRUG\QDPLFSUREOHPV JOREDO$BD%BDPXBDFBDGBDWDXBD4BD5BD7BD IRUPXOWLSOHPDWHULDOV JOREDO$VBD%VBDPXVBD&LMVBD6LMVBD4VBD5VBD7VBD1VBD1VBD1VBD1VBD IRUPXOWLSOHPDWHULDOVRIYLVFRHODVWLFSUREOHPV JOREDO&LMBD6LMBD&LM(BDHLMBDZLMHBDDOSKDLMBDEHWDLMBDNLMBDTLM(BDPLMHBD[LLMHBD IRUPXOWLSOHPDWHULDOV JOREDO$LMBD%LMBD'LMBD.WLMBD(W\SHBD3W\SHBD9W\SHBDGLPBD IRUPXOWLSOHPDWHULDOV JOREDOQHOHPHQWQQRGHQFRUQHU[QQRGHFRUQHUEF0/W\SHQVUERXQGDU\HOHPHQWPHWKRG JOREDOXEWEXEBXEBWEWE UHVXOWVRIERXQGDU\HOHPHQWPHWKRG JOREDOQB*DXVV7+ IRU'%(0QXPEHURI*DXVVLDQSRLQWVIRUWKHFLUFXPIHUHQWLDOLQWHJUDO JOREDOQ*RPHJDBNUKRBNUKR YLVFRHODVWLFPDWHULDOSURSHUWLHVIRU%(0 JOREDOQ*5RPHJDBN5UKRBN5UKR5 IRUPXOWLSOHYLVFRHODVWLFPDWHULDOVRI%(0 JOREDO[\6,)BW(1*BWGHOWDBW;WLSFXUQ[VXUIORDGIURPWKHGDWDVDYHGLQWKHSUHYLRXVZRUNIRU/W\SH JOREDO[P[P[PWKHWDB[WKHWDB[LGV[Q/%W\SHQB*DXVVDEXEVWEVORDGIURPWKHGDWDVDYHGLQWKHSUHYLRXVZRUNIRU/W\SH */2%$/9$5,$%/(6 */2%$/9$5,$%/(6)25&21752/3$5$0(7(56 1PDWQXPEHURIPDWHULDOV 1RWHRQHODPLQDWHFRQVWUXFWHGE\PDQ\GLIIHUHQWPDWHULDOVLVFRQVLGHUHGWREHRQHPDWHULDO (W\SHFRQWUROSDUDPHWHUIRUWKHLQSXWPHWKRGRIHODVWLFSURSHUWLHV (W\SH QRHODVWLFSURSHUWLHVDUHLQSXWWKURXJK(W\SH (W\SH LQSXWHODVWLFSURSHUWLHVIRULVRWURSLFPDWHULDOV (W\SH LQSXWHODVWLFSURSHUWLHVIRURUWKRWURSLFPDWHULDOV (W\SH LQSXWHODVWLFSURSHUWLHVIRUDQLVRWURSLFPDWHULDOVGLUHFWO\WKURXJK&LM (W\SH LQSXWHODVWLFSURSHUWLHVIRUDQLVRWURSLFPDWHULDOVGLUHFWO\WKURXJK6LM (W\SH LQSXWHODVWLFSURSHUWLHVIRUXQLGLUHFWLRQDOILEHUUHLQIRUFHGFRPSRVLWHV (W\SH LQSXWHODVWLFSURSHUWLHVIRUFRPSRVLWHODPLQDWHV 7W\SHFRQWUROSDUDPHWHUIRUWKHLQSXWPHWKRGRIWKHUPDOSURSHUWLHV 7W\SH QRWKHUPDOSURSHUWLHV 7W\SH LQSXWWKHUPDOSURSHUWLHVN DOSKDIRULVRWURSLFPDWHULDOV 7W\SH LQSXWWKHUPDOSURSHUWLHVN DOSKDIRURUWKRWURSLFPDWHULDOV 7W\SH LQSXWWKHUPDOSURSHUWLHVIRUDQLVRWURSLFPDWHULDOVWKURXJKNLMDQGEHWDLM 7W\SH LQSXWWKHUPDOSURSHUWLHVIRUDQLVRUWRSLFPDWHULDOVWKURXJKNLMDQGDOSKDLM 7W\SH LQSXWWKHUPDOSURSHUWLHVIRUXQLGLUHFWLRQDOILEHUUHLQIRUFHGFRPSRVLWHV 7W\SH LQSXWWKHUPDOSURSHUWLHVIRUFRPSRVLWHODPLQDWHV 3W\SHFRQWUROSDUDPWHUIRUWKHLQSXWPHWKRGRISLH]RHOHFWULFSURSHUWLHV 3W\SH QRSLH]RHOHFWULFSURSHUWLHV 3W\SH LQSXWSLH]RHOHFWULFSURSHUWLHVWKURXJK&LM(HLMDQGZLMH 3W\SH LQSXWSLH]RHOHFWULFSURSHUWLHVWKURXJK6LM(GLMDQGZLMV 3W\SH LQSXWSLH]RHOHFWULFSURSHUWLHVWKURXJK&LM'KLMDQGEHWDLMH
645
646
Appendix F: AEPH Source Code (Listed in Alphabetic Order) 3W\SH LQSXWSLH]RHOHFWULFSURSHUWLHVWKURXJK6LM'JLMDQGEHWDLMV 3W\SH LQSXWSURSHUWLHVIRUHOHFWURHODVWLFODPLQDWHVWKURXJK&LM(HLMDQGZLMH 3W\SH LQSXW0((SURSHUWLHVWKURXJK 3W\SH LQSXW0((SURSHUWLHVWKURXJK 3W\SH LQSXW0((SURSHUWLHVWKURXJK 3W\SH LQSXW0((SURSHUWLHVWKURXJK 3W\SH LQSXW0((SURSHUWLHVWKURXJK 3W\SH LQSXW0((SURSHUWLHVWKURXJK 3W\SH LQSXW0((SURSHUWLHVWKURXJK 3W\SH LQSXW0((SURSHUWLHVWKURXJK 3W\SH LQSXW0((SURSHUWLHVWKURXJK 9W\SHFRQWUROSDUDPWHUIRUWKHLQSXWPHWKRGRIYLVFRHODVWLFSURSHUWLHV 9W\SH QRYLVFRHODVWLFSURSHUWLHV 9W\SH LQSXWYLVFRHODVWLFSURSHUWLHVIRULVRWURSLFOLQHDUYLVFRHODVWLFVROLGVZLWKFRQVWDQWEXONPRGXOXV 9W\SH LQSXWYLVFRHODVWLFSURSHUWLHVIRULVRWURSLFOLQHDUYLVFRHODVWLFVROLGVZLWKFRQVWDQW3RLVVRQ VUDWLR 9W\SH LQSXWYLVFRHODVWLFSURSHUWLHVVWDQGDUGOLQHDUYLVFRHODVWLFVROLGV 9W\SH LQSXWYLVFRHODVWLFSURSHUWLHVE\3URQ\VHULHV 'W\SHFRQWUROSDUDPHWHUIRUSUREOHPGLPHQVLRQ 'W\SH JHQHUDOL]HGSODQHVWUDLQ 'W\SH JHQHUDOL]HGSODQHVWUDLQ VKRUWFLUFXLW 'W\SH JHQHUDOL]HGSODQHVWUDLQ VKRUWFLUFXLW + 'W\SH JHQHUDOL]HGSODQHVWUDLQ VKRUWFLUFXLW % 'W\SH JHQHUDOL]HGSODQHVWUDLQ RSHQFLUFXLW 'W\SH JHQHUDOL]HGSODQHVWUDLQ RSHQFLUFXLW + 'W\SH JHQHUDOL]HGSODQHVWUDLQ RSHQFLUFXLW % 'W\SH JHQHUDOL]HGSODQHVWUHVV 'W\SH JHQHUDOL]HGSODQHVWUHVV VKRUWFLUFXLW 'W\SH JHQHUDOL]HGSODQHVWUHVV VKRUWFLUFXLW + 'W\SH JHQHUDOL]HGSODQHVWUHVV VKRUWFLUFXLW % 'W\SH JHQHUDOL]HGSODQHVWUHVV RSHQFLUFXLW 'W\SH JHQHUDOL]HGSODQHVWUHVV RSHQFLUFXLW + 'W\SH JHQHUDOL]HGSODQHVWUHVV RSHQFLUFXLW % 'W\SH FRXSOHGVWUHWFKLQJEHQGLQJGHIRUPDWLRQ 'W\SH FRXSOHGVWUHWFKLQJEHQGLQJ VKRUWFLUFXLW 'W\SH FRXSOHGVWUHWFKLQJEHQGLQJ VKRUWFLUFXLW + 'W\SH FRXSOHGVWUHWFKLQJEHQGLQJ VKRUWFLUFXLW % 'W\SH FRXSOHGVWUHWFKLQJEHQGLQJ RSHQFLUFXLW 'W\SH FRXSOHGVWUHWFKLQJEHQGLQJ RSHQFLUFXLW + 'W\SH FRXSOHGVWUHWFKLQJEHQGLQJ RSHQFLUFXLW % 'W\SH WKUHHGLPHQVLRQDOSUREOHPVHODVWLF 'W\SH WKUHHGLPHQVLRQDOSUREOHPVSLH]R 'W\SH WKUHHGLPHQVLRQDOSUREOHPV0(( /W\SHFRQWUROSDUDPHWHUIRUVROXWLRQPHWKRGDQGORDGLQJ VWUXFWXUHW\SH /W\SH QRSUREOHPWREHVROYHGRQO\IRUJHWWLQJWKHUHVXOWVUHODWHGWRPDWHULDOSURSHUWLHV /W\SH
ILQG%(0VROXWLRQVRILQWHUQDOSRLQWVWKURXJK%(0VROXWLRQVRIERXQGDU\QRGHV
ZKLFKDUHREWDLQHGLQWKHSUHYLRXVUXQQLQJFDVH7KHQHZO\VHOHFWHGLQWHUQDOSRLQWV LVLQSXWE\QHZWH[WILOHRILQSXWBYDULDEOHW[W /W\SH
RXWSXWUHVXOWVGLUHFWO\IURPWKHVROXWLRQVFDOFXODWHGLQWKHSUHYLRXVUXQQLQJFDVH
ZKLFKDUHJHQHUDOO\UHODWHGWRWLPHVXFKDVWKHFDVHZLWKYLVFRHODVWLFPDWHULDOVRUG\QDPLFSUREOHPV
Appendix F: AEPH Source Code (Listed in Alphabetic Order) 7KHQHZO\VHOHFWHGWLPHDQGRUSRVLWLRQIRUSULQWLQJWKHSORWVRIVSDFHWLPHYDULDWLRQ LVLQSXWWKURXJKWKHWH[WILOHRILQSXWBYDULDEOHW[W /W\SH!VROYHWKHSUREOHPWKURXJKDQDO\WLFDOVROXWLRQ /W\SH VHFWLRQQXPEHUHJ/W\SH PHDQVWKHORDGLQJ VWUXFWXUHW\SHRI6HFWLRQ /W\SHVROYHWKHSUREOHPWKURXJKERXQGDU\HOHPHQWPHWKRG%(0 /W\SHGHQRWHVWKH*UHHQ VIXQFWLRQXVHGLQ%(0VHHWKHOLVWEHORZ 7KH*UHHQ VIXQFWLRQXVHGLQ%(0 /W\SH %(0IRUWZRGLPHQVLRQDO' SUREOHP /W\SH %(0IRU'SUREOHPZLWKDVWUDLJKWOLQHERXQGDU\ /W\SH %(0IRU'SUREOHPZLWKDQLQWHUIDFH /W\SH %(0IRU'SUREOHPZLWKDKROH /W\SH %(0IRU'SUREOHPZLWKDFUDFN /W\SH %(0IRU'SUREOHPZLWKDULJLGLQFOXVLRQ /W\SH %(0IRU'SUREOHPZLWKDQHODVWLFLQFOXVLRQ /W\SH %(0IRU'SUREOHPZLWKPXOWLSOHKROHVFUDFNVDQGLQFOXVLRQV /W\SH aVDPHDV/W\SH aH[FHSWWKDWWKHPDWHULDOVDUHSLH]RHOHFWULF /W\SH aVDPHDV/W\SH aH[FHSWWKDWWKHPDWHULDOVDUHYLVFRHODVWLF /W\SH aVDPHDV/W\SH aH[FHSWWKDWWKHWKHUPDOHQYLURQPHQWLVFRQVLGHUHG /W\SH aVDPHDV/W\SH aH[FHSWWKDWVWDWLFSUREOHPEHFRPHVG\QDPLFSUREOHP /W\SH aVDPHDV/W\SH aH[FHSWWKDW'SUREOHPEHFRPHVFRXSOHGVWUHWFKLQJEHQGLQJSUREOHP /W\SH a'FRQWDFWSUREOHPV /W\SH 'SUREOHPV 7KHPXOWLSOHKROHVFUDFNVDQGLQFOXVLRQVFRQVLGHUHGLQ/W\SH DQGDUHVROYHG E\ERXQGDU\EDVHGILQLWHHOHPHQW6%)(0 LQVWHDGRISXUH%(0 2W\SHFRQWUROSDUDPHWHUIRUWKHRXWSXWW\SH 2W\SH QRUHVSRQVHVDUHHYDOXDWHGRQWKHLQWHUQDOSRLQWVH[FHSWWKHUHVSRQVHVIRUJOREDOEHKDYLRU )RUH[DPSOHZKHQ/W\SH RURUGHUVRIVWUHVVVLQJXODULW\ZLOOEHRXWSXW :KHQ/W\SH VWUHVVLQWHQVLW\IDFWRUVRIRQHFUDFNWLSZLOOEHRXWSXW:KHQ/W\SH WKHVWUHVVLQWHQVLW\IDFWRUVZLOOEHRXWSXWIRUPRUHWKDQRQHFUDFNWLSV :KHQ/W\SH WKHHQHUJ\UHOHDVHUDWHZLOOEHRXWSXW1RRXWSXWIRUDOOWKHRWKHUFDVHVRI/W\SH 2W\SH HYDOXDWHWKHSK\VLFDOUHVSRQVHVIRUWKHSRLQWVO\LQJRQDFXUYH 2W\SH HYDOXDWHWKHSK\VLFDOUHVSRQVHVIRUWKHSRLQWVO\LQJRQDVXUIDFH 2W\SH HYDOXDWHWKHSK\VLFDOUHVSRQVHVIRUWKHGLVFUHWHSRLQWV[[c.[Q 2W\SH RU6DPHDV2W\SH HYDOXDWHWKHSK\VLFDOUHVSRQVHVIRUSRLQWVO\LQJRQDFXUYHRUSLHFHZLVHOLQH ,QDGGLWLRQWRWKHRXWSXWRI2W\SH RQH7DEOHDQGWKUHH)LJXUHVIRUWKHVWUHVVHVDQGGHIRUPDWLRQDORQJWKHFXUYH RUOLQHZLOODOVREHSULQWHG 27+(5&21752/3$5$0(7(56 ,FKHFN FKHFNWKHFRUUHFWQHVVRI$%PX1111WKURXJKDOWHUQDWLYHDSSURDFK DQGVRPHLGHQWLWLHVQRFKHFNZLOOEHGRQHIRURWKHUYDOXHRI,FKHFN (UHIHUHQFH@ HH[SDQGIURPHODVWLFWR0(( HQG HQG >&LM(HLMZLMHTLM(PLMH[LLMH$LM%LM'LM@ SLH]R0SURS3 SLH]RDQGRU0(( HQG LI9W\SH
>$%PX1111457@ PDWHULDOBHLJHQ
FDOFXODWHHODVWLFHLJHQYDOXHVDQGHLJHQYHFWRUV
HOVH SURS9 GOPUHDG> LQSXWBYLVFR QXPVWULP W[W @ UHDGYLVFRHODVWLFSURSHUWLHV QV SURS9 QXPEHURI/DSODFHWUDQVIRUPYDULDEOHVXVHGLQFRUUHVSRQGHQFHSULQFLSOHVHWQV QDVHTQ LIWKHWLPHVWHSSLQJPHWKRGLVXVHGVHWQV LIQV
LIWKHWLPHVWHSSLQJPHWKRGLVXVHG
>&LM6LM@ YLVFRSURS9>@ >$%PX1111457@ PDWHULDOBHLJHQ Q*5LP Q*RPHJDBN5LP RPHJDBNUKRBN5LP UKRBNUKR5LP UKR HOVH
LIWKHHODVWLFYLVFRHODVWLFFRUUHVSRQGHQFHSULQFLSOHLVXVHG IRULV QV FDOFXODWHVWKHPDWHULDOSURSHUWLHVE\YDU\LQJVLQ/DSODFHGRPDLQ
V[ A LV QV VYLV V[ HTQ VYYHFWRURIV[ >&LM6LM@ YLVFRSURS9V[ >$%PX1111457@ PDWHULDOBHLJHQ
FDOFXODWHHODVWLFHLJHQYDOXHVDQGHLJHQYHFWRUV
&LMVLV &LM6LMVLV 6LM &LM6LMRI/DSODFHGRPDLQ $VLV $%VLV %PXVLV PX $%PXLQ/DSODFHGRPDLQZLWKYDULDEOHVFDOFXODWHGE\LV 4VLV 45VLV 57VLV 7 457LQ/DSODFHGRPDLQZLWKYDULDEOHVFDOFXODWHGE\LV 1VLV 11VLV 11VLV 11VLV 1 1111LQ/DSODFHGRPDLQZLWKYDULDEOHVFDOFXODWHG E\LV HQG VDYH LQSXWBUHVXOW9,6&2 $V %V PXV 4V 5V 7V QV VY VDYHWKHUHVXOWVIRUODWHUXVH HQG HQG GLP VL]H$ GLPHQVLRQRIWKHPDWHULDOHLJHQYHFWRUPDWUL[$ LI7W\SHa SURS7 GOPUHDG> LQSXWBWKHUPDO QXPVWULP W[W @ UHDGWKHUPDOSURSHUWLHV LI(W\SHa SURS SURS( HQG
SURSHUWLHVRISXUHHODVWLFPDWHULDOV
LI3W\SHa SURS SURS3 HQG
SURSHUWLHVRISLH]RRU0((PDWHULDOV
>NLMDOSKDLMEHWDLM.WLM.WLMV$WLM%WLM'WLM@ WKHUPDOSURS7SURS >FGWDX@ WKHUPDOBHLJHQ
FDOFXODWHWKHUPDOHLJHQYDOXHVDQGHLJHQYHFWRUV
HQG LI,FKHFN
3W\SH0DLQBDX[ HQG
GRXEOHFKHFN1111$%PXDQGLGHQWLWLHVIRUQRQ0((FDVHV
LI1PDW! LI3W\SHa &LM(BDLP &LM(HLMBDLP HLMZLMHBDLP ZLMHHQG LI3W\SH!TLM(BDLP TLM(PLMHBDLP PLMH[LLMHBDLP [LLMHHQG
SLH]RRU0(( 0((
654
Appendix F: AEPH Source Code (Listed in Alphabetic Order) LI7W\SHa NLMBDLP NLMDOSKDLMBDLP DOSKDLMEHWDLMBDLP EHWDLM WKHUPDO FBDLP FGBDLP GWDXBDLP WDXHQG LI9W\SHa QVa YLVFRHODVWLFPDWHULDOVVROYHGE\FRUUHVSRQGHQFHSULQFLSOH &LMVBDLP &LMV 6LMVBDLP 6LMV $VBDLP $V%VBDLP %VPXVBDLP PXV 4VBDLP 4V5VBDLP 5V7VBDLP 7V 1VBDLP 1V1VBDLP 1V1VBDLP 1V1VBDLP 1V HOVH
DQLVRWURSLFHODVWLFSLH]R0((PDWHULDOVRUYLVFRHODVWLFPDWHULDOVVROYHGE\WLPHVWHSSLQJPHWKRG
&LMBDLP &LM6LMBDLP 6LM IURPIXQFWLRQHODVWLFRUSLH]R0 $BDGLPGLPLP $%BDGLPGLPLP %PXBDGLPLP PX 4BDGLPGLPLP 45BDGLPGLPLP 57BDGLPGLPLP 7 HQG GLPBDLP GLP ' 'W\SH 'W\SH 'W\SH 'W\SH 'W\SH 'W\SH 'W\SH LI'
FRXSOHGVWUHWFKLQJEHQGLQJ
$LMBDLP $LM%LMBDLP %LM'LMBDLP 'LM LI7W\SHa .WLMBDLP .WLMHQG HQG HQG HQG ,QSXWWKHUHJLRQZKHUHWKHUHVSRQVHVDUHFDOFXODWHG VROYHWKHSUREOHPWKURXJKDQDO\WLFDOVROXWLRQRUERXQGDU\HOHPHQWPHWKRG LI1PDW! GLPHQVLRQRIWKHPDWHULDOHLJHQYHFWRUPDWUL[$IRUPXOLSOHPDWHULDOV LI9W\SH
_9W\SHa QV
GLP VL]H$BD HQG
LI9W\SHa QVa GLP VL]H$VBD HQG
IRUHODVWLFSLH]RRU0((RUYLVFRVROYHGE\WLPHVWHSSLQJPHWKRG
YLVFRHODVWLFPDWHULDOVVROYHGE\FRUUHVSRQGHQFHSULQFLSOH
HQG LI2W\SH
7PW\SH
YDULDEOH
HOVHYDULDEOH GOPUHDG LQSXWBYDULDEOHW[W HQG
UHDGWKHUHJLRQZKHUHWKHUHVSRQVHVDUHFDOFXODWHG
LI/W\SH 'B%(0RUFRXSOHGB%(0RU'B%(0 [Q GOPUHDG LQSXWB[QW[W QQRGH VL]H[Q UHDGFRRUGLQDWHVRIQRGHV EF GOPUHDG LQSXWBEFW[W UHDGERXQGDU\FRQGLWLRQ LIPRG/W\SH
QVU ORDGVWU HQG QVUQXPEHURIVXEUHJLRQIRU%(0ZLWKPXOWLSOHUHJLRQV
LI7PW\SHa 0DLQBDX[YDULDEOH HQG
JHQHUDWH5WLPHQWWL[\LQ[\IRUSUREOHPVUHODWHGWRWLPHIRUERXQGDU\QRGHV
ISULQWIILG ?U?Q5(68/762)%281'$5XLHSVLORQLVLJPDL@ %(0'HODVWLF,1YDULDEOH ILQGWKHVROXWLRQVIRULQWHUQDOSRLQWV 7DEOH)LJ'YDULDEOHXLHSVLORQLVLJPDL ZULWH7DEOHV SORW)LJXUHV HOVH
WZRGLPHQVLRQDORUFRXSOHGVWUHWFKLQJEHQGLQJSUREOHPV
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
655
>;LN8LN7LN7NKNYN@ LQWHUQDOORDGVWUYDULDEOHLVU ILQGWKHVROXWLRQVIRULQWHUQDOSRLQWV 7DEOH)LJ;LN8LN7LN7NKNYNORDGVWULVU ZULWH7DEOHV SORW)LJXUHV HQG HQG IFORVH DOO ZLQRSHQ>FG ? IROGHU1DPH ?5HVXOWW[W @
F073: Main_aux IXQFWLRQ0DLQBDX[YDULDEOHQXP$W\SH )XQFWLRQ0DLQBDX[LVDQDX[LOLDU\IXQFWLRQRI0DLQSURJUDPZKLFKLVGHVLJQHGDFFRUGLQJWR$W\SH YDULDEOHYDULDEOHVLQSXWWKURXJK LQSXWBYDULDEOHW[W VHHWKHH[SODQDWLRQLQ0DLQSURJUDP QXPQXPEHUGHQRWLQJWKHWLPHVUHDGLQJWKHGDWDIRUQWQ[\6WP6[\ QXP VWWLPH UHDGWKHGDWDIRUWKHLQWHUQDOSRLQWVRIDQDO\WLFDOVROXWLRQRU%(0 QXP QGWLPH UHDGWKHGDWDIRUWKHERXQGDU\QRGHVRI%(0 $W\SH SHUIRUPWKHZRUNRIGRXEOHFKHFN $W\SH JHQHUDWH5WLPHQWWL[\LQ[\IRUSUREOHPVUHODWHGWRWLPHDWLWVVWUXQ $W\SH JHQHUDWHQWQ[\6WP6[\IRUSUREOHPVUHODWHGWRWLPHDIWHUVWUXQ */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ 5WLPH>WWIGW@LQLWLDOWLPHWHUPLQDOWLPHDQGWLPHVWHSUHDGWKURXJK LQSXWBYDULDEOH WL>WWWWQ@VHOHFWHGWLPHIRUSULQWLQJVSDFHYDULDWLRQ ZKLFKVKRXOGEHSUHSDUHGLQWKHLQFUHDVLQJRUGHULHWWL WL WLQ WI [\L>[\[\[\Q@VHOHFWHGSRVLWLRQIRUSULQWLQJWLPHYDULDWLRQ QWQXPEHURIVHOHFWHGWLPHIRUSULQWLQJVSDFHYDULDWLRQ Q[\LVU QXPEHURIVHOHFWHGSRVLWLRQLQLVUUHJLRQIRUSULQWLQJWLPHYDULDWLRQ Q[\7WRWDOQXPEHURIVHOHFWHGSRVLWLRQLQWKHZKROHUHJLRQIRUSULQWLQJWLPHYDULDWLRQ 6WP6WPM NMWKVHOHFWHGWLPHLVFORVHWRNWKWLPH !WLM WLPHNN WN GW 6[\6[\M YNMWKVHOHFWHGSRVLWLRQLVFORVHWRYNWKSRLQW ![\LM ;LNN LI2W\SHa 6[\M >ZT@MWKVHOHFWHGSRVLWLRQLVFORVHWR>ZT@WKSRLQW ![\LM ;LNZT LI2W\SH
JOREDO2W\SH3W\SHQVU IURP0DLQSURJUDP JOREDO5WLPHWL[\LQWQ[\Q[\76WP6[\ JHQHUDWHGIRUSUREOHPVUHODWHGWRWLPH VZLWFK$W\SH FDVH IRUGRXEOHFKHFN LI3W\SH! 3W\SH>6LM'JLMEHWDLMV@ SLH]RHQG LI3W\SH!>&6@ SLH]R0HQG
FDOFXODWHWKHFRPSOHWHSLH]RSURSHUWLHV
FDOFXODWHWKHFRPSOHWH0((SURSHUWLHV
FXUUHQWO\WKHGRXEOHFKHFNIRU0((LVLQDFWLYDWHGGXHWRWKHLQFRPSOHWHQHVVRIWKHIROORZLQJWKUHHFRPPDQGV >1F1F1F1F@ IXQGDPHQWDOB1 >PXF$F%F@ HLJHQBPX$%
GRXEOHFKHFN1111WKURXJKDOWHUQDWLYHDSSURDFK
GRXEOHFKHFN$%PXWKURXJKDOWHUQDWLYHDSSURDFK
>GLI@ LGHQWLWLHV GRXEOHFKHFNVRPHGHULYHGPDWULFHVWKURXJKLGHQWLWLHV FDVH SUREOHPVUHODWHGWRWLPHIRULWVVWUXQ LI2W\SH
1U QRGDWDIRUWKHDUUDQJHPHQWRILQWHUQDOSRLQWV
HOVHLI2W\SH
1U VXPYDULDEOHQVU QXPEHURIURZVXVHGLQWKHDUUDQJHPHQWRILQWHUQDOSRLQWV
HOVH1U QVU HQG QXPEHURIURZVXVHGLQWKHDUUDQJHPHQWRILQWHUQDOSRLQWVIRUIXQFWLRQFXUYHRUVXUIDFHRILQWHUQDO 5WLPH YDULDEOH1U 5WLPH >WWIGW@LQLWLDOWLPHWHUPLQDOWLPHDQGWLPHVWHS QW YDULDEOH1U QWQXPEHURIVHOHFWHGWLPH Q[\ YDULDEOH1UQVU Q[\LVU QXPEHURIVHOHFWHGSRVLWLRQLQLVUUHJLRQIRULQWHUQDOSRLQWV WL YDULDEOH1UQW WL >WWWWQ@VHOHFWHGWLPHIRUSULQWLQJVSDFHYDULDWLRQ Q[\7 VXPQ[\ WRWDOQXPEHURIVHOHFWHGSRVLWLRQLQWKHZKROHUHJLRQIRULQWHUQDOSRLQWV LIQXP
UHDGWKHGDWDIRUWKHVHOHFWLRQRILQWHUQDOSRLQWVIRUSULQWLQJWLPHYDULDWLRQ
LIQ[\7![\L YDULDEOH1U1UQ[\7 HQG [\L >[\[\[\Q@VHOHFWHGSRVLWLRQIRULQWHUQDOSRLQWV
656
Appendix F: AEPH Source Code (Listed in Alphabetic Order) HOVHLIQXP
UHDGWKHGDWDIRUWKHVHOHFWLRQRIERXQGDU\QRGHVIRUSULQWLQJWLPHYDULDWLRQ
Q[\ YDULDEOH1UQ[\7QVU Q[\LVU QXPEHURIVHOHFWHGSRVLWLRQLQLVUUHJLRQIRUERXQGDU\QRGHV [\L YDULDEOH1UQ[\7HQG [\L >[\[\[\P@VHOHFWHGSRVLWLRQIRUERXQGDU\QRGHV HQG FDVH SUREOHPVUHODWHGWRWLPHDIWHUVWUXQ LIQXP
1U VWWLPHWRUHDGWKHGDWDIRUQWQ[\6WP6[\HJLQWHUQDOSRLQWVRIDQDO\WLFDOVROXWLRQRU%(0
HOVH QGWLPHWRUHDGWKHGDWDIRUQWQ[\6WP6[\HJERXQGDU\QRGHVRI%(0 LI2W\SHa 1U HOVH1U HQG HQG QW YDULDEOH1U Q[\ YDULDEOH1U QWQXPEHURIVHOHFWHGWLPHQ[\QXPEHURIVHOHFWHGSRVLWLRQ 6WP YDULDEOH1UQW 6WPM NMWKVHOHFWHGWLPHLVNWKWLPH !WLM WLPHNN WN GW 6[\ YDULDEOH1UQ[\ 6[\M YNMWKVHOHFWHGSRVLWLRQLVYNWKSRLQW ![\LM ;LNN LI2W\SH
6[\ YDULDEOH1UQ[\ HQG6[\M >ZT@MWKVHOHFWHGSRVLWLRQLV>ZT@WKSRLQW ![\LM ;LNZT
HQG
F074: mapEP IXQFWLRQ>]HWDWKHWDUKR@ PDS(3[LSVLDFHSNPX=W\SH 0$3(3WUDQVIRUPVWKHYDULDEOHVIUHTXHQWO\DSSHDUHGLQWKHSUREOHPVRIKROHVRULQFOXVLRQV ,QJHQHUDOWKHVKDSHRIKROHRULQFOXVLRQ FDQEHSRO\JRQOLNHZKLFKLQFOXGHVHOOLSVHDVDVSHFLDOFDVH $FFRUGLQJWRWKHFRQWUROSDUDPHWHU=W\SHWZRNLQGVRIWUDQVIRUPDWLRQDUHLQFOXGHGLQWKLVFRGH ]HWDYHFWRURIFRPSOH[YDULDEOH]HWDBDOSKDDOSKD GLP WKHWDDQJOHIURP[D[LVWRWKHWDQJHQWRIWKHERXQGDU\FXUYH UKRGLVWDQFHIURPWKHRULJLQWRWKHSRLQWGHQRWHGE\WKHDQJOH?WKHWDRUSDUDPHWHU?SVL [LSRVLWLRQYDULDEOH[L [[L [ SVLDQJXODUSDUDPHWHURIWKHSRO\JRQOLNHKROHRUHOOLSWLFDOKROHXQLWUDGLDQ DFHSNIRXUSDUDPHWHUVXVHGWRGHVFULEHDSRO\JRQOLNHERXQGDU\HS N IRUDQHOOLSVH PXYHFWRURIPDWHULDOHLJHQYDOXHVZKLFKPD\EHPXRUWDX =W\SHW\SHRIWUDQVIRUPDWLRQ =W\SH WUDQVIRUPVIURPWKHFRPSOH[YDULDEOH]BDOSKDWR]HWDBDOSKDYDULDEOHLQWKHGRPDLQZLWKXQLWFLUFOH =W\SH WUDQVIRUPIURPWKHDQJXODUSDUDPHWHUSVLWRWKHWDWDQJHQWLDOGLUHFWLRQRIWKHKROHLQFOXVLRQERXQGDU\ JOREDOHSV IURP0DLQSURJUDPFRQWUROSDUDPHWHU GLP OHQJWKPX ]HWD ]HURVGLP WKHWD UKR VZLWFK=W\SH FDVH WUDQVIRUP]WR]HWDHTQ ] [L PX [L ]YHFWRURIFRPSOH[YDULDEOH]BDOSKD [PX [ DOSKD GLPPXPXRUWDX IRUM GLP LIHS
HOOLSWLFDOERXQGDU\HS DQGN
Q E D F ]HW ]M VTUW]M ADAEA PXM A DL E PXM HTQ ]HW ]M VTUW]M ADAEA PXM A DL E PXM LIF
DVWUDLJKWFUDFN,1 [LLQVLGHWKHFUDFN,1 [LRXWVLGHWKHFUDFN LI[L
HOVH
DEV[L D,1 HOVH,1 HQG DQHOOLSVH,1 [LLQVLGHWKHHOOLSVH,1 [LRXWVLGHWKHHOOLSVH
LI[L D A[L E A ,1 HOVH,1 HQG HQG HOVHLIDEVPXM L HSV PX LHJLVRWURSLFPDWHULDOV Q NS ]HURVQ S F S ]M D S F SN HS HTQ
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
657
]HW URRWVS HOVH
JHQHUDOSRO\JRQOLNHERXQGDU\
Q NS ]HURVQ S HS L PXM SN L F PXM SN ]M D HTQ SN L F PXM S N HS L PXM ]HW URRWVS HQG 6HOHFWWKHFRUUHFW]HWDM IURPDOOURRWVRISZKLFKVKRXOGEHWKHRQHQHDUHVWWKHERXQGDU\RIXQLWFLUFOHHTQ LIHSa JHQHUDOSRO\JRQOLNHERXQGDU\ SVL OLQVSDFH SVLDURZYHFWRURI>@ [Y D FRVGSVL HS FRVGN SVL \Y D F VLQGSVL HS VLQGN SVL SRO\JRQOLNHERXQGDU\ ,1 LQSRO\JRQ[L [L [Y\Y ,1 [LLQVLGHRURQWKHERXQGDU\,1 [LRXWVLGHWKHERXQGDU\ HQG LI,1
HSV HSV ZLOOOHDGWRWKHRQHQHDUWKHERXQGDU\WREHLQVLGHWKHXQLWFLUFOH
HOVHHSV HSVHQG
ZLOOOHDGWRWKHRQHQHDUWKHERXQGDU\WREHRXWVLGHWKHXQLWFLUFOH
]HWL GHIDXOW >]HWRNP@ PD[DEV]HW ]HWR ]HWNP PD[LPXPYDOXHRI]HWD IRUNQ Q LIDEV]HWNQ !HSV WKHURRWVZKLFKLVRXWVLGHWKHXQLWFLUFOH LIDEV]HWNQ DEV]HWR ]HWR ]HWNQ HQG FKRRVHWKHVPDOOHURQHWREHWKHRQHQHDUHVWWRWKHXQLWFLUFOH HOVH
LIWKHURRWLVLQVLGHWKHXQLWFLUFOH LIDEV]HWNQ !DEV]HWL ]HWL ]HWNQ HQG
FKRRVHWKHODUJHURQHWREHWKHRQHQHDUHVWWRWKHXQLWFLUFOH
HQG HQG LI,1
]HWDM ]HWL FKRRVHWKHRQHLQVLGHWKHXQLWFLUFOH
HOVH ]HWDM ]HWR HQG
FKRRVHWKHRQHRXWVLGHWKHXQLWFLUFOH
HQG FDVH WUDQVIRUPSVLWRWKHWD FS FRVSVL VS VLQSVL FNS FRVN SVL VNS VLQN SVL UKR D VTUWN HS AVSAF FS A N HS VS VNS F N HS FS FNS HTQE HS !E FWK D VSN HS VNS UKR VWK D F FSN HS FNS UKR HTQD HS !D LIVWK! HTQ WKHWD DFRVFWK WKHWDVKRXOGEHLQWKHUDQJHRI SL EXWLQ0$7/$% HOVH
WKHUDQJHRIDFRVLVSL 6RZHQHHGWRFRQVLGHUWKHFDVHV
WKHWD SLDFRVFWK LQWKHRWKHUUDQJHSL SL XQLWRIWKHWDLVUDGLDQ HQG HQG
F075: material_eigen IXQFWLRQ>$%PX1111457@ PDWHULDOBHLJHQ 0$7(5,$/B(,*(1SURYLGHVWKHVROXWLRQVIRUPDWHULDOHLJHQYDOXHVPXDQG PDWHULDOHLJHQYHFWRUPDWULFHV$DQG%DFFRUGLQJWRWKHPDWHULDOW\SHHODVWLFSLH]RHOHFWULFRU0(( DQGWKHSUREOHPW\SHJHQHUDOL]HGSODQHVWUDLQJHQHUDOL]HGSODQHVWUHVVFRXSOHGVWUHWFKLQJEHQGLQJRU' ,QRUGHUWRFRQVWUXFWWKHHLJHQYDOXHSUREOHPWKLVIXQFWLRQDOVRSURYLGHVWKHLQIRUPDWLRQRI WKHWKUHHUHDOPDWULFHV457DVZHOODVWKHIXQGDPHQWDOHODVWLFLW\PDWUL[1DQGLWVVXEPDWULFHV111 $PDWHULDOHLJHQYHFWRUPDWUL[DVVRFLDWHGZLWKGLVSODFHPHQWV %PDWHULDOHLJHQYHFWRUPDWUL[DVVRFLDWHGZLWKVWUHVVHV PXPDWHULDOHLJHQYDOXHV
658
Appendix F: AEPH Source Code (Listed in Alphabetic Order) 1IXQGDPHQWDOPDWUL[ 111VXEPDWULFHVRIWKHIXQGDPHQWDOPDWUL[ 457WKUHHUHDOQRQGLPHQVLRQDOL]HGPDWULFHVXVHGIRUWKHFRQVWUXFWLRQRIIXQGDPHQWDOPDWUL[1 */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQDQGLWVVXEIXQFWLRQV 1PIXQGDPHQWDOHODVWLFLW\PDWULFHVRIPL[HG6WURK VIRUPDOLVPHTQF 1P1P1PVXEPDWULFHVRIIXQGDPHQWDOHODVWLFLW\PDWULFHVRIPL[HG6WURK VIRUPDOLVPHTQF $LM%LM'LMJHQHUDWHGLQ457B&H457B&S QRUPDOL]HGH[WHQVLRQDOFRXSOLQJDQGEHQGLQJVWLIIQHVVHVD $LMW%LMW'LMWJHQHUDWHGLQ457B&H457B&S PDWULFHVUHODWHGWRH[WHQVLRQDOFRXSOLQJDQGEHQGLQJVWLIIQHVVHVHTQE B %LPDWHULDOHLJHQYHFWRUPDWUL[GHILQHGLQHTQE QGLUHFWLRQRIYHFWRUQGHWHUPLQHGE\F DQG VWLQBLPX PBLSUHSDUHIRU*LQI'HTQ ZJ$SUHSDUHIRU*DXVVLDQLQWHJUDWLRQXVHGLQ E $WWUDQVSRVHRI$SUHSDUHGIRU*LQI' JOREDO3W\SH'W\SHQB*DXVV7+ IURP0DLQSURJUDP %(0'HODVWLF% JOREDO1P1P1P1P%LQVWLZJ$$WJHQHUDWHG6WURK VPDWULFHV VZLWFK'W\SH FDVH^` JHQHUDOL]HGSODQHVWUDLQRUJHQHUDOL]HGSODQHVWUHVV LI3W\SH
>457@ 457B'H
DQLVRWURSLFHODVWLFPDWHULDOV
HOVH>457@ 457B'SHQG
SLH]RHOHFWULFRU0((PDWHULDOV
FDVH^` LI3W\SH
FRXSOHGVWUHWFKLQKEHQGLQJSUREOHP
>457@ 457B&H
DQLVRWURSLFHODVWLFDPWHULDOV
HOVH>457@ 457B&SHQG
SLH]RHOHFWULFRU0((PDWHULDOV
FDVH^` 'DQLVRWURSLFHODVWLFSLH]RHOHFWULFRU0((PDWHULDOV >[JZJ@ *DXVVQB*DXVV7+ WK [J SLFWK FRVWK VWK VLQWK WKFWKVWK QB*DXVV7+HTQ Q >]HURVQB*DXVV7+ FWKVWK@P >@HTQ Q >FWK]HURVQB*DXVV7+ VWK@P >@HTQ Q >FWKVWK]HURVQB*DXVV7+ @P >@HTQF IRUM QB*DXVV7+ IRU5S WKUHHGLIIHUHQW5DGRQSODQHHTQ >4M5S 5M5S 7M5S 4LM5S 5LM5S @ 457B'QM5S P5S HQG HQG RWKHUZLVH GLVS 8QNQRZQSUREOHPW\SH HQG HTQ LI'W\SHa 'W\SHa 'W\SHa 'RUFRXSOHGVWUHWFKLQJEHQGLQJSUREOHPV 1 LQY7 1 1 5 1 5 14 1 >1111 @ LI'W\SH
_'W\SH
_'W\SH
_'W\SH! IRUFRXSOHGVWUHWFKLQJEHQGLQJDQDO\VLVHTQV
1P 11P 11P 11P 1 LI3W\SH
DQLVRWURSLFHODVWLF
, GLDJ>@ , GLDJ>@ , ,GLP HTQF HOVHLI3W\SH SLH]RHOHFWULF , GLDJ>@ , GLDJ>@ , GLDJ>@ GLP HTQE HOVHLI3W\SH! 0(( , GLDJ>@ , GLDJ>@ , GLDJ>@ GLP HQG
Appendix F: AEPH Source Code (Listed in Alphabetic Order) ,W >,,,,@ 1 ,W 1P ,WHTQE 1 1GLPGLP 1 1GLPGLP GLP 1 1GLP GLPGLP HQG >$%GLDJBPX@ HLJ1 >$%PX@ $%Q$%GLDJBPX FDOFXODWH$%DQGPX HOVH
'SUREOHPV IRUM QB*DXVV7+ IRU5S
1 LQY7M5S 1 1 5M5S 1 5M5S 14M5S 1 >1111 @ >$%GLDJBPX@ HLJ1 >$M5S %M5S PXM5S @ $%Q$%GLDJBPX FDOFXODWH$%DQGPX IRUL %LML5S 4LLM5S $M5S 5LLM5S $M5S GLDJPXM5S HTQE HQG HQG HQG GLP VL]H$ GLPHQVLRQRIWKHPDWHULDOHLJHQYHFWRUPDWUL[$ $W UHVKDSHSHUPXWH$>@ GLP QB*DXVV7+GLP $WWUDQVSRVHRI$SUHSDUHGIRU*LQI' ZJ$ UHVKDSHSHUPXWHZJ>@ $GLPGLP QB*DXVV7+ ZJ$SUHSDUHIRU*DXVVLDQLQWHJUDWLRQXVHGLQ E VWL SHUPXWHQ>@ PX SHUPXWHH\H >@ VWLGLPHQVLRQ GLP QB*DXVV7+ 5S SUHSDUHIRU*LQI'HTQ HQG IXQFWLRQ>457@ 457B'H FDOFXODWH457IRU'HODVWLFSUREOHPV HTQV JOREDO&LM IURP0DLQSURJUDPFRQWUROSDUDPHWHU HODVWLFSURSHUWLHV &LM &LM(KDVEHHQPDGHLQIXQFWLRQHODVWLFIRUQRQGLPHQVLRQDOL]DWLRQ 4 >&LM &LM &LM &LM &LM &LM &LM &LM &LM @ 5 >&LM &LM &LM &LM &LM &LM &LM &LM &LM @ 7 >&LM &LM &LM &LM &LM &LM &LM &LM &LM @ IXQFWLRQ>457@ 457B'S FDOFXODWH457IRU'SLH]HODVWLFRU0((SUREOHPVHTQV JOREDO3W\SH&LM(HLMZLMHTLM(PLMH[LLMH IURP0DLQSURJUDP &LM( &LM((ZLMH ZLMH (PLMH PLMH ([LLMH [LLMH (KDYHEHHQPDGHLQIXQFWLRQSLH]R0IRUQRQGLPHQVLRQDOL]DWLRQ 4 >&LM( &LM( &LM( HLM &LM( &LM( &LM( HLM &LM( &LM( &LM( HLM HLM HLM HLM ZLMH @ 5 >&LM( &LM( &LM( HLM &LM( &LM( &LM( HLM
659
660
Appendix F: AEPH Source Code (Listed in Alphabetic Order) &LM( &LM( &LM( HLM HLM HLM HLM ZLMH @ 7 >&LM( &LM( &LM( HLM &LM( &LM( &LM( HLM &LM( &LM( &LM( HLM HLM HLM HLM ZLMH @ LI3W\SH! 0((PDWHULDOVDGGWKURZDQGWKFROXPQRQ457IRUSLH]RHOHFWULFPDWHULDOV T >TLM( TLM( TLM( PLMH @ 4 T 4 >T[LLMH @ 5 >TLM( TLM( TLM( PLMH @ 5 >TLM( TLM( TLM( PLMH [LLMH @ W >TLM( TLM( TLM( PLMH @ 7 W 7 >W[LLMH @ HQG IXQFWLRQ>457@ 457B&H FDOFXODWH457IRUFRXSOHGVWUHWFKLQJEHQGLQJODPLQDWHV HTQV D JOREDO(K$LM%LM'LM IURP0DLQSURJUDPFRQWUROSDUDPHWHU HODVWLFSURSHUWLHV JOREDO$LM%LM'LM$LMW%LMW'LMW JHQHUDWHGHODVWLFSURSHUWLHV (K ( K (K (K K (K (K K $LM $LM(K %LM %LM(K 'LM 'LM(K QRQGLPHQVLRQDOL]DWLRQ 'LMW LQY'LM %LMW %LM 'LMW $LMW $LM%LMW %LM LQWKHIROORZLQJWKHVXEVFULSWXVHGLQWKHERRNLVUHSODFHGE\GXHWRWKHUHTXLUHPHQWRIPDWUL[VL]H 4 > $LMW $LMW %LMW %LMW $LMW $LMW %LMW %LMW %LMW %LMW 'LMW 'LMW %LMW %LMW 'LMW 'LMW @ 5 > $LMW $LMW %LMW %LMW $LMW $LMW %LMW %LMW %LMW %LMW 'LMW 'LMW %LMW %LMW 'LMW 'LMW @ 7 > $LMW $LMW %LMW %LMW $LMW $LMW %LMW %LMW %LMW %LMW 'LMW 'LMW %LMW %LMW 'LMW 'LMW @ IXQFWLRQ>457@ 457B&S FDOFXODWH457IRUFRXSOHGVWUHWFKLQJEHQGLQJHOHFWURHODVWLFODPLQDWHV 0((ODPLQDWHV HTQV JOREDO3W\SH(K$LM%LM'LM IURP0DLQSURJUDPFRQWUROSDUDPHWHU HODVWLFSURSHUWLHV JOREDO$LM%LM'LM$LMW%LMW'LMW JHQHUDWHGHODVWLFSURSHUWLHVXVHGLQIXQFWLRQLGHQWLWLHV QRQGLPHQVLRQDOL]DWLRQ K K K K K K (K ( K (K ( K (K ( K $LM $LM (K %LM %LM (K 'LM 'LM (K $LM $LM K %LM %LM K 'LM 'LM K $LM $LM K %LM %LM K 'LM 'LM K $LM $LM (K %LM %LM (K 'LM 'LM (K
Appendix F: AEPH Source Code (Listed in Alphabetic Order) LI3W\SH! $LM $LM K %LM %LM K 'LM 'LM K $LM $LM (K %LM %LM (K 'LM 'LM (K $LM $LM K %LM %LM K 'LM 'LM K $LM $LM (K %LM %LM (K 'LM 'LM (K $LM $LM (K %LM %LM (K 'LM 'LM (K HQG 'LMW LQY'LM %LMW %LM 'LMW $LMW $LM%LMW %LM WKHVXEVFULSWVXVHGLQWKHERRNLVUHSODFHGE\GXHWRWKHUHTXLUHPHQWRIPDWUL[VL]H 4 > $LMW $LMW $LMW %LMW %LMW %LMW $LMW $LMW $LMW %LMW %LMW %LMW $LMW $LMW $LMW %LMW %LMW %LMW %LMW %LMW %LMW 'LMW 'LMW 'LMW %LMW %LMW %LMW 'LMW 'LMW 'LMW %LMW %LMW %LMW 'LMW 'LMW 'LMW @ 5 > $LMW $LMW $LMW %LMW %LMW %LMW $LMW $LMW $LMW %LMW %LMW %LMW $LMW $LMW $LMW %LMW %LMW %LMW %LMW %LMW %LMW 'LMW 'LMW 'LMW %LMW %LMW %LMW 'LMW 'LMW 'LMW %LMW %LMW %LMW 'LMW 'LMW 'LMW @ 7 > $LMW $LMW $LMW %LMW %LMW %LMW $LMW $LMW $LMW %LMW %LMW %LMW $LMW $LMW $LMW %LMW %LMW %LMW %LMW %LMW %LMW 'LMW 'LMW 'LMW %LMW %LMW %LMW 'LMW 'LMW 'LMW %LMW %LMW %LMW 'LMW 'LMW 'LMW @ LI3W\SH! 0((PDWHULDOVDGGWK WKURZDQGWK WKFROXPQRQ457IRU0((PDWHULDOV TU >$LMW $LMW $LMW $LMW %LMW %LMW %LMW %LMW @ TU >%LMW %LMW %LMW %LMW 'LMW 'LMW 'LMW 'LMW @ 4 >4 TU 4 TU TU 4 TU 4 TU TU@ UU >$LMW $LMW $LMW $LMW %LMW %LMW %LMW %LMW @ UU >%LMW %LMW %LMW %LMW 'LMW 'LMW 'LMW 'LMW @ UF >$LMW $LMW $LMW $LMW %LMW %LMW %LMW %LMW @ UF >%LMW %LMW %LMW %LMW 'LMW 'LMW 'LMW 'LMW @ 5 >5 UF 5 UF UU 5 UF 5 UF UU@ WU >$LMW $LMW $LMW $LMW %LMW %LMW %LMW %LMW @ WU >%LMW %LMW %LMW %LMW 'LMW 'LMW 'LMW 'LMW @ 7 >7 WU 7 WU WU 7 WU 7 WU WU@ HQG IXQFWLRQ>4574L5L@ 457B'QP JOREDO3W\SH GLP GHIDXOWIRU'HODVWLFSUREOHPV LI3W\SHa GLP HQG
'SLH]RSUREOHPV
661
662
Appendix F: AEPH Source Code (Listed in Alphabetic Order) LI3W\SH!GLP HQG
'0((SUREOHPV
IRUL GLP IRUN GLP &LN &LMNVWR&LNLN FRQVWUXFW&LNIURPLWVDVVRFLDWHGWKRUGHUWHQVRUQRWDWLRQ 4LN Q
&LN Q5LN Q
&LN P7LN P
&LN P HTQF 4LLN &LN Q5LLN &LN P HTQF HQG HQG IXQFWLRQ>$%PX@ $%Q$%GLDJBPX FDOFXODWH $%DQG PX G VL]HGLDJBPX GLP G IRUL GLP LG L PXL GLDJBPXLGLG $L $%GLPLG %L $%GLPGLG HQG IRUN GLP FR GHIDXOWIRUVXPPDWLRQ IRUM GLPFR FR$MN %MN HQG FRHII VTUW FR $N FRHII $N %N FRHII %N HQG
F076: MEE IXQFWLRQ>&LM(HLMZLMHTLM(PLMH[LLMH$LM%LM'LM@ 0((LQSXW 0((,1387 SURYLGHVPDJQHWRHOHFWURHODVWLFSURSHUWLHV&LM(HLMZLMHTLM(PLMH[LLMH$LM%LM'LM ZKHQWKHPDJQHWRHOHFWURHODVWLFSURSHUWLHVDUHLQSXWWKURXJKWKHWH[WILOH LQSXWBSLH]R0W[W &LM(HODVWLFVWLIIQHVVHVDWFRQVWDQWHOHFWULFILHOGIRUJHQHUDO'SUREOHPV HLMSLH]RHOHFWULFVWUHVVFKDUJHWHQVRUVIRUJHQHUDO'SUREOHPV ZLMHGLHOHFWULFSHUPLWWLYLWLHVDWFRQVWDQWVWUDLQVIRUJHQHUDO'SUREOHPV TLM(SLH]RPDJQHWLFVWUHVVWHQVRUDWFRQVWDQWHOHFWULFILHOGIRUJHQHUDO'SUREOHPV PLMHPDJQHWRHOHFWULFFRHIILFLHQWVDWFRQVWDQWVWUDLQIRUJHQHUDO'SUREOHPV [LLMHPDJQHWLFSHUPHDELOLW\WHQVRUDWFRQVWDQWVWUDLQDQGHOHFWULFILHOGIRUJHQHUDO'SUREOHPV $LMH[WHQVLRQDOVWLIIQHVV %LMFRXSOLQJVWLIIQHVV 'LMEHQGLQJVWLIIQHVV LQSXWDPDWUL[LPSRUWHGIURP LQSXWBSLH]R0W[W 3W\SH LQSXW0((SURSHUWLHVWKURXJK&LM(+HLM+ZLMH+TLM(PLMHDQG[LLMHZLWKD PDWUL[ LQSXW&LM(+ PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>&&&&&&&&@ LQSXWHLM+ PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>HHHHHHHH@ LQSXWZLMH+ PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>ZZZZZZZZZ@ LQSXWTLM( PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>TTTTTTTT@ LQSXWPLMH PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>PPPPPPPPP@ LQSXW[LLMH PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>[L[L[L[L[L[L[L[L[L@ 3W\HS LQSXW0((SURSHUWLHVWKURXJK&LM(%HLM%ZLMH%KWLM(HWDLMHDQGQXLMH(ZLWKD PDWUL[ LQSXW&LM(% PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>&&&&&&&&@
Appendix F: AEPH Source Code (Listed in Alphabetic Order) LQSXWHLM% PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>HHHHHHHH@ LQSXWZLMH% PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>ZZZZZZZZZ@ LQSXWKWLM( PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>KWKWKWKWKWKWKWKW@ LQSXWHWDLMH PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>HWDHWDHWDHWDHWDHWDHWDHWDHWD@ LQSXWQXLMH( PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>QXQXQXQXQXQXQXQXQX@ 3W\SH LQSXW0((SURSHUWLHVWKURXJK&LM'+KLM+EHWDLMH+TLM']HWDLMHDQG[LLMH'ZLWKD PDWUL[ LQSXW&LM'+ PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>&&&&&&&&@ LQSXWKLM+ PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>KKKKKKKK@ LQSXWEHWDLMH+ PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>EHWDEHWDEHWDEHWDEHWDEHWDEHWDEHWDEHWD@ LQSXWTLM' PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>TTTTTTTT@ LQSXW]HWDLMH PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>]HWD]HWD]HWD]HWD]HWD]HWD]HWD]HWD]HWD@ LQSXW[LLMH' PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>[L[L[L[L[L[L[L[L[L@ 3W\SH LQSXW0((SURSHUWLHVWKURXJK&LM'%KLM%EHWDLMH%KWLM'QXLMH'DQG[LLMH'ZLWKD PDWUL[ LQSXW&LM'% PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>&&&&&&&&@ LQSXWKLM% PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>KKKKKKKK@ LQSXWEHWDLMH% PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>EHWDEHWDEHWDEHWDEHWDEHWDEHWDEHWDEHWD@ LQSXWKWLM' PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>KWKWKWKWKWKWKWKW@ LQSXWODPGDLMH PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI >ODPGDODPGDODPGDODPGDODPGDODPGDODPGDODPGDODPGD@ LQSXWQXLMH' PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>QXQXQXQXQXQXQXQXQX@ 3W\SH LQSXW0((SURSHUWLHVWKURXJK6LM(+GLM+ZLMV+GWLM(PLMVDQG[LLMVZLWKD PDWUL[ LQSXW6LM(+ PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>66666666@ LQSXWGLM+ PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>GGGGGGGG@ LQSXWZLMV+ PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>ZZZZZZZZZ@ LQSXWGWLM( PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>GWGWGWGWGWGWGWGW@ LQSXWPLMV PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>PPPPPPPPP@ LQSXW[LLMV PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>[L[L[L[L[L[L[L[L[L@ 3W\SH LQSXW0((SURSHUWLHVWKURXJK6LM(%GLM%ZLMV%JWLM(HWDLMVDQGQXLMV(ZLWKD PDWUL[ LQSXW6LM(% PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>66666666@ LQSXWGLM% PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>GGGGGGGG@ LQSXWZLMV% PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>ZZZZZZZZZ@ LQSXWJWLM( PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>JWJWJWJWJWJWJWJW@ LQSXWHWDLMV PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>HWDHWDHWDHWDHWDHWDHWDHWDHWD@ LQSXWQXLMV( PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>QXQXQXQXQXQXQXQXQX@ 3W\SH LQSXW0((SURSHUWLHVWKURXJK6LM'+JLM+EHWDLMV+GWLM']HWDLMVDQG[LLMV'ZLWKD PDWUL[ LQSXW6LM'+ PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>66666666@ LQSXWJLM+ PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>JJJJJJJJ@ LQSXWEHWDLMV+ PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>EHWDEHWDEHWDEHWDEHWDEHWDEHWDEHWDEHWD@ LQSXWGWLM' PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>GWGWGWGWGWGWGWGW@ LQSXW]HWDLMV PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>]HWD]HWD]HWD]HWD]HWD]HWD]HWD]HWD]HWD@ LQSXW[LLMV' PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>[L[L[L[L[L[L[L[L[L@ 3W\SH LQSXW0((SURSHUWLHVWKURXJK6LM'%JLM%EHWDLMV%JWLM'ODPGDLMVDQGQXLMV'ZLWKD PDWUL[ LQSXW6LM'% PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>66666666@
663
664
Appendix F: AEPH Source Code (Listed in Alphabetic Order) LQSXWJLM% PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>JJJJJJJJ@ LQSXWEHWDLMV% PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>EHWDEHWDEHWDEHWDEHWDEHWDEHWDEHWDEHWD@ LQSXWJWLM' PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>JWJWJWJWJWJWJWJW@ LQSXWODPGDLMV PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI >ODPGDODPGDODPGDODPGDODPGDODPGDODPGDODPGDODPGD@ LQSXWQXLMV' PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>QXQXQXQXQXQXQXQXQX@ 3W\SH LQSXWPDJQHWRHOHFWURHODVWLFODPLQDWHVSURSHUWLHVWKURXJK&LM(+HLM+ZLMH+TLM(PLMHDQG[LLMHZLWKD PDWUL[ LQSXWQQBP>&LM(+BP>HLM+BPZLMH+BP@>TLM(BPPLMHBP[LLMHBP@@BL QBP>PSM WNM @BM Q */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ &LM(+HLM+ZLMH+TLM(PLMH[LLMHHWF PDJQHWRHOHFWURHODVWLFSURSHUWLHVHTQDG &LM(+BNHLM+BNZLMH+BNTLM(BNPLMHBN[LLMHBNPDJQHWRHOHFWURHODVWLFSURSHUWLHVDWWKHNWKOD\HU WKLFNQHVVSODWHWKLFNQHVV JOREDO3W\SH'W\SH IURP0DLQFRQWUROSDUDPHWHUV JOREDO&LM(+HLM+ZLMH+TLM(PLMH[LLMHWKLFNQHVV JHQHUDWHG0((SURSHUWLHV JOREDO&LM(%HLM%ZLMH%KWLM(HWDLMHQXLMH( JHQHUDWHG0((SURSHUWLHV JOREDO&LM'+KLM+EHWDLMH+TLM']HWDLMH[LLMH' JHQHUDWHG0((SURSHUWLHV JOREDO&LM'%KLM%EHWDLMH%KWLM'ODPGDLMHQXLMH' JHQHUDWHG0((SURSHUWLHV JOREDO6LM(+GLM+ZLMV+GWLM(PLMV[LLMV JHQHUDWHG0((SURSHUWLHV JOREDO6LM(%GLM%ZLMV%JWLM(HWDLMVQXLMV( JHQHUDWHG0((SURSHUWLHV JOREDO6LM'+JLM+EHWDLMV+GWLM']HWDLMV[LLMV' JHQHUDWHG0((SURSHUWLHV JOREDO6LM'%JLM%EHWDLMV%JWLM'ODPGDLMVQXLMV' JHQHUDWHG0((SURSHUWLHV JOREDO&LM(+BNHLM+BNZLMH+BNTLM(BNPLMHBN[LLMHBNJHQHUDWHG0((SURSHUWLHV VZLWFK3W\SH LQSXW0((SURSHUWLHVZLWKD PDWUL[ FDVH LQSXW0((SURSHUWLHVWKURXJK&LM(+HLM+ZLMH+TLM(PLMHDQG[LLMH ZLWKD PDWUL[ &LM(+ LQSXW HLM+ LQSXW ZLMH+ LQSXW TLM( LQSXW PLMH LQSXW [LLMH LQSXW FDVH LQSXW0((SURSHUWLHVWKURXJK&LM(%HLM%ZLMH%KWLM(HWDLMHDQGQXLMH( ZLWKD PDWUL[ &LM(% LQSXW HLM% LQSXW ZLMH% LQSXW KWLM( LQSXW HWDLMH LQSXW QXLMH( LQSXW >&LM(+HLM+ZLMH+TLM(PLMH[LLMH@ 0(([\&LM(%HLM%ZLMH%KWLM(HWDLMHQXLMH( HTQH FDVH LQSXW0((SURSHUWLHVWKURXJK&LM'+KLM+EHWDLMH+TLM']HWDLMHDQG[LLMH' ZLWKD PDWUL[ &LM'+ LQSXW KLM+ LQSXW EHWDLMH+ LQSXW TLM' LQSXW ]HWDLMH LQSXW [LLMH' LQSXW >&LM(+HLM+ZLMH+TLM(PLMH[LLMH@ 0(([\&LM'+KLM+EHWDLMH+TLM']HWDLMH[LLMH' HTQF FDVH LQSXW0((SURSHUWLHVWKURXJK&LM'%KLM%EHWDLMH%KWLM'QXLMH'DQG[LLMH' ZLWKD PDWUL[ &LM'% LQSXW KLM% LQSXW EHWDLMH% LQSXW KWLM' LQSXW ODPGDLMH LQSXW QXLMH' LQSXW >&LM'+KLM+EHWDLMH+TLM']HWDLMH[LLMH'@ 0(([\&LM'%KLM%EHWDLMH%KWLM'ODPGDLMHQXLMH' HTQJ >&LM(+HLM+ZLMH+TLM(PLMH[LLMH@ 0(([\&LM'+KLM+EHWDLMH+TLM']HWDLMH[LLMH' HTQF FDVH LQSXW0((SURSHUWLHVWKURXJK6LM(+GLM+ZLMV+GWLM(PLMVDQG[LLMV ZLWKD PDWUL[ 6LM(+ LQSXW GLM+ LQSXW ZLMV+ LQSXW GWLM( LQSXW PLMV LQSXW [LLMV LQSXW
Appendix F: AEPH Source Code (Listed in Alphabetic Order) >&LM(+HLM+ZLMH+TLM(PLMH[LLMH@ 0(([\6LM(+GLM+ZLMV+GWLM(PLMV[LLMV HTQE FDVH LQSXW0((SURSHUWLHVWKURXJK6LM(%GLM%ZLMV%JWLM(HWDLMVDQGQXLMV( ZLWKD PDWUL[ 6LM(% LQSXW GLM% LQSXW ZLMV% LQSXW JWLM( LQSXW HWDLMV LQSXW QXLMV( LQSXW >6LM(+GLM+ZLMV+GWLM(PLMV[LLMV@ 0(([\6LM(%GLM%ZLMV%JWLM(HWDLMVQXLMV( HTQI >&LM(+HLM+ZLMH+TLM(PLMH[LLMH@ 0(([\6LM(+GLM+ZLMV+GWLM(PLMV[LLMV HTQE FDVH LQSXW0((SURSHUWLHVWKURXJK6LM'+JLM+EHWDLMV+GWLM']HWDLMVDQG[LLMV' ZLWKD PDWUL[ 6LM'+ LQSXW JLM+ LQSXW EHWDLMV+ LQSXW GWLM' LQSXW ]HWDLMV LQSXW [LLMV' LQSXW >&LM'+KLM+EHWDLMH+TLM']HWDLMH[LLMH'@ 0(([\6LM'+JLM+EHWDLMV+GWLM']HWDLMV[LLMV' HTQG >&LM(+HLM+ZLMH+TLM(PLMH[LLMH@ 0(([\&LM'+KLM+EHWDLMH+TLM']HWDLMH[LLMH' HTQF FDVH LQSXW0((SURSHUWLHVWKURXJK6LM'%JLM%EHWDLMV%JWLM'ODPGDLMVDQGQXLMV' ZLWKD PDWUL[ 6LM'% LQSXW JLM% LQSXW EHWDLMV% LQSXW JWLM' LQSXW ODPGDLMV LQSXW QXLMV' LQSXW >&LM'%KLM%EHWDLMH%KWLM'ODPGDLMHQXLMH'@ 0(([\6LM'%JLM%EHWDLMV%JWLM'ODPGDLMVQXLMV' HTQK >&LM'+KLM+EHWDLMH+TLM']HWDLMH[LLMH'@ 0(([\&LM'%KLM%EHWDLMH%KWLM'ODPGDLMHQXLMH' HTQJ >&LM(+HLM+ZLMH+TLM(PLMH[LLMH@ 0(([\&LM'+KLM+EHWDLMH+TLM']HWDLMH[LLMH' HTQF FDVH LQSXWPDJQHWRHOHFWURHODVWLFODPLQDWHVSURSHUWLHV Q LQSXW
WRWDOQXPEHURIOD\HUV
QBP LQSXW QXPEHURIPDWHULDOW\SHV IRUL QBP UHDG&LM(+HLM+ZLMH+TLM(PLMHDQG[LLMHIRUHDFKGLIIHUHQWPDWHULDOV L LL LL LL LL LL L &LM(+BPL LQSXWLL &LM(+ PDWUL[ HLM+BPL LQSXWLL HLM+ PDWUL[LQSXW]HURV IRUHODVWLFPDWHULDOV ZLMH+BPL LQSXWLL ZLMH+ PDWUL[LQSXW]HURV IRUHODVWLFPDWHULDOV TLM(BPL LQSXWLL TLM( PDWUL[LQSXW]HURV IRUHODVWLFRUSLH]RHOHFWULFPDWHULDOV PLMHBPL LQSXWLL PLMH PDWUL[LQSXW]HURV IRUHODVWLFRUSLH]RHOHFWULFPDWHULDOV [LLMHBPL LQSXWLL [LLMH PDWUL[LQSXW]HURV IRUHODVWLFRUSLH]RHOHFWULFPDWHULDOV HQG &LM(+ ]HURV HLM+ ]HURV ZLMH+ ]HURV TLM( ]HURV PLMH ]HURV [LLMH ]HURV WKLFNQHVV IRUM Q WKHOD\XSLVFRXQWHGIURPWRSWRERWWRP M QBPM PSM LQSXWM WNM LQSXWM PDWHULDOW\SHRIWKHMWKOD\HUWKLFNQHVVRIWKHMWKOD\HU &LM(+BNM &LM(+BPPSM HLM+BNM HLM+BPPSM ZLMH+BNM ZLMH+BPPSM TLM(BNM TLM(BPPSM PLMHBNM PLMHBPPSM [LLMHBNM [LLMHBPPSM &LM(+ &LM(+&LM(+BNM WNM HLM+ HLM+HLM+BNM WNM ZLMH+ ZLMH+ZLMH+BNM WNM TLM( TLM(TLM(BNM WNM PLMH PLMHPLMHBNM WNM [LLMH [LLMH[LLMHBNM WNM WKLFNQHVV WKLFNQHVVWNM HQG &LM(+ &LM(+WKLFNQHVV HLM+ HLM+WKLFNQHVV ZLMH+ ZLMH+WKLFNQHVV TLM( TLM(WKLFNQHVV PLMH PLMHWKLFNQHVV [LLMH [LLMHWKLFNQHVV HQG
665
666
Appendix F: AEPH Source Code (Listed in Alphabetic Order) LQSXWWKHDGGLWLRQDOGDWDSODWHWKLFNQHVVIRUFRXSOHGVWUHWFKLQJEHQGLQJSUREOHP LI3W\SH! 3W\SH 'W\SH
_'W\SH
_'W\SH
_'W\SH
WKLFNQHVV LQSXW HQG
$LM ]HURV %LM ]HURV 'LM ]HURV VZLWFK'W\SH FDVH VWDWHJHQHUDOL]HGSODQHVWUDLQ ( + HTQE &LM( &LM(+HLM HLM+ZLMH ZLMH+TLM( TLM(PLMH PLMH[LLMH [LLMH FDVH VWDWHJHQHUDOL]HGSODQHVWUDLQ ( % HTQE BVW >&LM(HLMZLMHTLM(PLMH[LLMH@ 0(('WR'&LM(+HLM+ZLMH+TLM(PLMH[LLMH HTQE FDVH VWDWHJHQHUDOL]HGSODQHVWUDLQ ' + HTQE BED >&LM(HLMZLMHTLM(PLMH[LLMH@ 0(('WR'&LM(+HLM+ZLMH+TLM(PLMH[LLMH HTQE FDVH VWDWHJHQHUDOL]HGSODQHVWUDLQ ' % E BS >&LM(BVWHLMBVWZLMHBVWTLM(BVWPLMHBVW[LLMHBVW@ 0(('WR'&LM(+HLM+ZLMH+TLM(PLMH[LLMH HTQE >&LM(HLMZLMHTLM(PLMH[LLMH@ 0(('WR'&LM(BVWHLMBVWZLMHBVWTLM(BVWPLMHBVW[LLMHBVW HTQE FDVH^` VWDWHaJHQHUDOL]HGSODQHVWUHVV >&LM(HLMZLMHTLM(PLMH[LLMH@ 3ODQHVWUHVV FDVH^`
FRXSOHGVWUHWFKLQJEHQGLQJHTQV
LI3W\SH >&LM(HLMZLMHTLM(PLMH[LLMH@ 3ODQHVWUHVV >4LM@ &4P&LM(HLMZLMHTLM(PLMH[LLMH $LM 4LM WKLFNQHVV%LM ]HURV 'LM 4LM WKLFNQHVVA H[WHQVLRQDOFRXSOLQJDQGEHQGLQJVWLIIQHVV HOVHLI3W\SH
K WKLFNQHVV IRUN Q &LM(+ &LM(+BNN HLM+ HLM+BNN ZLMH+ ZLMH+BNN TLM( TLM(BNN PLMH PLMHBNN [LLMH [LLMHBNN >&LM(HLMZLMHTLM(PLMH[LLMH@ 3ODQHVWUHVV >4LM@ &4P&LM(HLMZLMHTLM(PLMH[LLMH KN KN WNN $LM $LM4LM WNN %LM %LM4LM KN AKN A 'LM 'LM4LM KN AKN A HQG HQG &LM( $LM WKLFNQHVV HLM $LM WKLFNQHVV ZLMH $LM WKLFNQHVV TLM( $LM WKLFNQHVV PLMH $LM WKLFNQHVV [LLMH $LM WKLFNQHVV FDVH WKUHHGLPHQVLRQDOSUREOHPV &LM( &LM(+HLM HLM+ZLMH ZLMH+TLM( TLM(PLMH PLMH[LLMH [LLMH RWKHUZLVH GLVS XQNQRZQPDJQHWRHOHFWURHODVWLFSUREOHPW\SHV HQG IXQFWLRQ>&LM(HLMZLMHTLM(PLMH[LLMH@ 3ODQHVWUHVV 3URYLGH&LM(HLMZLMHTLM(PLMH[LLMHIRUWKHFDVHVRIJHQHUDOSODQHVWUHVV LQFOXGLQJWKRVHIRUWKHSUREOHPVRIFRXSOHGVWUHWFKLQJEHQGLQJDQDO\VLV JOREDO'W\SH&LM(+HLM+ZLMH+TLM(PLMH[LLMHIURP0DLQ IXQFWLRQ0(( VZLWFK'W\SH FDVH^` VWDWHJHQHUDOL]HGSODQHVWUHVV ( + E BKDW >&LM(HLMZLMHTLM(PLMH[LLMH@ 0(('WR'&LM(+HLM+ZLMH+TLM(PLMH[LLMH
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
667
FDVH^` VWDWHJHQHUDOL]HGSODQHVWUHVV ( % E BKV >&LM(BVWHLMBVWZLMHBVWTLM(BVWPLMHBVW[LLMHBVW@ 0(('WR'&LM(+HLM+ZLMH+TLM(PLMH[LLMH HTQE >&LM(HLMZLMHTLM(PLMH[LLMH@ 0(('WR'&LM(BVWHLMBVWZLMHBVWTLM(BVWPLMHBVW[LLMHBVW HTQE FDVH^` VWDWHJHQHUDOL]HGSODQHVWUHVV ' + E BEU >&LM(BEDHLMBEDZLMHBEDTLM(BEDPLMHBED[LLMHBED@ 0(('WR'&LM(+HLM+ZLMH+TLM(PLMH[LLMH HTQE >&LM(HLMZLMHTLM(PLMH[LLMH@ 0(('WR'&LM(BEDHLMBEDZLMHBEDTLM(BEDPLMHBED[LLMHBED HTQE FDVH^` VWDWHJHQHUDOL]HGSODQHVWUHVV ' % E BKS >&LM(BVWHLMBVWZLMHBVWTLM(BVWPLMHBVW[LLMHBVW@ 0(('WR'&LM(+HLM+ZLMH+TLM(PLMH[LLMH HTQE >&LM(BSHLMBSZLMHBSTLM(BSPLMHBS[LLMHBS@ 0(('WR'&LM(BVWHLMBVWZLMHBVWTLM(BVWPLMHBVW[LLMHBVW HTQE >&LM(HLMZLMHTLM(PLMH[LLMH@ 0(('WR'&LM(BSHLMBSZLMHBSTLM(BSPLMHBS[LLMHBS
HTQE
HQG IXQFWLRQ>4LM@ &4P&LM(HLMZLMHTLM(PLMH[LLMH JHQHUDWH4LMIRUWKHFDOFXODWLRQRI$LM%LMDQG'LMHTQE 4LM >&LM( &LM( &LM( HLM HLM TLM( TLM( &LM( &LM( &LM( HLM HLM TLM( TLM( &LM( &LM( &LM( HLM HLM TLM( TLM( HLM HLM HLM ZLMH ZLMH PLMH PLMH HLM HLM HLM ZLMH ZLMH PLMH PLMH TLM( TLM( TLM( PLMH PLMH [LLMH [LLMH TLM( TLM( TLM( PLMH PLMH [LLMH [LLMH @
F077: MEE3Dto2D IXQFWLRQ>&LM(HLMZLMHTLM(PLMH[LLMH@ 0(('WR'&LM(HLMZLMHTLM(PLMH[LLMHHTQ 0(('WR'WUDQVIRUPVWKH'FRQVWLWXWLYHODZRIPDJQHWRHOHFWURHODVWLFPDWHULDOVWR'FRQVWLWXWLYHODZ JOREDO3W\SH IURP0DLQSURJUDP LI3W\SHTLM( QDQPLMH QDQ[LLMH QDQHQG VZLWFKHTQ FDVH HTQD BS HLMBL HLM ZLMHBL ZLMH &LM( &LM(HLMBL
HLMBLZLMH PDWUL[ HLM HLMZLMHBL HLMBLZLMH PDWUL[ ZLMH ZLMHZLMHBL ZLMHBL ZLMH PDWUL[ FDVH HTQE BKDW &LM(BL &LM( HLMBL HLM &LM( &LM(&LM(BL &LM(BL &LM( PDWUL[ HLM HLMHLMBL &LM(BL &LM( PDWUL[ ZLMH ZLMHHLMBL HLMBL &LM( PDWUL[ FDVH HTQE BVW TLM(BL TLM( PLMHBP PLMH [LLMHBP [LLMH &LM( &LM(TLM(BL
TLM(BL [LLMH HLM HLMPLMHBP TLM(BL [LLMH ZLMH ZLMHPLMHBP PLMHBP [LLMH TLM( TLM([LLMHBP TLM(BL [LLMH PLMH PLMHPLMHBP [LLMHBP [LLMH [LLMH [LLMH[LLMHBP [LLMHBP [LLMH FDVH HTQE E BEDRUBS HLMBL HLM ZLMHBP ZLMH PLMHBP PLMH
668
Appendix F: AEPH Source Code (Listed in Alphabetic Order) &LM( &LM(HLMBL
HLMBL ZLMH HLM HLMZLMHBP HLMBL ZLMH ZLMH ZLMHZLMHBP ZLMHBP ZLMH TLM( TLM(PLMHBP HLMBL ZLMH PLMH PLMHZLMHBP PLMHBP ZLMH [LLMH [LLMHPLMHBP PLMHBP ZLMH FDVH HTQE E E E BKDWRUBKVRUBEURUBKS &LM(BL &LM( HLMBP HLM TLM(BP TLM( &LM( &LM(&LM(BL
&LM(BL &LM( HLM HLMHLMBP &LM(BL &LM( ZLMH ZLMHHLMBP HLMBP &LM( TLM( TLM(TLM(BP &LM(BL &LM( PLMH PLMHTLM(BP HLMBP &LM( [LLMH [LLMHTLM(BP TLM(BP &LM( HQG
F078: MEExy IXQFWLRQ>>;[ S @>[[S@>SSS@@WR>>\\T@>TTT@@ ZKLFKFRUUHVSRQGWRWKHGLIIHUHQWH[SUHVVLRQRIWKHFRQVWLWXWLYHODZVRISLH]RRU0((PDWHULDOV VXFKDVWKRVHVKRZQLQHTQD DQG ;XXXXWWWW@L*LWK*DXVVLDQSRLQW ZKHQ3W\SH!XWL* >XXXXXWWWWW@L*LWK*DXVVLDQSRLQW [GXGVLJGQBGDWDQB*DXVVWKWKU+W\SHH[SODLQHGLQIXQFWLRQVBXW JOREDOGLP IURP0DLQSURJUDPGLPHQVLRQRIPDWHULDOHLJHQYHFWRUPDWUL[$ >WKJZJ@ *DXVVQB*DXVV WDNHWKHORFDWLRQRI*DXVVLDQSRLQWV[J IRULJ QB*DXVV WK WK WKJLJ WKQ FRVWK Q VLQWK QQ QRUPDOGLUHFWLRQRI*DXVVSRLQW [J U Q[J U Q UF U UFHTQE ZSS ]HURV ZSS PDWUL[ IRUM QBGDWD S >[GM UF@>Z[@ ZHLJKW[J[GM UWK HTQ ZSS ZSSZ[ S
S
Appendix F: AEPH Source Code (Listed in Alphabetic Order) HQG XLJ ]HURVGLP LI+W\SH
VLJLJ ]HURVGLP
HOVHLI+W\SH
VLJLJ ]HURV GLP HQG
IRUM QBGDWD S >[GM UF@Z[ ZHLJKW[J[GM UWK S[J >[JUF@ HTQ EDVHI Z[ S[J LQYZSS S HTQ EDVLVIXQFWLRQDWSRLQW[J XLJ XLJ EDVHI XGM VLJLJ VLJLJ EDVHI VLJGM HTQ HQG LI+W\SH
VLJ VLJLJ WLJ VLJPDWVLJQQ HQG
HQG LI+W\SH
XWGLP XXWGLP GLP VLJ
HOVHLI+W\SH
XWGLP XXWGLP GLP WHQG
IXQFWLRQ>Z[@ ZHLJKW[J[GUWK JOREDO1PDWHSVWKNIURP0DLQSURJUDP VBXW &DOFXODWHVWKHZHLJKWIXQFWLRQIRUWKHPRYLQJOHDVWVTXDUHVZKLFKLVSURYLGHGLQHTQD B IRUL 1PDW LIWKWKNL WKWKNL JU LEUHDNHQG LJWKHUHJLRQWKDW*DXVVLDQSRLQWORFDWHV HQG [V [G FRVWKN [G VLQWKN [V [G VLQWKN [G FRVWKN UG VTUW[VA[VA LIUG
UG UGHSVHQGWKV DFRV[VUG
LI[VHSVWKV SLWKVHQG
XVLQJWKHUDQJHJLYHQLQHTQ WKV SL
WKG WKN WKV WKGLVORFDWHGEHWZHHQWKN DQGWKN SLLHWKN WKG WKN SL WKGSRODUDQJOHWKHWDRIGDWDSRLQW[GZKLFKVKRXOGORFDWHDWWKHVDPHUHJLRQDVSRODUDQJOHWKRI*DXVVLDQSRLQW[J 2WKHUZLVHWKHGDWDXVHGWRILWWKHYDOXHDW*DXVVLDQSRLQWPD\QRWEHFRUUHFW LG WKGWKNJU WKGWKNJU LG PHDQVWKDWWKHGDWDSRLQW[GORFDWHVDWWKHVDPHUHJLRQDVWKH*DXVVLDQSRLQW DOS F H[SDOS F H[SDOS FUF U HTQE U [J [G A[J [G AU[ VTUWU LIU[UF HSV LG Z[ F H[SDOS UUFA FHTQD HOVHZ[ HQG IXQFWLRQW VLJPDWVLJQQ 8VH&DXFK\ VIRUPXODWRFDOFXODWHWKHWUDFWLRQVIURPVWUHVVHV JOREDO3W\SH IURP0DLQSURJUDP W VLJ QVLJ Q W VLJPD QVLJPD Q W VLJ QVLJ Q W VLJPD QVLJPD Q W VLJ QVLJ Q W VLJPD QVLJPD Q LI3W\SHa W VLJ QVLJ QHQG LI3W\SH!W VLJ QVLJ QHQG
W VLJPD QVLJPD Q W VLJPD QVLJPD Q
F080: muller IXQFWLRQ>[]HURI]LWHU@ PXOOHU[[[[72/I72/0D[L3URE 8VH0XOOHU VPHWKRGWRILQGWKHURRWVRII[ VHH$SSHQGL[$ []HURURRWRIWKHIXQFWLRQ I]IXQFWLRQYDOXHDW[]HUR
669
670
Appendix F: AEPH Source Code (Listed in Alphabetic Order) LWHUQXPEHURILWHUDWLRQXVHGWRILQGWKHIXQFWLRQURRW[]HUR [[[WKUHHWULDOYDOXHVIRUVHDUFKLQJWKHURRWV [72/FRQYHUJHQFHWROHUDQFHIRU[]HUR I72/FRQYHUJHQFHWROHUDQFHIRUI] 0D[LPD[LPXPQXPEHURILWHUDWLRQXVHGLQ0XOOHU VPHWKRG 3URE3UREOHPVFRQVLGHUHGLQWKLVIXQFWLRQ 3URE 3UREOHPRI6HFWLRQPXOWLPDWHULDOZHGJHV 3URE 3UREOHPRI6HFWLRQPXOWLPDWHULDOZHGJHVXQGHUWKHUPDOHQYLURQPHQW IRULWHU 0D[L W [[ W [[ HTQ$E B >I@ IXQFW[3URE >I@ IXQFW[3URE >F@ IXQFW[3URE IIIRIHTQ$E BF I H IF H IF K W W WW HTQ$E K?'HOWDRI$E B D H WH W K E H WAH WA K HTQ$D ' VTUWEA D F VTUWRIHTQ$ ] FE' ] FE' HTQ$ LIDEV] DEV] [ [] HTQ$ HOVH [ [] HTQ$ HQG >I@ IXQFW[3URE FDOFXODWHIE\XVLQJ[ G[ DEV[[ [ LIDEVI I72/ G[ [72/ []HUR [I] I EUHDN HQG Y DEV[[ Y DEV[[ Y DEV[[ >PD[YLY@ PD[Y LILY
[ [[ [ HOVHLILY
[ [ HQG [ [ HQG []HUR [I] I IXQFWLRQ>IXQ@ IXQFW[3URE IXQ[IXQFWLRQIXQDQGLWVYDULDEOH[ 3URESUREOHPQXPEHU VZLWFK3URE FDVH 3UREOHPRI6HFWLRQPXOWLPDWHULDOZHGJHV >.IXQ@ PXOWLZHGJH[ FDVH 3UREOHPRI6HFWLRQPXOWLPDWHULDOZHGJHVXQGHUWKHUPDOHQYLURQPHQW >.IXQ@ PXOWLZHGJH[ HQG
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
F081: multiwedge IXQFWLRQ>..S@ PXOWLZHGJHGHOWK0:W\SH )XQFWLRQ08/7,:('*(FDOFXODWHVWKHPDWULFHVQHHGHGIRUWKHSUREOHPVRIPXOWLPDWHULDOZHGJHV VXFKDV.H.7.F*DPN)N(NDQGWKHLUUHODWHGIXQFWLRQVRIWKHWDDQGWKHLUGHULYDWLYHVZLWKUHVSHFWWRWKHWD .PDWUL[WREHFDOFXODWHGGHSHQGLQJRQ0:W\SHH[SODLQHGLQ0:W\SH .SPDWUL[WREHFDOFXODWHGGHSHQGLQJRQ0:W\SHH[SODLQHGLQ0:W\SH GHOVLQJXODURUGHUIRUWKHSUREOHPVRIPXOWLPDWHULDOZHGJHV WKSRODUDQJOHWKHWD 0:W\SHW\SHRIPXOWLPDWHULDOZHGJHV 0:W\SH QRQWKHUPDOSURE. PDWUL[UHODWHGWR.H.S GHWHUPLQDQWUHODWHGWR.HHTQ 0:W\SH QRQWKHUPDOSURE. (N .H.S GHULYDWLYHRI. (N .H 1KDWBNWKHWDWKNN A?GHOWD .H BN WHUPLQ 0:W\SH WKHUPDOSURE. .7,RU.7A RU.7A RU.7A RU.7A ZKHQZKHQEFW HTQ .S GHW. RU.7A RU.7A RU.7A RU.7A 0:W\SH WKHUPDOSURE. *DPN .7.S GHULYDWLYHRI. *DPN .7 *DPPDBNWKHWD AVWDU .7 BN WHUPLQHTQD B 0:W\SH WKHUPDOSURE. )N .7.S GHULYDWLYHRI. )N .7 )BNWKHWD AVWDU .7 BN WHUPLQHTQD B 0:W\SH WKHUPDOSURE. (N .F.S GHULYDWLYHRI. (N .F (BNWKHWD AVWDU .F BN WHUPLQHTQD B 0:W\SH WKHUPDOSURE. Y.S ZHTQ JOREDO1PDWHSVGLPFGWDXFBDGBDWDXBD IURP0DLQSURJUDP JOREDOZEFWKNEFW IURPIXQFWLRQV0ZHGJH62(DQGRUV0ZHGJH7+ VZLWFK0:W\SH FDVH QRQWKHUPDOSURE. PDWUL[UHODWHGWR.H.S GHWHUPLQDQWUHODWHGWR.HHTQ .VWDQGVIRU.H,.HA .HA .HA .HA RIERXQGDU\FRQGLWLRQ VHHHTQ .SGHWHUPLQDQWRI. GLP GLP .H H\HGLP IRUN 1PDW 1PDWQXPEHURIZHGJHVPDWHULDOV >1G(N1G@ 6WURKBPDWULFHVWKNN WKNN GHON FDOFXODWH(NRIHTQ .H (N .H HTQ HQG ZEF ZHGJHVSDFHZEF IUHHIL[HGZEF IL[HGIL[HGZEF IUHHIUHHZEF IL[HGIUHH VZLWFKZEF FDVH. .HH\HGLP HTQ B FDVH. .HGLPGLP HTQ B B FDVH. .HGLPGLPGLP HTQ B B FDVH. .HGLPGLPGLP HTQ B B FDVH. .HGLPGLPGLPGLP HTQ B B HQG .S GHW. HTQ FDVH QRQWKHUPDOSURE. (N .H.S GHULYDWLYHRI.WHUPLQ . (N .H1KDWBNWKHWDWKNN A?GHOWD .H BN RIHTQ .HBN GHILQHGLQ .S.ASULPHLHWKHGHULYDWLYHRI.ZLWKUHVSHFWWR?WKHWD . H\HGLP IRUN 1PDW 1PDWQXPEHURIZHGJHVPDWHULDOV GWK WKWKNN LIGWKHSV >1G(N1G@ 6WURKBPDWULFHVWKWKNN GHON FDOFXODWH(NRIHTQ
671
672
Appendix F: AEPH Source Code (Listed in Alphabetic Order) >1GS(NS1GS@ 6WURKBPDWULFHVWKWKNN GHON FDOFXODWH(NSRIHTQ .S (NS . . (N . EUHDN HOVH >1G(N1G@ 6WURKBPDWULFHVWKNN WKNN GHON FDOFXODWH(NRIHTQ . (N . .S QDQ .VWDQGVIRU.HHTQ KHUHQRXVHIRU.S HQG HQG FDVH WKHUPDOSURE. PDWUL[UHODWHGWR.7.S GHWHUPLQDQWUHODWHGWR.7HTQ .VWDQGVIRU.7,ZKHQEFW .7A RU.7A RU.7A RU.7A ZKHQZKHQEFW HTQ .S.S GHW. RU.7A RU.7A RU.7A RU.7A .7 H\H IRUN 1PDW 1PDWQXPEHURIZHGJHVPDWHULDOV >/DPNWDXG*DPN@ 6WURKBPDWULFHVWKNN WKNN GHON /DPNWDXG*DPNRIHTQE .7 *DPN .7 HTQ HQG VZLWFKEFW WKHUPDOERXQGDU\FRQGLWLRQV FDVH. .7H\H .S GHW. HTQ BGHW.B7, FDVH. .7 .S . HTQ B.B7A FDVH. .7 .S . HTQ B.B7A FDVH. .7 .S . HTQ B.B7A FDVH. .7 .S . HTQ B.B7A HQG FDVH WKHUPDOSURE. *DPN .7.S GHULYDWLYHRI.WHUPLQHTQD B . *DPN .7*DPPDBNWKHWD AVWDU .7 BN WHUPLQHTQD B .S.ASULPHLHWKHGHULYDWLYHRI.ZLWKUHVSHFWWR?WKHWD . H\H IRUN 1PDW 1PDWQXPEHURIZHGJHVPDWHULDOV GWK WKWKNN LIGWKHSV >/DPNWDXG*DPN@ 6WURKBPDWULFHVWKWKNN GHON *DPNRIHTQE B >/DPNWDXGS*DPNS@ 6WURKBPDWULFHVWKWKNN GHON *DPNSRIHTQE B .S *DPNS . . *DPN . EUHDN HOVH >/DPNWDXG*DPN@ 6WURKBPDWULFHVWKNN WKNN GHON *DPNRIHTQE B . *DPN . .VWDQGVIRU.7HTQ HQG HQG FDVH WKHUPDOSURE. )N .7.S GHULYDWLYHRI.WHUPLQHTQD B . )N .7)BNWKHWD AVWDU .7BN SDUWRIHTQD B .S.ASULPHLHWKHGHULYDWLYHRI.ZLWKUHVSHFWWR?WKHWD . H\H IRUN 1PDW 1PDWQXPEHURIZHGJHVPDWHULDOV GWK WKWKNN LIGWKHSV >/DPNWDXG*DPN@ 6WURKBPDWULFHVWKWKNN GHON HTQE >/DPNWDXGS*DPNS@ 6WURKBPDWULFHVWKWKNN GHON HTQE >1G(N1G@ 6WURKBPDWULFHVWKWKNN GHON FDOFXODWH(NRIHTQE
Appendix F: AEPH Source Code (Listed in Alphabetic Order) >1GS(NS1GS@ 6WURKBPDWULFHVWKWKNN GHON FDOFXODWH(NSRIHTQE /DPN /DPGDBNSDUWRIHTQE B WDXG GLDJWDXBKDWWKHWDWKHWDBN AGHOWD HTQE BWDXGSGHULYDWLYHZUWWKHWD *DPN *DPPDBNAVWDUWKHWD RIHTQE B*DPNSLWVGHULYDWLYHZUWWKHWD (N (BNAVWDUWKHWD RIHTQE B(NSLWVGHULYDWLYH LI1PDW
F FG GWDX WDX
HOVHF FBDN G GBDN WDX WDXBDN HQG 8N >FFRQMF GFRQMG @ HTQ WDXBK FRVWKNN WDX VLQWKNN )N (N 8N8N WDXG GLDJ>WDXBKFRQMWDXBK @ LQY/DPN GHO GHO HTQE B )NS (NS 8N8N WDXGS GLDJ>WDXBKFRQMWDXBK @ LQY/DPN GHO GHO HTQE B .S )NS . . )N . EUHDN HOVH >/DPNWDXG*DPN@ 6WURKBPDWULFHVWKNN WKNN GHON *DPNRIHTQE . *DPN . .VWDQGVIRU.7HTQ HQG HQG FDVH WKHUPDOSURE. (N .F.S GHULYDWLYHRI.WHUPLQHTQD B . (N .F1KDWBNWKHWDWKNN A?GHOWD .H BN RIHTQ .HBN GHILQHGLQ .S.ASULPHLHWKHGHULYDWLYHRI.ZLWKUHVSHFWWR?WKHWD . ]HURV GLP *DP H\H *DPN H\H IRUN 1PDW 1PDWQXPEHURIZHGJHVPDWHULDOV GWK WKWKNN LIGWKHSV >1G(N1G@ 6WURKBPDWULFHVWKWKNN GHON FDOFXODWH(NRIHTQ >1GS(NS1GS@ 6WURKBPDWULFHVWKWKNN GHON FDOFXODWH(NSRIHTQ .S (NS . . (N . EUHDN HOVH *DP *DPN *DP >1G(N1G@ 6WURKBPDWULFHVWKNN WKNN GHON FDOFXODWH(NRIHTQ >/DPNWDXG*DPN@ 6WURKBPDWULFHVWKNN WKNN GHON HTQE LI1PDW
F FG GWDX WDX
HOVHF FBDN G GBDN WDX WDXBDN HQG 8N >FFRQMF GFRQMG @ HTQ WDXBK FRVWKNN WDX VLQWKNN )N (N 8N8N WDXG GLDJ>WDXBKFRQMWDXBK @ LQY/DPN GHO GHO HTQE B . (N .)N *DP .VWDQGVIRU.FHTQF B HQG HQG FDVH WKHUPDOSURE..SYDQGZRIHTQ GLP GLP .H H\HGLP .7 H\H .F ]HURVGLP *DP H\H *DPN H\H IRUN 1PDW 1PDWQXPEHURIZHGJHVPDWHULDOV *DP *DPN *DP >1G(N1G@ 6WURKBPDWULFHVWKNN WKNN GHON FDOFXODWH(NRIHTQ >/DPNWDXG*DPN@ 6WURKBPDWULFHVWKNN WKNN GHON HTQE LI1PDW
F FG GWDX WDX
HOVHF FBDN G GBDN WDX WDXBDN HQG
673
674
Appendix F: AEPH Source Code (Listed in Alphabetic Order) 8N >FFRQMF GFRQMG @ HTQ WDXBK FRVWKNN WDX VLQWKNN )N (N 8N8N WDXG GLDJ>WDXBKFRQMWDXBK @ LQY/DPN GHO GHO HTQE B .F (N .F)N *DP HTQF B .H (N .H HTQ .7 *DPN .7 .VWDQGVIRU.7HTQ HQG FDOFXODWHYDQGZIURP VZLWFKZEF FDVH ZEF ZHGJHVSDFH .7, .7H\H >8'9@ VYG.7, YM 9HQG VYGDPDWODEIXQFWLRQVLQJXODUYDOXHGHFRPSRVLWLRQ PDWUL[GLDJRQL]DWLRQLH.7, 8'9ZKHUHGLDJRQDOPDWUL['FRQVLVWVRIWKHQRQQHJDWLYHHOHPHQWVLQ GHFUHDVLQJRUGHU8DQG9XQLWDU\PDWUL[WKHODVWFROXPQRI9SURYLGHVWKHHLJHQYHFWRURI.7, Z LQY.HH\HGLP .F Y HTQE FDVH ZEF IUHHIL[HGERXQGDU\FRQGLWLRQ LIEFW
_EFW
HOVHLIEFW
S >@ T .FGLP HTQF B
_EFW
S >@ T .FGLP HQG
HTQF B
Y SZ >LQY.HGLPGLP T]HURVGLP @ HTQE FDVH ZEF IL[HGIL[HGERXQGDU\FRQGLWLRQ LIEFW
_EFW
HOVHLIEFW
S >@ T .FGLP HTQF B
_EFW
S >@ T .FGLP HQG
HTQF B
Y SZ >]HURVGLP LQY.HGLPGLPGLP T@ HTQE FDVH ZEF IUHHIUHHERXQGDU\FRQGLWLRQ LIEFW
_EFW
HOVHLIEFW
S >@ T .FGLPGLP HTQF B
_EFW
S >@ T .FGLPGLP HQG
HTQF B
Y SZ >LQY.HGLPGLPGLP T]HURVGLP @ HTQE FDVH ZEF IL[HGIUHHERXQGDU\FRQGLWLRQ LIEFW
_EFW
HOVHLIEFW
S >@ T .FGLPGLP HTQF B
_EFW
S >@ T .FGLPGLP HQG
HTQF B
Y SZ >]HURVGLP LQY.HGLPGLPGLPGLP T@ HTQE HQG . Y.S Z ..SYDQGZRIHTQ HQG
F082: output_caption IXQFWLRQRXWSXWBFDSWLRQ,SDUWLP )XQFWLRQRXWSXWBFDSWLRQLVUHVSRQVLEOHIRUGHVLJQDWLQJDIROGHUIRURXWSXWILOHVDQG SULQWLQJWKHFDSWLRQRIRXWSXWWDEOHV ,SDUWWKLVIXQFWLRQLVVHSDUDWHGLQWRWZRSDUWV ,SDUW RXWSXWWKHFDSWLRQUHODWHGWRWKHSUREOHPGLPHQVLRQ VHFWLRQLH'W\SH /W\SH ,SDUWa RXWSXWWKHFDSWLRQUHODWHGWRPDWHULDOSURSHUWLHV(W\SH3W\SH9W\SH7W\SH LPVHTXHQFHQXPEHURIWKHPDWHULDO */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ ILG$QLQWHJHUWKDWLGHQWLILHVWKHILOH5HVXOWW[W IRUWKHUHVXOWVRIRXWSXW IROGHU1DPH1DPHRIWKHIROGHUZKLFKVWRUHVDOOWKHUHVXOWVRI7DEOHVDQG)LJXUHV JOREDO1PDW'W\SH/W\SH(W\SH7W\SH3W\SH9W\SH IURP0DLQSURJUDPFRQWUROSDUDPHWHUV JOREDOILGIROGHU1DPHJHQHUDWHG FUHDWHDIROGHUFRQWDLQLQJDOOWKHUHVXOWVRI7DEOHVDQG)LJXUHV LI,SDUW
RXWSXWWKHFDSWLRQUHODWHGWRWKHSUREOHPGLPHQVLRQ VHFWLRQLH'W\SH /W\SH
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
675
IROGHU1DPH > V QXPVWU/W\SH UHVXOWB GDWHVWUQRZ @ PNGLUIROGHU1DPH VZLWFK'W\SH FDVH 'W\SHBVWULQJ JHQHUDOL]HGSODQHVWUDLQSUREOHP FDVH 'W\SHBVWULQJ JHQHUDOL]HGSODQHVWUHVVSUREOHP FDVH 'W\SHBVWULQJ FRXSOHGVWUHWFKLQJEHQGLQJSUREOHP FDVH 'W\SHBVWULQJ WKUHHGLPHQLVRQDOSUREOHPHODVWLF FDVH 'W\SHBVWULQJ JHQHUDOL]HGSODQHVWUDLQ VKRUWFLUFXLW FDVH 'W\SHBVWULQJ JHQHUDOL]HGSODQHVWUDLQ RSHQFLUFXLW FDVH 'W\SHBVWULQJ WKUHHGLPHQLVRQDOSUREOHPSLH]RHOHFWULF FDVH 'W\SHBVWULQJ JHQHUDOL]HGSODQHVWUHVV VKRUWFLUFXLW FDVH 'W\SHBVWULQJ JHQHUDOL]HGSODQHVWUHVV RSHQFLUFXLW FDVH 'W\SHBVWULQJ FRXSOHGVWUHWFKLQJEHQGLQJ VKRUWFLUFXLW FDVH 'W\SHBVWULQJ FRXSOHGVWUHWFKLQJEHQGLQJ RSHQFLUFXLW FDVH 'W\SHBVWULQJ WKUHHGLPHQLVRQDOSUREOHP0(( FDVH'W\SHBVWULQJ JHQHUDOL]HGSODQHVWUDLQ VKRUWFLUFXLW + FDVH'W\SHBVWULQJ JHQHUDOL]HGSODQHVWUDLQ VKRUWFLUFXLW % FDVH'W\SHBVWULQJ JHQHUDOL]HGSODQHVWUDLQ RSHQFLUFXLW + FDVH'W\SHBVWULQJ JHQHUDOL]HGSODQHVWUDLQ RSHQFLUFXLW % FDVH'W\SHBVWULQJ JHQHUDOL]HGSODQHVWUHVV VKRUWFLUFXLW + FDVH'W\SHBVWULQJ JHQHUDOL]HGSODQHVWUHVV VKRUWFLUFXLW % FDVH'W\SHBVWULQJ JHQHUDOL]HGSODQHVWUHVV RSHQFLUFXLW + FDVH'W\SHBVWULQJ JHQHUDOL]HGSODQHVWUHVV RSHQFLUFXLW % FDVH'W\SHBVWULQJ FRXSOHGVWUHWFKLQJEHQGLQJ VKRUWFLUFXLW + FDVH'W\SHBVWULQJ FRXSOHGVWUHWFKLQJEHQGLQJ VKRUWFLUFXLW % FDVH'W\SHBVWULQJ FRXSOHGVWUHWFKLQJEHQGLQJ RSHQFLUFXLW + FDVH'W\SHBVWULQJ FRXSOHGVWUHWFKLQJEHQGLQJ RSHQFLUFXLW % RWKHUZLVH'W\SHBVWULQJ :URQJ'W\SH HQG ILG IRSHQ>FG ? IROGHU1DPH ?5HVXOWW[W @ Z ISULQWIILG
5HVXOWV
?U?Q
ISULQWIILG V ?U?Q GDWHVWUQRZ ISULQWIILG 352%/(0',0(16,21'W\SH V?U?Q 'W\SHBVWULQJ ISULQWIILG /2$' 6758&785(76LM'JLMEHWDLMV@ SLH]R 3,(=2SURYLGHVDGGLWLRQDOSLH]RHOHFWULFSURSHUWLHVDFFRUGLQJWRWKHFRQWUROSDUDPHWHUV3W\SHDQG'W\SH 1RWHWKDWLQWKLVIXQFWLRQDOOWKHSLH]RHOHFWULFSURSHUWLHVVXFKDV6LM(GLMZLMV &LM'KLMEHWDLMH6LM'JLMEHWDLMVIRUWKUHHGLPHQVLRQDOSUREOHPVDQG&LM(BHLMBZLMHB &LM(BSHLMBSZLMHBS&LM(BKDWHLMBKDWZLMHBKDW&LM(BSKHLMBSKZLMHBSKHWF IRUWZRGLPHQVLRQDOSUREOHPVKDYHDOOEHHQFDOFXODWHG 6LM'HODVWLFFRPSOLDQFHDWFRQVWDQWHOHFWULFGLVSODFHPHQWIRUWKHJHQHUDO'SUREOHPV JLMSLH]RHOHFWULFVWUDLQYROWDJHWHQVRUVIRUWKHJHQHUDO'SUREOHPV EHWDLMVGLHOHFWULFQRQSHUPLWWLYLWLHVDWFRQVWDQWVWUHVVIRUWKHJHQHUDO'SUREOHPV 6LM' 6LM'BSKJLM JLMBSKEHWDLMV EHWDLMVBSKIRUJHQHUDOL]HGSODQHVWUDLQ VKRUWFLUFXLW 6LM' 6LM'BKDWJLM JLMBKDWEHWDLMV EHWDLMVBKDW IRUJHQHUDOL]HGSODQHVWUDLQ RSHQFLUFXLW 6LM' 6LM'BSJLM JLMBSEHWDLMV EHWDLMVBS IRUJHQHUDOL]HGSODQHVWUHVV VKRUWFLUFXLW 6LM' 6LM'JLM JLMEHWDLMV EHWDLMV IRUJHQHUDOL]HGSODQHVWUHVV RSHQFLUFXLW */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ 6LM(GLMZLMV HODVWLFDQGSLH]RSURSHUWLHVHTQD BVRPHRIWKHPDUHJHQHUDWHGLQSLH]R &LM'KLMEHWDLMH HODVWLFDQGSLH]RSURSHUWLHVHTQD BVRPHRIWKHPDUHJHQHUDWHGLQSLH]R 6LM'JLMEHWDLMV HODVWLFDQGSLH]RSURSHUWLHVHTQD BVRPHRIWKHPDUHJHQHUDWHGLQSLH]R 6LM'BKDWJLMBKDWEHWDLMVBKDW UHGXFHGHODVWLFDQGSLH]RSURSHUWLHVHTQ B 6LM'BSJLMBSEHWDLMVBS UHGXFHGHODVWLFDQGSLH]RSURSHUWLHVHTQ B 6LM'BSKJLMBSKEHWDLMVBSK UHGXFHGHODVWLFDQGSLH]RSURSHUWLHVHTQD B 6LM(BKDWGLMBKDWZLMVBKDW UHGXFHGHODVWLFDQGSLH]RSURSHUWLHVHTQD B 6LM(BSGLMBSZLMVBS UHGXFHGHODVWLFDQGSLH]RSURSHUWLHVRID B 6LM(BSKGLMBSKZLMVBSK UHGXFHGHODVWLFDQGSLH]RSURSHUWLHVRID B &LM'BKDWKLMBKDWEHWDLMHBKDW UHGXFHGHODVWLFDQGSLH]RSURSHUWLHVRID B &LM'BSKLMBSEHWDLMHBS UHGXFHGHODVWLFDQGSLH]RSURSHUWLHVHTQD B &LM'BSKKLMBSKEHWDLMHBSK UHGXFHGHODVWLFDQGSLH]RSURSHUWLHVRID B JOREDO3W\SH'W\SH&LM(HLMZLMH IURP0DLQSURJUDP3W\SH'W\SH DQGIXQFWLRQSLH]R&LM(HLMZLMH JOREDO6LM(GLMZLMV&LM'KLMEHWDLMH6LM'JLMEHWDLMV JHQHUDWHGSLH]RSURSHUWLHV JOREDO6LM'BKDWJLMBKDWEHWDLMVBKDW6LM'BSJLMBSEHWDLMVBS6LM'BSKJLMBSKEHWDLMVBSK JHQHUDWHGSLH]RSURSHUWLHV JOREDO6LM(BKDWGLMBKDWZLMVBKDW6LM(BSGLMBSZLMVBS6LM(BSKGLMBSKZLMVBSK JHQHUDWHGSLH]RSURSHUWLHV JOREDO&LM'BKDWKLMBKDWEHWDLMHBKDW&LM'BSKLMBSEHWDLMHBS&LM'BSKKLMBSKEHWDLMHBSK JHQHUDWHGSLH]RSURSHUWLHV VZLWFK3W\SH HTQ FDVH &LM(HLMZLMHSURYLGHGE\SLH]R0 6LM( LQY&LM( PDWUL[ GLM HLM 6LM( PDWUL[ ZLMV ZLMHGLM HLM PDWUL[ EHWDLMH LQYZLMH PDWUL[ KLM EHWDLMH HLM PDWUL[ &LM' &LM(HLM
KLM PDWUL[ EHWDLMV LQYZLMV PDWUL[ JLM EHWDLMV GLM PDWUL[
Appendix F: AEPH Source Code (Listed in Alphabetic Order) 6LM' 6LM(JLM
GLM PDWUL[ FDVH &LM'KLMEHWDLMH &LM(HLMZLMHSURYLGHGE\SLH]R0 6LM' LQY&LM' PDWUL[ JLM KLM 6LM' PDWUL[ EHWDLMV EHWDLMHJLM KLM PDWUL[ 6LM( LQY&LM( PDWUL[ GLM HLM 6LM( PDWUL[ ZLMV ZLMHGLM HLM PDWUL[ FDVH 6LM(GLMZLMV &LM(HLMZLMHSURYLGHGE\SLH]R0 EHWDLMV LQYZLMV PDWUL[ JLM EHWDLMV GLM PDWUL[ 6LM' 6LM(JLM
GLM PDWUL[ &LM' LQY6LM' PDWUL[ KLM JLM &LM' PDWUL[ EHWDLMH EHWDLMVKLM JLM PDWUL[ FDVH 6LM'JLMEHWDLMV &LM'KLMEHWDLMH &LM(HLMZLMHSURYLGHGE\SLH]R0 ZLMV LQYEHWDLMV PDWUL[ GLM ZLMV JLM PDWUL[ 6LM( 6LM'JLM
GLM PDWUL[ FDVH &LM(HLMZLMHSURYLGHGE\SLH]R 6LM( LQY&LM( PDWUL[ GLM HLM 6LM( PDWUL[ ZLMV ZLMHGLM HLM PDWUL[ EHWDLMH LQYZLMH PDWUL[ KLM EHWDLMH HLM PDWUL[ &LM' &LM(HLM
KLM PDWUL[ EHWDLMV LQYZLMV PDWUL[ JLM EHWDLMV GLM PDWUL[ 6LM' 6LM(JLM
GLM PDWUL[ HQG VZLWFK'W\SH HTQVGH FDVH JHQHUDOL]HGSODQHVWUDLQ VKRUWFLUFXLW GLMBL GLM JLMBL JLM KLMBL KLM EHWDLMHBL EHWDLMH 6LM(BL 6LM( 6LM'BL 6LM' ZLMVBKDW ZLMVGLMBL GLMBL 6LM( PDWUL[ EHWDLMHBS EHWDLMHEHWDLMHBL EHWDLMHBL EHWDLMH PDWUL[ EHWDLMVBKDW EHWDLMVJLMBL JLMBL 6LM' PDWUL[ GLMBKDW GLMGLMBL 6LM(BL 6LM( PDWUL[ KLMBS KLMEHWDLMHBL KLMBLEHWDLMH PDWUL[ JLMBKDW JLMJLMBL 6LM'BL 6LM' PDWUL[ 6LM(BKDW 6LM(6LM(BL 6LM(BL 6LM( PDWUL[ &LM'BS &LM'KLMBL
KLMBLEHWDLMH PDWUL[ 6LM'BKDW 6LM'6LM'BL 6LM'BL 6LM' PDWUL[ JLMBKDWBL JLMBKDW EHWDLMVBKDWBL EHWDLMVBKDW EHWDLMVBSK EHWDLMVBKDWEHWDLMVBKDWBL EHWDLMVBKDWBL EHWDLMVBKDW PDWUL[ JLMBSK JLMBKDWEHWDLMVBKDWBL JLMBKDWBLEHWDLMVBKDW PDWUL[ 6LM'BSK 6LM'BKDWJLMBKDWBL
JLMBKDWBLEHWDLMVBKDW PDWUL[
677
678
Appendix F: AEPH Source Code (Listed in Alphabetic Order) 6LM' 6LM'BSKJLM JLMBSKEHWDLMV EHWDLMVBSK FDVH JHQHUDOL]HGSODQHVWUDLQ RSHQFLUFXLW ZLMHBSHLMBS&LM(BSDUHSURYLGHGLQSLH]R JLMBL JLM GLMBL GLM 6LM'BL 6LM' 6LM(BL 6LM( EHWDLMVBKDW EHWDLMVJLMBL JLMBL 6LM' PDWUL[ ZLMVBKDW ZLMVGLMBL GLMBL 6LM( PDWUL[ JLMBKDW JLMJLMBL 6LM'BL 6LM' PDWUL[ GLMBKDW GLMGLMBL 6LM(BL 6LM( PDWUL[ 6LM'BKDW 6LM'6LM'BL 6LM'BL 6LM' PDWUL[ 6LM(BKDW 6LM(6LM(BL 6LM(BL 6LM( PDWUL[ GLMBKDWBL GLMBKDW ZLMVBKDWBL ZLMVBKDW ZLMVBSK ZLMVBKDWZLMVBKDWBL ZLMVBKDWBL ZLMVBKDW PDWUL[ GLMBSK GLMBKDWZLMVBKDWBL GLMBKDWBLZLMVBKDW PDWUL[ 6LM(BSK 6LM(BKDWGLMBKDWBL
GLMBKDWBLZLMVBKDW
PDWUL[
6LM' 6LM'BKDWJLM JLMBKDWEHWDLMV EHWDLMVBKDW FDVH JHQHUDOL]HGSODQHVWUHVV VKRUWFLUFXLW ZLMHBKDWHLMBKDW&LM(BKDWDUHSURYLGHGLQSLH]R HLMBL HLM KLMBL KLM EHWDLMVBL EHWDLMV JLMBL JLM &LM(BL &LM( &LM'BL &LM' EHWDLMVBS EHWDLMVEHWDLMVBL EHWDLMVBL EHWDLMV PDWUL[ EHWDLMHBKDW EHWDLMHKLMBL KLMBL &LM' PDWUL[ JLMBS JLMEHWDLMVBL JLMBLEHWDLMV PDWUL[ KLMBKDW KLMKLMBL &LM'BL &LM' PDWUL[ 6LM'BS 6LM'JLMBL
JLMBLEHWDLMV PDWUL[ &LM'BKDW &LM'&LM'BL &LM'BL &LM' PDWUL[ EHWDLMHBKDWBL EHWDLMHBKDW KLMBKDWBL KLMBKDW EHWDLMHBSK EHWDLMHBKDWEHWDLMHBKDWBL EHWDLMHBKDWBL EHWDLMHBKDW PDWUL[ KLMBSK KLMBKDWEHWDLMHBKDWBL KLMBKDWBLEHWDLMHBKDW PDWUL[ &LM'BSK &LM'BKDWKLMBKDWBL
KLMBKDWBLEHWDLMHBKDW PDWUL[ 6LM' 6LM'BSJLM JLMBSEHWDLMV EHWDLMVBS FDVH JHQHUDOL]HGSODQHVWUHVV RSHQFLUFXLW ZLMHBKDWHLMBKDW&LM(BKDW ZLMBSKHLMBSK&LM(BSKDUHSURYLGHGLQSLH]R KLMBL KLM ZLMVBL ZLMV HLMBL HLM &LM'BL &LM' GLMBL GLM &LM(BL &LM( EHWDLMHBKDW EHWDLMHKLMBL KLMBL &LM' PDWUL[ ZLMVBS ZLMVZLMVBL ZLMVBL ZLMV PDWUL[ KLMBKDW KLMKLMBL &LM'BL &LM' PDWUL[ GLMBS GLMZLMVBL GLMBLZLMV PDWUL[ &LM'BKDW &LM'&LM'BL &LM'BL &LM' PDWUL[ 6LM(BS 6LM(GLMBL
GLMBLZLMV PDWUL[ 6LM' 6LM'JLM JLMEHWDLMV EHWDLMV RWKHUZLVH 6LM' QDQJLM QDQEHWDLMV QDQ ZLWKRXWFDOFXODWLRQIRUDOORWKHUFDVHV HQG
F084: piezoM IXQFWLRQ>&LM(HLMZLMHTLM(PLMH[LLMH$LM%LM'LM@ SLH]R0LQSXW
Appendix F: AEPH Source Code (Listed in Alphabetic Order) 3,(=20,1387 SURYLGHVSLH]RHOHFWULFRUPDJQHWRHOHFWURHODVWLFSURSHUWLHV &LM(HLMZLMHTLM(PLMH[LLMH$LM%LM'LM ZKHQWKHSLH]RHOHFWULFRU PDJQHWRHOHFWURHODVWLFSURSHUWLHVDUHLQSXWWKURXJKWKHWH[WILOH LQSXWBSLH]R0W[W
DFFRUGLQJWRWKHFRQWUROSDUDPHWHU3W\SH 1RWHWKDWWKHUHGXFHGSLH]RHOHFWULFSURSHUWLHVVXFKDV&LM(BSHLMBSZLMHBS&LM(BKDWHLMBKDWZLMHBKDW &LM(BSKHLMBSKZLMHBSKc.HWFIRUWZRGLPHQVLRQDOSUREOHPVDUHFDOFXODWHG 6LPLODUFDOFXODWLRQLVDOVRGRQHIRUWKHUHGXFHGPDJQHWRHOHFWURHODVWLFSURSHUWLHV $OOWKHVHUHGXFHGSURSHUWLHVIRU'SUREOHPVZLOOEHRXWSXWZLWKWKHQRWDWLRQ &LM(HODVWLFVWLIIQHVVHVDWFRQVWDQWHOHFWULFILHOGIRUWKHJHQHUDO'SUREOHPV HLMSLH]RHOHFWULFVWUHVVFKDUJHWHQVRUVIRUWKHJHQHUDO'SUREOHPV ZLMHGLHOHFWULFSHUPLWWLYLWLHVDWFRQVWDQWVWUDLQVIRUWKHJHQHUDO'SUREOHPV &LM( &LM(HLM HLMZLMH ZLMHIRUJHQHUDOL]HGSODQHVWUDLQ VKRUWFLUFXLW &LM( &LM(BSHLM HLMBSZLMH ZLMHBS IRUJHQHUDOL]HGSODQHVWUDLQ RSHQFLUFXLW &LM( &LM(BKDWHLM HLMBKDWZLMH ZLMHBKDW IRUJHQHUDOL]HGSODQHVWUHVV VKRUWFLUFXLW &LM( &LM(BSKHLM HLMBSKZLMH ZLMHBSK IRUJHQHUDOL]HGSODQHVWUHVV RSHQFLUFXLW TLM(SLH]RPDJQHWLFVWUHVVWHQVRUDWFRQVWDQWHOHFWULFILHOGIRUWKHJHQHUDO'SUREOHPV PLMHPDJQHWRHOHFWULFFRHIILFLHQWVDWFRQVWDQWVWUDLQIRUWKHJHQHUDO'SUREOHPV [LLMHPDJQHWLFSHUPHDELOLW\WHQVRUDWFRQVWDQWVWUDLQDQGHOHFWULFILHOGIRUWKHJHQHUDO'SUREOHPV TLM( TLM(PLMH PLMH[LLMH [LLMHIRUJHQHUDOL]HGSODQHVWUDLQ VKRUWFLUFXLW + TLM( TLM(BVWPLMH PLMHBVW[LLMH [LLMHBVWIRUJHQHUDOL]HGSODQHVWUDLQ VKRUWFLUFXLW % TLM( TLM(BEDPLMH PLMHBED[LLMH [LLMHBEDIRUJHQHUDOL]HGSODQHVWUDLQ RSHQFLUFXLW + TLM( TLM(BSPLMH PLMHBS[LLMH [LLMHBSIRUJHQHUDOL]HGSODQHVWUDLQ RSHQFLUFXLW % TLM( TLM(BKDWPLMH PLMHBKDW[LLMH [LLMHBKDWIRUJHQHUDOL]HGSODQHVWUHVV VKRUWFLUFXLW + TLM( TLM(BKVPLMH PLMHBKV[LLMH [LLMHBKVIRUJHQHUDOL]HGSODQHVWUHVV VKRUWFLUFXLW % TLM( TLM(BEUPLMH PLMHBEU[LLMH [LLMHBEUIRUJHQHUDOL]HGSODQHVWUHVV RSHQFLUFXLW + TLM( TLM(BKSPLMH PLMHBKS[LLMH [LLMHBKSIRUJHQHUDOL]HGSODQHVWUHVV RSHQFLUFXLW % $LMH[WHQVLRQDOVWLIIQHVV %LMFRXSOLQJVWLIIQHVV 'LMEHQGLQJVWLIIQHVV LQSXWDPDWUL[LPSRUWHGIURP LQSXWBSLH]R0W[W 3W\SH LQSXWSLH]RHOHFWULFSURSHUWLHVWKURXJK&LM(HLMDQGZLMHZLWKD PDWUL[HTQD B LQSXW&LM( PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>&&&&&&&&@ LQSXWHLM PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>HHHHHHHH@ LQSXWZLMH PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>ZZZZZZZZZ@ 3W\SH LQSXWSLH]RHOHFWULFSURSHUWLHVWKURXJK&LM'KLMDQGEHWDLMHZLWKD PDWUL[HTQD B LQSXW&LM' PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>&&&&&&&&@ LQSXWKLM PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>KKKKKKKK@ LQSXWEHWDLMH PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>EHWDEHWDEHWDEHWD@ 3W\SH LQSXWSLH]RHOHFWULFSURSHUWLHVWKURXJK6LM(GLMDQGZLMVZLWKD PDWUL[HTQD B LQSXW6LM( PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>66666666@ LQSXWGLM PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>GGGGGGGG@ LQSXWZLMV PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>ZZZZZZZZZ@ 3W\SH LQSXWSLH]RHOHFWULFSURSHUWLHVWKURXJK6LM'JLMDQGEHWDLMVD PDWUL[HTQD B LQSXW6LM' PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>66666666@
679
680
Appendix F: AEPH Source Code (Listed in Alphabetic Order) LQSXWJLM PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>JJJJJJJJ@ LQSXWEHWDLMV PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>EHWDEHWDEHWDEHWD@ 3W\SH LQSXWHOHFWURHODVWLFODPLQDWHVSURSHUWLHVWKURXJK&LM(HLMDQGZLMHRIHDFKOD\HUZLWKD PDWUL[ LQSXWQQBP>&LM(BP>HLMBPZLMHBP@@BL QBP>PSM WNM @BM Q 3W\SH a LQSXWPDJQHWRHOHFWURHODVWLFSURSHUWLHVWKURXJKGLIIHUHQWZD\VVHHIXQFWLRQ0((IRULWVGHWDLOHGH[SOQDWLRQ */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ &LM(HLMZLMH HODVWLFDQGSLH]RSURSHUWLHVHTQD B WKLFNQHVVSODWHWKLFNQHVV &LM(BNHLMBNZLMHBNHODVWLFSLH]RSURSHUWLHVDWWKHNWKOD\HUHTQ &LM6LMH[SDQGHG&LMDQG6LMIRU'SLH]RHOHFWULFRU0((PDWHULDOV ZKLFKKDVEHHQQRQGLPHQVLRQDOL]HGE\GLYLGLQJRUPXOWLSO\LQJ(DOVRWRNHHSWKHLURULJLQDOGLPHQVLRQ ]HURURZVDQGFROXPQVKDYHEHHQDGGHGWRWKHUGWKDQGRUWKURZVFROXPQ &LM'KLMEHWDLMH6LM(GLMZLMV6LM'JLMEHWDLMVHODVWLFDQGSLH]RSURSHUWLHVHTQD B JOREDO3W\SH'W\SH(HSVIURP0DLQSURJUDPFRQWUROSDUDPHWHU JOREDO&LM(HLMZLMHWKLFNQHVV&LM(BNHLMBNZLMHBN&LM6LMJHQHUDWHGHODVWLF SLH]RSURSHUWLHV JOREDO&LM'KLMEHWDLMH6LM(GLMZLMV6LM'JLMEHWDLMVJHQHUDWHG LI3W\SHTLM( >@PLMH >@[LLMH >@HQG
SLH]RHOHFWULFPDWHULDOV
VZLWFK3W\SH FDVH LQSXWSLH]RHOHFWULFSURSHUWLHVWKURXJK&LM(HLMDQGZLMHZLWKD PDWUL[HTQD B &LM( LQSXW HLM LQSXW ZLMH LQSXW LI'W\SH
_'W\SH
WKLFNQHVV LQSXW HQG
SODWHWKLFNQHVVIRUFRXSOHGVWUHWFKLQJEHQGLQJSUREOHP
FDVH LQSXWSLH]RHOHFWULFSURSHUWLHVWKURXJK&LM'KLMDQGEHWDLMHZLWKD PDWUL[HTQD B &LM' LQSXW KLM LQSXW EHWDLMH LQSXW LI'W\SH
_'W\SH
WKLFNQHVV LQSXW HQG
SODWHWKLFNQHVVIRUFRXSOHGVWUHWFKLQJEHQGLQJSUREOHP
>&LM(HLMZLMHTTT@ 0(([\&LM'KLMEHWDLMH HTQE FDVH LQSXWSLH]RHOHFWULFSURSHUWLHVWKURXJK6LM(GLMDQGZLMVZLWKD PDWUL[HTQD B 6LM( LQSXW GLM LQSXW ZLMV LQSXW LI'W\SH
_'W\SH
WKLFNQHVV LQSXW HQG
SODWHWKLFNQHVVIRUFRXSOHGVWUHWFKLQJEHQGLQJSUREOHP
>&LM(HLMZLMHTTT@ 0(([\6LM(GLMZLMV HTQE FDVH LQSXWSLH]RHOHFWULFSURSHUWLHVWKURXJK6LM'JLMDQGEHWDLMVD PDWUL[HTQD B 6LM' LQSXW JLM LQSXW EHWDLMV LQSXW LI'W\SH
_'W\SH
WKLFNQHVV LQSXW HQG
SODWHWKLFNQHVVIRUFRXSOHGVWUHWFKLQJEHQGLQJSUREOHP
>&LM'KLMEHWDLMHTTT@ 0(([\6LM'JLMEHWDLMV HTQE >&LM(HLMZLMHTTT@ 0(([\&LM'KLMEHWDLMH FDVH LQSXWHOHFWURHODVWLFODPLQDWHVSURSHUWLHVWKURXJK&LM(HLMDQGZLMHRIHDFKOD\HUZLWKD PDWUL[ Q LQSXW
WRWDOQXPEHURIOD\HUV
QBP LQSXW QXPEHURIPDWHULDOW\SHV IRUL QBP UHDG&LM(HLMDQGZLMHIRUHDFKGLIIHUHQWPDWHULDOV L LL LL LL L &LM(BPL LQSXWLL &LM(BP PDWUL[ HLMBPL LQSXWLL HLMBP PDWUL[LQSXW]HURV IRUHODVWLFPDWHULDOV ZLMHBPL LQSXWLL ZLMHBP PDWUL[LQSXW]HURV IRUHODVWLFPDWHULDOV HQG &LM( ]HURV HLM ]HURV ZLMH ]HURV WKLFNQHVV IRUM Q WKHOD\XSLVFRXQWHGIURPWRSWRERWWRP M QBPM
Appendix F: AEPH Source Code (Listed in Alphabetic Order) PSM LQSXWM WNM LQSXWM PDWHULDOW\SHRIWKHMWKOD\HUWKLFNQHVVRIWKHMWKOD\HU &LM(BNM &LM(BPPSM HLMBNM HLMBPPSM ZLMHBNM ZLMHBPPSM &LM( &LM(&LM(BNM WNM HLM HLMHLMBNM WNM ZLMH ZLMHZLMHBNM WNM WKLFNQHVV WKLFNQHVVWNM HQG &LM( &LM(WKLFNQHVV HLM HLMWKLFNQHVV ZLMH ZLMHWKLFNQHVV RWKHUZLVH LI3W\SH! 3W\SH PDJQHWRHOHFWURHODVWLFPDWHULDOV >&LM(HLMZLMHTLM(PLMH[LLMH$LM%LM'LM@ 0((LQSXW HOVH GLVS QRWSLHRHOHFWULFRUPDJQHWRHOHFWURHODVWLFPDWHULDOV HQG HQG LI3W\SH SLH]RHOHFWULFPDWHULDOV $LM ]HURV %LM ]HURV 'LM ]HURV GHIDXOWIRUFRXSOHGVWUHWFKLQJEHQGLQJSUREOHPV LI'W\SH! SUREOHPZLWKSLH]RHOHFWULFPDWHULDOVPL[HGZLWK0((PDWHULDOV 3W\SH SURS3 &LM(SURS3 HLMSURS3 ZLMH SURS3 ]HURVSURS3 GLDJ>@ H H[SDQGIURPSLH]RWR0(( SURS3 HSVSURS3 HSVSURS3 HSVH[SDQGIURPHODVWLFWR0(( LI'W\SH!SURS3 WKLFNQHVVHQG
WKLFNQHVVIRUFRXSOHGVWUHWFKLQJEHQGLQJDQDO\VLV
>&LM(HLMZLMHTLM(PLMH[LLMH$LM%LM'LM@ 0((SURS3 HQG HQG VZLWFK'W\SH FRQVLGHURQO\WKHFDVHVRISLH]RHOHFWULFPDWHULDOVWKRVHRI0((PDWHULDOVKDYHEHHQWUHDWHGLQIXQFWLRQ0(( FDVH JHQHUDOL]HGSODQHVWUDLQ VKRUWFLUFXLW &LM( &LM(HLM HLMZLMH ZLMH FDVH JHQHUDOL]HGSODQHVWUDLQ RSHQFLUFXLWHTQD >&LM(HLMZLMHTLM(PLMH[LLMH@ 0(('WR'&LM(HLMZLMH FDOFXODWH&LM(BSHLMBSZLMHBSHTQD FDVH JHQHUDOL]HGSODQHVWUHVV VKRUWFLUFXLWHTQE >&LM(HLMZLMHTLM(PLMH[LLMH@ 0(('WR'&LM(HLMZLMH FDOFXODWH&LM(BKDWHLMBKDWZLMHBKDWHTQE FDVH JHQHUDOL]HGSODQHVWUHVV RSHQFLUFXLWHTQF >&LM(BKDWHLMBKDWZLMHBKDWTLM(PLMH[LLMH@ 0(('WR'&LM(HLMZLMH FDOFXODWH&LM(BKDWHLMBKDWZLMHBKDWHTQE >&LM(HLMZLMHTLM(PLMH[LLMH@ 0(('WR'&LM(BKDWHLMBKDWZLMHBKDW FDOFXODWH&LM(BSKHLMBSKZLMHBSKHTQF FDVH^` FRXSOHGVWUHWFKLQJEHQGLQJHTQVEF D E LI3W\SH >&LM(HLMZLMHTLM(PLMH[LLMH@ 0(('WR'&LM(HLMZLMH FDOFXODWH&LM(BKDWHLMBKDWZLMHBKDWHTQE LI'W\SH
>&LM(HLMZLMHTLM(PLMH[LLMH@ 0(('WR'&LM(HLMZLMH HQG
FDOFXODWH&LM(BSKHLMBSKZLMHBSKHTQF >4LM@ &4S&LM(HLMZLMH $LM 4LM WKLFNQHVV%LM ]HURV 'LM 4LM WKLFNQHVVA H[WHQVLRQDOFRXSOLQJDQGEHQGLQJVWLIIQHVV HOVHLI3W\SH
K WKLFNQHVV IRUN Q >&LM(HLMZLMHTLM(PLMH[LLMH@ 0(('WR'&LM(BNN HLMBNN ZLMHBNN FDOFXODWH&LM(BKDWHLMBKDWZLMHBKDWHTQE LI'W\SH
>&LM(HLMZLMHTLM(PLMH[LLMH@ 0(('WR'&LM(HLMZLMH HQG
FDOFXODWH&LM(BSKHLMBSKZLMHBSKHTQF
681
682
Appendix F: AEPH Source Code (Listed in Alphabetic Order) >4LM@ &4S&LM(HLMZLMH KN KN WNN $LM $LM4LM WNN %LM %LM4LM KN AKN A 'LM 'LM4LM KN AKN A HQG HQG &LM( $LM WKLFNQHVVHLM $LM WKLFNQHVVZLMH $LM WKLFNQHVV FDVH WKUHHGLPHQVLRQDOSUREOHP &LM( &LM(HLM HLMZLMH ZLMH HQG LI'W\SH_'W\SH! 'W\SH
WZRRUWKUHHGLPHQVLRQDOSUREOHPV
&LM( &LM((ZLMH ZLMH ( QRQGLPHQVLRQDOL]DWLRQ &LMJ >&LM(HLM HLMZLMH@ HTQD B PDWUL[IRUSLH]RRU0(( LI3W\SH!PLMH PLMH ([LLMH [LLMH ( &LMJ >&LMJ>TLM( PLMH@TLM(PLMH[LLMH@HQG
HTQD B PDWUL[IRU0((
&LM &LMJ VWRUHWKHYDOXHRIJHQHUDOL]HG QRQGLPHQVLRQDOL]HG&LM RU LI'W\SH
_'W\SH
_'W\SH
WKUHHGLPHQVLRQDOSUREOHPV
6LM LQY&LM HOVH
WZRGLPHQVLRQDOSUREOHPV
&LMJ >@&LMJ >@&LMJ >@&LMJ >@GHOHWHFROXPQVDQGURZVIRUSLH]RRU0(( PDWUL[ LI3W\SH!&LMJ >@&LMJ >@HQG
GHOHWHRQHPRUHFROXPQDQGURZIRU0(( PDWUL[
6LMJ LQY&LMJ IRUSLH]RRU0((PDWHULDOV UHFRQVWUXFW6LME\DGGLQJ]HURVDWFROXPPVDQGURZV 6LM >6LMJ ]HURV 6LMJ ]HURV ]HURV IRUSLH]RRU0((PDWHULDOV 6LMJ ]HURV 6LMJ ]HURV ]HURV @ LI3W\SH! 0((PDWHULDOV 6LM >6LM>6LMJ ]HURV ]HURV 6LMJ ]HURV ]HURV @ 6LMJ ]HURV 6LMJ ]HURV 6LMJ ]HURV ]HURV @ HQG HQG HQG IXQFWLRQ>4LM@ &4S&LMHLMZLM JHQHUDWH4LMIRUWKHFDOFXODWLRQRI$LM%LMDQG'LMHTQE 4LM >&LM &LM &LM HLM HLM &LM &LM &LM HLM HLM &LM &LM &LM HLM HLM HLM HLM HLM ZLM ZLM HLM HLM HLM ZLM ZLM @
F085: piezoM2 IXQFWLRQ>&6@ SLH]R0 3,(=20SURYLGHVWKHH[SDQGHGPDWULFHVRI&LMDQG6LMIRUSLH]RHOHFWULF RU0((PDWHULDOVWKHGHWDLOVRIWKHVHPDWULFHVFDQEHIRXQGLQ HTQ DQG &6H[SDQGHGVWLIIQHVVDQGRUFRPSOLDQFHIRUSLH]RHOHFWULFRU0((PDWHULDOV
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
683
JOREDO3W\SH'W\SH IURP0DLQSURJUDP JOREDO&LM(HLMZLMH&LM'KLMEHWDLMH6LM(GLMZLMV6LM'JLMEHWDLMV IURPIXQFLRQSLH]R0 JOREDO&LM(+HLM+ZLMH+TLM(PLMH[LLMH IURPIXQFWLRQ0(( JOREDO&LM(%HLM%ZLMH%KWLM(HWDLMHQXLMH( IURPIXQFWLRQ0(( JOREDO&LM'+KLM+EHWDLMH+TLM']HWDLMH[LLMH' IURPIXQFWLRQ0(( JOREDO&LM'%KLM%EHWDLMH%KWLM'ODPGDLMHQXLMH'IURPIXQFWLRQ0(( JOREDO6LM(+GLM+ZLMV+GWLM(PLMV[LLMV IURPIXQFWLRQ0(( JOREDO6LM(%GLM%ZLMV%JWLM(HWDLMVQXLMV( IURPIXQFWLRQ0(( JOREDO6LM'+JLM+EHWDLMV+GWLM']HWDLMV[LLMV'IURPIXQFWLRQ0(( JOREDO6LM'%JLM%EHWDLMV%JWLM'ODPGDLMVQXLMV' IURPIXQFWLRQ0(( VZLWFK'W\SH FDVH JHQHUDOL]HGSODQHVWUDLQ VKRUWFLUFXLW( &6 >&LM(HLM HLMZLMH@ HTQD B &LM(HLMZLMHDOUHDG\FDOFXODWHGLQIXQFWLRQSLH]R0 FDVH JHQHUDOL]HGSODQHVWUDLQ RSHQFLUFXLW' LI3W\SHa >&LM'KLMEHWDLMHTTT@ 0(([\&LM(HLMZLMH HQG
&LM'KLMEHWDLMHDOUHDG\H[LVWHGIRU3W\SH
&6 >&LM'KLM KLMEHWDLMH@ HTQD B FDVH JHQHUDOL]HGSODQHVWUHVV VKRUWFLUFXLW( LI3W\SHa >6LM(GLMZLMVTTT@ 0(([\&LM(HLMZLMH HQG
6LM(GLMZLMVDOUHDG\H[LVWHGIRU3W\SH
&6 >6LM(GLM GLMZLMV@ HTQD B FDVH JHQHUDOL]HGSODQHVWUHVV RSHQFLUFXLW' LI3W\SHa _3W\SHa >&LM'KLMEHWDLMHTTT@ 0(([\&LM(HLMZLMH HQG LI3W\SHa >6LM'JLMEHWDLMVTTT@ 0(([\&LM'KLMEHWDLMH HQG
&LM'KLMEHWDLMHH[LVWHGIRU3W\SH
6LM'JLMEHWDLMVDOUHDG\H[LVWHGIRU3W\SH
&6 >6LM'JLM JLMEHWDLMV@ HTQD B FDVH VWDWHJHQHUDOL]HGSODQHVWUDLQ ( + HTQE &6 >&LM(+HLM+ HLM+ZLMH+@ HTQD B &6 >&6>TLM( PLMH@TLM(PLMH[LLMH@ HTQD B FDVH VWDWHJHQHUDOL]HGSODQHVWUDLQ ( % HTQE LI3W\SHa >&LM(%HLM%ZLMH%KWLM(HWDLMHQXLMH(@ 0(([\&LM(+HLM+ZLMH+TLM(PLMH[LLMH HQG &6 >&LM(%HLM% HLM%ZLMH%@ HTQD B &6 >&6>KWLM( HWDLMH@KWLM(HWDLMHQXLMH(@ HTQE B FDVH VWDWHJHQHUDOL]HGSODQHVWUDLQ ' + HTQE LI3W\SHa >&LM'+KLM+EHWDLMH+TLM']HWDLMH[LLMH'@ 0(([\&LM(+HLM+ZLMH+TLM(PLMH[LLMH HQG &6 >&LM'+KLM+ KLM+EHWDLMH+@ HTQD B &6 >&6>TLM' ]HWDLMH@TLM']HWDLMH[LLMH'@ HTQF B FDVH VWDWHJHQHUDOL]HGSODQHVWUDLQ ' % E LI3W\SHa _3W\SHa >&LM(%HLM%ZLMH%KWLM(HWDLMHQXLMH(@ 0(([\&LM(+HLM+ZLMH+TLM(PLMH[LLMH HQG LI3W\SHa >&LM'%KLM%EHWDLMH%KWLM'ODPGDLMHQXLMH'@ 0(([\&LM(%HLM%ZLMH%KWLM(HWDLMHQXLMH( HQG &6 >&LM'%KLM% KLM%EHWDLMH%@ HTQD B &6 >&6>KWLM' ODPGDLMH@KWLM'ODPGDLMHQXLMH'@ HTQG B FDVH VWDWHJHQHUDOL]HGSODQHVWUHVV ( + HTQE LI3W\SHa >6LM(+GLM+ZLMV+GWLM(PLMV[LLMV@ 0(([\&LM(+HLM+ZLMH+TLM(PLMH[LLMH HQG &6 >6LM(+GLM+ GLM+ZLMV+@ HTQD B &6 >&6>GWLM( PLMV@GWLM(PLMV[LLMV@ HTQD B FDVH VWDWHJHQHUDOL]HGSODQHVWUHVV ( % HTQE LI3W\SHa _3W\SHa >6LM(+GLM+ZLMV+GWLM(PLMV[LLMV@ 0(([\&LM(+HLM+ZLMH+TLM(PLMH[LLMH HQG LI3W\SHa >6LM(%GLM%ZLMV%JWLM(HWDLMVQXLMV(@ 0(([\6LM(+GLM+ZLMV+GWLM(PLMV[LLMV HQG &6 >6LM(%GLM% GLM%ZLMV%@ HTQD B &6 >&6>JWLM( HWDLMV@JWLM(HWDLMVQXLMV(@HTQE B FDVH VWDWHJHQHUDOL]HGSODQHVWUHVV ' + HTQE
684
Appendix F: AEPH Source Code (Listed in Alphabetic Order) LI3W\SHa _3W\SHa>&LM'+KLM+EHWDLMH+TLM']HWDLMH[LLMH'@ 0(([\&LM(+HLM+ZLMH+TLM(PLMH[LLMH HQG LI3W\SHa >6LM'+JLM+EHWDLMV+GWLM']HWDLMV[LLMV'@ 0(([\&LM'+KLM+EHWDLMH+TLM']HWDLMH[LLMH' HQG &6 >6LM'+JLM+ JLM+EHWDLMV+@ HTQD B &6 >&6>GWLM' ]HWDLMV@GWLM']HWDLMV[LLMV'@ HTQF B FDVH VWDWHJHQHUDOL]HGSODQHVWUHVV ' % E LI3W\SHa _3W\SHa _3W\SHa >&LM(%HLM%ZLMH%KWLM(HWDLMHQXLMH(@ 0(([\&LM(+HLM+ZLMH+TLM(PLMH[LLMH HQG LI3W\SHa _3W\SHa >&LM'%KLM%EHWDLMH%KWLM'ODPGDLMHQXLMH'@ 0(([\&LM(%HLM%ZLMH%KWLM(HWDLMHQXLMH( HQG LI3W\SHa >6LM'%JLM%EHWDLMV%JWLM'ODPGDLMVQXLMV'@ 0(([\&LM'%KLM%EHWDLMH%KWLM'ODPGDLMHQXLMH' HQG &6 >6LM'%JLM% JLM%EHWDLMV%@ HTQD B &6 >&6>JWLM' ODPGDLMV@JWLM'ODPGDLMVQXLMV'@ HTQG B RWKHUZLVH &6 QDQ QRQHHGWRFDOFXODWHIRU'FDVHV HQG
F086: positionTime IXQFWLRQ>6WP6[\GV9ZTQVS@ SRVLWLRQ7LPH[LGVYNZT6[\GV9ZTQVSQVS37W\SHLVU )XQFWLRQSRVLWLRQ7LPHJHQHUDWHV6WPDQG6[\DFFRUGLQJWR37W\SHLQZKLFK6WPFRQWDLQVWKHLQGH[ WRLGHQWLI\WKHQHDUHVWWLPHRIWKHVHOHFWHGWLPHIRUSULQWLQJVSDFHYDULDWLRQDQG6[\FRQWDLQVWKHLQGH[ WRLGHQWLI\WKHQHDUHVWSRLQWRIWKHVHOHFWHGSRVLWLRQIRUSULQWLQJWLPHYDULDWLRQ 6WP6WPM NMWKVHOHFWHGWLPHLVFORVHWRNWKWLPH !WLM WLPHNN WN GW 6[\6[\M YNMWKVHOHFWHGSRVLWLRQLVFORVHWRYNWKSRLQW ![\LM ;LNN LI2W\SHa 6[\M >ZT@MWKVHOHFWHGSRVLWLRQLVFORVHWR>ZT@WKSRLQW ![\LM ;LNZT LI2W\SH
GVGLVWDQFHEHWZHHQWKHVHOHFWHGSRLQWDQGWKHUHJXODUGLVWULEXWHGSRLQWRIDFXUYHUHFRUGHGZKHQGVLVOHVVWKDQGV 9ZTWKHQHDUHVWSRLQWRIWKHVHOHFWHGSRVLWLRQIRUSULQWLQJWLPHYDULDWLRQ 9ZT >ZT@IRUSRLQWVIURPIXQFWLRQVXUIDFH 9ZT YNIRUSRLQWVIURPIXQFWLRQFXUYHRUIXQFWLRQSRLQW QVSQXPEHURIWKHSRLQWVZKLFKLVQHDUWRWKHVHOHFWHGSRLQWVZKRVHGLVWDQFHLVOHVVWKDQGV [LYDULDEOHLQGLFDWLQJWKHORFDWLRQZKRVHUHVSRQVHVZLOOEHFDOFXODWHG [\L>[\[\[\Q@VHOHFWHGSRVLWLRQIRUSULQWLQJWLPHYDULDWLRQ GVGLVWDQFHEHWZHHQWZRUHJXODUGLVWULEXWHGSRLQWVRIDFXUYH YNVHTXHQWLDOQXPEHURIWKHSRLQWRQDFXUYH >ZT@VHTXHQWLDOQXPEHURIWKHSRLQWRQDVXUIDFH QVSQVS IRUDFXUYHSRLQWQVS IRUDVXUIDFHSRLQW &21752/3$5$0(7(56XVHGLQWKLVIXQFWLRQ 37W\SH VHOHFWWLPHJHQHUDWH6WPIRUWKHXVHLQ7DEOH)LJ'9RI7DEOH)LJ 37W\SH VHOHFWSRVLWLRQJHQHUDWH6[\IRUWKHXVHLQ7DEOH)LJ'9RI7DEOH)LJ LVULWKVXEUHJLRQIRUWKHSUREOHPZLWKPXOWLSOHUHJLRQV JOREDO2W\SHHSVQ[\WL[\LQW5WLPH IURP0DLQSURJUDP JOREDOQWVWLPHN IURPIXQFWLRQ/DSODFHBLQY%(0EDQN% VZLWFK37W\SH FDVH LGHQWLI\WKHQHDUHVWWLPHRIWKHVHOHFWHGWLPHIRUSULQWLQJVSDFHYDULDWLRQ 6WPQW QDQ 6[\ QDQGV QDQ9ZT QDQQVS QDQ GHIDXOW GW 5WLPH WLPHVWHSXVHGLQWLPHGLVWULEXWLRQ L LQLWLDOVWHSRIWLPH IRUM QWV GWL WLL WLPHNM LIGWLGW6WPL ML LHQG
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
685
LIL!QWUHWXUQHQG HQG FDVH LGHQWLI\WKHQHDUHVWSRLQWRIWKHVHOHFWHGSRVLWLRQIRUSULQWLQJWLPHYDULDWLRQ 6WP QDQ GHIDXOW LI2W\SH
9ZT >ZT@Y IRUSRLQWVIURPIXQFWLRQVXUIDFH
HOVH9ZT YNY HQG LILVU
IRUSRLQWVIURPIXQFWLRQFXUYHRUIXQFWLRQSRLQW
U HOVHU VXPQ[\LVU HQG WRWDOQXPEHURIVHOHFWHGSRVLWLRQLQWKHSUHYLRXVUHJLRQVWRLVU
IRUL Q[\LVU UL UL LILVQDQ6[\L
G[L [L [\LUL G\L [L [\LUL GVL VTUWG[LAG\LA LILVQDQGVL
QRSRLQWKDVEHHQLGHQWLILHGWREHQHDUWRWKHVHOHFWHGSRVLWLRQ
LIGVLGV HSV VDPHDVGVL GVKHUHDGGHSVWRDYRLGURXQGLQJHUURU LI2W\SH
6[\L YN VHOHFWHGSRLQWVKRXOGEHRQHRIWKHLQWHUQDOSRLQWV
HOVHGVL GVL9ZTLY 9ZTQVSL HQG
QHDUWRWKHVHOHFWHGSRVLWLRQ
HQG HOVH
VRPHSRLQWVKDYHEHHQLGHQWLILHGWREHQHDUWRWKHVHOHFWHGSRVLWLRQ LIGVLGV HSV VDPHDVGVL GVKHUHDGGHSVWRDYRLGURXQGLQJHUURU
QVSL QVSL LQFUHDVHWKHQXPEHURIQHDUHVWSRLQWV LIGVLGVL GVL GVL9ZTLY 9ZTHQG
WKHSUHVHQWSRLQWLVFORVHUWKDQWKHSUHYLRXVRQH
LIQVSL
6[\LVDQ[\ RUQ[\ PDWUL[
QVS6[\LY 9ZTLY HQG
HQG HQG HQG HQG HQG
F087: printTF IXQFWLRQSULQW7)I;FG ? IROGHU1DPH ?' VWU^M` SQJ @ FOI HQG LI/W\SHa RXWSXW'FRQWRXUSORWIRUQRQFRQVWDQWVWUHVVDQGVWUDLQ IRUM Q FRQWRXUI;Q[ <Q[ =Q[M VKDGLQJIODWD[LVHTXDO WLJKW FRORUEDU[ODEHO [D[LV \ODEHO \D[LV WLWOHVWU^M` VXUISORW;LN8LN VDYHDVI>FG ? IROGHU1DPH ? VWU^M` SQJ @ FOI HQG HQG FDVH SORWRIKRRSVWUHVVRQWKHREMHFWVXFKDVKROH X = X = VLJVV = SORW2%-I;VWU 1VV @VWU >VWU 0VV @VWU >VWU 0VQ @ LI/W\SH
__/W\SH
__/W\SH
__/W\SH
VWU >VWU 1VV @VWU >VWU 0VV @VWU >VWU 0VQ @ VLJVV =HQG VLJQQ =HQG VLJVQ =HQG VWU >VWU 1VV @VWU >VWU 0VV @VWU >VWU 0VQ @ SORW2%-I;VWU 1VQ @ SORW2%-I;FG ? IROGHU1DPH ?SORWRIGHIRUPDWLRQSQJ @ FOI FDVH SORWRIQRUPDOSUHVVXUHRQWKHREMHFWVXFKDVVXUIDFHRIKDOIVSDFH X = X = VLJQQ = VZLWFK/W\SH FDVH^` QRUPDOSUHVVXUHRQDFXUYLOLQHDUERXQGDU\ SORW2%-I;<N \VN @ DOLQHVKRZLQJWKHPDJQLWXGHRIQRUPDOVWUHVV HQG KROGRQ SORWWKHRXWHUFRQWRXUFRQQHFWLQJWKHOLQHKHDG LIPLQLVQDQVLJQQ
SORWRQO\ZKHQWKHGDWDDUHDYDLODEOH
SORW[V\V [ODEHO^ [ > ˰ ˰B^`?WLPHVVFDOHOLQHOHQJWK˰B^` QXPVWUVLJ H @`
688
Appendix F: AEPH Source Code (Listed in Alphabetic Order) \ODEHO \ WLWOHVWU D[LVHTXDO VDYHDVI>FG ? IROGHU1DPH ?OLQHSORWRIQRUPDOVWUHVVSQJ @ FOI HQG HQG SORWRIGHIRUPDWLRQ IRUN YN[GN ;N XN VFDOH\GN <N XN VFDOHHQG SORW; 'HIRUPDWLRQLVPDJQLILHGE\WKHVFDOLQJIDFWRU QXPVWUVFDOH H @` OHJHQG EHIRUHGHIRUPDWLRQ DIWHUGHIRUPDWLRQ /RFDWLRQ VRXWKRXWVLGH OHJHQG ER[RII \ODEHO \ WLWOH GHIRUPDWLRQ D[LVHTXDO VDYHDVI>FG ? IROGHU1DPH ?SORWRIGHIRUPDWLRQSQJ @ FOI FDVH SORWRIWDQJHQWLDOHOHFWULFGLVSODFHPHQWRQWKHREMHFWVXFKDVLQFOXVLRQ VWU >VWU 'V @VWU >VWU 'V @ 'V = SORW2%-I;VWU 'VVPRPHQW @ LI/W\SH
__/W\SH
__/W\SH
__/W\SH
VWU >VWU 'V @VWU >VWU 'VVPRPHQW @ 'V =HQG 'VV =HQG VWU >VWU 'V @VWU >VWU 'VVPRPHQW @ SORW2%-I;VWU %V @VWU >VWU %VVPRPHQW @ SORW2%-I;VWU %QQPRPHQW @ SORW2%-I;<N \VN @ DOLQHVKRZLQJWKHPDJQLWXGHRIKRRSVWUHVV HQG KROGRQ SORWWKHRXWHUFRQWRXUFRQQHFWLQJWKHOLQHKHDG LIV'
[QRWH ^ ˰ ˰B^` ` V' QRWHIRUVWUHVV
HOVHLIV'
[QRWH ^ ' ' ` V' QRWHIRUHOHFWULFGLVSODFHPHQW
HOVHLIV'
[QRWH ^ % % ` V' QRWHIRUPDJQHWLFIOX[
HQG SORW[V\V [ODEHO^ [ > [QRWH^` [QRWH^` ?WLPHVVFDOHOLQHOHQJWK [QRWH^` QXPVWUVLJ H @` \ODEHO \ WLWOHVWU D[LVHTXDO VDYHDVI>FG ? IROGHU1DPH ?OLQHSORWRI VWU SQJ @ FOI HQG IXQFWLRQVXUISORW;LN8LN JOREDOVFDOH IURPIXQFWLRQ7DEOH)LJSORWDGMXVWPHQW JOREDOVXUIQ[ IURPIXQFWLRQVXUIDFHLQWHUQDOW\SHRIVXUIDFH QXPEHURISRLQWVHYDOXDWHGLQ[GLUHFWLRQ LIVXUI
KROGRQ K[ ;LNQ[ Q[ K\ ;LNQ[ Q[ KX 8LNQ[ Q[ KX 8LNQ[ Q[ K[ >K[ K[ @K\ >K\ K\ @ KX >KX KX @KX >KX KX @ K[G K[KX VFDOHK\G K\KX VFDOH ILOOK[GK\G Z SORWK[K\ N HQG
F088: s5_ut IXQFWLRQ>XWORDGVWU@ VBXWORDGVWU VBXWSURYLGHVWKHGLVSODFHPHQWVDQGWUDFWLRQVDWWKH*DXVVLDQSRLQWVIRUWKHXVHRI+LQWHJUDO XWGLVSODFHPHQWVXDQGWUDFWLRQVWDWWKH*DXVVLDQSRLQWVHJ
Appendix F: AEPH Source Code (Listed in Alphabetic Order) ZKHQ3W\SH XWL* >XXXWWW@L*LWK*DXVVLDQSRLQW ORDGVWUORDGDQGVWUXFWXUHLQIRUPDWLRQUHTXLUHGE\IXQFWLRQV0ZHGJH62( ORDGVWUORDGDQGVWUXFWXUHLQIRUPDWLRQUHTXLUHGE\IXQFWLRQV0ZHGJH6,)G */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ WKNYHFWRURISRODUDQJOHVRIZHGJHVLGHVWKN WKN WKNQ LQSXWXQLWGHJUHH 1RWHFRPSDUHZLWKWKHV\PEROXVHGLQ)LJDQG)LJWKN VWDQGVIRUWKHWDWKN WKHWDHWF +W\SHW\SHRIGLVSODFHPHQWVDQGWUDFWLRQVRUVWUHVVHV SURYLGHGIRUWKHDFWXDOV\VWHP LQWKHIROORZLQJ+W\SH aIRUFLUFXODULQWHJUDOSDWK+W\SH IRUSLHFHZLVHOLQHLQWHJUDOSDWK +W\SH FLUFXODUSDWK GLVSODFHPHQWVDQGWUDFWLRQVDWWKH*DXVVLDQSRLQWVREWDLQHGE\HJ%(0 +W\SH FLUFXODUSDWK GLVSODFHPHQWVDQGVWUHVVHVDWWKH*DXVVLDQSRLQWVREWDLQHGE\HJ)(0%(0 *DXVVLDQSRLQWVDUHDUUDQJHGDFFRUGLQJWRWKHVHTXHQFHIURPWR +W\SH FLUFXODUSDWK GLVSODFHPHQWVDQGWUDFWLRQVDWSRLQWVQHDUEXWQRWDW*DXVVLDQSRLQWVREWDLQHGE\HJ%(0 +W\SH FLUFXODUSDWK GLVSODFHPHQWVDQGVWUHVVHVDWSRLQWVQHDUEXWQRWDW*DXVVLDQSRLQWVREWDLQHGE\HJ)(0%(0 +W\SH SLHFHZLVHOLQHSDWK GLVSODFHPHQWVDQGWUDFWLRQVDWWKH*DXVVLDQSRLQWVREWDLQHGE\HJ%(0 +W\SH SLHFHZLVHOLQHSDWK GLVSODFHPHQWVDQGVWUHVVHVDWWKH*DXVVLDQSRLQWVREWDLQHGE\HJ)(0%(0 QB*DXVVQXPEHURI*DXVVLDQSRLQWVIRULQWHJUDWLRQRQWKHWDVXJJHVWHGQXPEHU U,UDGLXVRILQWHJUDWLRQSDWKFLUFXODUSDWK UUHIHUHQFHOHQJWK QOLQHQXPEHURISLHFHZLVHOLQHSLHFHZLVHOLQHLQWHJUDWLRQSDWK [\QL ORFDWLRQRIFRQQHFWLRQQRGHIRUSLHFHZLVHOLQHLQWHJUDWLRQ [\QL [RIWKHLWKQRGH[\QL [RIWKHLWKQRGHQXPEHURIQRGHV QOLQH WKWKN1PDW WKN ZKHUHWKNL DQJOHRIZHGJHVLGHVWKN WKN WKNQ WKWKN1PDW WKN WK6,)DQJOHWKDWGHILQHVWKHVWUHVVLQWHQVLW\IDFWRUV6,) LHWKHWDRINWKHWD LQHTQ JOREDO1PDW3W\SHGLP IURP0DLQSURJUDPFRQWUROSDUDPHWHUV JOREDOWKN+W\SHQB*DXVVU,UWKWKWK6,)QOLQH[\QJHQHUDWHG ORDGVWU ORDGVWU 3UHSDUHORDGVWUDVUHTXLUHGE\V0ZHGJH62( WKN ORDGVWU1PDW SLDQJOHRIZHGJHVLGHVWKN WKN WKNQ XQLWGHJUHHFRQYHUWHGWRUDGLDQ WK6,) ORDGVWU1PDW SLDQJOHWKDWGHILQHVWKHVWUHVVLQWHQVLW\IDFWRUV6,) LHWKHWDRINWKHWD LQHTQ HJIRUDQLQFOLQHGFUDFNZLWKDQJOHDOSKDFRXQWHUFORFNZLVHIURP[D[LV WK6,) DOSKDIRUWKHULJKWWLS ZLWKWKLVDQJOHWKH6,)REWDLQHGLVGHILQHGEDVHGXSRQWKHGLUHFWLRQO\LQJDORQJWKHFUDFN +W\SH ORDGVWU W\SHRIGLVSODFHPHQWVDQGWUDFWLRQVRUVWUHVVHV SURYLGHGIRUWKHDFWXDOV\VWHP QB*DXVV ORDGVWU QXPEHURI*DXVVLDQSRLQWVIRULQWHJUDWLRQRQWKHWDVXJJHVWHGQXPEHU U, ORDGVWU UDGLXVRILQWHJUDOSDWKZKLFKVKRXOGEHJLYHQIRUDOO+W\SH ZKHQ+W\SH RUWKLVUDGLXVRILQWHJUDOSDWKLVIRUWKHHYDOXDWLRQRI+BVWDUGHILQHGLQE HYHQLWLVLQGHSHQGHQWRIU, U ORDGVWU UHIHUHQFHOHQJWK [\ ORDGVWU ORFDWLRQRIWKHZHGJHFUDFNWLS LI+W\SH
_+W\SH
QOLQH ORDGVWU QXPEHURISLHFHZLVHOLQH [\Q ORDGVWU ORFDWLRQRIFRQQHFWLRQQRGHIRUSLHFHZLVHOLQHLQWHJUDWLRQ [\Q [\Q [\ [\Q [\Q [\ EDVHGXSRQWKHORFDOFRRUGLQDWHZLWKRULJLQDWWKHZHGJHFUDFNWLS HQG WK WKN1PDW WKN WK WKN1PDW WKN VZLWFK+W\SH FDVH^` LQSXWGLVSODFHPHQWVDQGWUDFWLRQVDWWKH*DXVVLDQSRLQWVREWDLQHGE\HJ%(0 *DXVVLDQSRLQWVDUHDUUDQJHGDFFRUGLQJWRWKHVHTXHQFHIURPWR LI+W\SH
Q* QB*DXVVLXW HOVHQ* QOLQH QB*DXVVLXW HQG
XW ORDGVWULXWLXWQ* GLP GLVSODFHPHQWVDQGWUDFWLRQVIURPRWKHUVRXUFHV ([LIGLP XWN XXX DQGXWN WWW RIWKHNWK*DXVVSRLQWV
691
692
Appendix F: AEPH Source Code (Listed in Alphabetic Order) XXXDQGWWWDUHWKHGLVSODFHPHQWVDQGWUDFWLRQVLQ[[[GLUHFWLRQV ([LIGLP XWN XXXX DQGXWN WWWW RIWKHNWK*DXVVSRLQWV XDQGWUHODWHGWRWKHHOHFWULFILHOGVDQGHOHFWULFGLVSODFHPHQWVHHHTQ IRUSLH]RHOHFWULFPDWHULDOV FDVH^` LQSXWGLVSODFHPHQWVDQGVWUHVVHVDWWKH*DXVVLDQSRLQWVREWDLQHGE\HJ)(0 *DXVVLDQSRLQWVDUHDUUDQJHGDFFRUGLQJWRWKHVHTXHQFHIURPWR LI+W\SH
Q* QB*DXVVLXW HOVHQ* QOLQH QB*DXVVLXW HQG
XVLJ ORDGVWULXWLXWQ* GLP
GLVSODFHPHQWVDQGVWUHVVHVIURPRWKHUVRXUFHV
([LIGLP XVLJN XXX RIWKHNWK*DXVVSRLQWV DQGXVLJN VLJVLJVLJVLJVLJVLJ RIWKHNWK*DXVVSRLQWVVLJLMVWUHVVHV ([LIGLP XVLJN XXXX RIWKHNWK*DXVVSRLQWV XVLJN VLJVLJVLJVLJVLJVLJVLJVLJ RINWK*DXVVSRLQWVVLJ 'VLJ ' XWGLP XVLJGLP >WKJZJ@ *DXVVQB*DXVV WDNHWKHORFDWLRQRI*DXVVLDQSRLQWV[J LI+W\SH
IRULJ QB*DXVV WK WK WKJLJ WKQ FRVWK Q VLQWK QQ QRUPDOGLUHFWLRQRI*DXVVSRLQW VLJ XVLJLJGLP GLP WJ >VLJ QVLJ QVLJ QVLJ QVLJ QVLJ Q@WUDFWLRQ VLJPDBLM QMHTQ LI3W\SHa WJ VLJ QVLJ QHQG
W VLJPD QVLJPD Q
LI3W\SH!WJ VLJ QVLJ QHQG
W VLJPD QVLJPD Q
XWLJGLP GLP WJ HQG HQG LI+W\SH
IRULO QOLQH G[ [\QLO [\QLO G\ [\QLO [\QLO OHQ VTUWG[AG\A DOSKD DFRVG[OHQ LIG\DOSKD SLDOSKDHQG Q VLQDOSKD Q FRVDOSKD IRULJ QB*DXVV HTQ LQ LO QB*DXVVLJ VLJ XVLJLQGLP GLP WJ >VLJ QVLJ QVLJ QVLJ QVLJ QVLJ Q@WUDFWLRQ VLJPDBLM QMHTQ LI3W\SHa WJ VLJ QVLJ QHQG LI3W\SH!WJ VLJ QVLJ QHQG
W VLJPD QVLJPD Q W VLJPD QVLJPD Q
XWLQGLP GLP WJ HQG HQG HQG FDVH LQSXWGLVSODFHPHQWVDQGWUDFWLRQVDWSRLQWVQHDUEXWQRWDW*DXVVLDQSRLQWVREWDLQHGE\HJ%(0 WKHXVHUVKRXOGSURYLGHWKHGDWDZLWKLQWKHFLUFXODUULQJZKRVHRXWHUUDGLXV U,DQGLQQHUUDGLXV U, DQGWKHWRWDOQXPEHURIGDWDSRLQWVVKRXOGEHJUHDWHUWKDQQB*DXVV QBGDWD OHQJWKORDGVWU
QXPEHURIGDWDSRLQWVQHDUWKH*DXVVLDQSRLQWV
[XW ORDGVWUQBGDWD GLP QXPHULFDOGDWDRIGLVSODFHPHQWVDQGWUDFWLRQVIURPRWKHUVRXUFHV [G [XW [XWN [[ ORFDWLRQRIWKHNWKGDWDSRLQW [G [G [\ [G [G [\ EDVHGXSRQWKHORFDOFRRUGLQDWHZLWKRULJLQDWWKHZHGJHFUDFNWLS XG [XWGLP LIGLP [XGN XXX GLVSODFPHQWRINWKGDWDSRLQWVHHFDVHIRUGLP WG [XWGLP GLP LIGLP [XWN WWW WUDFWLRQDWNWKGDWDSRLQWVHHFDVHIRUGLP >XW@ 0/6[GXGWGQBGDWDQB*DXVVWKWKU,+W\SH ILWWKHYDOXHVDW*DXVVLDQSRLQWVWKURXJKPHWKRGRIPRYLQJOHDVWVTXDUH
Appendix F: AEPH Source Code (Listed in Alphabetic Order) FDVH LQSXWGLVSODFHPHQWVDQGVWUHVVHVDWSRLQWVQHDUEXWQRWDW*DXVVLDQSRLQWVREWDLQHGE\HJ)(0 WKHXVHUVKRXOGSURYLGHWKHGDWDZLWKLQWKHFLUFXODUULQJZKRVHRXWHUUDGLXV U,DQGLQQHUUDGLXV U, DQGWKHWRWDOQXPEHURIGDWDSRLQWVVKRXOGEHJUHDWHUWKDQQB*DXVV QBGDWD OHQJWKORDGVWU
QXPEHURIGDWDSRLQWVQHDUWKH*DXVVLDQSRLQWV
XVLJ ORDGVWUQBGDWD GLP QXPHULFDOGDWDRIGLVSODFHPHQWVDQGVWUHVVHVIURPRWKHUVRXUFHV [G XVLJ XVLJN [[ ORFDWLRQRIWKHNWKGDWDSRLQW [G [G [\ [G [G [\ EDVHGXSRQWKHORFDOFRRUGLQDWHZLWKRULJLQDWWKHZHGJHFUDFNWLS XG XVLJGLP LIGLP XVLJN XXX GLVSODFPHQWRINWKGDWDSRLQWVHHFDVHIRUGLP VLJG XVLJGLP GLP LIGLP XVLJN VLJVLJVLJVLJVLJVLJ VHHFDVHIRUGLP >XW@ 0/6[GXGVLJGQBGDWDQB*DXVVWKWKU,+W\SH ILWWKHYDOXHVDW*DXVVSRLQWVWKURXJKPHWKRGRIPRYLQJOHDVWVTXDUH HQG
F089: s9_delLam IXQFWLRQ>GHOWD/DPGD@ VBGHO/DPHWD&W\SH )XQFWLRQVBGHO/DPLVDFRPPRQIXQFWLRQRI&KDSWHUDQGSDUWVRI&KDSWHUVDQGZKLFKFDOFXODWHV WKHVLQJXODURUGHUVDQGHLJHQIXQFWLRQVIRUFRQWDFWRUFUDFNSUREOHPV GHOWD/DPGDVLQJXODURUGHUVDQGHLJHQIXQFWLRQPDWUL[RIFRQWDFWSUREOHPVHTQE B HWD )1UDWLRRI)DQG1)KRUL]RQWDOIRUFH1QRUPDOIRUFH &W\SHW\SHRIFRQWDFWRUFUDFNSUREOHPV &W\SH SXQFKSUREOHPHTQDEF ZHFDQVHWHWD VLQFHLWLVLQGHSHQGHQWRIHWD &W\SH VOLGLQJSXQFKHVHTQE BFDOFXODWHVGHOWDDQGWDX&/DPGDLVVHWWR]HUR &W\SH FRQWDFWEHWZHHQWZRHODVWLFERGLHVF BDQGE BFDOFXODWHVGHOWDDQGWDX&/DPGDLVVHWWR]HUR &W\SH LQWHUIDFHFUDFNVHTQV */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ 6RQHRIWKH%DUQHWW/RWKHWHQVRUHTQF B 6 6 6VTXDUHRI6 EHWDVTUWWUDFH6 HTQF B HSVLORQLPDJLQDU\SDUWRIGHOWDORJEHWD EHWD SL HTQF B 0LLQYHUVHRILPSHGDQFHPDWUL[RIPDWHULDO0L L $ LQY% 0LLQYHUVHRILPSHGDQFHPDWUL[RIPDWHULDO0L L $ LQY% 0VELPDWHULDOPDWUL[0V 0LFRQM0L ':UHDODQGQHJDWLYHLPDJLQDU\SDUWVRIWKHELPDWHULDOPDWUL[0V 'L: WDX&WDXRIVOLGLQJFRQWDFWSUREOHPVDSDUDPHWHUUHODWHGWRHWDHJHTQE JOREDO3W\SHGLP$%$BD%BD IURP0DLQSURJUDPFRQWUROSDUDPHWHUV PDWHULDOSURSHUWLHV JOREDO66EHWDHSVLORQ0L0L0V':WDX& JHQHUDWHGIRUWKHXVHLQIXQFWLRQVV[[V[[V[[V[[ /DPGD ]HURVGLP GHIDXOW VZLWFK&W\SH FDVH SXQFKSUREOHPVFDOFXODWHVGHOWDDQGODPGD 6 UHDOL $ % H\HGLP F BVHWUHDO WRDYRLGVPDOOHUURULQGXFHGE\QXPHULFDOFDOFXODWLRQ 6 6 60L L $ LQY% 6HFWLRQH[WHQGHGV\PERO LI3W\SH
FDOFXODWHVLQJXODURUGHUVDQGWKHLUDVVRFLDWHGHLJHQIXQFWLRQVE\
EHWD VTUWWUDFH6 HSVLORQ ORJEHWD EHWD SL HTQF GHOWD L HSVLORQGHOWD L HSVLORQGHOWD HTQE HOVH
RI+ZX IRUSLH]RHOHFWULFFDVHV
, WUDFH6 , GHW6 , ,A , HTQE RI+ZX EHWDBH VTUW, , AEHWDBW VTUW, , A HTQE RI+ZX HSVLORQ ORJEHWDBH EHWDBH SL HTQH RI+ZX WVX DWDQEHWDBW SL HTQH RI+ZX
693
694
Appendix F: AEPH Source Code (Listed in Alphabetic Order) GHOWD L HSVLORQGHOWD L HSVLORQGHOWD WVXGHOWD WVX HTQD RI+ZX HQG IRUM GLP 00 0LH[S SL L GHOWDM FRQM0L HTQD >86'9@ VYG00 /DPGDM 9HQG VYGDPDWODEIXQFWLRQWRILQGHLJHQYHFWRURI00 HQG FDVH VOLGLQJSXQFKHVFDOFXODWHVGHOWDDQGWDX& 0L L $ LQY% H[WHQGHGV\PERO RI6HFWLRQ WDX& FRQM0L HWD 0L DUJ DQJOHFRQMWDX& WDX& HTQE B LIDUJDUJ DUJ SLHQG GHOWD DUJ SL HTQE B FDVH FRQWDFWEHWZHHQWZRHODVWLFERGLHVFDOFXODWHVGHOWDDQGWDX& 0L L $BD LQY%BD 0L L $BD LQY%BD 0V 0LFRQM0L H[WHQGHGV\PERO RI6HFWLRQ WDX& 0V HWD 0V DUJ DQJOHFRQMWDX& WDX& HTQF BE B LIDUJDUJ DUJ SLHQG GHOWD DUJ SL HTQE B FDVH LQWHUIDFHFUDFNVFDOFXODWHVGHOWDDQGODPGD >0V':@ 6WURKBPDWULFHV 'L: LQY' :, WUDFH'L:A HTQ F LI3W\SH
FDOFXODWHVLQJXODURUGHUVDQGWKHLUDVVRFLDWHGHLJHQIXQFWLRQVE\
EHWD VTUW, HSVLORQ ORJEHWD EHWD SL HTQ GHOWD L HSVLORQGHOWD L HSVLORQGHOWD HTQ HOVH LI3W\SH, GHW'L: F IRUSLH]RHOHFWULFPDWHULDOV HOVH, WUDFH'L:A AWUDFH'L:A HQG
F IRU0((PDWHULDOV
, ,A , SDUWRIE EHWDBH VTUW, , AEHWDBW VTUW, , A HTQE HSVLORQ ORJEHWDBH EHWDBH SL HTQE WVX DWDQEHWDBW SL HTQE GHOWD L HSVLORQGHOWD L HSVLORQGHOWD WVXGHOWD WVX HTQD LI3W\SH!GHOWD HQG
D IRU0((PDWHULDOV
HQG IRUM GLP :G' :FRWGHOWDM SL ' HTQ >86'9@ VYG:G' /DPGDM 9HQG VYGDPDWODEIXQFWLRQWRILQGHLJHQYHFWRURI:G' HQG HQG
F090: s9_fzp IXQFWLRQ>I]S@ VBI]S]DE5T 6BI]SLVDFRPPRQIXQFWLRQRI&KDSWHUIRUFRQWDFWSUREOHPV ZKLFKFDOFXODWHVWKHGHULYDWLYHRIWKHFRPSOH[IXQFWLRQYHFWRUIRUHDFKVHFWLRQRI&KDSWHU I]SGHULYDWLYHRIFRPSOH[IXQFWLRQYHFWRUI]RIHDFKVHFWLRQLQ&KDSWHU ]FRPSOH[YDULDEOHVGHILQHGE\] [L [L PX DEGHQRWHVWKHFRQWDFWUHJLRQE\WKHIROORZLQJZD\ :KHQ/W\SH FRQWDFWUHJLRQD [ DEFDQEHVHWWR 1RWHEVWDQGVIRUHVHSVLORQBVWDURIHTQD IRUWKHFDVHRI/W\SH
Appendix F: AEPH Source Code (Listed in Alphabetic Order) :KHQ/W\SH FRQWDFWUHJLRQVHH)LJXUH ZKHUHD SVL :KHQ/W\SH FRQWDFWUHJLRQD [ E :KHQ/W\SH FRQWDFWUHJLRQD [ E DQGD [ E :KHQ/W\SH FRQWDFWUHJLRQD [ E :KHQ/W\SH FRQWDFWUHJLRQE [ EDQGDVWDQGVIRUD 0V ZKHUH0VLVWKHELPDWHULDOPDWUL[ 5WKHUDGLXVRIFXUYDWXUHRISDUDEROLFSXQFKFDQEHVHWWRIRURWKHUSXQFKHV :KHQ/W\SH 5 5 555 :KHQ/W\SH 5VWDQGVIRUHWDHWDBRIHTQ TWKHIRUFHDSSOLHGRQWKHSXQFKLQPRVWFDVHVT >TTT@ :KHQ/W\SH TVWDQGVIRURPHJDRIHTQD B :KHQ/W\SH TVWDQGVIRU)Q1RIHTQD :KHQ/W\SH TVWDQGVIRU>)Q)Q@ */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ GGFRHIILFLHQWVRIWKHWDSHTQE B JOREDO3W\SH6/W\SH$%GLP IURP0DLQSURJUDP JOREDO% IXQFWLRQV3)FRQWDFWV3FRQWDFWZKHQ/W\SH JOREDOWDX&GHOWD/DPGD WDX&IURPIXQFWLRQGHO/DPGHOWDDQG/DPGDIURPIXQFWLRQV[[FDOFXODWHGE\GHO/DP JOREDOHWD IURPIXQFWLRQV[V[UDWLR)K)QZKLFKVKRXOGEHOHVVRUHTXDOWRWKHFRHIILFLHQWRIVWDWLFIULFWLRQ JOREDOGG JHQHUDWHGIRUWKHXVHLQIXQFWLRQV6SXQFK VZLWFK/W\SH FDVH^` 6HFWLRQ B$IODWHQGHGSXQFKLQGHQWHGE\DORDGHTQ E %L/ LQY% /DPGD /LT LQY/DPGD T SDUWRIHTQ I]S ]HURVGLP IRUM GLP >*DPPD@ VB3OHPHOM]DDGHOWDM HTQ I]S I]SGLDJ*DPPD %L/M /LTM SL L HTQ HQG FDVH^` 6HFWLRQ$IODWHQGHGSXQFKWLOWHGE\DPRPHQWHTQD B / L % % %L LQY% %L/ %L /DPGD //L LQY/DPGD / SDUWRIHTQD I]S %L / IRUM GLP >*DPPD@ VB3OHPHOM]DDGHOWDM HTQ *DPPDB]H *DPPD ]D GHOWDM SDUWRIHTQD B I]S I]SGLDJ*DPPDB]H %L/M //LM HTQD B HQG I]S L T I]S TVWDQGVIRURPHJDRIHTQD B FDVH^` 6HFWLRQ$3DUDEROLFSXQFKLQGHQWHGE\DORDGHTQD B / L % % %L LQY% L/ LQY/DPGD %L/ %L /DPGD //L L/ / /LT L/ T I]S L GLDJ] %L / 5 IRUM GLP >*DPPD@ VB3OHPHOM]DDGHOWDM HTQ *DPPDB]H *DPPD ]AD GHOWDM ] GHOWDM GHOWDM DA SDUWRID B I]S I]SL GLDJ*DPPDB]H %L/M //LM 5 GLDJ*DPPD %L/M /LTM SL L D B HQG FDVH^`6HFWLRQ $ULJLGVWDPSLQGHQWDWLRQRQDQHOOLSWLFDORUSRO\JRQDOKROHD F/DP FRQM/DPGD F/L LQYF/DP %LF/ LQY% F/DP %$ % $ /LT F/L %$ T /LT F/L FRQM%$ T HS H[SL D LHS HS DVWDQGVIRUSVL I]S ]HURVGLP
695
696
Appendix F: AEPH Source Code (Listed in Alphabetic Order) IRUM GLP >*DPPD@ VB3OHPHOM]LHSHSGHOWDM E ]VWDQGVIRU]HWD *DPPD *DPPD H[SL D GHOWDM ] QGWHUPLQHTQE I]S I]SGLDJ*DPPD %LF/M /LTM GLDJ*DPPD %LF/M /LTM SL L HTQD HQG FDVH 6HFWLRQ$VOLGLQJZHGJHVKDSHGSXQFKHTQ 1RWH EVWDQGVIRUHVHSVLORQBVWDURIHTQD 5VWDQGVIRUHWDHWDBRIHTQ TVWDQGVIRU)Q1RIHTQD >;]@ VB3OHPHOM]DDGHOWD HTQE WKHWDS L E ] GHOWD D ;] UHDOWDX& L T ;] SL HTQD 5 >5@ LI3W\SH6a 5 >5@HQG
IRUSLH]RHOHFWULFPDWHULDOV
I]S GLDJWKHWDS LQY% 5 HTQ FDVH 6HFWLRQ$VOLGLQJ3DUDEROLFSXQFKHTQ >;]@ VB3OHPHOM]DEGHOWD HTQE B M] ]AGHOWD DE E ]GHOWD GHOWD DE A HTQE B WKHWDS L ];] M]UHDOWDX& 5 TSL UHDOWDX& 5 HTQD TVWDQGVIRU)Q HWD >HWD@ LI3W\SH6a HWD >HWD@HQG
IRUSLH]RHOHFWULFPDWHULDOV
I]S GLDJWKHWDS LQY% HWD HTQ FDVH 6HFWLRQ7ZRVOLGLQJIODWHQGHGSXQFKHVHTQ QB*DXVV QXPEHURI*DXVVSRLQWVVHWIRU*DXVVLDQLQWHJUDWLRQ D D D D E E E E )Q T )Q T
TVWDQGVIRU>)Q)Q@
>;]@ VB3OHPHOM]DEGHOWD >;]@ VB3OHPHOM]DEGHOWD HTQE B ;] ;] ;] HTQE B >[JZJ@ *DXVVQB*DXVV IRUWKHSXUSRVHRILQWHJUDWLRQ ,;[ ,;[ ,[;[ ,[;[ IRULJ QB*DXVV LQWHJUDWLRQE\*DXVVTXDGUDWXUHUXOHHTQE EDP ED EDS ED EDP ED EDS ED [ EDP [JLJ EDS [ EDP [JLJ EDS [D DEV[D [E DEV[E [D DEV[D [E DEV[E [D DEV[D [E DEV[E [D DEV[D [E DEV[E ;[ [DAGHOWD [EAGHOWD [DAGHOWD [EAGHOWD H[SL SL GHOWD ;[ [DAGHOWD [EAGHOWD [DAGHOWD [EAGHOWD H[SL SL GHOWD ,;[ ,;[ZJLJ EDP ;[ ,;[ ,;[ZJLJ EDP ;[ ,[;[ ,[;[ZJLJ EDP [ ;[ ,[;[ ,[;[ZJLJ EDP [ ;[ HQG '(/ ,;[ ,[;[,;[ ,[;[ HTQF G WDX& )Q ,[;[)Q ,[;[ UHDOWDX& '(/ HTQE B G L )Q)Q SL HTQE B WKHWDS ;] GG ] HTQD HWD >HWD@ LI3W\SH6a HWD >HWD@HQG
IRUSLH]RHOHFWULFPDWHULDOV
I]S GLDJWKHWDS LQY% HWD HTQ LI,FKHFN
G WDX& )Q ,;[)Q ,;[ UHDOWDX& '(/ HQG HTQE B
FDVH 6HFWLRQ&RQWDFWLQWKHSUHVHQFHRIIULFWLRQHTQ >;]@ VB3OHPHOM]DEGHOWD HTQE B M] ]AGHOWD DE E ]GHOWD GHOWD DE A HTQE
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
697
WKHWDS L ];] M] UHDOWDX& 5 L T ;] SL HTQD 5 5 555 T )Q HWD >HWD@ LI3W\SH6a HWD >HWD@HQG
IRUSLH]RHOHFWULFPDWHULDOV
I]S GLDJWKHWDS LQY% HWD HTQ FDVH 6HFWLRQ&RQWDFWLQWKHDEVHQFHRIIULFWLRQHTQ >;]@ VB3OHPHOM]EE HTQD B WKHWDS L ];] ]AEA D 5 L T ;] SL D D 0V 5 5 555 T )Q )]S GLDJWKHWDS LQY% I]S )]S HTQ HWD IRUIULFWLRQOHVVFRQWDFW HQG
F091: s9_Plemelj IXQFWLRQ>*DPPD@ VB3OHPHOM]DEGHO VB3OHPHOMLVDFRPPRQIXQFWLRQRI&KDSWHUZKLFKFDOFXODWHVIXQFWLRQ*DPPD DSDUWRIWKH3OHPHOMIXQFWLRQ;GHILQHGLQ *DPPD ]D AGHO ]E AGHO SDUWRIHTQ &DOFXODWLRQIROORZVWKHKLQWVJLYHQLQHTQ ]YHFWRURIFRPSOH[YDULDEOHVGHILQHGE\] [L [L PX DEGHOFRQVWDQWVDQGSRZHURI*DPPD JOREDOHSVGLPIURP0DLQSURJUDPGLPHQVLRQRIPDWHULDOHLJHQYHFWRUPDWUL[$ ]D ]D AGHO]E ]E AGHO SDUWRIHTQ IRUM GLP LISLDQJOH]M D HSV]DM ]DM H[S SL L GHO HQG
HTQ
LISLDQJOH]M E HSV]EM ]EM H[S SL L GHO HQG
HTQ
HQG LIDEV]D HSV_DEV]E HSV*DPPD QDQ HOVH*DPPD ]D ]EHQG
HTQ
F092: s9_uphi IXQFWLRQ>XSKLXBXBVLJPDVLJPD@ VBXSKL]DE5T 6BXSKLLVDFRPPRQIXQFWLRQRI&KDSWHUZKLFKFDOFXODWHV WKHGLVSODFHPHQWYHFWRUXDQGVWUHVVIXQFWLRQYHFWRUSKL XSKLXBXBVLJPDVLJPDH[SODLQHGLQIXQFWLRQXSKLBEDQN ]DE5TH[SODLQHGLQIXQFWLRQVBI]S JOREDO/W\SH(GLP$%PX IURP0DLQSURJUDP JOREDO$%PX IURPIXQFWLRQV3)FRQWDFWV3FRQWDFWZKHQ/W\SH LI/W\SH
_/W\SH
$ $% %PX PXHQG
QB*DXVV QXPEHURI*DXVVSRLQWVLVVHWWREH >I]S@ VBI]S]DE5T >[JZJ@ *DXVVQB*DXVV IRUWKHSXUSRVHRILQWHJUDWLRQ I] ]HURVGLP LIPLQLPDJ] a IRUWKHSRLQWVQRWO\LQJRQWKH[ ZKLFKZLOOQRWKDYHVLQJXODUSUREOHP QVS QVSQXPEHURIVLQJXODUSRLQWVLQWKHUHJLRQRI>]@ HOVH
SRLQWO\LQJRQWKHD[LVRI[
] ] ] ] ] ZKHQ[ ]S ]P QVS GHIDXOW IRUWKHSRLQWO\LQJDORQJ[ VSVSVSVSSRVLWLRQRIVLQJXODUSRLQWV ,IWKHLQWHJUDWLRQSDWKVWKURXJKWKHUHJLRQZLWKRQHVLQJXODUSRLQWVXFKDVVS VHSHUDWHWKHLQWHJUDWLRQLQWRWZRSRUWLRQVRQHIURPWRVSDQGWKHRWKHUIURPVSWR]
698
Appendix F: AEPH Source Code (Listed in Alphabetic Order) ,IWKHLQWHJUDWLRQSDWKVWKURXJKWKHUHJLRQZLWKWZRVLQJXODUSRLQWVVXFKDVVSDQGVSZLWK]VSVS VHSDUDWHWKHLQWHJUDWLRQLQWRWKUHHSRUWLRQVRQHIURPWRVSWKHVHFRQGIURPVSWRVSDQGWKHWKLUGIURPVSWR] VZLWFK/W\SH FDVHVS DVS E DESRVLWLYHDE FDVHVS D VS E DQHJDWLYHESRVLWLYHDE FDVHVS EVS E ESRVLWLYHEE FDVHVS D VS E VS D VS E D E D E RWKHUZLVH
DOOWKHRWKHUFDVHVRI&KDSWHUVXFKDV/W\SH
VS DVS D DSRVLWLYHDD HQG LI/W\SHa WKHFDVHVZLWKLQWHJUDWLRQSDWKLQJWKURXJKRQHVLQJXODUSRLQW LI]VS ]VS ! LIDEV]VS DEV]VS ] VSHOVH] VSHQG ]S ]]]P ]] HOVHQVS HQG HOVH LI]VS ] VS]P VSVS]S VSVS]P ]VS]S ]VSQVS HOVHLI]!VS ] VS]P VSVS]S VSVS]P ]VS ]S ]VSQVS HOVHLI]!VS ]VS ] VS]S ]]]P ]] HOVHLI]!VS ]VS ] VS]S ]]]P ]] HOVHQVS HQG HQG ] ] RQHVGLP UHFRYHU]WRLWVRULJLQDOGLPHQVLRQ HQG LIQVS
IRUWKHFDVHVWKDWWKHLQWHJUDWLRQGRHVQRWSDVVWKURXJKDQ\VLQJXODUSRLQW
IRULJ QB*DXVV LQWHJUDWLRQE\*DXVVTXDGUDWXUHUXOHHTQ ]J [JLJ ] >I]SBJ@ VBI]S]JDE5T HTQ I] I]I]SBJ ]
ZJLJ HQG HOVH IRULJ QB*DXVV LQWHJUDWLRQE\*DXVVTXDGUDWXUHUXOHHTQ ]J [JLJ ] RQHVGLP ]J [JLJ ]P]S RQHVGLP >I]SBJ@ VBI]S]JDE5T >I]SBJ@ VBI]S]JDE5T I] I]] I]SBJ]P I]SBJ ZJLJ LIQVS
LIWKHLQWHJUDWLRQSDWKVWKURXJKWKHUHJLRQZLWKWZRVLQJXODUSRLQWV
]J [JLJ ]P]S RQHVGLP >I]SBJ@ VBI]S]JDE5T I] I]]P I]SBJ ZJLJ HQG HQG HQG LI/W\SH
_/W\SH
] 5 5 PX5[L
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
699
]HWDS ]] DL E PX ] HTQE B]]HWDBDOSKD]]BDOSKD I]S ]HWDS I]SWUDQVIRUPWKHGHULYDWLYHVZLWKUHVSHFWWR]HWDWR] HQG GPX GLDJPX X UHDO$ I] SKL UHDO% I] ( XB UHDO$ I]S XB UHDO$ GPX I]S VLJPD UHDO% GPX I]S ( VLJPD UHDO% I]S (
F093: s10_gamma IXQFWLRQ>JDPWKJDPWK@ VBJDPPDWKHWD VBJDPPDLVDFRPPRQIXQFWLRQRIWKHUPDOSUREOHPVLQ&KDSWHUZKLFKSURYLGHV WKHYHFWRUVRIJDPWKDQGJDPWK JDPWKVWDQGVIRUJDPPDBWKHWD GHILQHGLQWKHH[WHQGHGV\PERO RI6HFWLRQ JDPWKVWDQGVIRUJDPPDBWKHWD GHILQHGLQWKHH[WHQGHGV\PERO RI6HFWLRQ WKHWDGLUHFWLRQWDQJHQWWRWKHERXQGDU\GLUHFWLRQDQJOH WKHWD 1WK1WK1WK1BWKHWD 1BWKHWD 1BWKHWD RIWKHIXQGDPHQWDOHODVWLFLW\PDWUL[1 JOREDO'W\SH3W\SH(KGLP%LM'LMEHWDLM$WLM%WLM IURP0DLQ3URJUDPFRQWUROSDUDPHWHUV HODVWLFSURSHUWLHV VZLWFK'W\SH FDVH^` WZRGLPHQVLRQDOSUREOHPV EHWDWK FRVWKHWD EHWDLM VLQWKHWD EHWDLM H[WHQGHGV\PERO RI6HFWLRQ EHWDWK VLQWKHWD EHWDLM FRVWKHWD EHWDLM H[WHQGHGV\PERO RI6HFWLRQ >1WK1WK1WK@ 6WURKBPDWULFHVWKHWD FDOFXODWHWKH6WURKPDWULFHV1WK1WK1WK JDPWK 1WK EHWDWK JDPWK EHWDWK1WK
EHWDWK FDVH^`
H[WHQGHGV\PERO RI6HFWLRQ
FRXSOHGVWUHWFKLQJEHQGLQJSUREOHPV
K K K K K K (K ( K (K ( K (K ( K VFDOLQJIDFWRUV %LM %LM (K 'LM 'LM (K $W >$WLM $WLM $WLM @(K HTQE B %W >%WLM %WLM %WLM @(K HTQE B LI3W\SHa %LM >%LM%LM K %LM K %LM (K@ 'LM >'LM'LM K 'LM K 'LM (K@ $W >$W$WLM K$WLM K@%W >%W%WLM K%WLM K@ LI3W\SH! %LM >%LM>%LM K%LM (K@ %LM K %LM (K@ 'LM >'LM>'LM K'LM (K@ 'LM K 'LM (K@ $W >$W$WLM K$WLM K@%W >%W%WLM K%WLM K@ HQG HQG 'LMW LQY'LM %LMW %LM 'LMW HTQ $WW $W%LMW %W %WW 'LMW %W HTQD LI3W\SH
DOSKDBW >$WW $WW %WW %WW @ HTQF B DOSKDBW >$WW $WW %WW %WW @HTQF B , GLDJ>@ , GLDJ>@ ,W >,,,,@HTQF HOVHLI3W\SH
700
Appendix F: AEPH Source Code (Listed in Alphabetic Order) DOSKDBW >$WW $WW $WW %WW %WW %WW @ HTQF B DOSKDBW >$WW $WW $WW %WW %WW %WW @HTQF B , GLDJ>@ , GLDJ>@ HTQE , GLDJ>@ ,W >,,,,@ HTQDE HOVH DOSKDBW >$WW $WW $WW $WW %WW %WW %WW %WW @ HTQF B DOSKDBW >$WW $WW $WW $WW %WW %WW %WW %WW @HTQF B , GLDJ>@ , GLDJ>@ HTQE , GLDJ>@ ,W >,,,,@ HTQDE HQG DOSKDWK FRVWKHWD DOSKDBWVLQWKHWD DOSKDBW
H[WHQGHGV\PERO RI6HFWLRQ
DOSKDWK VLQWKHWD DOSKDBWFRVWKHWD DOSKDBW
H[WHQGHGV\PERO RI6HFWLRQ
>1WK1WK1WK@ 6WURKBPDWULFHVWKHWD FDOFXODWHWKH6WURKPDWULFHV1WK1WK1WK 1PWK ,W >1WK1WK1WK1WK @ ,W HTQE BFRQYHVLRQIURP1WR1P1RWH,W ,W , JDPWK ,W >]HURVGLP 1PWKGLPGLP GLP H\HGLP 1PWKGLPGLP @ >DOSKDWKDOSKDWK@ JDPWK JDPWKGLP JDPWK JDPWKGLP GLP HQG
F094: s14_eck IXQFWLRQ>HNFN@ VBHFNN)W\SH VBHFNFDOFXODWHVWKHFRHIILFLHQWVHNDQGFNE\HTQE IRUWKHSUREOHPVLQ&KDSWHU HNFNFRHIILFLHQWYHFWRUVRIFRPSOH[IXQFWLRQVIDQGIHTQ D NVXELQGH[RIHNDQGFN )W\SHW\SHRIIXQFWLRQ )W\SH SRLQWIRUFHDQGPRPHQWRXWVLGHWKHLQFOXVLRQSURERIVHFWLRQ )W\SH SRLQWIRUFHDQGPRPHQWLQVLGHWKHLQFOXVLRQSURERIVHFWLRQ JOREDO$%$%]HWDBKDWIBKDWPBKDW$SGFDJDIURPIXQFWLRQV/$0LQFOX3)0RRUV/$0LQFOX3)0L JOREDOFDJDOQ]KDWIURPIXQFWLRQV/$0LQFOX3)0R $L LQY$ 0 L % $L 0 L % LQY$ H[WHQGHGV\PERO RI6HFWLRQ * FRQM0 0 $ *FL LQYFRQM* HTQF B VZLWFK)W\SH FDVH SRLQWIRUFHDQGPRPHQWRXWVLGHWKHLQFOXVLRQ LIN
KDN ]HWDBKDW ORJFD OQ]KDW JD ]HWDBKDW SDUWRIHTQG
HOVHKDN ]HWDBKDWN JDN ]HWDBKDW HQG
SDUWRIHTQG
KD FD KDN N ]HWDBKDWAN HTQG ]HWDN ]HWDBKDWAN FN FD ]HWDN SDUWRIHTQF HN GLDJ]HWDN $SNIBKDW KD $G PBKDW FN $ SL L HTQF WN L $L
HN HTQF B FDVH SRLQWIRUFHDQGPRPHQWLQVLGHWKHLQFOXVLRQ JD JD J] JD]HWDBKDW SDUWRIHTQE T ]HWDBKDWANJ]AN N HTQE B LIN
F ORJFD SDUWRIHTQE B
HOVHF ]HWDBKDWAN J]AN N HQG
SDUWRIHTQE B
T FD ]HWDBKDWAN J]AN N JD F NHTQE B T ]HWDBKDWANJ]AN FD ]HWDBKDWJ] HTQE B HN GLDJT $SIBKDW T $G PBKDW T $ SL L HTQD WN FRQM00 $ HN HTQ HQG *N 00 $ GLDJJDAN *NL FRQM*N *FL HTQF BSDUWRIE B FN LQY**NL *N WN*NL FRQMWN HTQE B
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
F095: s14_mdinf IXQFWLRQ>PBLQIPBLQIGBLQIGBLQI@ VBPGLQIORDGVWU 6BPGLQIFDOFXODWHVWKHGLVSODFHPHQWVVORSHVVWUHVVUHVXOWDQWVDQG EHQGLQJPRPHQWVDWLQILQLW\ PBLQIPBLQIFRHIILFLHQWYHFWRUVUHODWHGWREHQGLQJPRPHQWVDWLQILQLW\HTQF GBLQIGBLQIFRHIILFLHQWYHFWRUVUHODWHGWRGLVSODFHPHQWVDWLQILQLW\HTQF ORDGVWUORDGDQGVWUXFWXUDOLQIRUPDWLRQZKLFKDUHLQSXWWKURXJKORDGVWUW[W */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ K(K(KK K K(K ( K(K ( KAVFDOLQJIDFWRUVVHH GGG GLPG GGLQLWLDOURZRIWKHQH[WKDOIGLPHQVLRQ JOREDO3W\SH(KGLP$LM%LM'LM IURP0DLQSURJUDP JOREDOK(K(KGG JHQHUDWHGSDUDPHWHUVUHODWHGWR(KDQGGLP G GLPG G GLQLWLDOURZRIWKHQH[WKDOIGLPHQVLRQZKLFKLVUHODWHGWRVORSHVRUEHQGLQJPRPHQWV K K K K K K (K ( K (K ( K (K ( KVFDOLQJIDFWRUVVHH 1 ORDGVWU (K1 ORDGVWU (K1 ORDGVWU (K UHVXOWDQWVWUHVVDWLQILQLW\ 0 ORDGVWU (K0 ORDGVWU (K0 ORDGVWU (K EHQGLQJPRPHQWDWLQILQLW\ LI3W\SH
PBLQI >1100@ PBLQI >1100@ HTQF B HOVH
IRUHOHFWURHODVWLFODPLQDWHV
1 ORDGVWU K1 ORDGVWU K0 ORDGVWU K0 ORDGVWU K PBLQI >111000@ PBLQI >111000@ HTQ B LI3W\SH!IRU0((ODPLQDWHV 1 ORDGVWU K1 ORDGVWU K0 ORDGVWU K0 ORDGVWU K PBLQI >11110000@ PBLQI >11110000@ HQG HQG LI3W\SH
$LM $LM(K %LM %LM(K 'LM 'LM(K HTQD QRQGLPHQVLRQDOL]DWLRQ HOVH
HTQ
$LM $LM (K %LM %LM (K 'LM 'LM (K $LM $LM K %LM %LM K 'LM 'LM K $LM $LM K %LM %LM K 'LM 'LM K $LM $LM (K %LM %LM (K 'LM 'LM (K LI3W\SH! $LM $LM K %LM %LM K 'LM 'LM K $LM $LM (K %LM %LM (K 'LM 'LM (K $LM $LM K %LM %LM K 'LM 'LM K $LM $LM (K %LM %LM (K 'LM 'LM (K $LM $LM (K %LM %LM (K 'LM 'LM (K HQG HQG L$LM LQY$LM 'VWDU LQY'LM%LM L$LM %LM %VWDU L$LM %LM 'VWDU$VWDU L$LM%VWDU %LM L$LMHTQE LQWKHIROORZLQJWKHVXEVFULSWRIHTQDF LVUHSODFHGE\RIWKH PDWUL[ 4VWDU $VWDU 4VWDU $VWDU 4VWDUG %VWDU 4VWDUG %VWDU 4VWDU $VWDU 4VWDUG %VWDU 4VWDUG %VWDU
701
702
Appendix F: AEPH Source Code (Listed in Alphabetic Order) 4VWDUGG 'VWDU 4VWDUGG 'VWDU 4VWDUGG 'VWDU 5VWDU $VWDU 5VWDU $VWDU 5VWDUG %VWDU 5VWDUG %VWDU 5VWDU $VWDU 5VWDU $VWDU 5VWDUG %VWDU 5VWDUG %VWDU 5VWDUG %VWDU 5VWDUG %VWDU 5VWDUGG 'VWDU 5VWDUGG 'VWDU 5VWDUG %VWDU 5VWDUG %VWDU 5VWDUGG 'VWDU 5VWDUGG 'VWDU 7VWDU $VWDU 7VWDU $VWDU 7VWDUG %VWDU 7VWDUG %VWDU 7VWDU $VWDU 7VWDUG %VWDU 7VWDUG %VWDU 7VWDUGG 'VWDU 7VWDUGG 'VWDU 7VWDUGG 'VWDU LI3W\SHa LQWKHIROORZLQJWKHVXEVFULSWRIHTQDF LVUHSODFHGE\RIWKH PDWUL[ G G 4VWDU >$VWDU $VWDU $VWDU @ 4VWDUG >%VWDU %VWDU %VWDU @ 4VWDUGGG >'VWDU 'VWDU 'VWDU @ 4VWDUGG >%VWDU %VWDU @ 5VWDU >$VWDU $VWDU $VWDU @ 5VWDUG >%VWDU %VWDU %VWDU @ 5VWDUGG >%VWDU %VWDU %VWDU @ 5VWDUGGG >'VWDU 'VWDU 'VWDU @ 5VWDU >$VWDU $VWDU @ 5VWDUG >%VWDU %VWDU @ 5VWDUGG >%VWDU %VWDU @ 5VWDUGGG >'VWDU 'VWDU @ 7VWDU >$VWDU $VWDU $VWDU @ 7VWDUG >%VWDU %VWDU %VWDU @ 7VWDUGGG >'VWDU 'VWDU 'VWDU @ 7VWDUGG >%VWDU %VWDU @ LI3W\SH! 4VWDU >$VWDU $VWDU $VWDU $VWDU @ 4VWDU >%VWDU %VWDU %VWDU %VWDU @ 4VWDU >'VWDU 'VWDU 'VWDU 'VWDU @ 4VWDU >%VWDU %VWDU %VWDU @ 5VWDU >$VWDU $VWDU $VWDU $VWDU @ 5VWDU >%VWDU %VWDU %VWDU %VWDU @ 5VWDU >%VWDU %VWDU %VWDU %VWDU @ 5VWDU >'VWDU 'VWDU 'VWDU 'VWDU @ 5VWDU >$VWDU $VWDU $VWDU @ 5VWDU >%VWDU %VWDU %VWDU @ 5VWDU >%VWDU %VWDU %VWDU @ 5VWDU >'VWDU 'VWDU 'VWDU @ 7VWDU >$VWDU $VWDU $VWDU $VWDU @ 7VWDU >%VWDU %VWDU %VWDU %VWDU @ 7VWDU >'VWDU 'VWDU 'VWDU 'VWDU @ 7VWDU >%VWDU %VWDU %VWDU @ HQG HQG IRUL GLP IRUM L4VWDULM 4VWDUML 7VWDULM 7VWDUML HQG
4VWDUDQG7VWDUV\PPHWULFPDWULFHV
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
703
HQG GBLQI 4VWDU PBLQI5VWDU PBLQI GBLQI 5VWDU
PBLQI7VWDU PBLQI HTQF B
F096: s15_pgzV IXQFWLRQ>;;S;S;LQW.B,,.B,.B,,,@RU>.B,,.B,.B,,,.B,9@IRUSLH]RHOHFWULFPDWHUDLOV FDJDPPDSDUDPHWHUVRIFBDOSKDDQGJDPPDBDOSKDIRUPDWHULDOHTQF B FDJDPPDSDUDPHWHUVRIFBDOSKDDQGJDPPDBDOSKDIRUPDWHULDOHTQF B JOREDO(3W\SHGLPHSVIURP0DLQSURJUDP JOREDODEFQDDOSKDDVSVLSVLBKDW//IVIURPIXQFWLRQV((LQFOX&RV((LQFOX&LV((LQFOX&SRUV((LQFOX&F JOREDOPXPX$$%%TBLQIFG IURPIXQFWLRQVB&RHII8QLIRUP JOREDOQEG6,)FDJDPPDFDJDPPDJHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
QEG GLP FQ WRWDOQXPEHURIWKHFRPSRQHQWVRIYHFWRUEHWDBKDW LI&W\SH
SVL SVLSVLBKDW>]HWDDOSKDUKR@ PDS(3SVLDED / /IVUKRHQG
FDOFXODWHUKRDQGDOSKDRIWKHOHIW
WLS/ /IV 7 >FRVDOSKD VLQDOSKD VLQDOSKD FRVDOSKD @ HTQE LI3W\SHa 7 >7]HURV ]HURV @HQG H[SDQGWR PDWUL[IRUWKHFDVHZLWKSLH]RHOHFWULFRU0((PDWHULDOV LI3W\SH!7 >7]HURV ]HURV @HQG H[SDQGWR PDWUL[IRUWKHFDVHZLWK0((PDWHULDOV VZLWFK&W\SH FDVH^` $VWUDLJKWFUDFNRXWVLGHLQVLGHRURQWKHLQWHUIDFHRIWKHLQFOXVLRQ LI&W\SH
D DVHQG
6,) VTUWSL D 7 / EHWDBKDWGLP (
HTQD DWEHWDBKDW 6,)RIWKHOHIWWLS
UHQHZWKHYDOXHRI/DQG7IRUWKHULJKWWLSRIFXUYLOLQHDUFUDFN LI&W\SH
SVL SVLSVLBKDW>]HWDDOSKDUKR@ PDS(3SVLDED / /IVUKR
7 VLQDOSKD 7 FRVDOSKD 7 FRVDOSKD 7 VLQDOSKD HQG 6,) VTUWSL D 7 / EHWDBKDWQEGGLPQEG ( D DWEHWDBKDW 6,)RIWKHULJKWWLS FDVH $VWUDLJKWFUDFNSHQHWUDWLQJWKHLQFOXVLRQDOVRXVHIXOIRUWKHSUREOHPVZLWKWZRFUDFNV 6,) VTUWSL D 7 / EHWDBKDWGLP ( DWEHWDBKDW OHIWWLSRIRXWVLGHFUDFN 6,) VTUWSL D 7 / EHWDBKDWQEGGLPQEG ( HTQ DWEHWDBKDW ULJKWWLSRIWKHRXWVLGHFUDFN 6,) VTUWSL DV 7 / EHWDBKDWQEGQEGGLP ( HTQ DWEHWDWBKDW OHIWWLSRIWKHLQVLGHFUDFN 6,) VTUWSL DV 7 / EHWDBKDW QEGGLP QEG (HTQ DWEHWDWBKDW ULJKWWLSRIWKHLQVLGHFUDFN HQG LI3W\SHa 6,) 6,) (HQG LI3W\SH!6,) 6,) (HQG FD DL E PX JDPPD DL E PX DL E PX HTQF BUHTXLUHGLQVB) FD DL E PX JDPPD DL E PX DL E PX HTQF BUHTXLUHGLQVB) HQG ] [L [L PX ILUVWO\DVVXPH]LVORFDWHGLQWKHPDWUL[ZLWKPX PX VZLWFK&W\SH FDVH^`$VWUDLJKWFUDFNRXWVLGHLQVLGHRURQWKHLQWHUIDFHRIWKHLQFOXVLRQ >]HWDWKHWDUKR@ PDS(3[LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ HWD HWD FQHWD FQ HTQ B >DNENFN(N)N*N@ VBDEF()*HWDHWDHWD FDOFXODWHWKHFRHIILFLHQWVDNENFNE\HTQDG
Appendix F: AEPH Source Code (Listed in Alphabetic Order) LI&W\SH
] [L [L PXHQG FKDQJH]BDOSKDWR]BDOSKD IRUWKHFDOFXODWLRQRI)BAGLQHTQ
>)G)G)GB)GB@ VB)[L]]HWDHWDHWD&W\SH FDOFXODWH)GDQG)GRIHTQF IG D DN )G EHWDBKDWGLP WKHVWWHUPRIHTQ IGB D DN )GB EHWDBKDWGLP IRUN FQ HWD NFQHWD N FQHWD N FQHWDHWDHWDHWDBNHWDBNHWDBN >DNENFN(N)N*N@ VBDEF()*HWDHWDHWD FDOFXODWHDNENFNE\HTQDG >)G)G)GB)GB@ VB)[L]]HWDHWDHWD&W\SH FDOFXODWH)GDQG)GRIHTQF IG IGD EN )G EHWDBKDW GLP NGLP GLP N DNFN )G EHWDBKDW GLP N GLP NGLP HTQ IGB IGBD EN )GB EHWDBKDW GLP NGLP GLP N DNFN )GB EHWDBKDW GLP N GLP NGLP EN ENFN FN HQG FDVH $VWUDLJKWFUDFNSHQHWUDWLQJWKHLQFOXVLRQDOVRXVHIXOIRUWKHSUREOHPVZLWKWZRFUDFNV >]HWDWKHWDUKR@ PDS(3[LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDBKDWHTQ IG ]HURVGLP IGB ]HURVGLP IRUMF LIMF
N NI GLPU D
HOVHLIMF
N QEGNI QEGGLP U DVHQG
HWD HWD FQHWD FQ HTQ B >DNENFN(N)N*N@ VBDEF()*HWDHWDHWD FDOFXODWHDNENFNE\HTQDG >)G)G)GB)GB@ VB)[L]]HWDHWDHWDMF HTE )G)RU)DWHWDDQG)G)RU)DWHWD IG IGU DN )G EHWDBKDWNNI WKHVWWHUPRIHTQ IGB IGBU DN )GB EHWDBKDWNNI IRUN FQ LIMF
N GLP NGLPNI GLP N
HOVHLIMF
N QEG GLP NGLPNI NGLPHQG
HWD NFQHWD N FQHWD N FQ HWDHWDHWDVWDQGIRUHWDBNHWDBNHWDBN >DNENFN(N)N*N@ VBDEF()*HWDHWDHWD FDOFXODWHDNENFNE\HTQDG >)G)G)GB)GB@ VB)[L]]HWDHWDHWDMF FDOFXODWH)GDQG)GRIHTQF IG IGU EN )G EHWDBKDWNNI DNFN )G EHWDBKDWNGLPNIGLP HTQ IGB IGBU EN )GB EHWDBKDWNNI DNFN )GB EHWDBKDWNGLPNIGLP EN ENFN FN HQG HQG HQG LIDEV]HWD ! HSV SRLQW[L [L ORFDWHVRXWVLGHWKHLQFOXVLRQ ]HWDB ]HWD]HWD DL E PX ] ]L ]HWD ]HWDBL ]LA ]HWDB I] GLDJ] TBLQIGLDJ]L GIG HTQDE B I]B TBLQIGLDJ]HWDBL GIGB GHULYDWLYHRII] $ $% %PX PX HOVH
SRLQW[L [L ORFDWHVLQVLGHWKHLQFOXVLRQ
] [L [L PXI]B GLDJDL E PX F I]B I]BIGB I] GLDJ] I]BIG HTQ B $ $% %PX PX HQG X UHDO$ I] SKL UHDO% I] ( HTQ XB UHDO$ I]B XB UHDO$ GLDJPX I]B VLJPD UHDO% GLDJPX I]B (VLJPD UHDO% I]B (
717
718
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
F103: s411infUL IXQFWLRQ>XXBXBVLJPDVLJPD@ VLQI8/ORDGVWU[LYN 6LQI8/FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DQLQILQLWHVSDFHVXEMHFWHGWRXQLIRUPORDGDWLQILQLW\ 7KHLQILQLWHVSDFHPD\EHFRPSRVHGRIDQLVRWURSLFSLH]RHOHFWULFRU0((c#PDWHULDOV 7KHXQLIRUPORDGFDQEHLQSXWWKURXJKGLIIHUHQWFDVHV XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ WBLQIWUDFWLRQDWLQILQLW\WBLQI >VLJPDVLJPDVLJPD@ VLJPDHTQE WBLQIWUDFWLRQDWLQILQLW\WBLQI >VLJPDVLJPDVLJPD@ VLJPDHTQE HSVBLQIVWUDLQDWLQILQLW\HSVBLQI >HSVLORQHSVLORQ HSVLORQ@HTQE HSVBLQIVWUDLQDWLQILQLW\HSVBLQI >HSVLORQHSVLORQ HSVLORQ@HTQE JOREDO3W\SH(6LM,FKHFN$%PX IURP0DLQSURJUDPFRQWUROSDUDPHWHUV PDWHULDOSURSHUWLHV JOREDOWBLQIWBLQIHSVBLQIHSVBLQI JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
6L >6LM 6LM 6LM @ 6LV >6LM 6LM 6LM @ LI3W\SHa 6L >6L6LM @ 6LV >6LV6LM @HQG
HTQ IRUSLH]RHOHFWULFPDWHULDOV
LI3W\SH!6L >6L6LM @ 6LV >6LV6LM @HQG
IRU0((PDWHULDOV
ORDGFDVH ORDGVWU GLIIHUHQWORDGFDVHVDUHFRQVLGHUHG ORDGFDVH XQLGLUHFWLRQDOWHQVLRQVLJPDBLQIGLUHFWHGDWDQJOHDOSKDIURP[D[LV ORDGFDVH ELD[LDOORDGLQJVLJPDBLQIDQGVLJPDBLQI ORDGFDVH LQSODQHSXUHVKHDUWDXBLQI ORDGFDVH DQWLSODQHVKHDUVLJPDBLQIRUVLJPDBLQI ORDGFDVH JHQHUDOORDGLQJFRQGLWLRQV VZLWFKORDGFDVH FDVH XQLGLUHFWLRQDOWHQVLRQVLJPDBLQIGLUHFWHGDWDQJOHDOSKDIURP[D[LVHTQD VLJPDBLQI ORDGVWU ( XQLW1PA DOSKD ORDGVWU SL
LQSXWXQLWGHJUHHRSHUDWLRQUDGLDQ
WBLQI VLJPDBLQI FRVDOSKD >FRVDOSKD VLQDOSKD @ WBLQI VLJPDBLQI VLQDOSKD >FRVDOSKD VLQDOSKD @ HSVBLQI VLJPDBLQI FRVDOSKD A 6L VLQDOSKD A 6L FRVDOSKD VLQDOSKD 6L HSVBLQI VLJPDBLQI FRVDOSKD A 6LV VLQDOSKD A 6LV FRVDOSKD VLQDOSKD 6LV LI3W\SHa WBLQI >WBLQI@WBLQI >WBLQI@HQG
HTQD BIRUSLH]RDQG0((
LI3W\SH!WBLQI >WBLQI@WBLQI >WBLQI@HQG
IRU0((
FDVH ELD[LDOORDGLQJVLJPDBLQIDQGVLJPDBLQIHTQE VLJPDBLQI ORDGVWU ( XQLW1PA VLJPDBLQI ORDGVWU ( XQLW1PA WBLQI >VLJPDBLQI@ WBLQI >VLJPDBLQI@ HSVBLQI VLJPDBLQI 6L VLJPDBLQI 6L HSVBLQI VLJPDBLQI 6LV VLJPDBLQI 6LV LI3W\SHa WBLQI >WBLQI@WBLQI >WBLQI@HQG
HTQD BIRUSLH]RDQG0((
LI3W\SH!WBLQI >WBLQI@WBLQI >WBLQI@HQG
IRU0((
FDVH LQSODQHSXUHVKHDUWDXBLQIHTQF WDXBLQI ORDGVWU ( XQLW1PA WBLQI >WDXBLQI@ WBLQI >WDXBLQI@ HSVBLQI WDXBLQI 6L HSVBLQI WDXBLQI 6LV LI3W\SHa WBLQI >WBLQI@WBLQI >WBLQI@HQG
HTQD BIRUSLH]RDQG0((
LI3W\SH!WBLQI >WBLQI@WBLQI >WBLQI@HQG
IRU0((
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
719
FDVH DQWLSODQHVKHDUVLJPDBLQIRUVLJPDBLQIHTQG VLJPDBLQI ORDGVWU ( XQLW1PA VLJPDBLQI ORDGVWU ( XQLW1PA WBLQI >VLJPDBLQI@ WBLQI >VLJPDBLQI@ HSVBLQI VLJPDBLQI 6L VLJPDBLQI 6L HSVBLQI VLJPDBLQI 6LV VLJPDBLQI 6LV LI3W\SHa WBLQI >WBLQI@WBLQI >WBLQI@HQG
HTQD BIRUSLH]RDQG0((
LI3W\SH!WBLQI >WBLQI@WBLQI >WBLQI@HQG
IRU0((
FDVH JHQHUDOORDGLQJFRQGLWLRQV VLJ ORDGVWU (VLJ ORDGVWU ( XQLW1PA VLJ ORDGVWU (VLJ ORDGVWU (VLJ ORDGVWU ( XQLW1PA WBLQI >VLJVLJVLJ@ WBLQI >VLJVLJVLJ@ HTQE VLJPD >VLJVLJVLJVLJVLJ@ LI3W\SHa ' ORDGVWU ' ORDGVWU ''HOHFWULFGLVSODFHPHQWXQLW&RXOPA WBLQI >WBLQI'@ WBLQI >WBLQI'@ VLJPD >VLJPD''@ HTQ HQG LI3W\SH!% ORDGVWU % ORDGVWU %%PDJQHWLFIOX[XQLWYROWVHFZHEHU WBLQI >WBLQI%@ WBLQI >WBLQI%@ VLJPD >VLJPD%%@ HQG HSVBLQI 6LM VLJPD HTQD HSVBLQI >HSVBLQI HSVBLQI HSVBLQI @
HTQE
HSVBLQI >HSVBLQI HSVBLQI HSVBLQI @
HTQE
LI3W\SHa HSVBLQI >HSVBLQIHSVBLQI @HSVBLQI >HSVBLQIHSVBLQI @ HQG
HTQ IRUSLH]RRU0((
LI3W\SH!HSVBLQI >HSVBLQIHSVBLQI @HSVBLQI >HSVBLQIHSVBLQI @ HQG RWKHUZLVH GLVS :URQJORDGLQJFDVHLQSXW HQG HQG VROXWLRQIURPHTQD X [L HSVBLQI[L HSVBLQI SKL [L WBLQI[L WBLQI ( VROXWLRQIURPGLIIHUHQWDSSURDFKHTQ LI,FKHFN
] [L [L PX G] GLDJ] T $
WBLQI%
HSVBLQI QRQGLPHQVLRQDOL]DWLRQRIWBLQIE\GLYLGLQJ( XF UHDO$ G] T SKLF UHDO% G] T ( UHWXUQWRWKHRULJLQDOSKLE\PXOWLSO\LQJ( GLI DEVXXF GLI DEVSKLSKLF GLI PD[GLIGLI VWU ^ >XXF@ >SKLSKLF@ ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L >XXF@>SKLSKLF@GLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG VLJPD WBLQI (VLJPD WBLQI (XB HSVBLQIXB HSVBLQI
F104: s412infIB IXQFWLRQ>XXBXBVLJPDVLJPDSKL@ VLQI,%ORDGVWU[LYN 6LQI,%FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DQLQILQLWHVSDFHVXEMHFWHGWRLQSODQHEHQGLQJDWLQILQLW\ XXBXBVLJPDVLJPDSKLORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ JDPPD JDPPD VDJDPPD FDGHILQHGLQWKHVHQWHQFHEHORZHTQG
IRU0((PDWHULDOV
720
Appendix F: AEPH Source Code (Listed in Alphabetic Order) JDPPDS JDPPD VDJDPPD FDGHILQHGLQWKHVHQWHQFHEHORZHTQG JDPPDDYHFWRURISDUDPHWHUVJDPPDBLZKLFKLVGHILQHGLQG VDFDVLQDOSKD DQGFRVDOSKD ZKHUHDOSKDLVWKHDQJOHRIDSSOLHGPRPHQWVHH)LJXUH 0, 0BLQI,]ZKHUH0BLQIPRPHQWDSSOLHGDWLQILQLW\,]PRPHQWRILQHUWLDDERXW]D[LV JOREDO3W\SH(HSV6LMGLP IURP0DLQSURJUDPIXQFWLRQHODVWLFSLH]R0 JOREDOJDPPDDEJJDPPDVDFD0, JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
0BLQI ORDGVWU (
0BLQIPRPHQWDSSOLHGDWLQILQLW\
DOSKD ORDGVWU SL DOSKDDQJOHRIWKHDSSOLHGPRPHQWLQSXWXQLWGHJUHHRSHUDWLRQUDGLDQ ,] ORDGVWU
,]PRPHQWRILQHUWLDDERXW]D[LV
FD FRVDOSKD VD VLQDOSKD F FDAV VDAFV FD VD 0, 0BLQI,] LI3W\SH
OHQ HOVHOHQ HQG
LI3W\SH!OHQ HQG
OHQ HODVWLFOHQ SLH]RHOHFWULF
OHQ 0((
IRUL OHQ JDPPDL 6LML F6LML V6LML FV HTQG HQG JDPPD JDPPD VDJDPPD FD GHILQHGLQWKHVHQWHQFHEHORZHTQG LI3W\SHa JDPPD JDPPD VDJDPPD FDHQG LI3W\SH!JDPPD JDPPD VDJDPPD FDHQG
GHILQHGLQWKHVHQWHQFHEHORZHTQG IRU0((
DEJ DEVVTUWVXPJDPPDA PD[PD[6LM HQG VROXWLRQIURPHTQDG LIDEJ HSV X JDPPD [L AJDPPD [L A X JDPPD [L JDPPD [L [L X JDPPD [L JDPPD [L [L X > JDPPD [L JDPPD [L [L X JDPPD [L A@ X >JDPPD [L JDPPD [L JDPPD [L JDPPD [L JDPPD [L @ X >JDPPD [L JDPPD [L JDPPD [L @ X >JDPPD [L JDPPD [L @ X >JDPPD [L JDPPD [L JDPPD [L JDPPD [L @ VBDOSKD >FDVD@ LI3W\SHa IRUSLH]RDQG0(( X >XJDPPD [L JDPPD [L [L @ X >XJDPPD [L A@ HTQD X >XJDPPD [L JDPPD [L @ X >XJDPPD [L @ HTQE X >X@ X >XJDPPD [L @ HTQE VBDOSKD >VBDOSKD@ HTQ HQG LI3W\SH! IRUSLH]R X >XJDPPD [L JDPPD [L [L @ X >XJDPPD [L A@ X >XJDPPD [L JDPPD [L @ X >XJDPPD [L @ HTQE X >X@ X >XJDPPD [L @ HTQE VBDOSKD >VBDOSKD@ HTQ HQG X 0, VD X FD X SKL 0, [L VD[L FD A VBDOSKD ( D XB 0, VD XFD X XB 0, VD XFD X
6WUDLQVDQGVWUHVVHVD F
VLJPD 0, VD [L FD [L FD VBDOSKD ( VLJPD 0, VD [L FD [L VD VBDOSKD (HTQD HOVH X QDQGLP SKL QDQGLP XB QDQGLP XB QDQGLP VLJPD QDQGLP VLJPD QDQGLP GHIDXOW
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
721
GLVS 1RDQDO\WLFDOVROXWLRQLVSURYLGHGIRUWKHFDVHWKDWJDPPDLVQRWHTXDOWR]HUR HQG
F105: s413infPF IXQFWLRQ>XXBXBVLJPDVLJPD@ VLQI3)ORDGVWU[LYN 6LQI3)FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DQLQILQLWHVSDFHVXEMHFWHGWRDFRQFHQWUDWHGIRUFHSBKDWDSSOLHGDWSRLQW[BKDW XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ SBKDWSRLQWORDG>SSS@RU>SSSS@IRUSLH]RHOHFWULFPDWHULDOV [BKDWORFDWLRQRISRLQWIRUFH JOREDO'W\SH(W\SH3W\SH($%PX,FKHFNGLP IURP0DLQSURJUDP JOREDOSBKDW[BKDW JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
SBKDW ORDGVWU ( SRLQWORDG>SSS@IRUDQLVRWURSLFPDWHULDOV LI3W\SHa SBKDW ORDGVWU HQG
>SSSS@IRUSLH]RHOHFWULFPDWHULDOV
LI3W\SH!SBKDW ORDGVWU HQG
>SSSSS@IRU0((PDWHULDOV
[BKDW >ORDGVWUGLP ORDGVWUGLP @
[BKDWORFDWLRQRISRLQWIRUFH
HQG VROXWLRQIURPHTQ G[ [L [BKDW G\ [L [BKDW G] G[G\ PXEUDQFKFXWPD\QRWEHMXPSHGVLPXOWDQHRXVO\LIZHFDOFXODWHG]E\]]BKDWDQGWKHQG] ]]BKDW ]L G] PXB]L PX ]L ]LGHULYDWLYHRIORJ]]BKDW GORJ] GLDJORJG] VHHVHFWLRQUHPDUNVRQFRPSXWHUFRGLQJ G]L GLDJ]L GPX]L GLDJPXB]L X LPDJ$ GORJ] $ SBKDWSL HTQ B SKL LPDJ% GORJ] $ SBKDWSL (HTQ B GHULYDWLYHVRIXDQGSKLIRUWKHFDOFXODWLRQRIVWUDLQVDQGVWUHVVHV XB LPDJ$ G]L $ SBKDWSL XB LPDJ$ GPX]L $ SBKDWSL VLJPD LPDJ% GPX]L $ SBKDWSL ( VLJPD LPDJ% G]L $ SBKDWSL ( VROXWLRQIURPGLIIHUHQWDSSURDFKHTQ DQG LI,FKHFN
U VTUWG[AG\A WKHWD DFRVG[U LIG\WKHWD WKHWDHQG
HTQ SLWKHWDSL
>6+/@ 6WURKBPDWULFHV VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV >1WL1WL1WL@ 6WURKBPDWULFHVWKHWD VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV XF ORJU +SL 1WL +1WL 6 SBKDW SL HTQ B SKLF ORJU 6 SL 1WL +1WL
6 SBKDW SL ( HTQ B GLIIHUHQFHEHWZHHQVROXWLRQV DQG GLI DEVXXF GLI DEVSKLSKLF GLI PD[GLIGLI VWU ^ >XXF@ >SKLSKLF@ ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L>XXF@>SKLSKLF@GLIVWU SULQWWKHPHVVDJHRI,FKHFN FDOFXODWLRQRIVWUHVVHVLQSRODUFRRUGLQDWH >1WK1WK1WK@ 6WURKBPDWULFHVWKHWD VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV V VLQWKHWD F FRVWKHWD V V VF F FFV F V QWK >VF@VWK >FV@L >@SLU SL U HTQE LI3W\SHa QWK >QWK@VWK >VWK@L >L@HQG
HTQD IRUSLH]RDQG0((
LI3W\SH!QWK >QWK@VWK >VWK@L >L@HQG
IRU0((
722
Appendix F: AEPH Source Code (Listed in Alphabetic Order) VWUHVVHVLQSRODUFRRUGLQDWHHTQ IRUJHQHUDODQLVRWURSLFPDWHULDOV VLJWKF QWK
6
SBKDWSLU ( VLJUF VWK
1WK +1WK
6 SBKDWSLU ( VLJUWKF VWK
6
SBKDWSLU ( VLJWKF L
6
SBKDWSLU (VLJUF L
1WK +1WK
6 SBKDWSLU ( WUDQVIRUPDWLRQRIVWUHVVHVREWDLQHGE\XVLQJ EHIRUH,FKHFN IURP&DUWHVLDQWRSRODUFRRUGLQDWH VLJWK VLJPD VVLJPD F VLJPD FV VLJU VLJPD FVLJPD V VLJPD FV VLJUWK VLJPD VLJPD FVVLJPD FV VLJWK V VLJPD F VLJPD VLJU F VLJPD V VLJPD GLIIHUHQFHEHWZHHQVROXWLRQV DQG GLI DEVVLJWKVLJWKF GLI DEVVLJUVLJUF GLI DEVVLJUWKVLJUWKF GLI DEVVLJWKVLJWKF GLI DEVVLJUVLJUF GLI GLIGLIGLIGLIGLI VWU ^ >VLJWKVLJWKFVLJUVLJUFVLJUWKVLJUWKF@ >VLJWKVLJWKFVLJUVLJUF@ ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L>VLJWKVLJWKFVLJUVLJUFVLJUWKVLJUWKF@>VLJWKVLJWKFVLJUVLJUF@GLIVWU SULQWWKHPHVVDJHRI,FKHFN LI(W\SH
H[SOLFLWVROXWLRQIRULVRWURSLFPDWHULDOVHTQ
SURS( GOPUHDG> LQSXWBHODVWLFW[W @ QX SURS( LI'W\SH
_'W\SH
_'W\SH
QX QXQX HQG
HTQ
SLQXU SL QX U VLJWKF QX SBKDW FSBKDW V SLQXU ( VLJUF QX SBKDW FSBKDW V SLQXU ( VLJUWKF QX SBKDW VSBKDW F SLQXU ( VLJWKF VLJUF SBKDW SLU ( GLIIHUHQFHEHWZHHQVROXWLRQV DQG GLI DEVVLJWKVLJWKF GLI DEVVLJUVLJUF GLI DEVVLJUWKVLJUWKF GLI DEVVLJWKVLJWKF GLI DEVVLJUVLJUF GLI GLIGLIGLIGLIGLI VWU ^ >VLJWKVLJWKFVLJUVLJUFVLJUWKVLJUWKF@ >VLJWKVLJWKFVLJUVLJUF@ `VWULQJVXVHGLQPHVVDJHRI,FKHFN SULQW7)[L >VLJWKVLJWKFVLJUVLJUFVLJUWKVLJUWKF@>VLJWKVLJWKFVLJUVLJUF@GLIVWU SULQWPHVVDJHRI,FKHFN HQG HQG
F106: s414infPM IXQFWLRQ>XXBXBVLJPDVLJPD@ VLQI30ORDGVWU[LYN 6LQI30FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DQLQILQLWHVSDFHVXEMHFWHGWRDFRQFHQWUDWHGPRPHQWPBKDWDSSOLHGDWSRLQW[BKDW XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ PBKDWSRLQWPRPHQWDERXW[D[LV [BKDWORFDWLRQRISRLQWIRUFH JOREDO(W\SH3W\SH(,FKHFNGLP IURP0DLQSURJUDPFRQWUROSDUDPHWHUV JOREDOPBKDW[BKDW JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
PBKDW ORDGVWU ( [BKDW >ORDGVWU ORDGVWU @ HQG
PBKDWSRLQWPRPHQWDERXW[D[LV [BKDWORFDWLRQRISRLQWPRPHQW
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
723
VROXWLRQIURPHTQ G[ [L [BKDW G\ [L [BKDW U VTUWG[AG\A WKHWD DFRVG[U LIG\WKHWD WKHWDHQG
HTQ SLWKHWDSL
PU PBKDW SL U PU PUU V VLQWKHWD F FRVWKHWD QWK >VF@VWK >FV@ HTQE LI3W\SHa QWK >QWK@VWK >VWK@HQG
HTQ IRUSLH]RDQG0((
LI3W\SH!QWK >QWK@VWK >VWK@HQG
IRU0((
>6+/@ 6WURKBPDWULFHV VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV >1WK1WK1WK@ 6WURKBPDWULFHVWKHWD VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV 1+6 1WK +1WK 6 16+ 1WK
6 1WK + XWK + QWK1+6 VWK JBWKHWDRIHTQE SWK 6
QWK16+ VWK KBWKHWDRIHTQE X PU XWK SKL PU SWK ( VWUDLQVDQGVWUHVVHVFDOFXODWHGWKURXJKWKHGHULYDWLYHVRIXDQGSKL 1 1WK 1WK 1 1WK 1WK 1S 1WK 1WK1WK 1WK HTQF 1S 11 1S 11 HTQF XWKBS 1S +1S 6 VWK1+6 QWK JBSRIE SWKBS 1S
6 1S + VWK16+ QWK KBSRIE XB PU XWK FXWKBS V XB PU XWK VXWKBS F HTQD VLJPD PU SWK VSWKBS F ( VLJPD PU SWK FSWKBS V ( LI,FKHFN
HTQD
FKHFNWKHVROXWLRQVIURPGLIIHUHQWDSSURDFKHV DQG
VWUHVVHVLQSRODUFRRUGLQDWHHTQ IRUJHQHUDODQLVRWURSLFPDWHULDOV 1WKBS 1SH\HGLP :WK 6 1WK+ 1WK :WKBS 6 1WKBS+ 1S HTQ VLJWKF PU 6 ( VLJUWKF PU :WK :WK ( HTQ B VLJWKF SKL U VLJUF PU :WKBS :WKBS (VLJWKF VLJUF PU SWKBS HTQ B WUDQVIRUPDWLRQRIVWUHVVHVREWDLQHGE\XVLQJ EHIRUH,FKHFN IURP&DUWHVLDQWRSRODUFRRUGLQDWH V V VF F FFV F V VLJWK VLJPD VVLJPD F VLJPD FV VLJU VLJPD FVLJPD V VLJPD FV VLJUWK VLJPD VLJPD FVVLJPD FV VLJWK V VLJPD F VLJPD VLJU F VLJPD V VLJPD GLIIHUHQFHEHWZHHQVROXWLRQV DQG GLI DEVVLJWKVLJWKF GLI DEVVLJUVLJUF GLI DEVVLJUWKVLJUWKF GLI DEVVLJWKVLJWKF GLI DEVVLJUVLJUF GLI GLIGLIGLIGLIGLI VWU ^ >VLJWKVLJWKFVLJUVLJUFVLJUWKVLJUWKF@ >VLJWKVLJWKFVLJUVLJUF@ ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L>VLJWKVLJWKFVLJUVLJUFVLJUWKVLJUWKF@>VLJWKVLJWKFVLJUVLJUF@GLIVWU SULQWWKHPHVVDJHRI,FKHFN LI(W\SH
H[SOLFLWVROXWLRQIRULVRWURSLFPDWHULDOVHTQ
VLJWKF VLJUF VLJWKF VLJUF VLJUWKF PU ( HTQ GLIIHUHQFHEHWZHHQVROXWLRQV DQG GLI DEVVLJWKVLJWKF GLI DEVVLJUVLJUF GLI DEVVLJUWKVLJUWKF GLI DEVVLJWKVLJWKF GLI DEVVLJUVLJUF GLI GLIGLIGLIGLIGLI VWU ^ >VLJWKVLJWKFVLJUVLJUFVLJUWKVLJUWKF@ >VLJWKVLJWKFVLJUVLJUF@ `VWULQJVXVHGLQPHVVDJHRI,FKHFN SULQW7)[L>VLJWKVLJWKFVLJUVLJUFVLJUWKVLJUWKF@>VLJWKVLJWKFVLJUVLJUF@GLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG HQG
724
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
F107: s415infDL IXQFWLRQ>XXBXBVLJPDVLJPD@ VLQI'/ORDGVWU[LYN 6LQI'/FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DQLQILQLWHVSDFHZLWKDGLVORFDWLRQEBKDWORFDWHGDWSRLQW[BKDW XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ EBKDW%XUJHUVYHFWRU>EEE@RU>EEEE@IRUSLH]RHOHFWULFPDWHULDOV [BKDWORFDWLRQRIGLVORFDWLRQ JOREDO3W\SH($%PX,FKHFNGLP IURP0DLQSURJUDPFRQWUROSDUDPHWHUV 6WURK VPDWHULDOSURSHUWLHV JOREDOEBKDW[BKDW JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
EBKDW ORDGVWU %XUJHUVYHFWRU>EEE@IRUDQLVRWURSLFPDWHULDOV LI3W\SHa EBKDW ORDGVWU (HQG
>EEEE@IRUSLH]RHOHFWULFPDWHULDOV
LI3W\SH!EBKDW ORDGVWU (HQG
>EEEEE@IRU0((PDWHULDOV
[BKDW >ORDGVWUGLP ORDGVWUGLP @
[BKDWORFDWLRQRIGLVORFDWLRQ
HQG VROXWLRQIURPHTQ G[ [L [BKDW G\ [L [BKDW G] G[G\ PXEUDQFKFXWPD\QRWEHMXPSHGVLPXOWDQHRXVO\LIZHFDOFXODWHG]E\]]BKDWDQGWKHQG] ]]BKDW ]L G] PXB]L PX ]LORJ] ORJG] IRUN GLP LILPDJORJ]N ORJ]N ORJ]N SL LHQG
HTQ
HQG GORJ] GLDJORJ] VHHVHFWLRQUHPDUNVRQFRPSXWHUFRGLQJ G]L GLDJ]L GPX]L GLDJPXB]L X LPDJ$ GORJ] % EBKDWSL SKL LPDJ% GORJ] % EBKDWSL ( HTQ B VWUHVVHVDQGVWUDLQVFDOFXODWHGWKURXJKWKHGHULYDWLYHVRIXDQGSKL XB LPDJ$ G]L % EBKDWSL XB LPDJ$ GPX]L % EBKDWSL
HTQG B
VLJPD LPDJ% GPX]L % EBKDWSL ( VLJPD LPDJ% G]L % EBKDWSL (HTQG B VROXWLRQIURPGLIIHUHQWDSSURDFKHTQ LI,FKHFN
U VTUWG[AG\A WKHWD DFRVG[U LIG\WKHWD SLWKHWDHQG
HTQ WKHWD SL
>6+/@ 6WURKBPDWULFHV VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV >1WL1WL1WL@ 6WURKBPDWULFHVWKHWD VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV XF ORJU 6SL 1WL 61WL / EBKDW SL HTQ B SKLF ORJU /SL 1WL
/1WL 6 EBKDW SL ( HTQ B GLI DEVXXF GLI DEVSKLSKLF GLI PD[GLIGLI VWU ^ >XXF@ >SKLSKLF@ ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L>XXF@>SKLSKLF@GLIVWU SULQWWKHPHVVDJHRI,FKHFN FDOFXODWLRQRIVWUHVVHVLQSRODUFRRUGLQDWH >1WK1WK1WK@ 6WURKBPDWULFHVWKHWD VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV V VLQWKHWD F FRVWKHWD V V VF F FFV F V QWK >VF@VWK >FV@L >@SLU SL U HTQE LI3W\SHa QWK >QWK@VWK >VWK@L >L@HQG
HTQ IRUSLH]RDQG0((
LI3W\SH!QWK >QWK@VWK >VWK@L >L@HQG
IRU0((
Appendix F: AEPH Source Code (Listed in Alphabetic Order) VWUHVVHVLQSRODUFRRUGLQDWHHTQ IRUJHQHUDODQLVRWURSLFPDWHULDOV VLJWKF QWK
/ EBKDWSLU ( VLJUF VWK
1WK 61WK
/ EBKDWSLU ( VLJUWKF VWK
/ EBKDWSLU ( VLJWKF L
/ EBKDWSLU ( VLJUF L
1WK 61WK
/ EBKDWSLU ( WUDQVIRUPDWLRQRIVWUHVVHVREWDLQHGE\XVLQJ EHIRUH,FKHFN IURP&DUWHVLDQWRSRODUFRRUGLQDWH VLJWK VLJPD VVLJPD F VLJPD FV VLJU VLJPD FVLJPD V VLJPD FV VLJUWK VLJPD VLJPD FVVLJPD FV VLJWK V VLJPD F VLJPD VLJU F VLJPD V VLJPD GLIIHUHQFHEHWZHHQVROXWLRQV DQG GLI DEVVLJWKVLJWKF GLI DEVVLJUVLJUF GLI DEVVLJUWKVLJUWKF GLI DEVVLJWKVLJWKF GLI DEVVLJUVLJUF GLI GLIGLIGLIGLIGLI VWU ^ >VLJWKVLJWKFVLJUVLJUFVLJUWKVLJUWKF@ >VLJWKVLJWKFVLJUVLJUF@ ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L>VLJWKVLJWKFVLJUVLJUFVLJUWKVLJUWKF@>VLJWKVLJWKFVLJUVLJUF@GLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG
F108: s421halfPF IXQFWLRQ>XXBXBVLJPDVLJPD@ VKDOI3)ORDGVWU[LYN 6KDOI3)FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DKDOIVSDFHVXEMHFWHGWRDFRQFHQWUDWHGIRUFHSBKDWDSSOLHGDWSRLQW[BKDW XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ SBKDWSRLQWORDG>SSS@RU>SSSS@IRUSLH]RHOHFWULFPDWHULDOV [BKDWORFDWLRQRISRLQWIRUFH JOREDO'W\SH(W\SH3W\SH,FKHFN($%PX1GLPIURP0DLQSURJUDPFRQWUROSDUDPHWHUV 6WURK VPDWHULDOSURSHUWLHV JOREDOSBKDW[BKDW JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
SBKDW ORDGVWU ( SRLQWORDG>SSS@IRUDQLVRWURSLFPDWHULDOV LI3W\SHa SBKDW ORDGVWU HQG
>SSSS@IRUSLH]RHOHFWULFPDWHULDOV
LI3W\SH!SBKDW ORDGVWU HQG
>SSSSS@IRU0((PDWHULDOV
[BKDW >ORDGVWUGLP ORDGVWUGLP @
[BKDWORFDWLRQRISRLQWIRUFH
HQG LI[L !GLVS ZURQJLQSXWRIILHOGSRLQWVZKLFKVKRXOGEHORFDWHGDW[ HQG VROXWLRQIURPHTQ ] [L [L PX ]BKDW [BKDW [BKDW PX F]BKDW FRQM]BKDW G] ]]BKDW ]L G] L%F% LQY% FRQM% $S $
SBKDW I] GLDJORJG] FRQM$S SL L VWWHUPRIHTQ VHHVHFWLRQUHPDUNVRQFRPSXWHUFRGLQJ IRUM GLP I] I]GLDJORJ]F]BKDWM L%F%M $SM SL L HTQ HQG X UHDO$ I] SKL UHDO% I] ( VWUHVVHVDQGVWUDLQVFDOFXODWHGWKURXJKWKHGHULYDWLYHVRIXDQGSKL I] GLDJ]L FRQM$S SL L VWWHUPRIHTQ VHHVHFWLRQUHPDUNVRQFRPSXWHUFRGLQJ IRUM GLP I] I]GLDJ]F]BKDWM L%F%M $SM SL L GHULYDWLYHI]B[RII]HTQ HQG
725
726
Appendix F: AEPH Source Code (Listed in Alphabetic Order) I] GLDJPX I] GHULYDWLYHI]B[RII]HTQ XB UHDO$ I] XB UHDO$ I] VLJPD UHDO% I] ( VLJPD UHDO% I] ( VROXWLRQIURPGLIIHUHQWDSSURDFKHTQ LI,FKHFN
G[ [L [BKDW G\ [L [BKDW U VTUWG[AG\A WKHWD DFRVG[U LIG\WKHWD WKHWDHQG LI[L
HTQ SLWKHWDSL
>6+/@ 6WURKBPDWULFHV VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV >1WK1WK1WK@ 6WURKBPDWULFHVWKHWD VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV >1WL1WL1WL@ 6WURKBPDWULFHVWKHWD VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV L/ LQY/ XF L/ ORJU H\HGLP SL 1WL SBKDWSL HTQ B SKLB VLJPD SKLFB 1 L/ FRVWKHWD H\HGLP VLQWKHWD 1WK SBKDWSL U (HTQ B GLI DEVXXF GLI DEVSKLBSKLFB GLI PD[GLIGLI VWU ^ >XXF@ >SKLBSKLFB@ ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L>XXF@>SKLBSKLFB@GLIVWU SULQWWKHPHVVDJHRI,FKHFN LI(W\SH
H[SOLFLWVROXWLRQVIRULVRWURSLFPDWHULDOVHTQ
SURS( GOPUHDG LQSXWBHODVWLFW[W QX SURS( LI'W\SH
_'W\SH
_'W\SH
QX QXQX HQG
HTQ
V VLQWKHWD F FRVWKHWD FV F V VLJF SBKDW FSBKDW V FV SBKDW VSBKDW F QX SL U ( HTQ B VLJF SBKDW FSL U ( HTQ B GLI DEVVLJPD VLJF GLI DEVVLJPD VLJF GLI DEVVLJPD DEVVLJPD DEVVLJPD DEVVLJPD DOOWKHVHVWUHVVHVVKRXOGEH]HUR B GLI GLIGLIGLI VWU ^ >VLJPD VLJFVLJPD VLJF@ >VLJPDVLJPD@ ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L>VLJPD VLJFVLJPD VLJF@>VLJPDVLJPD@GLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG HOVH GLVS 1RFKHFNLVSURYLGHGIRUWKHSRLQWZKRVH\FRPSRQHQWLVQRW]HURLHQRQVXUIDFHSRLQW HQG HQG
F109: s422halfPFs IXQFWLRQ>XXBXBVLJPDVLJPD@ VKDOI3)VORDGVWU[LYN 6KDOI3)VFDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DKDOIVSDFHVXEMHFWHGWRDFRQFHQWUDWHGIRUFHSBKDWDSSOLHGRQDVXUIDFHSRLQW[BKDW XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ SBKDWSRLQWORDG>SSS@RU>SSSS@IRUSLH]RHOHFWULFPDWHULDOV [BKDWORFDWLRQRISRLQWIRUFH JOREDO(W\SH3W\SH($%PX,FKHFNGLP IURP0DLQSURJUDPFRQWUROSDUDPHWHUV 6WURK VPDWHULDOSURSHUWLHV JOREDOSBKDW[BKDW JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
Appendix F: AEPH Source Code (Listed in Alphabetic Order) SBKDW ORDGVWU ( SRLQWORDG>SSS@IRUDQLVRWURSLFPDWHULDOV LI3W\SHa SBKDW ORDGVWU HQG
>SSSS@IRUSLH]RHOHFWULFPDWHULDOV
LI3W\SH!SBKDW ORDGVWU HQG
>SSSSS@IRU0((PDWHULDOV
[BKDW ORDGVWUGLP
[BKDWORFDWLRQRISRLQWIRUFH
HQG LI[L !GLVS ZURQJLQSXWRIILHOGSRLQWVZKLFKVKRXOGEHORFDWHGDW[ HQG VROXWLRQIURPHTQ ] [L [L PX G] ][BKDW]L G] PXB]L PX ]L I] GLDJORJG] LQY% ORJG] VHHVHFWLRQUHPDUNVRQFRPSXWHUFRGLQJ X LPDJ$ I] SBKDWSL SKL LPDJ% I] SBKDWSL ( VWUHVVHVDQGVWUDLQVFDOFXODWHGWKURXJKWKHGHULYDWLYHVRIXDQGSKL I] GLDJ]L LQY% I] GLDJPXB]L LQY% XB LPDJ$ I] SBKDWSL XB LPDJ$ I] SBKDWSL VLJPD LPDJ% I] SBKDWSL ( VLJPD LPDJ% I] SBKDWSL ( VROXWLRQIURPGLIIHUHQWDSSURDFKHTQ LI,FKHFN
G[ [L [BKDW G\ [L U VTUWG[AG\A WKHWD DFRVG[U LIG\WKHWD WKHWDHQG
HTQ SLWKHWDSL
>6+/@ 6WURKBPDWULFHV VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV >1WL1WL1WL@ 6WURKBPDWULFHVWKHWD VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV L/ LQY/ XF ORJU H\HGLP SL 1WL L/ SBKDWSL HTQ B SKLF 1WL L/ SBKDW ( HTQ B GLI DEVXXF GLI DEVSKLSKLF GLI PD[GLIGLI VWU ^ B >XXF@ >SKLSKLF@ ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L>XXF@>SKLSKLF@GLIVWU SULQWWKHPHVVDJHRI,FKHFN FDOFXODWLRQRIVWUHVVHVLQSRODUFRRUGLQDWH >1WK1WK1WK@ 6WURKBPDWULFHVWKHWD VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV V VLQWKHWD F FRVWKHWD V V VF F FFV F V VWK >FV@L >@SLU SL U HTQE LI3W\SHa VWK >VWK@L >L@HQG
HTQ IRUSLH]RDQG0((
LI3W\SH!VWK >VWK@L >L@HQG
IRU0((
VWUHVVHVLQSRODUFRRUGLQDWHHTQ IRUJHQHUDODQLVRWURSLFPDWHULDOV VLJWKF VLJUWKF VLJWKF VLJUF VWK
1WK L/ SBKDWSLU ( VLJUF L
1WK L/ SBKDWSLU ( WUDQVIRUPDWLRQRIVWUHVVHVREWDLQHGE\XVLQJ EHIRUH,FKHFN IURP&DUWHVLDQWRSRODUFRRUGLQDWH VLJWK VLJPD VVLJPD F VLJPD FV VLJU VLJPD FVLJPD V VLJPD FV VLJUWK VLJPD VLJPD FVVLJPD FV VLJWK V VLJPD F VLJPD VLJU F VLJPD V VLJPD GLIIHUHQFHEHWZHHQVROXWLRQV DQG GLI DEVVLJWKVLJWKF GLI DEVVLJUVLJUF GLI DEVVLJUWKVLJUWKF GLI DEVVLJWKVLJWKF GLI DEVVLJUVLJUF GLI GLIGLIGLIGLIGLI VWU ^ >VLJWKVLJWKFVLJUVLJUFVLJUWKVLJUWKF@ >VLJWKVLJWKFVLJUVLJUF@ ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L>VLJWKVLJWKFVLJUVLJUFVLJUWKVLJUWKF@>VLJWKVLJWKFVLJUVLJUF@GLIVWU SULQWWKHPHVVDJHRI,FKHFN
727
728
Appendix F: AEPH Source Code (Listed in Alphabetic Order) LI(W\SH
H[SOLFLWVROXWLRQIRULVRWURSLFPDWHULDOVHTQ
VLJWKF VLJUWKF VLJWKF VLJUF SBKDW FSBKDW V SLU ( VLJUF SBKDW SLU ( GLIIHUHQFHEHWZHHQVROXWLRQV DQG GLI DEVVLJWKVLJWKF GLI DEVVLJUVLJUF GLI DEVVLJUWKVLJUWKF GLI DEVVLJWKVLJWKF GLI DEVVLJUVLJUF GLI GLIGLIGLIGLIGLI VWU ^ >VLJWKVLJWKFVLJUVLJUFVLJUWKVLJUWKF@ >VLJWKVLJWKFVLJUVLJUF@ ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L>VLJWKVLJWKFVLJUVLJUFVLJUWKVLJUWKF@>VLJWKVLJWKFVLJUVLJUF@GLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG HQG
F110: s423halfDT IXQFWLRQ>XXBXBVLJPDVLJPD@ VKDOI'7ORDGVWU[LYN 6KDOI'7FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DKDOIVSDFHVXEMHFWHGWRDGLVWULEXWHGORDGSBKDWDSSOLHGRQWKHKDOIVSDFHVXUIDFH XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ QSRUGHURISRO\QRPLDOXVLQJWRH[SUHVVWKHGLVWULEXWHGORDG [D[EWKHUHJLRQ[D[E ZKHUHWKHGLVWULEXWHGORDGLVDSSOLHG QB*DXVVQXPEHURI*DXVVSRLQWVIRULQWHJUDWLRQWKURXJK*DXVVTXDGUDWXUHUXOHVXJJHVWHGQXPEHU SLMFRHIILFLHQWVRIWKHSRO\QRPLDOVH[SUHVVHGE\XVLQJDGLP QS PDWUL[HTQ SLM FRHIIRISRO\QRPLDORIGLVWULEXWHGORDGDSSOLHGLQ[GLUHFWLRQIURPWKRUGHUWRQWKRUGHU SLM FRHIIRISRO\QRPLDORIGLVWULEXWHGORDGDSSOLHGLQ[GLUHFWLRQIURPWKRUGHUWRQWKRUGHU SLM FRHIIRISRO\QRPLDORIGLVWULEXWHGORDGDSSOLHGLQ[GLUHFWLRQIURPWKRUGHUWRQWKRUGHU SLM FRHIIRISRO\QRPLDORIGLVWULEXWHGORDGUHODWHGWRHOHFWULFGLVSODFHPHQWIURPWKRUGHUWRQWKRUGHU [J*DXVVSRLQWVIRULQWHJUDWLRQ ZJZHLJKWVRIWKH*DXVVSRLQWV [ED [E[D JOREDO3W\SH(HSV$%PXGLPIURP0DLQSURJUDPFRQWUROSDUDPHWHUV 6WURK VPDWHULDOSURSHUWLHV JOREDOQS[D[EQB*DXVVSLM[JZJ[EDJHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
QS ORDGVWU
RUGHURISRO\QRPLDOXVLQJWRH[SUHVVWKHGLVWULEXWHGORDG
[D ORDGVWU [E ORDGVWU [D[E WKHUHJLRQZKHUHWKHGLVWULEXWHGORDGLVDSSOLHG QB*DXVV ORDGVWU QXPEHURI*DXVVLDQSRLQWVVXJJHVWHGQXPEHU SLM ORDGVWUQS ( FRHIILFLHQWVRISRO\QRPLDOVH[SUHVVHGE\XVLQJD QS PDWUL[ LI3W\SHa SLM ORDGVWUQS HQG
DGGLWLRQDOURZIRUSLH]RHOHFWULFPDWHULDOV
LI3W\SH!SLM ORDGVWUQS HQG
DGGLWLRQDOURZIRU0((PDWHULDOV
>[JZJ@ *DXVVQB*DXVV IRUWKHSXUSRVHRILQWHJUDWLRQ[J*DXVVSRLQWZJZHLJKW [ED [E[D HQG LI[L !GLVS ZURQJLQSXWRIILHOGSRLQWVZKLFKVKRXOGEHORFDWHGDW[ HQG X ]HURVGLP SKL ]HURVGLP XB ]HURVGLP XB ]HURVGLP VLJPD ]HURVGLP VLJPD ]HURVGLP IRULJ QB*DXVV LQWHJUDWLRQE\*DXVVTXDGUDWXUHUXOH [BKDW [E[D [JLJ [E[D HTQ$E SBKDW SLM LIQS!
Appendix F: AEPH Source Code (Listed in Alphabetic Order) IRUM QSM MSBKDW SBKDWSLMM [BKDWAMHQG
729 HTQ
HQG VROXWLRQIURPHTQ ] [L [L PX G] ][BKDW LIG]
G] HSVHQG
]L G] PXB]L PX ]L GORJ] GLDJORJG] I] GORJ] LQY% X XLPDJ$ I] SBKDWSL ZJLJ [ED SKL SKLLPDJ% I] SBKDWSL ZJLJ [ED ( VWUHVVHVDQGVWUDLQVFDOFXODWHGWKURXJKWKHGHULYDWLYHVRIXDQGSKL I] GLDJ]L LQY% I] GLDJPXB]L LQY% XB XBLPDJ$ I] SBKDWSL ZJLJ [ED XB XBLPDJ$ I] SBKDWSL ZJLJ [ED VLJPD VLJPDLPDJ% I] SBKDWSL ZJLJ [ED ( VLJPD VLJPDLPDJ% I] SBKDWSL ZJLJ [ED ( HQG
F111: s424halfPM IXQFWLRQ>XXBXBVLJPDVLJPD@ VKDOI30ORDGVWU[LYN 6KDOI30FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DKDOIVSDFHVXEMHFWHGWRDFRQFHQWUDWHGPRPHQWPBKDWDSSOLHGDWSRLQW[BKDW XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ PBKDWSRLQWPRPHQWDERXW[D[LV [BKDWORFDWLRQRISRLQWIRUFH JOREDO,FKHFNHSV IURP0DLQSURJUDPFRQWUROSDUDPHWHUV JOREDOPBKDW[BKDW JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
PBKDW ORDGVWU [BKDW >ORDGVWU ORDGVWU @
PBKDWSRLQWPRPHQWDERXW[D[LV [BKDWORFDWLRQRISRLQWPRPHQW
HQG LI[L !GLVS ZURQJLQSXWRIILHOGSRLQWVZKLFKVKRXOGEHORFDWHGDW[ HQG SBKDW PBKDW HSV HTQE B VROXWLRQIURPHTQ DQG ,QE XVLQJ?WKHWD HSV ADQGKHQFHFRV?WKHWDW VLQ?WKHWD Q V ORDGVWU$ ORDGVWU$ SBKDWORDGVWU$ ORDGVWU$ [BKDW HSVORDGVWU$ [BKDW ORDGVWU% ORDGVWU% SBKDW ORDGVWU% ORDGVWU% [BKDW HSVORDGVWU% [BKDW ORDGVWU& SBKDWORDGVWU& ORDGVWU& ORDGVWU& [BKDW ORDGVWU& [BKDW HSV ORDGVWU' SBKDWORDGVWU' ORDGVWU' ORDGVWU' [BKDW ORDGVWU' [BKDW HSV >X$X$BX$BVLJPD$VLJPD$@ VKDOI3)ORDGVWU$[LYN >X%X%BX%BVLJPD%VLJPD%@ VKDOI3)ORDGVWU%[LYN >X&X&BX&BVLJPD&VLJPD&@ VKDOI3)ORDGVWU&[LYN >X'X'BX'BVLJPD'VLJPD'@ VKDOI3)ORDGVWU'[LYN X X$X%X&X' XB X$BX%BX&BX'B XB X$BX%BX&BX'B HTQ VLJPD VLJPD$VLJPD%VLJPD&VLJPD' VLJPD VLJPD$VLJPD%VLJPD&VLJPD' LI,FKHFN
FKDQJH?WKHWDDQGHSVWRRWKHUYDOXHV HSV HGHSV HSVWKI SLGWK WKI
730
Appendix F: AEPH Source Code (Listed in Alphabetic Order) IRUHS HSVGHSVHSV IRUWK GWKWKI SBKDW PBKDW HS VROXWLRQIURPHTQ DQG ORDGVWU$ SBKDW VLQWK ORDGVWU$ SBKDW FRVWK ORDGVWU$ ORDGVWU$ [BKDW HS FRVWK ORDGVWU$ [BKDW HS VLQWK ORDGVWU% SBKDW VLQWK ORDGVWU% SBKDW FRVWK ORDGVWU% ORDGVWU% [BKDW HS FRVWK ORDGVWU% [BKDW HS VLQWK ORDGVWU& SBKDW FRVWK ORDGVWU& SBKDW VLQWK ORDGVWU& ORDGVWU& [BKDW HS VLQWK ORDGVWU& [BKDW HS FRVWK ORDGVWU' SBKDW FRVWK ORDGVWU' SBKDW VLQWK ORDGVWU' ORDGVWU' [BKDW HS VLQWK ORDGVWU' [BKDW HS FRVWK >X$X$BX$BVLJPD$VLJPD$@ VKDOI3)ORDGVWU$[LYN >X%X%BX%BVLJPD%VLJPD%@ VKDOI3)ORDGVWU%[LYN >X&X&BX&BVLJPD&VLJPD&@ VKDOI3)ORDGVWU&[LYN >X'X'BX'BVLJPD'VLJPD'@ VKDOI3)ORDGVWU'[LYN XF X$X%X&X' XBF X$BX%BX&BX'B XBF X$BX%BX&BX'B VLJPDF VLJPD$VLJPD%VLJPD&VLJPD' VLJPDF VLJPD$VLJPD%VLJPD&VLJPD' GLI DEVXXF GLI DEVXBXBF GLI DEVXBXBF GLI DEVVLJPDVLJPDF GLI DEVVLJPDVLJPDF GLI PD[GLIGLIGLIGLIGLI VWU ^ >XXFXBXBFXBXBF@ >VLJPDVLJPDFVLJPDVLJPDF@ `VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L>XXFXBXBFXBXBF@>VLJPDVLJPDFVLJPDVLJPDF@GLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG HQG HQG
F112: s425halfDL IXQFWLRQ>XXBXBVLJPDVLJPD@ VKDOI'/ORDGVWU[LYN 6KDOI'/FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DKDOIVSDFHZLWKDGLVORFDWLRQEBKDWORFDWHGRQSRLQW[BKDW XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ EBKDW%XUJHUVYHFWRU>EEE@RU>EEEE@IRUSLH]RHOHFWULFPDWHULDOV [BKDWORFDWLRQRIGLVORFDWLRQ JOREDO3W\SH,FKHFN(GLP$%PX1 IURP0DLQSURJUDPFRQWUROSDUDPHWHUV 6WURK VPDWHULDOSURSHUWLHV JOREDOEBKDW[BKDW JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
EBKDW ORDGVWU %XUJHUVYHFWRU>EEE@IRUDQLVRWURSLFPDWHULDOV LI3W\SHa EBKDW ORDGVWU (HQG
>EEEE@IRUSLH]RHOHFWULFPDWHULDOV
LI3W\SH!EBKDW ORDGVWU (HQG
>EEEEE@IRU0((PDWHULDOV
[BKDW >ORDGVWUGLP ORDGVWUGLP @
[BKDWORFDWLRQRIGLVORFDWLRQ
HQG LI[L !GLVS ZURQJLQSXWRIILHOGSRLQWVZKLFKVKRXOGEHORFDWHGDW[ HQG VROXWLRQIURPHTQ ] [L [L PX ]BKDW [BKDW [BKDW PX F]BKDW FRQM]BKDW G] ]]BKDW ]L G] L%F% LQY% FRQM% %E %
EBKDW I] GLDJORJG] FRQM%E SL L VWWHUPRIHTQ VHHVHFWLRQUHPDUNVRQFRPSXWHUFRGLQJ
Appendix F: AEPH Source Code (Listed in Alphabetic Order) IRUM GLP I] I]GLDJORJ]F]BKDWM L%F%M %EM SL L HTQ HQG X UHDO$ I] SKL UHDO% I] ( VWUHVVHVDQGVWUDLQVFDOFXODWHGWKURXJKWKHGHULYDWLYHVRIXDQGSKL I] GLDJ]L FRQM%E SL L VWWHUPRIHTQ VHHVHFWLRQUHPDUNVRQFRPSXWHUFRGLQJ IRUM GLP I] I]GLDJ]F]BKDWM L%F%M %EM SL L GHULYDWLYHI]B[RII]HTQ HQG I] GLDJPX I] GHULYDWLYHI]B[RII]HTQ XB UHDO$ I] XB UHDO$ I] VLJPD UHDO% I] ( VLJPD UHDO% I] ( VROXWLRQIURPGLIIHUHQWDSSURDFKHTQ IRUWKHVXUIDFHSRLQWV[ LI,FKHFN
[L
G[ [L [BKDW G\ [BKDW U VTUWG[AG\A WKHWD DFRVG[U LIG\WKHWD WKHWDHQG
HTQ SLWKHWDSL
>6+/@ 6WURKBPDWULFHV VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV >1WK1WK1WK@ 6WURKBPDWULFHVWKHWD VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV >1WL1WL1WL@ 6WURKBPDWULFHVWKHWD VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV L/ LQY/ SKLB VLJPD XF L/ 1WL EBKDW HTQ B SKLFB VLQWKHWD 1 L/ 1WK EBKDWSL U ( HTQ B GLI DEVXXF GLI DEVSKLBSKLFB GLI PD[GLIGLI VWU ^ >XXF@ >SKLBSKLFB@ ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L>XXF@>SKLBSKLFB@GLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG
F113: s431bimatPFD IXQFWLRQ>XXBXBVLJPDVLJPD@ VELPDW3)'ORDGVWU[LYN 6ELPDW3)'FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DELPDWHULDOVXEMHFWHGWRDFRQFHQWUDWHGIRUFHSBKDWDQGGLVORFDWLRQDSSOLHGDWSRLQW[BKDW DQG[BKDWLVORFDWHGLQWKHUHJLRQRIPDWHULDO[! LHDERYHWKHLQWHUIDFH XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ SBKDWSRLQWORDG>SSS@RU>SSSS@IRUSLH]RHOHFWULFPDWHULDOV EBKDW%XUJHUVYHFWRU>EEE@RU>EEEE@IRUSLH]RHOHFWULFPDWHULDOV [BKDWORFDWLRQRIGLVORFDWLRQ $$%%PDWHULDOHLJHQYHFWRUPDWULFHVIRUPDWHULDOVDQG PXPXPDWHULDOHLJHQYDOXHVIRUPDWHULDOVDQG WKN >SLSL@YHFWRURIZHGJHDQJOHVIRUELPDWHULDOV JOREDO3W\SH,FKHFN(GLP$BD%BDPXBDIURP0DLQSURJUDPFRQWUROSDUDPHWHUV 6WURK VPDWHULDOSURSHUWLHV JOREDOSBKDWEBKDW[BKDW$$%%PXPX JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! JOREDOWKN JHQHUDWHGHPSOR\HGLQ6WURKBPDWULFHV LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
SBKDW ORDGVWU ( SRLQWORDG>SSS@IRUDQLVRWURSLFPDWHULDOV LI3W\SHa SBKDW ORDGVWU HQG
>SSSS@IRUSLH]RHOHFWULFPDWHULDOV
LI3W\SH!SBKDW ORDGVWU HQG
>SSSSS@IRU0((PDWHULDOV
731
732
Appendix F: AEPH Source Code (Listed in Alphabetic Order) EBKDW ORDGVWUGLPGLP %XUJHUVYHFWRU>EEE@IRUDQLVRWURSLFPDWHULDOV LI3W\SHa EBKDW ORDGVWUGLP (HQG
>EEEE@IRUSLH]RHOHFWULFPDWHULDOV
LI3W\SH!EBKDW ORDGVWUGLP (HQG
>EEEEE@IRU0((PDWHULDOV
[BKDW >ORDGVWU GLP ORDGVWU GLP @
[BKDWORFDWLRQRISRLQWIRUFH GLVORFDWLRQ
$ $BD $ $BD % %BD % %BD PX PXBD PX PXBD WKN >SLSL@ 1RWH,QRUGHUWRFKHFNWKHFRPSOH[IRUPVROXWLRQZKRVHSULQFLSDOYDOXHIRUORJDULWKPLFIXQFWLRQLVVHWLQWKHUDQJHRI SLWKHWDSL+HUHWKNLVUDQJHGLQSLWKNSLE\VKLIWLQJSL SLWRSLSLZKLFKLVGLIIHUHQWIURPWKHUDQJHXVHG LQ&KWKN SL 7KLVFKDQJHZLOOLQIOXHQFHRQO\WKHUHVXOWRI,FKHFN HQG VROXWLRQIURPHTQ ] [L [L PX ] [L [L PX ]BKDW [BKDW [BKDW PX F]BKDW FRQM]BKDW G] ]]BKDW ]L G] $L LQY$ $L LQY$ F$ FRQM$ 0 L % $L 0 L % $L F0 FRQM0 F0 FRQM0 F0 F00 F0L LQYF0 SE $
SBKDW%
EBKDW SE $L F0L F0F0 F$ SE $L FRQMF0L $L I] GLDJORJG] SE SL L I]B GLDJ]L SE SL L
I]RIHTQE B
I] ]HURVGLP I]B ]HURVGLP IRUM GLP I] I]GLDJORJ]F]BKDWM SEM FRQMSEM SL L
HTQE B
I]B I]BGLDJ]F]BKDWM SEM FRQMSEM SL L I] I]GLDJORJ]]BKDWM SEM SEM SL
GHULYDWLYHRII]HTQE B
HTQE B
I]B I]BGLDJ]]BKDWM SEM SEM SL
GHULYDWLYHRII]HTQE B
HQG I]B GLDJPX I]B I]B GLDJPX I]B LI[L ! X UHDO$ I] SKL UHDO% I] ( XB UHDO$ I]B XB UHDO$ I]B VLJPD UHDO% I]B ( VLJPD UHDO% I]B ( HOVH X UHDO$ I] SKL UHDO% I] ( XB UHDO$ I]B XB UHDO$ I]B VLJPD UHDO% I]B ( VLJPD UHDO% I]B ( HQG VROXWLRQIURPGLIIHUHQWDSSURDFKHTQ IRUWKHLQWHUIDFHSRLQWV[ LI,FKHFN
[L
G[ [L [BKDW G\ [BKDW U VTUWG[AG\A WKHWD DFRVG[U LIG\WKHWD WKHWDHQG
HTQ SLWKHWDSL
>6WL+WL/WL@ 6WURKBPDWULFHV VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV >1WL1WL1WL@ 6WURKBPDWULFHVWKHWD VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV 6+/WL >6WL+WL/WL6WL @ 1WL >1WL1WL1WL1WL @ XSKL 6+/WL ORJU H\H GLP SL 1WL >EBKDWSBKDW@ SL XF XSKLGLP SKLF XSKLGLP GLP ( GLI DEVXXF GLI DEVSKLSKLF GLI PD[GLIGLI VWU ^ >XXF@ >SKLSKLF@ ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L>XXF@>SKLSKLF@GLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
733
F114: s432bimatPFDi IXQFWLRQ>XXBXBVLJPDVLJPD@ VELPDW3)'LORDGVWU[LYN 6ELPDW3)'LFDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DELPDWHULDOVXEMHFWHGWRDFRQFHQWUDWHGIRUFHSBKDWDQGGLVORFDWLRQDSSOLHGDWSRLQW[BKDW DQG[BKDWLVORFDWHGRQWKHLQWHUIDFH7KHLQWHUIDFHLVRULHQWHG FRXQWHUFORFNZLVHO\DQDQJOHDOSKD IURP[D[LV XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ SBKDWSRLQWORDG>SSS@RU>SSSS@IRUSLH]RHOHFWULFPDWHULDOV EBKDW%XUJHUVYHFWRU>EEE@RU>EEEE@IRUSLH]RHOHFWULFPDWHULDOV DOSKDDQJOHGLUHFWHGFRXQWHUFORFNZLVHO\IURP[D[LVWRWKHLQWHUIDFHLQSXWXQLWGHJUHH DOSKD QB*DXVVQXPEHURI*DXVVSRLQWVIRULQWHJUDWLRQWKURXJK*DXVVTXDGUDWXUHUXOHVXJJHVWHGQXPEHU WKN >DOSKDDOSKDSLDOSKD SL@SRODUDQJOHVRIELZHGJHV JOREDO3W\SH(HSVGLP IURP0DLQSURJUDPFRQWUROSDUDPHWHUV JOREDOSBKDWEBKDWDOSKDQB*DXVVWKN JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
SBKDW ORDGVWU ( SRLQWORDG>SSS@IRUDQLVRWURSLFPDWHULDOV LI3W\SHa SBKDW ORDGVWU HQG
>SSSS@IRUSLH]RHOHFWULFPDWHULDOV
LI3W\SH!SBKDW ORDGVWU HQG
>SSSSS@IRU0((PDWHULDOV
EBKDW ORDGVWUGLPGLP %XUJHUVYHFWRU>EEE@IRUDQLVRWURSLFPDWHULDOV LI3W\SHa EBKDW ORDGVWUGLP (HQG
>EEEE@IRUSLH]RHOHFWULFPDWHULDOV
LI3W\SH!EBKDW ORDGVWUGLP (HQG
>EEEEE@IRU0((PDWHULDOV
DOSKD ORDGVWU GLP SL DOSKDDQJOHGLUHFWHGFRXQWHUFORFNZLVHO\IURP[D[LVWRWKHLQWHUIDFH XQLWLQSXW GHJUHH DOSKDRXWSXW UDGLDQ DOSKDSL QB*DXVV QXPEHURI*DXVVSRLQWVIRULQWHJUDWLRQWKURXJK*DXVVTXDGUDWXUHUXOH WKN >DOSKDDOSKDSLDOSKD SL@ SRODUDQJOHVRIELZHGJHVDOSKD WKNL DOSKD SL 7KHRULJLQRIWKHSRODUFRRUGLQDWHLVDVVXPHGWREHWKHORFDWLRQRISRLQWIRUFHDQGGLVORFDWLRQ HQG [V [L FRVWKN [L VLQWKN [V [L VLQWKN [L FRVWKN U VTUW[VA[VA LIU LI[VWKV SLWKVHQG
U UHSVHQG WKV DFRV[VU XVLQJWKHUDQJHJLYHQLQHTQ WKV SL
WKHWD WKN WKV WKHWDLVORFDWHGEHWZHHQDOSKDDQGDOSKD SLLHWKN WKHWD WKN SL >6WL+WL/WL@ 6WURKBPDWULFHV >1WL1WL1WL@ 6WURKBPDWULFHVWKHWDDOSKD K 6WL EBKDW+WL SBKDW SL J /WL EBKDW6WL
SBKDW SL HTQF X ORJU KSL 1WL K1WL J HTQD SKL ORJU JSL 1WL K1WL
J ( HTQD FDOFXODWHVWUDLQVDQGVWUHVVHVWKURXJKWKHGHULYDWLYHVRIXDQGSKLHTQE >1WK1WK1WK@ 6WURKBPDWULFHVWKHWD 1KJ 1WK K1WK J 1KJ 1WK K1WK
J XB K FRVWKHWD 1KJ VLQWKHWD U XB K VLQWKHWD 1KJ FRVWKHWD U VLJPD J VLQWKHWD 1KJ FRVWKHWD U ( VLJPD J FRVWKHWD 1KJ VLQWKHWD U (
734
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
F115: s512wedgeUT IXQFWLRQ>XXBXBVLJPDVLJPD@ VZHGJH87ORDGVWU[LYN 6:('*(87FDOFXODWHVGLVSODFHPHQWVDQGVWUHVVHVIRUDVLQJOHZHGJHVXEMHFWHGWRXQLIRUPWUDFWLRQV RQWKHZHGJHVLGHV%RWKQRQFULWLFDOZHGJHDQJOHDQGFULWLFDOZHGJHDQJOHDUHFRQVLGHUHG %DVHGXSRQWKHZHGJHDQJOH DOSKD DQGWKHORDGLQJ WBKDW DSSOLHGRQWKHZHGJHVXUIDFHV WKHVROXWLRQVDUHFDWHJRUL]HGLQWRW\SHVDVVKRZQLQHTQD XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ WKWKIDQJOHVRIWZRZHGJHVLGHVWKWKILQSXWXQLWGHJUHH WWIWUDFWLRQVDSSOLHGRQWKDQGWKILHWBPLQXVDQGWBSOXVRI)LJXUH DOSKD WKIWK DOSKDZHGJHDQJOH QQIXQLWYHFWRUVQRUPDOWRWKHZHGJHVXIDFHVWKDQGWKI WBKDW QI
WQ
WIGHILQHGLQHTQ 'HOWD Q
1WL QIGHILQHGLQHTQ :W\SHZHGJHW\SHFDWHJRUL]HGE\HTQD LH :W\SH WBKDW DOSKDa SL SL :W\SH WBKDW DOSKD SLRU SL :W\SH WBKDWa DOSKDa SL SL DOSKDBF DOSKDBFFULWLFDOZHGJHDQJOH :W\SH WBKDWa DOSKD SLRU SLIXUWKHUFDWHJRUL]HGWR:W\SH DQG :W\SH ZKHQ DOSKD SL WBSOXVWBPLQXVLVSDUDOOHOWRWKHGLUHWLRQRI/QWKHWDBPLQXV RUZKHQ DOSKD SL WBSOXVWBPLQXVLVSDUDOOHOWRWKHGLUHWLRQRI/QWKHWDBPLQXV :W\SH ZKHQ DOSKD SL WBSOXVWBPLQXVLVQRWSDUDOOHOWRWKHGLUHWLRQRI/QWKHWDBPLQXV RUZKHQ DOSKD SL WBSOXVWBPLQXVLVQRWSDUDOOHOWRWKHGLUHWLRQRI/QWKHWDBPLQXV :W\SH WBKDW a DOSKD DOSKDBF NDSDUDPHWHUGHILQHGLQHTQE IRU:W\SH KDFRHIILFLHQWYHFWRUGHILQHGLQHTQE IRU:W\SH JOREDO3W\SH(HSV%GLPIURP0DLQSURJUDPFRQWUROSDUDPHWHUV PDWHULDOSURSHUWLHV JOREDO6LMIURPIXQFWLRQHODVWLF SLH]R0 JOREDOWKWKIWWIDOSKDQQIWBKDW'HOWD:W\SHNK JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
WK ORDGVWU SLWKI ORDGVWU SL WKWKIWK ?WKHWDWKI ?WKHWDRI)LJXUH W ORDGVWU ( WUDFWLRQDSSOLHGRQWKWBPLQXVRI)LJXUH WI ORDGVWUGLPGLP ( WUDFWLRQDSSOLHGRQWKIWBSOXVRI)LJXUH LI3W\SHa W ORDGVWU WI ORDGVWUGLP HQG
WKFRPSRQHQWRIWDQGWIIRUSLH]RHOHFWULFPDWHULDOV
LI3W\SH!W ORDGVWU WI ORDGVWUGLP HQG
WKFRPSRQHQWRIWDQGWIIRU0((PDWHULDOV
DOSKD WKIWK DOSKDZHGJHDQJOH >1WL1WL1WL@ 6WURKBPDWULFHVWKIWK Q >VLQWK FRVWK @ QI >VLQWKI FRVWKI @ LI3W\SHa Q >Q@QI >QI@HQG
HTQD IRUSLH]RDQG0((
LI3W\SH!Q >Q@QI >QI@HQG
IRU0((
WBKDW QI
WQ
WI 'HOWD Q
1WL QI HTQ FDWHJRUL]HWKHZHGJHLQWRW\SHVDFFRUGLQJWRHTQD LIDEVWBKDW HSV DEVDOSKDSL !HSV DEVDOSKD SL !HSV:W\SH HQG LIDEVWBKDW HSV DEVDOSKDSL HSV_DEVDOSKD SL HSV :W\SH HQG LIDEVWBKDW !HSV DEVDOSKDSL !HSV DEVDOSKD SL !HSV DEV'HOWD !HSV:W\SH HQG LIDEVWBKDW !HSV DEVDOSKDSL HSV_DEVDOSKD SL HSV :W\SH HQG LIDEVWBKDW !HSV DEV'HOWD HSV:W\SH HQG LI:W\SH
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
735
/ L % % /Q / QWIP WIWWIS WIW>/PM@ PD[DEV/Q NP WIPM /QM NS WISM /QM WIP NP /QWIS NS /Q LIDEVDOSKDSL HSV DEVPD[WIPWIP HSV :W\SH N NPSL HTQE HOVHLIDEVDOSKDSL HSV :W\SH K LQY/ WIPSL HTQE HQG LIDEVDOSKD SL HSV DEVPD[WISWIS HSV :W\SH N NS SL HTQE HOVHLIDEVDOSKD SL HSV :W\SH K LQY/ WIS SL HTQE HQG HQG HQG [V [L FRVWK [L VLQWK [V [L VLQWK [L FRVWK U VTUW[VA[VA WKV DFRV[VU LI[VHSVWKV SLWKVHQG
XVLQJWKHUDQJHJLYHQLQHTQ WKV SL
WK WKWKV WKLVORFDWHGEHWZHHQWKDQGWK SLLHWK WK WK SL F FRVWK V VLQWK VZLWFK:W\SH FDVH HTQE RUHTQD WBLQI FRVWK WIFRVWKI W VLQDOSKD HTQ WBLQI VLQWK WIVLQWKI W VLQDOSKD HTQ VLJPD >WBLQI WBLQI WBLQI WBLQI WBLQI @ HTQ LI3W\SHa VLJPD >VLJPDWBLQI WBLQI @HQG
WBLQI VLJ 'WBLQI VLJ '
LI3W\SH!VLJPD >VLJPDWBLQI WBLQI @HQG
WBLQI VLJ %WBLQI VLJ %
HSVBLQI 6LM VLJPD HTQD HSVBLQI >HSVBLQI HSVBLQI HSVBLQI @ HTQE HSVBLQI >HSVBLQI HSVBLQI HSVBLQI @ HTQE LI3W\SHa HSVBLQI >HSVBLQIHSVBLQI @HSVBLQI >HSVBLQIHSVBLQI @HQG LI3W\SH!HSVBLQI >HSVBLQIHSVBLQI @HSVBLQI >HSVBLQIHSVBLQI @HQG X [L HSVBLQI[L HSVBLQI SKL [L WBLQI[L WBLQI ( XB HSVBLQI XB HSVBLQI HTQD VLJPD WBLQI ( VLJPD WBLQI ( FDVH HTQE >1WK1WK1WK@ 6WURKBPDWULFHVWK GWK WKWKFGWK FRVGWK VGWK VLQGWK F FRVWK V VLQWK 1W 1WK
W 1W 1WK W X U VGWK 1W SKL U FGWK WVGWK 1W ( XB V 1W XB F 1W HTQE VLJPD V WF 1W ( VLJPD F WV 1W ( FDVH HTQF >1WL1WL1WL@ 6WURKBPDWULFHVWKIWK >1KDW1KDW1KDW@ 6WURKBPDWULFHVWKIWK >1WK1WK1WK@ 6WURKBPDWULFHVWK >1WK1WK1WK@ 6WURKBPDWULFHVWK
HTQ
736
Appendix F: AEPH Source Code (Listed in Alphabetic Order) >1WK1WK1L@ 6WURKBPDWULFHVWK K 1L WI1KDW
WWBKDW 1WL QI'HOWD VLQDOSKD HTQ >1WL1WL1WL@ 6WURKBPDWULFHVWKWK >1KDW1KDW1KDW@ 6WURKBPDWULFHVWKWK QWK >VLQWK FRVWK @L >@ L >@ LI3W\SHa QWK >QWK@L >L@L >L@ HQG
HTQD
LI3W\SH!QWK >QWK@L >L@L >L@ HQG WG WBKDWSL 'HOWD U1WL ORJU H\HGLP SL 1WL X U 1KDW K1KDW WWG U1WL QWK SKL U 1KDW K1KDW
WWG SL 1WL QWK ( F FRVWK V VLQWK 1KDW F H\HGLP V 1WK1KDW V H\HGLP F 1WK 1BKDWWK 1BKDWSLWK XB 1KDW KV 1WK WWG U1WLH\HGLP L HTQF B XB 1KDW KF 1WK WWG U1WLH\HGLP L HTQF B VLJPD F 1WK K1KDW
WWG SL 1WL L ( HTQF B VLJPD V 1WK K1KDW
WWG SL 1WL L ( HTQF B FDVH^` HTQV >1WL1WL1WL@ 6WURKBPDWULFHVWKWK >1KDW1KDW1KDW@ 6WURKBPDWULFHVWKWK U1WL ORJU H\HGLP SL 1WL LI:W\SH
QWK >VLQWK FRVWK @ L >@ L >@ LI3W\SHa QWK >QWK@L >L@L >L@ HQG
HTQD
LI3W\SH!QWK >QWK@L >L@L >L@ HQG X U 1KDW WN U1WL QWK
HTQD B
SKL U 1KDW
WN SL 1WL QWK ( HTQD B >1WK1WK1WK@ 6WURKBPDWULFHVWK F FRVWK V VLQWK 1KDW F H\HGLP V 1WK 1BKDWWK 1KDW V H\HGLP F 1WK 1BKDWSLWK XB V 1WK WN U1WLH\HGLP L HTQG B XB F 1WK WN U1WLH\HGLP L HTQG B VLJPD 1KDW
WN SL 1WL L (
HTQG B
VLJPD 1KDW
WN SL 1WL L ( HTQG B HOVHLI:W\SH
X U 1KDW WU1WL 1KDWSL 1WL 1KDW K
HTQD B
SKL U 1KDW
WU1WL
1KDWSL 1WL 1KDW K ( HTQD B >1KDW1KDW1KDW@ 6WURKBPDWULFHVWK
1LBKDWWK
>1KDW1KDW1KDW@ 6WURKBPDWULFHVSLWK 1LBKDWSLWK >1KDW1KDW1KDW@ 6WURKBPDWULFHVWK
1LBKDWWK
>1KDW1KDW1KDW@ 6WURKBPDWULFHVSLWK
1LBKDWSLWK
1WLV 1WL 1KDW1WL 1KDW 1WLV 1WL 1KDW1WL 1KDW HTQF B 1WLV 1WL
1KDW1WL 1KDW 1WLV 1WL
1KDW1WL 1KDW HTQG B 1KDWV 1KDW 1KDW1KDW 1KDW 1KDWV 1KDW 1KDW1KDW 1KDWF B 1KDWV 1KDW
1KDW1KDW 1KDW 1KDWV 1KDW
1KDW1KDW 1KDW G B XB 1KDW WORJU 1KDWSL 1WLV1KDWV K
HTQH B
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
737
XB 1KDW WORJU 1KDWSL 1WLV1KDWV K
HTQH B
VLJPD 1KDW
WORJU 1KDWSL 1WLV1KDWV K ( HTQH B VLJPD 1KDW
WORJU 1KDWSL 1WLV1KDWV K (HTQH B HQG FDVH HTQ I >1WL1WL1WL@ 6WURKBPDWULFHVWKIWK >1KDW1KDW1KDW@ 6WURKBPDWULFHVWKIWK >1WK1WK1L@ 6WURKBPDWULFHVWK N SL 1L 1WL QI VLQDOSKD HTQG B N WI1KDW
W
HTQG B
N SL 1WL 1KDW NSLA 1WL 1WL1WL
1WL QI HTQG B KBKDW Q
NQ
N HTQE B K 1L NKBKDW N VLQDOSKD HTQG B >1WL1WL1WL@ 6WURKBPDWULFHVWKWK >1KDW1KDW1KDW@ 6WURKBPDWULFHVWKWK QWK >VLQWK FRVWK @ L >@ L >@ LI3W\SHa QWK >QWK@L >L@L >L@ HQG
HTQD
LI3W\SH!QWK >QWK@L >L@L >L@ HQG S 1KDW K1KDW W T 1KDW K1KDW
W
HTQE
S SL 1WL 1KDW1WL 1KDW NSLA 1WLA1WL 1WL QWK HTQE T SL 1WL 1KDW1WL
1KDW NSLA 1WL 1WL1WL
1WL QWK HTQE S 1KDW NSL 1WL QWK T 1KDW NSL 1WL QWK HTQE X U SKBKDW SORJU SORJU A QWK HTQD B SKL U TKBKDW TORJU TORJU A QWK ( HTQD B >1KDW1KDW1KDW@ 6WURKBPDWULFHVWK
1LBKDWWK
>1KDW1KDW1KDW@ 6WURKBPDWULFHVSLWK 1LBKDWSLWK >1KDW1KDW1KDW@ 6WURKBPDWULFHVWK >1KDW1KDW1KDW@ 6WURKBPDWULFHVSLWK
1LBKDWWK 1LBKDWSLWK
1WLV 1WL 1KDW1WL 1KDW 1WLV 1WL 1KDW1WL 1KDW HTQF B 1WLV 1WL
1KDW1WL 1KDW 1WLV 1WL
1KDW1WL 1KDW HTQG B 1KDWV 1KDW 1KDW1KDW 1KDW 1KDWV 1KDW 1KDW1KDW 1KDW HTQF B 1KDWV 1KDW
1KDW1KDW 1KDW 1KDWV 1KDW
1KDW1KDW 1KDW HTQG B 1WLS 1WLA1WL 1WL 1WLS 1WL 1WL1WL
1WL HTQF B G B SV SL 1WLV1KDWV NSL 1WLSL 1WLS L HTQD B SV SL 1WLV1KDWV NSL 1WLSL 1WLS L HTQD B SV 1KDW NH\HGLP SL 1WL L HTQD B SV 1KDW NH\HGLP SL 1WL L HTQD B TV SL 1WLV1KDWV NSL 1WLSL 1WLS L HTQE B TV SL 1WLV1KDWV NSL 1WLSL 1WLS LHTQE B TV 1KDW NH\HGLP SL 1WL L HTQE B TV 1KDW NH\HGLP SL 1WL L HTQE B XB 1KDW K1KDW WKBKDW SVORJU SVORJU A L HTQI B XB 1KDW K1KDW WKBKDW SVORJU SVORJU A L HTQI B VLJPD 1KDW K1KDW
WKBKDW TVORJU TVORJU A L ( HTQI B VLJPD 1KDW K1KDW
WKBKDW TVORJU TVORJU A L ( HTQI B HQG
738
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
F116: s521wedgePF IXQFWLRQ>XXBXBVLJPDVLJPD@ VZHGJH3)ORDGVWU[LYN 6:('*(3)FDOFXODWHVGLVSODFHPHQWVDQGVWUHVVHVIRUDVLQJOHZHGJHVXEMHFWHGWRDSRLQWIRUFH DWWKHZHGJHDSH[ XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ WKWKISRODUDQJOHVRIWKHWZRZHGJHVLGHVWKWKILQSXWXQLWGHJUHH SBKDWSRLQWIRUFHDSSOLHGRQWKHZHGJHDSH[ KS LQY1WL SBKDWSLGHILQHGLQHTQE ZLWKKS KSL JOREDO3W\SH,FKHFN(HSV$%PXGLP IURP0DLQSURJUDPFRQWUROSDUDPHWHUV PDWHULDOSURSHUWLHV JOREDOWKWKISBKDWKS JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
WK ORDGVWU SL WKI ORDGVWU SL WKWKIWK ?WKHWDWKI ?WKHWDRI)LJXUH SBKDW ORDGVWU ( SRLQWORDG>SSS@IRUDQLVRWURSLFPDWHULDOV LI3W\SHa SBKDW ORDGVWU HQG
>SSSS@IRUSLH]RHOHFWULFPDWHULDOV
LI3W\SH!SBKDW ORDGVWU HQG
>SSSSS@IRU0((PDWHULDOV
>1WL1WL1WL@ 6WURKBPDWULFHVWKIWK KS LQY1WL SBKDWSL HTQE KS KSL HQG ] [L [L PX X UHDO$ GLDJORJ] % KS SKL UHDO% GLDJORJ] % KS ( HTQD XB UHDO$ GLDJ] % KS VLJPD UHDO% GLDJ] % KS ( GHULYDWLYHRIHTQD XB UHDO$ GLDJPX] % KS VLJPD UHDO% GLDJPX] % KS ( GHULYDWLYHRIHTQD LI,FKHFN
FKHFNZLWKWKHUHDOIRUPVROXWLRQHTQ
[V [L FRVWK [L VLQWK [V [L VLQWK [L FRVWK U VTUW[VA[VA LIU
U UHSVHQGWKV DFRV[VU
LI[VHSVWKV SLWKVHQG
XVLQJWKHUDQJHJLYHQLQHTQ WKV SL
WK WKWKV WKLVORFDWHGEHWZHHQWKDQGWK SLLHWK WK WK SL >1WL1WL1WL@ 6WURKBPDWULFHVWK >1KDW1KDW1KDW@ 6WURKBPDWULFHVWK >1KDW1KDW1KDW@ 6WURKBPDWULFHVSLWK
1LBKDWWK 1LBKDWSLWK
XF ORJU H\HGLP SL 1WL KS SKLF 1WL KS SL ( HTQ XBF 1KDW KSU XBF 1KDW KSU
HTQ B
VLJPDF 1KDW KSU ( VLJPDF 1KDW KSU ( HTQ B GLI DEVXXF GLI DEVSKLSKLF GLI DEVXBXBF GLI DEVXBXBF GLI DEVVLJPDVLJPDF GLI DEVVLJPDVLJPDF GLI PD[GLIGLIGLIGLIGLIGLI VWU ^ >XXFSKLSKLF@ >XBXBFXBXBFVLJPDVLJPDFVLJPDVLJPDF@ `VWULQJVIRUPHVVDJHRI,FKHFN SULQW7)[L>XXFSKLSKLF@>XBXBFXBXBFVLJPDVLJPDFVLJPDVLJPDF@GLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG
F117: s522wedgePM IXQFWLRQ>XXBXBVLJPDVLJPD@ VZHGJH30ORDGVWU[LYN 6:('*(30FDOFXODWHVGLVSODFHPHQWVDQGVWUHVVHVIRUDVLQJOHZHGJHVXEMHFWHGWRDSRLQWPRPHQW DWWKHZHGJHDSH[
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
739
XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ WKWKISRODUDQJOHVRIWKHWZRZHGJHVLGHVWKWKILQSXWXQLWGHJUHH PBKDWSRLQWPRPHQWDSSOLHGRQWKHZHGJHDSH[ DOSKD WKIWK DOSKDZHGJHDQJOH QQIXQLWYHFWRUVQRUPDOWRWKHZHGJHVXIDFHVWKDQGWKI 1WL 1BWLOGHWKIWK SDUWRIHTQ 'HOWD Q
1WL QIGHILQHGLQHTQ QB*DXVVQXPEHURI*DXVVSRLQWVIRULQWHJUDWLRQ JOREDO3W\SH(HSVGLP IURP0DLQSURJUDPFRQWUROSDUDPHWHUV JOREDOWKWKIPBKDWDOSKDQQI1WL'HOWDQB*DXVV JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
WK ORDGVWU SL WKI ORDGVWU SL WKWKIWK ?WKHWDWKI ?WKHWDRI)LJXUH PBKDW ORDGVWU (SRLQWPRPHQWDSSOLHGRQWKHZHGJHDSH[ QB*DXVV ORDGVWU QXPEHURI*DXVVLDQSRLQWVVXJJHVWHGQXPEHU IRUQRQFULWLFDOZHGJH IRUFULWLFDOZHGJH DOSKD WKIWK DOSKDZHGJHDQJOH >1WL1WL1WL@ 6WURKBPDWULFHVWKIWK Q >VLQWK FRVWK @ QI >VLQWKI FRVWKI @ LI3W\SHa Q >Q@QI >QI@HQG
HTQD IRUSLH]RDQG0((
LI3W\SH!Q >Q@QI >QI@HQG
IRU0((
'HOWD Q
1WL QI HTQ HQG [V [L FRVWK [L VLQWK [V [L VLQWK [L FRVWK U VTUW[VA[VA LIU
U UHSVHQGWKV DFRV[VU
LI[VHSVWKV SLWKVHQG
XVLQJWKHUDQJHJLYHQLQHTQ WKV SL
WK WKWKV WKLVORFDWHGEHWZHHQWKDQGWK SLLHWK WK WK SL >1KDW1KDW1KDW@ 6WURKBPDWULFHVWKWK >1KDW1KDW1KDW@ 6WURKBPDWULFHVWK
1LBKDWWK
>1KDW1KDW1KDW@ 6WURKBPDWULFHVSLWK
1LBKDWSLWK
1KDWVL 1KDW 1KDW1KDW 1KDW 1KDWVL 1KDW 1KDW1KDW 1KDW HTQE B 1KDWVL 1KDW
1KDW1KDW 1KDW 1KDWVL 1KDW
1KDW1KDW 1KDW HTQE B LIDEV'HOWD !HSV X PBKDW 1KDW QISL U 'HOWD
HTQD B
SKL PBKDW 1KDW QISL U 'HOWD (HTQD B XB PBKDW 1KDWVL QISL UA 'HOWD HTQD B XB PBKDW 1KDWVL QISL UA 'HOWD HTQD B VLJPD PBKDW 1KDWVL QISL UA 'HOWD ( HTQD B VLJPD PBKDW 1KDWVL QISL UA 'HOWD ( HOVH
HTQD B
HTQ
1F ]HURVGLP >[JZJ@ *DXVVQB*DXVV IRULJ QB*DXVV LQWHJUDWLRQRIWKHPDWUL[LQFRIHTQI WK WKIWK WK WKIWK WKL WK [JLJ WK >1WK1WK1WK@ 6WURKBPDWULFHVWKL >1WL1WL1WL@ 6WURKBPDWULFHVWKWKL 1F 1F1WK 1WL1WK 1WL ZJLJ WK SDUWRIHTQI
740
Appendix F: AEPH Source Code (Listed in Alphabetic Order) HQG >1WK1WK1L@ 6WURKBPDWULFHVWKI K SL 1L 1WL Q VLQDOSKD SUHOLPLQDU\UHVXOWRIKHTQH F SL Q
1F QI F SL Q
1WL K HTQI N PBKDWFF HTQH >1WL1WL1WL@ 6WURKBPDWULFHVWKWK X N 1KDW ORJU QIK SL 1WL 1KDW1WL 1KDW QI U
HTQD BF B
SKL N 1KDW ORJU QIK SL 1WL
1KDW1WL 1KDW QI U ( HTQD BF B 0 SL 1WL 1KDWVL1WL 1KDWVL 0 SL 1WL 1KDWVL1WL 1KDWVL HTQG B 0 SL 1WL 1KDWVL1WL
1KDWVL 0 SL 1WL 1KDWVL1WL
1KDWVL HTQG B XB N 1KDWVL ORJU QIK 0 QI UA HTQE B XB N 1KDWVL ORJU QIK 0 QI UA HTQE B VLJPD N 1KDWVL ORJU QIK 0 QI UA ( HTQE B VLJPD N 1KDWVL ORJU QIK 0 QI UA ( HTQE B HQG
F118: s523MwedgePFD IXQFWLRQ>XXBXBVLJPDVLJPD@ V0ZHGJH3)'ORDGVWU[LYN 60:('*(3)'FDOFXODWHVGLVSODFHPHQWVDQGVWUHVVHVIRUDPXOWLZHGJHVSDFHVXEMHFWHGWR DSRLQWIRUFHDQGGLVORFDWLRQDWWKHZHGJHDSH[ XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ SBKDWSRLQWIRUFHDSSOLHGRQWKHZHGJHDSH[ EBKDWGLVORFDWLRQDSSOLHGRQWKHZHGJHDSH[ WKNYHFWRURISRODUDQJOHVRIZHGJHVLGHVWKN WKN WKNQ XQLWGHJUHH WK WKN WKHILUVWFRPSRQHQWRIWKN JOREDO3W\SH1PDW(HSVGLP IURP0DLQSURJUDPFRQWUROSDUDPHWHUV PDWHULDOSURSHUWLHV JOREDOSBKDWEBKDWWKNWK JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
SBKDW ORDGVWU ( SRLQWIRUFHDSSOLHGRQWKHZHGJHDSH[ LI3W\SHa SBKDW ORDGVWU HQG
SRLQWFKDUJHIRUSLH]RHOHFWULFPDWHULDOV
LI3W\SH!SBKDW ORDGVWU HQG
SRLQWFKDUJHIRU0((PDWHULDOV
EBKDW ORDGVWUGLPGLP %XUJHUVYHFWRU>EEE@RQWKHZHGJHDSH[IRUDQLVRWURSLFPDWHULDOV LI3W\SHa EBKDW ORDGVWU GLP (HQG
>EEEE@IRUSLH]RHOHFWULFPDWHULDOV
LI3W\SH!EBKDW ORDGVWUGLP (HQG
>EEEEE@IRU0((PDWHULDOV
WKN ORDGVWU GLP GLP1PDW SL SRODUDQJOHVRIZHGJHVLGHVWKN WKN WKNQ XQLWGHJUHH 1RWHFRPSDUHZLWKWKHV\PEROXVHGLQ)LJWKN VWDQGVIRUWKHWDWKN WKHWDHWF WK WKN HQG [V [L FRVWK [L VLQWK [V [L VLQWK [L FRVWK U VTUW[VA[VA LIU
U UHSVHQGWKV DFRV[VU
LI[VHSVWKV SLWKVHQG
XVLQJWKHUDQJHJLYHQLQHTQ WKV SL
WK WKWKV WKLVORFDWHGEHWZHHQWKDQGWK SLLHWK WK WK SL >6WL+WL/WL@ 6WURKBPDWULFHV >1WL1WL1WL@ 6WURKBPDWULFHVWKWK K 6WL EBKDW+WL SBKDW J /WL EBKDW6WL
SBKDW HTQE X ORJU KSL1WL K1WL J
HTQD B
Appendix F: AEPH Source Code (Listed in Alphabetic Order) SKL ORJU JSL1WL K1WL
J ( HTQD B FWK FRVWK VWK VLQWK >1WK1WK1WK@ 6WURKBPDWULFHVWK 1KDW FWK H\HGLP VWK 1WK 1KDW VWK H\HGLP FWK 1WK 1KDW 1BKDWWK 1KDW 1BKDWSLWK 1KDW VWK 1WK 1KDW FWK 1WK 1KDW 1BKDWWK 1KDW 1BKDWSLWK 1KDW VWK 1WK 1KDW FWK 1WK 1KDW 1BKDWWK 1KDW 1BKDWSLWK XB 1KDW K1KDW J SL U XB 1KDW K1KDW J SL U HTQD B VLJPD 1KDW K1KDW
J SL U ( VLJPD 1KDW K1KDW
J SL U ( HTQD B
F119: s524MwedgePF IXQFWLRQ>XXBXBVLJPDVLJPD@ V0ZHGJH3)ORDGVWU[LYN 60:('*(3)FDOFXODWHVGLVSODFHPHQWVDQGVWUHVVHVIRUDPXOWLZHGJH VXEMHFWHGWRDSRLQWIRUFHDWWKHZHGJHDSH[ XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ SBKDWSRLQWIRUFHDSSOLHGRQWKHZHGJHDSH[ WKNYHFWRURISRODUDQJOHVRIZHGJHVLGHVWKN WKN WKNQ XQLWGHJUHH 1RWHFRPSDUHZLWKWKHV\PEROXVHGLQ)LJWKN VWDQGVIRUWKHWDWKN WKHWDHWF WKWKIWK WKN WKI WKN1PDW WKHILUVWDQGWKHODVWFRPSRQHQWVRIWKN JOREDO3W\SH1PDW(HSVGLP IURP0DLQSURJUDPFRQWUROSDUDPHWHUV JOREDOSBKDWWKNWKWKI JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
SBKDW ORDGVWU ( SRLQWIRUFHDSSOLHGRQWKHZHGJHDSH[ LI3W\SHa SBKDW ORDGVWU HQG
SRLQWFKDUJHIRUSLH]RHOHFWULFPDWHULDOV
LI3W\SH!SBKDW ORDGVWU HQG
SRLQWFKDUJHIRU0((PDWHULDOV
WKN ORDGVWUGLPGLP1PDW SRODUDQJOHVRIZHGJHVLGHVWKN WKN WKNQ XQLWGHJUHH WKN WKN SL FRQYHUVLRQRIGHJUHHWRUDGLDQ WK WKN WKI WKN1PDW HQG [V [L FRVWK [L VLQWK [V [L VLQWK [L FRVWK U VTUW[VA[VA LIU
U UHSVHQGWKV DFRV[VU
LI[VHSVWKV SLWKVHQG
XVLQJWKHUDQJHJLYHQLQHTQ WKV SL
WK WKWKV WKLVORFDWHGEHWZHHQWKDQGWK SLLHWK WK WK SL >1WI1WI1WI@ 6WURKBPDWULFHVWKIWK >1WL1WL1WL@ 6WURKBPDWULFHVWKWK K LQY1WI SBKDWSL HTQE X ORJU H\HGLP SL 1WL K HTQD B SKL SL 1WL K ( HTQD B FWK FRVWK VWK VLQWK >1WK1WK1WK@ 6WURKBPDWULFHVWK 1KDW FWK H\HGLP VWK 1WK 1KDW VWK H\HGLP FWK 1WK 1BKDWWK 1BKDWSLWK 1KDW VWK 1WK 1KDW FWK 1WK 1BKDWWK 1BKDWSLWK XB 1KDW KU XB 1KDW KU HTQD B VLJPD 1KDW KU ( VLJPD 1KDW KU ( HTQD B
741
742
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
F120: s533MwedgeSOE IXQFWLRQ>9WK9WKS/DPWK/DPWKSGHOWD@ V0ZHGJH62(ORDGVWU[LYNGHW\SH 60:('*(62(FDOFXODWHVWKHRUGHUVRIVWUHVVVLQJXODULW\DQGWKHLU DVVRFLDWHGHLJHQIXQFWLRQVIRUSUREOHPVRIPXOWLPDWHULDOZHGJHV 9WKHLJHQIXQFWLRQVRIGLVSODFHPHQWVDGLP GLPPDWUL[HTQE B 9WKSGHULYDWLYHZUW?WKHWD RIHLJHQIXQFWLRQVRIGLVSODFHPHQWVDGLP GLPPDWUL[HTQE B /DPWKHLJHQIXQFWLRQVRIVWUHVVIXQFWLRQVDGLP GLPPDWUL[HTQE B /DPWKSGHULYDWLYHZUW?WKHWD RIHLJHQIXQFWLRQVRIVWUHVVIXQFWLRQVDGLP GLPPDWUL[HTQF B GHOWDRUGHUVRIVWUHVVVLQJXODULW\DGLP YHFWRU ORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN GHW\SHW\SHRIVLQJXODURUGHUGHW\SH IRUHLJHQIXQFWLRQVGHW\SH IRUFRPSOHPHQWDU\HLJHQIXQFWLRQVLH GHW\SH IRUWKHFDOFXODWLRQRI9WK/DPWK/DPWKSDVVRFLDWHGZLWKVLQJXODURUGHUVGHOWD GHW\SH IRUWKHFDOFXODWLRQRI9WK/DPWK/DPWKSDVVRFLDWHGZLWKVLQJXODURUGHUVGHOWD */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ :&W\SHZHGJHFUDFNW\SH :&W\SH DFUDFNLQDKRPJHQHRXVPDWHULDO :&W\SH DQLQWHUIDFHFUDFNEHWZHHQWZRGLVVLPLODUPDWHULDOV :&W\SH DOORWKHUFDVHVRIPXOWLPDWHULDOZHGJHV ZEFERXQGDU\FRQGLWLRQRIWKHPXOWLPDWHULDOZHGJH ZEF ZHGJHVSDFHZEF IUHHIL[HGZEF IL[HGIL[HGZEF IUHHIUHHZEF IL[HGIUHH WKNYHFWRURISRODUDQJOHVRIZHGJHVLGHVWKN WKN WKNQ LQSXWXQLWGHJUHH 1RWHFRPSDUHZLWKWKHV\PEROXVHGLQ)LJDQG)LJWKN VWDQGVIRUWKHWDWKN WKHWDHWF GHOWDYHFWRURIVLQJXODURUGHUV /DPPDWUL[RIHLJHQIXQFWLRQVFDOFXODWHGE\IXQFWLRQVBGHO/DP QGHOQXPEHURIVLQJXODURUGHUV /DP/DP /DPZKHQGHW\SH /DPZLOOEHXSGDWHGDFFRUGLQJWRGHOWD GHOWDZKHQGHW\SH 3L/3L/M 3WKL /DPM SDUWRIHTQD XSKLXSKL >XSKL@ZRIHTQ JOREDO1PDW3W\SH(HSVPXPXBD$%$BD%BDGLPILGGLPBD7PW\SHIURP0DLQSURJUDP JOREDO': IURPIXQFWLRQVBGHO/DP JOREDO:&W\SHZEFWKNGHOWD/DPQGHO/DP3L/XSKL JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LI1PDW
PXBD PX$BD $%BD %HQG
LI7PW\SH
ISULQWIILG ?U?Q)ROORZLQJVDUHWKHUHVXOWVLQ/DSODFHGRPDLQZKLFKDUHVKRZQIRUWKHUHIHUHQFHRIXVHUV?U?Q ISULQWIILG $IWHUWKHVHUHVXOWVWKHVROXWLRQLQWLPHGRPDLQFDQEHIRXQGZKLFKZLOOVWDUWZLWKWLPH ;;;?U?Q HQG LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
ZEF ORDGVWU ERXQGDU\FRQGLWLRQRIWKHPXOWLPDWHULDOZHGJH WKN ORDGVWU1PDW ORFDWLRQRIZHGJHVLGHVWKN WKN WKNQ XQLWGHJUHH LIZEF
WKN WKN
HOVHLIZEF
:&W\SH DFUDFNLQDKRPJHQHRXVPDWHULDO
WKN WKN
HOVH:&W\SH HQG
WKN WKN
:&W\SH DQLQWHUIDFHFUDFN
DOOWKHRWKHUFDVHV
WKN WKN SL FRQYHUVLRQRIGHJUHHWRUDGLDQ GHOWDYHFWRURIVLQJXODURUGHUVZKLFKDUHFDOFXODWHGZKHQYN DQGZLOONHHSXQFKDQJHGIRUDOOYN LIGHW\SH
>GHOWD/DPQGHO@ GHOWD:ORDGVWU:&W\SH FDOFXODWLRQRIVLQJXODURUGHUVDQGWKHLUDVVRFLDWHGHLJHQIXQFWLRQ
GHOWD GHOWD GHOWDGHOWDRIWKHDFWXDOV\VWHP HOVHLIGHW\SH
WRJHWWKHVROXWLRQIRUGHW\SH RQHVKRXOGHPSOR\GHW\SH ILUVW
GHOWD GHOWD GHOWDGHOWDRIWKHFRPSOHPHQWDU\V\VWHP HQG
Appendix F: AEPH Source Code (Listed in Alphabetic Order) VZLWFK:&W\SH FDVH DFUDFNLQDKRPJHQHRXVPDWHULDO QRIXUWKHUZRUN FDVH DQLQWHUIDFHFUDFN / UHDOL %BD %BD /RIPDWHULDOHTQ LGHDOO\VKRXOGEHUHDO /L / VHWWKHLQLWLDOYDOXHVIRUWKHLQYHUVHRI/WRLQFOXGHWKHSRVVLEOH]HURVIURP WR GLP GLPBD /LGLPGLP LQY/GLPGLP LQYHUVHH[FOXGLQJWKHSRVVLEOH]HURV LIGHW\SH
/DP /DP
HOVHLIGHW\SH
IRUM GLP :G' :FRWGHOWDM SL ' HTQ >86'9@ VYG:G' /DPM 9HQG VYGDPDWODEIXQFWLRQWRILQGHLJHQYHFWRURI:G' HQG HQG IRUM GLP [GHO GHOWDM 3WKL /LVLQGHOWDM SL HTQE 3L/M 3WKL /DPM SDUWRIHTQD HQG FDVH DOOWKHRWKHUFDVHV IRUM QGHO GHO GHOWDM >.HQI.@ PXOWLZHGJHGHO I.GHW.HQ ZLWKGHOWDM .HQ.RIIXQFWLRQPXOWLZHGJHZLWK0:7\SH >8'9@ VYG.HQ YM 9HQG VYGDPDWODEIXQFWLRQVLQJXODUYDOXHGHFRPSRVLWLRQ PDWUL[GLDJRQL]DWLRQLH.HQ 8'9ZKHUHGLDJRQDOPDWUL['FRQVLVWVRIWKHQRQQHJDWLYHHOHPHQWVLQ GHFUHDVLQJRUGHU8DQG9XQLWDU\PDWUL[WKHODVWFROXPQRI9SURYLGHVWKHHLJHQYHFWRURI.HQ VZLWFKZEF FDVHXSKLM YM HTQ B FDVH^`XSKLM >YM ]HURVGLP @ HTQ B FDVH^`XSKLM >]HURVGLP YM @ HTQ B HQG HQG HQG LIQGHOa GLP ISULQWI QXPEHURIVLQJXODURUGHUV GLVQRWDVH[SHFWHGWREHG QGHOGLP GHOWD ISULQWI 7RJHWFRPSOHWHVROXWLRQVWU\WRLQFUHDVHWKHWULDOQXPEHU1G HQG VWU ^ ?U?Q2UGHUVRIVWUHVVVLQJXODULW\?U?Q ˡ ˡ ˡ ˡ ˡ ` IRUM GLPGHO5,M >UHDOGHOWDM LPDJGHOWDM @HQG SULQW7)ILG>@>@GHO5, VWUGLP HQG LIGHW\SH
GHOWD GHOWDHQG
GHOWDIRUWKHFDOFXODWLRQRIHLJHQIXQFWLRQV
LIGHW\SH
GHOWD GHOWDHQG
GHOWDIRUWKHFDOFXODWLRQRIFRPSOHPHQWDU\HLJHQIXQFWLRQV
[V [L FRVWKN [L VLQWKN [V [L VLQWKN [L FRVWKN U VTUW[VA[VA LIU
U UHSVHQGWKV DFRV[VU
LI[VHSVWKV SLWKVHQG
XVLQJWKHUDQJHJLYHQLQHTQ WKV SL
WK WKN WKV WKLVORFDWHGEHWZHHQWKN DQGWKN SLLHWKN WK WKN SL VZLWFK:&W\SH FDVH DFUDFNLQDKRPJHQHRXVPDWHULDO
743
744
Appendix F: AEPH Source Code (Listed in Alphabetic Order) [GH GHOWD ZKHQGHW\SH
GHOWD ZKHQGHW\SH
GHOWD
>1G1G1G@ 6WURKBPDWULFHVWKWKN [GH 9WK 1G/DPWK 1GFDOFXODWH1G 1AXVLQJGLDJRQDOL]DWLRQUHODWLRQ >1GS1GS1GS@ 6WURKBPDWULFHVWKWKN [GH 9WKS 1GS/DPWKS 1GS 9WK [GH 1G/DPWK [GH 1G9WKS [GH 1GS/DPWKS [GH 1GS ZLWKN FDVH DQLQWHUIDFHFUDFN IRUM GLP [GHO GHOWDM LI[L >8WK1G3WK@ 6WURKBPDWULFHVWKWKN [GHO FDOFXODWH8WKHWD 3KLWKHWD RIHTQ B >8WKS1GS3WKS@ 6WURKBPDWULFHVWKWKN [GHO FDOFXODWHGHULYDWLYHVRI8WKHWD 3KLWKHWD RIHTQ B HOVH >8WK1G3WK@ 6WURKBPDWULFHVWKN WKN [GHO FDOFXODWH8WKHWD 3KLWKHWD RIPDWHTQ B >8WK1G3WK@ 6WURKBPDWULFHVWKWKN [GHO FDOFXODWH8WKHWD 3KLWKHWD RIPDWHTQ B >1GS1GS1GS@ 6WURKBPDWULFHVWKWKN [GHO FDOFXODWHGHULYDWLYHVRI8WKHWD 3KLWKHWD RIHTQ B 1G 1G 1G1GS 1GS 1G
HTQ B
8WK 1GGLPGLP 3WK 1GGLP GLPGLP HTQ B 8WKS 1GSGLPGLP 3WKS 1GSGLP GLPGLP GHULYDWLYHVRIHTQ B HQG 9WKM 8WK 3L/M /DPWKM 3WK 3L/M HTQD 9WKSM 8WKS 3L/M /DPWKSM 3WKS 3L/M GHULYDWLYHVRIHTQD HQG FDVH DOOWKHRWKHUFDVHV IRUM QGHO GHO GHOWDM >L.HL.HS@ PXOWLZHGJHGHOWK HTQ DQG VHHIXQFWLRQPXOWLZHGJHZLWK0:7\SH L.H1KDWBNWKHWDWKNN A?GHOWD .H BN RIHTQ L.HSL.HASULPHLHWKHGHULYDWLYHRIL.HZLWKUHVSHFWWR?WKHWD (WD/DP GHO L.H XSKLM (WD/DPS GHO L.HS XSKLM HTQ UHODWHGWRHTQ 9WKM (WD/DPGLP /DPWKM (WD/DPGLPGLP HTQ 9WKSM (WD/DPSGLP /DPWKSM (WD/DPSGLPGLP GHULYDWLYHRI9WKDQG/DPWK HQG HQG VWU ^ VFDOHGHLJHQIXQFWLRQVDWWKHWD 9WKHWD /DPGDWKHWD ( 9SWKHWD /DPGDSWKHWD ( ` SULQW7)ILGWK9WK/DPWK9WKS/DPWKSVWUGLP /DPWK /DPWK (/DPWKS /DPWKS ( DGMXVWPHQWRIWKHVFDOLQJ LI3W\SHa IRUM GLP9WKGLPM 9WKGLPM ( 9WKSGLPM 9WKSGLPM ( /DPWKGLPM /DPWKGLPM (/DPWKSGLPM /DPWKSGLPM (HQG HQG IXQFWLRQ>GHOWD/DPQGHO@ GHOWD:ORDGVWU:&W\SH FDOFXODWHWKHVLQJXODURUGHUVIRUWKUHHGLIIHUHQWFDVHV JOREDO3W\SHILGGLP(HSVIURP0DLQSURJUDP JOREDOZEF IURPIXQFWLRQV0ZHGJH62( QGHO GLP /DP H\HGLP GHIDXOW VZLWFK:&W\SH FDVH DFUDFNLQDKRPJHQHRXVPDWHULDO
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
745
GHOWD RQHVGLP UHSHDWHGURRWRI FDVH DQLQWHUIDFHFUDFN >GHOWD/DP@ VBGHO/DP FDOFXODWHGHOWD/DPGD FDVH DOOWKHRWKHUFDVHV 1G ORDGVWU G ORDGVWU G ORDGVWU G ORDGVWU G72/ ORDGVWU I72/ ORDGVWU 0D[L ORDGVWU LI3W\SH
VI H( AHOVHLI3W\SHVI H( AHQG
LI3W\SH!VI H( AHQG
VFDOLQJIDFWRUIRUHODVWLFRUSLH]R
VFDOLQJIDFWRUIRU0((
LIZEF
I72/ I72/VIHQG
IRUIL[HG IL[HGERXQGDU\FRQGLWLRQ
LIZEF
I72/ I72/ VIHQG
IRU IUHHIUHHERXQGDU\FRQGLWLRQ
1GWULDOQXPEHURIVHDUFKLQJURRWVVXJJHVWHGYDOXHURRWVVLQJXODURUGHUV GGGWKUHHLQLWLDOJXHVVHVRIWKHVLQJXODURUGHUGHOWDVXJJHVWHGYDOXHV G72/FRQYHUJHQFHWROHUDQFHIRUYDULDEOHGHOWDVXJJHVWHGYDOXHA GHOWDVLQJXODURUGHU I72/FRQYHUJHQFHWROHUDQFHIRUWKHGHWHUPLQDQWRI.HVXJJHVWHGYDOXHA.HVHHHTQ 0D[LPD[LPXPQXPEHURILWHUDWLRQXVHGLQ0XOOHU VPHWKRGVXJJHVWHGYDOXH GHOWD ]HURVGLP QGHO 1GL 1G LQLWLDOYDOXHV LWHU '1G 1GLWHU LQLWLDOYDOXHRIWKHIROORZLQJLWHUDWLRQ'1GLQFUHPHQWRIWKHWULDOQXPEHU1G ZKLOHQGHOGLP LWHU0D[L >GHOWDQGHO@ GHOWD01GLGGGG72/I72/0D[LGHOWD LQLWLDOYDOXHQGHO U ILQGURRWVLQ>@ LWHU LWHU1GL 1GL'1G WU\WRILQGWKHFRPSOHWHURRWVE\LQFUHDVLQJWKHWULDOQXPEHU HQG LIQGHOGLP WU\WRJHWDGGLWLRQDOVLQJXODURUGHUVREWDLQHGIURPWKHUDQJHRI>@ >GHOWDQGHO@ GHOWD01GGGGG72/I72/0D[LGHOWDQGHO ILQGURRWVLQWKHUDQJHRI>@ ISULQWIILG ?U?Q:DUQLQJ6RPHRIWKHVLQJXODURUGHUVVKRZQEHORZDUHOHVVWKDQ]HUR?U?Q HQG LIQGHO! GLPQGHO GLPHQG >5GHOGL@ VRUWUHDOGHOWD LPDJGHOWD HSV GHVFHQG VRUWLQGHVFHQGLQJRUGHUILUVWFRPSDUHUHDOSDUWWKDQFRPSDUHLPDJLQDU\SDUW IRUM QGHOGHOWDM GHOWDGLM HQG
GLDUUD\RIVRUWLQJLQGH[
HQG IXQFWLRQ>GHOWDQGHO@ GHOWD01GGGGG72/I72/0D[L3UREGHOWDQGHOU FDOFXODWHVWKHVLQJXODURUGHUVUDQJLQJIURPUWRU RIPXOWLPDWHULDOZHGJHV UVWDUWLQJSRLQWRIVROXWLRQGHOWD 3URESUREOHPW\SH3URE IRUV3URE IRUV VG 1GVGLQFUHPHQWRILQLWLDOJXHVVQGHOQXPEHURIVLQJXODURUGHUVVHWWR]HURLQLWLDOO\ G GUG GUG GU] U] U IRUN 1G >[]HURI.LWHU@ PXOOHUGGGG72/I72/0D[L3URE ILQGURRWWKURXJKPXOOHU VPHWKRG GH DEV[]HUR] []HUR] GH DEVPLQ[]HURGHOWD GHWKHGLIIHUHQFHZLWKGHOWD RUGHWKHPLQLPXPGLIIHUHQFHZLWKWKHSUHYLRXVIRXQGGHOWD LIDEV[]HUR] ! DEV][]HUR ! DEVI. I72/ GH! G72/ GH!G72/ QGHO QGHOGHOWDQGHO []HUR GHOWDYHFWRURIVLQJXODURUGHUVQGHOQXPEHURIVLQJXODURUGHUV HQG G GVGG GVGG GVG FKDQJHDQHZVHWRIWKHLQLWLDOJXHVVHVIRUPXOOHU VPHWKRG HQG
746
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
F121: s542MwedgeNTS IXQFWLRQ>XXBXBVLJPDVLJPD@ V0ZHGJH176ORDGVWU[LYN 60:('*(173FDOFXODWHVWKHQHDUWLSVROXWLRQVIRUSUREOHPVRIPXOWLPDWHULDOZHGJHV XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ UUHIHUHQFHOHQJWK 6,) >.B,,.B,.B,,,@YHFWRURIVWUHVVLQWHQVLW\IDFWRUVHTQ DGGDQDGGLWLRQDOFRPSRQHQW6,) .B,9IRUSLH]RHOHFWULFPDWHULDOV ORDGVWULQSXWGDWDIRUIXQFWLRQV0ZHGJH62( /DPGDPDWUL[RIHLJHQIXQFWLRQV/DPGDDW[L ZKRVHWKHWD JOREDO3W\SHHSVGLP IURP0DLQSURJUDPFRQWUROSDUDPHWHUV JOREDOWKN IURPIXQFWLRQV0ZHGJH62(YHFWRURISRODUDQJOHVRIZHGJHVLGHV JOREDOU6,)ORDGVWU/DPGD JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
U ORDGVWU UHIHUHQFHOHQJWK 6,) >ORDGVWU ORDGVWU ORDGVWU @ 6,) >.B,,.B,.B,,,@VWUHVVLQWHQVLW\IDFWRUVHTQ LI3W\SHa 6,) ORDGVWU HQG
6,) .B,9HOHFWULFLQWHQVLW\IDFWRURISLH]RHOHFWULFPDWHULDOV
LI3W\SH!6,) ORDGVWU HQG
6,) .B9PDJQHWLFLQWHQVLW\IDFWRURI0((PDWHULDOV
ORDGVWU ORDGVWU LQSXWGDWDIRUIXQFWLRQV0ZHGJH62( [L [L FDOFXODWH?/DPGDE\OHWWLQJ[L ZKRVH?WKHWD >99S/DPGD/DPGDSGHOWD@ V0ZHGJH62(ORDGVWU[L HQG [V [L FRVWKN [L VLQWKN [V [L VLQWKN [L FRVWKN U VTUW[VA[VA LIU
U UHSVHQGWKV DFRV[VU
LI[VHSVWKV SLWKVHQG
XVLQJWKHUDQJHJLYHQLQHTQ WKV SL
WK WKN WKV WKLVORFDWHGEHWZHHQWKN DQGWKN SLLHWKN WK WKN SL >9WK9WKS/DPWK/DPWKSGHOWD@ V0ZHGJH62(ORDGVWU[LYN IRUM GLP UGM UU AGHOWDM GHOWDM GLDJRQDOPDWUL[LQHTQD HQG FWK FRVWK VWK VLQWK U/N GLDJUG LQY/DPGD 6,)VTUW SL U
SDUWRIHTQD E
X U 9WK U/N SKL U /DPWK U/N HTQD XB FWK 9WK GLDJGHOWD VWK 9WKS U/N HTQE B XB VWK 9WK GLDJGHOWD FWK 9WKS U/N HTQE B VLJPD VWK /DPWK GLDJGHOWD FWK /DPWKS U/N HTQE B VLJPD FWK /DPWK GLDJGHOWD VWK /DPWKS U/N HTQE B
F122: s543MwedgeSIF2d IXQFWLRQ>6,)@ V0ZHGJH6,)GORDGVWU 60:('*(6,)'FDOFXODWHVWKHVWUHVVLQWHQVLW\IDFWRUVIRUWZRGLPHQVLRQDOPXOWLPDWHULDOZHGJHV E\SDWKLQGHSHQGHQW+LQWHJUDO 6,)ORDGVWUH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ :&W\SH3L/XSKLVHHH[SODQDWLRQLQIXQFWLRQV0ZHGJH62( JOREDO3W\SHGLPHSVIURP0DLQSURJUDP JOREDOQB*DXVVWKWKU,UWK6,)+W\SHQOLQH[\QIURPIXQFWLRQVBXW JOREDO:&W\SH3L/XSKLWKNJHQHUDWHG IURPIXQFWLRQV0ZHGJH62( 3UHSDUHORDGVWUDFFRUGLQJWRWKHVWDWHPHQWVZULWWHQLQIXQFWLRQVBXW
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
747
>XWORDGVWU@ VBXWORDGVWU [L >@ FDOFXODWH?/DPGDE\OHWWLQJ[L ZKRVH?WKHWD >99S/DP/DPSGHOWD@ V0ZHGJH62(ORDGVWU[L LI:&W\SH
3L/ 3L/HOVHLI:&W\SH
XSKL XSKLHQG
>F9F9SF/DPF/DPSFGHOWD@ V0ZHGJH62(ORDGVWU[L LI:&W\SH
3L/ 3L/HOVHLI:&W\SH
XSKL XSKLHQG
>WKJZJ@ *DXVVQB*DXVV +BVWDU ]HURVGLP K ]HURVGLP LI+W\SH GHOU VTUW SL U GHOWD U,U AGHOWDHQG
IRU+W\SH
IRULJ QB*DXVV HTQ WK WK WKJLJ WK [J U, FRVWK [J U, VLQWK LI:&W\SH
3L/ 3L/HOVHLI:&W\SH
XSKL XSKLHQG
>9WK9WKS/DPWK/DPWKSGHOWD@ V0ZHGJH62(ORDGVWU[J LI:&W\SH
3L/ 3L/HOVHLI:&W\SH
XSKL XSKLHQG
>F9WKF9WKSF/DPWKF/DPWKSFGHOWD@ V0ZHGJH62(ORDGVWU[J +BVWDU +BVWDUWK F/DPWKS
9WKF9WK
/DPWKS ZJLJ HTQE B LI+W\SH FLUFXODULQWHJUDOSDWK+W\SH X XWLJGLP W XWLJGLPGLP LI3W\SHa W XWLJGLP HQG LI3W\SH!W XWLJ GLP HQG K KWK ZJLJ X F/DPWKSU,W F9WK GHOUHTQE BDE HQG HQG LI+W\SH
_+W\SH
SLHFHZLVHOLQHLQWHJUDOSDWK
IRULO QOLQH G[ [\QLO [\QLO G\ [\QLO [\QLO OHQ VTUWG[AG\A FD G[OHQVD G\OHQ DOSKD DFRVFD LIG\DOSKD SLDOSKDHQG IRULJ QB*DXVV HTQ V OHQ WKJLJ [J [\QLO V FD[J [\QLO V VD >F9WKF9WKSF/DPWKF/DPWKSFGHOWD@ V0ZHGJH62(ORDGVWU[J )ROORZLQJIRXUOLQHVUHSHDWWKHZRUNGRQHLQV0ZHGJH62(MXVWIRUJHWWLQJUDQGWK [V [J FRVWKN [J VLQWKN [V [J VLQWKN [J FRVWKN U VTUW[VA[VA LIU
U UHSVHQGWKV DFRV[VU
LI[VHSVWKV SLWKVHQG
XVLQJWKHUDQJHJLYHQLQHTQ WKV SL
WK WKN WKV WKLVORFDWHGEHWZHHQWKN DQGWKN SLLHWKN WK WKN SL LQ LO QB*DXVVLJ X XWLQGLP W XWLQGLPGLP LI3W\SHa W XWLQGLP HQG LI3W\SH!W XWLQ GLP HQG GHOU VTUW SL U GHOWD UU AGHOWD GHOU GHOU GHOWD SDUWRIE XF FRVWKDOSKD X F/DPWKXV VLQWKDOSKD X F/DPWKSSDUWRIE K KOHQ ZJLJ XF GHOUXV GHOU UW F9WK GHOU U HTQE B DF HQG HQG
748
Appendix F: AEPH Source Code (Listed in Alphabetic Order) HQG 6,) /DP LQY+BVWDU K HTQD FDOFXODWHWKHVWUHVVLQWHQVLW\IDFWRUEDVHGXSRQWKHUDGLDOGLUHFWLRQWKHWD WK6,)HTQ FL FRVWK6,) VL VLQWK6,) [L >FLVL@ WKHSRLQWDWWKHGLUHFWLRQRIWKNL LI:&W\SH
3L/ 3L/HOVHLI:&W\SH
XSKL XSKLHQG
>9WK9WKS/DPWK/DPWKSGHOWD@ V0ZHGJH62(ORDGVWU[L 2PHJD >FLVLVLFL@ HTQE B LI3W\SHa 2PHJD 2PHJD 2PHJD HQG LI3W\SH!2PHJD 2PHJD 2PHJD HQG 6,) 2PHJD /DPWK LQY/DP 6,) HTQD
F123: s544MwedgeSIF3d IXQFWLRQ>6,)@ V0ZHGJH6,)GORDGVWU 60:('*(6,)'FDOFXODWHVWKHVWUHVVLQWHQVLW\IDFWRUVIRUWKUHHGLPHQVLRQDOPXOWLPDWHULDOZHGJHV E\SDWKLQGHSHQGHQW+LQWHJUDO 6,)ORDGVWUH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ :&W\SH3L/XSKLVHHH[SODQDWLRQLQIXQFWLRQV0ZHGJH62( JOREDO'W\SH3W\SHGLP IURP0DLQSURJUDPFRQWUROSDUDPHWHUV JOREDO+W\SHQB*DXVVU,UWKWKWK6,)IURPIXQFWLRQVBXW JOREDO6LM IURPIXQFWLRQHODVWLF JOREDO:&W\SH3L/XSKL JHQHUDWHG IURPIXQFWLRQV0ZHGJH62( 1RWH'W\SHUHTXLUHGLQ0DLQSURJUDPLVXVHGWRNQRZWKHW\SHRIGLPHQVLRQIRUFRPSOHPHQWDU\VROXWLRQ LQVWHDGRIWKHUHDOVROXWLRQIRU'SUREOHPDQGKHQFHLWLVVXJJHVWHGWREHLQSXWDVSODQHVWUHVVIRUWKH SRLQWQHDURUDWWKHRXWHUVXUIDFHLQSXWDVSODQHVWUDLQIRUWKHLQWHULRUSRLQW 3UHSDUHORDGVWUDVUHTXLUHGE\V0ZHGJH6,)GUHIHUHQFHIXQFWLRQVBXW IROORZLQJVDUHWKHDGGLWLRQDOGDWDIRU'SUREOHPV +W\SH ORDGVWU W\SHRIGLVSODFHPHQWVDQGWUDFWLRQVRUVWUHVVHV SURYLGHGIRUWKHDFWXDOV\VWHP LI+W\SH U F HOVHU F HQG
UVWDUWLQJURZFVWDUWLQJFROXPQ
Q*U ORDGVWUF QXPEHURI*DXVVLDQSRLQWVIRUWKHYDULDEOHUVXJJHVWHGQXPEHU QBGDWD ORDGVWUF QXPEHURIGDWDSRLQWVIRUV0ZHGJH6,)GQBGDWD QB*DXVVZKHQ+W\SH RU ZKHQ+W\SH RUQBGDWD OHQJWKORDGVWU ZKHQ+W\SH RUQBGDWD OHQJWKORDGVWU G QBGDWDUODVWURZRIORDGVWUWKHGDWDIRUV0ZHGJH6,)G ORDGVWU ORDGVWUG >XWORDGVWU@ VBXWORDGVWU LI+W\SH
_+W\SH
+W\SH HQG
SHUIRUPOLNH+W\SH
LI+W\SH
_+W\SH
+W\SH HQG
SHUIRUPOLNH+W\SH ZKHQXVLQJIXQFWLRQ0/6
1RWH+W\SH RUKDVQRWEHHQFRGHG\HW LQSXWDGGLWLRQDOGDWDRQWKHHQGVXUIDFHFXWWLQJSODQH RI'SUREOHPVVHH)LJXUHRI+ZX 1RWHQXPEHURIWKHDGGLWLRQDOGDWDIRU'SUREOHPVKRXOGEHDWOHDVWWKUHHWLPHVRIQBGDWD DQGORFDWHGLQVLGHWKHIXOOFLUFXODUVXUIDFHUHJLRQLQVLGHWKHUDGLXV U, VZLWFK+W\SH FDVH LQSXWXVBVLJVBDWWKH*DXVVLDQSRLQWVSURYLGHGE\%(0RU)(0 XV >XXX@GLVSODFHPHQWVXXXRIWKHHQGVXUIDFHXXXGLVSODFHPHQWVLQ[[[GLUHFWLRQV VLJV >VLJPDVLJPDVLJPD@VWUHVVFRPSRQHQWVLRIWKHHQGVXUIDFH 1RWHVLQFHXVBDQGVLJVBRIWKHFRPSOHPHQWDU\VROXWLRQVDUH]HURWKHUHLVQRQHHGWRLQSXWXVDQGVLJV XVB >XBXBXB@GHULYDWLYHRIXVZLWKUHVSHFWWR[
Appendix F: AEPH Source Code (Listed in Alphabetic Order) VLJVB >VLJPDBVLJPDBVLJPDB@GHULYDWLYHRIVLJVZLWKUHVSHFWWR[ XL XLUWK] XLB XLBUWK] VLJ VLJUWK] VLJBUWK] ZKHUHU U, [J WK WKQWK \JWKQWK ] ] U,UDGLXVRILQWHJUDWLRQSDWK WKWKQVWDUWLQJDQGHQGLQJDQJOHVRIWKHPXOWLPDWHULDOZHGJH ]WKHORFDWLRQRIWKHFXWWLQJSODQHFRQVLGHUHGLQWKLV'SUREOHP IRULU Q*U IRULWK QB*DXVV *N LU QB*DXVVLWK XVBLULWK ORDGVWUG*NGLP XLBRI%(0RU)(0UHTXLUHGLQWKHVXUIDFHUHJLRQ6B*DPPDRIHTQ VLJVBLULWK ORDGVWUG*NGLP GLP VLJPDLBRI%(0RU)(0UHTXLUHGLQWKHVXUIDFHUHJLRQ6B*DPPDRIHTQ HQG HQG FDVH LQSXWXGBVLJGBDWSRLQWVQHDUEXWQRWDW*DXVVLDQSRLQWVSURYLGHGE\%(0RU)(0 QBGDWD' OHQJWKORDGVWU G
QXPEHURIGDWDSRLQWVIRUXDQGVLJLQ[GLUHFWLRQ
IRULG QBGDWD' [GLG ORDGVWUGLG
ORDGVWUG*N [[ ORFDWLRQRIWKHNWKGDWDSRLQW
XGBLG ORDGVWUGLGGLP LIGLP ORDGVWUG*N >XBXBXB@ VLJGBLG ORDGVWUGLGGLP GLP LIGLP ORDGVWUG*N >VLJBVLJBVLJB@ HQG >UJZJU@ *DXVVQ*U IRULU Q*U U U, UJLU >XWB@ 0/6[GXGBVLJGBQBGDWD'QB*DXVVWKWKU+W\SH ILWYDOXHVDW*DXVVLDQSRLQWVE\0/6 XVBGLPLU XWBGLP VLJVBGLPLU XWBGLP GLP HQG HQG [L >@ FDOFXODWH?/DPGDE\OHWWLQJ[L ZKRVH?WKHWD >99S/DP/DPSGHOWD@ V0ZHGJH62(ORDGVWU[L LI:&W\SH
3L/ 3L/HOVHLI:&W\SH
XSKL XSKLHQG
>F9F9SF/DPF/DPSFGHOWD@ V0ZHGJH62(ORDGVWU[L LI:&W\SH
3L/ 3L/HOVHLI:&W\SH
XSKL XSKLHQG
>WKJZJ@ *DXVVQB*DXVV +BVWDU ]HURVGLP +N ]HURVGLP IRULJ QB*DXVV HTQ X XWLJGLP W XWLJGLPGLP LI3W\SHa W XWLJGLP HQG LI3W\SH!W XWLJ GLP HQG WK WK WKJLJ WK [J U, FRVWK [J U, VLQWK LI:&W\SH
3L/ 3L/HOVHLI:&W\SH
XSKL XSKLHQG
>9WK9WKS/DPWK/DPWKSGHOWD@ V0ZHGJH62(ORDGVWU[J LI:&W\SH
3L/ 3L/HOVHLI:&W\SH
XSKL XSKLHQG
>F9WKF9WKSF/DPWKF/DPWKSFGHOWD@ V0ZHGJH62(ORDGVWU[J +BVWDU +BVWDUWK F/DPWKS
9WKF9WK
/DPWKS ZJLJ HTQE B +N +NWK X F/DPWKSU,W F9WK ZJLJ HTQE B SDUWRID HQG IRUM GLP GHOUM VTUW SL U GHOWDM U,U AGHOWDM
749
750
Appendix F: AEPH Source Code (Listed in Alphabetic Order) KM +NM GHOUM HQG FDOFXODWLRQRIWKHVHFRQGLQWHJUDORIHTQ ZKLFKLVDVXUIDFHLQWHJUDOZLWKGRPDLQ6B?*DPPD FXUUHQWO\RQO\YDOLGIRUDQLVRWURSLFHODVWLFPDWHULDOVQHHGWREHPRGLILHGIRUSLH]RHOHWULF0((PDWHULDOV >UJZJU@ *DXVVQ*U K ]HURVGLP IRUN GLP IRULU Q*U QGWHUPRIHTQ U U, UJLU IRULWK QB*DXVV WK WK WKJLJ WK [J U FRVWK [J U VLQWK LI:&W\SH
3L/ 3L/HOVHLI:&W\SH
XSKL XSKLHQG
>F9WKF9WKSF/DPWKF/DPWKSFGHOWD@ V0ZHGJH62(ORDGVWU[J F/DPV FRVWK F/DPWK GLDJGHOWD VLQWK F/DPWKS HTQE B F/DPV VLQWK F/DPWK GLDJGHOWD FRVWK F/DPWKS HTQE B GHOUN VTUW SL U GHOWDN UU AGHOWDN USDUWRIHTQD SKN F/DPVN GHOUN U SKN F/DPVN GHOUN U HTQD XBKDW F9WKN GHOUN HTQD B LI'W\SH
_'W\SH
_'W\SH
JHQHUDOL]HGSODQHVWUDLQ
VLJBKDW 6LM SKN 6LM SKN 6LM SKN 6LM SKN 6LM SKN 6LM HOVHVLJBKDW HQG
JHQHUDOL]HGSODQHVWUHVV
IXY >SKN SKN VLJBKDW@ XVBLULWK XBKDW
VLJVBLULWK SDUWRIHTQ KN KN U, WK U IXY ZJULU ZJLWK FDOFXODWLRQRIVXUIDFHLQWHJUDO $ HQG HQG HQG 6,) /DP LQY+BVWDU K K HTQD FDOFXODWHWKHVWUHVVLQWHQVLW\IDFWRUEDVHGXSRQWKHUDGLDOGLHUFWLRQWKHWD WK6,)HTQ FL FRVWK6,) VL VLQWK6,) [L >FLVL@ WKHSRLQWDWWKHGLUHFWLRQRIWKNL LI:&W\SH
3L/ 3L/HOVHLI:&W\SH
XSKL XSKLHQG
>9WK9WKS/DPWK/DPWKSGHOWD@ V0ZHGJH62(ORDGVWU[L 2PHJD >FLVLVLFL@ HTQE B LI3W\SHa 2PHJD 2PHJD 2PHJD HQG LI3W\SH!2PHJD 2PHJD 2PHJD HQG 6,) 2PHJD /DPWK LQY/DP 6,) HTQD
F124: s611EholeUL IXQFWLRQ>XXBXBVLJPDVLJPDVLJPDBVV@ V(KROH8/ORDGVWU[LYN 6(+2/(8/FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DQDQLVRWURSLFSODWHFRQWDLQLQJDQHOOLSWLFDOKROHVXEMHFWHGWR XQLIRUPORDGLQJDSSOLHGDWLQILQLW\ 7KHXQLIRUPORDGFDQEHLQSXWWKURXJKGLIIHUHQWFDVHV XXBXBVLJPDVLJPDVLJPDBVVORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEKDOIOHQJWKVRIWKHHOOLSWLFDOKROH ORDGLQIXQLIRUPORDGDWLQILQLW\VDPHLQSXWDV/W\SH JOREDO(W\SH3W\SH2W\SH,FKHFN(HSV$%PXGLPIURP0DLQSURJUDP JOREDOWBLQIWBLQIHSVBLQIHSVBLQI IURPIXQFWLRQVLQI8/
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
751
JOREDODEORDGLQI JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
D ORDGVWU E ORDGVWU DEKDOIOHQJWKVRIWKHHOOLSWLFDOKROH OHQ OHQJWKORDGVWU QXPEHURIHOHPHQWVLQWKHYHFWRURIORDGVWU ORDGLQIOHQ ORDGVWUOHQ XQLIRUPORDGDWLQILQLW\VDPHLQSXWDV/W\SH HQG >XXBXBVLJPDVLJPD@ VLQI8/ORDGLQI[LYN SKL [L WBLQI[L WBLQI HTQD ] [L [L PX >]HWDWKHWDUKR@ PDS(3[LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ LIDEV]HWD ! HSV HSVWRDOORZWKHQXPHULFDOURXQGLQJHUURUQHDUWKHERXQGDU\ZKHQFDOFXODWLQJ]HWD ]L ]HWD G]L GLDJ]L T LQY% D WBLQIL E WBLQI X X UHDO$ G]L T SKL SKL UHDO% G]L T (
HTQ
FDOFXODWHGLVSODFHPHQWJUDGLHQWVXBXBDQGVWUHVVHVVLJPDVLJPDHTQ ]HWDB ]HWD]HWD DL E PX ] HTQD E ]HWDBL ]LA ]HWDB ]HWDBL PX ]HWDBL G]HWD GLDJ]HWDBL G]HWD GLDJ]HWDBL XB HSVBLQI UHDO$ G]HWD T XB HSVBLQI UHDO$ G]HWD T VLJPD WBLQI UHDO% G]HWD T ( VLJPD WBLQI UHDO% G]HWD T ( HOVH X QDQ RQHVGLP XB QDQ RQHVGLP XB QDQ RQHVGLP VLJPD QDQ RQHVGLP VLJPD QDQ RQHVGLP HQG FDOFXODWHKRRSVWUHVVVLJPDBVVDORQJWKHKROHERXQGDU\HTQ VLJPDBVV QDQ LI3W\SHa VLJPDBVV QDQHQG GHIDXOWRIVLJPDBVV LI3W\SH!VLJPDBVV QDQHQG LIDEVDEV]HWD HSV 2W\SH
GHIDXOWRIVLJPDBVV _2W\SH
_2W\SH
_2W\SH
GDWDRQWKHKROHERXQGDU\
SVL [L SL FKDQJHGHJUHHWRUDGLDQ >]HWDWKHWDUKR@ PDS(3[LSVLDEDPX FDOFXODWHWKHWDQJHQWLDODQJOHWKHWDHTQ >*WK1WK*WK@ 6WURKBPDWULFHVWKHWD FDOFXODWHWKH6WURKPDWULFHV*WK*WK J *WK WBLQIED *WK WBLQI J *WK WBLQIDE *WK WBLQI HTQ VLJPDBVV UHDOJ J ( HTQ LI3W\SHa VLJPDBVV VLQWKHWD J WBLQI FRVWKHWD J WBLQI HQG HTQD E IRUSLH]RRU0(( LI3W\SH!VLJPDBVV VLQWKHWD J WBLQI FRVWKHWD J WBLQI HQG
IRU0((
VLJPDBVV 'VHOHFWULFGLVSODFHPHQWDORQJWKHKROHERXQGDU\ $OWKRXJKDOOWKHYDOXHVLQHTQ DUHVXSSRVHGWREHUHDOLQQXPHULFDOFDOFXODWLRQLWLVVWLOOSRVVLEOHWRJHWWKH VROXWLRQZLWKYHU\VPDOOLPDJLQDU\SDUW7RDYRLGWKHGLVWXUEDQFHUDLVHGE\WKHVHVPDOOYDOXHVRQO\WKHUHDOSDUW LVRXWSXWIRUVLJPDBVV &KHFNWKHFRUUHFWQHVVRIVLJPDDQGVLJPDYLDVLJPDBVV LI,FKHFN
F FRVWKHWD V VLQWKHWD GLI GLI VLJPDBVVF VLJPDBVVF VLJPDBVVF VLJPD FAVLJPD VA VLJPD F VFRRUGLQDWHWUDQVIRUPDWLRQIRU GLI DEVVLJPDBVV VLJPDBVVF GLIIHUHQFHEHWZHHQWKHUHVXOWVREWDLQHGIURP DQG LIORDGLQI
XQLGLUHFWLRQDOWHQVLRQVLJPDBLQIGLUHFWHGDWDQJOHDOSKDIURP[D[LVHTQD
VLJPDBLQI ORDGLQI DOSKD ORDGLQI SL FKDQJHWKHXQLWRIDOSKDIURPGHJUHHWRUDGLDQ FD FRVDOSKD VD VLQDOSKD QWK >VDFD@VWK >FDVD@F7 >E FDDD VDE@ HTQE LI3W\SHa QWK >QWK@VWK >VWK@F7 >F7@HQG
IRUSLH]RHOHFWULFRU0((PDWHULDOVHTQD
LI3W\SH!QWK >QWK@VWK >VWK@F7 >F7@HQG
IRU0((
VLJPDBVVF UHDOVLJPDBLQI QWK *WKF7 *WK VWK WDNHUHDOSDUWRIHTQD
752
Appendix F: AEPH Source Code (Listed in Alphabetic Order) GLI DEVVLJPDBVVFVLJPDBVVF GLIIHUHQFHEHWZHHQWKHUHVXOWVREWDLQHGIURP DQG LI(W\SH
IRULVRWURSLFPDWHULDOV
VLJPDBVVF VLJPDBLQI ED F FDDE V VD FRVWKHWDDOSKD HTQ GLI DEVVLJPDBVVFVLJPDBVVF GLIIHUHQFHEHWZHHQWKHUHVXOWVIURP DQG HQG HQG GLI GLIGLIGLI VWU ^ VLJPDBVV >VLJPDBVVFVLJPDBVVFVLJPDBVVF@ `VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L VLJPDBVV >VLJPDBVVFVLJPDBVVFVLJPDBVVF@GLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG HQG
F125: s612EholeIB IXQFWLRQ>XXBXBVLJPDVLJPDVLJPDBVV@ V(KROH,%ORDGVWU[LYN 6(+2/(,%FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DQDQLVRWURSLFSODWHFRQWDLQLQJDQHOOLSWLFDOKROHVXEMHFWHGWRLQSODQHEHQGLQJ0 XXBXBVLJPDVLJPDVLJPDBVVORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEKDOIOHQJWKVRIWKHHOOLSWLFDOKROH DOSKDDQJOHRIWKHDSSOLHGPRPHQWLQSXWXQLWGHJUHH ORDGLQIXQLIRUPORDGDWLQILQLW\VDPHLQSXWDV/W\SH 0D, 0 D,]ZKHUH,]PRPHQWRILQHUWLDDERXW]D[LV F EDUDWLRRIHOOLSWLFDOPLQRUDQGPDMRUOHQJWKV VBDOSKD >FDVD@YHFWRURIWDQJHQWGLUHFWLRQZLWKDQJOH?DOSKDHTQD JOREDO(W\SH2W\SH3W\SH,FKHFN(HSV$%PXGLPIURP0DLQSURJUDPFRQWUROSDUDPHWHUV 6WURK VPDWHULDOSURSHUWLHV JOREDODEDOSKDORDGLQI0D,FVBDOSKD JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
D ORDGVWU E ORDGVWU DEKDOIOHQJWKVRIWKHHOOLSWLFDOKROH ORDGLQI ORDGVWU LQSODQHEHQGLQJDWLQILQLW\VDPHLQSXWDV/W\SH 0 ORDGVWU (
0PRPHQWDSSOLHGDWLQILQLW\
DOSKD ORDGVWU SL
DOSKDDQJOHRIWKHDSSOLHGPRPHQWLQSXWXQLWGHJUHH
,] ORDGVWU
,]PRPHQWRILQHUWLDDERXW]D[LV
0D, 0 D,]F ED VBDOSKD >FRVDOSKD VLQDOSKD @ YHFWRURIWDQJHQWGLUHFWLRQZLWKDQJOH?DOSKDHTQE LI3W\SHa VBDOSKD >VBDOSKD@HQG
HTQD IRUSLH]RDQG0((
LI3W\SH!VBDOSKD >VBDOSKD@HQG
IRU0((
HQG >XXBXBVLJPDVLJPDSKL@ VLQI,%ORDGLQI[LYN ] [L [L PX >]HWDWKHWDUKR@ PDS(3[LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ LIDEV]HWD ! HSV HSVWRDOORZWKHQXPHULFDOURXQGLQJHUURUQHDUWKHERXQGDU\ZKHQFDOFXODWLQJ]HWD F F FF F FRV DOSKD V F VLQ DOSKD T 0D, D FL V %A VBDOSKD ]L ]HWD ]L ]LA G]L GLDJ]L X XUHDO$ G]L T SKL SKLUHDO% G]L T ( HTQD FDOFXODWHGLVSODFHPHQWJUDGLHQWVXBXBDQGVWUHVVHVVLJPDVLJPDHTQ ]HWDB ]HWD]HWD DL E PX ] ]HWDBL ]LA ]HWDB ]HWDBL PX ]HWDBL G]HWD GLDJ]HWDBL G]HWD GLDJ]HWDBL
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
753
XB XBUHDO$ G]HWD T XB XBUHDO$ G]HWD T VLJPD VLJPDUHDO% G]HWD T ( VLJPD VLJPDUHDO% G]HWD T ( HOVH X QDQ RQHVGLP XB QDQ RQHVGLP XB QDQ RQHVGLP VLJPD QDQ RQHVGLP VLJPD QDQ RQHVGLP HQG FDOFXODWHKRRSVWUHVVVLJPDBVVDORQJWKHKROHERXQGDU\HTQD B VLJPDBVV QDQ VLJPDBVVZLOOQRWEHFDOFXODWHGLILWLVQRWUHTXLUHGE\WKHXVHU LI3W\SHa VLJPDBVV QDQHQG GHIDXOWRIVLJPDBVV LI3W\SH!VLJPDBVV QDQHQG LIDEVDEV]HWD HSV 2W\SH
GHIDXOWRIVLJPDBVV _2W\SH
_2W\SH
_2W\SH
GDWDRQWKHKROHERXQGDU\
SVL [L SL FKDQJHGHJUHHWRUDGLDQ >]HWDWKHWDUKR@ PDS(3[LSVLDEDPX FDOFXODWHWKHWDQJHQWLDODQJOHWKHWDHTQ >*WK1WK*WK@ 6WURKBPDWULFHVWKHWD FDOFXODWH6WURKPDWULFHV*WK*WK VY >FRVWKHWD VLQWKHWD @ YHFWRURIWDQJHQWGLUHFWLRQZLWKDQJOH?WKHWDHTQE LI3W\SHa VY >VY@HQG
HTQD
LI3W\SH!VY >VY@HQG V VLQSVLDOSKD F FRVDOSKD VLQSVL N F FF A FRV DOSKD HTQE VV N VLQ SVL F VLQ SVLDOSKD FF N FRV SVL F FRV SVLDOSKD HTQE SKLBQ D VV *WKFF *WK VBDOSKD UKR SDUWRID B VLJPDBVV V FRVWKHWDDOSKD AVY SKLBQ 0D, ( HTQD B LI3W\SHa VLJPDBVV SKLBQ 0D, HQG
VLJPDBVV 'VHOHFWULFGLVSODFHPHQWD D B
LI3W\SH!VLJPDBVV SKLBQ 0D, HQG
VLJPDBVV %VPDJQHWLFIOX[
&KHFNWKHFRUUHFWQHVVRIVLJPDDQGVLJPDYLDVLJPDBVV LI,FKHFN
LVQDQX a XGLVSODFHPHQWIRUQRQKROHSUREOHPZKLFKPD\QRWEHDYDLODEOHIRUFHUWDLQFDVHV
FWK FRVWKHWD VWK VLQWKHWD GLI VLJPDBVVF VLJPDBVVF VLJPD FWKAVLJPD VWKA VLJPD FWK VWKFRRUGLQDWHWUDQVIRUPDWLRQD B GLI DEVVLJPDBVV VLJPDBVVF GLIIHUHQFHEHWZHHQD BDQGD B LI(W\SH
IRULVRWURSLFPDWHULDOV
WKD WKHWDDOSKDVWKD VLQWKD FWKD FRVWKD FWKD FWKDA VLJPDBVVF 0D, V FWKDD VV VWKD FF FWKD UKR ( HTQ GLI DEVVLJPDBVVFVLJPDBVVF GLIIHUHQFHEHWZHHQWKHUHVXOWVIURPD BDQG HQG GLI GLIGLI VWU ^ D B D B VLJPDBVV >VLJPDBVVFVLJPDBVVF@ `VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L VLJPDBVV >VLJPDBVVFVLJPDBVVF@GLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG HQG
F126: s613EholeAL IXQFWLRQ>XXBXBVLJPDVLJPDVLJPDBVV@ V(KROH$/ORDGVWU[LYN 6(+2/($/FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DQDQLVRWURSLFSODWHFRQWDLQLQJDQHOOLSWLFDOKROHVXEMHFWHGWR DQDUELWUDU\ORDGDORQJWKHKROHERXQGDU\ XXBXBVLJPDVLJPDVLJPDBVVORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEKDOIOHQJWKVRIWKHHOOLSWLFDOKROH QFGQXPEHURIFRHIILFLHQWYHFWRUV&QDQG'QQRWHVDPHQXPEHUIRU&QDQG'Q
754
Appendix F: AEPH Source Code (Listed in Alphabetic Order) &QFRHIILFLHQWYHFWRU>FFFFQ@ 'QFRHIILFLHQWYHFWRU>GGGQ@ FDJDFBDOSKDDQGJDPPDBDOSKDHTQF B JOREDO3W\SH2W\SH(,FKHFNHSV$%PXGLPIURP0DLQSURJUDPFRQWUROSDUDPHWHUV 6WURK VPDWHULDOSURSHUWLHV JOREDODEQFG&Q'QFDJD JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
D ORDGVWU E ORDGVWU DEKDOIOHQJWKVRIWKHHOOLSWLFDOKROH QFG ORDGVWU
QXPEHURIFRHIILFLHQWYHFWRUVFNQRWHVDPHQXPEHUIRUFNDQGGN
&Q ORDGVWUQFG ( FRHIILFLHQWYHFWRU>FFFFQ@ 'Q ORDGVWUQFG QFG (FRHIILFLHQWYHFWRU>GGGQ@ LI3W\SHa &Q ORDGVWUQFG 'Q ORDGVWUQFG QFG HQG
WKFRPSRQHQWRI&Q'Q
LI3W\SH!&Q ORDGVWUQFG 'Q ORDGVWUQFG QFG HQG
WKFRPSRQHQWRI&Q'Q
EHIRUHLQSXWORDGVWUFDOFXODWHFRHIILFLHQWVFFGGQDQDO\WLFDOO\RUQXPHULFDOO\E\HTQE FD DL E PX JD DL E PX DL E PX HTQF BUHTXLUHGIRUWKHHYDOXDWLRQRIORJ]HWD HQG ] [L [L PX >]HWDWKHWDUKR@ PDS(3[LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ LIDEV]HWD ! HSV HSVWRDOORZWKHQXPHULFDOURXQGLQJHUURUQHDUWKHERXQGDU\ZKHQFDOFXODWLQJ]HWD ORJ]HWD ORJ] ORJFD ORJJD]HWDA HTQ B GORJ] GLDJORJ]HWD ]L ]HWD %L LQY% X LPDJ$ GORJ] $ &Q SKL LPDJ% GORJ] $ &Q ( HTQD IRUN QFG FDOFXODWHGLVSODFHPHQWYHFWRUXDQGVWUHVVIXQFWLRQYHFWRUSKLHTQD TN GLDJ]LAN %L &QN L 'QN N X XLPDJ$ TN SKL SKLLPDJ% TN ( HQG FDOFXODWHGLVSODFHPHQWJUDGLHQWVXBXBDQGVWUHVVHVVLJPDVLJPDHTQD ]HWDB ]HWD]HWD DL E PX ] ]HWDBL ]L ]HWDB ]HWDBL PX ]HWDBL G]HWD GLDJ]HWDBL G]HWD GLDJ]HWDBL XB LPDJ$ G]HWD $ &Q XB LPDJ$ G]HWD $ &Q VLJPD LPDJ% G]HWD $ &Q ( VLJPD LPDJ% G]HWD $ &Q ( HTQD IRUN QFG FDOFXODWHGLVSODFHPHQWYHFWRUXDQGVWUHVVIXQFWLRQYHFWRUSKLHTQD ]LNS ]LAN ]N ]LNS ]HWDB ]N PX ]N G]N GLDJ]N G]N GLDJ]N FGN &QN L 'QN TNS G]N %L FGN TNS G]N %L FGN XB XBLPDJ$ TNS XB XBLPDJ$ TNS VLJPD VLJPDLPDJ% TNS ( VLJPD VLJPDLPDJ% TNS ( HQG HOVH X QDQ RQHVGLP XB QDQ RQHVGLP XB QDQ RQHVGLP VLJPD QDQ RQHVGLP VLJPD QDQ RQHVGLP HQG FDOFXODWHKRRSVWUHVVVLJPDBVVDORQJWKHKROHERXQGDU\HTQE VLJPDBVV QDQ VLJPDBVVZLOOQRWEHFDOFXODWHGLILWLVQRWUHTXLUHGE\WKHXVHU LI3W\SHa VLJPDBVV QDQHQG
GHIDXOWRIVLJPDBVV
LI3W\SH!VLJPDBVV QDQHQG
GHIDXOWRIVLJPDBVV
LIDEVDEV]HWD HSV 2W\SH
_2W\SH
_2W\SH
_2W\SH
GDWDRQWKHKROHERXQGDU\
SVL [L SL FKDQJHGHJUHHWRUDGLDQ >]HWDWKHWDUKR@ PDS(3[LSVLDEDPX FDOFXODWHWKHWDQJHQWLDODQJOHWKHWDHTQ >*WK1WK*WK@ 6WURKBPDWULFHVWKHWD FDOFXODWH6WURKPDWULFHV*WK1WK*WK
Appendix F: AEPH Source Code (Listed in Alphabetic Order) VLJ 1WK
&Q FWK FRVWKHWD VWK VLQWKHWD IRUN QFG VLJ VLJFRVN SVL *WK &QN *WK 'QN VLQN SVL *WK &QN *WK 'QN HQG VY >FWKVWK@ YHFWRURIWDQJHQWGLUHFWLRQZLWKDQJOH?WKHWDHTQE LI3W\SHa VY >VY@HQG
HTQD
LI3W\SH!VY >VY@HQG VLJPDBVV VY VLJUKR ( LI3W\SHa VLJPDBVV VLJ UKR HQG
VLJPDBVV 'VHOHFWULFGLVSODFHPHQWD E
LI3W\SH!VLJPDBVV VLJ UKR HQG
VLJPDBVV %VPDJQHWLFIOX[
&KHFNWKHFRUUHFWQHVVRIVLJPDDQGVLJPDYLDVLJPDBVV LI,FKHFN
VLJPDBVVF VLJPD FWKAVLJPD VWKA VLJPD FWK VWKFRRUGLQDWHWUDQVIRUPDWLRQIRUVROXWLRQIURPD B GLI DEVVLJPDBVV VLJPDBVVF GLIIHUHQFHEHWZHHQWKHUHVXOWVREWDLQHGIURPD BDQGE VWU ^ D B E VLJPDBVV VLJPDBVVF ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L VLJPDBVV VLJPDBVVFGLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG HQG
F127: s614EholePF IXQFWLRQ>XXBXBVLJPDVLJPDVLJPDBVV@ V(KROH3)ORDGVWU[LYN 6(+2/(3)FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DQDQLVRWURSLFSODWHFRQWDLQLQJDQHOOLSWLFDOKROHVXEMHFWHGWR DFRQFHQWUDWHGIRUFHDWDQDUELWUDU\SRLQW XXBXBVLJPDVLJPDVLJPDBVVORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEKDOIOHQJWKVRIWKHHOOLSWLFDOKROH SBKDWSRLQWORDG>SSS@RU>SSSS@IRUSLH]RHOHFWULFPDWHULDOV [BKDWORFDWLRQRIWKHORDG[BKDW[BKDW ]HWDBKDWWUDQVIRUPHGYDULDEOHDVVRFLDWHGZLWK]BKDWHTQ L%F%LQY% FRQM% SDUWRIWKHQGWHUPLQHTQ $S$S $
SBKDWSDUWRIHTQ B FDJDFBDOSKDDQGJDPPDBDOSKDHTQF B OQ]KDWORJ]HWDBKDW HTQE JOREDO2W\SH3W\SH(HSV,FKHFN$%PXGLP IURP0DLQSURJUDPFRQWUROSDUDPHWHUV 6WURK VPDWHULDOSURSHUWLHV JOREDODESBKDW[BKDW]HWDBKDWL%F%$SFDJDOQ]KDW JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
D ORDGVWU E ORDGVWU
DEKDOIOHQJWKVRIWKHHOOLSWLFDOKROH
SBKDW ORDGVWU ( SRLQWORDG>SSS@IRUDQLVRWURSLFPDWHULDOV LI3W\SHa SBKDW ORDGVWU HQG
>SSSS@IRUSLH]RHOHFWULFPDWHULDOV
LI3W\SH!SBKDW ORDGVWU HQG
>SSSSS@IRU0((PDWHULDOV
[BKDW ORDGVWUGLPGLP ORFDWLRQRIWKHORDG[BKDW[BKDW ]BKDW [BKDW [BKDW PX FRPSOH[DUJXPHQWVRI[BKDW >]HWDBKDWWKHWDUKR@ PDS(3[BKDWDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDBKDWHTQ L%F% LQY% FRQM% SDUWRIWKHQGWHUPLQHTQ B $S $
SBKDW FRQVWDQWWHUPLQHTQ B FD DL E PX JD DL E PX DL E PX HTQF B OQ]KDW ORJ]BKDW ORJFD ORJJD]HWDBKDWA HTQE
755
756
Appendix F: AEPH Source Code (Listed in Alphabetic Order) HQG FDOFXODWHGLVSODFHPHQWYHFWRUXVWUHVVIXQFWLRQYHFWRUSKLVWUDLQVDQGVWUHVVHV ] [L [L PX G] [L [BKDW [L [BKDW PX XVLQJG] ]]BKDWPD\KDYHWURXEOH >]HWDWKHWDUKR@ PDS(3[LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ LIDEV]HWD ! HSV HSVWRDOORZWKHQXPHULFDOURXQGLQJHUURUQHDUWKHERXQGDU\ZKHQFDOFXODWLQJ]HWD ORJ]HWD ORJG] ORJFD ORJJD]HWD ]HWDBKDW HTQ ]L ]HWD ]L ]LA ]HWDB ]HWD]HWD DL E PX ] ]HWD ]HWDB]HWD]HWDBKDW HTQ I] GLDJORJ]HWD FRQM$S SL VWWHUPRIHTQ B I]B GLDJ]HWD FRQM$S SL GHULYDWLYHRIWKHVWWHUPRIHTQ B IRUM GLP FORJ]L FRQMOQ]KDWM ORJ]LFRQM]HWDBKDWM HTQF I] I]GLDJFORJ]L L%F%M $SM SL HTQ B I]B I]BGLDJ]L ]HWDB]LFRQM]HWDBKDWM L%F%M $SM SL GHULYDWLYHRIHTQ B HQG X LPDJ$ I] SKL LPDJ% I] ( HTQ B XB LPDJ$ I]B XB LPDJ$ GLDJPX I]B VLJPD LPDJ% GLDJPX I]B ( VLJPD LPDJ% I]B ( HOVH X QDQ RQHVGLP XB QDQ RQHVGLP XB QDQ RQHVGLP VLJPD QDQ RQHVGLP VLJPD QDQ RQHVGLP HQG FDOFXODWHKRRSVWUHVVVLJPDBVVDORQJWKHKROHERXQGDU\HTQ B VLJPDBVV QDQ VLJPDBVVZLOOQRWEHFDOFXODWHGLILWLVQRWUHTXLUHGE\WKHXVHU LI3W\SHa VLJPDBVV QDQHQG
GHIDXOWRIVLJPDBVV
LI3W\SH!VLJPDBVV QDQHQG
GHIDXOWRIVLJPDBVV
LIDEVDEV]HWD HSV 2W\SH
_2W\SH
_2W\SH
_2W\SH
GDWDRQWKHKROHERXQGDU\
SVL [L SL FKDQJHGHJUHHWRUDGLDQ >]HWDWKHWDUKR@ PDS(3[LSVLDEDPX FDOFXODWHWKHWDQJHQWLDODQJOHWKHWDHTQ >*WK1WK*WK@ 6WURKBPDWULFHVWKHWD FDOFXODWH6WURKPDWULFHV*WK1WK*WK SVLB]HWD L FRVSVL VLQSVL FRVSVL L VLQSVL ]HWDBKDW FWK FRVWKHWD VWK VLQWKHWD VY >FWKVWK@ YHFWRURIWDQJHQWGLUHFWLRQZLWKDQJOH?WKHWDHTQE LI3W\SHa VY >VY@HQG
HTQD
LI3W\SH!VY >VY@HQG SKLBQ *WK UHDO% GLDJSVLB]HWD $ SBKDWSL UKR SDUWRIHTQ B VLJPDBVV VY SKLBQ ( HTQD B LI3W\SHa VLJPDBVV SKLBQ HQG
VLJPDBVV 'VHOHFWULFGLVSODFHPHQWD B
LI3W\SH!VLJPDBVV SKLBQ HQG
VLJPDBVV %VPDJQHWLFIOX[
&KHFNWKHFRUUHFWQHVVRIVLJPDDQGVLJPDYLDVLJPDBVV LI,FKHFN
VLJPDBVVF VLJPD FWKAVLJPD VWKA VLJPD FWK VWKFRRUGLQDWHWUDQVIRUPDWLRQIRUVROXWLRQIURP B GLI DEVVLJPDBVV VLJPDBVVF GLIIHUHQFHEHWZHHQWKHUHVXOWVREWDLQHGIURP BDQG B VWU ^ B B VLJPDBVV VLJPDBVVF ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L VLJPDBVV VLJPDBVVFGLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG HQG
F128: s615EholeDL IXQFWLRQ>XXBXBVLJPDVLJPDVLJPDBVV@ V(KROH'/ORDGVWU[LYN 6(KROH/FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DQDQLVRWURSLFSODWHFRQWDLQLQJDQHOOLSWLFDOKROHKDYLQJDGLVORFDWLRQZLWK
Appendix F: AEPH Source Code (Listed in Alphabetic Order) %XUJHUVYHFWRUEBKDWORFDWHGDW[BKDW XXBXBVLJPDVLJPDVLJPDBVVORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEKDOIOHQJWKVRIWKHHOOLSWLFDOKROH EBKDW%XUJHUVYHFWRU>EEE@RU>EEEE@IRUSLH]RHOHFWULFPDWHULDOV [BKDWORFDWLRQRIWKHORDG[BKDW[BKDW ]BKDWWKHFRPSOH[YDULDEOHDVVRFLDWHGZLWK[BKDWDQGPX ]HWDBKDWWUDQVIRUPHGYDULDEOHDVVRFLDWHGZLWK]BKDWHTQ L%F%LQY% FRQM% SDUWRIWKHQGWHUPLQHTQ %E%E %
EBKDWSDUWRIHTQ B FDJDFBDOSKDDQGJDPPDBDOSKDHTQF B OQ]KDWORJ]HWDBKDW HTQE JOREDO2W\SH3W\SH(HSV,FKHFN$%PXGLP IURP0DLQSURJUDPFRQWUROSDUDPHWHUV 6WURK VPDWHULDOSURSHUWLHV JOREDODEEBKDW[BKDW]BKDW]HWDBKDWL%F%%EFDJDOQ]KDW JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
D ORDGVWU E ORDGVWU
DEKDOIOHQJWKVRIWKHHOOLSWLFDOKROH
EBKDW ORDGVWU %XUJHUVYHFWRU>EEE@IRUDQLVRWURSLFPDWHULDOV LI3W\SHa EBKDW ORDGVWU (HQG
>EEEE@IRUSLH]RHOHFWULFPDWHULDOV
LI3W\SH!EBKDW ORDGVWU (HQG
>EEEEE@IRU0((PDWHULDOV
[BKDW ORDGVWUGLPGLP ORFDWLRQRIWKHORDG[BKDW[BKDW ]BKDW [BKDW [BKDW PX >]HWDBKDWWKHWDUKR@ PDS(3[BKDWDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDBKDWHTQ L%F% LQY% FRQM% SDUWRIWKHQGWHUPLQHTQ %E %
EBKDW FRQVWDQWWHUPLQHTQ FD DL E PX JD DL E PX DL E PX HTQF B OQ]KDW ORJ]BKDW ORJFD ORJJD]HWDBKDWA HTQE HQG FDOFXODWHGLVSODFHPHQWYHFWRUXVWUHVVIXQFWLRQYHFWRUSKLVWUDLQVDQGVWUHVVHV ] [L [L PX G] [L [BKDW [L [BKDW PX XVLQJG] ]]BKDWPD\KDYHWURXEOH >]HWDWKHWDUKR@ PDS(3[LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ LIDEV]HWD ! HSV HSVWRDOORZWKHQXPHULFDOURXQGLQJHUURUQHDUWKHERXQGDU\ZKHQFDOFXODWLQJ]HWD ORJ] ORJG] WKBKDW DQJOH]BKDW IRUM GLP FKDQJHWKHYDOXHRIORJ]ZLWKSULQFLSDODQJOHORFDWHGDW>WKBKDWWKBKDW SL@ LILPDJORJ]M WKBKDWM ORJ]M ORJ]M SL LHQG HQG ORJ]HWD ORJ]ORJFD ORJJD]HWD ]HWDBKDW HTQ B ]L ]HWD ]L ]LA ]HWDB ]HWD]HWD DL E PX ] ]HWD ]HWDB]HWD]HWDBKDW HTQ I] GLDJORJ]HWD FRQM%E SL VWWHUPRIHTQ B I]B GLDJ]HWD FRQM%E SL GHULYDWLYHRIWKHVWWHUPRIHTQ B IRUM GLP FORJ]L FRQMOQ]KDWM ORJ]LFRQM]HWDBKDWM HTQF I] I]GLDJFORJ]L L%F%M %EM SL HTQ B I]B I]BGLDJ]L ]HWDB]LFRQM]HWDBKDWM L%F%M %EM SL GHULYDWLYHRIHTQ B HQG X LPDJ$ I] SKL LPDJ% I] ( HTQ B XB LPDJ$ I]B XB LPDJ$ GLDJPX I]B VLJPD LPDJ% GLDJPX I]B ( VLJPD LPDJ% I]B ( HOVH
757
758
Appendix F: AEPH Source Code (Listed in Alphabetic Order) X QDQ RQHVGLP XB QDQ RQHVGLP XB QDQ RQHVGLP VLJPD QDQ RQHVGLP VLJPD QDQ RQHVGLP HQG FDOFXODWHKRRSVWUHVVVLJPDBVVDORQJWKHKROHERXQGDU\HTQ B VLJPDBVV QDQ VLJPDBVVZLOOQRWEHFDOFXODWHGLILWLVQRWUHTXLUHGE\WKHXVHU LI3W\SHa VLJPDBVV QDQHQG
GHIDXOWRIVLJPDBVV
LI3W\SH!VLJPDBVV QDQHQG
GHIDXOWRIVLJPDBVV
LIDEVDEV]HWD HSV 2W\SH
_2W\SH
_2W\SH
_2W\SH
GDWDRQWKHKROHERXQGDU\
SVL [L SL FKDQJHGHJUHHWRUDGLDQ >]HWDWKHWDUKR@ PDS(3[LSVLDEDPX FDOFXODWHWKHWDQJHQWLDODQJOHWKHWDHTQ >*WK1WK*WK@ 6WURKBPDWULFHVWKHWD FDOFXODWH6WURKPDWULFHV*WK1WK*WK SVLB]HWD L FRVSVL VLQSVL FRVSVL L VLQSVL ]HWDBKDW VY ]HURVGLP GHIDXOWRIYHFWRURIWDQJHQWGLUHFWLRQ FWK FRVWKHWD VWK VLQWKHWD VY FWKVY VWK YHFWRURIWDQJHQWGLUHFWLRQZLWKDQJOH?WKHWDHTQE SKLBQ *WK UHDO% GLDJSVLB]HWD % EBKDWSL UKR SDUWRIHTQ B VLJPDBVV VY SKLBQ ( HTQ B LI3W\SHa VLJPDBVV SKLBQ HQG
VLJPDBVV 'VHOHFWULFGLVSODFHPHQWD B
LI3W\SH!VLJPDBVV SKLBQ HQG
VLJPDBVV %VPDJQHWLFIOX[
&KHFNWKHFRUUHFWQHVVRIVLJPDDQGVLJPDYLDVLJPDBVV LI,FKHFN
VLJPDBVVF VLJPD FWKAVLJPD VWKA VLJPD FWK VWKFRRUGLQDWHWUDQVIRUPDWLRQIRUVROXWLRQIURP B GLI DEVVLJPDBVV VLJPDBVVF GLIIHUHQFHEHWZHHQWKHUHVXOWVREWDLQHGIURP BDQG B VWU ^ B B VLJPDBVV VLJPDBVVF ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L VLJPDBVV VLJPDBVVFGLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG HQG
F129: s622PholeUL IXQFWLRQ>XXBXBVLJPDVLJPDVLJPDBVV@ V3KROH8/ORDGVWU[LYN 63KROH8/FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DQDQLVRWURSLFSODWHFRQWDLQLQJDSRO\JRQOLNHKROHVXEMHFWHGWR XQLIRUPORDGLQJDSSOLHGDWLQILQLW\ 7KHXQLIRUPORDGFDQEHLQSXWWKURXJKGLIIHUHQWFDVHV XXBXBVLJPDVLJPDVLJPDBVVORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DFHSNSDUDPHWHUVIRUSRO\JRQOLNHKROHV ORDGLQIXQLIRUPORDGDWLQILQLW\VDPHLQSXWDV/W\SH JOREDO(W\SH2W\SH3W\SH,FKHFN(HSV$%PXGLP IURP0DLQSURJUDP JOREDOWBLQIWBLQIHSVBLQIHSVBLQI IURPIXQFWLRQVLQI8/ JOREDODFHSNORDGLQI JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
D ORDGVWU F ORDGVWU HS ORDGVWU N ORDGVWU DFHSNSDUDPHWHUVRISRO\JRQOLNHKROHV OHQ OHQJWKORDGVWU QXPEHURIHOHPHQWVLQWKHYHFWRURIORDGVWU ORDGLQIOHQ ORDGVWUOHQ XQLIRUPORDGDWLQILQLW\VDPHLQSXWDV/W\SH HQG >XXBXBVLJPDVLJPD@ VLQI8/ORDGLQI[LYN SKL [L WBLQI[L WBLQI HTQD ] [L [L PX >]HWDWKHWDUKR@ PDS(3[LDFHSNPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
759
LIDEV]HWD ! HSV HSVWRDOORZWKHQXPHULFDOURXQGLQJHUURUQHDUWKHERXQGDU\ZKHQFDOFXODWLQJ]HWD ]L ]HWD ]LN ]LAN %L LQY% I] D GLDJ]L %L WBLQIL F WBLQI HS GLDJ]LN %L WBLQIL WBLQI UGWHUPRIHTQ B X XUHDO$ I] SKL SKLUHDO% I] ( HTQ B FDOFXODWHGLVSODFHPHQWJUDGLHQWVXBXBDQGVWUHVVHVVLJPDVLJPDHTQ B S L F PX S L F PX S HS N L PX S HS N L PX HTQ ]L ]LA]N ]HWDAN ]LN ]LAN ]HWDB SS ]LS ]NS ]LN A D ]HWDBL ]L ]HWDB ]HWDBLN N ]LN ]HWDB I]S D GLDJ]HWDBL %L WBLQIL F WBLQI HS GLDJ]HWDBLN %L WBLQIL WBLQI GHULYDWLYHRIWKHUGWHUPRIHTQ B I]S PX I]S XB HSVBLQIUHDO$ I]S XB HSVBLQIUHDO$ I]S VLJPD WBLQIUHDO% I]S ( VLJPD WBLQIUHDO% I]S ( HOVH X QDQ RQHVGLP XB QDQ RQHVGLP XB QDQ RQHVGLP VLJPD QDQ RQHVGLP VLJPD QDQ RQHVGLP HQG FDOFXODWHKRRSVWUHVVVLJPDBVVDORQJWKHKROHERXQGDU\HTQ B VLJPDBVV QDQ VLJPDBVVZLOOQRWEHFDOFXODWHGLILWLVQRWUHTXLUHGE\WKHXVHU LI3W\SHa VLJPDBVV QDQHQG LI3W\SH!VLJPDBVV QDQHQG LIDEVDEV]HWD HSV 2W\SH
GHIDXOWRIVLJPDBVV GHIDXOWRIVLJPDBVV _2W\SH
_2W\SH
_2W\SH
GDWDRQWKHKROHERXQGDU\
SVL [L SL FKDQJHGHJUHHWRUDGLDQ >]HWDWKHWDUKR@ PDS(3[LSVLDFHSNPX FDOFXODWHWKHWDQJHQWLDODQJOHWKHWDHTQ >*WK1WK*WK@ 6WURKBPDWULFHVWKHWD FDOFXODWHWKH6WURKPDWULFHV*WK*WK FWK FRVWKHWD VWK VLQWKHWD VY >FWKVWK@YHFWRURIWDQJHQWGLUHFWLRQZLWKDQJOH?WKHWDHTQE LI3W\SHa VY >VY@HQG
HTQD IRUSLH]RRU0((
LI3W\SH!VY >VY@HQG
IRU0((
F FWKF D VLQSVL UKRF VWKF D FRVSVL UKR WV FWK WBLQIVWK WBLQI*WK VWK WBLQIFWK WBLQI *WK F WBLQIF WBLQI HTQ B VLJPDBVV VY WV ( HTQ B LI3W\SHa VLJPDBVV WV HQG
VLJPDBVV 'VHOHFWULFGLVSODFHPHQWD B
LI3W\SH!VLJPDBVV WV HQG
VLJPDBVV %VPDJQHWLFIOX[
&KHFNWKHFRUUHFWQHVVRIVLJPDDQGVLJPDYLDVLJPDBVV LI,FKHFN
GLI GLI VLJPDBVVF VLJPDBVVF VLJPDBVVF VLJPD FWKAVLJPD VWKA VLJPD FWK VWKFRRUGLQDWHWUDQVIRUPDWLRQIRUVROXWLRQIURP B GLI DEVVLJPDBVV VLJPDBVVF GLIIHUHQFHEHWZHHQWKHUHVXOWVIURP BDQG B LIORDGLQI
XQLGLUHFWLRQDOWHQVLRQVLJPDBLQIGLUHFWHGDWDQJOHDOSKDIURP[D[LVHTQD
VLJPDBLQI ORDGLQI DOSKD ORDGLQI SL FKDQJHGHJUHHWRUDGLDQ VD >FRVDOSKD VLQDOSKD @ HTQE LI3W\SHa VD >VD@HQG
HTQD IRUSLH]RRU0((
LI3W\SH!VD >VD@HQG
IRU0((
F FRVWKHWDDOSKD V F D VLQSVLDOSKD UKR F FV VLJPDBVVF VLJPDBLQI FAVY VLQWKHWDDOSKD *WKF *WK VD
HTQ
GLI DEVVLJPDBVVFVLJPDBVVF GLIIHUHQFHEHWZHHQWKHUHVXOWVIURP BDQG LI(W\SH
IRULVRWURSLFPDWHULDOV
VLJPDBVVF VLJPDBLQI V F HTQ GLI DEVVLJPDBVVFVLJPDBVVF GLIIHUHQFHEHWZHHQWKHUHVXOWVIURP BDQG HQG
760
Appendix F: AEPH Source Code (Listed in Alphabetic Order) HQG GLI GLIGLIGLI VWU ^ B B VLJPDBVV >VLJPDBVVFVLJPDBVVFVLJPDBVVF@ `VWULQJVXVHGLQPHVVDJHRI,FKHFN SULQW7)[L VLJPDBVV >VLJPDBVVFVLJPDBVVFVLJPDBVVF@GLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG HQG
F130: s623PholeIB IXQFWLRQ>XXBXBVLJPDVLJPDVLJPDBVV@ V3KROH,%ORDGVWU[LYN 63KROH,%FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DQDQLVRWURSLFSODWHFRQWDLQLQJDSRO\JRQOLNHKROHVXEMHFWHGWR LQSODQHEHQGLQJDWLQILQLW\ XXBXBVLJPDVLJPDVLJPDBVVORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DFHSNSDUDPHWHUVIRUSRO\JRQOLNHKROHV DOSKDDQJOHRIWKHDSSOLHGPRPHQWLQSXWZLWKXQLWGHJUHH ORDGLQIXQLIRUPORDGDWLQILQLW\VDPHLQSXWDV/W\SH 0D, 0 D,]ZKHUH,]PRPHQWRILQHUWLDDERXW]D[LV VBDOSKD >FDVD@YHFWRURIWDQJHQWGLUHFWLRQZLWKDQJOH?DOSKDHTQE JOREDO(W\SH2W\SH3W\SH,FKHFN(HSV$%PXGLP IURP0DLQSURJUDPFRQWUROSDUDPHWHUV 6WURK VPDWHULDOSURSHUWLHV JOREDODFHSNDOSKDORDGLQI0D,VBDOSKD JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
D ORDGVWU F ORDGVWU HS ORDGVWU N ORDGVWU DFHNSDUDPHWHUVRISRO\JRQOLNHKROH ORDGLQI ORDGVWU LQSODQHEHQGLQJDWLQILQLW\VDPHLQSXWDV/W\SH 0 ORDGVWU (
0PRPHQWDSSOLHGDWLQILQLW\
DOSKD ORDGVWU SLDOSKDDQJOHRIWKHDSSOLHGPRPHQWLQSXWZLWKXQLWGHJUHHWKHQFKDQJHWRXQLWUDGLDQ ,] ORDGVWU
,]PRPHQWRILQHUWLDDERXW]D[LV
0D, 0 D,] VBDOSKD >FRVDOSKD VLQDOSKD @ YHFWRURIWDQJHQWGLUHFWLRQZLWKDQJOH?DOSKDHTQE LI3W\SHa VBDOSKD >VBDOSKD@HQG
HTQD IRUSLH]RDQG0((
LI3W\SH!VBDOSKD >VBDOSKD@HQG
IRU0((
HQG >XXBXBVLJPDVLJPDSKL@ VLQI,%ORDGLQI[LYN ] [L [L PX >]HWDWKHWDUKR@ PDS(3[LDFHSNPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ LIDEV]HWD ! HSV HSVWRDOORZWKHQXPHULFDOURXQGLQJHUURUQHDUWKHERXQGDU\ZKHQFDOFXODWLQJ]HWD F F FF F FRV DOSKD V F VLQ DOSKD
HTQE
FNP HS FF FRV DOSKD VNP HS F VLQ DOSKD FNS HS FF FRV DOSKD VNS HS F VLQ DOSKD FN HS HS FRV DOSKD VN HS HS VLQ DOSKD T FL V TNP FNPL VNP TNS FNSL VNS TN FNL VN ]L ]HWD ]L ]LA ]LNP ]LAN ]LNS ]LAN ]LN ]LA N HTQ G]L GLDJ]L G]LNP GLDJ]LNP G]LNS GLDJ]LNS G]LN GLDJ]LN I] 0D, D T G]LTNP G]LNPTNS G]LNSTN G]LN LQY% VBDOSKD QGWHUPRIHTQD X XUHDO$ I] SKL SKLUHDO% I] ( HTQD B FDOFXODWHGLVSODFHPHQWJUDGLHQWVXBXBDQGVWUHVVHVVLJPDVLJPDHTQD B S L F PX S L F PX S HS N L PX S HS N L PX HTQ ]L ]LA]N ]HWDAN ]LN ]LAN
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
761
]HWDB SS ]LS ]NS ]LN A D ]L ]LA ]LN ]LAN ]LNS ]LAN ]LNS ]LA N HTQ ]HWDBL ]L ]HWDB ]HWDBLN N ]LN ]HWDB ]HWDBLNS N ]LNS ]HWDB ]HWDBLNS N ]LNS ]HWDB G]HWD GLDJ]HWDBL G]HWDN GLDJ]HWDBLN G]HWDNS GLDJ]HWDBLNS G]HWDNS GLDJ]HWDBLNS I]S 0D, D T G]HWDTNP G]HWDNTNS G]HWDNSTN G]HWDNS LQY% VBDOSKD GHULYDWLYHRIQGWHUPRIHTQD XB XBUHDO$ I]S XB XBUHDO$ GLDJPX I]S HTQD B VLJPD VLJPDUHDO% GLDJPX I]S ( VLJPD VLJPDUHDO% I]S ( HTQD B HOVH X QDQ RQHVGLP XB QDQ RQHVGLP XB QDQ RQHVGLP VLJPD QDQ RQHVGLP VLJPD QDQ RQHVGLP HQG FDOFXODWHKRRSVWUHVVVLJPDBVVDORQJWKHKROHERXQGDU\HTQD B VLJPDBVV QDQ VLJPDBVVZLOOQRWEHFDOFXODWHGLILWLVQRWUHTXLUHGE\WKHXVHU LI3W\SHa VLJPDBVV QDQHQG
GHIDXOWRIVLJPDBVV
LI3W\SH!VLJPDBVV QDQHQG
GHIDXOWRIVLJPDBVV
LIDEVDEV]HWD HSV 2W\SH
_2W\SH
_2W\SH
_2W\SH
GDWDRQWKHKROHERXQGDU\
SVL [L SL FKDQJHGHJUHHWRUDGLDQ >]HWDWKHWDUKR@ PDS(3[LSVLDFHSNPX FDOFXODWHWKHWDQJHQWLDODQJOHWKHWDHTQ >*WK1WK*WK@ 6WURKBPDWULFHVWKHWD FDOFXODWH6WURKPDWULFHV*WK*WK VY >FRVWKHWD VLQWKHWD @ YHFWRURIWDQJHQWGLUHFWLRQZLWKDQJOH?WKHWDHTQE LI3W\SHa VY >VY@HQG
HTQD
LI3W\SH!VY >VY@HQG V VLQSVLDOSKD HS VLQN SVLDOSKD F FRVDOSKD VLQSVL HTQF VV F VLQ SVL V FRV SVL VV N FNP VLQN SVL VNP FRVN SVL VV N FNS VLQN SVL VNS FRVN SVL VV N FN VLQ N SVL VN FRV N SVL FF V VLQ SVL F FRV SVL FF N VNP VLQN SVL FNP FRVN SVL FF N VNS VLQN SVL FNS FRVN SVL FF N VN VLQ N SVL FN FRV N SVL VV VVVVVVVV FF FFFFFFFF SKLBQ D VV *WKFF *WK VBDOSKD UKR SDUWRID B VLJPDBVV V FRVWKHWDDOSKD AVY SKLBQ 0D, ( HTQD B LI3W\SHa VLJPDBVV SKLBQ 0D, HQG VLJPDBVV 'VHOHFWULFGLVSODFHPHQWD D B LI3W\SH!VLJPDBVV SKLBQ 0D, HQG VLJPDBVV %VPDJQHWLFIOX[ &KHFNWKHFRUUHFWQHVVRIVLJPDDQGVLJPDYLDVLJPDBVV LI,FKHFN
FWK FRVWKHWD VWK VLQWKHWD GLI VLJPDBVVF VLJPDBVVF VLJPD FWKAVLJPD VWKA VLJPD FWK VWKFRRUGLQDWHWUDQVIRUPDWLRQIRUVROXWLRQIURPD B GLI DEVVLJPDBVV VLJPDBVVF GLIIHUHQFHEHWZHHQWKHUHVXOWVIURPD BDQGD B LI(W\SH
IRULVRWURSLFPDWHULDOV
WKD WKHWDDOSKDVWKD VLQWKD FWKD FRVWKD FWKD FWKDA VLJPDBVVF 0D, V FWKDD VV VWKD FF FWKD UKR ( HTQ GLI DEVVLJPDBVVFVLJPDBVVF GLIIHUHQFHEHWZHHQWKHUHVXOWVIURPD BDQG HQG GLI GLIGLI VWU ^ D B D B VLJPDBVV >VLJPDBVVFVLJPDBVVF@ ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L VLJPDBVV >VLJPDBVVFVLJPDBVVF@GLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG HQG
762
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
F131: s711crackNTS IXQFWLRQ>XXBXBVLJPDVLJPD@ VFUDFN176ORDGVWU[LYN 6&5$&.176FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVLQWKHYLFLQLW\RIWKHFUDFNWLS XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ /LN LQY/ 6,)ZKHUH/LVRQHRI%DUQHWW/RWKHWHQVRUV JOREDO3W\SH(% IURP0DLQSURJUDPFRQWUROSDUDPHWHUV 6WURK VPDWHULDOSURSHUWLHV JOREDO/LN JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
6,) >ORDGVWU ORDGVWU ORDGVWU @( 6,) >.B,,.B,.B,,,@VWUHVVLQWHQVLW\IDFWRUV LI3W\SHa 6,) ORDGVWU HQG
6,) .B,9HOHFWULFLQWHQVLW\IDFWRURISLH]RHOHFWULFPDWHULDOV
LI3W\SH!6,) ORDGVWU HQG
6,) .B9PDJQHWLFLQWHQVLW\IDFWRURI0((
/ UHDOL % % /LN LQY/ 6,) HTQ VHWUHDO IRU/WRDYRLGVPDOOHUURULQGXFHGE\QXPHULFDOFDOFXODWLRQ HQG U VTUW[L A[L A WKHWD DFRV[L U LI[L WKHWD WKHWDHQG
HTQ SLWKHWDSL
>1G1G1G@ 6WURKBPDWULFHVWKHWDSL FDOFXODWH1G 1AXVLQJWKHGLDJRQDOL]DWLRQUHODWLRQE >1GS1GS1GS@ 6WURKBPDWULFHVWKHWDSL SLU VTUW USL SLU VTUW SL UA X SLU 1G /LN SKL SLU 1G /LN ( HTQD XB SLU [L 1G [L 1GS /LN XB SLU [L 1G [L 1GS /LN HTQE VLJPD SLU [L 1G [L 1GS /LN ( VLJPD SLU [L 1G [L 1GS /LN ( HTQE
F132: s712IFcrackNTS IXQFWLRQ>XXBXBVLJPDVLJPD@ V,)FUDFN176ORDGVWU[LYN 6,)FUDFN176FDOFXODWHVWKHQHDUWLSVROXWLRQVRILQWHUIDFHFUDFNV XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ UUHIHUHQFHOHQJWKIRUWKHFDOFXODWLRQRIVWUHVVLQWHQVLW\IDFWRUV 6,)VWUHVVLQWHQVLW\IDFWRUV>.B,,.B,.B,,,@RU>.B,,.B,.B,,,.B,9@IRUSLH]RHOHFWULFPDWHUDLOV ORDGVWUORDG VWUXFWXUDOLQSXWIRUIXQFWLRQV0ZHGJH62( GHOWDVLQJXODURUGHUVFDOFXODWHGE\IXQFWLRQVBGHO/DP /DPPDWUL[RIHLJHQIXQFWLRQODPGDFDOFXODWHGE\IXQFWLRQVBGHO/DP JOREDO(3W\SH IURP0DLQSURJUDP JOREDOU6,)ORDGVWUGHOWD/DP JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
U ORDGVWU UHIHUHQFHOHQJWKIRUWKHFDOFXODWLRQRIVWUHVVLQWHQVLW\IDFWRUV 6,) >ORDGVWU ORDGVWU ORDGVWU @( 6,) >.B,,.B,.B,,,@VWUHVVLQWHQVLW\IDFWRUV LI3W\SHa 6,) ORDGVWU HQG
6,) .B,9HOHFWULFLQWHQVLW\IDFWRURISLH]RHOHFWULFPDWHULDOV
LI3W\SH!6,) ORDGVWU HQG
6,) .B9PDJQHWLFLQWHQVLW\IDFWRURI0((PDWHULDOV
ORDGVWU >@
ZEF WKN WKN WKN GDWDIRUV0ZHGJH62(
>GHOWD/DP@ VBGHO/DP FDOFXODWHGHOWD/DPGD HQG >9WK9WKS/DPWK/DPWKSGHOWD@ V0ZHGJH62(ORDGVWU[LYN U VTUW[L A[L A WK DFRV[L U LI[L WK WKHQG FWK FRVWK VWK VLQWK UG UU AGHOWD GHOWD GLDJRQDOPDWUL[LQHTQD
Appendix F: AEPH Source Code (Listed in Alphabetic Order) U/N GLDJUG LQY/DP 6,)VTUW SL U SDUWRIHTQD E X U 9WK U/N SKL U /DPWK U/N HTQD XB FWK 9WK GLDJGHOWD VWK 9WKS U/N HTQE B XB VWK 9WK GLDJGHOWD FWK 9WKS U/N HTQE B VLJPD VWK /DPWK GLDJGHOWD FWK /DPWKS U/N ( HTQE B VLJPD FWK /DPWK GLDJGHOWD VWK /DPWKS U/N ( HTQE B
F133: s713crackTI IXQFWLRQ>9WK9WKS/DPWK/DPWKSGHOWD@ VFUDFN7,ORDGVWU[LYN 6FUDFN7,FDOFXODWHVWKHVLQJXODURUGHUVDQGHLJHQIXFQWLRQVIRUDFUDFNWHUPLQDWLQJDWWKHLQWHUIDFH 9WK9WKS/DPWK/DPWKSGHOWDH[SODLQHGLQIXQFWLRQV0ZHGJH62( ORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ ORDGVWUORDG VWUXFWXUDOLQSXWIRUIXQFWLRQV0ZHGJH62( JOREDOORDGVWU JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
DOSKD ORDGVWU WKHDQJOHGHQRWLQJWKHGLUHFWLRQRIFUDFNVHH)LJXUH ORDGVWU >DOSKDDOSKD DUUDQJHORDGVWUDVUHTXLUHGE\V0ZHGJH62( HH@ 1PDWVKRXOGEHLQVWHDGRIDQGWKHHODVWLFSURSHUWLHVRIWKHVWDQGUGPDWHULDOVDUHWKHVDPH HQG >9WK9WKS/DPWK/DPWKSGHOWD@ V0ZHGJH62(ORDGVWU[LYN
F134: s721crackUL IXQFWLRQ>XXBXBVLJPDVLJPD@ VFUDFN8/ORDGVWU[LYN 6FUDFN8/FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVVWUHVVHVDQGWKHVWUHVVLQWHQVLW\IDFWRUVIRU DQDQLVRWURSLFSODWHFRQWDLQLQJDILQLWHFUDFNVXEMHFWHGWRXQLIRUPORDGLQJDSSOLHGDWLQILQLW\ 7KHXQLIRUPORDGFDQEHLQSXWWKURXJKGLIIHUHQWFDVHV XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DKDOIOHQJWKRIWKHFUDFN L/LQYHUVHRI%DUQHWW/RWKHWHQVRU/ 6,)YHFWRURIVWUHVVLQWHQVLW\IDFWRUV (1*HQHUJ\UHOHDVHUDWH JOREDO3W\SH(,FKHFNHSV% IURP0DLQSURJUDP JOREDOWBLQI IURPIXQFWLRQVLQI8/ JOREDODL/6,)(1* JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! 3UHSDUHORDGVWUDVUHTXLUHGE\V(KROH8/LQZKLFKWKHPLQRUD[LVRIWKHHOOLSWLFDOKROHVKRXOGEHVHWWR]HUR >XXBXBVLJPDVLJPDVLJPDBVV@ V(KROH8/ORDGVWU[LYN LIYN
D ORDGVWU KDOIOHQJWKRIWKHFUDFN / UHDOL % % L/ LQY/ HTQ VHWUHDO IRU/WRDYRLGVPDOOHUURULQGXFHGE\QXPHULFDOFDOFXODWLRQ 6,) VTUWSL D WBLQI ( VWUHVVLQWHQVLW\IDFWRUHTQ B LI3W\SHa 6,) 6,) ( HQG LI3W\SH!6,) 6,) ( HQG (1* 6,)
L/ 6,) HQHUJ\UHOHDVHUDWHHTQ B HQG
763
764
Appendix F: AEPH Source Code (Listed in Alphabetic Order) LI,FKHFN
FKHFNZLWK&2' VLJPDBVKRZQLQ
LI[L
LI[L !D VLJPDF [L VTUW[L ADA WBLQI ( HTQ LI3W\SHa VLJPDF VLJPDF ( HQG LI3W\SH!VLJPDF VLJPDF ( HQG GLI PD[DEVVLJPDVLJPDF VWU ^ D VLJPD VLJPDF ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[LVLJPDVLJPDFGLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG LID [L [L D [LS >[L HSV@[LP >[L HSV@ >XSXBXBVLJPDVLJPDVLJPDBVV@ V(KROH8/ORDGVWU[LSYN >XPXBXBVLJPDVLJPDVLJPDBVV@ V(KROH8/ORDGVWU[LPYN &2' XSXP &2'F VTUWDA[L A L/ WBLQI HTQ GLI PD[DEV&2'&2'F VWU ^ D &2' &2'F ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L&2'&2'FGLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG HQG HQG
F135: s722crackIB IXQFWLRQ>XXBXBVLJPDVLJPD@ VFUDFN,%ORDGVWU[LYN 6FUDFN,%FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVVWUHVVHVDQGWKHVWUHVVLQWHQVLW\IDFWRUVIRU DQDQLVRWURSLFSODWHFRQWDLQLQJDILQLWHFUDFNVXEMHFWHGWRLQSODQHEHQGLQJ0 XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DKDOIOHQJWKRIWKHFUDFN 0V, 0 VLQDOSKD A ,]ZKHUHDOSKDDQJOHRIWKHDSSOLHGPRPHQWLQSXWXQLWGHJUHH 0PRPHQWDSSOLHGDWLQILQLW\,]PRPHQWRILQHUWLDDERXW]D[LV VBDOSKDYHFWRURIWDQJHQWGLUHFWLRQZLWKDQJOH?DOSKDHTQD 6,)YHFWRURIVWUHVVLQWHQVLW\IDFWRUV JOREDO3W\SH,FKHFN(HSV% IURP0DLQSURJUDPFRQWUROSDUDPHWHUV 6WURK VPDWHULDOSURSHUWLHV JOREDOD0V,VBDOSKD6,) JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! 3UHSDUHORDGVWUDVUHTXLUHGE\V(KROH,%LQZKLFKWKHPLQRUD[LVRIWKHHOOLSWLFDOKROHVKRXOGEHVHWWR]HUR LIYN
VHHIXQFWLRQV(KROH,%IRUWKHGHILQLWLRQVRIV\PEROV
D ORDGVWU 0 ORDGVWU ( DOSKD ORDGVWU SL ,] ORDGVWU 0V, 0 VLQDOSKD A ,] VBDOSKD >FRVDOSKD VLQDOSKD @ YHFWRURIWDQJHQWGLUHFWLRQZLWKDQJOH?DOSKDHTQE LI3W\SHa VBDOSKD >VBDOSKD@HQG
HTQD
LI3W\SH!VBDOSKD >VBDOSKD@HQG 6,) 0V, D VTUWSL D VBDOSKD ( VWUHVVLQWHQVLW\IDFWRUVHTQE B HQG >XXBXBVLJPDVLJPDVLJPDBVV@ V(KROH,%ORDGVWU[LYN LI,FKHFN
FKHFNZLWK&2'VKRZQLQ
/ UHDOL % % HTQ VHWUHDO IRU/WRDYRLGVPDOOHUURULQGXFHGE\QXPHULFDOFDOFXODWLRQ [LS >[L HSV@[LP >[L HSV@
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
765
>XSXBXBVLJPDVLJPDVLJPDBVV@ V(KROH,%ORDGVWU[LSYN >XPXBXBVLJPDVLJPDVLJPDBVV@ V(KROH,%ORDGVWU[LPYN &2' XSXP &2'F 0V, [L VTUWDA[L A LQY/ VBDOSKD GLI PD[DEV&2'&2'F VWU ^ D E &2' &2'F ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L&2'&2'FGLIVWU SULQWWKHPHVVDJHRI,FKHFNO HQG
F136: s723crackAL IXQFWLRQ>XXBXBVLJPDVLJPD@ VFUDFN$/ORDGVWU[LYN 6FUDFN$/FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVVWUHVVHVDQGWKHVWUHVVLQWHQVLW\IDFWRUVIRU DQDQLVRWURSLFSODWHFRQWDLQLQJDQHOOLSWLFDOKROHVXEMHFWHGWRDQDUELWUDU\ORDGRQFUDFNVXUIDFHV XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ 6,)YHFWRURIVWUHVVLQWHQVLW\IDFWRUV JOREDO3W\SH($%GLP IURP0DLQSURJUDPFRQWUROSDUDPWHU 6WURK VPDWHULDOSURSHUWLHV JOREDO6,) JHQHUDWHG 3UHSDUHORDGVWUDVUHTXLUHGE\V(KROH$/LQZKLFKWKHPLQRUD[LVRIWKHHOOLSWLFDOKROHVKRXOGEHVHWWR]HUR LIYN
VHHIXQFWLRQV(KROH$/IRUWKHGHILQLWLRQVRIV\PEROV
D ORDGVWU QFG ORDGVWU & ORDGVWU ( FRHIILFLHQWYHFWRU>FFFFQ@ 'Q ORDGVWUQFG QFG (FRHIILFLHQWYHFWRU>GGGQ@ LI3W\SHa & ORDGVWU 'Q ORDGVWUQFG QFG HQG
WKFRPSRQHQWRI&'Q
LI3W\SH!& ORDGVWU 'Q ORDGVWUQFG QFG HQG
WKFRPSRQHQWRI&'Q
6 UHDOL $ % H\HGLP HTQ VHWUHDO WRDYRLGVPDOOHUURULQGXFHGE\QXPHULFDOFDOFXODWLRQ 6,) VTUWSLD 6
&VXP'Q ( VWUHVVLQWHQVLW\IDFWRUVHTQ B LI3W\SHa 6,) 6,) ( HQG LI3W\SH!6,) 6,) ( HQG HQG >XXBXBVLJPDVLJPDVLJPDBVV@ V(KROH$/ORDGVWU[LYN
F137: s724crackPF IXQFWLRQ>XXBXBVLJPDVLJPD@ VFUDFN3)ORDGVWU[LYN 6FUDFN3)FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVVWUHVVHVDQGWKHVWUHVVLQWHQVLW\IDFWRUVIRU DQDQLVRWURSLFSODWHFRQWDLQLQJDILQLWHFUDFNVXEMHFWHGWRDFRQFHQWUDWHGIRUFHDWDQDUELWUDU\SRLQW XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DKDOIOHQJWKRIWKHFUDFN SBKDWSRLQWORDG>SSS@RU>SSSS@IRUSL]HRHOHFWULFPDWHULDOV ]HWDBKDWWUDQVIRUPHGYDULDEOHRI]BKDWZKHUH]BKDW [BKDW [BKDW PXHTQ 6,)YHFWRURIVWUHVVLQWHQVLW\IDFWRUV JOREDO3W\SH,FKHFN(GLP$%PX IURP0DLQSURJUDPFRQWUROSDUDPHWHUV 6WURK VPDWHULDOSURSHUWLHV JOREDODSBKDW]HWDBKDW6,)JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! 3UHSDUHORDGVWUDVUHTXLUHGE\V(KROH3)LQZKLFKWKHPLQRUD[LVRIWKHHOOLSWLFDOKROHVKRXOGEHVHWWR]HUR LIYN
VHHIXQFWLRQV(KROH3)IRUWKHGHILQLWLRQVRIWKHVHV\PEROV
D ORDGVWU ORDGVWU LHE
766
Appendix F: AEPH Source Code (Listed in Alphabetic Order) SBKDW ORDGVWU ( SRLQWORDG>SSS@IRUDQLVRWURSLFPDWHULDOV LI3W\SHa SBKDW ORDGVWU HQG
>SSSS@IRUSLH]RHOHFWULFPDWHULDOV
LI3W\SH!SBKDW ORDGVWU HQG
>SSSSS@IRU0((PDWHULDOV
[BKDW ORDGVWUGLPGLP ORFDWLRQRIWKHORDG[BKDW[BKDW >]HWDBKDWWKHWDUKR@ PDS(3[BKDWDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDBKDWHTQ G]HW GLDJ]HWDBKDW A SDUWRIHTQD B 6,) LPDJ% G]HW $ SBKDWVTUWSL D HTQD B LI,FKHFN
LI[BKDW
[BKDW D [BKDW !D
DF VTUWD[BKDW D[BKDW 6 UHDOL $ % H\HGLP HTQ VHWUHDO WRDYRLGVPDOOHUURULQGXFHGE\QXPHULFDOFDOFXODWLRQ 6,)F 6 DF H\HGLP SBKDW VTUWSL D HTQ GLI PD[DEV6,)6,)F VWU ^ D B 6,) 6,)F `VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L6,)6,)FGLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG HQG 6,) 6,) (LI3W\SHa 6,) 6,) ( HQG LI3W\SH!6,) 6,) ( HQG HQG 3UHSDUHORDGVWUDVUHTXLUHGE\V(KROH3)LQZKLFKWKHPLQRUD[LVRIWKHHOOLSWLFDOKROHVKRXOGEHVHWWR]HUR >XXBXBVLJPDVLJPDVLJPDBVV@ V(KROH3)ORDGVWU[LYN LI,FKHFN
FKHFNZLWKVLJPDBVKRZQLQD LI[L !D [L
VT[ VTUW[L ADA ]HWD [L VT[ D ]HWDK ]HWD]HWDBKDW ]HWD]HWDA ]HWDBKDW VLJPDF [L VT[ LPDJ% GLDJ]HWDK $ SBKDW (SL D HTQD B LI3W\SHa VLJPDF VLJPDF ( HQG LI3W\SH!VLJPDF VLJPDF ( HQG GLI PD[DEVVLJPDVLJPDF VWU ^ D VLJPD VLJPDF ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[LVLJPDVLJPDFGLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG HQG
F138: s725crackDL IXQFWLRQ>XXBXBVLJPDVLJPD@ VFUDFN'/ORDGVWU[LYN 6FUDFN'/FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVVWUHVVHVDQGWKHVWUHVVLQWHQVLW\IDFWRUVIRU DQDQLVRWURSLFSODWHFRQWDLQLQJDILQLWHFUDFNKDYLQJDGLVORFDWLRQZLWK %XUJHUVYHFWRUEBKDWORFDWHGRQ[BKDW XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ 6,)YHFWRURIVWUHVVLQWHQVLW\IDFWRUV JOREDO3W\SH(GLP%PX IURP0DLQSURJUDPFRQWUROSDUDPHWHUV PDWHULDOSURSHUWLHV JOREDO6,) JHQHUDWHG 3UHSDUHORDGVWUDVUHTXLUHGE\V(KROH'/LQZKLFKWKHPLQRUD[LVRIWKHHOOLSWLFDOKROHVKRXOGEHVHWWR]HUR LIYN
VHHIXQFWLRQV(KROH'/IRUWKHGHILQLWLRQVRIWKHVHV\PEROV
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
767
D ORDGVWU ORDGVWU LHE EBKDW ORDGVWU %XUJHUVYHFWRU>EEE@IRUDQLVRWURSLFPDWHULDOV LI3W\SHa EBKDW ORDGVWU (HQG
>EEEE@IRUSLH]RHOHFWULFPDWHULDOV
LI3W\SH!EBKDW ORDGVWU (HQG
>EEEEE@IRU0((PDWHULDOV
[BKDW ORDGVWUGLPGLP ORFDWLRQRIWKHORDG[BKDW[BKDW >]HWDBKDWWKHWDUKR@ PDS(3[BKDWDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDBKDWHTQ G]HW GLDJ]HWDBKDW A 6,) LPDJ% G]HW % EBKDWVTUWSL D ( HTQD BZLWK$
SBKDWUHSODFHGE\%
EBKDW LI3W\SHa 6,) 6,) (HQG LI3W\SH!6,) 6,) (HQG HQG >XXBXBVLJPDVLJPDVLJPDBVV@ V(KROH'/ORDGVWU[LYN
F139: s732CO2crackUL IXQFWLRQ>XXBXBVLJPDVLJPD@ V&2FUDFN8/ORDGVWU[LYN 6&2FUDFN8/FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVVWUHVVHVDQGWKHVWUHVVLQWHQVLW\IDFWRUVIRU DQDQLVRWURSLFSODWHFRQWDLQLQJWZRFROOLQHDUFUDFNVVXEMHFWHGWRXQLIRUPORDGLQJDSSOLHGDWLQILQLW\ 7KHXQLIRUPORDGFDQEHLQSXWWKURXJKGLIIHUHQWFDVHV XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEDESRVLWLRQRIWZRFUDFNVRQHLVDE DQGWKHRWKHULVDE ;WLSM SRVLWLRQRIWKHMWKFUDFNWLS QB*DXVVQXPEHURI*DXVVSRLQWVZKLFKLVVHWWREH [J*DXVVSRLQWVIRULQWHJUDWLRQ ZJZHLJKWVRIWKH*DXVVSRLQWV ODPGDODPGDODPGDSDUWRIHTQD DQGDUHVSHFLILHGLQHTQE 6,)YHFWRURIVWUHVVLQWHQVLW\IDFWRUV JOREDO3W\SH(,FKHFNHSV$%PX IURP0DLQSURJUDPFRQWUROSDUDPHWHUV PDWHULDOSURSHUWLHV JOREDOHSVBLQIHSVBLQIWBLQIWBLQI IURPIXQFWLRQVLQI8/ JOREDODEDE;WLSQB*DXVV[JZJODPGDODPGDODPGDJHQHUDWHGZKHQYN HPSOR\HGZKHQYN! JOREDO6,)JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
D ORDGVWU E ORDGVWU D ORDGVWU E ORDGVWU SRVLWLRQVRIWZRFUDFNV ;WLS >DEDE@SRVLWLRQRIWKHFUDFNWLSV OHQ OHQJWKORDGVWU QXPEHURIHOHPHQWVLQWKHYHFWRURIORDGVWU ORDGLQIOHQ ORDGVWUOHQ XQLIRUPORDGDWLQILQLW\VDPHLQSXWDV/W\SH QB*DXVV QB*DXVVQXPEHURI*DXVVSRLQWVIRULQWHJUDWLRQE\*DXVVLDQTXDGUDWXUHUXOH >[JZJ@ *DXVVQB*DXVV IRUWKHSXUSRVHRILQWHJUDWLRQ / / / / / / IRULJ QB*DXVV LQWHJUDWLRQE\*DXVVTXDGUDWXUHUXOHHTQ$ $ WJ ED [JLJ ED HTQ$E ZLWKE ED D ; VTUWWJD EWJ DWJ EWJ HTQF B / /; ZJLJ / /; WJ ZJLJ / /; WJ WJ ZJLJ HTQE WJ ED [JLJ ED HTQ$E ZLWKE ED D ; VTUWWJD WJE WJD EWJ HTQF B / /; ZJLJ / /; WJ ZJLJ / /; WJ WJ ZJLJ HTQE HQG / / ED / / ED / / ED HTQ$E ZLWKE ED D
768
Appendix F: AEPH Source Code (Listed in Alphabetic Order) / / ED / / ED / / ED HTQ$E ZLWKE ED D ODPGD / // / ODPGD / // / ODPGD / // / HTQE B N VTUW SL ODPGD ND N ODPGD D DODPGD DODPGD VTUWED DD ED HTQE IRUWLS[ D NE N ODPGD E EODPGD EODPGD VTUWED DE EE HTQE IRUWLS[ E ND N ODPGD D DODPGD DODPGD VTUWDD DE ED HTQE IRUWLS[ D NE N ODPGD E EODPGD EODPGD VTUWED EE ED HTQE IRUWLS[ E >XXBXBVLJPDVLJPD@ VLQI8/ORDGLQI[LYN 6,) ND WBLQI ( 6,) NE WBLQI ( HTQD B 6,) ND WBLQI ( 6,) NE WBLQI ( HTQD B LI3W\SHa 6,) 6,) (HQG
IRUSLH]RRU0((
LI3W\SH!6,) 6,) (HQG
IRU0((
HQG >XSKL%LW]@ XSKL[L ]D ]D A]E ]E A]D ]D A]E ]E A ;] ]D ]E ]D ]E IS ;]IS ] ;]IS ] ] ;] HTQE I%WS ODPGD GLDJIS ODPGD GLDJIS ODPGD GLDJIS %LWSDUWRIXBXBVLJPDVLJPD XB HSVBLQIUHDO$ I%WS XB HSVBLQIUHDO$ GLDJPX I%WS VLJPD WBLQIUHDO% GLDJPX I%WS ( VLJPD WBLQIUHDO% I%WS ( LI,FKHFN
FKHFNZLWK&2' VLJPDBVKRZQLQDEF UHJLRQ IRUDOORWKHUUHJLRQV LI[L
LI[L D DEVD[L HSV N NDV DEVD[L UHJLRQ VHWUHJLRQ IRUWKHFRQWLQXRXVQHDUWLSSRUWLRQ HOVHLIE [L [L D DEV[L E HSV N NEV DEV[L E UHJLRQ HOVHLIE [L [L D DEVD[L HSV N NDV DEVD[L UHJLRQ HOVHLI[L ! E DEV[L E HSV N NEV DEV[L E UHJLRQ HOVHLID [L [L E _D [L [L E UHJLRQ VHWUHJLRQ IRUWKHFUDFNSRUWLRQ [LS >[L HSV@[LP >[L HSV@ >XSSKLS%LW]S@ XSKL[LS >XPSKLP%LW]P@ XSKL[LP &2' XSXP HQG HQG VZLWFKUHJLRQ FDVH FRQWXRXVQHDUWLSSRUWLRQ VLJPDF NVTUW SL V WBLQI HTQD B GLI PD[DEVVLJPDVLJPDF VWU ^ D D VLJPD VLJPDF ` VWLQJVXHVGLQWKHPHVVDJHRI,FKHFN SULQW7)[LVLJPDVLJPDFGLIVWU SULQWWKHPHVVDJHRI,FKHFN FDVH FUDFNSRUWLRQ LI[L E>&2'F@ FUDFN2'[L D HOVHLI[L ! D>&2'F@ FUDFN2'[L D HQG GLI PD[DEV&2'&2'F VWU ^ D E &2' &2'F ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L&2'&2'FGLIVWU SULQWWKHPHVVDJHRI,FKHFN
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
769
HQG HQG IXQFWLRQ>XSKL%LW]@ XSKL[L XSKLFDOFXODWHVWKHGLVSODFHPHQWVDQGVWUHVVIXQFWLRQVIRUIXQFWLRQV&2FUDFN8/ JOREDO(GLP$%PX IURP0DLQSURJUDPFRQWUROSDUDPHWHUV PDWHULDOSURSHUWLHV JOREDOHSVBLQIHSVBLQIWBLQIWBLQI IURPIXQFWLRQVLQI8/ JOREDODEDEQB*DXVV[JZJODPGDODPGDODPGD IURPIXQFWLRQV&2FUDFN8/ X [L HSVBLQI[L HSVBLQI SKL [L WBLQI[L WBLQI HTQD ] [L [L PX ] D WDNLQJDDVWKHVWDUWLQJSRLQWRILQWHJUDWLRQ I] ]HURVGLP I] ]HURVGLP I] ]HURVGLP IRULJ QB*DXVV LQWHJUDWLRQE\*DXVVTXDGUDWXUHUXOHHTQ$ $ ZLWKE ]BDOSKDD ]J ]] [JLJ ]] HTQ$E ZLWKE ]BDOSKDD ] ]D ]JD A]E ]JE A]D ]JD A]E ]JE AHTQD ;]L ]D ]E ]D ]E ;]L] ;]L ]J ;]L] ;]L] ]J HTQE B I] I];]L ZJLJ I] I];]L] ZJLJ I] I];]L] ZJLJ HTQE B HQG I] I] ]] I] I] ]] I] ]I] ]]
HTQ$E ZLWKE ]BDOSKDD ]
%LW LQY% WBLQIODPGD SDUWRIHTQD I%W ODPGD GLDJI] ODPGD GLDJI] ODPGD GLDJI] %LW SDUWRIHZQD X XUHDO$ I%W SKL SKLUHDO% I%W ( HTQD IXQFWLRQ>&2'@ FUDFN2'[DMM FUDFN2'FDOFXODWHVWKHFUDFNRSHQLQJGLVSODFHPHQWVIRUIXQFWLRQV&2FUDFN8/ JOREDO%WBLQI IURP0DLQSURJUDP IXQFWLRQVLQI8/ JOREDODEDEQB*DXVV[JZJODPGDODPGDODPGDIURPIXQFWLRQV&2FUDFN8/ 'I / UHDOL % % HTQ VHWUHDO IRU/WRDYRLGVPDOOHUURULQGXFHGE\QXPHULFDOFDOFXODWLRQ IRULJ QB*DXVV WJ [DM [JLJ [DM LIM
; VTUWWJD EWJ DWJ EWJ HQG
LIM
; VTUWWJD WJE WJD EWJ HQG
HTQF B HTQF B
'I 'I[DM ZJLJ ODPGD WJAODPGD WJODPGD ; ODPGD HTQF HQG &2' 'I LQY/ WBLQI HTQD B
F140: s733COPcrackUL IXQFWLRQ>XXBXBVLJPDVLJPD@ V&23FUDFN8/ORDGVWU[LYN 6&23FUDFN8/FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVVWUHVVHVDQGWKHVWUHVVLQWHQVLW\IDFWRUVIRU DQDQLVRWURSLFSODWHFRQWDLQLQJFROOLQHDUSHULRGLFFUDFNVVXEMHFWHGWRXQLIRUPORDGDSSOLHGDWLQILQLW\ 7KHXQLIRUPORDGFDQEHLQSXWWKURXJKGLIIHUHQWFDVHV XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DKDOIRIWKHFUDFNOHQJWK :GLVWDQFHEHWZHHQWKHFUDFNFHQWHUV QB*DXVVQXPEHURI*DXVVSRLQWVZKLFKLVVHWWREH [J*DXVVSRLQWVIRULQWHJUDWLRQ
770
Appendix F: AEPH Source Code (Listed in Alphabetic Order) ZJZHLJKWVRIWKH*DXVVSRLQWV 6,)YHFWRURIVWUHVVLQWHQVLW\IDFWRUV JOREDO3W\SH,FKHFN(HSV$%PX IURP0DLQSURJUDPFRQWUROSDUDPWHUV 6WURK VPDWHULDOSURHSUWLHV JOREDOHSVBLQIHSVBLQIWBLQIWBLQI IURPIXQFWLRQVLQI8/ JOREDOD:QB*DXVV[JZJ6,) JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
D ORDGVWU KDOIRIWKHFUDFNOHQJWK : ORDGVWU GLVWDQFHEHWZHHQWKHFUDFNFHQWHUV OHQ OHQJWKORDGVWU QXPEHURIHOHPHQWVLQWKHYHFWRURIORDGVWU ORDGLQIOHQ ORDGVWUOHQ XQLIRUPORDGDWLQILQLW\VDPHLQSXWDV/W\SH QB*DXVV QB*DXVVQXPEHURI*DXVVSRLQWVIRULQWHJUDWLRQE\*DXVVLDQTXDGUDWXUHUXOH >[JZJ@ *DXVVQB*DXVV IRUWKHSXUSRVHRILQWHJUDWLRQFDOOIXQFWLRQ *DXVV IRU*DXVVSRLQWV[JDQGZHLJKWVZJ >XXBXBVLJPDVLJPD@ VLQI8/ORDGLQI[LYN 6,) VTUW: WDQSL D: WBLQI ( HTQD B LI3W\SHa 6,) 6,) (HQG
IRUSLH]RRU0((PDWHULDOV
LI3W\SH!6,) 6,) (HQG
IRU0((PDWHULDOV
HQG >XSKLL%W]@ XSKL[L I]B VLQSL ]: VTUWVLQSL ]: AVLQSL D: A I%WS GLDJI]B L%W SDUWRIHTQDE XB HSVBLQIUHDO$ I%WS XB HSVBLQIUHDO$ GLDJPX I%WS GHULYDWLYHVRIHTQD B VLJPD WBLQIUHDO% GLDJPX I%WS ( VLJPD WBLQIUHDO% I%WS (GHULYDWLYHVRIHTQD B LI,FKHFN
LI[L
FKHFNZLWK&2' VLJPDBVKRZQLQD E M IORRU[L D : WKHFUDFNMWKFUDFN ZKLFKLVQHDUHVWWR[L S[ SL [L :SD SL D: LIM :D [L [L M :D VLJPDF VLQS[ VTUWVLQS[ AVLQSD A WBLQI ( HTQD B GLI PD[DEVVLJPDVLJPDF VWU ^ D D VLJPD VLJPDF ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[LVLJPDVLJPDFGLIVWU SULQWWKHPHVVDJHRI,FKHFN HOVH [LS >[L HSV@[LP >[L HSV@ >XSSKLSL%W]S@ XSKL[LS >XPSKLPL%W]P@ XSKL[LP &2' XSXP 'I : ORJVTUWVLQS[ A VTUWVLQSD AVLQS[ A FRVSD SL / UHDOL % % HTQ VHWUHDO WRDYRLGVPDOOHUURULQGXFHGE\QXPHULFDOFDOFXODWLRQ &2'F 'I LQY/ WBLQI GLI PD[DEV&2'&2'F VWU ^ D D B &2' &2'F `VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L&2'&2'FGLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG HQG HQG IXQFWLRQ>XSKLL%W]@ XSKL[L XSKLFDOFXODWHVWKHGLVSODFHPHQWVDQGVWUHVVIXQFWLRQVIRUIXQFWLRQV&23FUDFN8/ JOREDO(GLP$%PX IURP0DLQSURJUDPFRQWUROSDUDPHWHUV PDWHULDOSURSHUWLHV
Appendix F: AEPH Source Code (Listed in Alphabetic Order) JOREDOHSVBLQIHSVBLQIWBLQIWBLQI IURPIXQFWLRQVLQI8/ JOREDOD:QB*DXVV[JZJ IURPIXQFWLRQV&23FUDFN8/ X [L HSVBLQI[L HSVBLQI SKL [L WBLQI[L WBLQI HTQD ] [L [L PX ] D WDNLQJDDVWKHVWDUWLQJSRLQWRILQWHJUDWLRQ I] ]HURVGLP IRULJ QB*DXVV LQWHJUDWLRQE\*DXVVTXDGUDWXUHUXOHHTQ$ $ ZLWKE ]BDOSKDD ]J ]] [JLJ ]] HTQ$E ZLWKE ]BDOSKDD ] ]D VLQSL ]J: VLQSL D: A]D VLQSL ]J: VLQSL D: AHTQD I] I]VLQSL ]J: ]D ]D ZJLJ HTQE HQG I] ]I] ]] E HTQ$E ZLWKE ]BDOSKDD L%W LQY% WBLQI I%W GLDJI] L%W SDUWRIHTQD X XUHDO$ I%W SKL SKLUHDO% I%W ( HTQD
F141: s741IFcrack IXQFWLRQ>&2'VLJPD@ V,)FUDFNORDGVWU[LYN 6,)FUDFNFDOFXODWHVFUDFNRSHQLQJGLVSODFHPHQWV&2' VWUHVVHVDORQJWKHLQWHUIDFHVLJPD DQGHQHUJ\UHOHDVHUDWH(1* IRUFROOLQHDULQWHUIDFHFUDFNV LIWKHLUDVVRFLDWHGVWUHVVLQWHQVLW\IDFWRUV6,) DUHNQRZQ &2'FUDFNRSHQLQJGLVSODFHPHQW VLJPDYHFWRURIVWUHVVFRPSRQHQWV>VLJPDVLJPDVLJPD@DORQJWKHLQWHUIDFH ORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ UUHIHUHQFHOHQJWKIRUWKHFDOFXODWLRQRIVWUHVVLQWHQVLW\IDFWRUV 6,)VWUHVVLQWHQVLW\IDFWRUV>.B,,.B,.B,,,@DQG>.B,,.B,.B,,,.B,9@IRUSLH]RHOHFWULFPDWHULDOV (1*HQHUJ\UHOHDVHUDWH JOREDO3W\SH(GLPILG IURP0DLQSURJUDPGLPHQVLRQRIPDWHULDOHLJHQYHFWRUPDWUL[$ JOREDOU6,)(1* JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
U ORDGVWU 6,) >ORDGVWU ORDGVWU ORDGVWU @( 6,) >.B,,.B,.B,,,@VWUHVVLQWHQVLW\IDFWRUV LI3W\SHa 6,) ORDGVWU HQG
6,) .B,9HOHFWULFLQWHQVLW\IDFWRURISLH]RHOHFWULFPDWHULDOV
LI3W\SH!6,) ORDGVWU HQG >0V':@ 6WURKBPDWULFHV ( ': LQY' : HTQ B (1* 6,)
( 6,) ( HTQ B ISULQWIILG ?U?Q(QHUJ\UHOHDVHUDWH H?U?Q (1* HQG >GHOWD/DP@ VBGHO/DP FDOFXODWHGHOWD/DPGD VLJPD ]HURVGLP &2' ]HURVGLP L/DP LQY/DP LI[L
IRUP ^ H H H H ` LI[L ! [UV [L U AGHOWD SDUWRIHTQ VLJPD /DP GLDJ[UV L/DP 6,)VTUW SL U ( HTQ B LI3W\SHa VLJPD VLJPD (HQG LI3W\SH!VLJPD VLJPD (HQG ISULQWIILG> ?U?Q:KHQ[ IVWUHVVHV IRUP^GLP` ?U?Q @[L VLJPD
771
772
Appendix F: AEPH Source Code (Listed in Alphabetic Order) HQG LI[L [UG DEV[L U AGHOWD [U' [UG GHOWD VLQSL GHOWD SDUWRIHTQ B &2' VTUW USL FRQML/DP
GLDJ[U' L/DP 6,) HTQ B ISULQWIILG> ?U?Q:KHQ[ IFUDFNRSHQLQJGLVSODFHPHQW IRUP^GLP` ?U?Q @[L &2' HQG HQG
F142: s742SIFcrackPFs IXQFWLRQ>XXBXBVLJPDVLJPD@ V6,)FUDFN3)VORDGVWU[LYN 66,)FUDFN3)VFDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVVWUHVVHVDQGWKHVWUHVVLQWHQVLW\IDFWRUVIRU DVHPLLQILQLWHLQWHUIDFHFUDFNVXEMHFWHGWRDSRLQWIRUFHDSSOLHGRQWKHFUDFNVXUIDFH XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DORFDWLRQRIWKHSRLQWIRUFH UUHIHUHQFHOHQJWKIRUWKHFDOFXODWLRQRIVWUHVVLQWHQVLW\IDFWRUV WBKDWSRLQWORDG>SSS@RU>SSSS@IRUSL]HRHOHFWULFPDWHULDOV HSVLORQ9RVFLOODWRU\LQGH[ZKLFKLVDYHFWRUHSVLORQJHQHUDWHGE\IXQFWLRQVBGHO/DPLVDVFDODU /DPPDWUL[RIHLJHQIXQFWLRQ/DPGDFDOFXODWHGE\IXQFWLRQVBGHO/DP /LW LQY/DP WBKDWSDUWRIHTQ B PXPXPDWHULDOHLJHQYDOXHVIRUPDWHULDOVDQG $$%%PDWHULDOHLJHQYHFWRUPDWULFHVIRUPDWHULDOVDQG %/ LQY% /DPSDUWRIHTQ B %0/ LQY% LQYFRQM0V 0V /DPZKHUH0VELPDWHULDOPDWUL[SDUWRIHTQ B QB*DXVVQXPEHURI*DXVVSRLQWVIRULQWHJUDWLRQE\*DXVVLDQTXDGUDWXUHUXOH [J*DXVVSRLQWVIRULQWHJUDWLRQ ZJZHLJKWVRIWKH*DXVVSRLQWV 6,)YHFWRURIVWUHVVLQWHQVLW\IDFWRUV JOREDO3W\SH(W\SHBD,FKHFN(HSV$BD%BDPXBDGLP IURP0DLQSURJUDPFRQWUROSDUDPHWHUV PDWHULDOSURSHUWLHV JOREDO0V' IURPIXQFWLRQVBGHO/DP JOREDODUWBKDWHSVLORQ9/DP/LWPXPX$$%%%/%0/QB*DXVV[JZJ6,)JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
D ORDGVWU ORFDWLRQRIWKHSRLQWIRUFH U ORDGVWU UHIHUHQFHOHQJWKIRUWKHFDOFXODWLRQRIVWUHVVLQWHQVLW\IDFWRUV WBKDW ORDGVWU ( SRLQWORDG>WBKDWWBKDWWBKDW@IRUDQLVRWURSLFPDWHULDOV LI3W\SHa WBKDW ORDGVWU HQG
>WBKDWWBKDWWBKDWWBKDW@IRUSLH]RHOHFWULFRU0((PDWHULDOV
LI3W\SH!WBKDW ORDGVWU HQG
>WBKDWWBKDWWBKDWWBKDWWBKDW@IRU0((PDWHULDOV
>GHOWD/DP@ VBGHO/DP FDOFXODWHGHOWD/DPGD HSVLORQ9 LPDJGHOWD /LW LQY/DP WBKDWHSVLORQ9LVDYHFWRUHSVLORQJHQHUDWHGE\VBGHO/DPLVDVFDODU DUF DU AL HSVLORQ9 FRVKSL HSVLORQ9 SDUWRIHTQ 6,) VTUWSL D /DP GLDJDUF /LW HTQ LI,FKHFN
(W\SHBD
(W\SHBD
RUWKRWURSLFPDWHULDOVFKHFNZLWK6,)VKRZQLQ DQG
V' VTUW' ' VSD VTUWSL D FSH FRVKSL HSVLORQ9 HDU HSVLORQ9 ORJDU ., VSD FSH WBKDW FRVHDU WBKDW V' VLQHDU HTQ B .,, VSD FSH WBKDW FRVHDU WBKDW VLQHDU V' HTQ B .,,, VSD WBKDW HTQ B 6,)F >.,,.,.,,,@ GLI PD[DEV6,)6,)F
Appendix F: AEPH Source Code (Listed in Alphabetic Order) VWU ^ 6,) 6,)F ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)QDQ6,)6,)FGLIVWU SULQWWKHPHVVDJHRI,FNHFN HQG 6,) 6,) (LI3W\SHa 6,) 6,) (HQG LI3W\SH!6,) 6,) (HQG QB*DXVV QB*DXVVQXPEHURI*DXVVSRLQWVIRULQWHJUDWLRQE\*DXVVLDQTXDGUDWXUHUXOH >[JZJ@ *DXVVQB*DXVV IRUWKHSXUSRVHRILQWHJUDWLRQ PX PXBD PX PXBD $ $BD $ $BD % %BD % %BD %/ LQY% /DP %0/ LQY% LQYFRQM0V 0V /DP SDUWRIHTQ BDQGHTQ B HQG >XSKL$%PXI]B@ XSKL[L XB UHDO$ I]B XB UHDO$ GLDJPX I]B VLJPD UHDO% GLDJPX I]B ( VLJPD UHDO% I]B ( LI,FKHFN
FKHFNZLWK&2' VLJPDBVKRZQLQ ZLWK LI[L
LI[L ! >0V':@ 6WURKBPDWULFHV HSD H[SSL HSVLORQ9 D[L AL HSVLORQ9 SDUWRIHTQ ZLWK] [L SVLS /DP GLDJHSD /LW SL [L D HTQ VLJPDF H\HGLP LQYFRQM0V 0V SVLS ( HTQ GLI PD[DEVVLJPDVLJPDF VWU ^ VLJPD VLJPDF ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L VLJPDVLJPDFGLIVWU SULQWWKHPHVVDJHRI,FNHFN HOVH[L [LS >[L HSV@[LP >[L HSV@ >XSSKLS$%PXI]B@ XSKL[LS >XPSKLP$%PXI]B@ XSKL[LP &2' XSXP ]S [LS [LS PX ]P [LP [LP PX IS ]HURVGLP IP ]HURVGLP IRULJ QB*DXVV LQWHJUDWLRQE\*DXVVTXDGUDWXUHUXOHHTQ$ $ ZLWKE ]BDOSKDD ]JS [JLJ ]S ]JP [JLJ ]P HTQ$E ZLWKE ]BDOSKDD ]DS D]JS AL HSVLORQ9 ]JSD SDUWRIHTQ ZLWK] ]JS ]DP D]JP AL HSVLORQ9 ]JPD SDUWRIHTQ ZLWK] ]JP IS IS]DS ZJLJ IP IP]DP ZJLJ SDUWRIHTQ HQG IS H[SSL HSVLORQ9 IS ]S SDUWRI HTQ$E ZLWKZLWK] ]SE ]BDOSKDD IP H[SSL HSVLORQ9 IP ]P SDUWRI HTQ$E ZLWKZLWK] ]PE ]BDOSKDD SVLS /DP GLDJIS /LW SL SVLP /DP GLDJIP /LW SL HTQ &2'F L 0V SVLSSVLP HTQ B GLI PD[DEV&2'&2'F VWU ^ &2' &2'F ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L &2'&2'FGLIVWU SULQWWKHPHVVDJHRI,FNHFN HQG HQG HQG
773
774
Appendix F: AEPH Source Code (Listed in Alphabetic Order) IXQFWLRQ>XSKL$%PXI]B@ XSKL[L XSKLFDOFXODWHVWKHGLVSODFHPHQWVDQGVWUHVVIXQFWLRQVIRUIXQFWLRQV6,)FUDFN3)V JOREDO(GLP IURP0DLQSURJUDPFRQWUROSDUDPHWHUV JOREDODHSVLORQ9/LWPXPX$$%%%/%0/QB*DXVV[JZJ IURPIXQFWLRQV6,)FUDFN3)V LI[L ! PX PX$ $% % HOVHPX PX$ $% % HQG ] [L [L PX I] ]HURVGLP I]B ]HURVGLP IRUN GLP HSDN H[SSL HSVLORQ9N DAL HSVLORQ9N SDUWRIHTQ LI[L ! %/W %/N /LWN SL HOVH%/W %0/N /LWN SL HQG
SDUWRIHTQ
I ]HURVGLP IRULJ QB*DXVV LQWHJUDWLRQE\*DXVVTXDGUDWXUHUXOHHTQ$ $ ZLWKE ]BDOSKDD ]J [JLJ ] HTQ$E ZLWKE ]BDOSKDD ]D ]JAL HSVLORQ9N ]JD HTQ I I]D ZJLJ HTQ HQG I HSDN I ] I] I]GLDJI %/W HTQ$E ZLWKE ]BDOSKDD IS HSDN ]AL HSVLORQ9N ]D I]B I]BGLDJIS %/W HQG X UHDO$ I] SKL UHDO% I] (
F143: s743_1IFcrackPFs IXQFWLRQ>XXBXBVLJPDVLJPD@ VB,)FUDFN3)VORDGVWU[LYN 6,)FUDFN3)VFDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVVWUHVVHVDQGWKHVWUHVVLQWHQVLW\IDFWRUVIRU DILQLWHLQWHUIDFHFUDFNVXEMHFWHGWRDSRLQWIRUFHDSSOLHGRQWKHFUDFNVXUIDFH XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DKDOIOHQJWKRIWKHLQWHUIDFHFUDFN FORFDWLRQRIWKHSRLQWIRUFH UUHIHUHQFHOHQJWKIRUWKHFDOFXODWLRQRIVWUHVVLQWHQVLW\IDFWRUV WBKDWSRLQWORDG>SSS@RU>SSSS@IRUSLH]RHOHFWULFPDWHULDOV GHOWD/DPVLQJXODURUGHUVGHOWDDQGPDWUL[RIHLJHQIXQFWLRQ/DPGDFDOFXODWHGE\IXQFWLRQVBGHO/DP HSVLORQ9RVFLOODWRU\LQGH[ZKLFKLVDYHFWRUHSVLORQJHQHUDWHGE\IXQFWLRQVBGHO/DPLVDVFDODU /LW LQY/DP WBKDWSDUWRIHTQ DFDFDFDF DF DF DF DFDDF VTUWDAFA SDUWRIHTQ PXPXPDWHULDOHLJHQYDOXHVIRUPDWHULDOVDQG $$%%PDWHULDOHLJHQYHFWRUPDWULFHVIRUPDWHULDOVDQG %/ LQY% /DPSDUWRIHTQ %0/ LQY% LQYFRQM0V 0V /DPZKHUH0VELPDWHULDOPDWUL[SDUWRIHTQ QB*DXVVQXPEHURI*DXVVSRLQWVIRULQWHJUDWLRQE\*DXVVLDQTXDGUDWXUHUXOH [J*DXVVSRLQWVIRULQWHJUDWLRQ ZJZHLJKWVRIWKH*DXVVSRLQWV 6,)YHFWRURIVWUHVVLQWHQVLW\IDFWRUV JOREDO(W\SHBD3W\SH,FKHFN(GLP$BD%BDPXBDIURP0DLQSURJUDPFRQWUROSDUDPHWHUV PDWHULDOSURSHUWLHV JOREDO0V' IURPIXQFWLRQBVBGHO/DP JOREDODFUWBKDWGHOWD/DPHSVLORQ9/LWDFDFDFPXPX$$%%%/%0/QB*DXVV[JZJ6,)JHQHUDWHGZKHQYN HPSOR\HGZKHQYN!
Appendix F: AEPH Source Code (Listed in Alphabetic Order) LIYN
775
D ORDGVWU KDOIOHQJWKRIWKHLQWHUIDFHFUDFN F ORDGVWU ORFDWLRQRIWKHSRLQWIRUFH U ORDGVWU UHIHUHQFHOHQJWKIRUWKHFDOFXODWLRQRIVWUHVVLQWHQVLW\IDFWRUV WBKDW ORDGVWU ( SRLQWORDG>WBKDWWBKDWWBKDW@IRUDQLVRWURSLFPDWHULDOV LI3W\SHa WBKDW ORDGVWU HQG
>WBKDWWBKDWWBKDWWBKDW@IRUSLH]RHOHFWULFRU0((PDWHULDOV
LI3W\SH!WBKDW ORDGVWU HQG
>WBKDWWBKDWWBKDWWBKDWWBKDW@IRU0((PDWHULDOV
>GHOWD/DP@ VBGHO/DP FDOFXODWHGHOWD/DPGD HSVLORQ9 LPDJGHOWD /LW LQY/DP WBKDWHSVLORQ9LVDYHFWRUHSVLORQJHQHUDWHGE\VBGHO/DPLVDVFDODU DF DF DF DF DFDDF VTUWDAFA SDUWRIHTQ DFF U DF AL HSVLORQ9 FRVKSL HSVLORQ9 SDUWRIHTQ B 6,) VTUWDFSL /DP GLDJDFF /LW HTQ B LI,FKHFN
(W\SHBD
(W\SHBD
FKHFNZLWK6,)VKRZQLQ
V' VTUW' ' DFS VTUWDFSL FRVKSL HSVLORQ9 HOQ HSVLORQ9 ORJU DF SDUWRIHTQ ., DFS WBKDW FRVHOQ WBKDW V' VLQHOQ HTQ B .,, DFS WBKDW FRVHOQ WBKDW VLQHOQ V' HTQ B .,,, VTUWDFSL WBKDW HTQ B 6,)F >.,,.,.,,,@ GLI PD[DEV6,)6,)F VWU ^ 6,) 6,)F ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)QDQ6,)6,)FGLIVWU SULQWWKHPHVVDJHRI,FNHFN HQG 6,) 6,) (LI3W\SHa 6,) 6,) (HQG LI3W\SH!6,) 6,) (HQG QB*DXVV QB*DXVVQXPEHURI*DXVVSRLQWVIRULQWHJUDWLRQE\*DXVVLDQTXDGUDWXUHUXOH >[JZJ@ *DXVVQB*DXVV IRUWKHSXUSRVHRILQWHJUDWLRQ PX PXBD PX PXBD $ $BD $ $BD % %BD % %BD %/ LQY% /DP %0/ LQY% LQYFRQM0V 0V /DPSDUWRIHTQ HQG >XSKL$%PXI]B@ XSKLB[L XB UHDO$ I]B XB UHDO$ GLDJPX I]B VLJPD UHDO% GLDJPX I]B ( VLJPD UHDO% I]B ( LI,FKHFN
FKHFNZLWK&2' VLJPDBVKRZQLQ ZLWK B LI[L
LI[L D_[L !D HSD H[SSL HSVLORQ9 DFAL HSVLORQ9 DF SDUWRIHTQ B GIS HSD [L D AGHOWD [L D AGHOWD SL F[L SDUWRIHTQ B SVLS /DP GLDJGIS /LW HTQ B VLJPDF H\HGLP LQYFRQM0V 0V SVLS ( HTQ B GLI PD[DEVVLJPDVLJPDF VWU ^ VLJPD VLJPDF ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L VLJPDVLJPDFGLIVWU SULQWWKHPHVVDJHRI,FNHFN HOVH [LS >[L HSV@[LP >[L HSV@ >XSSKLS$%PXI]B@ XSKLB[LS >XPSKLP$%PXI]B@ XSKLB[LP &2' XSXP ]S [LS [LS PX ]P [LP [LP PX
776
Appendix F: AEPH Source Code (Listed in Alphabetic Order) IS ]HURVGLP IP ]HURVGLP IRULJ QB*DXVV LQWHJUDWLRQE\*DXVVTXDGUDWXUHUXOHHTQ$ $ ZLWKE ]BDOSKDD ]JS [JLJ ]S ]JP [JLJ ]P HTQ$E ZLWKE ]BDOSKDD ]DS ]JSD AGHOWD ]JSD AGHOWD F]JS SDUWRIHTQ B ]DP ]JPD AGHOWD ]JPD AGHOWD F]JP SDUWRIHTQ B IS IS]DS ZJLJ IP IP]DP ZJLJ SDUWRIHTQ B HQG HSD H[SSL HSVLORQ9 DFAL HSVLORQ9 DF SDUWRIHTQ B IS HSD IS ]S SDUWRI HTQ$E ZLWKZLWK] ]SE ]BDOSKDD IP HSD IP ]P SDUWRI HTQ$E ZLWKZLWK] ]PE ]BDOSKDD SVLS /DP GLDJIS /LW SL SVLP /DP GLDJIP /LW SL HTQ B &2'F L 0V SVLSSVLP HTQ B GLI PD[DEV&2'&2'F VWU ^ &2' &2'F ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L&2'&2'FGLIVWU SULQWWKHPHVVDJHRI,FNHFN HQG HQG HQG
IXQFWLRQ>XSKL$%PXI]B@ XSKLB[L XSKLBFDOFXODWHVWKHGLVSODFHPHQWVDQGVWUHVVIXQFWLRQVIRUIXQFWLRQVB,)FUDFN3)V JOREDO(GLP IURP0DLQSURJUDPFRQWUROSDUDPHWHUV JOREDODFGHOWDHSVLORQ9/LWDFDFPXPX$$%%%/%0/QB*DXVV[JZJ IURPIXQFWLRQVB,)FUDFN3)V LI[L ! PX PX$ $% % HOVHPX PX$ $% % HQG ] [L [L PX I] ]HURVGLP I]B ]HURVGLP IRUN GLP HSDV H[SSL HSVLORQ9N DFAL HSVLORQ9N DF SDUWRIHTQ B LI[L ! %/W %/N /LWN SL HOVH%/W %0/N /LWN SL HQG
SDUWRIHTQ
I ]HURVGLP IRULJ QB*DXVV LQWHJUDWLRQE\*DXVVTXDGUDWXUHUXOHHTQ$ $ ZLWKE ]BDOSKDD ]J [JLJ ] HTQ$E ZLWKE ]BDOSKDD ]D ]JD AGHOWDN ]JD AGHOWDN F]J HTQ I I]D ZJLJ HTQ HQG I HSDV I ] I] I]GLDJI %/W B HTQ$E ZLWKE ]BDOSKDD IS HSDV ]D AGHOWDN ]D AGHOWDN F] SDUWRIHTQ B I]B I]BGLDJIS %/W GHULYDWLYHRIHTQ B HQG X UHDO$ I] SKL UHDO% I] (
F144: s743_2IFcrackUL IXQFWLRQ>XXBXBVLJPDVLJPD@ VB,)FUDFN8/ORDGVWU[LYN 6,)FUDFN8/FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVVWUHVVHVDQGWKHVWUHVVLQWHQVLW\IDFWRUVIRU DILQLWHLQWHUIDFHFUDFNVXEMHFWHGWRDXQLIRUPORDGRQWKHFUDFNVXUIDFH
Appendix F: AEPH Source Code (Listed in Alphabetic Order) XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DKDOIOHQJWKRIWKHLQWHUIDFHFUDFN UUHIHUHQFHOHQJWKIRUWKHFDOFXODWLRQRIVWUHVVLQWHQVLW\IDFWRUV WBKDWLQWHQVLW\RIXQLIRUPORDG>WWW@ >VLJPDVLJPDVLJPD@RU>WWWW@IRUSLH]RHOHFWULFPDWHULDOV GHOWD/DPVLQJXODURUGHUVGHOWDDQGPDWUL[RIHLJHQIXQFWLRQ/DPGDFDOFXODWHGE\IXQFWLRQVBGHO/DP HSVLORQ9RVFLOODWRU\LQGH[ZKLFKLVDYHFWRUHSVLORQJHQHUDWHGE\IXQFWLRQVBGHO/DPLVDVFDODU PXPXPDWHULDOHLJHQYDOXHVIRUPDWHULDOVDQG $$%%PDWHULDOHLJHQYHFWRUPDWULFHVIRUPDWHULDOVDQG %/ LQY% /DPSDUWRIHTQ %0/ LQY% LQYFRQM0V 0V /DPZKHUH0VELPDWHULDOPDWUL[SDUWRIHTQ /L0W LQY/DP LQYH\HGLP LQYFRQM0V 0V WBKDWSDUWRIHTQ 6,)YHFWRURIVWUHVVLQWHQVLW\IDFWRUV JOREDO(W\SHBD3W\SH,FKHFN(HSVGLP$BD%BDPXBDIURP0DLQSURJUDPFRQWUROSDUDPHWHUV PDWHULDOSURSHUWLHV JOREDO0V'IURPIXQFWLRQBVBGHO/DP JOREDODUWBKDWGHOWD/DPHSVLORQ9PXPX$$%%%/%0//L0W6,) JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
D ORDGVWU KDOIOHQJWKRIWKHLQWHUIDFHFUDFN U ORDGVWU UHIHUHQFHOHQJWKIRUWKHFDOFXODWLRQRIVWUHVVLQWHQVLW\IDFWRUV WBKDW ORDGVWU ( XQLIRUPORDG>WWW@ >VLJPDVLJPDVLJPD@IRUDQLVRWURSLFPDWHULDOV LI3W\SHa WBKDW ORDGVWU HQG
VLJPDIRUSLH]RHOHFWULFRU0((PDWHULDOV
LI3W\SH!WBKDW ORDGVWU HQG
VLJPDIRU0((PDWHULDOV
>GHOWD/DP@ VBGHO/DP FDOFXODWHGHOWD/DPGD HSVLORQ9 LPDJGHOWD HSVLORQ9LVDYHFWRUHSVLORQJHQHUDWHGE\VBGHO/DPLVDVFDODU /L0W LQY/DP LQYH\HGLP LQYFRQM0V 0V WBKDW SDUWRIHTQ HSDU L HSVLORQ9 DU AL HSVLORQ9 SDUWRIHTQ B 6,) VTUWSL D /DP GLDJHSDU LQY/DP WBKDW HTQ B LI,FKHFN
(W\SHBD
(W\SHBD
FKHFNZLWK6,)VKRZQLQ
VSD VTUWSL D V' VTUW' ' HOQ HSVLORQ9 ORJ DU FV FRVHOQ HSVLORQ9 VLQHOQ VF VLQHOQ HSVLORQ9 FRVHOQ ., VSD WBKDW FVWBKDW V' VF HTQ B .,, VSD WBKDW FVWBKDW VFV' HTQ B .,,, VSD WBKDW HTQ B 6,)F >.,,.,.,,,@ GLI PD[DEV6,)6,)F VWU ^ 6,) 6,)F ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)QDQ6,)6,)FGLIVWU SULQWWKHPHVVDJHRI,FNHFN HQG 6,) 6,) (LI3W\SHa 6,) 6,) (HQG LI3W\SH!6,) 6,) (HQG PX PXBD PX PXBD $ $BD $ $BD % %BD % %BD %/ LQY% /DP %0/ LQY% LQYFRQM0V 0V /DP HQG >XSKL$%PXI]B@ XSKLB[L XB UHDO$ I]B XB UHDO$ GLDJPX I]B VLJPD UHDO% GLDJPX I]B ( VLJPD UHDO% I]B ( LI,FKHFN
FKHFNZLWK&2' VLJPDBVKRZQLQ ZLWK B LI[L
LI[L D_[L !D
777
778
Appendix F: AEPH Source Code (Listed in Alphabetic Order) IS [L D HSVLORQ9 L [L D AGHOWD [L D AGHOWD SDUWRIHTQ B SVLS /DP GLDJIS /L0W HTQ B VLJPDF H\HGLP LQYFRQM0V 0V SVLS ( HTQ B GLI PD[DEVVLJPDVLJPDF VWU ^ VLJPD VLJPDF ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L VLJPDVLJPDFGLIVWU SULQWWKHPHVVDJHRI,FNHFN HOVH [LS >[L HSV@[LP >[L HSV@ >XSSKLS$%PXI]B@ XSKLB[LS >XPSKLP$%PXI]B@ XSKLB[LP &2' XSXP ]S [LS [LS PX ]P [LP [LP PX IS ]S]SD AGHOWD ]SD AGHOWD SDUWRIHTQ B IP ]P]PD AGHOWD ]PD AGHOWD SDUWRIHTQ B SVLSP /DP GLDJISIP /L0W HTQ B &2'F L 0V SVLSP HTQ B GLI PD[DEV&2'&2'F VWU ^ &2' &2'F ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L &2'&2'FGLIVWU SULQWWKHPHVVDJHRI,FNHFN HQG HQG HQG IXQFWLRQ>XSKL$%PXI]B@ XSKLB[L XSKLBFDOFXODWHVWKHGLVSODFHPHQWVDQGVWUHVVIXQFWLRQVIRUIXQFWLRQVB,)FUDFN8/ JOREDO(GLP IURP0DLQSURJUDPFRQWUROSDUDPHWHUV JOREDODGHOWDHSVLORQ9PXPX$$%%%/%0//L0W IURPIXQFWLRQVB,)FUDFN8/ LI[L ! PX PX$ $% % HOVHPX PX$ $% % HQG ] [L [L PX I] ]HURVGLP I]B ]HURVGLP IRUN GLP LI[L ! %/W %/N /L0WN HOVH%/W %0/N /L0WN HQG
SDUWRIHTQ
I ]]D AGHOWDN ]D AGHOWDN SDUWRIHTQ B IS ] D HSVLORQ9N L ]D AGHOWDN ]D AGHOWDN SDUWRIHTQ B I] I]GLDJI %/W B HTQ$E ZLWKE ]BDOSKDD I]B I]BGLDJIS %/W GHULYDWLYHRIHTQ B HQG X UHDO$ I] SKL UHDO% I] (
F145: s744CO2IFcrackUL IXQFWLRQ>XXBXBVLJPDVLJPD@ V&2,)FUDFN8/ORDGVWU[LYN 6&2,)FUDFN8/FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVVWUHVVHVDQGWKHVWUHVVLQWHQVLW\IDFWRUVIRU WZRFROOLQHDULQWHUIDFHFUDFNVVXEMHFWHGWRDXQLIRUPORDGDWLQILQLW\ XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEDESRVLWLRQVRIWZRLQWHUIDFHFUDFNVRQHLVDE DQGWKHRWKHULVDE
Appendix F: AEPH Source Code (Listed in Alphabetic Order) ;WLSM SRVLWLRQRIWKHMWKFUDFNWLS UUHIHUHQFHOHQJWKIRUWKHFDOFXODWLRQRIVWUHVVLQWHQVLW\IDFWRUV WBLQIXQLIRUPORDGDWLQILQLW\>VLJVLJVLJ@ RU>VLJVLJVLJVLJ@VLJ 'HOHFWULFGLVSODFHPHQWIRUSLH]RHOHFWULFPDWHULDOV GHOWD/DPVLQJXODURUGHUVGHOWDDQGPDWUL[RIHLJHQIXQFWLRQ/DPGDFDOFXODWHGE\IXQFWLRQVBGHO/DP HSVLORQ9RVFLOODWRU\LQGH[ZKLFKLVDYHFWRUHSVLORQJHQHUDWHGE\IXQFWLRQVBGHO/DPLVDVFDODU PXPXPDWHULDOHLJHQYDOXHVIRUPDWHULDOVDQG $$%%PDWHULDOHLJHQYHFWRUPDWULFHVIRUPDWHULDOVDQG ODPGDODPGDODPGDGHILQHGLQHTQE B %/ LQY% /DPSDUWRIHTQD %0/ LQY% LQYFRQM0V 0V /DPZKHUH0VELPDWHULDOPDWUL[SDUWRIHTQD /L0W LQY/DP LQYH\HGLP LQYFRQM0V 0V WBKDWSDUWRIHTQD QB*DXVVQXPEHURI*DXVVSRLQWVZKLFKLVVHWWREH [J*DXVVSRLQWVIRULQWHJUDWLRQ ZJZHLJKWVRIWKH*DXVVSRLQWV 6,)YHFWRURIVWUHVVLQWHQVLW\IDFWRUV JOREDO0V,FKHFN3W\SH(HSV$BD%BDPXBDGLP 0VIURPIXQFWLRQVBGHO/DPDQGRWKHUVIURP0DLQSURJUDP JOREDODEDE;WLSUWBLQIGHOWD/DPHSVLORQ9PXPX$$%% JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! JOREDOODPGDODPGDODPGD%/%0//L0WQB*DXVV[JZJ6,) JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
D ORDGVWU E ORDGVWU D ORDGVWU E ORDGVWU SRVLWLRQVRIWZRLQWHUIDFHFUDFNV ;WLS >DEDE@SRVLWLRQRIWKHFUDFNWLS U ORDGVWU UHIHUHQFHOHQJWKIRUWKHFDOFXODWLRQRIVWUHVVLQWHQVLW\IDFWRUV WBLQI ORDGVWU ( XQLIRUPORDG>VLJPDVLJPDVLJPD@IRUDQLVRWURSLFPDWHULDOV LI3W\SHa WBLQI ORDGVWU HQG LI3W\SH!WBLQI ORDGVWU HQG
VLJPDIRUSLH]RHOHFWULFRU0((PDWHULDOV VLJPDIRU0((PDWHULDOV
>GHOWD/DP@ VBGHO/DP FDOFXODWHGHOWD/DPGD HSVLORQ9 LPDJGHOWD /LW LQY/DP WBLQIHSVLORQ9LVDYHFWRUHSVLORQJHQHUDWHGE\VBGHO/DPLVDVFDODU /L0W LQY/DP LQYH\HGLP LQYFRQM0V 0V WBLQI SDUWRIHTQD QB*DXVV QB*DXVVQXPEHURI*DXVVSRLQWVIRULQWHJUDWLRQE\*DXVVLDQTXDGUDWXUHUXOH >[JZJ@ *DXVVQB*DXVV IRULQWHJUDWLRQFDOOWKHIXQFWLRQ *DXVV IRU*DXVVSRLQWV[JDQGZHLJKWVZJ PX PXBD PX PXBD $ $BD $ $BD % %BD % %BD %/ LQY% /DP %0/ LQY% LQYFRQM0V 0V /DP SDUWRIHTQD / / / / / / IRULJ QB*DXVV LQWHJUDWLRQE\*DXVVTXDGUDWXUHUXOHHTQ$ $ WJ ED [JLJ ED HTQ$E ZLWKE ED D ; EWJ EWJ WJD DWJ AL HSVLORQ9 VTUWWJD EWJ DWJ EWJ HTQF B / /; ZJLJ / /; WJ ZJLJ / /; WJ WJ ZJLJ HTQE WJ ED [JLJ ED HTQ$E ZLWKE ED D ; WJE EWJ WJD WJD AL HSVLORQ9 VTUWWJD WJE WJD EWJ HTQF B / /; ZJLJ / /; WJ ZJLJ / /; WJ WJ ZJLJ HTQE HQG / / ED / / ED / / ED HTQ$E ZLWKE ED D / / ED / / ED / / ED HTQ$E ZLWKE ED D ODPGD / // / ODPGD / // / ODPGD / // /HTQE B
779
780
Appendix F: AEPH Source Code (Listed in Alphabetic Order) FD ED ED U DD AL HSVLORQ9 ODPGD HTQG IRUWLS[ D FE U EE ED DE AL HSVLORQ9 ODPGD HTQG IRUWLS[ E FD DE ED U DD AL HSVLORQ9 ODPGD HTQG IRUWLS[ D FE U EE ED ED AL HSVLORQ9 ODPGD HTQG IRUWLS[ E ND FD ODPGD D DODPGD DODPGD VTUWED DD ED HTQG IRUWLS[ D NE FE ODPGD E EODPGD EODPGD VTUWED DE EE HTQG IRUWLS[ E ND FD ODPGD D DODPGD DODPGD VTUWDD DE ED HTQG IRUWLS[ D NE FE ODPGD E EODPGD EODPGD VTUWED EE ED HTQG IRUWLS[ E 6,) VTUW SL /DP GLDJND /LW ( 6,) VTUW SL /DP GLDJNE /LW ( 6,) VTUW SL /DP GLDJND /LW ( 6,) VTUW SL /DP GLDJNE /LW ( LI3W\SHa 6,) 6,) ( HQG LI3W\SH!6,) 6,) ( HQG HQG >XSKL$%PXI]B@ XSKL[L XB UHDO$ I]B XB UHDO$ GLDJPX I]B VLJPD UHDO% GLDJPX I]B ( VLJPD UHDO% I]B ( LI,FKHFN
FKHFNZLWK&2' VLJPDBVKRZQLQ ZLWKD LI[L
LI[L D_[L D [L !E _[L !E FKHFNVLJPDB ]D [L D AGHOWD]E [L E AGHOWD HTQE B ]D [L D AGHOWD]E [L E AGHOWD HTQE B ;] ]D ]E ]D ]E HTQE B IS ODPGD [L AODPGD [L ODPGD ;]ODPGD SDUWRIHTQD B SVLS /DP GLDJIS /L0WHTQD B VLJPDF H\HGLP LQYFRQM0V 0V SVLS ( HTQ B GLI PD[DEVVLJPDVLJPDF VWU ^ D VLJPD VLJPDF ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[LVLJPDVLJPDFGLIVWU SULQWWKHPHVVDJHRI,FNHFN HOVH
FKHFN&2'
[LS >[L HSV@[LP >[L HSV@ >XSSKLS$%PXI]B@ XSKL[LS >XPSKLP$%PXI]B@ XSKL[LP &2' XSXP ]S [LS [LS PX ]P [LP [LP PX IS ]HURVGLP IP ]HURVGLP IRULJ QB*DXVV ]JS [JLJ ]S ]JP [JLJ ]P HTQ$E ZLWKE ]BDOSKDD ]DS ]JSD AGHOWD]ES ]JSE AGHOWD HTQE B ]DS ]JSD AGHOWD]ES ]JSE AGHOWD HTQE B ;]S ]DS ]ES ]DS ]ES HTQE B I[S ODPGD ]JSAODPGD ]JSODPGD ;]SODPGD HTQD B ]DP ]JPD AGHOWD]EP ]JPE AGHOWD HTQE B ]DP ]JPD AGHOWD]EP ]JPE AGHOWD HTQE B ;]P ]DP ]EP ]DP ]EP HTQE B I[P ODPGD ]JPAODPGD ]JPODPGD ;]PODPGD HTQD B IS ISI[S ZJLJ IP IPI[P ZJLJ HQG
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
781
IS IS ]S IP IP ]P SVLSP /DP GLDJISIP /L0W HTQD B &2'F L 0V SVLSP HTQ GLI PD[DEV&2'&2'F VWU ^ D &2' &2'F ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L&2'&2'FGLIVWU SULQWWKHPHVVDJHRI,FNHFN HQG HQG HQG IXQFWLRQ>XSKL$%PXI]B@ XSKL[L XSKLFDOFXODWHVWKHGLVSODFHPHQWVDQGVWUHVVIXQFWLRQVIRUIXQFWLRQV&2,)FUDFN8/ JOREDO(GLP IURP0DLQSURJUDPFRQWUROSDUDPHWHUV JOREDODEDEGHOWDPXPX$$%% IURPIXQFWLRQV&2,)FUDFN8/ JOREDOODPGDODPGDODPGD%/%0//L0WQB*DXVV[JZJ IURPIXQFWLRQV&2,)FUDFN8/ LI[L ! PX PX$ $% % HOVHPX PX$ $% % HQG ] [L [L PX I] ]HURVGLP I]B ]HURVGLP IRUN GLP LI[L ! %/W %/N /L0WN HOVH%/W %0/N /L0WN HQG
SDUWRIHTQ
I ]HURVGLP IRULJ QB*DXVV LQWHJUDWLRQE\*DXVVTXDGUDWXUHUXOHHTQ$ $ ZLWKE ]BDOSKDD ]J [JLJ ] HTQ$E ZLWKE ]BDOSKDD ]D ]JD AGHOWDN ]E ]JE AGHOWDN HTQE B ]D ]JD AGHOWDN ]E ]JE AGHOWDN HTQE B ;] ]D ]E ]D ]E HTQE B I[ ODPGDN ]JAODPGDN ]JODPGDN ;]ODPGDN HTQD B I II[ ZJLJ HTQ HQG I I ] I] I]GLDJI %/W HTQD BHTQ$E ZLWKE ]BDOSKDD ]D ]D AGHOWDN ]E ]E AGHOWDN HTQE B ]D ]D AGHOWDN ]E ]E AGHOWDN HTQE B ;] ]D ]E ]D ]E HTQE B IS ODPGDN ]AODPGDN ]ODPGDN ;]ODPGDN HTQD B I]B I]BGLDJIS %/W GHULYDWLYHRIHTQD B HQG X UHDO$ I] SKL UHDO% I] (
F146: s811EEincluUL IXQFWLRQ>XXBXBVLJPDVLJPDVLJPDBVVVLJPDBVVVLJPDBQQVLJPDBVQ@ V((LQFOX8/ORDGVWU[LYN 6((LQFOX8/FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DQDQLVRWURSLFSODWHFRQWDLQLQJDQHOOLSWLFDOHODVWLFLQFOXVLRQVXEMHFWHGWR DXQLIRUPORDGDSSOLHGDWLQILQLW\ 7KHXQLIRUPORDGFDQEHLQSXWWKURXJKGLIIHUHQWFDVHV XXBXBVLJPDVLJPDVLJPDBVVVLJPDBVVVLJPDBQQVLJPDBVQORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN
782
Appendix F: AEPH Source Code (Listed in Alphabetic Order) */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEKDOIOHQJWKVRIWKHHOOLSWLFDOLQFOXVLRQ JOREDO2W\SH3W\SH,FKHFN(HSV3W\SHBD IURP0DLQSURJUDPFRQWUROSDUDPHWHUV JOREDOPXPX$$%%JDPPDJDPPDTBLQIFGH IURPIXQFWLRQVB&RHII8QLIRUP JOREDODE JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
D ORDGVWU E ORDGVWU DEKDOIOHQJWKVRIWKHHOOLSWLFDOLQFOXVLRQ OHQ OHQJWKORDGVWU QXPEHURIFRPSRQHQWVLQWKHYHFWRURIORDGVWU ORDGLQIOHQ ORDGVWUOHQ XQLIRUPORDGDWLQILQLW\VDPHLQSXWDV/W\SH VB&RHII8QLIRUPORDGLQI[LYN HQG ] [L [L PX >]HWDWKHWDUKR@ PDS(3[LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ LIDEV]HWD !HSV SRLQW[L [L ORFDWHVRXWVLGHWKHLQFOXVLRQ ]HWDB ]HWD]HWD DL E PX ] HTQE ]L ]HWD ]HWDBL ]LA ]HWDB HTQ I] GLDJ] TBLQIGLDJ]L G HTQ B I]B TBLQIGLDJ]HWDBL G GHULYDWLYHRII] $ $% %PX PX HOVH
SRLQW[L [L ORFDWHVLQVLGHWKHLQFOXVLRQ
] [L [L PX I]B GLDJDL E PX F I] GLDJ] I]B HTQ B $ $% %PX PX HQG X UHDO$ I] SKL UHDO% I] ( HTQ XB UHDO$ I]B XB UHDO$ GLDJPX I]B VLJPD UHDO% GLDJPX I]B (VLJPD UHDO% I]B ( FDOFXODWHLQWHUIDFLDOVWUHVVHVVLJPDBVVVLJPDBVVVLJPDBQQVLJPDBVQDORQJWKHLQFOXVLRQERXQGDU\HTQ VLJPDBVV QDQVLJPDBVV QDQVLJPDBQQ QDQ VLJPDBVQ QDQ GHIDXOWRIVLJPDBVVVLJPDBQQDQGVLJPDBVQ LI3W\SHa VLJPDBVV QDQ VLJPDBVV QDQ HQG
GHIDXOWIRUSLH]RRU0((PDWHULDOV
LI3W\SH!VLJPDBVV QDQ VLJPDBVV QDQ HQG
GHIDXOWIRU0((PDWHULDOV
LIDEVDEV]HWD HSV 2W\SH
_2W\SH
_2W\SH
_2W\SH
SVL [L SL FKDQJHGHJUHHWRUDGLDQ >]HWDWKHWDUKR@ PDS(3[LSVLDEDPX FDOFXODWHWKHWDQJHQWLDODQJOHWKHWDHTQ F FRVWKHWD V VLQWKHWD QWK >VF@ VWK >FV@ LI3W\SHa QWK >QWK@VWK >VWK@HQG
IRUSLH]RHOHFWULFRU0((PDWHULDOV
LI3W\SH!QWK >QWK@VWK >VWK@HQG
IRU0((PDWHULDOV
PXWK F PXV V PXF PXWK F PXV V PXF
H[WHQGHGV\PERO RI6HFWLRQ
SKLBV LPDJH[SL SVL % GLDJJDPPDH[S L SVL F UKR HTQE B VLJPDBQQ QWK SKLBV ( VLJPDBVQ VWK SKLBV ( HTQ KRRSVWUHVVHVDWWKHWZRVLGHVRILQWHUIDFH SKLBQ LPDJH[SL SVL % GLDJPXWK GGLDJJDPPDH[S L SVL H UKRHTQE B SKLBQ LPDJH[SL SVL % GLDJPXWK JDPPDH[S L SVL F UKR HTQE B VLJPDBVV VWK SKLBQ ( VLJPDBVV VWK SKLBQ ( KRRSVWUHVVHVDWWZRVLGHVRILQWHUIDFHHTQD LI3W\SHBD a VLJPDBVV SKLBQ HQG
IRUSLH]RRU0((PDWHULDOV
LI3W\SHBD a VLJPDBVV SKLBQ HQG IRUSLH]RRU0((PDWHULDOV LI3W\SHBD !VLJPDBVV SKLBQ HQG
IRU0((PDWHULDOV
LI3W\SHBD !VLJPDBVV SKLBQ HQG IRU0((PDWHULDOV VLJPDBVV 'VVLJPDBVV 'VHOHFWULFGLVSODFHPHQWDWWZRVLGHVRILQWHUIDFHHTQD
Appendix F: AEPH Source Code (Listed in Alphabetic Order) LI,FKHFN
VLJPDBVVF VLJPD FAVLJPD VA VLJPD F V >]HWDWKHWDUKR@ PDS(3[LDEDPX LIDEV]HWD !HSV GLI DEVVLJPDBVV VLJPDBVVF VWU ^ E VLJPDBVV VLJPDBVVF ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[LVLJPDBVV VLJPDBVVFGLIVWU SULQWWKHPHVVDJHRI,FKHFN HOVH GLI DEVVLJPDBVV VLJPDBVVF VWU ^ E VLJPDBVV VLJPDBVVF ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[LVLJPDBVV VLJPDBVVFGLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG HQG HQG
F147: s812EEincluPFm IXQFWLRQ>XXBXBVLJPDVLJPDVLJPDBVVVLJPDBVVVLJPDBQQVLJPDBVQ@ V((LQFOX3)PORDGVWU[LYN 6((LQFOX3)PFDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DQDQLVRWURSLFSODWHFRQWDLQLQJDQHOOLSWLFDOHODVWLFLQFOXVLRQVXEMHFWHGWR DFRQFHQWUDWHGIRUFHDSSOLHGDWDSRLQWORFDWHGLQWKHPDWUL[ XXBXBVLJPDVLJPDVLJPDBVVVLJPDBVVVLJPDBQQVLJPDBVQORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEKDOIOHQJWKVRIWKHHOOLSWLFDOKROH SBKDWSRLQWORDG>SSS@RU>SSSS@IRUSLH]RHOHFWULFPDWHULDOV [BKDWORFDWLRQRISRLQWIRUFH VQHVWLPDWHGWHUPVIRULQILQLWHVHULHVRIHTQ RUD VXJJHVWHGWHUPV PXPXPDWHULDOHLJHQYDOXHVIRUPDWHULDOVDQG $$%%PDWHULDOHLJHQYHFWRUPDWULFHVIRUPDWHULDOVDQG JDPPDSDUDPHWHUVJDPPDIRUPDWHULDOHTQE B ]HWDBKDWWKHWUDQVIRUPHGYDULDEOHRI]BKDWHTQ L%F%LQY% FRQM% SDUWRIHTQH B $S$S $
SBKDWSDUWRIFRQVWDQWLQHTQ B FDJDFBDOSKDDQGJDPPDBDOSKDHTQF B ORJ]HWDORJ]HWDBKDW HTQE FORJ]LFRQMORJ]HWDBKDW SDUWRIHTQ B JOREDO3W\SH2W\SH,FKHFN(HSV$BD%BDPXBDGLP3W\SHBDIURP0DLQSURJUDP JOREDODESBKDW[BKDWVQPXPX$$%%JDPPD]HWDBKDWL%F%$SFDJDORJ]HWDFORJ]LJHQHUDWHGZKHQYN HPSOR\HG ZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
D ORDGVWU E ORDGVWU
DEKDOIOHQJWKVRIWKHHOOLSWLFDOLQFOXVLRQ
SBKDW ORDGVWU ( SRLQWORDG>SSS@IRUDQLVRWURSLFPDWHULDOV LI3W\SHa SBKDW ORDGVWU HQG
>SSSS@IRUSLH]RHOHFWULFRU0((PDWHULDOV
LI3W\SH!SBKDW ORDGVWU HQG
>SSSSS@IRU0((PDWHULDOV
[BKDW >ORDGVWUGLP ORDGVWUGLP @
[BKDWORFDWLRQRISRLQWIRUFH
VQ ORDGVWUGLP HVWLPDWHGWHUPVIRULQILQLWHVHULHVVXJJHVWHGQXPEHU PX PXBD PX PXBD $ $BD $ $BD % %BD % %BD JDPPD DL E PX DL E PX HTQE B >]HWDBKDWWKHWDUKR@ PDS(3[BKDWDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDBKDWHTQ
783
784
Appendix F: AEPH Source Code (Listed in Alphabetic Order) L%F% LQY% FRQM% SDUWRIHTQH B $S $
SBKDW SDUWRIFRQVWDQWLQHTQ B FD DL E PX JD DL E PX DL E PX HTQF B ]BKDW [BKDW [BKDW PX ORJ]HWD ORJ]BKDW ORJFD ORJJD]HWDBKDWA HTQE FORJ]L FRQMORJ]HWD FRQMORJ]HWDBKDW SDUWRIHTQ B HQG ] [L [L PXG] [L [BKDW [L [BKDW PX XVLQJG] ]]BKDWPD\KDYHWURXEOH >]HWDWKHWDUKR@ PDS(3[LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDBKDWHTQ LIDEV]HWD ! HSV SRLQW[L [L ORFDWHVRXWVLGHWKHLQFOXVLRQ ORJ]HWD ORJG] ORJFD ORJJD]HWD ]HWDBKDW HTQ B I] GLDJORJ]HWDORJ]HWD FRQM$S SL L I]RIHTQ B ]L ]HWD ]L ]LA ]HWDB ]HWD]HWD DL E PX ] ]HWDS ]HWDB]HWD]HWDBKDW I]B GLDJ]HWDS FRQM$S SL L GHULYDWLYHRII] IRUM GLP FORJ]L FRQMORJ]HWDM ORJ]LFRQM]HWDBKDWM HTQF I] I]GLDJFORJ]LFORJ]LM L%F%M $SM SL L
VWWHUPRIHTQ B
I]B I]BGLDJ]L ]HWDB]LFRQM]HWDBKDWM L%F%M $SM SL L GHULYDWLYHRII] HQG IRUN VQ >7N*N&N(N)N@ 7*&()]HWDBKDWDEN &DOFXODWH7N*N&N(N)N I] I]GLDJ]HWDAN (N SBKDW SL L HTQ B I]B I]BGLDJN ]HWDAN ]HWDB (N SBKDW SL L GHULYDWLYHRII] HQG $ $% %PX PX HOVH ] [L [L PX >]HWDWKHWDUKR@ PDS(3[LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ I] ]HURVGLP I]B ]HURVGLP IRUN VQ >7N*N&N(N)N@ 7*&()]HWDBKDWDEN &DOFXODWH7N*N&N(N)N ]N ]HWDANJDPPD]HWD AN]HWDB ]HWD]HWD DL E PX ] ]NB N ]HWDAN JDPPDAN ]HWDAN ]HWDB I] I]GLDJ]N &N SBKDW SL L HTQ B I]B I]BGLDJ]NB &N SBKDW SL L GHULYDWLYHRII] HQG $ $% %PX PX HQG X UHDO$ I] SKL UHDO% I] ( HTQ XB UHDO$ I]B XB UHDO$ GLDJPX I]B VLJPD UHDO% GLDJPX I]B (VLJPD UHDO% I]B ( FDOFXODWHLQWHUIDFLDOVWUHVVHVVLJPDBVVVLJPDBVVVLJPDBQQVLJPDBVQDORQJWKHLQFOXVLRQERXQGDU\HTQ VLJPDBVV QDQVLJPDBVV QDQ VLJPDBQQ QDQ VLJPDBVQ QDQGHIDXOWRIVLJPDBVVVLJPDBQQDQGVLJPDBVQ LI3W\SHa VLJPDBVV QDQ VLJPDBVV QDQHQG
GHIDXOWIRUSLH]RRU0((PDWHULDOV
LI3W\SH!VLJPDBVV QDQ VLJPDBVV QDQ HQG LIDEVDEV]HWD HSV 2W\SH
_2W\SH
_2W\SH
GHIDXOWIRU0((PDWHULDOV _2W\SH
SVL [L SL FKDQJHGHJUHHWRUDGLDQ >]HWDWKHWDUKR@ PDS(3[LSVLDEDPX FDOFXODWHWKHWDQJHQWLDODQJOHWKHWDHTQ F FRVWKHWD V VLQWKHWD QWK >VF@ VWK >FV@ LI3W\SHa QWK >QWK@VWK >VWK@HQG
IRUSLH]RHOHFWULFRU0((PDWHULDOV
Appendix F: AEPH Source Code (Listed in Alphabetic Order) LI3W\SH!QWK >QWK@VWK >VWK@HQG
785
IRU0((PDWHULDOV
PXWK F PXV V PXF PXWK F PXV V PXF
H[WHQGHGV\PERO RI6HFWLRQ
SKLBV ]HURVGLP SKLBQ ]HURVGLP SKLBQ ]HURVGLP IRUN VQ >7N*N&N(N)N@ 7*&()]HWDBKDWDENSVL &DOFXODWH7N*N&N(N)N %J H[SL N SVL % GLDJJDPPDANH[S L N SVL SKLBV SKLBVN UHDO%J &N SBKDWSL UKR HTQD B SKLBQ SKLBQN UHDOH[SL N SVL % GLDJPXWK )N SBKDWSL UKR HTQD B SKLBQ SKLBQN UHDO%J GLDJPXWK &N SBKDWSL UKR HTQD B HQG VLJPDBQQ QWK SKLBV ( VLJPDBVQ VWK SKLBV ( HTQ VLJPDBVV VWK SKLBQ ( VLJPDBVV VWK SKLBQ ( KRRSVWUHVVHVDWWKHWZRVLGHVRILQWHUIDFH LI3W\SHBD a VLJPDBVV SKLBQ HQG LI3W\SHBD a VLJPDBVV SKLBQ HQG LI3W\SHBD !VLJPDBVV SKLBQ HQG
IRU0((PDWHULDOV
LI3W\SHBD !VLJPDBVV SKLBQ HQG IRU0((PDWHULDOV VLJPDBVV 'VVLJPDBVV 'VHOHFWULFGLVSODFHPHQWDWWZRVLGHVRILQWHUIDFHHTQD LI,FKHFN
VLJPDBVVF VLJPD FAVLJPD VA VLJPD F V >]HWDWKHWDUKR@ PDS(3[LDEDPX LIDEV]HWD ! HSV GLI DEVVLJPDBVV VLJPDBVVF VWU ^ D VLJPDBVV VLJPDBVVF ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[LVLJPDBVV VLJPDBVVFGLIVWU SULQWWKHPHVVDJHRI,FKHFN HOVH GLI DEVVLJPDBVV VLJPDBVVF VWU ^ D VLJPDBVV VLJPDBVVF ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[LVLJPDBVV VLJPDBVVFGLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG HQG HQG
F148: s821_1ERincluUL IXQFWLRQ>XXBXBVLJPDVLJPDVLJPDBVVVLJPDBQQVLJPDBVQ@ VB(5LQFOX8/ORDGVWU[LYN 6B(5LQFOX8/FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DQDQLVRWURSLFSODWHFRQWDLQLQJDQHOOLSWLFDOULJLGLQFOXVLRQVXEMHFWHGWR DXQLIRUPORDGDSSOLHGDWLQILQLW\ 7KHXQLIRUPORDGFDQEHLQSXWWKURXJKGLIIHUHQWFDVHV XXBXBVLJPDVLJPDVLJPDBVVVLJPDBQQVLJPDBVQORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEKDOIOHQJWKVRIWKHHOOLSWLFDOKROH ORDGLQIORDGDQGVWUXFWXUDOLQIRUPDWLRQIRUXQLIRUPORDGDWLQILQLW\VDPHLQSXWDV/W\SH TBLQIFRHIILFLHQWYHFWRUIRUXQLIRUPORDGHTQD YUDFRHIILFLHQWYHFWRUGHILQHGLQHTQG B JOREDO3W\SH2W\SH,FKHFN(HSV$%PXGLP IURP0DLQSURJUDPFRQWUROSDUDPHWHUV PDWHULDOSURSHUWLHV JOREDOHSVBLQIHSVBLQIWBLQIWBLQI IURPIXQFWLRQVLQI8/ JOREDODEORDGLQITBLQIYU JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
786
Appendix F: AEPH Source Code (Listed in Alphabetic Order) D ORDGVWU E ORDGVWU DEKDOIOHQJWKVRIWKHHOOLSWLFDOLQFOXVLRQ OHQ OHQJWKORDGVWU QXPEHURIHOHPHQWVLQWKHYHFWRURIORDGVWU ORDGLQIOHQ ORDGVWUOHQ XQLIRUPORDGDWLQILQLW\VDPHLQSXWDV/W\SH >XXBXBVLJPDVLJPD@ VLQI8/ORDGLQI[LYN TBLQI $
WBLQI%
HSVBLQI HTQD $L LQY$ 0 L % $LHSV D HSVBLQIL E HSVBLQIN >L ED@ LI3W\SHa N >N@HQG
IRUSLH]RHOHFWULFRU0((PDWHULDOV
LI3W\SH!N >N@HQG
IRU0((PDWHULDOV
RPHJD UHDON
0 HSV N
0 FRQMN HTQ YU $L HSVRPHJD FRQMN HTQG B HQG ] [L [L PX >]HWDWKHWDUKR@ PDS(3[LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ LIDEV]HWD ! HSV HSVWRDOORZWKHQXPHULFDOURXQGLQJHUURUQHDUWKHERXQGDU\ZKHQFDOFXODWLQJ]HWD ]HWDB ]HWD]HWD DL E PX ] ]L ]HWD ]HWDBL ]LA ]HWDB I] GLDJ] TBLQIGLDJ]L YU HTQ I]B TBLQIGLDJ]HWDBL YU GHULYDWLYHRII] X UHDO$ I] SKL UHDO% I] ( HTQ B XB UHDO$ I]B XB UHDO$ GLDJPX I]B VLJPD UHDO% GLDJPX I]B (VLJPD UHDO% I]B ( HOVH X QDQGLP SKL QDQGLP XB ]HURVGLP XB ]HURVGLP VLJPD QDQGLP VLJPD QDQGLP HQG FDOFXODWHLQWHUIDFLDOVWUHVVHVVLJPDBVVVLJPDBVVVLJPDBQQVLJPDBVQDORQJWKHLQFOXVLRQERXQGDU\HTQ VLJPDBVV QDQVLJPDBQQ QDQ VLJPDBVQ QDQ GHIDXOWRIVLJPDBVVVLJPDBQQDQGVLJPDBVQ LI3W\SHa VLJPDBVV QDQHQG
IRUSLH]RHOHFWULFRU0((PDWHULDOV
LI3W\SH!VLJPDBVV QDQHQG
IRU0((PDWHULDOV
LIDEVDEV]HWD HSV 2W\SH
_2W\SH
_2W\SH
_2W\SH
SVL [L SL FKDQJHGHJUHHWRUDGLDQ >]HWDWKHWDUKR@ PDS(3[LSVLDEDPX FDOFXODWHWKHWDQJHQWLDODQJOHWKHWDHTQ F FRVWKHWD V VLQWKHWD QWK >VF@ VWK >FV@ LI3W\SHa QWK >QWK@VWK >VWK@HQG
IRUSLH]RHOHFWULFRU0((PDWHULDOV
LI3W\SH!QWK >QWK@VWK >VWK@HQG
IRU0((PDWHULDOV
PXWK F PXV V PXF H[WHQGHGV\PERO RI6HFWLRQ SKLBQ V WBLQIF WBLQI LPDJH[SL SVL % GLDJPXWK YU UKR HTQD B SKLBV F WBLQIV WBLQI LPDJH[SL SVL % YU UKR HTQD B VLJPDBVV VWK SKLBQ ( VLJPDBQQ QWK SKLBV ( VLJPDBVQ VWK SKLBV ( HTQ LI3W\SHa VLJPDBVV SKLBQ HQG
VLJPDBVV 'VHOHFWULFGLVSODFHPHQWHTQD
LI3W\SH!VLJPDBVV SKLBQ HQG
VLJPDBVV %VPDJQHWLFIOX[
LI,FKHFN
VLJPDBVVF VLJPD FAVLJPD VA VLJPD F V GLI DEVVLJPDBVV VLJPDBVVF VWU ^ VLJPDBVV VLJPDBVVF ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[LVLJPDBVV VLJPDBVVFGLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG HQG
F149: s821_2ERincluPF IXQFWLRQ>XXBXBVLJPDVLJPDVLJPDBVVVLJPDBQQVLJPDBVQ@ VB(5LQFOX3)ORDGVWU[LYN
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
787
6B(5LQFOX3)FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DQDQLVRWURSLFSODWHFRQWDLQLQJDQHOOLSWLFDOULJLGLQFOXVLRQVXEMHFWHGWR DFRQFHQWUDWHGIRUFHDSSOLHGDWDSRLQWORFDWHGLQWKHPDWUL[ XXBXBVLJPDVLJPDVLJPDBVVVLJPDBQQVLJPDBVQORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEKDOIOHQJWKVRIWKHHOOLSWLFDOLQFOXVLRQ SBKDWSRLQWORDG>SSS@RU>SSSS@IRUSLH]RHOHFWULFPDWHULDOV [BKDWORFDWLRQRISRLQWIRUFH ]BKDW [BKDW [BKDW PXFRPSOH[YDULDEOHDVVRFLDWHGZLWK[BKDW ]HWDBKDWWKHWUDQVIRUPHGYDULDEOHRI]BKDWHTQ RPHJDURWDWLRQDQJOHRIULJLGLQFOXVLRQHTQE B N >L ED@DFRHIILFLHQWYHFWRUUHODWHGWRDDQGEHTQ B $LL$F$$S$L LQY$ L$F$ $L FRQM$ $S $
SBKDWPDWULFHVZKLFKZLOOEHXVHGZKHQYN! FDJDFBDOSKDDQGJDPPDBDOSKDHTQF B OQ]KDWORJ]HWDBKDW HTQE JOREDO3W\SH2W\SH,FKHFN(HSVGLP$%PX IURP0DLQSURJUDPFRQWUROSDUDPHWHUV 6WURK VPDWHULDOSURSHUWLHV JOREDODESBKDW[BKDW]BKDW]HWDBKDWRPHJDN$LL$F$$SFDJDOQ]KDW JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
D ORDGVWU E ORDGVWU
DEKDOIOHQJWKVRIWKHHOOLSWLFDOKROH
SBKDW ORDGVWU ( SRLQWORDG>SSS@IRUDQLVRWURSLFPDWHULDOV LI3W\SHa SBKDW ORDGVWU HQG
>SSSS@IRUSLH]RHOHFWULFRU0((PDWHULDOV
LI3W\SH!SBKDW ORDGVWU HQG
>SSSSS@IRU0((PDWHULDOV
[BKDW >ORDGVWUGLP ORDGVWUGLP @
[BKDWORFDWLRQRISRLQWIRUFH
$L LQY$ L$F$ $L FRQM$ 0 L % $L$S $
SBKDWN >L ED@ LI3W\SHa N >N@HQG
IRUSLH]RHOHFWULFRU0((PDWHULDOV
LI3W\SH!N >N@HQG
IRU0((PDWHULDOV
]BKDW [BKDW [BKDW PX >]HWDBKDWWKHWDUKR@ PDS(3[BKDWDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDBKDWHTQ RPHJD UHDON
$L
GLDJ]HWDBKDW $ SBKDWUHDOSL N
0 FRQMN HTQE BWDNLQJUHDOSDUWWRDYRLGWUXQFDWLQJHUURU FD DL E PX JD DL E PX DL E PX HTQF B OQ]KDW ORJ]BKDW ORJFD ORJJD]HWDBKDWA HTQE HQG ] [L [L PX G] [L [BKDW [L [BKDW PX XVLQJG] ]]BKDWPD\KDYHWURXEOH >]HWDWKHWDUKR@ PDS(3[LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDBKDWHTQ LIDEV]HWD ! HSV HSVWRDOORZWKHQXPHULFDOURXQGLQJHUURUQHDUWKHERXQGDU\ZKHQFDOFXODWLQJ]HWD ORJ]HWD ORJG] ORJFD ORJJD]HWD ]HWDBKDW HTQ B I] GLDJORJ]HWD FRQM$S SL L RPHJD GLDJ]HWD $L FRQMN HTQD B ]HWDB ]HWD]HWD DL E PX ] ]HWDS ]HWDB]HWD]HWDBKDW ]L ]HWD]HWDBL ]LA ]HWDB I]B GLDJ]HWDS FRQM$S SL L RPHJD GLDJ]HWDBL $L FRQMN GHULYDWLYHRII] IRUM GLP FORJ]L FRQMOQ]KDWM ORJ]LFRQM]HWDBKDWM HTQF I] I]GLDJFORJ]L L$F$M $SM SL L HTQD B I]B I]BGLDJ]LA ]HWDB]LFRQM]HWDBKDWM L$F$M $SM SL L GHULYDWLYHRII] HQG X UHDO$ I] SKL UHDO% I] ( HTQ B XB UHDO$ I]B XB UHDO$ GLDJPX I]B VLJPD UHDO% GLDJPX I]B (VLJPD UHDO% I]B (
788
Appendix F: AEPH Source Code (Listed in Alphabetic Order) HOVH X QDQGLP SKL QDQGLP XB ]HURVGLP XB ]HURVGLP VLJPD QDQGLP VLJPD QDQGLP HQG FDOFXODWHLQWHUIDFLDOVWUHVVHVVLJPDBVVVLJPDBVVVLJPDBQQVLJPDBVQDORQJWKHLQFOXVLRQERXQGDU\HTQ VLJPDBVV QDQVLJPDBQQ QDQ VLJPDBVQ QDQ GHIDXOWRIVLJPDBVVVLJPDBQQDQGVLJPDBVQ LI3W\SHa VLJPDBVV QDQHQG
IRUSLH]RHOHFWULFRU0((PDWHULDOV
LI3W\SH!VLJPDBVV QDQHQG
IRU0((PDWHULDOV
LIDEVDEV]HWD HSV 2W\SH
_2W\SH
_2W\SH
_2W\SH
SVL [L SL FKDQJHGHJUHHWRUDGLDQ >]HWDWKHWDUKR@ PDS(3[LSVLDEDPX FDOFXODWHWKHWDQJHQWLDODQJOHWKHWDHTQ F FRVWKHWD V VLQWKHWD QWK >VF@ VWK >FV@ LI3W\SHa QWK >QWK@VWK >VWK@HQG
IRUSLH]RHOHFWULFRU0((PDWHULDOV
LI3W\SH!QWK >QWK@VWK >VWK@HQG
IRU0((PDWHULDOV
PXWK F PXV V PXF H[WHQGHGV\PERO RI6HFWLRQ >1WK1WK1WK@ 6WURKBPDWULFHVWKHWD T UHDO$L
GLDJH[SL SVL H[SL SVL ]HWDBKDW $ SBKDWSL UKR HTQE B T LPDJH[SL SVL % GLDJPXWK $L FRQMN UKR HTQE B T LPDJH[SL SVL % $L FRQMN UKR HTQE B SKLBQ 1WK
TRPHJD T SKLBV TRPHJD T HTQD B VLJPDBVV VWK SKLBQ ( VLJPDBQQ QWK SKLBV ( VLJPDBVQ VWK SKLBV ( HTQ LI3W\SHa VLJPDBVV SKLBQ HQG
VLJPDBVV 'VHOHFWULFGLVSODFHPHQWHTQD
LI3W\SH!VLJPDBVV SKLBQ HQG
VLJPDBVV %VPDJQHWLFIOX[
LI,FKHFN
VLJPDBVVF VLJPD FAVLJPD VA VLJPD F V GLI DEVVLJPDBVV VLJPDBVVF VWU ^ D B D B VLJPDBVV VLJPDBVVF ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[LVLJPDBVV VLJPDBVVFGLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG HQG
F150: s822_1RLincluUL IXQFWLRQ>XXBXBVLJPDVLJPDVLJPDBVVVLJPDBQQVLJPDBVQ@ VB5/LQFOX8/ORDGVWU[LYN 6B5/LQFOX8/FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DQDQLVRWURSLFSODWHFRQWDLQLQJDULJLGOLQHLQFOXVLRQVXEMHFWHGWR DXQLIRUPORDGDSSOLHGDWLQILQLW\ 7KHXQLIRUPORDGFDQEHLQSXWWKURXJKGLIIHUHQWFDVHV XXBXBVLJPDVLJPDVLJPDBVVVLJPDBQQVLJPDBVQORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN JOREDO3W\SH,FKHFN(11$% IURP0DLQSURJUDPFRQWUROSDUDPHWHUV 6WURK VPDWHULDOSURSHUWLHV JOREDODWBLQIWBLQIHSVBLQI IURPIXQFWLRQVB(5LQFOX8/DQGIXQFWLRQVLQI8/ 3UHSDUHORDGVWUDVUHTXLUHGE\VB(5LQFOX8/LQZKLFKWKHPLQRUD[LVRIHOOLSWLFDOLQFOXVLRQVKRXOGEHVHWWR]HUR >XXBXBVLJPDVLJPDVLJPDBVVVLJPDBQQVLJPDBVQ@ VB(5LQFOX8/ORDGVWU[LYN LI,FKHFN
FKHFNZLWKWKHVROXWLRQJLYHQLQ
LI[L
[L !D
>6+/@ 6WURKBPDWULFHV FDOFXODWH6+/ 0 L % LQY$ L >@ LI3W\SHa L >L@HQG
IRUSLH]RHOHFWULFRU0((PDWHULDOV
LI3W\SH!L >L@HQG
IRU0((PDWHULDOV
N D L RPHJD UHDON
0 D HSVBLQI N
0 FRQMN HTQ
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
789
[HR [L VTUW[L ADA HSVBLQIRPHJD L SDUWRIHTQ VLJPDF WBLQI6
LQY+ [HR ( VLJPDF WBLQI11
6
LQY+ [HR ( LI3W\SHa VLJPDF VLJPDF (VLJPDF VLJPDF ( HQG LI3W\SH!VLJPDF VLJPDF (VLJPDF VLJPDF ( HQG GLI DEVVLJPDVLJPDF GLI DEVVLJPDVLJPDF GLI PD[GLIGLI VWU ^ >VLJPDVLJPDF@ >VLJPDVLJPDF@ ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L>VLJPDVLJPDF@>VLJPDVLJPDF@GLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG HQG
F151: s823PRincluUL IXQFWLRQ>XXBXBVLJPDVLJPDVLJPDBVVVLJPDBQQVLJPDBVQ@ V35LQFOX8/ORDGVWU[LYN 635LQFOX8/FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DQDQLVRWURSLFSODWHFRQWDLQLQJDSRO\JRQOLNHULJLGLQFOXVLRQVXEMHFWHGWR DXQLIRUPORDGDSSOLHGDWLQILQLW\ 7KHXQLIRUPORDGFDQEHLQSXWWKURXJKGLIIHUHQWFDVHV XXBXBVLJPDVLJPDVLJPDBVVVLJPDBQQVLJPDBVQORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DFHSNSDUDPHWHUVIRUSRO\JRQOLNHKROHV ORDGLQIXQLIRUPORDGDWLQILQLW\VDPHLQSXWDV/W\SH XGLVSODFHPHQWVIRUXQSHUWXUEHGILHOG TBLQIFRHIILFLHQWYHFWRUIRUXQLIRUPORDGHTQD LLXQLWYHFWRUVL >@L >@ YSYNSFRHIILFLHQWYHFWRUVGHILQHGLQHTQG B JOREDO3W\SH2W\SH,FKHFN(HSV$%PXGLP IURP0DLQSURJUDP JOREDOHSVBLQIHSVBLQIWBLQIWBLQI IURPIXQFWLRQVLQI8/ JOREDODFHSNORDGLQIXTBLQILLYSYNSJHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
D ORDGVWU F ORDGVWU HS ORDGVWU N ORDGVWU DFHNSDUDPHWHUVRISRO\JRQOLNHLQFOXVLRQ OHQ OHQJWKORDGVWU QXPEHURIHOHPHQWVLQWKHYHFWRURIORDGVWU ORDGLQIOHQ ORDGVWUOHQ XQLIRUPORDGDWLQILQLW\VDPHLQSXWDV/W\SH >XXBXBVLJPDVLJPD@ VLQI8/ORDGLQI[LYN TBLQI $
WBLQI%
HSVBLQI HTQD L >@ L >@ $L LQY$ LI3W\SHa L >L@L >L@ HQG
IRUSLH]RHOHFWULFRU0((PDWHULDOV
LI3W\SH!L >L@L >L@ HQG
IRU0((PDWHULDOV
>RPHJD@ URWDQJOHHSVBLQIHSVBLQIWBLQIWBLQI YS D $L HSVBLQIL F HSVBLQIRPHJD LL F L HTQG B YNS D HS $L HSVBLQIL HSVBLQIRPHJD LL L
HTQG B
HQG ] [L [L PX >]HWDWKHWDUKR@ PDS(3[LDFHSNPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ LIDEV]HWD ! HSV HSVWRDOORZWKHQXPHULFDOURXQGLQJHUURUQHDUWKHERXQGDU\ZKHQFDOFXODWLQJ]HWD ]L ]HWD ]LN ]LAN I] GLDJ] TBLQIGLDJ]L YSGLDJ]LN YNS HTQ B X UHDO$ I] SKL UHDO% I] ( HTQ B D L F PX D L F PX D HS N L PX D HS N L PX SDUWRIHTQ
790
Appendix F: AEPH Source Code (Listed in Alphabetic Order) ]L ]LA]N ]HWDAN ]LN ]LAN ]HWDB DD ]LD ]ND ]LN D HTQ I]B TBLQIGLDJ]L ]HWDB YSGLDJN ]HWDAN ]HWDB YNS XB UHDO$ I]B XB UHDO$ GLDJPX I]B VLJPD UHDO% GLDJPX I]B (VLJPD UHDO% I]B ( HOVH X QDQGLP SKL QDQGLP XB ]HURVGLP XB ]HURVGLP VLJPD QDQGLP VLJPD QDQGLP HQG FDOFXODWHLQWHUIDFLDOVWUHVVHVVLJPDBVVVLJPDBVVVLJPDBQQVLJPDBVQDORQJWKHLQFOXVLRQERXQGDU\HTQ B VLJPDBVV QDQVLJPDBQQ QDQ VLJPDBVQ QDQ GHIDXOWRIVLJPDBVVVLJPDBQQDQGVLJPDBVQ LI3W\SHa VLJPDBVV QDQHQG
IRUSLH]RHOHFWULFRU0((PDWHULDOV
LI3W\SH!VLJPDBVV QDQHQG
IRU0((PDWHULDOV
LIDEVDEV]HWD HSV 2W\SH
_2W\SH
_2W\SH
_2W\SH
SVL [L SL FKDQJHGHJUHHWRUDGLDQ >]HWDWKHWDUKR@ PDS(3[LSVLDFHSNPX FDOFXODWHWKHWDQJHQWLDODQJOHWKHWDHTQ FD FRVWKHWD VD VLQWKHWD QWK >VDFD@ VWK >FDVD@ LI3W\SHa QWK >QWK@VWK >VWK@HQG
IRUSLH]RHOHFWULFRU0((PDWHULDOV
LI3W\SH!QWK >QWK@VWK >VWK@HQG
IRU0((PDWHULDOV
PXWK FD PXVD VD PXFD H[WHQGHGV\PERO RI6HFWLRQ HYN H[SL SVL YSN H[SL N SVL YNS SKLBQ VD WBLQIFD WBLQI LPDJ% GLDJPXWK HYN UKR HTQ B SKLBV FD WBLQIVD WBLQI LPDJ% HYN UKR HTQ B VLJPDBVV VWK SKLBQ ( VLJPDBQQ QWK SKLBV ( VLJPDBVQ VWK SKLBV ( HTQ LI3W\SHa VLJPDBVV SKLBQ HQG
VLJPDBVV 'VHOHFWULFGLVSODFHPHQWHTQD
LI3W\SH!VLJPDBVV SKLBQ HQG
VLJPDBVV %VPDJQHWLFIOX[
LI,FKHFN
VLJPDBVVF VLJPD FDAVLJPD VDA VLJPD FD VD GLI DEVVLJPDBVV VLJPDBVVF VWU ^ B B VLJPDBVV VLJPDBVVF ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[LVLJPDBVV VLJPDBVVFGLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG HQG IXQFWLRQ>RPHJD@ URWDQJOHHSVBLQIHSVBLQIWBLQIWBLQI FDOFXODWHWKHURWDWLRQDQJHOEHWZHHQPDWUL[DQGULJLGLQFOXVLRQ JOREDO3W\SHPX$% IURP0DLQSURJUDPFRQWUROSDUDPHWHUV 6WURK VPDWHULDOSURSHUWLHV JOREDODFHSNLL IURPIXQFWLRQV35LQFOX8/ QB*DXVV SUHDVVLJQHGYDOXHIRUWKHQXPEHURI*DXVVLDQSRLQWV %$L % LQY$ >[JZJ@ *DXVVQB*DXVV \S \S IRULJ QB*DXVV SVL SL [JLJ >]HWDWKHWDUKR@ PDS(3SVLDFHSNPX FDOFXODWHWKHWDQJHQWLDODQJOHWKHWDHTQ FWK FRVWKHWD VWK VLQWKHWD HLS H[SL SVL NHLS N HS H[SL N SVL S FWK WBLQIVWK WBLQID LPDJ%$L HLS HSVBLQIL F HSVBLQI NHLS HSVBLQIL HSVBLQI UKR E B S D LPDJ%$L HLS LL F L NHLS LL L UKR
HTQE B
Appendix F: AEPH Source Code (Listed in Alphabetic Order) \ D >F VLQSVL HS VLQN SVL FRVSVL HS FRVN SVL @
791 HTQE B
LI3W\SHa \ >\@ HQG
IRUSLH]RHOHFWULFRU0((PDWHULDOV
LI3W\SH!\ >\@ HQG
IRU0((PDWHULDOV
\S \S\ S UKR ZJLJ \S \S\ S UKR ZJLJ HTQD HQG RPHJD \S\SHTQD
F152: s831EEincluDLo IXQFWLRQ>XXBXBVLJPDVLJPD@ V((LQFOX'/RORDGVWU[LYN 6((LQFOX'/RFDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRUDQDQLVRWURSLFSODWH FRQWDLQLQJDQHOOLSWLFDOHODVWLFLQFOXVLRQZLWKDGLVORFDWLRQORFDWHGRXWVLGHWKHLQFOXVLRQ XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEKDOIOHQJWKVRIWKHHOOLSWLFDOLQFOXVLRQ EBKDWGLVORFDWLRQ>EEE@RU>EEEE@IRUSLH]RHOHFWULFPDWHULDOV [BKDWORFDWLRQRISRLQWIRUFH VQHVWLPDWHGWHUPVIRULQILQLWHVHULHVRIHTQ RUD VXJJHVWHGWHUPV PXPXPDWHULDOHLJHQYDOXHVIRUPDWHULDOVDQG $$%%PDWHULDOHLJHQYHFWRUPDWULFHVIRUPDWHULDOVDQG JDPPDSDUDPHWHUVJDPPDIRUPDWHULDOHTQE B ]HWDBKDWWKHWUDQVIRUPHGYDULDEOHRI]BKDWHTQ L%F%LQY% FRQM% SDUWRIHTQH B %E%E %
EBKDWSDUWRIFRQVWDQWLQHTQ B FDJDFBDOSKDDQGJDPPDBDOSKDHTQF B WKBKDWWKHDUJXPHQWRIFRPSOH[QXPEHU]BKDW [BKDW [BKDW PX ORJ]HWDORJ]HWDBKDW HTQE FORJ]LFRQMORJ]HWDBKDW SDUWRIHTQ B JOREDO(3W\SHHSVGLP$BD%BDPXBD IURP0DLQSURJUDPFRQWUROSDUDPHWHUV 6WURK VPDWHULDOSURSHUWLHV JOREDODEEBKDW[BKDWVQPXPX$$%%JDPPD]HWDBKDWL%F%%EFDJDWKBKDWORJ]HWDFORJ]L JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
D ORDGVWU E ORDGVWU
DEKDOIOHQJWKVRIWKHHOOLSWLFDOLQFOXVLRQ
EBKDW ORDGVWU %XUJHUVYHFWRU>EEE@IRUDQLVRWURSLFPDWHULDOV LI3W\SHa EBKDW ORDGVWU (HQG
>EEEE@IRUSLH]RHOHFWULFRU0((PDWHULDOV
LI3W\SH!EBKDW ORDGVWU (HQG
>EEEE@IRU0((PDWHULDOV
[BKDW >ORDGVWUGLP ORDGVWUGLP @
[BKDWORFDWLRQRIWKHGLVORFDWLRQ
VQ ORDGVWUGLP HVWLPDWHGWHUPVIRULQILQLWHVHULHVVXJJHVWHGQXPEHU PX PXBD PX PXBD $ $BD $ $BD % %BD % %BD JDPPD DL E PX DL E PX HTQE B >]HWDBKDWWKHWDUKR@ PDS(3[BKDWDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDBKDWHTQ L%F% LQY% FRQM% SDUWRIHTQH B %E %
EBKDW SDUWRIFRQVWDQWLQHTQ B FD DL E PX JD DL E PX DL E PX HTQF B ]BKDW [BKDW [BKDW PX WKBKDW DQJOH]BKDW ORJ]KDW ORJ]BKDW IRUM GLP FKDQJHWKHYDOXHRIORJ]KDWZLWKSULQFLSDODQJOHORFDWHGDW>WKBKDWWKBKDW SL@ LILPDJORJ]KDWM WKBKDWM ORJ]KDWM ORJ]KDWM SL LHQG HQG ORJ]HWD ORJ]KDWORJFD ORJJD]HWDBKDWA HTQE
792
Appendix F: AEPH Source Code (Listed in Alphabetic Order) FORJ]L FRQMORJ]HWD FRQMORJ]HWDBKDW SDUWRIHTQ B HQG ] [L [L PX >]HWDWKHWDUKR@ PDS(3[LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDBKDWHTQ LIDEV]HWD ! HSV SRLQW[L [L ORFDWHVRXWVLGHWKHLQFOXVLRQ G] [L [BKDW [L [BKDW PX ORJ] ORJG] XVLQJG] ]]BKDWPD\KDYHWURXEOH IRUM GLP FKDQJHWKHYDOXHRIORJ]ZLWKSULQFLSDODQJOHORFDWHGDW>WKBKDWWKBKDW SL@ LILPDJORJ]M WKBKDWM ORJ]M ORJ]M SL LHQG HQG ORJ]HWD ORJ]ORJFD ORJJD]HWD ]HWDBKDW HTQ I] GLDJORJ]HWDORJ]HWD FRQM%E SL L I]RIHTQ B ]L ]HWD ]L ]LA ]HWDB ]HWD]HWD DL E PX ] ]HWDS ]HWDB]HWD]HWDBKDW I]B GLDJ]HWDS FRQM%E SL L GHULYDWLYHRII] IRUM GLP FORJ]L FRQMORJ]HWDM ORJ]LFRQM]HWDBKDWM HTQF I] I]GLDJFORJ]LFORJ]LM L%F%M %EM SL L
VWWHUPRIHTQ B
I]B I]BGLDJ]L ]HWDB]LFRQM]HWDBKDWM L%F%M %EM SL L GHULYDWLYHRII] HQG IRUN VQ >7N*N&N(N)N@ 7*&()]HWDBKDWDEN &DOFXODWH7N*N&N(N)N I] I]GLDJ]HWDAN (N EBKDW SL L HTQ B I]B I]BGLDJN ]HWDAN ]HWDB (N EBKDW SL L GHULYDWLYHRII] HQG $ $% %PX PX HOVH ] [L [L PX >]HWDWKHWDUKR@ PDS(3[LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ I] ]HURVGLP I]B ]HURVGLP IRUN VQ >7N*N&N(N)N@ 7*&()]HWDBKDWDEN &DOFXODWH7N*N&N(N)N ]N ]HWDANJDPPD]HWD AN]HWDB ]HWD]HWD DL E PX ] HTQ ]NB N ]HWDAN JDPPDAN ]HWDAN ]HWDB GHULYDWLYHRI]N I] I]GLDJ]N &N EBKDW SL L HTQ B I]B I]BGLDJ]NB &N EBKDW SL L GHULYDWLYHRII] HQG $ $% %PX PX HQG X UHDO$ I] SKL UHDO% I] ( HTQ XB UHDO$ I]B XB UHDO$ GLDJPX I]B VLJPD UHDO% GLDJPX I]B (VLJPD UHDO% I]B (
F153: s832EEincluDLi IXQFWLRQ>XXBXBVLJPDVLJPD@ V((LQFOX'/LORDGVWU[LYN 6((LQFOX'/LFDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRUDQDQLVRWURSLFSODWH FRQWDLQLQJDQHOOLSWLFDOHODVWLFLQFOXVLRQZLWKDGLVORFDWLRQORFDWHGLQVLGHWKHLQFOXVLRQ XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEKDOIOHQJWKVRIWKHHOOLSWLFDOLQFOXVLRQ
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
793
EBKDWGLVORFDWLRQ>EEE@RU>EEEE@IRUSLH]RHOHFWULFPDWHULDOV [BKDWORFDWLRQRIGLVORFDWLRQ VQHVWLPDWHGWHUPVIRULQILQLWHVHULHVRIHTQ RUD VXJJHVWHGWHUPV PXPXPDWHULDOHLJHQYDOXHVIRUPDWHULDOVDQG $$%%PDWHULDOHLJHQYHFWRUPDWULFHVIRUPDWHULDOVDQG FDJDPPDSDUDPHWHUVRIFBDOSKDDQGJDPPDBDOSKDIRUPDWHULDOHTQF B FDJDPPDSDUDPHWHUVRIFBDOSKDDQGJDPPDBDOSKDIRUPDWHULDOHTQF B ]BKDW]KDWWKHFRPSOH[YDULDEOHDVVRFLDWHGZLWK[BKDWDQGPXPX ]HWDBKDW]HWDBKDWWKHWUDQVIRUPHGYDULDEOHRI]BKDWDQG]BKDWHTQ JOREDO(3W\SHHSVGLP$BD%BDPXBD IURP0DLQSURJUDPFRQWUROSDUDPHWHUV 6WURK VPDWHULDOSURSHUWLHV JOREDODEEBKDW[BKDWVQPXPX$$%%FDJDPPDFDJDPPD]BKDW]BKDW]HWDBKDW]HWDBKDWJHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
D ORDGVWU E ORDGVWU
DEKDOIOHQJWKVRIWKHHOOLSWLFDOLQFOXVLRQ
EBKDW ORDGVWU %XUJHUVYHFWRU>EEE@IRUDQLVRWURSLFPDWHULDOV LI3W\SHa EBKDW ORDGVWU (HQG
>EEEE@IRUSLH]RHOHFWULFRUP((PDWHULDOV
LI3W\SH!EBKDW ORDGVWU (HQG
>EEEE@IRU0((PDWHULDOV
[BKDW >ORDGVWUGLP ORDGVWUGLP @
[BKDWORFDWLRQRIWKHGLVORFDWLRQ
VQ ORDGVWUGLP HVWLPDWHGWHUPVIRULQILQLWHVHULHVVXJJHVWHGQXPEHU PX PXBD PX PXBD $ $BD $ $BD % %BD % %BD FD DL E PX JDPPD DL E PX DL E PX HTQF B FD DL E PX JDPPD DL E PX DL E PX HTQF B ]BKDW [BKDW [BKDW PX ]BKDW [BKDW [BKDW PX >]HWDBKDWWKHWDUKR@ PDS(3[BKDWDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDBKDWWKURXJKPXHTQ >]HWDBKDWWKHWDUKR@ PDS(3[BKDWDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDBKDWWKURXJKPXHTQ HQG ] [L [L PX G] [L [BKDW [L [BKDW PX
XVLQJG] ]]BKDWPD\KDYHWURXEOH
>]HWDWKHWDUKR@ PDS(3[LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDBKDWHTQ LIDEV]HWD ! HSV SRLQW[L [L ORFDWHVRXWVLGHWKHLQFOXVLRQ ORJ] ORJG] WKBKDW DQJOH]BKDW IRUM GLP FKDQJHWKHYDOXHRIORJ]ZLWKSULQFLSDODQJOHORFDWHGDW>WKBKDWWKBKDW SL@ LILPDJORJ]M WKBKDWM ORJ]M ORJ]M SL LHQG HQG ORJ]HWD ORJ]ORJFD ORJJDPPD]HWD ]HWDBKDW HTQ B )] GLDJORJ]HWDORJ]HWDBKDW]HWD % HTQ B ]HWDB ]HWD]HWD DL E PX ] HTQ )]B GLDJ]HWDB]HWD % GHULYDWLYHRI)] IRUN VQ >7N*N&N(N)N@ 7*&()]HWDBKDWDEN FDOFXODWH)NRIHTQ B )] )]GLDJ]HWDAN )N HTQ B )]B )]BGLDJN ]HWDAN ]HWDB )N GHULYDWLYHRI)] HQG $ $% %PX PX HOVH ] [L [L PX G] [L [BKDW [L [BKDW PX XVLQJG] ]]BKDWPD\KDYHWURXEOH ORJ] ORJG] WKBKDW DQJOH]BKDW IRUM GLP FKDQJHWKHYDOXHRIORJ]ZLWKSULQFLSDODQJOHORFDWHGDW>WKBKDWWKBKDW SL@ LILPDJORJ]M WKBKDWM ORJ]M ORJ]M SL LHQG HQG
794
Appendix F: AEPH Source Code (Listed in Alphabetic Order) >]HWDWKHWDUKR@ PDS(3[LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ )] GLDJORJ]ORJFD % VWWHUPRIHTQ B )]B GLDJG] % GHULYDWLYHRI)] IRUN VQ >7N*N&N(N)N@ 7*&()]HWDBKDWDEN FDOFXODWH&NRIHTQ B ]N ]HWDANJDPPD]HWD AN HTQ B ]HWDB ]HWD]HWD DL E PX ] HTQ ]NB N ]HWDAN JDPPDAN ]HWDAN ]HWDB GHULYDWLYHRI]N )] )]GLDJ]N &N )]B )]BGLDJ]NB &N HTQ B HQG $ $% %PX PX HQG I] )] EBKDW SL L I]B )]B EBKDW SL L X UHDO$ I] SKL UHDO% I] ( HTQ B XB UHDO$ I]B XB UHDO$ GLDJPX I]B VLJPD UHDO% GLDJPX I]B (VLJPD UHDO% I]B (
F154: s833EEincluDLf IXQFWLRQ>XXBXBVLJPDVLJPD@ V((LQFOX'/IORDGVWU[LYN 6((LQFOX'/IFDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRUDQDQLVRWURSLFSODWH FRQWDLQLQJDQHOOLSWLFDOHODVWLFLQFOXVLRQZLWKDGLVORFDWLRQORFDWHGRQWKHLQWHUIDFH XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEKDOIOHQJWKVRIWKHHOOLSWLFDOLQFOXVLRQ EBKDWGLVORFDWLRQ>EEE@RU>EEEE@IRUSLH]RHOHFWULFPDWHULDOV [BKDWORFDWLRQRIGLVORFDWLRQ VQHVWLPDWHGWHUPVIRULQILQLWHVHULHVRIHTQ RUD VXJJHVWHGWHUPV PXPXPDWHULDOHLJHQYDOXHVIRUPDWHULDOVDQG $$%%PDWHULDOHLJHQYHFWRUPDWULFHVIRUPDWHULDOVDQG FDJDPPDSDUDPHWHUVRIFBDOSKDDQGJDPPDBDOSKDIRUPDWHULDOHTQF B FDJDPPDSDUDPHWHUVRIFBDOSKDDQGJDPPDBDOSKDIRUPDWHULDOHTQF B ]BKDW]KDWWKHFRPSOH[YDULDEOHDVVRFLDWHGZLWK[BKDWDQGPXPX ]HWDBKDW]HWDBKDWWKHWUDQVIRUPHGYDULDEOHRI]BKDWDQG]BKDWHTQ OQ]KDWORJ]HWDBKDW %I%IVWKHFRQVWDQWPDWULFHVGHILQHGLQHTQ DQGE JOREDO(3W\SHHSVGLP$BD%BDPXBD IURP0DLQSURJUDPFRQWUROSDUDPHWHUV 6WURK VPDWHULDOSURSHUWLHV JOREDODEEBKDW[BKDWVQPXPX$$%%FDJDPPDFDJDPPD JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! JOREDO]BKDW]BKDW]HWDBKDW]HWDBKDWOQ]KDW%I%IV JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
D ORDGVWU E ORDGVWU
DEKDOIOHQJWKVRIWKHHOOLSWLFDOLQFOXVLRQ
EBKDW ORDGVWU %XUJHUVYHFWRU>EEE@IRUDQLVRWURSLFPDWHULDOV LI3W\SHa EBKDW ORDGVWU (HQG
>EEEE@IRUSLH]RHOHFWULFRU0((PDWHULDOV
LI3W\SH!EBKDW ORDGVWU (HQG
>EEEEE@IRU0((PDWHULDOV
[BKDW >ORDGVWUGLP ORDGVWUGLP @
[BKDWORFDWLRQRIWKHGLVORFDWLRQ
VQ ORDGVWUGLP HVWLPDWHGWHUPVIRULQILQLWHVHULHVVXJJHVWHGQXPEHU PX PXBD PX PXBD $ $BD $ $BD % %BD % %BD FD DL E PX JDPPD DL E PX DL E PX HTQF B FD DL E PX JDPPD DL E PX DL E PX HTQF B
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
795
]BKDW [BKDW [BKDW PX ]BKDW [BKDW [BKDW PX >]HWDBKDWWKHWDUKR@ PDS(3[BKDWDEDPX FDOFXODWH]HWDBKDWHTQ >]HWDBKDWWKHWDUKR@ PDS(3[BKDWDEDPX FDOFXODWH]HWDBKDWHTQ LIDEVDEV]HWDBKDW !HSV GLVS 7KHGLVORFDWLRQLVQRWDWWKHLQWHUIDFHWKHUHVXOWPD\EHLQFRUUHFW GLVS 3OHDVHFKHFNWKHLQSXWLQIRUPDWLRQLQSXWBORDGVWUW[W RUWU\RWKHUVROXWLRQVXFKDVVRUV HQG OQ]KDW L DQJOH]HWDBKDW SL ORJ]HWDBKDW ORJ]HWDBKDW SL L QRWHKHUH[BKDWLVDWLQWHUIDFHDQGKHQFH]HWDBKDWLVDWWKHXQLWFLUFOHRIFRPSOH[GRPDLQ $L LQY$ %L LQY% $LF FRQMLQY$ %LF FRQMLQY% %I LQYFRQM$L $FRQM%L % FRQM$L $FRQM%L % % HTQ %IV LQY$LF $%LF % $LF FRQM$ %LF FRQM% %
HTQE
HQG ] [L [L PX ] [L [L PX >]HWDWKHWDUKR@ PDS(3[LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ >]HWDWKHWDUKR@ PDS(3[LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ LIDEV]HWD ! HSV SRLQW[L [L ORFDWHVRXWVLGHWKHLQFOXVLRQ ]L ]HWD ]L ]LA G] [L [BKDW [L [BKDW PX XVLQJG] ]]BKDWPD\KDYHWURXEOH ORJ] ORJG] WKBKDW DQJOH]BKDW IRUM GLP FKDQJHWKHYDOXHRIORJ]ZLWKSULQFLSDODQJOHORFDWHGDW>WKBKDWWKBKDW SL@ LILPDJORJ]M WKBKDWM ORJ]M ORJ]M SL LHQG HQG ORJ]HWD ORJ]ORJFD ORJJDPPD ]L]HWDBKDW HTQ B FORJ]L FRQMOQ]KDW ORJ]LFRQM]HWDBKDW HTQF )] GLDJORJ]HWDORJDL E PX % GLDJFORJ]L %IV HTQD B ]HWDB ]HWD]HWD DL E PX ] ]HWDS ]HWDB]HWD]HWDBKDW HTQ )]B GLDJ]HWDS % GLDJ]L ]HWDB]LFRQM]HWDBKDW %IV GHULYDWLYHRI)] IRUN VQ >7N*N&N(N)N@ 7*&()]HWDBKDWDEN FDOFXODWH)NRIHTQD B )] )]GLDJ]HWDAN )N HTQD B )]B )]BGLDJN ]HWDAN ]HWDB )N GHULYDWLYHRI)] HQG $ $% %PX PX HOVH G] [L [BKDW [L [BKDW PX XVLQJG] ]]BKDWPD\KDYHWURXEOH ORJ] ORJG] WKBKDW DQJOH]BKDW IRUM GLP FKDQJHWKHYDOXHRIORJ]ZLWKSULQFLSDODQJOHORFDWHGDW>WKBKDWWKBKDW SL@ LILPDJORJ]M WKBKDWM ORJ]M ORJ]M SL LHQG HQG )] GLDJORJ] %I VWWHUPRIHTQD B )]B GLDJG] %I GHULYDWLYHRI)] ]HWDB ]HWD]HWD DL E PX ] HTQ IRUN VQ >7N*N&N(N)N@ 7*&()]HWDBKDWDEN FDOFXODWH&NRIHTQ B ]N ]HWDANJDPPD]HWD AN HTQD B )] )]GLDJ]N &N HTQD B ]NB N ]HWDAN JDPPDAN ]HWDAN ]HWDB GHULYDWLYHRI]N )]B )]BGLDJ]NB &N GHULYDWLYHRI)]
796
Appendix F: AEPH Source Code (Listed in Alphabetic Order) HQG $ $% %PX PX HQG I] )] EBKDW SL L X UHDO$ I] SKL UHDO% I] ( HTQ B I]B )]B EBKDW SL L XB UHDO$ I]B XB UHDO$ GLDJPX I]B VLJPD UHDO% GLDJPX I]B (VLJPD UHDO% I]B (
F155: s841EEincluCo IXQFWLRQ>XXBXBVLJPDVLJPD@ V((LQFOX&RORDGVWU[LYN V((LQFOX&RFDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRUDQDQLVRWURSLFSODWH FRQWDLQLQJDQHOOLSWLFDOHODVWLFLQFOXVLRQZLWKDFUDFNORFDWHGRXWVLGHWKHLQFOXVLRQ XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEKDOIOHQJWKVRIWKHHOOLSWLFDOLQFOXVLRQ DKDOIOHQJWKRIWKHFUDFN DOSKDVODQWHGDQJOHRIWKHFUDFNXQLWLQSXWLQGHJUHHDQGRSHUDWHGLQUDGLDQ [P\PSRVLWLRQRIWKHFUDFNFHQWHULQPDWUL[ ;WLSM SRVLWLRQRIWKHMWKFUDFNWLS FQKDOIQXPEHURIWKHGLVFUHWL]HGSRLQWVRQWKHFUDFNVXJJHVWHGQXPEHU VQHVWLPDWHGWHUPVIRULQILQLWHVHULHVVXJJHVWHGQXPEHU /%DUQHWW/RWKHWHQVRURIPDWHULDO EHWDBKDW VTUWHWDA EHWDZKHUHEHWDGLVORFDWLRQGHQVLW\VHHHTQD JOREDO% IURPIXQFWLRQVB&RHII8QLIRUP JOREDODEDDOSKD[P\P;WLSFQVQ/EHWDBKDWJHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
D ORDGVWU E ORDGVWU DEKDOIOHQJWKVRIWKHHOOLSWLFDOLQFOXVLRQ D ORDGVWU
DKDOIOHQJWKRIWKHFUDFN
DOSKD ORDGVWU SL DOSKDVODQWHGDQJOHRIWKHFUDFNXQLWLQSXWLQGHJUHHDQGRSHUDWHGLQUDGLDQ [P ORDGVWU \P ORDGVWU [\ SRVLWLRQRIWKHFUDFNFHQWHULQPDWUL[ ;WLS >[PD FRVDOSKD [PD FRVDOSKD \PD VLQDOSKD \PD VLQDOSKD @SRVLWLRQRIWKHFUDFNWLSV FQ ORDGVWU FQKDOIQXPEHURIWKHGLVFUHWL]HGSRLQWVRQWKHFUDFNVXJJHVWHGQXPEHU VQ ORDGVWU HVWLPDWHGWHUPVIRULQILQLWHVHULHVVXJJHVWHGQXPEHU ORDGLQI ORDGVWU XQLIRUPORDGDWLQILQLW\VDPHLQSXWDV/W\SH VB&RHII8QLIRUPORDGLQI[LYN FDOFXODWHWKHFRHIILFLHQWVUHODWHGWRWKHXQLIRUPORDGVDWLQILQLW\ / L % % %DUQHWW/RWKHWHQVRURIPDWHULDO >.\@ VB.EHWD/ FDOFXODWH. >.HWDBN .HWDBN EBNDBN FBN @DQG\ >WBAX@RIHTQ EHWDBKDW *DXVVBHOLPLQDWLRQ.\ VROYHEHWDBKDWE\*DXVVBHOLPLQDWLRQPHWKRG HQG >XSKLXBXBVLJPDVLJPD@ VBXSKL[LYNEHWDBKDW/ FDOFXODWHXDQGSKLE\HTQDE
F156: s842EEincluCi IXQFWLRQ>XXBXBVLJPDVLJPD@ V((LQFOX&LORDGVWU[LYN V((LQFOX&LFDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRUDQDQLVRWURSLFSODWH FRQWDLQLQJDQHOOLSWLFDOHODVWLFLQFOXVLRQZLWKDFUDFNORFDWHGLQVLGHWKHLQFOXVLRQ
Appendix F: AEPH Source Code (Listed in Alphabetic Order) XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEKDOIOHQJWKVRIWKHHOOLSWLFDOLQFOXVLRQ DVKDOIOHQJWKRIWKHFUDFN DOSKDVODQWHGDQJOHRIWKHFUDFNXQLWLQSXWLQGHJUHHDQGRSHUDWHGLQUDGLDQ [V\VSRVLWLRQRIWKHFUDFNFHQWHU ;WLSM SRVLWLRQRIWKHMWKFUDFNWLS FQKDOIQXPEHURIWKHGLVFUHWL]HGSRLQWVRQWKHFUDFNVXJJHVWHGQXPEHU VQHVWLPDWHGWHUPVIRULQILQLWHVHULHVVXJJHVWHGQXPEHU /%DUQHWW/RWKHWHQVRURIPDWHULDO EHWDBKDW VTUWHWDA EHWDZKHUHEHWDGLVORFDWLRQGHQVLW\VHHHTQD JOREDO% IURPIXQFWLRQVB&RHII8QLIRUP JOREDODEDVDOSKD[V\V;WLSFQVQ/EHWDBKDWJHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
D ORDGVWU E ORDGVWU DEKDOIOHQJWKVRIWKHHOOLSWLFDOLQFOXVLRQ DV ORDGVWU
DKDOIOHQJWKRIWKHFUDFN
DOSKD ORDGVWU SL DOSKDVODQWHGDQJOHRIWKHFUDFNXQLWLQSXWLQGHJUHHDQGRSHUDWHGLQUDGLDQ [V ORDGVWU \V ORDGVWU [\ SRVLWLRQRIWKHFUDFNFHQWHU ;WLS >[VDV FRVDOSKD [VDV FRVDOSKD \VDV VLQDOSKD \VDV VLQDOSKD @SRVLWLRQRIWKHFUDFNWLSV FQ ORDGVWU QKDOIQXPEHURIWKHGLVFUHWL]HGSRLQWVRQWKHFUDFNVXJJHVWHGQXPEHU VQ ORDGVWU HVWLPDWHGWHUPVIRULQILQLWHVHULHVVXJJHVWHGQXPEHU ORDGLQI ORDGVWU XQLIRUPORDGDWLQILQLW\VDPHLQSXWDV/W\SH VB&RHII8QLIRUPORDGLQI[LYN FDOFXODWHWKHFRHIILFLHQWVUHODWHGWRWKHXQLIRUPORDGVDWLQILQLW\ / L % % 6WURK VPDWUL[ >.\@ VB.EHWD/ FDOFXODWH. >.HWDBN .HWDBN EBNDBN FBN @DQG\ >WBAX@RIHTQ EHWDBKDW *DXVVBHOLPLQDWLRQ.\ VROYHEHWDBKDWE\XVLQJ*DXVVLDQHOLPLQDWLRQPHWKRG HQG >XSKLXBXBVLJPDVLJPD@ VBXSKL[LYNEHWDBKDW/ FDOFXODWHXDQGSKLE\HTQ
F157: s843EEincluCp IXQFWLRQ>XXBXBVLJPDVLJPD@ V((LQFOX&SORDGVWU[LYN V((LQFOX&SFDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRUDQDQLVRWURSLFSODWH FRQWDLQLQJDQHOOLSWLFDOHODVWLFLQFOXVLRQZLWKDFUDFNSHQHWUDWLQJWKHLQFOXVLRQ XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEKDOIOHQJWKVRIWKHHOOLSWLFDOLQFOXVLRQ DDKDOIOHQJWKRIWKHRXWVLGHFUDFN DVKDOIOHQJWKRIWKHLQVLGHFUDFN DOSKDVODQWHGDQJOHRIWKHFUDFNXQLWLQSXWLQGHJUHHDQGRSHUDWHGLQUDGLDQ [P\PSRVLWLRQRIWKHFUDFNFHQWHURXWVLGHSRUWLRQLQPDWUL[ [V\VSRVLWLRQRIWKHFUDFNFHQWHULQVLGHSRUWLRQLQLQFOXVLRQ ;WLSM SRVLWLRQRIWKHMWKFUDFNWLS FQKDOIQXPEHURIWKHGLVFUHWL]HGSRLQWVRQWKHFUDFNVXJJHVWHGQXPEHU VQHVWLPDWHGWHUPVIRULQILQLWHVHULHVVXJJHVWHGQXPEHU //%DUQHWW/RWKHWHQVRURIPDWHULDOVDQG EHWDBKDW VTUWHWDA EHWDZKHUHEHWDGLVORFDWLRQGHQVLW\VHHHTQD JOREDO%% IURPIXQFWLRQVB&RHII8QLIRUP
797
798
Appendix F: AEPH Source Code (Listed in Alphabetic Order) JOREDODEDDVDOSKD[P\P[V\V;WLSFQVQ//EHWDBKDW JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
D ORDGVWU E ORDGVWU DEKDOIOHQJWKVRIWKHHOOLSWLFDOLQFOXVLRQ D ORDGVWU DV ORDGVWU DKDOIOHQJWKRIWKHRXWVLGHFUDFNDVKDOIOHQJWKRIWKHLQVLGHFUDFN DOSKD ORDGVWU SL DOSKDVODQWHGDQJOHRIWKHFUDFNXQLWLQSXWLQGHJUHHDQGRSHUDWHGLQUDGLDQ [P ORDGVWU \P ORDGVWU [\ SRVLWLRQRIWKHFUDFNFHQWHURXWVLGHSRUWLRQLQPDWUL[ [V ORDGVWU \V ORDGVWU [\ SRVLWLRQRIWKHFUDFNFHQWHULQVLGHSRUWLRQLQLQFOXVLRQ ;WLS >[PD FRVDOSKD [PD FRVDOSKD [VDV FRVDOSKD [VDV FRVDOSKD \PD VLQDOSKD \PD VLQDOSKD \VDV VLQDOSKD \VDV VLQDOSKD @SRVLWLRQRIWKHFUDFNWLSV FQ ORDGVWU KDOIQXPEHURIWKHGLVFUHWL]HGSRLQWVRQWKHFUDFNVXJJHVWHGQXPEHU VQ ORDGVWU HVWLPDWHGWHUPVIRULQILQLWHVHULHVVXJJHVWHGQXPEHU ORDGLQI ORDGVWU XQLIRUPORDGDWLQILQLW\VDPHLQSXWDV/W\SH VB&RHII8QLIRUPORDGLQI[LYN FDOFXODWHWKHFRHIILFLHQWVUHODWHGWRWKHXQLIRUPORDGVDWLQILQLW\ / L % % / L % % 6WURK VPDWUL[ >.\@ VB.EHWD/ .\D BDQGD BZLWKM >.\@ VB.EHWD/ .\D BDQGD BZLWKM . >..@\ >\\@ HTQ \ >WBAX@\ >WBAX@ . >.HWDBN .HWDBN EBN .KDWBHWDBN DBN FBN .KDWBHWDBN EBNDBN FBN @ . >EBN .KDWBHWDBN DBN FBN .KDWBHWDBN . HWDBN . HWDBN EBNDBN FBN @ EHWDBKDW *DXVVBHOLPLQDWLRQ.\ VROYHEHWDBKDWE\XVLQJ*DXVVLDQHOLPLQDWLRQPHWKRG HQG >XSKLXBXBVLJPDVLJPD@ VBXSKL[LYNEHWDBKDW/ FDOFXODWHXDQGSKLE\HTQ
F158: s844EEincluCc IXQFWLRQ>XXBXBVLJPDVLJPD@ V((LQFOX&FORDGVWU[LYN V((LQFOX&FFDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRUDQDQLVRWURSLFSODWH FRQWDLQLQJDQHOOLSWLFDOHODVWLFLQFOXVLRQZLWKDFUDFNO\LQJDORQJWKHLQWHUIDFHRIWKHLQFOXVLRQ XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEKDOIOHQJWKVRIWKHHOOLSWLFDOLQFOXVLRQ SVLSVLRIWKHFUDFNFHQWHUXQLWLQSXWLQGHJUHHDQGRSHUDWHGLQUDGLDQ SVLBKDWKDOIUDQJHRISVLRIWKHFUDFNLHSVLSVLBKDWSVLSVLSVLBKDW ;WLSM SRVLWLRQRIWKHMWKFUDFNWLS FQKDOIQXPEHURIWKHGLVFUHWL]HGSRLQWVRQWKHFUDFNVXJJHVWHGQXPEHU VQHVWLPDWHGWHUPVIRULQILQLWHVHULHVVXJJHVWHGQXPEHU %IPDWUL[UHODWHGWRPDWHULDOHLJHQYHFWRUPDWULFHV$$%%GHILQHGLQHTQ /IVSDUWRI/IGHILQHGLQHTQE BZLWKRXWUKRZKLFKLVDYDULDEOHRI[L EHWDBKDW VTUWHWDA EHWDZKHUHEHWDGLVORFDWLRQGHQVLW\VHHHTQD JOREDO$$%% IURPIXQFWLRQVB&RHII8QLIRUP JOREDODESVLSVLBKDW;WLSFQVQ%I/IVEHWDBKDW JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
D ORDGVWU E ORDGVWU DEKDOIOHQJWKVRIWKHHOOLSWLFDOLQFOXVLRQ SVL ORDGVWU SL
SVLSVLRIWKHFUDFNFHQWHUXQLWLQSXWLQGHJUHHDQGRSHUDWHGLQUDGLDQ
SVLBKDW ORDGVWU SL SVLBKDWKDOIUDQJHRISVLRIWKHFUDFNLHSVLSVLBKDWSVLSVLSVLBKDW ;WLS >D FRVSVLSVLBKDW D FRVSVLSVLBKDW E VLQSVLSVLBKDW E VLQSVLSVLBKDW @SRVLWLRQRIFUDFNWLSV FQ ORDGVWU QKDOIQXPEHURIWKHGLVFUHWL]HGSRLQWVRQWKHFUDFNVXJJHVWHGQXPEHU VQ ORDGVWU HVWLPDWHGWHUPVIRULQILQLWHVHULHVVXJJHVWHGQXPEHU
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
799
ORDGLQI ORDGVWU XQLIRUPORDGDWLQILQLW\VDPHLQSXWDV/W\SH VB&RHII8QLIRUPORDGLQI[LYN FDOFXODWHWKHFRHIILFLHQWVUHODWHGWRWKHXQLIRUPORDGVDWLQILQLW\ $L LQY$ %L LQY% %I LQYFRQM$L $FRQM%L % FRQM$L $FRQM%L % % HTQ /IV UHDOL % %I HTQE BZLWKRXWUKRZKLFKLVDYDULDEOHRI[L >.\@ VB.EHWD/IV FDOFXODWH. >.HWDBN .HWDBN EBNDBN FBN @DQG\ >WBAX@RIHTQ EHWDBKDW *DXVVBHOLPLQDWLRQ.\ VROYHEHWDBKDWE\*DXVVLDQHOLPLQDWLRQPHWKRG HQG >XSKLXBXBVLJPDVLJPD@ VBXSKL[LYNEHWDBKDW/IV FDOFXODWHXDQGSKLE\HTQ
F159: s912FpunchL IXQFWLRQ>XXBXBVLJPDVLJPDVLJPDBQQVLJPDBVQ@ V)SXQFK/ORDGVWU[LYN 6)381&+/FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU WKHLQGHQWDWLRQE\DVLQJOHULJLGSXQFKZLWKDIODWHQGHGSURILOH XXBXBVLJPDVLJPDVLJPDBQQVLJPDBVQORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DKDOIZLGWKRIWKHFRQWDFWUHJLRQ TWKHIRUFHDSSOLHGRQWKHSXQFK GHOWDYHFWRURIVLQJXODURUGHUVFDOFXODWHGE\IXQFWLRQVBGHO/DP /DPGDPDWUL[RIHLJHQYIXQFWLRQVFDOFXODWHGE\IXQFWLRQVBGHO/DP JOREDO2W\SH3W\SH,FKHFN(GLPPX IURP0DLQSURJUDPFRQWUROSDUDPHWHUV 6WURK VPDWHULDOSURSHUWLHV JOREDOEHWDHSVLORQ IURPIXQFWLRQVBGHO/DP JOREDODTGHOWD/DPGD JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
D ORDGVWU
DKDOIZLGWKRIWKHSXQFK
T ORDGVWU ( T >TTT@WKHIRUFHDSSOLHGRQWKHSXQFK LI3W\SHa T ORDGVWU HQG
T >TTTT@IRUSLH]RHOHFWULFPDWHULDOV
>GHOWD/DPGD@ VBGHO/DP FDOFXODWHHLJHQYDOXHVGHOWDDQGHLJHQYHFWRUVODPGDHTQDEF HQG ] [L [L PX >XSKLXBXBVLJPDVLJPD@ VBXSKL]DT FDOFXODWHXSKLHWFE\HTQ VLJPDBQQ QDQ VLJPDBVQ QDQ GHIDXOWRIVLJPDBQQDQGVLJPDBVQ LI[L
2W\SH
_2W\SH
_2W\SH
_2W\SH
VLJPDBQQ VLJPD VLJPDBVQ VLJPD VLJPDBQQ VLJPDVLJPDBVQ VLJPDHTQF LI,FKHFN
HSD HSVLORQ ORJDEVD[L D[L F5V FRVHSD F,V VLQHSD HTQE B F5 FRVKSL HSVLORQ F5V F, FRVKSL HSVLORQ F,V HTQE B >6+/@ 6WURKBPDWULFHV FDOFXODWHV6+/ 6E 6 EHWDVT[ SL VTUWDEVDA[L A VLJ [L !D [L D SDUWRIHTQD LIDEV[L D WF H\HGLP F5 6EAF, 6E T (VT[ HTQD BSUHVVXUHXQGHUWKHSXQFK GLI PD[DEVVLJPDWF XSF ]HURVGLP HOVH XSF VLJ LQY/ H\HGLP F5V 6EAF,V 6E TVT[ HTQD BGHIRUPDWLRQJUDGLHQWRXWVLGHWKHSXQFK GLI PD[DEVXBXSF WF ]HURVGLP HQG LI3W\SHa XSF XSF ( WF WF ( HQG
800
Appendix F: AEPH Source Code (Listed in Alphabetic Order) VWU ^ D >XBXSF@ >VLJPDWF@ ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L>XBXSF@>VLJPDWF@GLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG HQG
F160: s913FpunchM IXQFWLRQ>XXBXBVLJPDVLJPDVLJPDBQQVLJPDBVQ@ V)SXQFK0ORDGVWU[LYN 6)381&+0FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVZKHQ DIODWHQGHGULJLGSXQFKLVWLOWHGE\DFRXSOHGPRPHQWP XXBXBVLJPDVLJPDVLJPDBQQVLJPDBVQORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DKDOIZLGWKRIWKHSXQFK RPHJDURWDWLRQDQJOHRIWKHSXQFK)LJXUH GHOWD/DPGDVLQJXODURUGHUVDQGPDWUL[RIHLJHQYIXQFWLRQVFDOFXODWHGE\IXQFWLRQVBGHO/DP /RQHRI%DUQHWW/RWKHWHQVRUV JOREDO3W\SH2W\SH,FKHFN(GLP%PXIURP0DLQSURJUDPFRQWUROSDUDPHWHUV 6WURK VPDWHULDOSURSHUWLHV JOREDO66EHWDHSVLORQ IURPIXQFWLRQVBGHO/DP JOREDODRPHJDGHOWD/DPGD/ JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
D ORDGVWU
DKDOIZLGWKRIWKHSXQFK
PBKDW ORDGVWU (
PBKDWWKHPRPHQWDSSOLHGRQWKHSXQFK
>GHOWD/DPGD@ VBGHO/DP FDOFXODWHHLJHQYDOXHVGHOWDDQGHLJHQYHFWRUVODPGDHTQDEF / UHDOL % % 6HWUHDO WRDYRLGVPDOOHUURULQGXFHGE\QXPHULFDOFDOFXODWLRQ ,6/ H\HGLP HSVLORQEHWD A 6 / SDUWRIHTQE B RPHJD PBKDWSL DA ,6/ FDOFXODWHWKHURWDWLRQDQJOH?RPHJDIURPE B HQG ] [L [L PX >XSKLXBXBVLJPDVLJPD@ VBXSKL]DRPHJD FDOFXODWHXSKLHWFE\HTQD B VLJPDBQQ QDQ VLJPDBVQ QDQ GHIDXOWRIVLJPDBQQDQGVLJPDBVQ LI[L
2W\SH
_2W\SH
_2W\SH
VLJPDBQQ VLJPD VLJPDBVQ VLJPD VLJPDBQQ VLJPDVLJPDBVQ VLJPDHTQF LI,FKHFN
L >@ LI3W\SHa L >L@HQG F5,V H[SL HSVLORQ ORJDEVD[L D[L L D HSVLORQ[L HTQE B 6E 6EHWD6E 6EARV[ RPHJD [L VTUWDEVDA[L A SDUWRID B LIDEV[L D F5, FRVKSL HSVLORQ F5,V HTQE B WF RV[ H\HGLP UHDOF5, 6E LPDJF5, 6E / ( HTQD B GLI PD[DEVVLJPDWF XSF ]HURVGLP HOVH VLJ [L !D [L D VJQIXQFWLRQ XSF RPHJD LVLJ RV[ LUHDOF5,V 6E LPDJF5,V 6E
HTQD B
GLI PD[DEVXBXSF WF ]HURVGLP HQG LI3W\SHa XSF XSF ( WF WF ( HQG VWU ^ D B D B >XBXSF@ >VLJPDWF@ ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L>XBXSF@>VLJPDWF@GLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG HQG
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
801
F161: s914PpunchL IXQFWLRQ>XXBXBVLJPDVLJPDVLJPDBQQVLJPDBVQ@ V3SXQFK/ORDGVWU[LYN 63381&+/FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DSDUDEROLFULJLGSXQFKLQGHQWHGE\DORDGT XXBXBVLJPDVLJPDVLJPDBQQVLJPDBVQORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DKDOIOHQJWKRIWKHFRQWDFWUHJLRQ 5UDGLXVRIFXUYDWXUHRIWKHSXQFKHQG TWKHIRUFHDSSOLHGRQWKHSXQFK GHOWD/DPGDVLQJXODURUGHUVDQGPDWUL[RIHLJHQYIXQFWLRQVFDOFXODWHGE\IXQFWLRQVBGHO/DP /RQHRI%DUQHWW/RWKHWHQVRUV JOREDO3W\SH2W\SH,FKHFN(GLP%PX IURP0DLQSURJUDPFRQWUROSDUDPHWHU 6WURK VPDWHULDOSURSHUWLHV JOREDO66EHWDHSVLORQ IURPIXQFWLRQVBGHO/DP JOREDOD5TGHOWD/DPGD/DJHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
D ORDGVWU
DKDOIZLGWKRIWKHSXQFK
5 ORDGVWU
5UDGLXVRIFXUYDWXUHRIWKHSXQFKHQG
T ORDGVWU ( T >TTT@WKHIRUFHDSSOLHGRQWKHSXQFK LI3W\SHa T ORDGVWU HQG
T >TTTT@IRUSLH]RHOHFWULFPDWHULDOV
>GHOWD/DPGD@ VBGHO/DP FDOFXODWHHLJHQYDOXHVGHOWDDQGHLJHQYHFWRUVODPGDHTQDEF / UHDOL % % 6HWUHDO WRDYRLGVPDOOHUURULQGXFHGE\QXPHULFDOFDOFXODWLRQ ,6/ H\HGLP HSVLORQEHWD A 6 / SDUWRIHTQF D VTUW T 5SL ,6/ FDOFXODWHWKHFRQWDFWUHJLRQDIURPF LID!DD DHQG
FRPSOHWHLQGHQWDWLRQ
HQG FDOFXODWHGLVSODFHPHQWYHFWRUXDQGVWUHVVIXQFWLRQYHFWRUSKL ] [L [L PX >XSKLXBXBVLJPDVLJPD@ VBXSKL]D5T FDOFXODWHXSKLHWFE\HTQD B VLJPDBQQ QDQ VLJPDBVQ QDQ GHIDXOWRIVLJPDBQQDQGVLJPDBVQ LI[L
2W\SH
_2W\SH
_2W\SH
VLJPDBQQ VLJPD VLJPDBVQ VLJPD VLJPDBQQ VLJPDVLJPDBVQ VLJPDHTQF LI,FKHFN
L >@ LI3W\SHa L >L@HQG 6E 6EHWD6E 6EAVT[ VTUWDEVDA[L A [D [L ADA SDUWRIHTQD F5,V H[SL HSVLORQ ORJDEVD[L D[L HTQE B F5,W [L A HSVLORQA DAL D HSVLORQ [L [D HTQE B LIDEV[L D F5, FRVKSL HSVLORQ F5,V FFW F5, F5,W HTQE B ,W6 H\HGLP UHDOFFW 6E LPDJFFW 6E SDUWRIHTQD B ,F6 H\HGLP UHDOF5, 6E LPDJF5, 6E SDUWRIHTQD B WF [D ,W6 / 5 ,F6 TSL VT[ ( HTQD B GLI PD[DEVVLJPDWF XSF ]HURVGLP HOVH VLJ [L !D [L D FVW F5,V F5,W VJQIXQFWLRQ HTQE B ,VW6 H\HGLP UHDOFVW 6ELPDJFVW 6E SDUWRIHTQD B ,V6 H\HGLP UHDOF5,V 6E LPDJF5,V 6E SDUWRIHTQD B
802
Appendix F: AEPH Source Code (Listed in Alphabetic Order) XSF [L L5VLJ [D ,VW6 L 5 LQY/ ,V6 TSL VT[ HTQD B GLI PD[DEVXBXSF WF ]HURVGLP HQG LI3W\SHa XSF XSF ( WF WF ( HQG VWU ^ D B D B >XBXSF@ >VLJPDWF@ ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L>XBXSF@>VLJPDWF@GLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG HQG
F162: s922Estamp IXQFWLRQ>XXBXBVLJPDVLJPD@ V(VWDPSORDGVWU[LYN 6(67$03FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DQHOOLSWLFDOKROHLQGHQWHGE\DULJLGVWDPS XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEKDOIOHQJWKVRIWKHHOOLSWLFDOKROH SVLDQJOHGHJUHH GHQRWLQJWKHFRQWDFWUHJLRQ TWKHIRUFHDSSOLHGRQWKHVWDPS GHOWD/DPGDVLQJXODURUGHUVDQGPDWUL[RIHLJHQYIXQFWLRQVFDOFXODWHGE\IXQFWLRQVBGHO/DP JOREDO(3W\SHPXGLPHSV IURP0DLQSURJUDPFRQWUROSDUDPHWHUV 6WURK VPDWHULDOSURSHUWLHV JOREDODESVLTGHOWD/DPGD JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
D ORDGVWU E ORDGVWU DEKDOIOHQJWKVRIWKHHOOLSWLFDOKROH SVL ORDGVWU SLSVLDQJOHGHJUHH GHQRWLQJWKHFRQWDFWUHJLRQ>D FRVSVL E VLQSVL D FRVSVL E VLQSVL @)LJ T ORDGVWU ( T >TTT@WKHIRUFHDSSOLHGRQWKHVWDPS LI3W\SHa T ORDGVWU HQG
T >TTTT@IRUSLH]RHOHFWULFPDWHULDOV
>GHOWD/DPGD@ VBGHO/DP FDOFXODWHHLJHQYDOXHVGHOWDDQGHLJHQYHFWRUVODPGDHTQDEF HQG FDOFXODWHGLVSODFHPHQWYHFWRUXDQGVWUHVVIXQFWLRQYHFWRUSKL >]HWDWKHWDUKR@ PDS(3[LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ LIDEV]HWD ! HSV HSVWRDOORZWKHQXPHULFDOURXQGLQJHUURUQHDUWKHERXQGDU\ZKHQFDOFXODWLQJ]HWD >XSKLXBXBVLJPDVLJPD@ VBXSKL]HWDDE[LT FDOFXODWHXSKLHWFE\HTQD HOVH X QDQ RQHVGLP XB QDQ RQHVGLP XB QDQ RQHVGLP VLJPD QDQ RQHVGLP VLJPD QDQ RQHVGLP HQG
F163: s923Pstamp IXQFWLRQ>XXBXBVLJPDVLJPD@ V3VWDPSORDGVWU[LYN 6367$03FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DSRO\JRQOLNHKROHLQGHQWHGE\DULJLGVWDPS XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DFHSNSDUDPHWHUVRISRO\JRQOLNHKROHHTQ SVLDQJOHGHJUHH GHQRWLQJWKHFRQWDFWUHJLRQ TWKHIRUFHDSSOLHGRQWKHVWDPS GHOWD/DPGDVLQJXODURUGHUVDQGPDWUL[RIHLJHQYIXQFWLRQVFDOFXODWHGE\IXQFWLRQVBGHO/DP JOREDO3W\SH(PXGLPHSV IURP0DLQSURJUDPFRQWUROSDUDPHWHUV 6WURK VHLJHQYDOXHV
Appendix F: AEPH Source Code (Listed in Alphabetic Order) JOREDODFHSNSVLTGHOWD/DPGD JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
D ORDGVWU F ORDGVWU HS ORDGVWU N ORDGVWU DFHSNSDUDPHWHUVRISRO\JRQOLNHKROH SVL ORDGVWU SL SVLDQJOHGHJUHH GHQRWLQJWKHFRQWDFWUHJLRQ T ORDGVWU ( T >TTT@WKHIRUFHDSSOLHGRQWKHVWDPS LI3W\SHa T ORDGVWU HQG
T >TTTT@IRUSLH]RHOHFWULFPDWHULDOV
>GHOWD/DPGD@ VBGHO/DP FDOFXODWHHLJHQYDOXHVGHOWDDQGHLJHQYHFWRUVODPGDHTQDEF HQG FDOFXODWHGLVSODFHPHQWYHFWRUXDQGVWUHVVIXQFWLRQYHFWRUSKL >]HWDWKHWDUKR@ PDS(3[LDFHSNPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ LIDEV]HWD ! HSV HSVWRDOORZWKHQXPHULFDOURXQGLQJHUURUQHDUWKHERXQGDU\ZKHQFDOFXODWLQJ]HWD >XSKLXBXBVLJPDVLJPD@ VBXSKL]HWDDD F[LT FDOFXODWHXSKLHWFE\HTQD HOVH X QDQ RQHVGLP XB QDQ RQHVGLP XB QDQ RQHVGLP VLJPD QDQ RQHVGLP VLJPD QDQ RQHVGLP HQG
F164: s933_1Cpunch IXQFWLRQ>XXBXBVLJPDVLJPD@ VB&SXQFKORDGVWU[LYN 6B&381&+FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU WKHLQGHQWDWLRQE\DULJLGSXQFKZLWKDIODWHQGHGSURILOHLQWRWKHFRVLQHZDY\VKDSHGVXUIDFH XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DKDOIOHQJWKRIWKHFRQWDFWUHJLRQ HSSPDJQLWXGHRIFRVLQHZDY\VKDSH TWKHIRUFHDSSOLHGRQWKHVWDPS GHOWD/DPGDVLQJXODURUGHUVDQGPDWUL[RIHLJHQYIXQFWLRQVFDOFXODWHGE\IXQFWLRQVBGHO/DP JOREDO3W\SH(GLP$%PX IURP0DLQSURJUDPFRQWUROSDUDPHWHUV 6WURK VPDWHULDOSURSHUWLHV JOREDODHSSTGHOWD/DPGD JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! QB*DXVV QXPEHURI*DXVVLDSRLQWVVHOHFWHGIRULQWHJUDWLRQ LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
D ORDGVWU
DKDOIOHQJWKRIWKHFRQWDFWUHJLRQ
HSS ORDGVWU PDJQLWXGHRIFRVLQHZDY\VKDSH T ORDGVWU ( T >TTT@WKHIRUFHDSSOLHGRQWKHSXQFK LI3W\SHa T ORDGVWU HQG
T >TTTT@IRUSLH]RHOHFWULFPDWHULDOV
>GHOWD/DPGD@ VBGHO/DP FDOFXODWHHLJHQYDOXHVGHOWDDQGHLJHQYHFWRUVODPGDHTQDEF HQG ] [L [L HSS FRV[L PX >I]S@ VBI]S]DT HTQE B >[JZJ@ *DXVVQB*DXVV IRUWKHSXUSRVHRILQWHJUDWLRQFDOOIXQFWLRQ *DXVV IRU*DXVVSRLQWV[JDQGZHLJKWVZJ I] ]HURVGLP IRULJ QB*DXVV LQWHJUDWLRQE\*DXVVTXDGUDWXUHUXOHHTQ ]J [JLJ ] >I]SBJ@ VBI]S]JDT HTQE B I] I]I]SBJ ]
ZJLJ HQG FDOFXODWHWKHFRPSOH[IXQFWLRQYHFWRUI] DQGLWVGHULYDWLYHVIB] DQGIB] HTQD E DQGD F] FRV] V] VLQ] F[ FRV[L V[ VLQ[L PXF PX F] PXV PX V] L >@ LI3W\SHa L >L@HQG
IRUSLH]RHOHFWULFPDWHULDOV
803
804
Appendix F: AEPH Source Code (Listed in Alphabetic Order) %L %
L /LT LQY/DPGD T %L/ LQY% /DPGD GPX GLDJPX I] GLDJF] %LGLDJPXF I]S HTQE B I] I]HSS I]F[ GPX I]S
HTQD
I]SS ]HURVGLP I]S GLDJV] %L IRUM GLP >*DPPD@ VB3OHPHOM]DDGHOWDM HTQ *DPPDS *DPPD ] GHOWDM ]ADA HTQF B J] PXV *DPPDPXF *DPPDS HTQF B I]SS I]SSGLDJ*DPPDS %L/M /LTM SL L HTQE B I]S I]SGLDJJ] %L/M /LTM SL L HTQE B HQG I]S I]SF[ GPX I]SS HTQD I]B I]SHSS H\HGLP HSS V[ GPX I]S HTQD B I]B GPX I]SHSS I]S
HTQD B
X UHDO$ I] SKL UHDO% I] ( XB UHDO$ I]B XB UHDO$ I]B VLJPD UHDO% I]B ( VLJPD UHDO% I]B (
F165: s933_2Tstamp IXQFWLRQ>XXBXBVLJPDVLJPD@ VB7VWDPSORDGVWU[LYN 6(67$03FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DWULDQJXODUKROHLQGHQWHGE\DULJLGVWDPS XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DFHSSDUDPHWHUVRIWULDQJXODUKROHN HTQ SVLDQJOHGHJUHH GHQRWLQJWKHFRQWDFWUHJLRQ TWKHIRUFHDSSOLHGRQWKHVWDPS GHOWD/DPGDVLQJXODURUGHUVDQGPDWUL[RIHLJHQYIXQFWLRQVFDOFXODWHGE\IXQFWLRQVBGHO/DP JOREDO3W\SH(GLP$%PX IURP0DLQSURJUDP&RQWUROSDUDPHWHU 6WURK VPDWHULDOSURSHUWLHV JOREDODFHSSVLTGHOWD/DPGD JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! QB*DXVV QXPEHURI*DXVVLDQSRLQWVLVVHOHFWHGWREH LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
D ORDGVWU F ORDGVWU HS ORDGVWU DFHSSDUDPHWHUVRIWULDQJXODUKROH SVL ORDGVWU SL SVLDQJOHGHQRWLQJWKHFRQWDFWUHJLRQ T ORDGVWU ( T >TTT@WKHIRUFHDSSOLHGRQWKHVWDPS LI3W\SHa T ORDGVWU HQG
T >TTTT@IRUSLH]RHOHFWULFPDWHULDOV
>GHOWD/DPGD@ VBGHO/DP FDOFXODWHHLJHQYDOXHVGHOWDDQGHLJHQYHFWRUVODPGDHTQDEF HQG FDOFXODWHGLVSODFHPHQWYHFWRUXDQGVWUHVVIXQFWLRQYHFWRUSKL ] [L [L PX E D F 1RWHLQWKHIROORZLQJPDSSLQJWULDQJOHLVDSSUR[LPDWHGE\SHUWXUEDWLRQRIHOOLSVH >]HWDWKHWDUKR@ PDS(3[LDFPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ >I]S@ VBI]S]HWDSVLT HTQE BVDPHDVD >[JZJ@ *DXVVQB*DXVV IRUWKHSXUSRVHRILQWHJUDWLRQFDOOIXQFWLRQ *DXVV IRU*DXVVSRLQWV[JDQGZHLJKWVZJ I] ]HURVGLP IRULJ QB*DXVV LQWHJUDWLRQE\*DXVVTXDGUDWXUHUXOHHTQ ]J [JLJ ]HWD
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
805
>I]SBJ@ VBI]S]JSVLT HTQE BVDPHDVD I] I]I]SBJ ]HWD
ZJLJ HQG FDOFXODWHWKHFRPSOH[IXQFWLRQYHFWRUI] DQGLWVGHULYDWLYHVIB] DQGIB] HTQDEF DQGHTQDEF FPX FRQMPX ]HWD ]HWDA ]HWDS ]HWD]HWD DL E PX ] HTQ K] L FPXL PX ]HWD D SKL] L PX ]HWDL PX ]HWD D HTQF B I] GLDJK] ]HWDS I]S I] I]HS I]GLDJSKL] ]HWDS I]S HTQD HSVL H[SL SVL LHSVL HSVLFS FRVSVL VS VLQSVL F/DPGD FRQM/DPGD F/L LQYF/DPGD %LF/ LQY% F/DPGD%$ % $ F%$ FRQM%$ /LT F/L %$ T /LT F/L F%$ T I]SS ]HURVGLP IRUM GLP >*DPPD@ VB3OHPHOM]HWDLHSVLHSVLGHOWDM HTQF B *DPPDS *DPPD ]HWDFSL GHOWDM VS ]HWDA FS ]HWD HTQF B HS] H[SL SVL GHOWDM ]HWD HS] HS]]HWD SN %LF/M /LTM GLDJHS] %LF/M /LTM HTQF B SNS GLDJHS] %LF/M /LTM HTQF B I]SS I]SSGLDJ*DPPDS SNGLDJ*DPPD SNS SL L HTQE B HQG K]S D L PX ]HWDASKL]S D L PX ]HWDK]S HTQF B HDS L PX F ]HWDD L PX F ]HWDL PX F A HDSGHULYDWLYHRIHDHTQF B I]SSV GLDJHDS I]SGLDJ]HWDS I]SS HTQE B I]S GLDJK]S ]HWDS I]SGLDJK] I]SSV
HTQE B
I]B GLDJ]HWDS I]SHS I]SGLDJSKL]S ]HWDS I]SGLDJSKL] I]SSV HTQD B I]B GLDJPX I]B X UHDO$ I] SKL UHDO% I] ( XB UHDO$ I]B XB UHDO$ I]B VLJPD UHDO% I]B ( VLJPD UHDO% I]B (
F166: s942SWpunch IXQFWLRQ>XXBXBVLJPDVLJPDVLJPDBQQ@ V6:SXQFKORDGVWU[LYN 66:381&+FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DZHGJHVKDSHGSXQFKXQGHUWKHDFWLRQRIQRUPDOIRUFH1DQGKRUL]RQWDOIRUFH) XXBXBVLJPDVLJPDVLJPDBQQORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DKDOIZLGWKRIWKHSXQFK HVVORSHRIWKHZHGJHVKDSHGSXQFK )QQRUPDOIRUFHGRZQZDUG HWDUDWLR)K)QZKHUH)KKRUL]RQWDOIRUFHOHIWZDUG GHOWDVLQJXODURUGHUVFDOFXODWHGE\IXQFWLRQVBGHO/DP 1DPLQLPXPUHTXLUHPHQWRI)QWRUHDFKFRPSOHWHLQGHQWDWLRQ UWDXGHILQHGE\UWDX UHDOWDX& ZKHUHWDX&LVGHWHUPLQHGE\IXQFWLRQVBGHO/DP JOREDO2W\SH(,FKHFNPXILGIURP0DLQSURJUDP&RQWUROSDUDPWHUV 6WURK VHLJHQYDOXHV JOREDOWDX& IURPIXQFWLRQVBGHO/DP JOREDODHV)QHWDGHOWD1DUWDX JHQHUDWHGZKHQYN HPSOR\HGZKHQYN!
806
Appendix F: AEPH Source Code (Listed in Alphabetic Order) LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
D ORDGVWU
DKDOIZLGWKRIWKHSXQFK
HV ORDGVWU HVVORSHRIWKHZHGJHVKDSHGSXQFK )Q ORDGVWU ()K ORDGVWU ( )QQRUPDOIRUFHGRZQZDUG )KKRUL]RQWDOIRUFHOHIWZDUG JDPPDBV ORDGVWU FRHIILFLHQWRIVWDWLFIULFWLRQ HWD )K)Q VKRXOGEHOHVVRUHTXDOWRWKHFRHIILFLHQWRIVWDWLFIULFWLRQ LIDEVHWD !JDPPDBV ISULQWIILG ?U?Q:URQJLQSXWRIWKHKRUL]RQWDOIRUFHZKLFKVKRXOGEHOHVVRUHTXDOWRPD[LPXPIULFWLRQIRUFH ISULQWIILG ?U?Q,QRWKHUZRUGVWKHVROXWLRQVVKRZQEHORZDUHTXHVWLRQDEOH?U?Q HQG >GHOWD/DPGD@ VBGHO/DPHWD FDOFXODWHVGHOWDDQGWDX&WKURXJKHTQE B UWDX UHDOWDX& &KHFNZKHWKHUWKHQRUPDOIRUFHLVODUJHHQRXJKWRDFKLHYHFRPSOHWHLQGHQWDWLRQ 1D SL HV GHOWD DUWDX HTQ LI)Q1DD UWDX )Q SL HV GHOWD HQG D KDOIOHQJWKRIFRQWDFWUHJLRQIRULQFRPSOHWHLQGHQWDWLRQ HQG ] [L [L PX >XSKLXBXBVLJPDVLJPD@ VBXSKL]DHVHWD)Q FDOFXODWHXSKLHWFE\HTQ D VLJPDBQQ QDQ LI[L
GHIDXOWRIVLJPDBQQ
DEV[L D 2W\SH
_2W\SH
_2W\SH
FDOFXODWHSUHVVXUXQGHUWKHSXQFK
VLJPDBQQ VLJPD VLJPDBQQ VLJPDVLJPDBVQ VLJPDHTQF LI,FKHFN
VD[G VLQSL GHOWD DEVD[L D[L AGHOWD SDUWRIHTQ DQGE LI)Q1D! VLJPD VD[G )Q SL HV [L GHOWD D UWDX (SL D[L HTQ HOVH VLJPD HV VD[G (UWDX HTQ HQG GLI DEVVLJPDBQQVLJPD VWU ^ RUE VLJPDBQQ VLJPD ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[LVLJPDBQQVLJPDGLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG HQG
F167: s943SPpunch IXQFWLRQ>XXBXBVLJPDVLJPDVLJPDBQQ@ V63SXQFKORDGVWU[LYN 663381&+FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DSDUDEROLFHQGHGSXQFKXQGHUWKHDFWLRQRIQRUPDOIRUFH1DQGKRUL]RQWDOIRUFH) XXBXBVLJPDVLJPDVLJPDBQQORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEGHQRWHVWKHFRQWDFWUHJLRQD [ E 5UDGLXVRIFXUYDWXUHRIWKHSXQFKHQG )Q)KIRUFHFRPSRQHQWVLQQRUPDOGRZQZDUG DQGKRUL]RQWDOOHIWZDUG GLUHFWLRQV HWDUDWLR)K)QZKLFKVKRXOGEHOHVVRUHTXDOWRWKHFRHIILFLHQWRIVWDWLFIULFWLRQ GHOWDVLQJXODURUGHUVFDOFXODWHGE\IXQFWLRQVBGHO/DP 1DPLQLPXPUHTLUHPHQWRI)QWRUHDFKFRPSOHWHLQGHQWDWLRQ UWDXGHILQHGE\UWDX UHDOWDX& ZKHUHWDX&LVGHWHUPLQHGE\IXQFWLRQVBGHO/DP JOREDO2W\SH(,FKHFNPXILGIURP0DLQSURJUDP&RQWUROSDUDPWHUV 6WURK VHLJHQYDOXHV
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
807
JOREDOWDX& IURPIXQFWLRQVBGHO/DP JOREDODE5)Q)KHWDGHOWD1DUWDXZJHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
Z ORDGVWU
ZKDOIZLGWKRIWKHSXQFK
5 ORDGVWU
5UDGLXVRIFXUYDWXUH
)Q ORDGVWU ()K ORDGVWU ( )QQRUPDOIRUFHGRZQZDUG )KKRUL]RQWDOIRUFHOHIWZDUG HWD )K)Q VKRXOGEHOHVVRUHTXDOWRWKHFRHIILFLHQWRIVWDWLFIULFWLRQ JDPPDBV ORDGVWU FRHIILFLHQWRIVWDWLFIULFWLRQ LIDEVHWD !JDPPDBV ISULQWIILG ?U?Q:URQJLQSXWRIWKHKRUL]RQWDOIRUFHZKLFKVKRXOGEHOHVVRUHTXDOWRPD[LPXPIULFWLRQIRUFH ISULQWIILG ?U?Q,QRWKHUZRUGVWKHVROXWLRQVVKRZQEHORZDUHTXHVWLRQDEOH?U?Q HQG >GHOWD/DPGD@ VBGHO/DPHWD FDOFXODWHVGHOWDDQGWDX&WKURXJKHTQE B UWDX UHDOWDX& &KHFNZKHWKHUWKHQRUPDOIRUFHLVODUJHHQRXJKWRDFKLHYHFRPSOHWHLQGHQWDWLRQ D ZE Z IRUFRPSOHWHLQGHQWDWLRQ G GHOWDG GG PD[GG 1D G SL ZAUWDX 5 HTQ LI)Q1DD VTUWG UWDX 5 )QSL E VTUWG UWDX 5 )QSL
HQG
IRULQFRPSOHWHLQGHQWDWLRQ
HQG ] [L [L PX >XSKLXBXBVLJPDVLJPD@ VBXSKL]DE5)Q FDOFXODWHXSKLHWFE\HTQ D VLJPDBQQ QDQ LI[L
GHIDXOWRIVLJPDBQQ
2W\SH
_2W\SH
_2W\SH
VLJPDBQQ VLJPD VLJPDBQQ VLJPDVLJPDBVQ VLJPDHTQF LI,FKHFN
M[ [L AGHOWD DE E [L GHOWD GHOWD DE A HTQE B ; DEV[L D AGHOWD DEV[L E AGHOWD SDUWRIHTQE LI)K
[T5 [L AZAWDX& 5 )QSL 5 VTUWDEV[L AZA HQG SDUWRIHTQ
LI[L E [L ! D FDOFXODWHSUHVVXUHXQGHUWKHSXQFK LI)Q1D! IRUFRPSOHWHLQGHQWDWLRQ ; ; H[SL SL GHOWD HTQE B VLJPD L ; M[UWDX 5 )Q SL WDX& 5 ( VLJPDF VLJPDHTQ LI)K HOVH
VLJPDF [T5WDX& ( HQG HTQ B LQFRPSOHWHLQGHQWDWLRQ
VLJPD VLQSL GHOWD ; [L D E[L UWDX 5 (VLJPDF VLJPDHTQ LI)K
VLJPDF VTUWDA[L A 5 WDX& ( HQG
HTQD B
HQG GLI DEVVLJPDBQQVLJPD DEVVLJPDVLJPDF XSF QDQ HOVH
FDOFXODWHGHIRUPDWLRQJUDGLHQW
VLJ [L !E [L D SDUWRIHTQE B LI)Q1D! IRUFRPSOHWHLQGHQWDWLRQ XS [L VLJ ; M[UWDX 5 )Q SL 5 XSF XS HTQD LI)K
XSF [L VLJ [T5HQG
HTQ B
HOVH XS [L VLJ ; DEV[L D [L E 5 XSF XS HTQ B LI)K
XSF [L VLJ VTUW[L ADA 5HQG
HQG GLI DEVXB XS DEVXSXSF VLJPDF QDQ
HTQ B
808
Appendix F: AEPH Source Code (Listed in Alphabetic Order) HQG VWU ^ D >XB XS@ >VLJPDBQQVLJPD@ ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L>XB XSF@>VLJPDBQQVLJPDF@GLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG HQG
F168: s944S2punch IXQFWLRQ>XXBXBVLJPDVLJPDVLJPDBQQ@ V6SXQFKORDGVWU[LYN 66381&+FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU WZRVOLGLQJIODWHQGHGSXQFKHVXQGHUWKHDFWLRQRIQRUPDOIRUFHV11DQGKRUL]RQWDOIRUFH)) XXBXBVLJPDVLJPDVLJPDBQQORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEORFDWLRQRIWKHWZRSXQFKHVD [ EDQGD [ ED >DD@E >EE@ )Q >)Q)Q@)QQRUPDOIRUFHRQWKHVWSXQFK)QRQWKHQGSXQFKGRZQZDUG )K >)K)K@)KKRUL]RQWDOIRUFHRQWKHILUVWSXQFK)KRQWKHQGSXQFKOHIWZDUG HWDUDWLR)K)Q )K)QZKLFKVKRXOGEHOHVVRUHTXDOWRWKHFRHIILFLHQWRIVWDWLFIULFWLRQ GHOWDVLQJXODURUGHUVFDOFXODWHGE\IXQFWLRQVBGHO/DP UWDXGHILQHGE\UWDX UHDOWDX& ZKHUHWDX&LVGHWHUPLQHGE\IXQFWLRQVBGHO/DP JOREDO2W\SH(,FKHFNPXILGIURP0DLQSURJUDP&RQWUROSDUDPWHUV 6WURK VPDWHULDOSURSHUWLHV JOREDOWDX& IURPIXQFWLRQVBGHO/DP JOREDOGG IURPIXQFWLRQVBI]SFRHIILFLHQWVRIWKHWDSHTQE B JOREDODE)Q)KHWDGHOWDUWDX JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
D ORDGVWU E ORDGVWU ORFDWLRQRIWKHWZRSXQFKHVD >DD@E >EE@ IRUWZRLGHQWLFDOSXQFKHV>D E @ >E D @ )Q ORDGVWU ( )Q >)Q)Q@)QQRUPDOIRUFHRQVWSXQFK)QRQQGSXQFKGRZQZDUG )K ORDGVWU ( )K >)K)K@)KKRUL]RQWDOIRUFHRQVWSXQFK)KRQQGSXQFKOHIWZDUG )K )K )Q )Q )1 )1DUHUHTXLUHGWREHWKHVDPH HWD )K )Q JDPPDBV ORDGVWU FRHIILFLHQWRIVWDWLFIULFWLRQ LIDEVHWD !JDPPDBV ISULQWIILG ?U?Q:URQJLQSXWRIWKHKRUL]RQWDOIRUFHZKLFKVKRXOGEHOHVVRUHTXDOWRPD[LPXPIULFWLRQIRUFH ISULQWIILG ?U?Q,QRWKHUZRUGVWKHVROXWLRQVVKRZQEHORZDUHTXHVWLRQDEOH?U?Q HQG >GHOWD/DPGD@ VBGHO/DPHWD FDOFXODWHVGHOWDDQGWDX&WKURXJKHTQE B UWDX UHDOWDX& HQG FDOFXODWHGLVSODFHPHQWYHFWRUXDQGVWUHVVIXQFWLRQYHFWRUSKL ] [L [L PX >XSKLXBXBVLJPDVLJPD@ VBXSKL]DEHWD)Q FDOFXODWHXSKLHWFE\HTQ D VLJPDBQQ QDQ LI[L
GHIDXOWRIVLJPDBQQ
2W\SH
_2W\SH
_2W\SH
VLJPDBQQ VLJPD VLJPDBQQ VLJPDVLJPDBVQ VLJPDHTQF LI,FKHFN
; DEV[L D [L D AGHOWD DEV[L E [L E AGHOWD F LI)K
1[ )Q [L DEV[L AE A A DEV[L AD A ASLHQG SDUWRIHTQ
LI[L !D [L E _ [L !D [L E FDOFXODWHSUHVVXUHXQGHUWKHSXQFK VLJ [L E [L !D SDUWRIHTQE B
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
809
VLJPD VLJ H[SL SL GHOWD ; UWDX GG [L WDX& ( VLJPDF VLJPD HTQD B LI)K
VLJPDF VLJ 1[ ( HQG
HTQ B
GLI DEVVLJPDBQQVLJPD DEVVLJPDVLJPDF XSF QDQ HOVH VLJ [L D [L ! E [L ! E [L D SDUWRIHTQE XS L UWDX VLJ ; GG [L XSF XS HTQD B LI)K
XSF VLJ WDX& 1[ HQG
HTQ B
GLI DEVXB XS DEVXSXSF VLJPDF QDQ HQG VWU ^ D >XB XS@ >VLJPDBQQVLJPD@ ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L>XB XSF@>VLJPDBQQVLJPDF@GLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG HQG
F169: s951P2Fcontact IXQFWLRQ>XXBXBVLJPDVLJPDVLJPDBQQ@ V3)FRQWDFWORDGVWU[LYN 63)&217$&7FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU WKHFRQWDFWEHWZHHQWZRDQLVRWURSLFHODVWLFERGLHVERXQGHGE\SDUDEROLFVXUIDFHV XXBXBVLJPDVLJPDVLJPDBQQORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEGHQRWHVWKHFRQWDFWUHJLRQD [ E )QQRUPDOIRUFHGRZQZDUG 5UDGLXVRIWKHFXUYDWXUHRIWKHXSSHUHODVWLFERG\ 5UDGLXVRIWKHFXUYDWXUHRIWKHORZHUHODVWLFERG\ 5GHILQHGE\5 5 555 HWDUDWLR)K)QZKLFKVKRXOGEHOHVVRUHTXDOWRWKHFRHIILFLHQWRIVWDWLFIULFWLRQ GHOWDVLQJXODURUGHUVFDOFXODWHGE\IXQFWLRQVBGHO/DP UWDXGHILQHGE\UWDX UHDOWDX& ZKHUHWDX&LVGHWHUPLQHGE\IXQFWLRQVBGHO/DP $%PXZKHQ[L !$ $% %PX PXZKHQ[L $ $% %PX PX JOREDO,FKHFN(HSV$BD%BDPXBDILGIURP0DLQSURJUDP&RQWUROSDUDPWHUV 6WURK VPDWHULDOSURSHUWLHV JOREDOWDX&0L0L IURPIXQFWLRQVBGHO/DP JOREDODE)Q555HWDGHOWDUWDX JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! JOREDO$%PX JHQHUDWHGIRUWKHXVHLQIXQFWLRQVVBXSKLVBI]S LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
5 ORDGVWU 5 ORDGVWU 55UDGLLRIWKHFXUYDWXUHVRIWZRHODVWLFERGLHV )Q ORDGVWU ()K ORDGVWU ()QQRUPDOIRUFHGRZQZDUG )KKRUL]RQWDOIRUFHOHIWZDUG FDOFXODWHHLJHQYDOXHVGHOWDHTQE BF B HWD )K)Q VKRXOGEHOHVVRUHTXDOWRWKHFRHIILFLHQWRIVWDWLFIULFWLRQ JDPPDBV ORDGVWU FRHIILFLHQWRIVWDWLFIULFWLRQ LIDEVHWD !JDPPDBV ISULQWIILG ?U?Q:URQJLQSXWRIWKHKRUL]RQWDOIRUFHZKLFKVKRXOGEHOHVVRUHTXDOWRPD[LPXPIULFWLRQIRUFH ISULQWIILG ?U?Q,QRWKHUZRUGVWKHVROXWLRQVVKRZQEHORZDUHTXHVWLRQDEOH?U?Q HQG >GHOWD/DPGD@ VBGHO/DPHWD FDOFXODWHVGHOWDDQGWDX&WKURXJKHTQF BDQGE B UWDX UHDOWDX& GE GHOWDGD GE5 5 555 W51 UWDX 5 )QSL D VTUWGD W51 E VTUWGE W51 HTQF HQG FDOFXODWHGLVSODFHPHQWYHFWRUXDQGVWUHVVIXQFWLRQYHFWRUSKL
810
Appendix F: AEPH Source Code (Listed in Alphabetic Order) LI[L ! PX PXBD $ $BD % %BD HOVH PX PXBD $ $BD % %BD HQG ] [L [L PX >XSKLXBXBVLJPDVLJPD@ VBXSKL]DE5)Q FDOFXODWHXSKLHWFE\HTQ D LI[L !X XSKL SKLXB XBXB XBVLJPD VLJPDVLJPD VLJPDHQG
HTQ B
&RPSDUHWKHVROXWLRQVIURPGLIIHUHQWDSSURDFKHTQ VLJPDBQQ QDQVLJPDBQQZLOOQRWEHFDOFXODWHGLIWKH\DUHQRWUHTXLUHGE\WKHXVHU ES GHIDXOWVHWWREH]HURIRUQRQERXQGDU\SRLQWV J [L A 5 J [L A 5 LIDEVJ[L HSVES HQG
ERXQGDU\SRLQWRIHODVWLFERG\
LIDEVJ[L HSVES HQG
ERXQGDU\SRLQWRIHODVWLFERG\
LI,FKHFN
ESa ERXQGDU\SRLQWVRIWKHHODVWLFERG\
VLJPDBQQ VLJPD FRQWDFWSUHVVXUH WDX 0L HWD 0L WDX 0L HWD 0L HTQE WKHWD QB*DXVV >[JZJ@ *DXVVQB*DXVV IRULJ QB*DXVV LQWHJUDWLRQE\*DXVVTXDGUDWXUHUXOHHTQD FDOFXODWHWKHWD [LJ [JLJ [L HTQ$ ; [LJD AGHOWD [LJE AGHOWD HTQE B M [LJAGHOWD DE E [LJGHOWD GHOWD DE A
HTQE
WKHWDS L [LJ; M UWDX 5 L )Q ; SL HTQD WKHWD WKHWDWKHWDS [L ZJLJ HQG LI[L !D [L E VLJPD VLQSL GHOWD 5 UWDX [L D AGHOWD E[L AGHOWD ( HTQ JV WDX
JWDX JL WDX
WDX WDX WDX WKHWD WDX& HTQD B LI[L !XF JVJ HOVH XF JVJHQG GLI DEVVLJPDBQQVLJPD DEVX XF HOVH LI[L !XF L WDXWDX WKHWD HTQD BXF JVJ HOVHXF L WDXWDX WKHWD HQG
HTQD BXF JVJ
GLI DEVX XF VLJPD QDQ HQG VWU ^ D >X XF@ >VLJPDBQQVLJPD@ ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L>X XF@>VLJPDBQQVLJPD@GLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG
F170: s952P2contact IXQFWLRQ>XXBXBVLJPDVLJPDVLJPDBQQ@ V3FRQWDFWORDGVWU[LYN 63&217$&7FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU WKHFRQWDFWEHWZHHQWZRDQLVRWURSLFHODVWLFERGLHVERXQGHGE\SDUDEROLFVXUIDFHV XXBXBVLJPDVLJPDVLJPDBQQORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ EGHQRWHVWKHFRQWDFWUHJLRQE [ EZKLFKLVGHWHUPLQHGE\HTQF )QQRUPDOIRUFHGRZQZDUG 5UDGLXVRIWKHFXUYDWXUHRIWKHXSSHUHODVWLFERG\ 5UDGLXVRIWKHFXUYDWXUHRIWKHORZHUHODVWLFERG\ 5GHILQHGE\5 5 555 0LLQYHUVHRILPSHGDQFHPDWUL[RIPDWHULDO0L L $ LQY%
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
811
0LLQYHUVHRILPSHGDQFHPDWUL[RIPDWHULDO0L L $ LQY% 0VELPDWHULDOPDWUL[0V 0LFRQM0L 0V 0V %L%L%L %A %L %A $%PXZKHQ[L !$ $% %PX PXZKHQ[L $ $% %PX PX JOREDO(,FKHFN$BD%BDPXBD IURP0DLQSURJUDP&RQWUROSDUDPWHUV 6WURK VPDWHULDOSURSHUWLHV JOREDOE)Q5550L0L0V0V%L%L JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! JOREDOPX$% JHQHUDWHGIRUIXQFWLRQVVBXSKLVBI]S LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
5 ORDGVWU 5 ORDGVWU 55UDGLLRIWKHFXUYDWXUHVRIWZRHODVWLFERGLHV )Q ORDGVWU ( )QQRUPDOIRUFHGRZQZDUG %L %BD A0L L $BD %L %L %BD A0L L $BD %L 0V 0LFRQM0L 5 5 555 0V 0V E VTUW 0V 5 )QSL HTQF HQG FDOFXODWHGLVSODFHPHQWYHFWRUXDQGVWUHVVIXQFWLRQYHFWRUSKL LI[L ! PX PXBD $ $BD % %BD %L %L HOVHPX PXBD $ $BD % %BD %L %L HQG ] [L [L PX >XSKLXBXBVLJPDVLJPD@ VBXSKL]0VE5)Q FDOFXODWHXSKLHWFE\HTQ LI[L !X XSKL SKLXB XBXB XBVLJPD VLJPDVLJPD VLJPDHQG
HTQ B
&RPSDUHWKHVROXWLRQVIURPGLIIHUHQWDSSURDFKHTQ VLJPDBQQ QDQ GHIDXOWRIVLJPDBQQ ES GHIDXOWVHWWREH]HURIRUQRQERXQGDU\SRLQWV J [L A 5 J [L A 5 LIDEVJ[L HSVES HQG
ERXQGDU\SRLQWRIHODVWLFERG\
LIDEVJ[L HSVES HQG
ERXQGDU\SRLQWRIHODVWLFERG\
LI,FKHFN
ESa ERXQGDU\SRLQWVRIWKHHODVWLFERG\
VLJPDBQQ VLJPD FRQWDFWSUHVVXUH LIDEV[L E VLJPD VTUWEA[L A 5 0V ( HTQD B JV 5 0L 5 0L [L A 0V 5 5 HTQD B LI[L !XF JVJ HOVH XF JVJHQG GLI DEVVLJPDBQQVLJPD DEVX XF HOVH VLJ [L !E [L E SDUWRIHTQE [ES [L VLJ VTUW[L AEA [EP [L VLJ VTUW[L AEA SDUWRIHTQE WKHWD L )Q ORJL E SL WKHWD RIHTQE ULJLGERG\PRWLRQWHUPRIWKHWD WKHWD L )Q [L [EPEA ORJ[ES SL EA WKHWD
HTQE
LI[L !XF L 0L WKHWD HTQD BXF JVJV HOVHXF L 0L WKHWD HQG
HTQD BXF JVJV
GLI DEVX XF VLJPD QDQ HQG VWU ^ D B BB >X XF@ >VLJPDBQQVLJPD@ ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L>X XF@>VLJPDBQQVLJPD@GLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG
812
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
F171: s1021EholeUH IXQFWLRQ>XXBXBVLJPDVLJPDVLJPDBVVKHDW)7HPS@ V(KROH8+ORDGVWU[LYN 6(KROH8+FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVVWUHVVHVKHDWIOX[DQGWHPSHUDWXUHIRU DQDQLVRWURSLFSODWHFRQWDLQLQJDQHOOLSWLFDOKROHVXEMHFWHGWRXQLIRUPKHDWIORZKLQWKHGLUHFWLRQ SRVLWLYH[D[LV XXBXBVLJPDVLJPDVLJPDBVVKHDW)7HPSORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEKDOIOHQJWKVRIWKHHOOLSWLFDOKROH KIXQLIRUPKHDWIORZLQWKHGLUHFWLRQRISRVLWLYH[D[LV PDPWPD DL PX EPW DL WDX EGHILQHGLQHTQD B JDJWJD DL E PX DL E PX JW DL E WDX DL E WDX HTQF B HHH KI NLM L N NA H L D KI N GHILQHGLQHTQD B NN VTUWNLM NLM NLM A GHILQHGLQHTQD B NNN >NNN@N >NNN@NLMKHDWFRQGXFWLRQFRHIILFLHQWVHTQE TTTFRHIILFLHQWYHFWRUVGHILQHGLQHTQE B 6/%DUQHWW/RWKHWHQVRUVFDOFXODWHGE\IXQFWLRQ6WURKBPDWULFHV JOREDO(W\SH3W\SH2W\SH,FKHFN(HSVGLP$%FGPXWDX1111NLMIURP0DLQSURJUDP JOREDO(QX IURPIXQFWLRQHODVWLF6+/@ 6WURKBPDWULFHV FDOFXODWHWKH%DUQHWW/RWKHWHQVRU6+/ >1WK1WK1L@ 6WURKBPDWULFHV FDOFXODWHVWKHVXELQYHUVHRI1LH1L 1WL >6+/6 @ H[WHQGHGV\PERO RI6HFWLRQ TD UHDOH G TE 1L UHDOH 1 WDX H\HGLP G HTQE B 1 1 11 11 1 11 1 1 1 11
1 1RWH>1111 @ 1 1 9 1
TD1 TE UHDOH WDXA G SUHVWHSRIVROYLQJYIURPHTQ >1PM@ PD[DEV1 Y 9M 1M 9F Y 1 VROYLQJYIURPHTQ LIDEVPD[99F !HSV FKHFNZKHWKHUWKHVROXWLRQRIYLVFRUUHFW GLVS &RPSXWDWLRQDOHUURULQVROYLQJHTQ 99F HQG L ]HURVGLP L TE TEY L HTQE B TED LQYD 1WLE 1 >LPDJH DL E WDX LQY/ 6 L H\HGLP G LPDJH DL E WDX G @HTQF TED LQYD 1WLE 1 LPDJH DL E WDX >FG@ HTQG TE TEDGLP TD TEDGLP GLP TE TEDGLP TD TEDGLP GLP F G T $
TD%
TE T $
TD%
TE T $
TD%
TE
HTQE B
HQG ] [L [L PX]W [L [L WDX >]HWDWKHWDUKR@ PDS(3[LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ >]HWDBWWKHWDUKR@ PDS(3[LDEDWDX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ LIDEV]HWD ! HSV HSVWRDOORZWKHQXPHULFDOURXQGLQJHUURUQHDUWKHERXQGDU\ZKHQFDOFXODWLQJ]HWD
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
813
P]HWD PD ]HWD P]HWDBW PW ]HWDBW UD P]HWD] UW P]HWDBW]W HTQ ORJP]HWDGLP ORJ] ORJJD]HWDA ORJ HTQ BD B ORJP]HWDGLP ORJ]W ORJJW]HWDBWA ORJ HTQ BD B I] GLDJ]A TGLDJ]]HWD TGLDJPD ORJP]HWDGLP T HTQ B J] H ]WAH ]W]HWDBWPW ORJP]HWDGLP HTQ B I]S GLDJ] TGLDJ]UD ]HWD TGLDJPDUD T HTQD B J]S H ]WH]HWDBW J]SS HHUW ]HWDBW HTQD B 7HPS UHDOJ]S KHDW) UHDONWDX N J]SS HTQD B X UHDO$ I]F J] SKL UHDO% I]G J] ( HTQD B XB UHDO$ I]SF J]S XB UHDO$ GLDJPX I]SF WDX J]S HTQG B VLJPD UHDO% GLDJPX I]SG WDX J]S ( VLJPD UHDO% I]SG J]S (HTQG BF HOVH X QDQ RQHVGLP XB QDQ RQHVGLP XB QDQ RQHVGLP VLJPD QDQ RQHVGLP VLJPD QDQ RQHVGLP KHDW) QDQ RQHVGLP 7HPS QDQ HQG FDOFXODWHKRRSVWUHVVVLJPDBVVDORQJWKHKROHERXQGDU\HTQ VLJPDBVV QDQ VLJPDBVVZLOOQRWEHFDOFXODWHGLILWLVQRWUHTXLUHGE\WKHXVHU LI3W\SHa VLJPDBVV QDQHQG
GHIDXOWIRUSLH]RHOHFWULFDQG0((PDWHULDOV
LI3W\SH!VLJPDBVV QDQHQG
GHIDXOWIRU0((PDWHULDOV
LIDEVDEV]HWD HSV 2W\SH
_2W\SH
_2W\SH
_2W\SH
GDWDRQWKHKROHERXQGDU\
SVL [L SL FKDQJHGHJUHHWRUDGLDQ >]HWDWKHWDUKR@ PDS(3[LSVLDEDPX FDOFXODWHWKHWDQJHQWLDODQJOHWKHWDHTQ JDPWV / F6
GL G HTQD B >JDPWKJDPWK@ VBJDPPDWKHWD FDOFXDOWHVJDPWK >1WK1WK1WK@ 6WURKBPDWULFHVWKHWD FDOFXODWHWKH6WURKPDWULFHV1WK1WK1WK *WK 1WK LQY/ H[WHQGHGV\PERO RI6HFWLRQ FWK FRVWKHWD VWK VLQWKHWD VY >FWKVWK@ WDQJHQWGLUHFWLRQVH[WHQGHGV\PERO RI6HFWLRQ LI3W\SHa VY >VY@HQG
IRUSLH]RHOHFWULFRU0((PDWHULDOV
LI3W\SH!VY >VY@HQG
IRU0((PDWHULDOV
JDP* UKR VLQSVL JDPWK*WK UHDOH[S L SVL DL E WDX JDPWV SDUWRIHTQD DPXE D FRVSVL PX E VLQSVL VWKPX FWK SDUWRIHTQE DWDXE D FRVSVL WDX E VLQSVL VWKWDX FWK SDUWRIHTQE SKLBQ UHDO% GLDJDPXE TH DWDXE G SDUWRIHTQE SKLBQ D KI JDP* N UKR SKLBQSDUWRIHTQD VLJPDBVV VY SKLBQ ( HTQD LI3W\SHa VLJPDBVV SKLBQ HQG
IRUSLH]RHOHFWULFPDWHULDOVHTQD
LI3W\SH!VLJPDBVV SKLBQ HQG
IRU0((PDWHULDOV
LI,FKHFN
&KHFNWKHFRUUHFWQHVVRIVLJPDDQGVLJPDYLDVLJPDBVV
VLJPDBVVF VLJPD FWKAVLJPD VWKA VLJPD FWK VWK KRRSVWUHVV GLI DEVVLJPDBVV VLJPDBVVF GLI VLJPDBVVF QDQ LI(W\SH
FKHFNWKHUHVXOWVRILVRWURSLFPDWHULDOVE\HTQ
VLJPDBVVF ( KI DOSKD DA DE VLQSVL N UKRA QX VY SKLBQ ( HTQ GLI DEVVLJPDBVVFVLJPDBVVF GLIIHUHQFHEHWZHHQWKHUHVXOWVIURP DQG HQG GLI GLIGLI VWU ^ >VLJPDBVVVLJPDBVVF@ >VLJPDBVVFVLJPDBVVF@ `VWULQJVLQWKHPHVVDJHRI,FKHFN
814
Appendix F: AEPH Source Code (Listed in Alphabetic Order) SULQW7)[L >VLJPDBVV VLJPDBVVF@>VLJPDBVVFVLJPDBVVF@GLIVWU SULQWPHVVDJHRI,FKHFN HQG HQG
F172: s1022crackUH IXQFWLRQ>XXBXBVLJPDVLJPDKHDW)7HPS@ VFUDFN8+ORDGVWU[LYN 6FUDFN8+FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVVWUHVVHVVWUHVVLQWHQVLW\IDFWRUVHQHUJ\UHOHDVHUDWH KHDWIOX[DQGWHPSHUDWXUHIRUDQDQLVRWURSLFSODWHFRQWDLQLQJDFUDFNVXEMHFWHGWR XQLIRUPKHDWIORZKLQWKHGLUHFWLRQRISRVLWLYH[D[LV XXBXBVLJPDVLJPDVLJPDBVVKHDW)7HPSORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DKDOIOHQJWKVRIWKHFUDFN KIXQLIRUPKHDWIORZLQWKHGLUHFWLRQRISRVLWLYH[D[LV HHH KI NLM L N NA H L D KI N GHILQHGLQHTQD B NN VTUWNLM NLM NLM A GHILQHGLQHTQD B NNN >NNN@N >NNN@NLMKHDWFRQGXFWLRQFRHIILFLHQWVHTQE TTTFRHIILFLHQWYHFWRUVGHILQHGLQHTQE B UJDPWVUHDOJDPWV ZKHUHJDPWV / F6
GL GHTQD L/LQYHUVHRI%DUQHWW/RWKHWHQVRU/ 6,)VWUHVVLQWHQVLW\IDFWRUV>.B,,.B,.B,,,@DQG>.B,,.B,.B,,,.B,9@IRUSLH]RHOHFWULFPDWHULDOV (1*HQHUJ\UHOHDVHUDWH JOREDO(W\SH3W\SH,FKHFN(HSVGLP$%FGPXWDX111NLMIURP0DLQSURJUDP JOREDO(QX IURPIXQFWLRQHODVWLF6+/@ 6WURKBPDWULFHV FDOFXODWHWKH%DUQHWW/RWKHWHQVRU6+/ >1WK1WK1L@ 6WURKBPDWULFHV FDOFXODWHVWKHVXELQYHUVHRI1LH1L TD UHDOH G TE 1L UHDOH 1 WDX H\HGLP G HTQE B 1 1 11 11 1 11 1 1 1 11
1 1RWH>1111 @ 1 1 9 1
TD1 TE UHDOH WDXA G SUHVWHSRIVROYLQJYIURPHTQ >1PM@ PD[DEV1 Y 9M 1M 9F Y 1 VROYLQJYIURPHTQ LIDEVPD[99F !HSV FKHFNZKHWKHUWKHVROXWLRQRIYLVFRUUHFW GLVS &RPSXWDWLRQDOHUURULQVROYLQJHTQ 99F HQG L ]HURVGLP L TE TEY L L/ LQY/ HTQE B TD D KI LPDJG N TE D KI L/ UHDOH\HGLP L 6 G N HTQ B TD D KI UHDO/ F6
G N TE D KI UHDO6 F+ G N
HTQ B
T $
TD%
TE T $
TD%
TE T $
TD%
TE HTQE B FDOFXODWHVWUHVVLQHWQVLW\IDFWRUVDQGHQHUJ\UHOHDVHUDWHHTQ JDPWV / F6
GL G HTQD UJDPWV UHDOJDPWV KDN VTUWSL KI DA N
Appendix F: AEPH Source Code (Listed in Alphabetic Order) 6,) KDN UJDPWV ( (1* KDNA UJDPWV
L/ UJDPWV ( HTQ B LI,FKHFN
(W\SH
&KHFNWKHUHVXOWVRILVRWURSLFPDWHULDOVE\HTQ
6,)F >VTUWSL ( DOSKD KI DA QX N @HTQ B (1*F SL ( DOSKD KI D A D QX QX NA HTQ B GLI PD[DEV6,)F6,) DEV(1*F(1* VWU ^ >6,)6,)F@ >(1*(1*F@ ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L >6,)6,)F@>(1*(1*F@GLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG LI3W\SHa 6,) 6,) (HQG
IRUSLH]RHOHFWULFPDWHULDOV
LI3W\SH!6,) 6,) (HQG
IRU0((PDWHULDOV
HQG ] [L [L PX]W [L [L WDX >]HWDWKHWDUKR@ PDS(3[LDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ >]HWDBWWKHWDUKR@ PDS(3[LDWDX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ D]HWD D ]HWD UD D]HWD] UW D ]HWDBW]W HTQ ORJD]HWDGLP ORJ] ORJ]HWDA ORJ HTQ B ORJD]HWDGLP ORJ]W ORJ]HWDBWA ORJ HTQ B I] GLDJ]A TGLDJ]]HWD TGLDJD ORJD]HWDGLP T HTQ B J] H ]WAH ]W]HWDBWD ORJD]HWDGLP HTQ B I]S GLDJ ] TGLDJ]UD ]HWD TGLDJDUD T HTQD B J]S H ]WH]HWDBW J]SS HHUW ]HWDBW HTQD B 7HPS UHDOJ]S KHDW) UHDONWDX N J]SS HTQD B X UHDO$ I]F J] SKL UHDO% I]G J] ( HTQD B XB UHDO$ I]SF J]S XB UHDO$ GLDJPX I]SF WDX J]S HTQG B VLJPD UHDO% GLDJPX I]SG WDX J]S ( VLJPD UHDO% I]SG J]S ( HTQG BF LI,FKHFN
[L
V[D VTUWDEV[L ADA LIDEV[L !D &KHFNVWUHVVDKHDGRIWKHFUDFNWLSE\HTQ VLJPDF [L UHDO% TG H DA KI UJDPWV N V[D ( HTQ GLI PD[DEVVLJPDFVLJPD VWU ^ VLJPD VLJPDF ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L VLJPDVLJPDFGLIVWU SULQWWKHPHVVDJHRI,FKHFN HOVH [LS >[L HSV@[LP >[L HSV@ ORDGVWU DORDGVWU ORDGVWU KI >XSXBXBVLJPDVLJPDVLJPDBVVKHDW)7HPS@ V(KROH8+ORDGVWU[LSYN >XPXBXBVLJPDVLJPDVLJPDBVVKHDW)7HPS@ V(KROH8+ORDGVWU[LPYN &2' XSXP &2'F KI [L V[D L/ UJDPWVN HTQ B GLI DEV&2'F&2' VWU ^ &2'F &2'F ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L &2'&2'FGLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG HQG
F173: s1031ERincluUH IXQFWLRQ>XXBXBVLJPDVLJPDVLJPDBVVVLJPDBQQVLJPDBVQKHDW)7HPS@ V(5LQFOX8+ORDGVWU[LYN
815
816
Appendix F: AEPH Source Code (Listed in Alphabetic Order) 6(5LQFOX8+FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVVWUHVVHVKHDWIOX[DQGWHPSHUDWXUHIRU DQDQLVRWURSLFSODWHFRQWDLQLQJDQHOOLSWLFDOULJLGLQFOXVLRQVXEMHFWHGWRXQLIRUPKHDWIORZK LQWKHGLUHFWLRQDWDQDQJOHYSKLZLWKWKHSRVLWLYH[D[LV XXBXBVLJPDVLJPDVLJPDBVVVLJPDBQQVLJPDBVQKHDW)7HPSORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEKDOIOHQJWKVRIWKHHOOLSWLFDOKROH KIXQLIRUPKHDWIORZLQWKHGLUHFWLRQRISRVLWLYH[D[LV PDPWPD DL PX EPW DL WDX EGHILQHGLQHTQD B JDJWJD DL E PX DL E PX JW DL E WDX DL E WDX HTQF B HHFRQVWDQWVGHILQHGLQHTQ NN VTUWNLM NLM NLM A GHILQHGLQHTQD B NNN >NNN@N >NNN@NLMKHDWFRQGXFWLRQFRHIILFLHQWVHTQE TTTFRHIILFLHQWYHFWRUVGHILQHGLQHTQ B TDVTEVFRHIILFLHQWYHFWRUVTDAVWDUDQGTEAVWDUGHILQHGLQHTQF 6+%DUQHWW/RWKHWHQVRUVFDOFXODWHGE\IXQFWLRQ6WURKBPDWULFHV +LLQYHUVHRI%DUQHWW/RWKHWHQVRU+ JOREDO3W\SH2W\SH,FKHFN(HSVGLP$%FGPXWDX1111NLMIURP0DLQSURJUDP JOREDODEKIPDPWJDJWHHNNNTTTTDVTEV6++L JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
D ORDGVWU E ORDGVWU DEKDOIOHQJWKVRIWKHHOOLSWLFDOULJLGLQFOXVLRQ KI ORDGVWU YSKL ORDGVWU SLXQLIRUPKHDWIORZKILQWKHGLUHFWLRQZLWKDQJOHYSKL)LJXUH XQLWRIYSKLGHJUHHLQSXW UDGLDQWUDQVIRUPWRUDGLDQIRUWKHIROORZLQJFRGLQJ PD DL PX E PW DL WDX E HTQD B JD DL E PX DL E PX JW DL E WDX DL E WDX HTQF B N VTUWNLM NLM NLM A HTQD B H KI FRVYSKL FRQMWDX VLQYSKL N LPDJWDX H KI E FRVYSKL L D VLQYSKL N N NLM N NLM HTQE >6+/@ 6WURKBPDWULFHV +L LQY+ FDOFXODWHV%DUQHWW/RWKHWHQVRUV6+/DQGLQYHUVHRI+ >1WK1WK1L@ 6WURKBPDWULFHV FDOFXODWHVWKHVXELQYHUVHRI1LH1L 1WL >6+/6 @ H[WHQGHGV\PERO RI6HFWLRQ TD UHDOH G TE UHDOH 1L 1 WDX H\HGLP G HTQE B 1 1 11 11 1 11 1 1 1 11
1 1RWH>1111 @ 1 1 9 1
TD1 TE UHDOH WDXA G SUHVWHSRIVROYLQJYIURPHTQ >1PM@ PD[DEV1 Y 9M 1M 9F Y 1 VROYLQJYIURPHTQ LIDEVPD[99F !HSV FKHFNZKHWKHUWKHVROXWLRQRIYLVFRUUHFW GLVS &RPSXWDWLRQDOHUURULQVROYLQJHTQ 99F HQG L ]HURVGLP L TE TEY L HTQE B TEV UHDOH DAWDX E A F EA 1 TDDA H\HGLP EA 1 TE HTQF B TDV UHDOD E WDX H F D E 1 TD1 TE HTQF B TFV UHDOH DL E WDX F TEV TGV UHDOL H DL E WDX F TDV HTQE TED LQYD 1WLE 1 >TGV+L TFV6 TGV @ HTQD TED LQYD 1WLE 1 LPDJH DL E WDX >FG@ HTQG TE TEDGLP TD TEDGLP GLP TE TEDGLP TD TEDGLP GLP D G T $
TD%
TE T $
TD%
TE T $
TD%
TE HQG ] [L [L PX]W [L [L WDX
HTQ B
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
817
>]HWDWKHWDUKR@ PDS(3[LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ >]HWDBWWKHWDUKR@ PDS(3[LDEDWDX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ LIDEV]HWD ! HSV HSVWRDOORZWKHQXPHULFDOURXQGLQJHUURUQHDUWKHERXQGDU\ZKHQFDOFXODWLQJ]HWD P]HWD PD ]HWD P]HWDBW PW ]HWDBW UD P]HWD] UW P]HWDBW]W HTQ ORJP]HWDGLP ORJ] ORJJD]HWDA ORJ HTQ B ORJP]HWDGLP ORJ]W ORJJW]HWDBWA ORJ HTQ B I] GLDJ]A TGLDJ]]HWD TGLDJPD ORJP]HWDGLP T HTQ B J] H ]WAH ]W]HWDBWPW ORJP]HWDGLP HTQ B I]S GLDJ] TGLDJ]UD ]HWD TGLDJPDUD T HTQD J]S H ]WH]HWDBW J]SS HHUW ]HWDBW HTQD 7HPS UHDOJ]S KHDW) UHDONWDX N J]SS HTQD B X UHDO$ I]F J] SKL UHDO% I]G J] ( HTQD B XB UHDO$ I]SF J]S XB UHDO$ GLDJPX I]SF WDX J]S HTQG B VLJPD UHDO% GLDJPX I]SG WDX J]S ( VLJPD UHDO% I]SG J]S ( HTQG BF HOVH X QDQ RQHVGLP XB QDQ RQHVGLP XB QDQ RQHVGLP VLJPD QDQ RQHVGLP VLJPD QDQ RQHVGLP KHDW) QDQ RQHVGLP 7HPS QDQ HQG FDOFXODWHLQWHUIDFLDOVWUHVVHVVLJPDBVVVLJPDBQQVLJPDBVQDORQJWKHLQFOXVLRQERXQGDU\HTQ VLJPDBVV QDQVLJPDBQQ QDQVLJPDBVQ QDQ GHIDXOWRIVLJPDBVVVLJPDBQQVLJPDBVQ LIDEVDEV]HWD HSV 2W\SH
_2W\SH
_2W\SH
_2W\SH
GDWDRQWKHLQFOXVLRQERXQGDU\
SVL [L SL FKDQJHGHJUHHWRUDGLDQ >]HWDWKHWDUKR@ PDS(3[LSVLDEDPX FDOFXODWHWKHWDQJHQWLDODQJOHWKHWDHTQ JDPWV 6 F+ GL F HTQD B >JDPWKJDPWK@ VBJDPPDWKHWD FDOFXDOWHVJDPWKDQGJDPWV >1WK1WK1WK@ 6WURKBPDWULFHVWKHWD FDOFXODWHWKH6WURKPDWULFHV1WK1WK1WK FWK FRVWKHWD VWK VLQWKHWD VY >FWKVWK@QY >VWKFWK@ WDQJHQWDQGQRUPDOGLUHFWLRQVE LI3W\SHa VY >VY@QY >QY@HQG
IRUSLH]RHOHFWULFRU0((PDWHULDOV
LI3W\SH!VY >VY@QY >QY@HQG
IRU0((PDWHULDOV
SKLBV +L UHDOH[S L SVL L H DL E WDX JDPWV6L H\HGLP TDVL TEV UKR HTQ B SKLBQ 1WK
+L UHDOH[S L SVL L H DL E WDX JDPWV UKR UHDOH H[SL SVL JDPWK WKHILUVWWZRWHUPVRIHT B UHDOH[S L SVL 1WK
+L 61WKL 1WK
+L TDVL TEV UKR HTQ B VLJPDBVV VY SKLBQ ( VLJPDBQQ QY SKLBV ( VLJPDBVQ VY SKLBV ( HTQD LI3W\SHa VLJPDBVV SKLBQ HQG
HTQD BIRUSLH]RHOHFWULFRU0((PDWHULDOV
LI3W\SH!VLJPDBVV SKLBQ HQG
IRU0((PDWHULDOV
LI,FKHFN
VLJPDBVVF VLJPD FWKAVLJPD VWKA VLJPD FWK VWK VLJPDBQQF VLJPD VWKAVLJPD FWKA VLJPD FWK VWK VLJPDBVQF VWK FWK VLJPD VLJPD FWKAVWKA VLJPD VLJPDBVQF QY SKLBQ ( &KHFNWKHHTXDOLW\RIVY SKLBV QY SKLBQHTQD GLI DEVVLJPDBVV VLJPDBVVF GLI DEVVLJPDBQQVLJPDBQQF GLI DEVVLJPDBVQVLJPDBVQF GLI DEVVLJPDBVQVLJPDBVQF GLI GLIGLIGLIGLI VWU ^ >VLJPDBVVVLJPDBVVFVLJPDBQQVLJPDBQQF@ >VLJPDBVQVLJPDBVQFVLJPDBVQF@ ` VWULQJVIRU,FKHFN SULQW7)[L>VLJPDBVVVLJPDBVVFVLJPDBQQVLJPDBQQF@>VLJPDBVQVLJPDBVQFVLJPDBVQF@GLIVWU SULQWPHVVDJH HQG HQG
818
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
F174: s1032RLincluUH IXQFWLRQ>XXBXBVLJPDVLJPDKHDW)7HPS@ V5/LQFOX8+ORDGVWU[LYN 65/LQFOX8+FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVVWUHVVHVVWUHVVLQWHQVLW\IDFWRUV KHDWIOX[DQGWHPSHUDWXUHIRUDQDQLVRWURSLFSODWHFRQWDLQLQJDULJLGOLQHLQFOXVLRQVXEMHFWHGWR XQLIRUPKHDWIORZKLQWKHGLUHFWLRQDWDQDQJOHYSKLZLWKWKHSRVLWLYH[D[LV XXBXBVLJPDVLJPDKHDW)7HPSORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DKDOIOHQJWKVRIWKHULJLGOLQHLQFOXVLRQ KIXQLIRUPKHDWIORZKILQWKHGLUHFWLRQDWDQDQJOHYSKLZLWKWKHSRVLWLYH[D[LV HHFRQVWDQWVGHILQHGLQHTQ NN VTUWNLM NLM NLM A GHILQHGLQHTQD B NNN >NNN@N >NNN@NLMKHDWFRQGXFWLRQFRHIILFLHQWVHTQE TTTFRHIILFLHQWYHFWRUVGHILQHGLQHTQ B TDTDHTQ B 6,)VWUHVVLQWHQVLW\IDFWRUV>.B,,.B,.B,,,@DQG>.B,,.B,.B,,,.B,9@IRUSLH]RHOHFWULFPDWHULDOV JOREDO3W\SH,FKHFN(HSVGLP$%FGPXWDX111NLMIURP0DLQSURJUDP JOREDODKIHHNNNTTTTDTD6,) JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
D ORDGVWU DKDOIOHQJWKVRIWKHULJLGOLQHLQFOXVLRQ KI ORDGVWU YSKL ORDGVWU SLXQLIRUPKHDWIORZKLQWKHGLUHFWLRQDWDQDQJOHYSKLZLWKWKHSRVLWLYH[D[LV XQLWRIYSKLGHJUHHLQSXW UDGLDQWUDQVIRUPWRUDGLDQIRUWKHIROORZLQJFRGLQJ N VTUWNLM NLM NLM A HTQD B H KI FRVYSKL FRQMWDX VLQYSKL N LPDJWDX H KI L D VLQYSKL N HTQ N NLM N NLM HTQE >6+/@ 6WURKBPDWULFHV +L LQY+ FDOFXODWHV%DUQHWW/RWKHWHQVRUV6+/DQGLQYHUVHRI+ >1WK1WK1L@ 6WURKBPDWULFHV FDOFXODWHVWKHVXELQYHUVHRI1LH1L 1WL >6+/6 @ H[WHQGHGV\PERO RI6HFWLRQ TD UHDOH G TE UHDOH 1L 1 WDX H\HGLP G HTQE B 1 1 11 11 1 11 1 1 1 11
1 1RWH>1111 @ 1 1 9 1
TD1 TE UHDOH WDXA G SUHVWHSRIVROYLQJYIURPHTQ >1PM@ PD[DEV1 Y 9M 1M 9F Y 1 VROYLQJYIURPHTQ LIDEVPD[99F !HSV FKHFNZKHWKHUWKHVROXWLRQRIYLVFRUUHFW GLVS &RPSXWDWLRQDOHUURULQVROYLQJHTQ 99F HQG L ]HURVGLP L TE TEY L HTQE B TD UHDO+L D HH 6L H H\HGLP F D +L 6 TE HTQ B TE UHDOD HH F D TE HTQ B TD UHDOL H / F6
G TE UHDOL H 6 F+ G HTQ B T $
TD%
TE T $
TD%
TE T $
TD%
TE
HTQ B
6,) VTUWSL D TDTD ( HTQ LI3W\SHa 6,) 6,) (HQG
IRUSLH]RHOHFWULFDQG0((PDWHULDOV
LI3W\SH!6,) 6,) (HQG
IRU0((PDWHULDOV
HQG ] [L [L PX]W [L [L WDX >]HWDWKHWDUKR@ PDS(3[LDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ
Appendix F: AEPH Source Code (Listed in Alphabetic Order) >]HWDBWWKHWDUKR@ PDS(3[LDWDX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ D]HWD D ]HWD UD D]HWD] UW D ]HWDBW]W HTQ ORJD]HWDGLP ORJ] ORJ]HWDA ORJ HTQ B ORJD]HWDGLP ORJ]W ORJ]HWDBWA ORJ HTQ B I] GLDJ]A TGLDJ]]HWD TGLDJD ORJD]HWDGLP T HTQ B J] H ]WAH ]W]HWDBWD ORJD]HWDGLP HTQ B I]S GLDJ] TGLDJ]UD ]HWD TGLDJDUD T HTQD B J]S H ]WH]HWDBW J]SS HHUW ]HWDBW HTQD B 7HPS UHDOJ]S KHDW) UHDONWDX N J]SS HTQD B X UHDO$ I]F J] SKL UHDO% I]G J] ( HTQD B XB UHDO$ I]SF J]S XB UHDO$ GLDJPX I]SF WDX J]S HTQG B VLJPD UHDO% GLDJPX I]SG WDX J]S ( VLJPD UHDO% I]SG J]S ( HTQG BF LI,FKHFN
[L
DEV[L !D &KHFNVWUHVVDKHDGRIWKHFUDFNWLSE\HTQ
V[D VTUW[L ADA D[V D[L V[D VLJPDF [L UHDO% TH G D[V TD UHDOH G D TDTD V[D ( HTQ GLI PD[DEVVLJPDFVLJPD VWU ^ VLJPD VLJPDF ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[LVLJPDVLJPDFGLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG
F175: s1042IFcrackUH IXQFWLRQ>XXBXBVLJPDVLJPDKHDW)7HPS@ V,)FUDFN8+ORDGVWU[LYN 6,)FUDFN8+FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVVWUHVVHVKHDWIOX[DQGWHPSHUDWXUH IRUDILQLWHLQWHUIDFHFUDFNVXEMHFWHGWRDXQLIRUPKHDWIORZ XXBXBVLJPDVLJPDVLJPDBVVKHDW)7HPSORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DKDOIOHQJWKVRIWKHLQWHUIDFHFUDFN KIXQLIRUPKHDWIORZLQWKHGLUHFWLRQRISRVLWLYH[D[LV WW >W W W @LQWHQVLW\RIXQLIRUPORDGLQ[\]GLUHFWLRQV GHOWD/DPVLQJXODURUGHUVGHOWDDQGPDWUL[RIHLJHQIXQFWLRQ/DPGDFDOFXODWHGE\IXQFWLRQVBGHO/DP NNNRIPDWHULDOVDQGZKHUHN VTUWNLM NLM NLM A HTQD B WVWAVWDUYHFWRUUHODWHGWRWGHILQHGLQHTQE B KVKV KI NN N N HTQF B HVHVYHFWRUVUHODWHGWRHDQGHGHILQHGLQHTQE B %L%LLQYHUVHRI%DQG%ZKHUH%%PDWHULDOHLJHQYHFWRUPDWULFHVRIPDWHULDODQG %/%L /DPSDUWRIHTQF %0/%L FRQM0VL 0V /DPSDUWRIHTQF SSFRHIILFLHQWYHFWRUVGHILQHGLQHTQF JOREDO3W\SH,FKHFN(GLP$BD%BDFBDGBDPXBDNLMBDWDXBD IURP0DLQSURJUDP JOREDODKIWGHOWD/DPNNWVKVHVHV%L%L%/%0/SS JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! QB*DXVV QXPEHURI*DXVVSRLQWVLVVHWWREH LIYN
D ORDGVWU KDOIOHQJWKRIWKHLQWHUIDFHFUDFN KI ORDGVWU XQLIRUPKHDWIORZLQWKHGLUHFWLRQRISRVLWLYH[D[LV W ORDGVWU ( LQWHQVLW\RIXQLIRUPORDGLQ[\]GLUHFWLRQV LI3W\SHa W ORDGVWU HQG
>WWWW@IRUSLH]RHOHFWULFRU0((PDWHULDOV
819
820
Appendix F: AEPH Source Code (Listed in Alphabetic Order) LI3W\SH!W ORDGVWU HQG
>WWWWW@IRU0((PDWHULDOV
>GHOWD/DP@ VBGHO/DP FDOFXODWHGHOWD/DPGD $ $BD $ $BD % %BD % %BD F FBD F FBD G GBD G GBD %L LQY% %L LQY% :KHQ\RXKDYHUHSHDWHGURRWVIRUWKHPDWHULDOHLJHQYDOXHVPX\RXPD\KDYHWURXEOHWRJHW WKHVWDEOHYDOXHIRUWKHPDWHULDOHLJHQYHFWRUPDWUL[$DQG%,QWKDWFDVHWKHLQYHUVHRI%DQG%PD\EHZURQJ 7RVROYHWKLVNLQGRISUREOHPWU\WRILQGDSURSHUVPDOOSHUWXUEHGYDOXHIRUWKHPDWHULDOSURSHUWLHV 0L L $ %L0FL L FRQM$ %L 0FL L FRQM$ %L 0V 0L0FL0VL LQY0V H[WHQGHGV\PERO RIVHFWLRQ N VTUWNLMBD NLMBD NLMBD A HTQD B N VTUWNLMBD NLMBD NLMBD A HTQD B FV N FN FRQMF GV N GN FRQMG HTQE H L 0VL FVL 0FL GV N G NN HTQD B H L FRQM0VL FRQMFV L 0FL FRQMGV N G NN HTQD B /0L LQY/DP LQYH\HGLP FRQM0VL 0V SDUWRIHTQE B :KHQGHOWDKDYHUHSHDWHGURRW\RXPD\KDYHWURXEOHDERXWLQY/DP ,QWKDWFDVHWU\WRILQGDSURSHUVPDOOSHUWXUEHGYDOXHIRUWKHPDWHULDOSURSHUWLHV WV /0L W HV /0L H HV /0L H HTQE B KV KI NN N N HTQF B %PL %L FRQM0VL 0V HTQF B %/ %L /DP%0/ %PL /DP SDUWRIHTQF S %L N GNN H S %PL N GNN H HTQF HQG LI[L ! LP %/ %/S SNU NNN HTQ HOVH LP %/ %0/S SNU NNN HTQ HQG PX PXBDLP WDX WDXBDLP $ $BDLP % %BDLP F FBDLP G GBDLP ] [L [L PX]W [L [L WDX NY >NLMBDLP NLMBDLP NLMBDLP @ HTQE NY >NLMBDLP NLMBDLP NLMBDLP @ HTQE >I]S@ VBI]S]DGHOWDKVS%/WVHVHV VT]W VTUW]WD VTUW]WD HTQ J]S L KV NU ]WVT]W HTQD BD B J]SS L KV NU ]WVT]W HTQD BD B J] L KV NU ]WA]W VT]WDA ORJ]WVT]W HTQ FKHFNWKHGLVFRQWLQXLW\SUREOHPRIORJIXQFWLRQ >[JZJ@ *DXVVQB*DXVV IRUWKHSXUSRVHRILQWHJUDWLRQ I] ]HURVGLP IRULJ QB*DXVV LQWHJUDWLRQE\*DXVVTXDGUDWXUHUXOHHTQ ]J [JLJ ] >I]SBJ@ VBI]S]JDGHOWDKVS%/WVHVHV HTQD B I] I]I]SBJ ] ZJLJ HQG 7HPS UHDOJ]S KHDW) UHDONYWDX NY J]SS HTQD B X UHDO$ I]F J] SKL UHDO% I]G J] ( HTQD B
Appendix F: AEPH Source Code (Listed in Alphabetic Order) XB UHDO$ I]SF J]S XB UHDO$ GLDJPX I]SF WDX J]S HTQG B VLJPD UHDO% GLDJPX I]SG WDX J]S ( VLJPD UHDO% I]SG J]S (HTQG BF LI,FKHFN
KI
FKHFNWKHUHVXOWVZLWKVB,)FUDFN8/ZKHQK
ORDGVWUB D ORDGVWUB ORDGVWUBHQG ORDGVWUHQG >XFXBFXBFVLJPDFVLJPDF@ VB,)FUDFN8/ORDGVWUB[LYN GLI DEVXFX XBFXB XBFXB VLJPDFVLJPD VLJPDFVLJPD VWU ^ >XXFXBXBFXBXBF@ >VLJPDVLJPDFVLJPDVLJPDF@ ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L>XXFXBXBFXBXBF@>VLJPDVLJPDFVLJPDVLJPDF@GLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG IXQFWLRQ>I]S@ VBI]S]DGHOWDKVS%/WVHVHV JOREDOGLP IURP0DLQSURJUDPGLPHQVLRQRIPDWHULDOHLJHQYHFWRUPDWUL[$ I]S L KV GLDJ]VTUW]D VTUW]D S ODVWWHUPRIHTQD B IRUN GLP ;]N ]D AGHOWDN ]D AGHOWDN HTQG - ] L D LPDJGHOWDN ;]N HTQE B - ]VTUW]ADA DA ;]N HTQE B - ]VTUW]ADA ]A DA ;]N HTQE B I]S I]SGLDJ- %/N WVN L KV GLDJ- %/N HVN GLDJ- %/N HVN HTQD B HQG
F176: s1052MwedgeTH IXQFWLRQ>+($77(03@ V0ZHGJH7+ORDGVWU[LYN 60ZHGJH7+FDOFXODWHVWKHRUGHUVRIVWUHVVVLQJXODULW\DQGWKHLU DVVRFLDWHGHLJHQIXQFWLRQVIRUSUREOHPVRIPXOWLPDWHULDOZHGJHVXQGHUWKHUPDOHQYLURQPHQW +($7HLJHQIXQFWLRQVRIKHDWIOX[KHDW)M M QGHO 7(03WHPSHUDWXUH7HPSM DVVRFLDWHGZLWKGHOWDBWM KHDW)7HPSORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ ZEFERXQGDU\FRQGLWLRQRIWKHPXOWLPDWHULDOZHGJH EFWWKHUPDOERXQGDU\FRQGLWLRQRIWKHPXOWLPDWHULDOZHGJH WKNORFDWLRQRIZHGJHVLGHVWKN WKN WKNQ LQSXWXQLWGHJUHH QGHOQXPEHURIKHDWIOX[VLQJXODURUGHUV GHOWDRUGHUVRIVWUHVVVLQJXODULW\DGLP YHFWRU GHOWDBWRUGHUVRIKHDWIOX[VLQJXODULW\ JOREDO1PDW3W\SH(HSVPXPXBD$%$BD%BDNLMWDXNLMBDWDXBDGLPILG IURP0DLQSURJUDP JOREDOZEFEFWWKNQGHOGHOWDGHOWDBW JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LI1PDW LIYN
PXBD PX$BD $%BD %HQG
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
EFW ORDGVWU WKHUPDOERXQGDU\FRQGLWLRQRIWKHPXOWLPDWHULDOZHGJH EFW ZHGJHVSDFHEFW LQVXODWHGLVRWKHUPDOEFW LVRWKHUPDOLVRWKHUPDO EFW LQVXODWHGLQVXODWHGEFW LVRWKHUPDOLQVXODWHG ZEF ORDGVWU ERXQGDU\FRQGLWLRQRIWKHPXOWLPDWHULDOZHGJH ZEF ZHGJHVSDFHZEF IUHHIL[HGZEF IL[HGIL[HGZEF IUHHIUHHZEF IL[HGIUHH WKN ORDGVWU1PDW SL ZHGJHORFDWLRQWKN WKN WKNQ XQLWGHJUHHFRQYHUWHGWRUDGLDQ WKNFRPSDUHZLWKWKHV\PEROXVHGLQ)LJDQG)LJWKN VWDQGVIRUWKHWDWKN WKHWDHWF 1G ORDGVWU G ORDGVWU G ORDGVWU G ORDGVWU
821
822
Appendix F: AEPH Source Code (Listed in Alphabetic Order) G72/ ORDGVWU I72/ ORDGVWU 0D[L ORDGVWU 1GWULDOQXPEHURIURRWVVXJJHVWHGYDOXHURRWVVLQJXODURUGHUV GGGWKUHHLQLWLDOJXHVVHVRIWKHVLQJXODURUGHUGHOWDVXJJHVWHGYDOXHV G72/FRQYHUJHQFHWROHUDQFHIRUYDULDEOHGHOWDVXJJHVWHGYDOXHA GHOWDVLQEJXODURUGHU I72/FRQYHUJHQFHWROHUDQFHIRUWKHGHWHUPLQDQWRI.HVXJJHVWHGYDOXHA.HVHHHTQ 0D[LPD[LPXPQXPEHURILWHUDWLRQXVHGLQ0XOOHU VPHWKRGVXJJHVWHGYDOXH ORDGVWU ORDGVWU SUHSDUHWKHGDWDIRUIXQFWLRQV0ZHGJH62(VHH [L [L FDOFXODWH?/DPGDE\OHWWLQJ[L ZKRVH?WKHWD >9WK9WKS/DPWK/DPWKSGHOWD@ V0ZHGJH62(ORDGVWU[L QRQWKHUPDOVLQJXODURUGHUVDQGHLJHQIXQFWLRQV VG 1GQGHO VGLQFUHPHQWRILQLWLDOJXHVVQGHOQXPEHURIVLQJXODURUGHUVVHWWR]HURLQLWLDOO\ GHOWDBW G GG GG G VHDUFKWKHURRWVLQWKHUDQJHRI IRUN 1G >[]HURI.LWHU@ PXOOHUGGGG72/I72/0D[L ILQGURRWWKURXJKPXOOHU VPHWKRG GH DEV[]HUR []HUR GH DEVPLQ[]HURGHOWDBW GHWKHGLIIHUHQFHZLWKGHOWD RUGHWKHPLQLPXPGLIIHUHQFHZLWKWKHSUHYLRXVIRXQGGHOWD LI[]HUR []HUR! DEVI. I72/ GH! G72/ GH!G72/ QGHO QGHOGHOWDBWQGHO []HUR GHOWDBWYHFWRURIVLQJXODURUGHUVQGHOQXPEHURIVLQJXODURUGHUV HQG G GVGG GVGG GVG FKDQJHDQHZVHWRIWKHLQLWLDOJXHVVHVIRUPXOOHU VPHWKRG HQG GHOWDGHOWDBWYHFWRURIVLQJXODURUGHUVZKLFKDUHFDOFXODWHGZKHQYN DQGZLOONHHSXQFKDQJHGIRUDOOYN LIQGHO! ISULQWI QXPEHURIVLQJXODURUGHUVFDXVHGE\WKHUPDOHIIHFWV GLVQRWDVH[SHFWHGWREHOHVVWKDQ QGHO HQG VWU ^ ?U?Q2UGHUVRIKHDWIOX[VLQJXODULW\?U?Q eBK eBK ` IRUM QGHOGW5,M >UHDOGHOWDBWM LPDJGHOWDBWM @HQG SULQW7)ILG>@>@GW5, VWUQGHO HQG [V [L FRVWKN [L VLQWKN [V [L VLQWKN [L FRVWKN U VTUW[VA[VA LIU LI[VWKV SLWKVHQG
U UHSVHQGWKV DFRV[VU XVLQJWKHUDQJHJLYHQLQHTQ WKV SL
WK WKN WKV WKLVORFDWHGEHWZHHQWKN DQGWKN SLLHWKN WK WKN SL IRULP 1PDW GWK WKWKNLP GWK WKWKNLP LIGWK! GWK LWK LPEUHDN WKHORFDWLRQZHGJHQXPEHU LWK RIWKHDQJOHWKHWD HQG HQG IRUM QGHO GHO GHOWDBWM >YZ@ PXOWLZHGJHGHO FDOFXODWHYDQGZRIHTQ >(.H(.HS@ PXOWLZHGJHGHOWK (.H (N .H(.HS GHULYDWLYHRI(.HHTQD B >*.7*.7S@ PXOWLZHGJHGHOWK *.7 *DPN .7*.7S GHULYDWLYHRI*.7HTQD B >).7).7S@ PXOWLZHGJHGHOWK ).7 )N .7(.7S GHULYDWLYHRI).7HTQD B >(.F(.FS@ PXOWLZHGJHGHOWK (.F (N .F(.FS GHULYDWLYHRI(.FHTQD B YBNM UAGHO *.7 Y HTQD B
Appendix F: AEPH Source Code (Listed in Alphabetic Order) ZNM UAGHO ).7(.F Y(.H Z HTQD B ZNSM UAGHO ).7S(.FS Y(.HS Z GHULYDWLYHRIZNHTQD B LI1PDW
NLM NLMWDX WDX
HOVHNLM NLMBDLWK WDX WDXBDLWK HQG N VTUWNLM NLM NLM A HTQD B N NLMGLP N NLMGLP HTQE JWK NWDX N FRVWK WDX VLQWK HTQE 7(03M U YBNM GHO HTQ +($7M >UHDOJWK LPDJJWK N@ YBNM HTQD XM ZNGLPM SKLM ZNGLP GLPM ( ZNBUM ZNM GHO U XBM ZNBUGLPM FRVWK ZNSGLPM VLQWK U HTQ B XBM ZNBUGLPM VLQWK ZNSGLPM FRVWK U HTQ B VLJPDM ZNBUGLP GLPM VLQWK ZNSGLP GLPM FRVWK U ( HTQ B F VLJPDM ZNBUGLP GLPM FRVWK ZNSGLP GLPM VLQWK U ( HTQ B SULQWWKHHLJHQIXQFWLRQVDVVRFLDWHGZLWKWKHMWKVLQJXODURUGHU 7(03Q >7(03M QDQQDQ@ LI3W\SHa 7(03Q >7(03QQDQ@HQG LI3W\SH!7(03Q >7(03QQDQ@HQG XV7+ >XM XBM XBM VLJPDM VLJPDM +($7M 7(03Q@ ISULQWIILG ?U?Q(LJHQIXQFWLRQVDWWKHWD IDVVRFLDWHGZLWKGWKVLQJXODURUGHU?U?Q WKM ISULQWIILG ?U?QVVVVVVV?U?Q X XB XB VLJPD VLJPD +($7 7(03 ISULQWIILG ?U?QHHHHHHH?U?Q XV7+ HQG
F177: s1131piezoEhole IXQFWLRQ>XXBXBVLJPDVLJPDVLJPDBVV@ VSLH]R(KROHORDGVWU[LYN 6SLH]R(KROHFDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRUDSLH]RHOHFWULF0((SODWH FRQWDLQLQJDQHOOLSWLFDOKROHVXEMHFWHGWRORDGLQJFRQGLWLRQVFDWHJRUL]HG E\/W\SHRIWKHFRUUHVSRQGLQJDQLVRWURSLFHODVWLFSUREOHP XXBXBVLJPDVLJPDVLJPDBVVORDGVWU[LYNH[SODLQHGLQIXQFWLRQBXSKLBEDQN (+W\SH ORDGVWU (+W\SH /W\SHRIWKHFRUUHVSRQGLQJDQLVRWURSLFHODVWLFSUREOHP ORDGVWU ORDGVWUHQG VDPHLQSXWDV/W\SH RU VZLWFK(+W\SH W\SHRIORDGLQJFRQGLWLRQIRUWKHSUREOHPZLWKDQHOOLSWLFDOKROH FDVH XQLIRUPORDGDWLQILQLW\HTQ >XXBXBVLJPDVLJPDVLJPDBVV@ V(KROH8/ORDGVWU[LYN FDVH LQSODQHEHQGLQJDWLQILQLW\HTQ >XXBXBVLJPDVLJPDVLJPDBVV@ V(KROH,%ORDGVWU[LYN FDVH DUELWUDU\ORDGDORQJWKHKROHERXQGDU\HTQ >XXBXBVLJPDVLJPDVLJPDBVV@ V(KROH$/ORDGVWU[LYN FDVH SRLQWIRUFHDWDQDUELWUDU\ORFDWLRQHTQ >XXBXBVLJPDVLJPDVLJPDBVV@ V(KROH3)ORDGVWU[LYN FDVH GLVORFDWLRQDWDQDUELWUDU\ORFDWLRQHTQ >XXBXBVLJPDVLJPDVLJPDBVV@ V(KROH'/ORDGVWU[LYN HQG
F178: s1132piezoPhole IXQFWLRQ>XXBXBVLJPDVLJPDVLJPDBVV@ VSLH]R3KROHORDGVWU[LYN
823
824
Appendix F: AEPH Source Code (Listed in Alphabetic Order) 6SLH]R3KROHFDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRUDSLH]RHOHFWULF0((SODWH FRQWDLQLQJDSRO\JRQOLNHKROHVXEMHFWHGWRORDGLQJFRQGLWLRQVFDWHJRUL]HGE\ /W\SHRIWKHFRUUHVSRQGLQJDQLVRWURSLFHODVWLFSUREOHP XXBXBVLJPDVLJPDVLJPDBVVORDGVWU[LYNH[SODLQHGLQIXQFWLRQBXSKLBEDQN 3+W\SH ORDGVWU 3+W\SH /W\SHRIWKHFRUUHVSRQGLQJDQLVRWURSLFHODVWLFSUREOHP ORDGVWU ORDGVWUHQG VDPHLQSXWDV/W\SH RU VZLWFK3+W\SH W\SHRIORDGLQJFRQGLWLRQIRUWKHSUREOHPZLWKDSRO\JRQOLNHKROH FDVH XQLIRUPORDGDWLQILQLW\HTQ >XXBXBVLJPDVLJPDVLJPDBVV@ V3KROH8/ORDGVWU[LYN FDVH LQSODQHEHQGLQJDWLQILQLW\HTQ >XXBXBVLJPDVLJPDVLJPDBVV@ V3KROH,%ORDGVWU[LYN HQG
F179: s1161piezoCOcrack IXQFWLRQ>XXBXBVLJPDVLJPD@ VSLH]R&2FUDFNORDGVWU[LYN 6SLH]R&2FUDFNFDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRUDSLH]RHOHFWULF0((SODWH FRQWDLQLQJFROOLQHDUFUDFNVVXEMHFWHGWRORDGLQJFRQGLWLRQVFDWHJRUL]HGE\ /W\SHRIWKHFRUUHVSRQGLQJDQLVRWURSLFHODVWLFSUREOHP XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQBXSKLBEDQN &2W\SH ORDGVWU &2W\SH /W\SHRIWKHFRUUHVSRQGLQJDQLVRWURSLFHODVWLFSUREOHP ORDGVWU ORDGVWUHQG VDPHLQSXWDV/W\SH RU VZLWFK&2W\SH W\SHRIORDGLQJFRQGLWLRQIRUWKHSUREOHPZLWKFROOLQHDUFUDFNV FDVH DVLQJOHFUDFNVXEMHFWHGWRXQLIRUPORDGLQGXFWLRQDWLQILQW\ >XXBXBVLJPDVLJPD@ VFUDFN8/ORDGVWU[LYN FDVH DFUDFNVXEMHFWHGWRDUELWUDU\ORDGLQGXFWLRQRQWKHFUDFNVXUIDFH >XXBXBVLJPDVLJPD@ VFUDFN$/ORDGVWU[LYN FDVH DFUDFNVXEMHFWHGWRSRLQWIRUFHFKDUJHDWDUELWUDU\ORFDWLRQ >XXBXBVLJPDVLJPD@ VFUDFN3)ORDGVWU[LYN FDVH WZRFROOLQHDUFUDFNVVXEMHFWHGWRXQLIRUPORDGLQGXFWLRQDWLQILQW\ >XXBXBVLJPDVLJPD@ V&2FUDFN8/ORDGVWU[LYN FDVH FROOLQHDUSHULRGLFFUDFNVVXEMHFWHGWRXQLIRUPORDGLQGXFWLRQDWLQILQW\ >XXBXBVLJPDVLJPD@ V&23FUDFN8/ORDGVWU[LYN HQG
F180: s1162piezoIFcrack IXQFWLRQ>XXBXBVLJPDVLJPD@ VSLH]R,)FUDFNORDGVWU[LYN 6SLH]R,)FUDFNFDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRUDSLH]RHOHFWULF0((SODWH FRQWDLQLQJFROOLQHDULQWHUIDFHFUDFNVVXEMHFWHGWRORDGLQJFRQGLWLRQVFDWHJRUL]HGE\ /W\SHRIWKHFRUUHVSRQGLQJDQLVRWURSLFHODVWLFSUREOHP XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQBXSKLBEDQN ,)W\SH ORDGVWU ,)W\SH /W\SHRIWKHFRUUHVSRQGLQJDQLVRWURSLFHODVWLFSUREOHP ORDGVWU ORDGVWUHQG VDPHLQSXWDV/W\SH RU VZLWFK,)W\SH W\SHRIORDGLQJFRQGLWLRQIRUWKHSUREOHPZLWKLQWHUIDFHFUDFNV FDVH $VHPLLQILQLWHLQWHUIDFHFUDFNVXEMHFWHGWRSRLQWIRUFHFKDUJHRQFUDFNVXUIDFHV >XXBXBVLJPDVLJPD@ V6,)FUDFN3)VORDGVWU[LYN FDVH $QLQWHUIDFHFUDFNVXEMHFWHGWRSRLQWIRUFHFKDUJHRQWKHFUDFNVXUIDFHV >XXBXBVLJPDVLJPD@ VB,)FUDFN3)VORDGVWU[LYN FDVH $QLQWHUIDFHFUDFNVXEMHFWHGWRXQLIRUPORDGLQGXFWLRQRQWKHFUDFNVXUIDFHV >XXBXBVLJPDVLJPD@ VB,)FUDFN8/ORDGVWU[LYN
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
825
FDVH 7ZRFROOLQHDULQWHUIDFHFUDFNVVXEMHFWHGWRXQLIRUPORDGLQGXFWLRQDWLQILQLW\ >XXBXBVLJPDVLJPD@ V&2,)FUDFN8/ORDGVWU[LYN HQG
F181: s1221visco IXQFWLRQ>XXBXBVLJPDVLJPDVLJPDBVVVLJPDBQQVLJPDBVQ@ VYLVFRORDGVWU[LYN VYLVFRFDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRUWKHSUREOHPZLWKYLVFRHODVWLFPDWHULDOV XXBXBVLJPDVLJPDVLJPDBVVVLJPDBQQVLJPDBVQORDGVWU[LYNH[SODLQHGLQIXQFWLRQBXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ $%PX&LM6LM$BD%BDPXBDPDWHULDOSURSHUWLHVLQ/DSODFHGRPDLQDWLV /W\SH9/W\SH&LMBD6LMBD45711114BD5BD7BDH[SODLQHGLQ0DLQSURJUDP 1BD1BD1BD1BDDXJPHQWHG1111LQ/DSODFHGRPDLQ GHOWDBW6,)BW(1*BWH[SODLQHGLQ0DLQSURJUDP &2'BWFUDFNRSHQLQJGLVSODFHPHQWLQWLPHGRPDLQ JOREDO$V%VPXV&LMV6LMVQVVY1PDW$VBD%VBDPXVBD&LMVBD6LMVBD9W\SHBDIURP0DLQSURJUDP JOREDO4V5V7V1V1V1V1V4VBD5VBD7VBD1VBD1VBD1VBD1VBDIURP0DLQSURJUDP JOREDO6,)GHOWDGHOWD&2'(1* IURPIXQFWLRQV
V
V
V
VHHEHORZEHWZHHQOLQHDQGOLQH JOREDO$%PX&LM6LM/W\SH9/W\SH$BD%BDPXBD&LMBD6LMBDJHQHUDWHG JOREDO45711114BD5BD7BD1BD1BD1BD1BDJHQHUDWHG JOREDOGHOWDBW6,)BW&2'BW(1*BW JHQHUDWHGIRUWKHXVHLQIXQFWLRQ7DEOH)LJ 9/W\SH ORDGVWU W\SHRIORDGLQJFRQGLWLRQIRUWKHFRUUHVSRQGLQJHODVWLFSUREOHP ORDGVWU >ORDGVWUHQG ORDGVWUHQG @ORDGVWUIRUWKHFRUUHVSRQGLQJHODVWLFSUREOHPGHOHWHORDGVWU /W\SH /W\SH/W\SH 9/W\SHVWRUHWKHRULJLQDO/W\SHLQ/W\SHDQGUHSODFH/W\SHE\9/W\SH LIYN
GHOWDV >@6,)V >@&2'V >@(1*V >@ HQG
VHWGHIDXOWWRHPSW\
IRULV QV FDOFXODWHVWKHPDWHULDOSURSHUWLHVE\YDU\LQJVLQ/DSODFHGRPDLQ LI1PDW! IRULP 1PDW LI9W\SHBDLP a IRUDQLVRWURSLFYLVFRHODVWLFPDWHULDOV $BDLP $VBDLVLP %BDLP %VBDLVLP PXBDLP PXVBDLVLP &LMBDLP &LMVBDLVLP 6LMBDLP 6LMVBDLVLP 4BDLP 4VBDLVLP 5BDLP 5VBDLVLP 7BDLP 7VBDLVLP 1BDLP 1VBDLVLP 1BDLP 1VBDLVLP 1BDLP 1VBDLVLP 1BDLP 1VBDLVLP HQG HQG HOVH $ $VLV % %VLV PX PXVLV &LM &LMVLV 6LM 6LMVLV 4 4VLV 5 5VLV 7 7VLV 1 1VLV 1 1VLV 1 1VLV 1 1VLV HQG >ORDG/DS@ YLVFRBORDGORDGVWULV WUDQVIRUPORDGVWULQWRWKHYDOXHXVHGLQ/DSODFHGRPDLQ >8L7L7HPK@ XSKLBEDQNORDG/DS[L VHWYN VLQFHWKHPDWHULDOSURSHUWLHVZLOOYDU\ZLWKWLPH XVLV 8L XVBLV 8L XVBLV 8L VLJPDVLV 7L VLJPDVLV 7L VLJPDBVVVLV 7L VLJPDBQQVLV 7L VLJPDBVQVLV 7L LIYN
VZLWFK/W\SH FDVH^` PXOWLPDWHULDOZHGJH ZHGJHVSDFHVLQJODURUGHUV
826
Appendix F: AEPH Source Code (Listed in Alphabetic Order) GHOWDVLV GHOWDVYLV HTQ FDVH^` FRQWDFWSUREOHPVVLQJXODURUGHUV GHOWDVLV GHOWDVYLV HTQ FDVH^` FUDFNSUREVWUHVVLQWHQVLW\IDFWRUV QFW VL]H6,) QFWQXPEHURIFUDFNWLS LIQFW
6,)VLV 6,)
HOVH6,)VLV 6,)HQG FDVH &2'FUDFNRSHQLQJGLVSODFHPHQWV(1*HQHUJ\UHOHDVHUDWH &2'VLV &2'(1*VLV (1* HQG HQG HQG X /DSODFHBLQYXV XB /DSODFHBLQYXVB XB /DSODFHBLQYXVB VLJPD /DSODFHBLQYVLJPDV VLJPD /DSODFHBLQYVLJPDV LILVQDQVLJPDBVVV
VLJPDBVV /DSODFHBLQYVLJPDBVVV HOVHVLJPDBVV QDQHQG
LILVQDQVLJPDBVQV
VLJPDBVQ /DSODFHBLQYVLJPDBVQV HOVHVLJPDBVQ QDQHQG
LILVQDQVLJPDBQQV
VLJPDBQQ /DSODFHBLQYVLJPDBQQV HOVHVLJPDBQQ QDQHQG
LIYN
FDOFXODWHWKHYDOXHLQWLPHGRPDLQ
GHOWDBW >@6,)BW >@&2'BW >@(1*BW >@ VHWGHIDXOWWRHPSW\ :KHQYN!GHOWD6,)&2'DQG(1*PD\EHFKDQJHGWKURXJKJOREDOYDULDEOHIRUWKHFDOFXODWLRQRI FRUUHVSRQGLQJHODVWLFSUREOHP7RDYRLGEHLQJFKDQJHGWKHVHYDULDEOHVDUHVWRUHGLQ GHOWDBW6,)BW&2'BWDQG(1*BWZKHQYN LILVHPSW\GHOWDV LILVHPSW\6,)V LIQFW
GHOWDBW /DSODFHBLQYGHOWDV HQG
6,)BW /DSODFHBLQY6,)V HOVH IRUM QFW 6,)VM 6,)VM 6,)M /DSODFHBLQY6,)VM 6,)BWM 6,)M HQG HQG HQG LILVHPSW\&2'V
&2'BW /DSODFHBLQY&2'V HQG
LILVHPSW\(1*V
(1*BW /DSODFHBLQY(1*V HQG
HQG /W\SH /W\SHUHWXUQWRWKHRULJLQDO/W\SH
F182: s1321EholeUB IXQFWLRQ>ZXGXGBXGB1LM0LMWLBVV@ V(KROH8%ORDGVWU[LYN 6(KROH8%FDOFXODWHVWKHGLVSODFHPHQWVVORSHVDQGEHQGLQJPRPHQWVIRU DQDQLVRWURSLFSODWHFRQWDLQLQJDQHOOLSWLFDOKROH 7KLVIXQFWLRQLVDOVRYDOLGIRUWKHSLH]RHOHFWULFRU0((SODWHVZKRVH3W\SHa ZXGXGBXGB1LM0LMWLBVVORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN JOREDO3W\SH IURP0DLQSURJUDPFRQWUROSDUDPHWHU ORDGVWU ORDGVWU D ORDGVWU E ORDGVWU DEKDOIOHQJWKVRIWKHHOOLSWLFDOKROH
Appendix F: AEPH Source Code (Listed in Alphabetic Order) ORDGVWU ]HURV
1 1 1
ORDGVWU ORDGVWU 0 ORDGVWU 0 ORDGVWU 0 ORDGVWU EHQGLQJPRPHQWDWLQILQLW\ LI3W\SHa ORDGVWU ]HURV ORDGVWU ORDGVWU HQG 1 1 0 ORDGVWU 0 ORDGVWU HOHFWULF EHQGLQJPRPHQWDWLQILQLW\ LI3W\SH!ORDGVWU ]HURV ORDGVWU ORDGVWU HQG 1 1 0 ORDGVWU 0 ORDGVWU PDJQHWLFEHQGLQJPRPHQWDWLQILQLW\ >ZXGXGBXGB1LM0LMWLBVV@ V/$0KROH86%ORDGVWU[LYN
F183: s1322ERincluUB IXQFWLRQ>ZXGXGBXGB1LM0LMWLBVVWLBQQ@ V(5LQFOX8%ORDGVWU[LYN 6(5LQFOX8%FDOFXODWHVWKHGLVSODFHPHQWVVORSHVDQGEHQGLQJPRPHQWVIRU DQDQLVRWURSLFSODWHFRQWDLQLQJDQHOOLSWLFDOULJLGLQFOXVLRQ 7KLVIXQFWLRQLVDOVRYDOLGIRUWKHSLH]RHOHFWULFRU0((SODWHVZKRVH3W\SHa ZXGXGBXGB1LM0LMWLBVVWLBQQORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN JOREDO3W\SH IURP0DLQSURJUDPFRQWUROSDUDPHWHU ORDGVWU ORDGVWU D ORDGVWU E ORDGVWU DEKDOIOHQJWKVRIHOOLSWLFDOLQFOXVLRQ ORDGVWU ]HURV
1 1 1
ORDGVWU ORDGVWU 0 ORDGVWU 0 ORDGVWU 0 ORDGVWU EHQGLQJPRPHQWDWLQILQLW\ LI3W\SHa ORDGVWU ]HURV ORDGVWU ORDGVWU HQG 1 1 0 ORDGVWU 0 ORDGVWU HOHFWULF EHQGLQJPRPHQWDWLQILQLW\ LI3W\SH!ORDGVWU ]HURV ORDGVWU ORDGVWU HQG 1 1 0 ORDGVWU 0 ORDGVWU PDJQHWLFEHQGLQJPRPHQWDWLQILQLW\ >ZXGXGBXGB1LM0LMWLBVVWLBQQ@ V/$0LQFOX86%ORDGVWU[LYN
F184: s1323crackUB IXQFWLRQ>ZXGXGBXGB1LM0LMWLBVV@ VFUDFN8%ORDGVWU[LYN 6FUDFN8%FDOFXODWHVWKHGLVSODFHPHQWVVORSHVDQGEHQGLQJPRPHQWVIRU DQDQLVRWURSLFSODWHFRQWDLQLQJDVWUDLJKWFUDFN 7KLVIXQFWLRQLVDOVRYDOLGIRUWKHSLH]RHOHFWULFRU0((SODWHVZKRVH3W\SHa ZXGXGBXGB1LM0LMWLBVVORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ ORDGVWULQIRUPDWLRQUHTXLUHGLQIXQFWLRQV/$0KROH86% JOREDO3W\SH IURP0DLQSURJUDP JOREDOORDGVWU JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
D ORDGVWU DKDOIOHQJWKRIWKHFUDFN 0 ORDGVWU 0 ORDGVWU 0 ORDGVWU EHQGLQJPRPHQWDWLQILQLW\ ORDGVWU >D000@ E 1 1 1 IRUFUDFNVXQGHUEHQGLQJ LI3W\SHa 0 ORDGVWU 0 ORDGVWU HOHFWULFEHQGLQJPRPHQWDWLQILQLW\ 0 ORDGVWU 0 ORDGVWU PDJQHWLFEHQGLQJPRPHQWDWLQILQLW\IRU0((SUREOHPV ORDGVWU ]HURV ORDGVWU ORDGVWU LI3W\SH!ORDGVWU ]HURV ORDGVWU ORDGVWU HQG 1 1 1 1 XQGHUEHQGLQJPRPHQWVRQO\ HQG HQG >ZXGXGBXGB1LM0LMWLBVV@ V/$0KROH86%ORDGVWU[LYN
827
828
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
F185: s1324EEincluUB IXQFWLRQ>ZXGXGBXGB1LM0LMWLBVVWLBQQ@ V((LQFOX8%ORDGVWU[LYN 6((LQFOX8%FDOFXODWHVWKHGLVSODFHPHQWVVORSHVDQGEHQGLQJPRPHQWVIRU DQDQLVRWURSLFSODWHFRQWDLQLQJDQHOOLSWLFDOHODVWLFLQFOXVLRQ 7KLVIXQFWLRQLVDOVRYDOLGIRUWKHSLH]RHOHFWULFRU0((SODWHVZKRVH3W\SHa ZXGXGBXGB1LM0LMWLBVVWLBQQORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN JOREDO3W\SH IURP0DLQSURJUDPFRQWUROSDUDPHWHU ORDGVWU ORDGVWU D ORDGVWU E ORDGVWU DEKDOIOHQJWKVRIHOOLSWLFDOLQFOXVLRQ ORDGVWU ]HURV
1 1 1
ORDGVWU ORDGVWU 0 ORDGVWU 0 ORDGVWU 0 ORDGVWU EHQGLQJPRPHQWDWLQILQLW\ LI3W\SHa ORDGVWU ]HURV ORDGVWU ORDGVWU HQG 1 1 0 ORDGVWU 0 ORDGVWU HOHFWULF EHQGLQJPRPHQWDWLQILQLW\ LI3W\SH!ORDGVWU ]HURV ORDGVWU ORDGVWU HQG 1 1 0 ORDGVWU 0 ORDGVWU PDJQHWLFEHQGLQJPRPHQWDWLQILQLW\ >ZXGXGBXGB1LM0LMWLBVVWLBQQ@ V/$0((LQFOX86%ORDGVWU[LYN
F186: s1420LAMincluUSB IXQFWLRQ>ZXGXGBXGB1LM0LMWLBVVWLBQQ@ V/$0LQFOX86%ORDGVWU[LYN 6/$0LQFOX86%FDOFXODWHVWKHGLVSODFHPHQWVVORSHVVWUHVVUHVXOWDQWVDQG EHQGLQJPRPHQWVIRUDODPLQDWHFRQWDLQLQJDQHOOLSWLFDOULJLGLQFOXVLRQ 7KLVIXQFWLRQLVDOVRYDOLGIRUWKHHOHFWURHODVWLFRU0((ODPLQDWHVZKRVH3W\SHa ZXGXGBXGB1LM0LMWLBVVWLBQQORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEKDOIOHQJWKVRIWKHHOOLSWLFDOLQFOXVLRQ FD DL E PX FBDOSKDGHILQHGLQHTQF B JD DL E PX DL E PX JDPPDBDOSKDGHILQHGLQHTQF B PBLQIPBLQIGBLQIGBLQIH[SODLQHGLQIXQFWLRQVBPGLQI JOREDO3W\SH2W\SH(K$%PXGLPHSVIURP0DLQSURJUDP JOREDO(K(KKGG IURPIXQFWLRQVBPGLQI JOREDODEFDJD JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! JOREDOPBLQIPBLQIGBLQIGBLQIJHQHUDWHGFDOFXODWHGE\VBPGLQI LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
D ORDGVWU E ORDGVWU DEKDOIOHQJWKVRIWKHHOOLSWLFDOLQFOXVLRQ ORDGVWU IRU111000ORDGVWU IRU1100RISLH]RHOHFWULFSUREOHPV ORDGVWU IRU1100RI0((SUREOHPV >PBLQIPBLQIGBLQIGBLQI@ VBPGLQIORDGVWU FD DL E PX JD DL E PX DL E PX HTQF B HQG FDOFXODWHGLVSODFHPHQWYHFWRUXBGDQGVWUHVVIXQFWLRQYHFWRUSKLBG >]HWDWKHWDUKR@ PDS(3[LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ LIDEV]HWD ! HSV HSVWRDOORZWKHQXPHULFDOURXQGLQJHUURUQHDUWKHERXQGDU\ZKHQFDOFXODWLQJ]HWD X [L GBLQI[L GBLQISKL [L PBLQI[L PBLQI HTQE B ZBLQI DA [L A GBLQIG [L [L GBLQIG EA [L A GBLQIG HTQE ] [L [L PX ]L ]HWD G]L GLDJ]L T LQY$ D GBLQIL E GBLQI SDUWRIHTQ ORJ]HWD ORJ] ORJFD ORJJD ]LA HTQ B ]LBLQW FD ORJ]HWDJD ]LA LQWHJUDORI]HWDAHTQ XG XUHDO$ G]L T SKLG SKLUHDO% G]L T HTQ
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
829
Z ZBLQIUHDO$G GLDJ]LBLQW T HTQD XGGG XGGG K Z ZK HTQD LI3W\SHa XG XG (XGG XGG (KHQG
HTQ
LI3W\SH!XG XG (XG XG (KHQG FDOFXODWHGLVSODFHPHQWJUDGLHQWVXGBXGBDQGVWUHVVUHVXOWDQWV1LM0LM ]HWDB ]HWD]HWD DL E PX ] HTQE B ]HWDBL ]LA ]HWDB ]HWDBL PX ]HWDBL HTQD E B G]HWD GLDJ]HWDBL G]HWD GLDJ]HWDBL XGB GBLQIUHDO$ G]HWD T XGB GBLQIUHDO$ G]HWD T SKLGB PBLQIUHDO% G]HWD T SKLGB PBLQIUHDO% G]HWD T XGBGG XGBGG K XGBGG XGBGG K HTQD 1LM >SKLGB SKLGB SKLGB @ (K HTQ D 0LM >SKLGBG SKLGBG SKLGBG SKLGBG @ (K
HTQ D
LI3W\SHa XGB XGB (XGB XGB (XGBG XGBG (KXGBG XGBG (K HTQ 1LM SKLGB K1LM SKLGB K0LM SKLGBG K0LM SKLGBG K HTQ LI3W\SH! XGB XGB (XGB XGB (XGB XGB (KXGB XGB (K 1LM SKLGB K1LM SKLGB K0LM SKLGB K0LM SKLGB K HQG HQG HOVH Z QDQXG QDQ RQHVGLP XGB QDQ RQHVGLP XGB QDQ RQHVGLP SKLG QDQ RQHVGLP 1LM QDQ RQHVGLP 0LM QDQ RQHVGLP HQG FDOFXODWHWKHVWUHVVUHVXOWDQWVDQGPRPHQWVWLBVVWLBQQDORQJWKHLQWHUIDFH :KHQ3W\SH WLBVV 1BVV0BVV0BVQ WLBQQ 1BQQ0BQQ1BVQ ZKHQ3W\SHWLBVV 1BVV0BVV0BVQ'V'VV WLBQQ 1BQQ0BQQ1BVQ'Q'QQ ZKHQ3W\SH!WLBVV 1BVV0BVV0BVQ'V'VV%V%VV WLBQQ 1BQQ0BQQ1BVQ'Q'QQ%Q%QQ WLBVV QDQWLBQQ QDQ WLBVVDQGWLBQQZLOOQRWEHFDOFXODWHGLILWLVQRWUHTXLUHGE\WKHXVHU LIDEVDEV]HWD HSV 2W\SH
_2W\SH
_2W\SH
_2W\SH
SVL [L SL FKDQJHGHJUHHWRUDGLDQ >]HWDWKHWDUKR@ PDS(3[LSVLDEDPX FDOFXODWHWKHWDQJHQWLDODQJOHWKHWDHTQ >6+/@ 6WURKBPDWULFHV FDOFXODWH%DUQHWW/RWKHWHQVRUV6+/ >1WK1WK1WK@ 6WURKBPDWULFHVWKHWD FDOFXODWH6WURKPDWULFHV1WK1WK1WK +L LQY+ 6+L 6
+L (WK 1WK1WK
6+L (WK 1WK
+L
HTQE
FWK FRVWKHWD VWK VLQWKHWD SKLGBQ VWK PBLQI(WK GBLQIDE (WK GBLQI FWK PBLQI(WK GBLQIED (WK GBLQI D B SKLGBV VWK PBLQI6+L GBLQIDE +L GBLQI FWK PBLQI6+L GBLQIED +L GBLQI D B 1BQQ VWK SKLGBV FWK SKLGBV 1BVV FWK SKLGBQ VWK SKLGBQ
HTQD B
1BVQ FWK SKLGBV VWK SKLGBV HTQD B 0BQQ VWK SKLGBVG FWK SKLGBVG 0BVV FWK SKLGBQG VWK SKLGBQG HTQD B 0BVQ FWK SKLGBVG SKLGBQG VWK SKLGBVG SKLGBQG HTQD B WLBVV >1BVV (K0BVV (K0BVQ (K@ HTQD WLBQQ >1BQQ (K0BQQ (K1BVQ (K@ HTQD LI3W\SHa WLBVV SKLGBQ KWLBVV SKLGBQG K HTQ WLBQQ SKLGBV KWLBQQ SKLGBVG K
830
Appendix F: AEPH Source Code (Listed in Alphabetic Order) LI3W\SH! WLBVV SKLGBQ KWLBVV SKLGBQ K WLBQQ SKLGBV KWLBQQ SKLGBV K HQG HQG HQG
F187: s1421LAMholeUSB IXQFWLRQ>ZXGXGBXGB1LM0LMWLBVV@ V/$0KROH86%ORDGVWU[LYN 6/$0KROH86%FDOFXODWHVWKHGLVSODFHPHQWVVORSHVVWUHVVUHVXOWDQWVDQG EHQGLQJPRPHQWVIRUDODPLQDWHFRQWDLQLQJDQHOOLSWLFDOKROH 7KLVIXQFWLRQLVDOVRYDOLGIRUWKHHOHFWURHODVWLFRU0((ODPLQDWHVZKRVH3W\SHa ZXGXGBXGB1LM0LMWLBVVORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEKDOIOHQJWKVRIWKHHOOLSWLFDOLQFOXVLRQ FD DL E PX FBDOSKDGHILQHGLQHTQF B JD DL E PX DL E PX JDPPDBDOSKDGHILQHGLQHTQF B PBEUPBEUWKHFRQVWDQWYHFWRUVPBEUHYHDQGPBEUHYHRIHTQE PBLQIPBLQIGBLQIGBLQIH[SODLQHGLQIXQFWLRQVBPGLQI JOREDO3W\SH2W\SH,FKHFN(KHSV$%PXGLPILGIURP0DLQSURJUDPFRQWUROSDUDPHWHUV PDWHULDOSURSHUWLHV JOREDOWKLFNQHVV IURPIXQFWLRQHODVWLFRUSLH]R0 JOREDO(K(KKGG IURPIXQFWLRQVBPGLQI JOREDODEFDJDPBEUPBEUJHQHUDWHGZKHQYN HPSOR\HGZKHQYN! JOREDOPBLQIPBLQIGBLQIGBLQI JHQHUDWHGFDOFXODWHGE\IXQFWLRQVBPGLQI LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
D ORDGVWU E ORDGVWU DEKDOIOHQJWKVRIWKHHOOLSWLFDOKROH ORDGVWU IRU111000ORDGVWU IRU1100RISLH]RHOHFWULFSUREOHPV ORDGVWU IRU1100RI0((SUREOHPV >PBLQIPBLQIGBLQIGBLQI@ VBPGLQIORDGVWU FD DL E PX JD DL E PX DL E PX HTQF B >6+/@ 6WURKBPDWULFHV VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV /L LQY/ /L6W /L 6 SDUWRIHTQG ODPBD /LG E /L6WG D ODPBE /L6WG E /LG D HTQG HWDB ODPBD
PBLQIE ODPBE
PBLQID ODPBDG E ODPBEG D HTQF B PBEU PBLQI PBEUG PBLQIG HWDB HTQE B PBEU PBLQI PBEUG PBLQIG HWDB HTQE B LIE
FDOFXODWLRQIRUVWUHVVLQWHQVLW\IDFWRUVRIFUDFNSUREOHPV
>*1*@ 6WURKBPDWULFHV FDOFXODWH* VSD VTUWSL D *P * PBEU SDUWRIHTQ 6,) PBLQI VSD 6,)G VSD PBEUG *PG HTQE 6,) 6,) (KWKLFNQHVV 6,)GG 6,)GG (KWKLFNQHVVA HTQ VWU ^ ?U?Q6WUHVVLQWHQVLW\IDFWRUV?U?Q ., .,, ` VWUG ^ .,% ` VWUG ^ .,,% ` = >6,) 6,) @ =G 6,)G =G 6,)G LI3W\SHa 6,) 6,) KWKLFNQHVV 6,)G 6,)G KWKLFNQHVVA VWU ^ .,9 ` VWUG ^ .,9% ` = 6,) =G 6,)G LI3W\SH! 6,) 6,) KWKLFNQHVV6,) 6,) KWKLFNQHVVA
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
831
VWU ^ .9 `VWU ^ .9% `= 6,) = 6,) HQG HQG SULQW7)ILG>@>@=VWUGLPYN HQG HQG FDOFXODWHGLVSODFHPHQWYHFWRUXBGDQGVWUHVVIXQFWLRQYHFWRUSKLBG >]HWDWKHWDUKR@ PDS(3[LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ LIDEV]HWD ! HSV HSVWRDOORZWKHQXPHULFDOURXQGLQJHUURUQHDUWKHERXQGDU\ZKHQFDOFXODWLQJ]HWD X [L GBLQI[L GBLQISKL [L PBLQI[L PBLQI HTQE B ZBLQI [L A GBLQIG [L [L GBLQIG [L GBLQIG HTQE ] [L [L PX ]L ]HWD G]L GLDJ]L T LQY% D PBEUL E PBEU
SDUWRIHTQD
ORJ]HWD ORJ] ORJFD ORJJD ]LA HTQ B ]LBLQW FD ORJ]HWDJD ]LA LQWHJUDORI]HWDAHTQ XG XUHDO$ G]L T SKLG SKLUHDO% G]L T HTQD Z ZBLQIUHDO$G GLDJ]LBLQW T HTQG XGGG XGGG K Z ZK HTQD LI3W\SHa XG XG (XGG XGG (KHQG
HTQ
LI3W\SH!XG XG (XG XG (KHQG FDOFXODWHGLVSODFHPHQWJUDGLHQWVXGBXGBDQGVWUHVVUHVXOWDQWV1LM0LM ]HWDB ]HWD]HWD DL E PX ] HTQE B ]HWDBL ]LA ]HWDB ]HWDBL PX ]HWDBL HTQD E B G]HWD GLDJ]HWDBL G]HWD GLDJ]HWDBL XGB GBLQIUHDO$ G]HWD T XGB GBLQIUHDO$ G]HWD T SKLGB PBLQIUHDO% G]HWD T SKLGB PBLQIUHDO% G]HWD T XGBGG XGBGG K XGBGG XGBGG K
HTQD
1LM >SKLGB SKLGB SKLGB @ (K HTQ D 0LM >SKLGBG SKLGBG SKLGBG SKLGBG @ (K
HTQ D
LI3W\SHa XGB XGB (XGB XGB (XGBG XGBG (KXGBG XGBG (K HTQ 1LM SKLGB K1LM SKLGB K0LM SKLGBG K0LM SKLGBG K HTQ LI3W\SH! XGB XGB (XGB XGB (XGB XGB (KXGB XGB (K 1LM SKLGB K1LM SKLGB K0LM SKLGB K0LM SKLGB K HQG HQG HOVH Z QDQXG QDQ RQHVGLP XGB QDQ RQHVGLP XGB QDQ RQHVGLP SKLG QDQ RQHVGLP 1LM QDQ RQHVGLP 0LM QDQ RQHVGLP HQG FDOFXODWHKRRSVWUHVVWLBVVDORQJWKHKROHERXQGDU\ :KHQ3W\SH WLBVV 1BVV0BVV0BVQ ZKHQ3W\SHWLBVV 1BVV0BVV0BVQ'V'VV ZKHQ3W\SH!WLBVV 1BVV0BVV0BVQ'V'VV%V%VV WLBVV QDQ GHIDXOWRIWLBVV LIDEVDEV]HWD HSV 2W\SH
_2W\SH
_2W\SH
_2W\SH
SVL [L SL FKDQJHGHJUHHWRUDGLDQ >]HWDWKHWDUKR@ PDS(3[LSVLDEDPX FDOFXODWHWKHWDQJHQWLDODQJOHWKHWDHTQ
832
Appendix F: AEPH Source Code (Listed in Alphabetic Order) >*WK1WK*WK@ 6WURKBPDWULFHVWKHWD FDOFXODWHWKH6WURKPDWULFHV*WK*WK *P *WK PBEUH\HGLP DE *WK PBEU SDUWRIHTQ *P H\HGLP ED *WK PBEU*WK PBEU SDUWRIHTQ SKLGBQ VLQWKHWD *PFRVWKHWD *PHTQ UHDOIRUPVROXWLRQ FWK FRVWKHWD VWK VLQWKHWD 1BVV FWK SKLGBQ VWK SKLGBQ HTQD B 0BVV FWK SKLGBQG VWK SKLGBQG 0BVQ VWK SKLGBQG FWK SKLGBQG HTQD B WLBVV 1BVV (K WLBVV 0BVV (K WLBVV 0BVQ (K HTQD LI3W\SHa WLBVV SKLGBQ KWLBVV SKLGBQG K HQG HTQ LI3W\SH!WLBVV SKLGBQ KWLBVV SKLGBQ K HQG &KHFNWKHFRUUHFWQHVVRIWLBVVYLDYLDWKHVROXWLRQZLWKFRPSOH[YDULDEOHIRUP LI,FKHFN
PXBWKHWD PX FWKVWK PX VWKFWK HTQE B SKLGBQ VWK PBEUFWK PBEU SDUWRID SKLGBQF SKLGBQUHDOVLQSVL L FRVSVL % GLDJPXBWKHWD T UKR HTQF D GLI PD[DEVSKLGBQSKLGBQF GLIIHUHQFHEHWZHHQSKLGBQDQGSKLGBQF VWU ^ D SKLGBQ SKLGBQF ` VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[LSKLGBQSKLGBQFGLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG HQG
F188: s1422LAMholeUH IXQFWLRQ>ZXGXGBXGB1LM0LMWLBVVKHDW)7HPS@ V/$0KROH8+ORDGVWU[LYN 6/$0KROH8+FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVVWUHVVHVKHDWIOX[DQGWHPSHUDWXUHIRU DODPLQDWHFRQWDLQLQJDQHOOLSWLFDOKROHVXEMHFWHGWRXQLIRUPKHDWIORZKILQWKHGLUHFWLRQ RIDQJOHDOSKDFORFNZLVHIURPWKHSRVLWLYH[D[LV)LJXUH RULQ[D[LV)LJXUH 7KLVIXQFWLRQLVDOVRYDOLGIRUWKHHOHFWURHODVWLFRU0((ODPLQDWHVZKRVH3W\SHa ZXGXGBXGB1LM0LMWLBVVKHDW)7HPSORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ +)W\SHFDVHRIXQLIRUPKHDWIORZGLUHFWLRQ +)W\SH XQLIRUPKHDWIORZLQ[[SODQH+)W\SH XQLIRUPKHDWIORZLQ[GLUHFWLRQ (K(K(KKVFDOLQJIDFWRUV(K ( K(K (K KA(K (K KAK KA GGG GLPG GGLQLWLDOURZRIWKHQH[WKDOIGLPHQVLRQ DEKDOIOHQJWKVRIWKHHOOLSWLFDOKROH KIXQLIRUPKHDWIORZLQWKHGLUHFWLRQDWDQDQJOHDOSKDZLWKWKHSRVLWLYH[D[LV DOSKDDQJOHGHQRWLQJWKHGLUHFWLRQRIKHDWIORZ PDPWPD DL PX EPW DL WDX EHTQD B JDJWJD DL E PX DL E PX JW DL E WDX DL E WDX JDPPDGHILQHGLQHTQF B HHFRQVWDQWVUHODWHGWRKIGHILQHGLQHTQE .. VTUW.WLM .WLM .WLM A HTQE B NNN >.W.W@N >.W.W@.WLMUHVXOWDQWRIKHDWFRQGXFWLRQFRHIILFLHQWVHTQ B TTTFRHIILFLHQWYHFWRUVGHILQHGLQHTQE B 6/%DUQHWW/RWKHWHQVRUVFDOFXODWHGE\IXQFWLRQ6WURKBPDWULFHV FD DL E PX FBDOSKDGHILQHGLQHTQF B 7767 7X7E 7V 7X7E KHTQ B 7X7EWHPSHUDWXUHDWWKHXSSHUDQGERWWRPVXUIDFHVRIWKHODPLQDWHV 7K7KFRQVWDQWYHFWRUV7KBEUHYHDQG7KBEUHYHGHILQHGLQHTQE B
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
833
JOREDO3W\SH2W\SH(KHSVGLP1$%PXFGWDX.WLM$WLM%WLM'WLM111,FKHFN IURP0DLQSURJUDP JOREDOWKLFNQHVV IURPIXQFWLRQHODVWLFRUSLH]R0 JOREDO+)W\SH(K(K(KKGG JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! JOREDODEKIDOSKDPDPWJDJWHH.NNTTT6/FD77V7K7K JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
(K ( K (K (K K (K (K KK KAG GLPG GVFDOLQJIDFWRUV GLQLWLDOURZRIWKHQH[WKDOIGLPHQVLRQZKLFKLVUHODWHGWRVORSHVRUEHQGLQJPRPHQWV +)W\SH ORDGVWU FDVHRIXQLIRUPKHDWIORZGLUHFWLRQ +)W\SH XQLIRUPKHDWIORZLQ[[SODQH+)W\SH XQLIRUPKHDWIORZLQ[GLUHFWLRQ D ORDGVWU E ORDGVWU DEKDOIOHQJWKVRIWKHHOOLSWLFDOKROH LI+)W\SH
KI ORDGVWU DOSKD ORDGVWU SL
XQLIRUPKHDWIORZKILQWKHGLUHFWLRQDWDQDQJOHDOSKDZLWKWKHSRVLWLYH[D[LV XQLWRIDOSKDGHJUHHLQSXW UDGLDQWUDQVIRUPWRUDGLDQIRUWKHIROORZLQJFRGLQJ HOVHLI+)W\SH
7X ORDGVWU 7E ORDGVWU K WKLFNQHVV HQG
7XWHPSHUDWXUHDWWKHWRSVXUIDFHRIODPLQDWHV7EWHPSHUDWXUHDWWKHERWWRPVXUIDFHRIODPLQDWHV KWKLFNQHVVRIWKHODPLQDWH VZLWFK+)W\SH FDVH XQLIRUPKHDWIORZLQ[[SODQH PD DL PX E PW DL WDX E HTQD B JD DL E PX DL E PX JW DL E WDX DL E WDX JDPPDGHILQHGLQHTQF B . VTUW.WLM .WLM .WLM A HTQE B H KI .WLM L . VLQDOSKD .WLM FRVDOSKD .A E B H KI E FRVDOSKD L D VLQDOSKD . HTQE B N .WLM N .WLM N >.W.W@N >.W.W@HTQ B >6+/@ 6WURKBPDWULFHV FDOFXODWHWKH%DUQHWW/RWKHWHQVRU6+/ >1WK1WK1L@ 6WURKBPDWULFHV FDOFXODWHVWKHVXELQYHUVHRI1LH1L 1WL >6+/6 @ H[WHQGHGV\PERO RI6HFWLRQ TD UHDOH G TE 1L UHDOH 1 WDX H\HGLP G HTQE BSDUWRIE B 1 1 11 11 1 11 1 1 1 11
1 1RWH>1111 @ 1 1 9 1
TD1 TE UHDOH WDXA G SUHVWHSRIVROYLQJYIURPHTQ >1PM@ PD[DEV1 Y 9M 1M 9F Y 1 VROYLQJYIURPHTQ LIDEVPD[99F HSV FKHFNZKHWKHUWKHVROXWLRQRIYLVFRUUHFW GLVS &RPSXWDWLRQDOHUURULQVROYLQJHTQ 99F HQG L ]HURVGLP L TE TEY L HTQE B TED LQYD 1WLE 1 >LPDJH DL E WDX LQY/ 6 L H\HGLP G LPDJH DL E WDX G @F TED LQYD 1WLE 1 LPDJH DL E WDX >FG@ HTQG TE TEDGLP TD TEDGLP GLP TE TEDGLP TD TEDGLP GLP FG T $
TD%
TE T $
TD%
TE T $
TD%
TE
HTQE B
FDVH XQLIRUPKHDWIORZLQ[GLUHFWLRQ FD DL E PX JD DL E PX DL E PX HTQF B 7 7E7X 7V 7E7X K K HTQ B DOSKD >$WLM (K$WLM (K@ DOSKDGG >%WLM (K%WLM (K@ HTQF B B DOSKD >$WLM (K$WLM (K@ DOSKDGG >%WLM (K%WLM (K@ HTQF B B DOSKDV >%WLM (K%WLM (K@DOSKDVGG >'WLM (K'WLM (K@HTQF B B DOSKDV >%WLM (K%WLM (K@DOSKDVGG >'WLM (K'WLM (K@HTQF B B LI3W\SHa
834
Appendix F: AEPH Source Code (Listed in Alphabetic Order) DOSKD $WLM K DOSKDG %WLM K
HTQF B
DOSKD $WLM K DOSKDG %WLM K
HTQF B
DOSKDV %WLM KDOSKDVG 'WLM K K HTQF B DOSKDV %WLM KDOSKDVG 'WLM K K HTQF B LI3W\SH! DOSKD $WLM K DOSKD %WLM K
HTQF B
DOSKD $WLM K DOSKD %WLM K
HTQF B
DOSKDV %WLM KDOSKDV 'WLM K K HTQF B DOSKDV %WLM KDOSKDV 'WLM K K HTQF B HQG HQG 7K DOSKD 7DOSKDV 7V 7K DOSKD 7DOSKDV 7V HTQE >6+/@ 6WURKBPDWULFHV VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV /L LQY/ /L6W /L 6 SDUWRIHTQF ODPBD /LG E /L6WG D ODPBE /L6WG E /LG D HTQF HWDB ODPBD
7KE ODPBE
7KD ODPBDG E ODPBEG D HTQE B 7KG 7KG HWDB 7KG 7KG HWDB HTQE B HQG HQG ] [L [L PX >]HWDWKHWDUKR@ PDS(3[LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ LIDEV]HWD ! HSV HSVWRDOORZWKHQXPHULFDOURXQGLQJHUURUQHDUWKHERXQGDU\ZKHQFDOFXODWLQJ]HWD VZLWFK+)W\SH FDVH XQLIRUPKHDWIORZLQ[[SODQH ]W [L [L WDX HTQ B >]HWDBWWKHWDUKR@ PDS(3[LDEDWDX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ P]HWD PD ]HWD P]HWDBW PW ]HWDBW SDUWRIHTQ UD P]HWD] UW P]HWDBW]W HTQ ORJP]HWDGLP ORJ] ORJ ORJJD]HWDA HTQE ORJP]HWDGLP ORJ]W ORJ ORJJW]HWDBWA HTQE I] GLDJ]A TGLDJ]]HWD TGLDJPD ORJP]HWDGLP T HTQD B J] H ]WAH ]W]HWDBWPW ORJP]HWDGLP HTQD B I]S GLDJ] TGLDJ]UD ]HWD TGLDJPDUD T HTQD B J]S H ]WH]HWDBW J]SS HHUW ]HWDBW HTQD B I]LQW GLDJ]A TGLDJPDA ]HWDJDA]HWDA T GLDJPD ] ORJP]HWDGLP PD ]HWDJD]HWD T LQWHJUDORIHTQD BWKURXJKD B J]LQW H ]WAH PWA ]HWDBWJWA]HWDBWA H PW ]W ORJP]HWDGLP PW ]HWDBWJW]HWDBW LQWHJUDORIHTQD BWKURXJKD B 7HPS UHDOJ]S KHDW) UHDONWDX N J]SS HTQD B XG UHDO$ I]F J] SKLG UHDO% I]G J]
HTQD B
Z UHDO$G I]LQWFG J]LQW HTQ XGB UHDO$ I]SF J]S XGB UHDO$ GLDJPX I]SF WDX J]S SKLGB UHDO% I]SG J]S SKLGB UHDO% GLDJPX I]SG WDX J]S FDVH XQLIRUPKHDWIORZLQ[GLUHFWLRQ 7HPS 7 KHDW) 7V .WLM K HTQ B 7WHPSHUDWXUHDWWKHPLGVXUIDFH ]L ]HWD T LQY% D 7KL E 7K SDUWRIHTQD ORJ]HWD ORJ] ORJFD ORJJD ]LA HTQ B
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
835
XG UHDO$ GLDJ]L T SKLG UHDO% GLDJ]L T [L 7K[L 7K HTQD Z UHDO$G GLDJFD ORJ]HWDJD ]LA T HTQ D B ]HWDB ]HWD]HWD DL E PX ] HTQE B ]HWDBL ]LA ]HWDB ]HWDBL PX ]HWDBL
HTQD E B
XGB UHDO$ GLDJ]HWDBL T XGB UHDO$ GLDJ]HWDBL T SKLGB UHDO% GLDJ]HWDBL T 7K SKLGB UHDO% GLDJ]HWDBL T 7K HQG VFDOLQJDQGFDOFXODWHWKHVWUHVVUHVXOWDQWV1LM0LM XGGG XGGG K Z ZK HTQD XGBGG XGBGG K XGBGG XGBGG K
HTQD
1LM >SKLGB SKLGB SKLGB @ (K HTQ D 0LM >SKLGBG SKLGBG SKLGBG SKLGBG @ (K
HTQ D
LI3W\SHa XGB XGB (XGB XGB (XGBG XGBG (KXGBG XGBG (K HTQ 1LM SKLGB K1LM SKLGB K0LM SKLGBG K0LM SKLGBG K HTQ LI3W\SH! XGB XGB (XGB XGB (XGB XGB (KXGB XGB (K 1LM SKLGB K1LM SKLGB K0LM SKLGB K0LM SKLGB K HQG HQG HOVH Z QDQXG QDQ RQHVGLP XGB QDQ RQHVGLP XGB QDQ RQHVGLP SKLG QDQ RQHVGLP 1LM QDQ RQHVGLP 0LM QDQ RQHVGLP KHDW) QDQ 7HPS QDQ HQG FDOFXODWHKRRSVWUHVVWLBVVDORQJWKHKROHERXQGDU\ :KHQ3W\SH WLBVV 1BVV0BVV0BVQ ZKHQ3W\SHWLBVV 1BVV0BVV0BVQ'V'VV ZKHQ3W\SH!WLBVV 1BVV0BVV0BVQ'V'VV%V%VV FDOFXODWHKRRSVWUHVVWLBVV 1BVV0BVV0BVQ DORQJWKHKROHERXQGDU\ WLBVV QDQ GHIDXOWRIWLBVV LIDEVDEV]HWD HSV 2W\SH
_2W\SH
_2W\SH
_2W\SH
SVL [L SL FKDQJHGHJUHHWRUDGLDQ >]HWDWKHWDUKR@ PDS(3[LSVLDEDPX FDOFXODWHWKHWDQJHQWLDODQJOHWKHWDHTQ >*WK1WK*WK@ 6WURKBPDWULFHVWKHWD FDOFXODWHWKH6WURKPDWULFHV*WK*WK VZLWFK+)W\SH FDVH XQLIRUPKHDWIORZLQ[[SODQH JDPWV / F6
GL G HTQD >JDPWKJDPWK@ VBJDPPDWKHWD FDOFXDOWHVJDPWKH[WHQGHGV\PERO RI6HFWLRQ K. KI E FRVDOSKD FRVSVL D VLQDOSKD VLQSVL .
SDUWRISKLGBQHTQ
SKLGBQ K. JDPWK*WK UHDOL H H[S L SVL DL E WDX JDPWV UKR HTQ FDVH XQLIRUPKHDWIORZLQ[GLUHFWLRQ J 7K*WK 7KED *WK 7K J 7K*WK 7KDE *WK 7K SDUWRIHTQ SKLGBQ FRVWKHWD JVLQWKHWD J HTQ HQG FWK FRVWKHWD VWK VLQWKHWD 1BVV FWK SKLGBQ VWK SKLGBQ HTQD B 0BVV FWK SKLGBQG VWK SKLGBQG 0BVQ VWK SKLGBQG FWK SKLGBQG HTQD B WLBVV 1BVV (K WLBVV 0BVV (K WLBVV 0BVQ (K HTQ B
836
Appendix F: AEPH Source Code (Listed in Alphabetic Order) LI3W\SHa WLBVV SKLGBQ KWLBVV SKLGBQG K HQG HTQ LI3W\SH!WLBVV SKLGBQ KWLBVV SKLGBQ K HQG LI,FKHFN
1BVVF 1LM FWKA1LM VWKA 1LM FWK VWKHTQEF GLI DEVWLBVV 1BVVF LI+)W\SH
VWU ^ `
HOVHLI+)W\SH
VWU ^ D ` HQG
VWU ^ 1BVV 1BVVF ` SULQW7)[LWLBVV 1BVVFGLIVWU HQG HQG
F189: s1423LAMEEincluUSB IXQFWLRQ>ZXGXGBXGB1LM0LMWLBVVWLBQQ@ V/$0((LQFOX86%ORDGVWU[LYN 6/$0((LQFOX86%FDOFXODWHVWKHGLVSODFHPHQWVVORSHVVWUHVVUHVXOWDQWVDQG EHQGLQJPRPHQWVIRUDODPLQDWHFRQWDLQLQJDQHOOLSWLFDOHODVWLFLQFOXVLRQ 7KLVIXQFWLRQLVDOVRYDOLGIRUWKHHOHFWURHODVWLFRU0((ODPLQDWHVZKRVH3W\SHa ZXGXGBXGB1LM0LMWLBVVWLBQQORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEKDOIOHQJWKVRIWKHHOOLSWLFDOLQFOXVLRQ PXPX$$%%PDWHULDOHLJHQYDOXHVPXDQGHLJHQYHFWRUPDWULFHV$%RIPDWHULDOVPDWUL[ DQGLQFOXVLRQ FDFDFD DL E PX FD DL E PX FRQVWDQWVGHILQHGLQHTQF B JDJDJD DL E PX DL E PX JD DL E PX DL E PX GHILQHGLQHTQF BHTQE B TBLQIFHGBHFRHIILFLHQWYHFWRUVGHILQHGLQF HTQE B PBLQIPBLQIGBLQIGBLQIH[SODLQHGLQIXQFWLRQVBPGLQI JOREDO3W\SH2W\SH,FKHFN(KHSVIURP0DLQSURJUDPFRQWUROSDUDPHWHUV JOREDO$BD%BDPXBD$LMBD$LM%LMBD%LM'LMBD'LMIURP0DLQSURJUDPPDWHULDOSURSHUWLHV JOREDO(K(KKGGPBLQIPBLQIGBLQIGBLQI IURPIXQFWLRQVBPGLQI JOREDODEPXPX$$%%FDFDJDJDTBLQIFHGBH JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
D ORDGVWU E ORDGVWU DEKDOIOHQJWKVRIWKHHOOLSWLFDOLQFOXVLRQ PX PXBD $ $BD % %BD PDWHULDOHLJHQYDOXHVDQGHLJHQYHFWRUPDWULFHVRIPDWUL[ PX PXBD $ $BD % %BD PDWHULDOHLJHQYDOXHVDQGHLJHQYHFWRUPDWULFHVRILQFOXVLRQ $LM $LMBD %LM %LMBD 'LM 'LMBD ORDGVWU IRU111000ORDGVWU IRU1100RISLH]RHOHFWULFSUREOHPV ORDGVWU IRU1100RI0((SUREOHPV >PBLQIPBLQIGBLQIGBLQI@ VBPGLQIORDGVWU TBLQI $
PBLQI%
GBLQI HTQF FD DL E PX FD DL E PX FDFDFDBVWDU FDRIPDWUL[DQGLQFOXVLRQHTQF B JD DL E PX DL E PX JD DL E PX DL E PX HTQF BE B $L LQY$ 0 L % $L 0 L % LQY$ H[WHQGHGV\PERO RI6HFWLRQ * FRQM0 0 $ * 00 $ GLDJJD *L FRQM* LQY* HTQF H GLDJFD TBLQI $H $L
H HTQE BSDUWRIHTQF B F L LQY**L * $H*L FRQM$H HTQE B GBH LQY% FRQM% F % GLDJJD FFRQM% H % GLDJJD H HTQ B LI,FKHFN
FDOFXODWHGBHE\WKHRWKHUDSSURDFKHTQE
GBHF LQY$ FRQM$ F $ GLDJJD FFRQM$ H $ GLDJJD H GLI GBHGBHF LIGLI! HSVGLVS GLIIHUHQWGBHIURPGLIIHUHQWDSSURDFKHV GBHGBHFHQG
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
837
HQG HQG ] [L [L PX HTQE B >]HWDWKHWDUKR@ PDS(3[LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ FDOFXODWHGLVSODFHPHQWYHFWRUXBGDQGVWUHVVIXQFWLRQYHFWRUSKLBG LIDEV]HWD ! HSV SRLQW[L [L ORFDWHVRXWVLGHWKHLQFOXVLRQ ]HWDB ]HWD]HWD DL E PX ] HTQE B ]L ]HWD ]HWDBL ]LA ]HWDB HTQD B ORJ]HWD ORJ] ORJFD ORJJD ]LA HTQ B I] GLDJ] TBLQIGLDJ]L GBH HTQE B I]B TBLQIGLDJ]HWDBL GBH GHULYDWLYHRII]VHHHTQD FW LQY$ $ GLDJFD JD FGLDJFD JD H FRQVWDQWWHUPLQE B I]LQW GLDJ]A TBLQIGLDJFD ORJ]HWDJD ]LA GBHFW HTQE B $ $% %PX PX HOVH
SRLQW[L [L ORFDWHVLQVLGHWKHLQFOXVLRQ
] [L [L PX HTQE B I]B GLDJFD F I] GLDJ] I]B HTQE B I]LQW GLDJ] I] HTQE B $ $% %PX PX HQG XG UHDO$ I] SKLG UHDO% I] HTQD Z UHDO$G I]LQW HTQD XGB UHDO$ I]B XGB UHDO$ GLDJPX I]B SKLGB UHDO% I]B SKLGB UHDO% GLDJPX I]B UHWXUQWRWKHRULJLQDOVFDOHRIWKHGLVSODFHPHQWVVORSHVVWUHVVUHVXOWDQWVDQGEHQGLQJPRPHQWV XGGG XGGG K Z ZK HTQD XGBGG XGBGG K XGBGG XGBGG K HTQD 1LM >SKLGB SKLGB SKLGB @ (K HTQ D 0LM >SKLGBG SKLGBG SKLGBG SKLGBG @ (K HTQ D LI3W\SHa XG XG (XGG XGG (K HTQ XGB XGB (XGB XGB (XGBG XGBG (KXGBG XGBG (K HTQ 1LM SKLGB K1LM SKLGB K0LM SKLGBG K0LM SKLGBG K HTQ LI3W\SH! XG XG (XG XG (K XGB XGB (XGB XGB (XGB XGB (KXGB XGB (K 1LM SKLGB K1LM SKLGB K0LM SKLGB K0LM SKLGB K HQG HQG FDOFXODWHWKHVWUHVVUHVXOWDQWVDQGPRPHQWVWLBVVWLBQQDORQJWKHLQWHUIDFH ZKHQ3W\SH WLBVV 1BVV0BVV0BVQ WLBQQ 1BQQ0BQQ1BVQ ZKHQ3W\SHWLBVV 1BVV0BVV0BVQ'V'VV WLBQQ 1BQQ0BQQ1BVQ'Q'QQ ZKHQ3W\SH!WLBVV 1BVV0BVV0BVQ'V'VV%V%VV WLBQQ 1BQQ0BQQ1BVQ'Q'QQ%Q%QQ WLBVV QDQWLBQQ QDQ GHIDXOWRIWLBVVDQGWLBQQ LIDEVDEV]HWD HSV 2W\SH
_2W\SH
_2W\SH
_2W\SH
SVL [L SL FKDQJHGHJUHHWRUDGLDQ >]HWDWKHWDUKR@ PDS(3[LSVLDEDPX FDOFXODWHWKHWDQJHQWLDODQJOHWKHWDHTQ FWK FRVWKHWD VWK VLQWKHWD HS H[SL SVL PXWK FWK PXVWK VWK PXFWK H[WHQGHGV\PERO RI6HFWLRQ
838
Appendix F: AEPH Source Code (Listed in Alphabetic Order) PXWK FWK PXVWK VWK PXFWK H[WHQGHGV\PERO RI6HFWLRQ SKLGBV LPDJ% GLDJJDHSHS F UKR HTQE B SKLGBQ LPDJ% GLDJPXWK GBHGLDJJDHSA H HS UKR HTQE B SKLGBQ LPDJ% GLDJPXWK JDHSHS F UKR HTQE B 1BQQ (K VWK SKLGBV FWK SKLGBV 1BVQ (K FWK SKLGBV VWK SKLGBV HTQD BHTQD 0BQQ (K VWK SKLGBVG FWK SKLGBVG WLBQQ >1BQQ0BQQ1BVQ@ HTQD BHTQD 1BVV (K FWK SKLGBQ VWK SKLGBQ 1BVV (K FWK SKLGBQ VWK SKLGBQ HTQD BHTQD 0BVV (K FWK SKLGBQG VWK SKLGBQG 0BVV (K FWK SKLGBQG VWK SKLGBQG HTQD BHTQD 0BVQ (K FWK SKLGBVG VWK SKLGBVG VWK SKLGBQG FWK SKLGBQG HTQD BHTQD 0BVQ (K FWK SKLGBVG VWK SKLGBVG VWK SKLGBQG FWK SKLGBQG HTQD BHTQD LI,FKHFN
WUDQVIRUPDWLRQIURP[[WRVQFRRUGLQDWHHTQEF 1BVVF 1LM FWKA1LM VWKA 1LM FWK VWK 1BQQF 1LM VWKA1LM FWKA 1LM FWK VWK 1BVQF 1LM FWK VWK1LM FWK VWK1LM FWKAVWKA 0BVVF 0LM FWKA0LM VWKA 0LM FWK VWK 0BQQF 0LM VWKA0LM FWKA 0LM FWK VWK 0BVQF 0LM FWK VWK0LM FWK VWK0LM FWKAVWKA WLBVVF >1BVVF0BVVF0BVQF@WLBQQF >1BQQF0BQQF1BVQF@ >]HWDWKHWDUKR@ PDS(3[LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ LIDEV]HWD ! HSV WLBVV >1BVV 0BVV 0BVQ @ GLI DEVWLBVVWLBVVF VWU ^ E >1BVV0BVV0BVQ@ >1BVVF0BVVF0BVQF@ ` SULQW7)[LWLBVVWLBVVFGLIVWU SULQWWKHPHVVDJHRI,FKHFN HOVH WLBVV >1BVV 0BVV 0BVQ @ GLI DEVWLBVVWLBVVF VWU ^ E >1BVV0BVV0BVQ@ >1BVVF0BVVF0BVQF@ ` SULQW7)[LWLBVVWLBVVFGLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG GLI DEVWLBQQWLBQQF VWU ^ E >1BQQ0BQQ1BVQ@ >1BQQF0BQQF1BVQF@ ` SULQW7)[LWLBQQWLBQQFGLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG WLBVV >1BVV 0BVV 0BVQ 1BVV 0BVV 0BVQ @ LI3W\SHa DQDORJRXVZD\RIHTQD IRUWKHFDOFXODWLRQRI'QDQG'V 'Q SKLGBV K 'QQ SKLGBVG K HTQ 'V SKLGBQ K 'V SKLGBQ KHTQ 'VV SKLGBQG K 'VV SKLGBQG KHTQ WLBVV >1BVV 0BVV 0BVQ 'V 'VV 1BVV 0BVV 0BVQ 'V 'VV @ WLBQQ >1BQQ0BQQ1BVQ'Q'QQ@ LI3W\SH! %Q SKLGBV K %QQ SKLGBV K %V SKLGBQ K %V SKLGBQ K %VV SKLGBQ K%VV SKLGBQ K WLBVV >1BVV 0BVV 0BVQ 'V 'VV %V %VV 1BVV 0BVV 0BVQ 'V 'VV %V %VV @ WLBQQ >1BQQ0BQQ1BVQ'Q'QQ%Q%QQ@ HQG HQG HQG
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
F190: s1441LAMinfPFM IXQFWLRQ>ZXGXGBXGB1LM0LMWLBVV@ V/$0LQI3)0ORDGVWU[LYN 6/$0LQI3)0FDOFXODWHVWKHGLVSODFHPHQWVVORSHVVWUHVVUHVXOWDQWVDQG EHQGLQJPRPHQWVIRUDODPLQDWHVXEMHFWHGWRDSRLQWIRUFHDQGRUEHQGLQJPRPHQW 7KLVIXQFWLRQLVDOVRYDOLGIRUWKHHOHFWURHODVWLFRU0((ODPLQDWHVZKRVH3W\SHa ZXGXGBXGB1LM0LMWLBVVORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ (K(KKVFDOLQJIDFWRUV(K ( K(K (K KAK KA IBKDWPBKDWSRLQWIRUFH>IIIII@DQGSRLQWPRPHQW>PPPPP@ IPSRLQWORDGRIHOHFWULFFKDUJHIPSRLQWORDGRIPDJQHWLFIOX[ IIPPDUHUHTXLUHGRQO\IRUSLH]RHOHFWULFRU0((SUREOHPV [BKDWORFDWLRQRISRLQWIRUFHDQGPRPHQW SBKDW IRUHODVWLFSUREOHPVSBKDW >IBKDW IBKDW PBKDW PBKDW @HTQE B IRUSLH]RHOHFWULFSUREOHPVSBKDW >IBKDW IBKDW IBKDW PBKDW PBKDW PBKDW @ IRU0((SUREOHPVSBKDW >IBKDW IBKDW IBKDW IBKDW PBKDW PBKDW PBKDW PBKDW @ GGG GLPG GGLQLWLDOURZRIWKHQH[WKDOIGLPHQVLRQ JOREDO(W\SH3W\SH,FKHFN(KGLP$%PX111 IURP0DLQSURJUDP JOREDOWKLFNQHVV(QX IURPIXQFWLRQHODVWLF JOREDO(K(KKIBKDWPBKDW[BKDWSBKDWGG JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
G GLPG G GLQLWLDOURZRIWKHQH[WKDOIGLPHQVLRQZKLFKLVUHODWHGWRVORSHVRUEHQGLQJPRPHQWV (K ( K K K K (K ( K VFDOLQJIDFWRUV IBKDW ORDGVWU (K PBKDW ORDGVWU (KSRLQWORDG>III@DQGPRPHQW>PPP@ IBKDW IBKDW K PBKDW PBKDW K IRXWSODQHEHQGLQJPLQSODQHWRUVLRQ [BKDW ORDGVWU
[BKDWORFDWLRQRISRLQWIRUFHDQGPRPHQW
SBKDW >IBKDW IBKDW PBKDW PBKDW @ HTQE B LI3W\SHa IBKDW ORDGVWU K PBKDW ORDGVWU K IPSRLQWORDGRIHOHFWULFFKDUJH SBKDW >IBKDW IBKDW IBKDW PBKDW PBKDW PBKDW @ LI3W\SH! IBKDW ORDGVWU K PBKDW ORDGVWU K IPSRLQWORDGRIPDJQHWLFIOX[ SBKDW >IBKDW IBKDW IBKDW IBKDW PBKDW PBKDW PBKDW PBKDW @ HQG HQG HQG G] [L [BKDW [L [BKDW PX XVLQJG] ]]BKDWPD\KDYHWURXEOH ORJ] ORJG] ]ORJ] G] ORJ] ]L G]]ORJ]BLQW G]A ORJ] SDUWRIHTQD I] GLDJORJ] $
SBKDWIBKDW GLDJ]ORJ] $G PBKDW GLDJ]L $ SL L HTQD I]S GLDJ]L $
SBKDWIBKDW GLDJORJ] $G PBKDW GLDJ]LA $ SL L GHULYDWLYHRII] I]LQW GLDJ]ORJ] $
SBKDWIBKDW GLDJ]ORJ]BLQW $G PBKDW GLDJORJ] $ SL L LQWHJUDORII] XG UHDO$ I] SKLG UHDO% I] HTQD XGB UHDO$ I]S XGB UHDO$ GLDJPX I]S SKLGB UHDO% I]S SKLGB UHDO% GLDJPX I]S Z UHDO$G I]LQW K HTQ D UHWXUQWRWKHRULJLQDOVFDOHRIWKHGLVSODFHPHQWVVORSHVVWUHVVUHVXOWDQWVDQGEHQGLQJPRPHQWV
839
840
Appendix F: AEPH Source Code (Listed in Alphabetic Order) XGGG XGGG K HTQD XGBGG XGBGG K XGBGG XGBGG K HTQD 1LM >SKLGB SKLGB SKLGB @ (K HTQ D 0LM >SKLGBG SKLGBG SKLGBG SKLGBG @ (K HTQ D LI3W\SHa XG XG (XGG XGG (K HTQ XGB XGB (XGB XGB (XGBG XGBG (KXGBG XGBG (K HTQ 1LM SKLGB K1LM SKLGB K0LM SKLGBG K0LM SKLGBG K HTQ LI3W\SH! XG XG (XG XG (K XGB XGB (XGB XGB (XGB XGB (KXGB XGB (K 1LM SKLGB K1LM SKLGB K0LM SKLGB K0LM SKLGB K HQG HQG WLBVV QDQ WKHYDOXHRIWLBVVLVQRWDYDLODEOH VROXWLRQIURPGLIIHUHQWDSSURDFKHTQ DQG LI,FKHFN
G[ [L [BKDW G\ [L [BKDW U VTUWG[AG\A WKHWD DFRVG[U LIG\WKHWD WKHWDHQG
HTQ SLWKHWDSL
FWK FRVWKHWD VWK VLQWKHWD >6+/@ 6WURKBPDWULFHV VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV >1WK1WK1WK@ 6WURKBPDWULFHVWKHWD VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV >1WL1WL1WL@ 6WURKBPDWULFHVWKHWD VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV 1KDW FWK H\HGLP VWK 11KDW VWK 11KDW VWK 1 HTQF B 1Y FWK H\HGLP VWK 1WK1Y VWK 1WK1Y VWK 1WK HTQF B 1WLV 1WL +1WL
6 1WLV 1WL +1WL 6 HTQE B 1KDWV 1KDW +1KDW
6 1KDWV 1KDW +1KDW 6 HTQE B 1YV 1Y +1Y
6 1YV 1Y +1Y 6 HTQE B 1WLKDWV 1KDW 1WLV1KDW
1WLV 1WLKDWV 1KDW 1WLV1KDW 1WLV HTQE B XGBFD ORJU +SL 1WLV SBKDW XGBFF PBKDW 1YV UHTQD B XGBFE U IBKDW ORJU 1KDWVG SL 1WLKDWVG HTQD B SKLGBFD ORJU 6 SL 1WLV SBKDW SKLGBFF PBKDW 1YV UHTQD B SKLGBFE U IBKDW ORJU 1KDWVG SL 1WLKDWVG HTQD B XGBF XGBFDXGBFEXGBFF SL SKLGBF SKLGBFDSKLGBFESKLGBFF SL HTQD XGBFGG XGBFGG K VFDOLQJHTQD LI3W\SHa XGBF XGBF (XGBFG XGBFG (KHQG HTQ LI3W\SH! XGBF XGBF (XGBF XGBF (KHQG GLIIHUHQFHEHWZHHQVROXWLRQV DQG XG UHDO$ I] HTQD $IWHUVFDOLQJIDFWRU XGBF XGBFDXGBFEXGBFF SL HTQD $IWHUVFDOLQJIDFWRU GLIBXG DEVXGXGBF GLIBSKLG DEVSKLGSKLGBF VWU ^ XG XGBF `VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[LXGXGBFGLIBXGVWU SULQWWKHPHVVDJHRI,FKHFN VWU ^ SKLG SKLGBF `VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[LSKLGSKLGBFGLIBSKLGVWU SULQWWKHPHVVDJHRI,FKHFN LI(W\SH
3W\SH
H[SOLFLWVROXWLRQIRULVRWURSLFSODWHVHTQ
FWK FRV WKHWD VWK VLQ WKHWD FWK FWK FWKVWK VWK VWKFVWK FWK VWK
Appendix F: AEPH Source Code (Listed in Alphabetic Order) QX(K QX SL ( WKLFNQHVV SDUWRID ' ( WKLFNQHVVA QXA HTQE XD QX IBKDW ORJU XE QX IBKDW FWK IBKDW VWK XF QX PBKDW VWK FWKUSDUWRI D B XD QX IBKDW ORJU XE QX IBKDW VWKIBKDW FWK XF PBKDW FWK QX FWK USDUWRI D B EHWDD PBKDW VWKEHWDE PBKDW ORJU FWK EHWDF IBKDW U ORJU FWKSDUWRIE B EHWDD PBKDW ORJU FWK EHWDE PBKDW VWKEHWDF IBKDW U ORJU VWK SDUWRIE B ZD PBKDW U ORJU VWK ZE PBKDW U ORJU FWK ZF IBKDW UA ORJU FWK SDUWRIF X QX(K (K XDXEXF HTQD B X QX(K (K XDXEXF HTQD B EHWD (K EHWDDEHWDEEHWDF SL ' HTQE B EHWD (K EHWDDEHWDEEHWDF SL ' HTQE B ZBF (K ZEZDZF SL ' HTQF XGBF >XXEHWDEHWD@HTQE B 1WK QX IBKDW FWKIBKDW VWK SL U HTQG B 1U QX IBKDW FWKIBKDW VWK SL U PBKDW QX VWK SL UA HTQG B 1UWK QX IBKDW VWKIBKDW FWK SL U PBKDW QX FWK SL UA HTQG B 0WK QX PBKDW VWKPBKDW FWK SL U IBKDW QX ORJU QX VWK SL HTQH B 0U QX PBKDW VWKPBKDW FWK SL U IBKDW QX ORJU QX VWK SL HTQH B 0UWK QX PBKDW FWKPBKDW VWK SL U IBKDW QX VWK SL HTQH B 4WK (K PBKDW FWKPBKDW VWK SL UA HTQI B 4U (K PBKDW VWKPBKDW FWK SL UA IBKDW SL U HTQI B 9WK QX (K PBKDW FWKPBKDW VWK SL UA HTQJ B 9U QX (K PBKDW VWKPBKDW FWK SL UA IBKDW QX FWK SL U HTQJ B FDOFXODWHWKHVWUHVVUHVXOWDQWVDQGEHQGLQJPRPHQWVLQ[[FRRUGLQDWHV 7LQY >FWKVWK FVWKVWKFWK FVWKFVWKFVWKFWKVWK@LQYHUVHWUDQVIRUPDWLRQRIHTQF 1LMBF (K 7LQY >1U1WK1UWK@0LMBF (K 7LQY >0U0WK0UWK@HTQE GLIIHUHQFHEHWZHHQVROXWLRQV DQG GLI DEV>1LM1LMBF (K0LM0LMBF (K@ GLI DEV>XGZ@>XGBFZBF@ VWU ^ >1LM(K0LM(K@ >1LMBF(K0LMBF(K@ `VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L>1LM(K0LM(K@>1LMBF(K0LMBF(K@GLIVWU SULQWWKHPHVVDJHRI,FKHFN VWU ^ >XGZ@ >XGBFZBF@ `VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L>XGZ@>XGBFZBF@GLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG HQG
F191: s1451LAMholePFM IXQFWLRQ>ZXGXGBXGB1LM0LMWLBVV@ V/$0KROH3)0ORDGVWU[LYN 6/$0KROH3)0FDOFXODWHVWKHGLVSODFHPHQWVVORSHVVWUHVVUHVXOWDQWVDQG EHQGLQJPRPHQWVIRUDODPLQDWHFRQWDLQLQJDQHOOLSWLFDOKROHVXEMHFWHGWRDSRLQWIRUFHDQGRUEHQGLQJPRPHQW 7KLVIXQFWLRQLVDOVRYDOLGIRUWKHHOHFWURHODVWLFRU0((ODPLQDWHVZKRVH3W\SHa ZXGXGBXGB1LM0LMWLBVVORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ (K(KKVFDOLQJIDFWRUV(K ( K(K (K KAK KA DEKDOIOHQJWKVRIWKHHOOLSWLFDOKROH IBKDWPBKDWSRLQWIRUFH>IIIII@DQGSRLQWPRPHQW>PPPPP@
841
842
Appendix F: AEPH Source Code (Listed in Alphabetic Order) IPSRLQWORDGRIHOHFWULFFKDUJHIPSRLQWORDGRIPDJQHWLFIOX[ IIPPDUHUHTXLUHGRQO\IRUSLH]RHOHFWULFRU0((SUREOHPV [BKDWORFDWLRQRISRLQWIRUFHDQGPRPHQW ]BKDWFRPSOH[YDULDEOHUHODWHGWR[BKDW]BKDW [BKDW [BKDW PX ]HWDBKDWWUDQVIRUPHGYDULDEOHDVVRFLDWHGZLWK]BKDWHTQ SBKDW IRUHODVWLFSUREOHPVSBKDW >IBKDW IBKDW PBKDW PBKDW @HTQE B IRUSLH]RHOHFWULFSUREOHPVSBKDW >IBKDW IBKDW IBKDW PBKDW PBKDW PBKDW @ IRU0((SUREOHPVSBKDW >IBKDW IBKDW IBKDW IBKDW PBKDW PBKDW PBKDW PBKDW @ GGG GLPG GGLQLWLDOURZRIWKHQH[WKDOIGLPHQVLRQ $S$S $
SBKDWSDUWRIHTQE B FDFDFDFDFRHIILFLHQWYHFWRUVHTQF B JDJDPPDBDOSKDHTQF B OQ]KDWORJ]HWDBKDW HTQE L%F%LQY% FRQM% SDUWRIYHFWRU'NRIHTQF B JNF FRQMJDM F]K FRQM]HWDBKDWM WKHFRQVWDQWVFRQMJDPPDBN DQGFRQM]HWDBKDWBN LQHTQF B %F%F%F%FYHFWRUVRI'BN FRQMFD!FD!^FD!RUFD ]HWDBKDW! SDUWRIF B HWDWKHFRQVWDQWHWDBRIF B NYNY LL ODPGD L FRQVWDQWYHFWRULQIFRIE B JOREDO3W\SH2W\SH(K$%PXGLP,FKHFNHSVIURP0DLQSURJUDPFRQWUROSDUDPHWHUV 6WURK VPDWHULDOSURSHUWLHV JOREDO(K(KKDEIBKDWPBKDW[BKDW]BKDW]HWDBKDWSBKDWGG$S JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! JOREDOFDFDFDFDJDOQ]KDWL%F%JNFF]K%F%F%F%FHWDNYJHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
G GLPG G GLQLWLDOURZRIWKHQH[WKDOIGLPHQVLRQZKLFKLVUHODWHGWRVORSHVRUEHQGLQJPRPHQWV K K K (K ( K (K ( K VFDOLQJIDFWRUV D ORDGVWU E ORDGVWU
DEKDOIOHQJWKVRIWKHHOOLSWLFDOKROH
IBKDW ORDGVWU (K PBKDW ORDGVWU (KSRLQWORDG>III@DQGPRPHQW>PPP@ IBKDW IBKDW K PBKDW PBKDW K IRXWSODQHEHQGLQJPLQSODQHWRUVLRQ [BKDW ORDGVWU
[BKDWORFDWLRQRISRLQWIRUFHDQGPRPHQW
SBKDW >IBKDW IBKDW PBKDW PBKDW @ HTQE B LI3W\SHa IBKDW ORDGVWU K PBKDW ORDGVWU K IPSRLQWORDGRIHOHFWULFFKDUJH SBKDW >IBKDW IBKDW IBKDW PBKDW PBKDW PBKDW @ LI3W\SH! IBKDW ORDGVWU K PBKDW ORDGVWU K IPSRLQWORDGRIPDJQHWLFIOX[ SBKDW >IBKDW IBKDW IBKDW IBKDW PBKDW PBKDW PBKDW PBKDW @ HQG HQG ]BKDW [BKDW [BKDW PX HTQE B >]HWDBKDWWKHWDUKR@ PDS(3[BKDWDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDBKDWHTQ $S $
SBKDW SDUWRIHTQE B FD DL E PX JD DL E PX DL E PX HTQF B OQ]KDW ORJ]BKDW ORJFD ORJJD]HWDBKDWA HTQE FD FD ORJFD FD FD JD OQ]KDW FD FD ]HWDBKDWJD]HWDBKDW HTQF B L%F% LQY% FRQM% SDUWRIWKHYHFWRU'NLQHTQF B IRUM GLP JNFM FRQMJDM F]KM FRQM]HWDBKDWM %FM L%F%M FRQMFDM %FM L%F%M FRQMFDM SDUWRIIDQG(NEF %FM L%F%M FRQMFDM SDUWRIIDQG(NEF
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
843
%FM L%F%M FRQMFDM ]HWDBKDWM SDUWRIE B HQG >6+/@ 6WURKBPDWULFHV VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV /L LQY/ /L6W /L 6 SDUWRIHTQG ODPBD /LG E /L6WG D ODPBE /L6WG E /LG D HTQG 3 % GLDJ]HWDBKDW $ HTQH B 3 % GLDJFD ORJFD OQ]KDWJD ]HWDBKDWA $
HTQH B
3 % GLDJFD]HWDBKDW $ HTQH B SY 3 SBKDWIBKDW 3G PBKDW 3 YHFWRUSRIHTQG HWD /LG LPDJSY E /LG UHDOSY D ODPBDG E ODPBEG D HTQF B NY ]HURVGLP NYG NYG L ED FRQVWDQWYHFWRULQIFRIE B HQG ] [L [L PX HTQE B >]HWDWKHWDUKR@ PDS(3[LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ LIDEV]HWD ! HSV HSVWRDOORZWKHQXPHULFDOURXQGLQJHUURUQHDUWKHERXQGDU\ZKHQFDOFXODWLQJ]HWD G] [L [BKDW [L [BKDW PX G]HWD ]HWD]HWDBKDW XVLQJG] ]]BKDWPD\KDYHWURXEOH ]L ]HWD ]L ]LA ]HWDB ]HWD]HWD DL E PX ] ]HWD ]HWDBG]HWD HTQE B B ORJG]HWD ORJG] ORJFD ORJJD]HWD ]HWDBKDW HTQ B ORJ]HWD ORJ] ORJFD ORJJD]HWDA HTQ B J] G] ORJG]HWDFD G]HWDFD G]HWD]HWD ]HWDBKDW
HTQF B
J]S ORJG]HWDG]G]HWDFDFD]HWDA ]HWDB HTQF B J ]HWD ]HWDBKDW]HWD JD]HWDBKDW JD JD ]HWDBKDWA ORJ]HWDJD ]L ]HWDBKDW HTQJ B J ]HWDA ]HWDBKDW ]HWDJD ]L JD ORJ]HWD HTQJ B J JD ]L]HWDJD ]L ]HWDBKDWORJ]HWD HTQJ B J]LQW G]A ORJG]HWDFD FD JFD JFD J HTQI B I] GLDJORJG]HWD $S VWWHUPRIHTQE B I]B GLDJ]HWD $S VWWHUPRIHTQE B ILQW GLDJG] ORJG]HWDFD JD ORJ]HWD]HWDBKDW]HWD]HWDBKDW $SVWWHUPRIHTQE I] IBKDW J] $G VWWHUPRIE B I]B IBKDW J]S $G VWWHUPRIE B ILQW IBKDW J]LQW $G VWWHUPRIF I] PBKDW FD ]HWDBKDWG]HWD $ VWWHUPRIE B I]B PBKDW FD ]HWDBKDW ]HWDBG]HWDA $ VWWHUPRIE B ILQW PBKDW ORJG]HWDFD JD FD ORJ]HWD]HWDBKDW]L $ VWWHUPRIG I]F L HWD GLDJ]L LQY% NY HTQE B I]FB L HWD GLDJ]L ]HWDB LQY% NY HTQE B IFLQW L HWD GLDJFD ORJ]HWDJD ]L LQY% NY HTQH IRUM GLP ]L]K ]LF]KM ]L]KS ]L ]HWDB SDUWRIHTQEF DQGEF FORJ]L FRQMOQ]KDWM ORJ]LF]KM HTQF HN ]HWDF]KM HN JNFM HN FORJ]L SDUWRI(NHTQF B ]%F GLDJ]L]K %FM ]%F GLDJ]L]K HN %FM ]%F GLDJ]L]K HN %FM SDUWRIIDQG(NEF ]%FS GLDJ]L]KS %FM ]%FS GLDJ]L]KS HN %FM ]%FS GLDJ]L]KS HN %FM SDUWRIHTQEF HNS ]HWDBF]KM HNS ]HWDB JNFM FORJ]LF]KM ]L ]HWD JNFM F]KM ]L]K SDUWRIHTQF B ]S%F GLDJ]L]K HNS %FM ]S%F GLDJ]L]K HNS %FM SDUWRIISDQG(NSHTQEF
844
Appendix F: AEPH Source Code (Listed in Alphabetic Order) FORJ]LBLQW ]FD JD F]KM F]KM FORJ]LFD ORJ]HWDF]KM JD ]L]K SDUWRIQGWHUPRIHTQE J] JD ]L]KAJNFM ]HWDF]KM A]L]K ]HWDJD JNFM F]KM HTQK B J] JD JNFM FRQMOQ]KDWM JNFM F]KM A HTQK B J] JD JNFM /LORJ]LF]KM JD ]L]KAJNFM JD ]L]HWD F]KM HTQK B LQRUGHUWRLPSURYHWKHHIILFLHQF\KHUHZHFUHDWHDQHZIXQFWLRQ/LORJ[ WRUHSODFHWKHPDWODEIXQFWLRQGLORJ[
(NBLQW GLDJFD J] FORJ]LJ] ORJ]HWDJ] %FM HTQI B (NBLQW GLDJFD ORJ]HWDJD ]L ] F]KM %FM HTQI B (NBLQW GLDJFD JD ORJ]HWD]HWDA ]F]KM %FM HTQI B ]'FBLQW FD JD F]KM F]KM FORJ]L]HWDORJ]HWDF]KM F]KM SDUWRIQGWHUPRIHTQG I] I]GLDJFORJ]L L%F%M FRQM$SM HTQE B I] I]IBKDW ]%F]%F]%F $GM HTQE B I] I]PBKDW GLDJ]L]K %FM $M HTQE B I]B I]BGLDJ]L ]HWDB]L]K L%F%M FRQM$SM HTQE B I]B I]BIBKDW ]%FS]%FS]%FS]S%F]S%F $GM HTQE B I]B I]BPBKDW GLDJ]L ]HWDB]L]KA %FM $M HTQE B ILQW ILQWGLDJFORJ]LBLQW L%F%M FRQM$SM HTQE ILQW ILQWIBKDW (NBLQW(NBLQW(NBLQW $GM HTQF ILQW ILQWPBKDW GLDJ]'FBLQW %FM $M HTQG HQG I] I]I]I]I]F SL L I]LQW ILQWILQWILQWIFLQW SL L HTQD D I]B I]BI]BI]BI]FB SL L I]B GLDJPX I]B HTQD XG UHDO$ I] SKLG UHDO% I] HTQD XGB UHDO$ I]B XGB UHDO$ I]B SKLGB UHDO% I]B SKLGB UHDO% I]B Z UHDO$G I]LQW HTQ UHWXUQWRWKHRULJLQDOVFDOHRIGLVSODFHPHQWVVORSHVVWUHVVUHVXOWDQWVDQGEHQGLQJPRPHQWV XGGG XGGG K Z ZK HTQD XGBGG XGBGG K XGBGG XGBGG K HTQD 1LM >SKLGB SKLGB SKLGB @ (K HTQ D 0LM >SKLGBG SKLGBG SKLGBG SKLGBG @ (K
HTQ D
LI3W\SHa XG XG (XGG XGG (K HTQ XGB XGB (XGB XGB (XGBG XGBG (KXGBG XGBG (K HTQ 1LM SKLGB K1LM SKLGB K0LM SKLGBG K0LM SKLGBG K HTQ LI3W\SH! XG XG (XG XG (K XGB XGB (XGB XGB (XGB XGB (KXGB XGB (K 1LM SKLGB K1LM SKLGB K0LM SKLGB K0LM SKLGB K HQG HQG HOVH Z QDQXG QDQ RQHVGLP XGB QDQ RQHVGLP XGB QDQ RQHVGLP SKLG QDQ RQHVGLP 1LM QDQ RQHVGLP 0LM QDQ RQHVGLP HQG FDOFXODWHKRRSVWUHVVWLBVVDORQJWKHKROHERXQGDU\ :KHQ3W\SH WLBVV 1BVV0BVV0BVQ ZKHQ3W\SHWLBVV 1BVV0BVV0BVQ'V'VV
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
845
ZKHQ3W\SH!WLBVV 1BVV0BVV0BVQ'V'VV%V%VV WLBVV QDQ GHIDXOWRIWLBVV LIDEVDEV]HWD HSV 2W\SH
_2W\SH
_2W\SH
_2W\SH
SVL [L SL FKDQJHGHJUHHWRUDGLDQ >]HWDWKHWDUKR@ PDS(3SVLDED FDOFXODWHWKHWDDQGUKRHTQ >*WK1WK*WK@ 6WURKBPDWULFHVWKHWD FDOFXODWHWKH6WURKPDWULFHV*WK*WK FWK FRVWKHWD VWK VLQWKHWD HS FRVSVL L VLQSVL HS] HS]HWDBKDWSDUWRIHTQF ORJHS] OQ]KDWORJHS]HWDBKDW HTQD B KS HSHS] HTQF B KS FD HS ORJHS]ORJFD JD ORJHS]OQ]KDW HSJD]HWDBKDW HTQF B KS HS ]HWDBKDWFD ]HWDBKDWJD]HWDBKDW HS]A HTQF B TS ]HURVGLP TSG VLQSVL TSG E FRVSVL D HTQE B TS ]HURVGLP TSG FRVSVL TSG E VLQSVL D HTQE B IBQ GLDJKS $
SBKDWIBKDW KS $G PBKDW KS $ SDUWRIHTQD SKLGBQ HWD *WK TS*WK TS *WK LPDJ% IBQ UKR SL HTQD 1BVV FWK SKLGBQ VWK SKLGBQ HTQD B 0BVV FWK SKLGBQG VWK SKLGBQG 0BVQ VWK SKLGBQG FWK SKLGBQG HTQD B WLBVV >1BVV (K0BVV (K0BVQ (K@HTQD LI3W\SHa WLBVV SKLGBQ KWLBVV SKLGBQG K HQG
HTQ
LI3W\SH!WLBVV SKLGBQ KWLBVV SKLGBQ K HQG LI,FKHFN
1BVVF 1LM FWKA1LM VWKA 1LM FWK VWK HTQEF 0BVVF 0LM FWKA0LM VWKA 0LM FWK VWK HTQEF 0BVQF 0LM FWK VWK0LM FWK VWK0LM FWKAVWKA HTQEF WLBVVF >1BVVF0BVVF0BVQF@ GLI DEVWLBVV WLBVVF VWU ^ >1BVV0BVV0BVQ@ >1BVVF0BVVF0BVQF@ `VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[LWLBVVWLBVVFGLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG HQG IXQFWLRQ/L] /LORJ] FDOFXODWHVWKHGLORJDULWKPLFIXQFWLRQ/L] E\VWDQGDUG*DXVVLDQTXDGUDWXUHUXOH ]GHQRWHVWKHFRPSOH[YDULDEOHRIGLORJDULWKPLFIXQFWLRQ/L] DQG/L]LVWKHUHVXOWRIGLORJDULWKPLFIXQFWLRQ/L] IRUWKHIROORZLQJFRGHVSOHDVHUHIHUWRWKHUHPDUNRQFRPSXWHUFRGLQJSUHVHQWHGLQ6HFWLRQ QB*DXVV QXPEHURI*DXVVLDQSRLQWVVXJJHVWHGWREH >[JZJ@ *DXVVQB*DXVV FDOFXODWHWKHDEVFLVVDHDQGZHLJKWVRIWKH*DXVVLDQSRLQWV LG DEV] ! LQGH[WREHXVHGLQWKHLGHQWLILFDWLRQIRUZKLFKDEV] ! ] ] LG] aLG /L] ]HURVVL]H] IRUN QB*DXVV VL ] [JN /L] /L]ZJN LG aLG ] ORJVL VL HQG /L] /L]aLG SLAORJ] ORJ]
F192: s1452LAMcrackPFM IXQFWLRQ>ZXGXGBXGB1LM0LMWLBVV@ V/$0FUDFN3)0ORDGVWU[LYN 6/$0FUDFN3)0FDOFXODWHVWKHGLVSODFHPHQWVVORSHVVWUHVVUHVXOWDQWVDQG EHQGLQJPRPHQWVIRUDODPLQDWHFRQWDLQLQJDFUDFNVXEMHFWHGWRDSRLQWIRUFHDQGRUEHQGLQJPRPHQW 7KLVIXQFWLRQLVDOVRYDOLGIRUWKHHOHFWURHODVWLFRU0((ODPLQDWHVZKRVH3W\SHa ZXGXGBXGB1LM0LMWLBVVORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ 6,)YHFWRURIVWUHVVLQWHQVLW\IDFWRUV
846
Appendix F: AEPH Source Code (Listed in Alphabetic Order) JOREDO3W\SH$%,FKHFNGLPKIURP0DLQSURJUDPFRQWUROSDUDPHWHUV 6WURK VPDWHULDOSURSHUWLHV JOREDOWKLFNQHVV IURPIXQFWLRQHODVWLFRUSLH]R0 JOREDO(K(KDIBKDWPBKDW[BKDW]HWDBKDWSBKDWGGHWDOQ]KDWIURPIXQFWLRQV/$0KROH3)0 JOREDO6,) JHQHUDWHGZKHQYN 3UHSDUHORDGVWUDVUHTXLUHGE\V/$0KROH3)0LQZKLFKWKHPLQRUD[LVRIHOOLSWLFDOKROHVKRXOGEHVHWWR]HUR >ZXGXGBXGB1LM0LMWLBVV@ V/$0KROH3)0ORDGVWU[LYN LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
>*WK1WK*WK@ 6WURKBPDWULFHV FDOFXODWHWKH6WURKPDWULFHV*WK K ]HWDBKDW K D ORJD OQ]KDW]HWDBKDW HTQE B K ]HWDBKDWD ]HWDBKDW]HWDBKDW ]HWDBKDW A HTQE B IBQ GLDJK $
SBKDWIBKDW K $G PBKDW K $ SDUWRIHTQD SKLGB LPDJ% IBQ VTUWSL D SKLGBG SKLGBG HWDVTUWSL D SKLGB *WK SKLGB HTQD 6,) >SKLGB (KSKLGB (K@ 6,)GG >SKLGBG SKLGBG (KSKLGBG (K@ HTQE LI3W\SHa 6,) SKLGB K6,)G SKLGBG KA LI3W\SH!6,) SKLGB K6,) SKLGB KAHQG HQG 6,)G 6,)G WKLFNQHVV 6,)GGLP 6,)GGLP WKLFNQHVVA LI,FKHFN
IBKDW
PBKDW
[BKDW
[BKDW ! [BKDW D
>*WK1WK*WK@ 6WURKBPDWULFHV FDOFXODWHWKH6WURKPDWULFHV*WK DF VTUWD[BKDW D[BKDW >6+/@ 6WURKBPDWULFHV VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV /L LQY/ /L6W /L 6 SDUWRIHTQG SEU VTUWDA[BKDW A /LG [BKDW /L6WG D /LGG HTQE B SKLGBF 6 DF H\HGLP SBKDW SKLGBFG SKLGBFG SEU
SBKDW SDUWRIHTQD B SKLGBF SKLGBF VTUWSL D SKLGBF *WK SKLGBF HTQD 6,)F >SKLGBF (KSKLGBF (K@ 6,)FGG >SKLGBFG SKLGBFG (KSKLGBFG (K@ HTQE LI3W\SHa 6,)F SKLGBF K6,)FG SKLGBFG KA LI3W\SH!6,)F SKLGBF K6,)F SKLGBF KA HQG HQG 6,)FG 6,)FG WKLFNQHVV 6,)FGGLP 6,)FGGLP WKLFNQHVVA GLI PD[DEV6,)6,)F VWU ^ 6,) 6,)F `VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[L6,)6,)FGLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG HQG
F193: s1461LAMincluPFMo IXQFWLRQ>ZXGXGBXGB1LM0LMWLBVVWLBQQ@ V/$0LQFOX3)0RORDGVWU[LYN 6/$0LQFOX3)0RFDOFXODWHVWKHGLVSODFHPHQWVVORSHVVWUHVVUHVXOWDQWVDQG EHQGLQJPRPHQWVIRUDODPLQDWHFRQWDLQLQJDQHOOLSWLFDOLQFOXVLRQ VXEMHFWHGWRDSRLQWIRUFHDQGRUEHQGLQJPRPHQWRXWVLGHWKHLQFOXVLRQ 7KLVIXQFWLRQLVDOVRYDOLGIRUWKHHOHFWURHODVWLFRU0((ODPLQDWHVZKRVH3W\SHa ZXGXGBXGB1LM0LMWLBVVWLBQQORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ (K(KKVFDOLQJIDFWRUV(K ( K(K (K KAK KA DEKDOIOHQJWKVRIWKHHOOLSWLFDOLQFOXVLRQ IBKDWPBKDWSRLQWIRUFH>IIIII@DQGSRLQWPRPHQW>PPPPP@ IPSRLQWORDGRIHOHFWULFFKDUJHIPSRLQWORDGRIPDJQHWLFIOX[
Appendix F: AEPH Source Code (Listed in Alphabetic Order) IIPPDUHUHTXLUHGRQO\IRUSLH]RHOHFWULFRU0((SUREOHPV [BKDWORFDWLRQRISRLQWIRUFHDQGPRPHQW VQHVWLPDWHGWHUPVIRULQILQLWHVHULHVVXJJHVWHGQXPEHU SBKDW IRUHODVWLFSUREOHPVSBKDW >IBKDW IBKDW PBKDW PBKDW @HTQE B IRUSLH]RHOHFWULFSUREOHPVSBKDW >IBKDW IBKDW IBKDW PBKDW PBKDW PBKDW @ IRU0((SUREOHPVSBKDW >IBKDW IBKDW IBKDW IBKDW PBKDW PBKDW PBKDW PBKDW @ GGG GLPG GGLQLWLDOURZRIWKHQH[WKDOIGLPHQVLRQ PXPX$$%%PDWHULDOHLJHQYDOXHVPXDQGHLJHQYHFWRUPDWULFHV$%RIPDWHULDOVPDWUL[ DQGLQFOXVLRQ ]BKDWFRPSOH[YDULDEOHUHODWHGWR[BKDW]BKDW [BKDW [BKDW PX ]HWDBKDWWUDQVIRUPHGYDULDEOHDVVRFLDWHGZLWK]BKDWHTQ $S$S $
SBKDWSDUWRIHTQE B JDJDJD DL E PX DL E PX JD DL E PX DL E PX GHILQHGLQHTQF BHTQE B FDFDFD DL E PX FD DL E PX FRQVWDQWVFDGHILQHGLQHTQF BIRUPDWUL[DQGLQFOXVLRQHLJHQYDOXHV FDFDFDFRQVWDQWVGHILQHGLQHTQF B OQ]KDWORJ]HWDBKDW HTQE FNGNFRQVWDQWYHFWRUVGHILQHGLQHTQE B JOREDO3W\SH2W\SH,FKHFNHSV(KGLP$BD%BDPXBD IURP0DLQSURJUDPFRQWUROSDUDPHWHUV 6WURK VPDWHULDOSURSHUWLHV JOREDO(K(KKDEIBKDWPBKDW[BKDWVQSBKDWGGJHQHUDWHGZKHQYN HPSOR\HGZKHQYN! JOREDOPXPX$$%%]BKDW]HWDBKDW JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! JOREDO$SJDJDFDFDFDFDFDOQ]KDWFNGNJHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
G GLPG G GLQLWLDOURZRIWKHQH[WKDOIGLPHQVLRQZKLFKLVUHODWHGWRVORSHVRUEHQGLQJPRPHQWV K K K (K ( K (K ( K VFDOLQJIDFWRUV D ORDGVWU E ORDGVWU
DEKDOIOHQJWKVRIWKHHOOLSWLFDOLQFOXVLRQ
IBKDW ORDGVWU (K PBKDW ORDGVWU (KSRLQWORDG>III@DQGPRPHQW>PPP@ IBKDW IBKDW K PBKDW PBKDW K IRXWSODQHEHQGLQJPLQSODQHWRUVLRQ [BKDW ORDGVWU
[BKDWORFDWLRQRISRLQWIRUFHDQGPRPHQW
VQ ORDGVWU HVWLPDWHGWHUPVIRULQILQLWHVHULHVVXJJHVWHGQXPEHU SBKDW >IBKDW IBKDW PBKDW PBKDW @ HTQE B LI3W\SHa IBKDW ORDGVWU K PBKDW ORDGVWU K IPSRLQWORDGRIHOHFWULFFKDUJH SBKDW >IBKDW IBKDW IBKDW PBKDW PBKDW PBKDW @ LI3W\SH! IBKDW ORDGVWU K PBKDW ORDGVWU K IPSRLQWORDGRIPDJQHWLFIOX[ SBKDW >IBKDW IBKDW IBKDW IBKDW PBKDW PBKDW PBKDW PBKDW @ HQG HQG PX PXBD $ $BD % %BD PDWHULDOHLJHQYDOXHVDQGHLJHQYHFWRUPDWULFHVRIPDWUL[ PX PXBD $ $BD % %BD PDWHULDOHLJHQYDOXHVDQGHLJHQYHFWRUPDWULFHVRILQFOXVLRQ ]BKDW [BKDW [BKDW PX HTQE B >]HWDBKDWWKHWDUKR@ PDS(3[BKDWDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDBKDWHTQ $S $
SBKDW SDUWRIHTQE B JD DL E PX DL E PX JD DL E PX DL E PX HTQF BE B FD DL E PX FD DL E PX FDFDFDBVWDU FDRIPDWUL[DQGLQFOXVLRQHTQF B OQ]KDW ORJ]BKDW ORJFD ORJJD]HWDBKDWA HTQE FD FD ORJFD FD FD JD OQ]KDWFD FD ]HWDBKDWJD]HWDBKDW HTQF B IRUN VQ >HNFNN @ VBHFNN FDOFXODWHHNDQGFNE\IXQFWLRQVBHFNHTQE BDQGF GNN LQY% FRQM% FNN % GLDJJDAN FNN FRQM% HN HTQE B LI,FKHFN
FKHFNE\HTQD
GNF LQY$ FRQM$ FNN $ GLDJJDAN FNN FRQM$ HN GLI GNN GNF LIPD[DEVGLI ! HSVGLVS GLIIHUHQWGNIURPGLIIHUHQWDSSURDFKHV NGNN GNFHQG
847
848
Appendix F: AEPH Source Code (Listed in Alphabetic Order) HQG HQG HQG ] [L [L PX HTQE B >]HWDWKHWDUKR@ PDS(3[LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDBKDWHTQ LIDEV]HWD ! HSV SRLQW[L [L ORFDWHVRXWVLGHWKHLQFOXVLRQ G] [L [BKDW [L [BKDW PX G]HWD ]HWD]HWDBKDW XVLQJG] ]]BKDWPD\KDYHWURXEOH ORJG]HWD ORJG] ORJFD ORJJD]HWD ]HWDBKDW HTQ B ORJ]HWD ORJ] ORJFD ORJJD]HWDA HTQ B ]HWDB ]HWD]HWD DL E PX ] ]HWD ]HWDBG]HWD HTQE B B KD FD ]HWDBKDW]HWDBKDW ORJFD OQ]KDW JD]HWDBKDW SDUWRIFRQVWDQWVLQWKHQGWHUPRIHTQE B J] G] ORJG]HWDFD G]HWDFD G]HWD]HWD ]HWDBKDW
HTQF B
J]S ORJG]HWDG]G]HWDFDFD]HWDA ]HWDB HTQF B F] FD ]HWD G]HWDF]S FD ]HWDBKDW ]HWDBG]HWDA SDUWUGWHUPRIHTQE BE B I] GLDJORJG]HWDOQ]KDW $SIBKDW J]KD $G PBKDW F] $ SL L HTQE B I]B GLDJ]HWD $SIBKDW J]S $G PBKDW F]S $ SL L HTQE B LQWB G] ORJG]HWDOQ]KDW FD JD ORJ]HWD ]HWDBKDW]HWD SDUWRIVWWHUPRIHTQD JEU G]A ORJG]HWDOQ]KDW ORJ]HWD FD JD]HWDBKDW A FDA ]HWD ]HWDBKDW JD ]HWD]HWDBKDW ]HWDA JD JD]HWDBKDW A JDA ]HWD ]HWDBKDW ORJFD OQ]KDW ]HWDA JD ORJ]HWD HTQ LQWB ORJG]HWDOQ]KDWFD FD ]HWDJD ORJ]HWD]HWDBKDW SDUWRIUGWHUPRIHTQD I]LQW GLDJLQWB $SIBKDW GLDJJEU $G PBKDW GLDJLQWB $ SL L HTQD IRUN VQ I] I]GLDJ]HWDAN GNN HTQE B I]B I]BGLDJN ]HWDB ]HWDAN GNN HTQE B LIN
WKHLQWHJUDORIIFDQEHVHSDUDWHGLQWRWZRSDUWVN DQGWKHRWKHUN VHTQE
ILQW GLDJFD GLDJORJ]HWD JD ]HWDA GNN HOVH ILQW GLDJFD GLDJ]HWDAN N GLDJJDN ]HWDAN GNN HQG I]LQW I]LQWILQWHTQD DQGE HQG I]B GLDJPX I]B $ $% % HOVH
SRLQW[L [L ORFDWHVLQVLGHWKHLQFOXVLRQ
] [L [L PX HTQE B >]HWDWKHWDUKR@ PDS(3[LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ I] ]HURVGLP I]B ]HURVGLP I]LQW ]HURVGLP IRUN VQ ]HWDB ]HWD]HWD DL E PX ] HTQE B ]N ]HWDAN ]N JD]HWD AN ]N ]N]N ]NS ]N]NSDUWRIE BE B I] I]GLDJ]N FNN HTQE B I]B I]BGLDJN ]HWDB ]NS]HWD FNN HTQE B LIN
WKHLQWHJUDORIIFDQEHVHSDUDWHGLQWRWZRSDUWVN DQGWKHRWKHUN VHTQF
ILQW GLDJFD GLDJ]HWDAJD]HWD A FNN HOVH ILQW GLDJFD GLDJ]HWD ]NJD]HWD ]N N ]HWD ]NJD]HWD ]N N FNN HQG I]LQW I]LQWILQWHTQF HQG
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
849
I]B GLDJPX I]B $ $% % HQG XG UHDO$ I] SKLG UHDO% I] HTQD XGB UHDO$ I]B XGB UHDO$ I]B SKLGB UHDO% I]B SKLGB UHDO% I]B Z UHDO$G I]LQW HTQ UHWXUQWRWKHRULJLQDOVFDOHRIWKHGLVSODFHPHQWVVORSHVVWUHVVUHVXOWDQWVDQGEHQGLQJPRPHQWV XGGG XGGG K Z ZK HTQD XGBGG XGBGG K XGBGG XGBGG K HTQD 1LM >SKLGB SKLGB SKLGB @ (K HTQ D 0LM >SKLGBG SKLGBG SKLGBG SKLGBG @ (K HTQ D LI3W\SHa XG XG (XGG XGG (K HTQ XGB XGB (XGB XGB (XGBG XGBG (KXGBG XGBG (K HTQ 1LM SKLGB K1LM SKLGB K0LM SKLGBG K0LM SKLGBG K HTQ LI3W\SH! XG XG (XG XG (K XGB XGB (XGB XGB (XGB XGB (KXGB XGB (K 1LM SKLGB K1LM SKLGB K0LM SKLGB K0LM SKLGB K HQG HQG FDOFXODWHWKHVWUHVVUHVXOWDQWVDQGPRPHQWVWLBVVWLBQQDORQJWKHLQWHUIDFH ZKHQ3W\SH WLBVV 1BVV0BVV0BVQ WLBQQ 1BQQ0BQQ1BVQ ZKHQ3W\SHWLBVV 1BVV0BVV0BVQ'V'VV WLBQQ 1BQQ0BQQ1BVQ'Q'QQ ZKHQ3W\SH!WLBVV 1BVV0BVV0BVQ'V'VV%V%VV WLBQQ 1BQQ0BQQ1BVQ'Q'QQ%Q%QQ WLBVV QDQ RQHV GLP WLBQQ QDQ RQHVGLP GHIDXOWRIWLBVVDQGWLBQQ LIDEVDEV]HWD HSV 2W\SH
_2W\SH
_2W\SH
_2W\SH
SVL [L SL FKDQJHGHJUHHWRUDGLDQ >]HWDWKHWDUKR@ PDS(3SVLDED FDOFXODWHWKHWDDQGUKRHTQ FWK FRVWKHWD VWK VLQWKHWD IBV ]HURVGLP IRUN VQ IBV IBVL N GLDJH[SL N SVL H[SL N SVL JDAN FNN UKRHTQ B HQG ILQGWKHGHULYDWLYHVRISKLGLQVQGLUHFWLRQ XGBV UHDO$ IBV SKLGBV UHDO% IBV HTQ B >1WKP1WKP1WKP@ 6WURKBPDWULFHVWKHWD JHQHUDOL]HGHLJHQUHODWLRQHTQ IRUPDWUL[ >1WKL1WKL1WKL@ 6WURKBPDWULFHVWKHWD JHQHUDOL]HGHLJHQUHODWLRQHTQ IRULQFOXVLRQ SKLGBQ 1WKP XGBV1WKP SKLGBVHTQ B SKLGBQ 1WKL XGBV1WKL SKLGBVHTQ B 1BQQ (K VWK SKLGBV FWK SKLGBV 1BVQ (K FWK SKLGBV VWK SKLGBV HTQD BD 0BQQ (K VWK SKLGBVG FWK SKLGBVG WLBQQ >1BQQ0BQQ1BVQ@ HTQD BD 1BVV (K FWK SKLGBQ VWK SKLGBQ 1BVV (K FWK SKLGBQ VWK SKLGBQ HTQD BD 0BVV (K FWK SKLGBQG VWK SKLGBQG 0BVV (K FWK SKLGBQG VWK SKLGBQG HTQD BD 0BVQ (K FWK SKLGBVG VWK SKLGBVG VWK SKLGBQG FWK SKLGBQG HTQD BD 0BVQ (K FWK SKLGBVG VWK SKLGBVG VWK SKLGBQG FWK SKLGBQG HTQD BD LI,FKHFN
WUDQVIRUPDWLRQIURP[[WRVQFRRUGLQDWHHTQEF 1BVVF 1LM FWKA1LM VWKA 1LM FWK VWK
850
Appendix F: AEPH Source Code (Listed in Alphabetic Order) 1BQQF 1LM VWKA1LM FWKA 1LM FWK VWK 1BVQF 1LM FWK VWK1LM FWK VWK1LM FWKAVWKA 0BVVF 0LM FWKA0LM VWKA 0LM FWK VWK 0BQQF 0LM VWKA0LM FWKA 0LM FWK VWK 0BVQF 0LM FWK VWK0LM FWK VWK0LM FWKAVWKA WLBVVF >1BVVF0BVVF0BVQF@WLBQQF >1BQQF0BQQF1BVQF@ >]HWDWKHWDUKR@ PDS(3[LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ LIDEV]HWD ! HSV WLBVV >1BVV 0BVV 0BVQ @ HOVH WLBVV >1BVV 0BVV 0BVQ @ HQG GLI DEVWLBVVWLBVVF VWU ^ >1BVV0BVV0BVQ@ >1BVVF0BVVF0BVQF@ `VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[LWLBVVWLBVVFGLIVWU SULQWWKHPHVVDJHRI,FKHFN GLI DEVWLBQQWLBQQF VWU ^ >1BQQ0BQQ1BVQ@ >1BQQF0BQQF1BVQF@ `VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[LWLBQQWLBQQFGLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG WLBVV >1BVV 0BVV 0BVQ 1BVV 0BVV 0BVQ @ LI3W\SHa DQDORJRXVZD\RIHTQD IRUWKHFDOFXODWLRQRI'QDQG'V 'Q SKLGBV K 'QQ SKLGBVG K HTQ 'V SKLGBQ K 'V SKLGBQ K HTQ 'VV SKLGBQG K 'VV SKLGBQG K HTQ WLBVV >1BVV 0BVV 0BVQ 'V 'VV 1BVV 0BVV 0BVQ 'V 'VV @ WLBQQ >1BQQ0BQQ1BVQ'Q'QQ@ LI3W\SH! %Q SKLGBV K %QQ SKLGBV K %V SKLGBQ K %V SKLGBQ K %VV SKLGBQ K%VV SKLGBQ K WLBVV >1BVV 0BVV 0BVQ 'V 'VV %V %VV 1BVV 0BVV 0BVQ 'V 'VV %V %VV @ WLBQQ >1BQQ0BQQ1BVQ'Q'QQ%Q%QQ@ HQG HQG HQG
F194: s1462LAMincluPFMi IXQFWLRQ>ZXGXGBXGB1LM0LMWLBVVWLBQQ@ V/$0LQFOX3)0LORDGVWU[LYN 6/$0LQFOX3)0LFDOFXODWHVWKHGLVSODFHPHQWVVORSHVVWUHVVUHVXOWDQWVDQG EHQGLQJPRPHQWVIRUDODPLQDWHFRQWDLQLQJDQHOOLSWLFDOLQFOXVLRQ VXEMHFWHGWRDSRLQWIRUFHDQGRUEHQGLQJPRPHQWLQVLGHWKHLQFOXVLRQ 7KLVIXQFWLRQLVDOVRYDOLGIRUWKHHOHFWURHODVWLFRU0((ODPLQDWHVZKRVH3W\SHa ZXGXGBXGB1LM0LMWLBVVWLBQQORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ (K(KKVFDOLQJIDFWRUV(K ( K(K (K KAK KA DEKDOIOHQJWKVRIWKHHOOLSWLFDOLQFOXVLRQ IBKDWPBKDWSRLQWIRUFH>IIIII@DQGSRLQWPRPHQW>PPPPP@
Appendix F: AEPH Source Code (Listed in Alphabetic Order) IPSRLQWORDGRIHOHFWULFFKDUJHIPSRLQWORDGRIPDJQHWLFIOX[ IIPPDUHUHTXLUHGRQO\IRUSLH]RHOHFWULFRU0((SUREOHPV [BKDWORFDWLRQRISRLQWIRUFHDQGPRPHQW VQHVWLPDWHGWHUPVIRULQILQLWHVHULHVVXJJHVWHGQXPEHU SBKDW IRUHODVWLFSUREOHPVSBKDW >IBKDW IBKDW PBKDW PBKDW @HTQE B IRUSLH]RHOHFWULFSUREOHPVSBKDW >IBKDW IBKDW IBKDW PBKDW PBKDW PBKDW @ IRU0((SUREOHPVSBKDW >IBKDW IBKDW IBKDW IBKDW PBKDW PBKDW PBKDW PBKDW @ GGG GLPG GGLQLWLDOURZRIWKHQH[WKDOIGLPHQVLRQ PXPX$$%%PDWHULDOHLJHQYDOXHVPXDQGHLJHQYHFWRUPDWULFHV$%RIPDWHULDOVPDWUL[ DQGLQFOXVLRQ $L%LLQYHUVHRIPDWUL[$DQG% ]BKDWFRPSOH[YDULDEOHUHODWHGWR[BKDW]BKDW [BKDW [BKDW PX ]HWDBKDWWUDQVIRUPHGYDULDEOHDVVRFLDWHGZLWK]BKDWHTQ $S$S $
SBKDWSDUWRIHTQ B FDFDFD DL E PX FD DL E PX FRQVWDQWVFDGHILQHGLQHTQF BIRUPDWUL[DQGLQFOXVLRQHLJHQYDOXHV JDJDJD DL E PX DL E PX JD DL E PX DL E PX GHILQHGLQHTQF BHTQE B NNPFRHIILFLHQWYHFWRUVGHILQHGLQHTQD FNGNFRQVWDQWYHFWRUVGHILQHGLQHTQE B JOREDO3W\SH2W\SH,FKHFNHSV(KGLP$BD%BDPXBD IURP0DLQSURJUDPFRQWUROSDUDPHWHUV 6WURK VPDWHULDOSURSHUWLHV JOREDO(K(KKDEIBKDWPBKDW[BKDWVQSBKDWGG JHQHUDWHGZKHQYN HPSOR\HGZKHQYN! JOREDOPXPX$$%%$L%L]BKDW]HWDBKDWJHQHUDWHGZKHQYN HPSOR\HGZKHQYN! JOREDO$SFDFDJDJDNNPFNGNJHQHUDWHGZKHQYN HPSOR\HGZKHQYN! LIYN
&DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN
G GLPG G GLQLWLDOURZRIWKHQH[WKDOIGLPHQVLRQZKLFKLVUHODWHGWRVORSHVRUEHQGLQJPRPHQWV K K K (K ( K (K ( K VFDOLQJIDFWRUV D ORDGVWU E ORDGVWU
DEKDOIOHQJWKVRIWKHHOOLSWLFDOLQFOXVLRQ
IBKDW ORDGVWU (K PBKDW ORDGVWU (KSRLQWORDG>III@DQGPRPHQW>PPP@ IBKDW IBKDW K PBKDW PBKDW K IRXWSODQHEHQGLQJPLQSODQHWRUVLRQ [BKDW ORDGVWU
[BKDWORFDWLRQRISRLQWIRUFHDQGPRPHQW
VQ ORDGVWU HVWLPDWHGWHUPVIRULQILQLWHVHULHVVXJJHVWHGQXPEHU SBKDW >IBKDW IBKDW PBKDW PBKDW @ HTQE B LI3W\SHa IBKDW ORDGVWU K PBKDW ORDGVWU K IPSRLQWORDGRIHOHFWULFFKDUJH SBKDW >IBKDW IBKDW IBKDW PBKDW PBKDW PBKDW @ LI3W\SH! IBKDW ORDGVWU K PBKDW ORDGVWU K IPSRLQWORDGRIPDJQHWLFIOX[ SBKDW >IBKDW IBKDW IBKDW IBKDW PBKDW PBKDW PBKDW PBKDW @ HQG HQG PX PXBD $ $BD % %BD PDWHULDOHLJHQYDOXHVDQGHLJHQYHFWRUPDWULFHVRIPDWUL[ PX PXBD $ $BD % %BD PDWHULDOHLJHQYDOXHVDQGHLJHQYHFWRUPDWULFHVRILQFOXVLRQ $L LQY$ %L LQY% LQYHUVHRIPDWUL[$DQG% ]BKDW [BKDW [BKDW PX HTQE B >]HWDBKDWWKHWDUKR@ PDS(3[BKDWDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDBKDWHTQ $S $
SBKDW SDUWRIHTQ B FD DL E PX FD DL E PX FDFDFDBVWDU FDRIPDWUL[DQGLQFOXVLRQHTQF B JD DL E PX DL E PX JD DL E PX DL E PX HTQF BHTQE B
851
852
Appendix F: AEPH Source Code (Listed in Alphabetic Order) 4 $ GLDJFD ORJFD % 4 $ GLDJFD ORJFD $ HTQ N IBKDW %
4G $
4G NP IBKDW %
FRQM4G $
4G HTQD IRUN VQ >HNFNN @ VBHFNN FDOFXODWHHNDQGFNE\IXQFWLRQVBHFNHTQD E B GNN %L FRQM% FNN % GLDJJDAN FNN % HN HTQ B LI,FKHFN
FKHFNE\HTQ B
GNF $L FRQM$ FNN $ GLDJJDAN FNN $ HN GLI GNN GNF LIPD[DEVGLI ! HSVGLVS GLIIHUHQWGNIURPGLIIHUHQWDSSURDFKHV NGNN GNFHQG HQG HQG HQG ] [L [L PX HTQE B >]HWDWKHWDUKR@ PDS(3[LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDBKDWHTQ LIDEV]HWD ! HSV SRLQW[L [L ORFDWHVRXWVLGHWKHLQFOXVLRQ ORJ]HWD ORJ] ORJFD ORJJD]HWDA HTQ B G] [L [BKDW [L [BKDW PX ]BKDW [BKDW [BKDW PXXVLQJG] ]]BKDWPD\KDYHWURXEOH ]L ]HWD ]L ]LA ]HWDB ]HWD]HWD DL E PX ] ]HWDBHTQE B ]HWDBL ]L ]HWDBN]B GLDJ]HWDB NGLDJ]L NP SDUWRIHTQ B I] GLDJORJ]HWD $
SBKDWIBKDW G] ORJ]HWD $G GLDJ]L NPGLDJ]HWD N SL L HTQ B I]B GLDJ]HWDBL $
SBKDWIBKDW ]HWDBL G]ORJ]HWD $G N]B SL L HTQ B KWL ] ]]BKDW FDA JD ORJ]HWDFD ]]BKDW ]HWDJD ]L KBWLOGHHTQF B S GLDJ]HWDA NGLDJORJ]HWD NP S GLDJORJ]HWD NGLDJ]L NP HTQF B NLQW GLDJFD SGLDJJD S SDUWRIHTQD I]LQW GLDJ] ORJ]HWDFD ]HWDJD ]L $
SBKDWIBKDW KWL $G NLQW SL L
HTQD
IRUN VQ I] I]GLDJ]HWDAN GNN HTQ B I]B I]BGLDJN ]HWDB ]HWDAN GNN HTQE B LIN
WKHLQWHJUDORIIFDQEHVHSDUDWHGLQWRWZRSDUWVN DQGWKHRWKHUN VHTQE
ILQW GLDJFD GLDJORJ]HWDJD ]HWDA GNN HOVH ILQW GLDJFD GLDJ]HWDAN N GLDJJD ]HWDAN N GNN HQG I]LQW I]LQWILQWHTQD DQGE HQG I]B GLDJPX I]B $ $% % HOVH
SRLQW[L [L ORFDWHVLQVLGHWKHLQFOXVLRQ
] [L [L PX HTQE B >]HWDWKHWDUKR@ PDS(3[LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ G] [L [BKDW [L [BKDW PXORJ] ORJG] ]ORJ] G] ORJ] G]L G] SDUWRIHTQ B HNB ]BKDW ORJFD SDUWRIFRQVWDQWVLQQGWHUPRIHTQ B S]HWD G]A ORJ]ORJFD ]A ORJFD FDA JD ORJFD HTQF B I] GLDJORJ]ORJFD $SIBKDW ]ORJ]HNB $G PBKDW G]L $ SL L I]BVWDURIHTQ B I]B GLDJG]L $SIBKDW ORJ] $G PBKDW G]LA $ SL L HTQ B I]LQW GLDJ]ORJ]G] ORJFD $SIBKDW S]HWD $G PBKDW ORJ]ORJFD $ SL L HTQE IRUN VQ ]HWDB ]HWD]HWD DL E PX ] HTQE B ]N ]HWDAN ]N JD]HWD AN ]N ]N]N ]NS ]N]NSDUWRIE BE B I] I]GLDJ]N FNN HTQ B I]B I]BGLDJN ]HWDB ]NS]HWD FNN HTQE B
Appendix F: AEPH Source Code (Listed in Alphabetic Order) LIN
853
WKHLQWHJUDORIIFDQEHVHSDUDWHGLQWRWZRSDUWVN DQGWKHRWKHUN VHTQF
ILQW GLDJFD GLDJ]HWDAJD]HWD A FNN HOVH ILQW GLDJFD GLDJ]HWD ]NJD]HWD ]N N ]HWD ]NJD]HWD ]N N FNN HQG I]LQW I]LQWILQW HTQE DQGF HQG I]B GLDJPX I]B $ $% % HQG XG UHDO$ I] SKLG UHDO% I] HTQD XGB UHDO$ I]B XGB UHDO$ I]B SKLGB UHDO% I]B SKLGB UHDO% I]B Z UHDO$G I]LQW HTQ UHWXUQWRWKHRULJLQDOVFDOHRIWKHGLVSODFHPHQWVVORSHVVWUHVVUHVXOWDQWVDQGEHQGLQJPRPHQWV XGGG XGGG K Z ZK HTQD XGBGG XGBGG K XGBGG XGBGG K HTQD 1LM >SKLGB SKLGB SKLGB @ (K HTQ D 0LM >SKLGBG SKLGBG SKLGBG SKLGBG @ (K HTQ D LI3W\SHa XG XG (XGG XGG (K HTQ XGB XGB (XGB XGB (XGBG XGBG (KXGBG XGBG (K HTQ 1LM SKLGB K1LM SKLGB K0LM SKLGBG K0LM SKLGBG K HTQ LI3W\SH! XG XG (XG XG (K XGB XGB (XGB XGB (XGB XGB (KXGB XGB (K 1LM SKLGB K1LM SKLGB K0LM SKLGB K0LM SKLGB K HQG HQG FDOFXODWHWKHVWUHVVUHVXOWDQWVDQGPRPHQWVWLBVVWLBQQDORQJWKHLQWHUIDFH ZKHQ3W\SH WLBVV 1BVV0BVV0BVQ WLBQQ 1BQQ0BQQ1BVQ ZKHQ3W\SHWLBVV 1BVV0BVV0BVQ'V'VV WLBQQ 1BQQ0BQQ1BVQ'Q'QQ ZKHQ3W\SH!WLBVV 1BVV0BVV0BVQ'V'VV%V%VV WLBQQ 1BQQ0BQQ1BVQ'Q'QQ%Q%QQ WLBVV QDQ RQHV GLP WLBQQ QDQ RQHVGLP GHIDXOWRIWLBVVDQGWLBQQ LIDEVDEV]HWD HSV 2W\SH
_2W\SH
_2W\SH
_2W\SH
SVL [L SL FKDQJHGHJUHHWRUDGLDQ >]HWDWKHWDUKR@ PDS(3SVLDED FDOFXODWHWKHWDDQGUKRHTQ FWK FRVWKHWD VWK VLQWKHWD OD D FRVSVL E PX VLQSVL ]BKDWHTQF ODL ODODL ODLA SDUWRIHTQE B FDOFXODWHWKHGHULYDWLYHVRII] LQVQGLUHFWLRQ IBV GLDJFWKPX VWK GLDJODL $SIBKDW ORJOD $G PBKDW ODL $ SL L HTQE B IRUN VQ IBV IBVL N H[SL N SVL GLDJH[S L N SVL JDAN FNN UKRHTQE HQG XGBV UHDO$ IBV SKLGBV UHDO% IBV HTQD >1WKP1WKP1WKP@ 6WURKBPDWULFHVWKHWD JHQHUDOL]HGHLJHQUHODWLRQHTQ IRUPDWUL[ >1WKL1WKL1WKL@ 6WURKBPDWULFHVWKHWD JHQHUDOL]HGHLJHQUHODWLRQHTQ IRULQFOXVLRQ SKLGBQ 1WKP XGBV1WKP SKLGBVHTQ B SKLGBQ 1WKL XGBV1WKL SKLGBVHTQ B
854
Appendix F: AEPH Source Code (Listed in Alphabetic Order) 1BQQ (K VWK SKLGBV FWK SKLGBV 1BVQ (K FWK SKLGBV VWK SKLGBV HTQD BD 0BQQ (K VWK SKLGBVG FWK SKLGBVG WLBQQ >1BQQ0BQQ1BVQ@ HTQD BD 1BVV (K FWK SKLGBQ VWK SKLGBQ 1BVV (K FWK SKLGBQ VWK SKLGBQ HTQD BD 0BVV (K FWK SKLGBQG VWK SKLGBQG 0BVV (K FWK SKLGBQG VWK SKLGBQG HTQD BD 0BVQ (K FWK SKLGBVG VWK SKLGBVG VWK SKLGBQG FWK SKLGBQG HTQD BD 0BVQ (K FWK SKLGBVG VWK SKLGBVG VWK SKLGBQG FWK SKLGBQG HTQD BD LI,FKHFN
WUDQVIRUPDWLRQIURP[[WRVQFRRUGLQDWHHTQEF 1BVVF 1LM FWKA1LM VWKA 1LM FWK VWK 1BQQF 1LM VWKA1LM FWKA 1LM FWK VWK 1BVQF 1LM FWK VWK1LM FWK VWK1LM FWKAVWKA 0BVVF 0LM FWKA0LM VWKA 0LM FWK VWK 0BQQF 0LM VWKA0LM FWKA 0LM FWK VWK 0BVQF 0LM FWK VWK0LM FWK VWK0LM FWKAVWKA WLBVVF >1BVVF0BVVF0BVQF@WLBQQF >1BQQF0BQQF1BVQF@ >]HWDWKHWDUKR@ PDS(3[LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ LIDEV]HWD ! HSV WLBVV >1BVV 0BVV 0BVQ @ HOVH WLBVV >1BVV 0BVV 0BVQ @ HQG GLI DEVWLBVVWLBVVF VWU ^ >1BVV0BVV0BVQ@ >1BVVF0BVVF0BVQF@ `VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[LWLBVVWLBVVFGLIVWU SULQWWKHPHVVDJHRI,FKHFN GLI DEVWLBQQWLBQQF VWU ^ >1BQQ0BQQ1BVQ@ >1BQQF0BQQF1BVQF@ `VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN SULQW7)[LWLBQQWLBQQFGLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG WLBVV >1BVV 0BVV 0BVQ 1BVV 0BVV 0BVQ @ LI3W\SHa DQDORJRXVZD\RIHTQD IRUWKHFDOFXODWLRQRI'QDQG'V 'Q SKLGBV K 'QQ SKLGBVG K HTQ 'V SKLGBQ K 'V SKLGBQ K HTQ 'VV SKLGBQG K 'VV SKLGBQG K HTQ WLBVV >1BVV 0BVV 0BVQ 'V 'VV 1BVV 0BVV 0BVQ 'V 'VV @ WLBQQ >1BQQ0BQQ1BVQ'Q'QQ@ LI3W\SH! %Q SKLGBV K %QQ SKLGBV K %V SKLGBQ K %V SKLGBQ K %VV SKLGBQ K%VV SKLGBQ K WLBVV >1BVV 0BVV 0BVQ 'V 'VV %V %VV 1BVV 0BVV 0BVQ 'V 'VV %V %VV @ WLBQQ >1BQQ0BQQ1BVQ'Q'QQ%Q%QQ@ HQG HQG HQG
F195: Stroh_matrices IXQFWLRQ>;1WK1WK1WK@ &RQYHUW11WK1WK1WK HQG FRQYHUWIURP1PWR1
6V 6V1WK ZJLJ +V +V1WK ZJLJ /V /V1WK ZJLJ HQG HQG 6+/ >6V+V/V6V @ 6+/L LQY6+/ 6WL 6+/LGLPGLP +WL 6+/LGLPGLP GLP /WL 6+/LGLP GLPGLP 5HIH[WHQGHGV\PERO ; 6WL< +WL= /WL FDVH^`FDOFXODWLRQRI1WK1WK1WKHTQF 1PDW! LI1PDW
4 45 57 7HQG
IRUWKHFDVHRI1PDW
LI1PDW! LI6W\SH
IRULQFOXVLRQSUREOHPV
4 4BDNWK 5 5BDNWK 7 7BDNWK NWK PDWUL[NWK LQFOXVLRQ HOVH
XVHGLQSUREOHPVZLWKPXOWLPDWHULDOZHGJHVQHHGLQIRUPDWLRQRIWKNLP IRULP 1PDW
GWK WKHWDWKNLP GWK WKHWDWKNLP LIGWK! GWK LWK LPEUHDN HQG HQG 4 4BDLWK 5 5BDLWK 7 7BDLWK HQG HQG F FRVWKHWD V VLQWKHWD F F FV V VFV F V 4WK 4 F55 FV7 V5WK 5 F74 FV5
V7WK 7 F55 FV4 V HTQ 1WK LQY7WK 1WK 1WK 5WK 1WK 5WK 1WK4WK HTQF LI'
>1WK1WK1WK@ &RQYHUW11WK1WK1WK HQG FRQYHUWIURP1PWR1
; 1WK< 1WK= 1WK FDVH^` FDOFXODWLRQRI1WL1WL1WLH[WHQGHGV\PERO RIVHFWLRQ1PDW! LQWHJUDOVWDUWLQJIURPDOSKDWRWKHWDLHFDOFXODWH1LBWLOGHWKHWDDOSKD L >[JZJ@ *DXVVQB*DXVV 1WL ]HURVGLP 1WL ]HURVGLP 1WL ]HURVGLP WK WKHWDDOSKD WK WKHWDDOSKD IRULJ QB*DXVV WK WK [JLJ WK 4 45 57 7 IRUWKHFDVHRI1PDW
Appendix F: AEPH Source Code (Listed in Alphabetic Order) LI1PDW! IRULP 1PDW GWK WKWKNLP GWK WKWKNLP LIGWK! GWK LWK LPEUHDN HQG HQG 4 4BDLWK 5 5BDLWK 7 7BDLWK HQG F FRVWK V VLQWK F F FV V VFV F V 4WK 4 F55 FV7 V5WK 5 F74 FV5
V7WK 7 F55 FV4 VHTQ 1WK LQY7WK 1WK 1WK 5WK 1WK 5WK 1WK4WK HTQF LI'
>1WK1WK1WK@ &RQYHUW11WK1WK1WK HQG FRQYHUWIURP1PWR1
1WL 1WL1WK ZJLJ 1WL 1WL1WK ZJLJ 1WL 1WL1WK ZJLJ HQG ; 1WL WKSL< 1WL WKSL= 1WL WKSL FDVH FDOFXODWLRQRI1KDW1KDW1KDWH[WHQGHGV\PERO RIVHFWLRQ1PDW! F FRVDOSKD V VLQDOSKD F F FV V VFV F V 4WK 4 F55 FV7 V5WK 5 F74 FV5
V7WK 7 F55 FV4 V HTQ 1WK LQY7WK 1WK 1WK 5WK 1WK 5WK 1WK4WK HTQF LI'
>1WK1WK1WK@ &RQYHUW11WK1WK1WK HQG FRQYHUWIURP1PWR1
WK WKHWDDOSKDF FRVWK V VLQWK 1KDW F H\HGLP V 1WK 1KDW V 1WK 1KDW V 1WK ; 1KDW< 1KDW= 1KDW FDVH FDOFXODWLRQRI1LVXELQYHUVHRI1HTQ 1PDW F FRVWKHWD V VLQWKHWD F F FV V VFV F V 4WK 4 F55 FV7 V 5WK 5 F74 FV5
V7WK 7 F55 FV4 V HTQ 1WK LQY7WK 1WK 1WK 5WK 1WK 5WK 1WK4WK HTQF LI'
>1WK1WK1WK@ &RQYHUW11WK1WK1WK HQG FRQYHUWIURP1PWR1
2PHJD >FVVF@ LIGLP
2PHJD >2PHJD]HURV ]HURV @HQG
LIGLP
2PHJD >2PHJD]HURV ]HURV H\H @HQG
LIGLP
2PHJD >2PHJD]HURV ]HURV H\H @HQG
LIGLP
2PHJD >2PHJD]HURV ]HURV H\H @HQG
1BVWDU 2PHJD 1WK 2PHJD 1BVWDU >@1BVWDU >@HTQF L1V LQY1BVWDU WDNHLQYHUVHDIWHUGHOHWLQJWKH]HURURZDQGFROXPQHTQF D LIGLP
1VL >L1V L1V L1V L1V @
HOVHLIGLP
1VL >L1V L1V L1V
L1V L1V L1V L1V L1V L1V @ HOVHLIGLP
1VL >L1V L1V L1V L1V
L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V @ HOVHLIGLP
1VL >L1V L1V L1V L1V L1V
L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V @
857
858
Appendix F: AEPH Source Code (Listed in Alphabetic Order) HOVHLIGLP
1VL >L1V L1V L1V L1V L1V L1V L1V
L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V L1V @ HQG 1L 2PHJD
1VL 2PHJD ; 1WK< 1WK= 1L FDVH FDOFXODWLRQRI*WK1WK*WKH[WHQGHGV\PERO DQG RIVHFWLRQ1PDW 6 UHDOL $ % H\HGLP / UHDOL % % 6HWUHDO WRDYRLGVPDOOHUURULQGXFHGE\QXPHULFDOFDOFXODWLRQ F FRVWKHWD V VLQWKHWD F F FV V VFV F V /L LQY/ HTQ 4WK 4 F55 FV7 V 5WK 5 F74 FV5
V7WK 7 F55 FV4 V HTQ 1WK LQY7WK 1WK 1WK 5WK 1WK 5WK 1WK4WK HTQF LI'
>1WK1WK1WK@ &RQYHUW11WK1WK1WK HQG FRQYHUWIURP1PWR1
*WK 1WK 1WK 6 /L*WK 1WK /L H[WHQGHGV\PERO RI6HFWLRQ ; *WK< 1WK= *WK FDVH FDOFXODWLRQRI1G1G1GVXEPDWULFHVRI1KDW VGHOSRZHU GHILQHGLQ GWK WKHWDDOSKD FD FRVDOSKD VD VLQDOSKD LI1PDW
PX PX $ $% %
HOVHPX PXBDNWK $ $BDNWK % %BDNWK HQG PXBWK PX FDVD PX VDFD PXBKDW FRVGWK VLQGWK PXBWK PXB[ PXBKDWA[GHO FPXB[ FRQMPXBKDW A[GHO FKDQJHWKHUHJLRQRISULQFLSDOYDOXHIURPWKHPDWODEUHJLRQSLSL WRWKHSUREOHPUHJLRQ SL IRUM GLP LIDQJOHPXBKDWM PXB[M PXB[M H[S SL [GHO L HTQ FPXB[M FPXB[M H[S SL [GHO L HQG HQG PXFB[ >PXB[FPXB[@ GPXB[ GLDJPXFB[ $% >$FRQM$ %FRQM% @ %$ >% $ % $ @ (N $% GPXB[ %$ ; (NGLPGLP < (N= (NGLP GLPGLP ; 1G< 1G= 1G FDVH FDOFXODWLRQRI1GS1GS1GSVXEPDWULFHVRISULPHRI1KDW VGHOSRZHU GHILQHGLQ GWK WKHWDDOSKD FD FRVDOSKD VD VLQDOSKD LI1PDW
PX PX $ $% %
HOVHPX PXBDNWK $ $BDNWK % %BDNWK HQG PXBWK PX FDVD PX VDFD PXBKDW FRVGWK VLQGWK PXBWK PXBKS VLQGWK FRVGWK PXBWK GHULYDWLYHRIPXBKDWZUW?WKHWD PXB[S [GHO PXBKS PXBKDWA[GHO GHULYDWLYHRIPXBKDWA[GHOZUW?WKHWD FPXB[S [GHO FRQMPXBKS FRQMPXBKDW A[GHO WDNHWKHFRQMXJDWHRIPXB[SH[FOXGLQJ[GHO FKDQJHWKHUHJLRQRISULQFLSDOYDOXHIURPWKHPDWODEUHJLRQSLSL WRWKHSUREOHPUHJLRQ SL IRUM GLP LIDQJOHPXBKDWM PXB[SM PXB[SM H[S SL [GHO L HTQ
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
859
FPXB[SM FPXB[SM H[S SL [GHO L HQG HQG PXFB[S >PXB[SFPXB[S@GPXB[S GLDJPXFB[S $% >$FRQM$ %FRQM% @ %$ >% $ % $ @ (NS $% GPXB[S %$ ; (NSGLPGLP < (NS= (NSGLP GLPGLP ; 1GS< 1GS= 1GS FDVH FDOFXODWLRQRI0V':ELPDWHULDOPDWULFHVGHILQHGLQWKHH[WHQGHGV\PERO RIVHFWLRQ 6 L $BD %BD H\HGLP HTQ 6 L $BD %BD H\HGLP / L %BD %BD / L %BD %BD 6 UHDO6 6 UHDO6 / UHDO/ / UHDO/ 6HWUHDO WRDYRLGVPDOOHUURULQGXFHGE\QXPHULFDOFDOFXODWLRQ /L //L / VHWWKHLQLWLDOYDOXHVIRUWKHLQYHUVHRI/DQG/WRLQFOXGHWKHSRVVLEOH]HURVIURP WR GLP GLPBD G/ GHW/GLPGLP LIG/
GLP GLPHQG
PD\QRWEHYDOLGIRUWKHJHQHUDOGHJHQHUDWHFDVHV
GLP GLPBD G/ GHW/GLPGLP LIG/
GLP GLPHQG
PD\QRWEHYDOLGIRUWKHJHQHUDOGHJHQHUDWHFDVHV
/LGLPGLP LQY/GLPGLP LQYHUVHH[FOXGLQJWKHSRVVLEOH]HURV /LGLPGLP LQY/GLPGLP LQYHUVHH[FOXGLQJWKHSRVVLEOH]HURV ' /L/L : 6 /L6 /L 0V 'L : ; 0V< '= : FDVH FDOFXODWLRQRIGLDJWDXBG GLDJWDXBG *DPPNBNAVWDUPDWULFHVUHODWHGWRWKHUPDOSURSHUWLHV E E LI1PDW
NLM NLMWDX WDX
HOVHNLM NLMBDNWK WDX WDXBDNWK HQG N VTUWNLM NLM NLM HTQD B /DPN >L NL N@ HTQE B GWK WKHWDDOSKD FD FRVDOSKD VD VLQDOSKD WDXBWK WDX FDVD WDX VDFD
HTQE B
WDXBKDW FRVGWK VLQGWK WDXBWK HTQE B WDXBG WDXBKDWA[GHO WDXBG FRQMWDXBKDW A[GHO SDUWRID WDXBG WDXBKDW WDXBG WDXBG FRQMWDXBKDW WDXBG SDUWRIE FKDQJHWKHUHJLRQRISULQFLSDOYDOXHIURPWKHPDWODEUHJLRQSLSL WRWKHSUREOHPUHJLRQ SL LIDQJOHWDXBKDW WDXBG WDXBG H[S SL [GHO L WDXBG WDXBG H[S SL [GHO L HTQ WDXBG WDXBG H[S SL [GHO L WDXBG WDXBG H[S SL [GHO L HQG ; /DPN HTQE B < GLDJWDXBG GLDJWDXBKDWA[GHO ZLWK[GHO GHOWDHTQE B = /DPN GLDJWDXBG LQY/DPN *DPPDBNWKHWDWKHWDBN AVWDURIHTQE ZLWK[GHO GHOWD FDVH FDOFXODWLRQRIWKHGHULYDWLYHVRIGLDJWDXBG GLDJWDXBG *DPPNBNAVWDUGHILQHGLQ LI1PDW
NLM NLMWDX WDX
HOVHNLM NLMBDNWK WDX WDXBDNWK HQG N VTUWNLM NLM NLM HTQD B /DPN >L NL N@ HTQE B GWK WKHWDDOSKD FD FRVDOSKD VD VLQDOSKD WDXBWK WDX FDVD WDX VDFD
HTQE B
WDXBKDW FRVGWK VLQGWK WDXBWK HTQE B WDXBKS VLQGWK FRVGWK WDXBWK GHULYDWLYHRIWDXBKDWZUW?WKHWD WDXB[S [GHO WDXBKS WDXBKDWA[GHO GHULYDWLYHRIWDXBKDWA[GHOZUW?WKHWD WDXB[S [GHO FRQMWDXBKS FRQMWDXBKDW A[GHO WDNHWKHFRQMXJDWHRIPXB[SH[FOXGLQJ[GHO
860
Appendix F: AEPH Source Code (Listed in Alphabetic Order) WDXB[S [GHO WDXBKS WDXBKDWA[GHO GHULYDWLYHRIWDXBKDWA[GHOZUW?WKHWD WDXB[S [GHO FRQMWDXBKS FRQMWDXBKDW A[GHO WDNHWKHFRQMXJDWHRIPXB[SH[FOXGLQJ[GHO FKDQJHWKHUHJLRQRISULQFLSDOYDOXHIURPWKHPDWODEUHJLRQSLSL WRWKHSUREOHPUHJLRQ SL LIDQJOHWDXBKDW WDXB[S WDXB[S H[S SL [GHO L WDXB[S WDXB[S H[S SL [GHO L HTQ WDXB[S WDXB[S H[S SL [GHO L WDXB[S WDXB[S H[S SL [GHO L HQG ; /DPN HTQE B < GLDJWDXB[S GHULYDWLYHRIGLDJWDXBKDWA[GHO ZLWK[GHO GHOWDHTQE B = /DPN GLDJWDXB[S LQY/DPN GHULYDWLYHRI*DPPDBNWKHWDWKHWDBN AVWDURIHTQE ZLWK[GHO GHOWD RWKHUZLVH GLVS 6W\SHVKRXOGEHRU HQG IXQFWLRQ>;@ , GLDJ>@ , GLDJ>@ ,W >,,,,@ HTQDE HOVH
0((PDWHULDOV
, GLDJ>@ , GLDJ>@ , GLDJ>@ ,W >,,,,@ HQG ;;P6,) 6,) @ =GLP 6,)GLP =GLP 6,)GLP LI3W\SHa SLH]R0((ODPLQDWHV VWU ^ ?U?QVWUHVVLQWHQVLW\IDFWRUV?U?Q ., .,, .,9 .,% .,,% .,9% ` = 6,) =GLP 6,)GLP LI3W\SH! 0((ODPLQDWHV VWU ^ ?U?QVWUHVVLQWHQVLW\IDFWRUV?U?Q ., .,, .,9 .9 .,% .,,% .,9% .9% ` = 6,) = 6,) HQG HQG HQG SULQW7)ILG>@>@=VWUGLP LI/W\SH
ISULQWIILG ?U?QHQHUJ\UHOHDVHUDWH H?U?Q (1* HQG
FDVH VWUHVVLQWHQVLW\IDFWRUVRIWZRWLSVRIRQHFUDFNRUQWLSVRIQFUDFNV VWU ^ ?U?QVWUHVVLQWHQVLW\IDFWRUV?U?Q ., .,, .,,, .,9 .9 ` ' 'W\SH 'W\SH 'W\SH 'W\SH 'W\SH 'W\SH 'W\SH LI'
FRXSOHGVWUHWFKLQJEHQGLQJDQDO\VLV
GLP GLP VWU ^ ?U?QVWUHVVLQWHQVLW\IDFWRUV?U?Q ., .,, .,% .,,% ` LI3W\SHa SLH]R0((ODPLQDWHV VWU ^ ?U?QVWUHVVLQWHQVLW\IDFWRUV?U?Q ., .,, .,9 .,% .,,% .,9% ` LI3W\SH! 0((ODPLQDWHV VWU ^ ?U?QVWUHVVLQWHQVLW\IDFWRUV?U?Q ., .,, .,9 .9 .,% .,,% .,9% .9% ` HQG HQG HQG LI/W\SH
_/W\SH
HOVHLI/W\SH HOVHLI0/W\SH LI/W\SH
_/W\SH
_/W\SH
QF 6,)IRUIRXUWLSVRIWZRFUDFNVLQWHUIDFHFUDFNV
_/W\SH
QF QFUHQG
_PRG/W\SH
QF 6,)IRUWZRWLSVRIRQHFUDFNLQWHUIDFHFUDFN
6,)IRU QFUWLSVRIQFUFUDFNV
FUDFNWLSRXWVLGHWKHLQFOXVLRQFUDFNWLSLQVLGHWKHLQFOXVLRQ
LILVHTXDO;WLS ;WLS
QF 6,) >6,) 6,) @;WLS >;WLS ;WLS @ SHQHWUDWLQJFUDFNZLWKWLS
HOVHLILVHTXDO;WLS ;WLS
QF 6,) >6,) 6,) @;WLS >;WLS ;WLS @SHQHWUDWLQJFUDFNZLWKWLS
HOVHQF HQG HQG IRUN QF = >6,)N 6,)N 6,)N @LI3W\SHa = >=6,)N @HQG IRUSLH]RRU0(( LI3W\SH!= >=6,)N @HQG LI'
IRU0((PDWHULDOV
FRXSOHGVWUHWFKLQJEHQGLQJDQDO\VLV
= >6,)N 6,)N @ =GLP 6,)GLPN =GLP 6,)GLPN LI3W\SHa = 6,)N =GLP 6,)GLPN HQG SLH]R0((ODPLQDWHV LI3W\SH!= 6,)N = 6,)N HQG
0((ODPLQDWHV
864
Appendix F: AEPH Source Code (Listed in Alphabetic Order) HQG ISULQWIILG ?U?QVWUHVVLQWHQVLW\IDFWRUVDW II ?U?Q ;WLSN SULQWWLSSRVLWLRQIRU6,) SULQW7)ILG>@>@=VWUGLP HQG FDVH ZHGJHRUFRQWDFWSUREOHPVVLQJXODURUGHUV VWU ^ ?U?QRUGHUVRIVWUHVVVLQJXODULW\?U?Q ˡ ˡ ˡ ˡ ` IRUM GLPGHO5,M >UHDOGHOWDM LPDJGHOWDM @HQG SULQW7)ILG>@>@GHO5, VWUGLP FDVH FRQWDFWLQWKHSUHVHQFHRIIULFWLRQVLQJXODURUGHUV VWU ^ ?U?QRUGHUVRIVWUHVVVLQJXODULW\?U?Q ˡ ` GHO5, >UHDOGHOWD LPDJGHOWD @ SULQW7)ILG>@>@GHO5,VWU HQG IXQFWLRQ7DEOH)LJ';LN8LN7LNYN JOREDO/W\SH2W\SH3W\SHGLPILGIROGHU1DPHIURP0DLQSURJUDP JOREDOVFDOHFXUIURPIXQFWLRQV7DEOH)LJLQWHUQDO I ILJXUH YLVLEOH RII KLGHWKHILJXUH LI2W\SH
[ ;LN \ ;LN V ;LN X 8LN X 8LN X 8LN LI3W\SHa X 8LN HQG LI3W\SH!X 8LN HQG HSV 8LN HSV 8LN 8LN HSV 8LN HSV 8LN HSV 8LN VLJ 7LN VLJ 7LN VLJ 7LN VLJ 7LN VLJ 7LN VLJVV 7LN VLJQQ 7LN VLJVQ 7LN LI/W\SH
_/W\SH
VLJVV 7LN HQG
HOVH [ ;LN \ ;LN V ;LN X 8LN X 8LN X 8LN LI3W\SHa X 8LN HQG LI3W\SH!X 8LN HQG HSV 8LN HSV 8LN 8LN HSV 8LN HSV 8LN HSV 8LN VLJ 7LN VLJ 7LN VLJ 7LN VLJ 7LN VLJ 7LN VLJVV 7LN VLJQQ 7LN VLJVQ 7LN LI/W\SH
_/W\SH
VLJVV 7LN HQG
HQG [K [ \K \ VK V XK X XK X XK X LI3W\SHa XK X HQG LI3W\SH!XK X HQG HSVK HSV HSVK HSV HSVK HSV HSVK HSV HSVK HSV VLJK VLJ VLJK VLJ VLJK VLJ
Appendix F: AEPH Source Code (Listed in Alphabetic Order) VLJK VLJ VLJK VLJ VLJVVK VLJVV VLJQQK VLJQQ VLJVQK VLJVQ LI/W\SH
_/W\SH
VLJVVK VLJVV HQG
2XWSXWWKUHH7DEOHVIRUGLVSODFHPHQWVVWUDLQVDQGVWUHVVHV XBL[\ HSVLORQBLM[\ VLJPDBLM[\ VWU ^ ?U?Q7DEOHRIGLVSODFHPHQWV?U?Q [ \ X X X ` =K >XKXKXK@ LI3W\SHa VWU^` 9 =K >=KXK@VWU^` ?U?Q7DEOHRIGLVSODFHPHQWVDQGHOHFWULFSRWHQWLDO?U?Q HQG LI3W\SH!VWU^` ಫ˵ಬ=K >=KXK@VWU^` ?U?Q7DEOHRIGLVSODFHPHQWVHOHFWULFDQGPDJQHWLFSRWHQWLDO?U?Q HQG SULQW7)ILG[K\K=K;LN8LNVWUGLPYN VWU ^ ?U?Q7DEOHRIVWUDLQV?U?Q [ \ ˢ ˢ ˢ ˢ ˢ ` =K >HSVKHSVKHSVKHSVKHSVK@ SULQW7)ILG[K\K=K;LN8LNVWUYN VWU ^ ?U?Q7DEOHRIVWUHVVHV?U?Q [ \ ˰ ˰ ˰ ˰ ˰ ` =K >VLJKVLJKVLJKVLJKVLJK@ SULQW7)ILG[K\K=K;LN8LNVWUYN $GGLWLRQDORXWSXWIRU2W\SH 2W\SH WKUHHVHWVRI)LJXUHVSORWRQ[\D[LV IRU SORWRIGLVSODFHPHQWVXXX SORWRIVWUDLQVHSVLORQHSVLORQHSVLORQ DQGHSVLORQHSVLORQ SORWRIVWUHVVHVVLJPDVLJPDVLJPD DQGVLJPDVLJPD 2W\SH IRXUVHWRI)LJXUHVIRU SORWRIGHIRUPDWLRQ FRQWRXUSORWVRIXBL[\ HSVLORQBLM[\ VLJPDBLM[\ 2W\SH LQDGGLWLRQWRWKHILJXUHVSORWWHGLQ2W\SH RQH7DEOHDQGWKUHH)LJXUHVIRUWKHVWUHVVHVDQGGHIRUPDWLRQ 7DEOHVLJPDSVL )LJXUHVLJPDYVSVLSORWRQ[\D[LV )LJXUHVLJPDYVSVLSORWRQWKHREMHFW )LJXUHXBLYVSVLSORWRIGHIRUPDWLRQ ,Q VLJPDVLJPDBVV2W\SH RUVLJPDBVVVLJPDBQQVLJPDBVQ2W\SH RUVLJPDBQQ2W\SH VZLWFK2W\SH FDVH^`SORWVRIGLVSODFHPHQWVVWUDLQVDQGVWUHVVHV LIFXU
VWU ^ V VFXPXODWLYHGLVWDQFHIURPWKHVWDUWLQJSRLQW `HOVHVWU ^ ˵ `HQG
SORWVKXK U VKXK J VKXK E [ODEHOVWU \ODEHO XXX OHJHQG X X X WLWOH GLVSODFHPHQW D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?GLVSODFHPHQWVSQJ @ FOI SORWVKHSVK U VKHSVK J VKHSVK E [ODEHOVWU \ODEHO ˢˢˢ OHJHQG ˢ ˢ ˢ WLWOH LQSODQHVWUDLQV D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?LQSODQHVWUDLQSQJ @ FOI SORWVKHSVK U VKHSVK J [ODEHOVWU \ODEHO ˢˢ OHJHQG ˢ ˢ WLWOH RXWRISODQHVWUDLQV D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?RXWRISODQHVWUDLQSQJ @ FOI SORWVKVLJK U VKVLJK J VKVLJK E [ODEHOVWU \ODEHO ˰˰˰ OHJHQG ˰ ˰ ˰ WLWOH LQSODQHVWUHVVHV D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?LQSODQHVWUHVVSQJ @ FOI SORWVKVLJK U VKVLJK J [ODEHOVWU \ODEHO ˰˰ OHJHQG ˰ ˰ WLWOH RXWRISODQHVWUHVVHV D[LVQRUPDO
865
866
Appendix F: AEPH Source Code (Listed in Alphabetic Order) VDYHDVI>FG ? IROGHU1DPH ?RXWRISODQHVWUHVVSQJ @ FOI LI2W\SH
WDQJHQWLDOVWUHVVRQDFXUYLOLQHDUFXUYHHJKRRSVWUHVV
LIPLQLVQDQVLJVVK
RXWSXWWDEOHDQGILJXUHRIKRRSVWUHVVRQO\ZKHQWKHLUGDWDDUHDYDLODEOH
VWU ^ ?U?Q7DEOHRIKRRSVWUHVV?U?Q ˵ ˰VV ` SULQW7)ILGVK>@VLJVVK;LN8LNVWUYN [\SORWRIKRRSVWUHVV SORWVKVLJVVK [ODEHO ˵ \ODEHO ˰VV WLWOH KRRSVWUHVV D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?KRRSVWUHVVSQJ @ HQG SORWGHIRUPDWLRQKRRSVWUHVV RQWKHREMHFWVXFKDVKROH = >XKXKVLJVVK@ SULQW7)I[\=;LN8LN KRRSVWUHVV YN HQG LI2W\SH
LQWHUQDOVXUIDFHWUDFWLRQRQDFXUYLOLQHDUFXUYHHJLQWHUIDFLDOVWUHVVHV
=K >VLJVVKVLJQQKVLJVQK@Q LI/W\SH
_/W\SH
LIPLQPLQLVQDQ=K
=K >=KVLJVVK@Q HQG RXWSXWWDEOHDQGILJXUHRILQWHUQDOVWUHVVHVRQO\ZKHQWKH\DUHDYDLODEOH
VWU ^ ?U?Q7DEOHRIVWUHVVHVLQVQFRRUGLQDWH?U?Q ˵ ˰VV ˰QQ ˰VQ ˰VV ` SULQW7)ILGVK>@=K;LN8LNVWUQYN [\SORWRIVWUHVVVLJPDBVVVLJPDBQQVLJPDBVQ LI/W\SH
_/W\SH
SORWVKVLJVVK VKVLJQQK VKVLJVQK VKVLJVVK OHJHQG ˰VV ˰QQ ˰VQ ˰VV [ODEHO ˵ \ODEHO ˰VV˰QQ˰VQ˰VV WLWOH VWUHVVHVLQVQFRRUGLQDWH D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?LQWHUIDFHVWUHVVHVSQJ @ HOVH SORWVKVLJVVK VKVLJQQK VKVLJVQK OHJHQG ˰VV ˰QQ ˰VQ [ODEHO ˵ \ODEHO ˰VV˰QQ˰VQ WLWOH VWUHVVHVLQVQFRRUGLQDWH D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?LQWHUIDFHVWUHVVHVSQJ @ HQG HQG SORWGHIRUPDWLRQVWUHVVHV RQWKHREMHFWVXFKDVLQFOXVLRQ = >XKXK=K@ SULQW7)I[\=;LN8LN LQWHUIDFHVWUHVV QYN HQG LI2W\SH
QRUPDOVWUHVVRQDOLQHRUFXUYHHJFRQWDFWSUHVVXUH
LIPLQLVQDQVLJQQK
RXWSXWWDEOHDQGILJXUHRIQRUPDOVWUHVVHVRQO\ZKHQWKH\DUHDYDLODEOH
VWU ^ ?U?Q7DEOHRIQRUPDOVWUHVV?U?Q V ˰QQ ` SULQW7)ILGVK>@VLJQQK;LN8LNVWUYN [\SORWRIQRUPDOVWUHVV SORWVKVLJQQK [ODEHOVWU \ODEHO ˰QQ WLWOH QRUPDOVWUHVV D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?QRUPDOVWUHVVSQJ @ HQG SORWGHIRUPDWLRQQRUPDOVWUHVVHV RQWKHREMHFWVXFKDVKDOISODQHVXUIDFH = >XKXKVLJQQK@ SULQW7)I[\=;LN8LN QRUPDOVWUHVV YN HQG FDVHSORWRIGHIRUPDWLRQ FRQWRXUSORWVRIGLVSODFHPHQWVVWUDLQVDQGVWUHVVHV [G [KXK VFDOH\G \KXK VFDOH SORW[K\K E [G\G U;
Appendix F: AEPH Source Code (Listed in Alphabetic Order) [ODEHO^ [ > 'HIRUPDWLRQLVPDJQLILHGE\WKHVFDOLQJIDFWRU QXPVWUVFDOH H @` OHJHQG EHIRUHGHIRUPDWLRQ DIWHUGHIRUPDWLRQ /RFDWLRQ VRXWKRXWVLGH OHJHQG ER[RII \ODEHO \ WLWOH GHIRUPDWLRQ D[LVHTXDO WLJKW VDYHDVI>FG ? IROGHU1DPH ?GHIRUPDWLRQSQJ @ FOI VWU ^ GLVSODFHPHQWX GLVSODFHPHQWX GLVSODFHPHQWX ` = FDWXXX SULQW7)I[\=;LN8LNVWUYN FRQWRXUSORWRIGLVSODFHPHQWVXXX VWU ^ VWUDLQˢ VWUDLQˢ VWUDLQˢ VWUDLQˢ VWUDLQˢ ` = FDWHSVHSVHSVHSVHSV SULQW7)I[\=;LN8LNVWUYN FRQWRXUSORWRIVWUDLQVHSVHSVHSVHSVHSV VWU ^ VWUHVV˰ VWUHVV˰ VWUHVV˰ VWUHVV˰ VWUHVV˰ ` = FDWVLJVLJVLJVLJVLJ SULQW7)I[\=;LN8LNVWUYN FRQWRXUSORWRIVWUHVVHVVLJVLJVLJVLJVLJ HQG I XQFWLRQ7DEOH)LJ3;LN8LN7LNYN JOREDO/W\SH2W\SHILGIROGHU1DPH IURP0DLQSURJUDPFRQWUROSDUDPWHU JOREDOFXUIURPIXQFWLRQLQWHUQDO I ILJXUH YLVLEOH RII KLGHWKHILJXUH LI2W\SH
[ ;LN \ ;LN V ;LN ( 8LN ( 8LN ' 7LN ' 7LN 'V 7LN LI/W\SH
_/W\SH
'V 8LN HQG
HOVH [ ;LN \ ;LN V ;LN ( 8LN ( 8LN ' 7LN ' 7LN 'V 7LN LI/W\SH
_/W\SH
'V 8LN HQG
HQG [K [ \K \ VK V (K ( (K ( 'K ' 'K ' 'VK 'V LI/W\SH
_/W\SH
'VK 'V HQG
2XWSXWWZR7DEOHVIRUHOHFWULFILHOGVDQGHOHFWULFGLVSODFHPHQWV (BL[\ 'BL[\ VWU ^ ?U?Q7DEOHRIHOHFWULFILHOGV?U?Q [ \ ( ( ` =K >(K(K@ SULQW7)ILG[K\K=K;LN8LNVWUYN VWU ^ ?U?Q7DEOHRIHOHFWULFGLVSODFHPHQWV?U?Q [ \ ' ' ` =K >'K'K@ SULQW7)ILG[K\K=K;LN8LNVWUYN $GGLWLRQDORXWSXWIRU2W\SH
867
868
Appendix F: AEPH Source Code (Listed in Alphabetic Order) 2W\SH WZRVHWVRI)LJXUHVSORWRQ[\D[LV IRU SORWRIHOHFWULFILHOG(( SORWRIHOHFWULFGLVSODFHPHQW'' 2W\SH WZRVHWRI)LJXUHVIRUWKHFRQWRXUSORW (BL[\ 'BL[\ 2W\SH LQDGGLWLRQWRWKH)LJXUHVSORWWHGE\2W\SH RQH7DEOHDQGWZR)LJXUHVIRUWKHHOHFWULFGLVSODFHPHQW 7DEOH'VSVL )LJXUH'VYVSVLSORWRQ[\D[LV )LJXUH'VYVSVLSORWRQWKHREMHFW VZLWFK2W\SH FDVH^`SORWVRIHOHFUWULFILHOGVDQGHOHFWULFGLVSODFHPHQWV LIFXU
VWU ^ V VFXPXODWLYHGLVWDQFHIURPWKHVWDUWLQJSRLQW `HOVHVWU ^ ˵ `HQG
SORWVK(K U VK(K J [ODEHOVWU \ODEHO (( OHJHQG ( ( WLWOH HOHFWULFILHOGV D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?HOHFWULFILHOGVSQJ @ FOI SORWVK'K U VK'K J [ODEHOVWU \ODEHO '' OHJHQG ' ' WLWOH HOHFWULFGLVSODFHPHQWV D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?HOHFWULFGLVSODFHPHQWVSQJ @ FOI LI2W\SH
_2W\SH
HOHFWULFGLVSODFHPHQWDORQJDFXUYH
=K 'VKQ LI/W\SH LIPLQPLQLVQDQ=K
_/W\SH
=K >=K'VK@Q HQG
RXWSXWWDEOHDQGILJXUHRQO\ZKHQWKHGDWDDUHDYDLODEOH
VWU ^ ?U?Q7DEOHRIHOHFWULFGLVSODFHPHQWRQDFXUYLOLQHDUERXQGDU\?U?Q ˵ 'V 'V ` SULQW7)ILGVK>@=K;LN8LNVWUQYN [\SORWRIHOHFWULFGLVSODFHPHQW LI/W\SH
_/W\SH
SORWVK'VK VK'VK [ODEHO ˵ \ODEHO 'V'V OHJHQG 'VPDWUL[ 'VLQFOXVLRQ WLWOH HOHFWULFGLVSODFHPHQWDORQJWKHLQFOXVLRQERXQGDU\ D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?HOHFWULFGLVSODFHPHQWSQJ @ HOVH SORWVK'VK [ODEHO ˵ \ODEHO 'V WLWOH HOHFWULFGLVSODFHPHQWDORQJWKHLQFOXVLRQERXQGDU\ D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?HOHFWULFGLVSODFHPHQWSQJ @ HQG SORWRIHOHFWULFGLVSODFHPHQWRQWKHREMHFWVXFKDVKROHLQFOXVLRQRURUKDOISODQHVXUIDFH SULQW7)I[\=K;LN8LN HOHFWULFGLVSODFHPHQW YN HQG HQG FDVH FRQWRXUSORWVRIHOHFWULFILHOGVDQGHOHFWULFGLVSODFHPHQWV VWU ^ HOHFWULFILHOG( HOHFWULFILHOG( ` = FDW(( SULQW7)I[\=;LN8LNVWUYN VWU ^ HOHFWULFGLVSODFHPHQW' HOHFWULFGLVSODFHPHQW' ` = FDW'' SULQW7)I[\=;LN8LNVWUYN HQG IXQFWLRQ7DEOH)LJ0;LN8LN7LNYN JOREDO/W\SH2W\SHILGIROGHU1DPHIURP0DLQSURJUDPFRQWUROSDUDPWHU JOREDOFXUIURPIXQFWLRQLQWHUQDO
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
869
I ILJXUH YLVLEOH RII KLGHWKHILJXUH LI2W\SH
[ ;LN \ ;LN V ;LN + 8LN + 8LN % 7LN % 7LN %V 7LN LI/W\SH
_/W\SH
%V 8LN HQG
HOVH [ ;LN \ ;LN V ;LN + 8LN + 8LN % 7LN % 7LN %V 7LN LI/W\SH
_/W\SH
%V 8LN HQG
HQG [K [ \K \ VK V +K + +K + %K % %K % %VK %V LI/W\SH
_/W\SH
%VK %V HQG
2XWSXWWZR7DEOHVIRUPDJQHWLFILHOGVDQGPDJQHWLFIOX[ +BL[\ %BL[\ VWU ^ ?U?Q7DEOHRIPDJQHWLFILHOGV?U?Q [ \ + + ` =K >+K+K@ SULQW7)ILG[K\K=K;LN8LNVWUYN VWU ^ ?U?Q7DEOHRIPDJQHWLFIOX[HV?U?Q [ \ % % ` =K >%K%K@ SULQW7)ILG[K\K=K;LN8LNVWUYN VZLWFK2W\SH FDVH^` SORWVRIPDJQHWLFILHOGVDQGPDJQHWLFIOX[ LIFXU
VWU ^ V VFXPXODWLYHGLVWDQFHIURPWKHVWDUWLQJSRLQW `HOVHVWU ^ ˵ `HQG
SORWVK+K U VK+K J [ODEHOVWU \ODEHO ++ OHJHQG + + WLWOH PDJQHWLFILHOGV D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?PDJQHWLFILHOGVSQJ @ FOI SORWVK%K U VK%K J [ODEHOVWU \ODEHO %% OHJHQG % % WLWOH PDJQHWLFIOX[HV D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?PDJQHWLFIOX[HVSQJ @ FOI LI2W\SH
_2W\SH
PDJQHWLFIOX[HVDORQJDFXUYH
=K %VKQ LI/W\SH LIPLQPLQLVQDQ=K
_/W\SH
=K >=K%VK@Q HQG
RXWSXWWDEOHDQGILJXUHRQO\ZKHQWKHGDWDDUHDYDLODEOH
VWU ^ ?U?Q7DEOHRIPDJQHWLFIOX[HVRQDFXUYLOLQHDUERXQGDU\?U?Q ˵ %V %V ` SULQW7)ILGVK>@=K;LN8LNVWUQYN [\SORWRIPDJQHWLFIOX[HV LI/W\SH
_/W\SH
SORWVK%VK VK%VK [ODEHO ˵ \ODEHO %V%V OHJHQG %VPDWUL[ %VLQFOXVLRQ WLWOH PDJQHWLFIOX[HVDORQJWKHLQFOXVLRQERXQGDU\ D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?PDJQHWLFIOX[HVSQJ @ HOVH SORWVK%VK [ODEHO ˵ \ODEHO %V WLWOH PDJQHWLFIOX[DORQJWKHLQFOXVLRQERXQGDU\ D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?PDJQHWLFIOX[SQJ @
870
Appendix F: AEPH Source Code (Listed in Alphabetic Order) HQG SORWRIPDJQHWLFIOX[HVRQWKHREMHFWVXFKDVKROHLQFOXVLRQRURUKDOISODQHVXUIDFH SULQW7)I[\=K;LN8LN PDJQHWLFIOX[HV YN HQG HQG FDVH FRQWRXUSORWVRIPDJQHWLFILHOGDQGPDJQHWLFIOX[ VWU ^ PDJQHWLFILHOG+ PDJQHWLFILHOG+ ` = FDW++ SULQW7)I[\=;LN8LNVWUYN VWU ^ PDJQHWLFIOX[% PDJQHWLFIOX[% ` = FDW%% SULQW7)I[\=;LN8LNVWUYN HQG IXQFWLRQ7DEOH)LJ&;LN8LN7LNYN JOREDOGLP/W\SH2W\SHILGIROGHU1DPH IURP0DLQSURJUDP JOREDOVFDOHFXUIURPIXQFWLRQV7DEOH)LJLQWHUQDO I ILJXUH YLVLEOH RII KLGHWKHILJXUH G GLPG G GLQLWLDOURZRIWKHQH[WKDOIGLPHQVLRQZKLFKLVUHODWHGWRVORSHVRUEHQGLQJPRPHQWV LI2W\SH
[ ;LN \ ;LN V ;LN X 8LN X 8LN X 7LNGLP EHWD 8LNG EHWD 8LNG HSV 8LN HSV 8LN 8LN HSV 8LN NDS 8LNG NDS 8LNG NDS 8LNG 1 7LN 1 7LN 1 7LN 0 7LN 0 7LN 0 7LN 1VV 7LN 0VV 7LN 0VQ 7LN LI/W\SH!1QQ 7LN 0QQ 7LN 1VQ 7LN HQG IRUSUREOHPZLWKDQDO\WLFDOVROXWLRQ LI/W\SH
__/W\SH
__/W\SH
__/W\SH
3UREOHPVZLWKHODVWLFLQFOXVLRQ
1VV 7LN 0VV 7LN 0VQ 7LN HQG HOVH [ ;LN \ ;LN V ;LN X 8LN X 8LN X 7LNGLP EHWD 8LNG EHWD 8LNG HSV 8LN HSV 8LN 8LN HSV 8LN NDS 8LNG NDS 8LNG NDS 8LNG 1 7LN 1 7LN 1 7LN 0 7LN 0 7LN 0 7LN 1VV 7LN 0VV 7LN 0VQ 7LN LI/W\SH!1QQ 7LN 0QQ 7LN 1VQ 7LN HQG IRUSUREOHPZLWKDQDO\WLFDOVROXWLRQ LI/W\SH
__/W\SH
__/W\SH
__/W\SH
3UREOHPVZLWKHODVWLFLQFOXVLRQ
1VV 7LN 0VV 7LN 0VQ 7LN HQG HQG [K [ \K \ VK V
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
871
XK X XK X XK X EHWDK EHWD EHWDK EHWD HSVK HSV HSVK HSV HSVK HSV NDSK NDS NDSK NDS NDSK NDS 1K 1 1K 1 1K 1 0K 0 0K 0 0K 0 1VVK 1VV 0VVK 0VV 0VQK 0VQ LI/W\SH!1QQK 1QQ 0QQK 0QQ 1VQK 1VQ HQG LI/W\SH
__/W\SH
__/W\SH
__/W\SH
IRUSUREOHPZLWKDQDO\WLFDOVROXWLRQ
1VVK 1VV 0VVK 0VV 0VQK 0VQ HQG
HODVWLFLQFOXVLRQ 2XWSXWWKUHH7DEOHVIRUGLVSODFHPHQWVVWUDLQVDQGVWUHVVHV XBL[\ EHWDBL[\ HSVLORQBLM[\ NDSSDBLM[\ 1LM[\ 0LM[\ VWU ^ ?U?Q7DEOHRIGLVSODFHPHQWVDQGURWDWLRQV?U?Q [ \ X X X ˟ ˟ ` =K >XKXKXKEHWDKEHWDK@ SULQW7)ILG[K\K=K;LN8LNVWUYN VWU ^ ?U?Q7DEOHRIVWUDLQVDQGFXUYDWXUHV?U?Q [ \ ˢ ˢ ˢ N N N ` =K >HSVKHSVKHSVKNDSKNDSKNDSK@ SULQW7)ILG[K\K=K;LN8LNVWUYN VWU ^ ?U?Q7DEOHRIVWUHVVUHVXOWDQWVDQGEHQGLQJPRPHQWV?U?Q [ \ 1 1 1 0 0 0 ` =K >1K1K1K0K0K0K@ SULQW7)ILG[K\K=K;LN8LNVWUYN $GGLWLRQDORXWSXWIRU2W\SH 2W\SH WKUHHVHWVRI)LJXUHVSORWRQ[\D[LV IRU SORWRIGLVSODFHPHQWVXXX DQGEHWDEHWD SORWRIVWUDLQVHSVHSVHSV DQGNDSNDSNDS SORWRIVWUHVVHV111 DQG000 2W\SH WKUHHVHWRI)LJXUHVIRUWKHFRQWRXUSORW XBL[\ EHWDBL[\ HSVLORQBLM[\ NDSSDBLM[\ 1LM[\ 0LM[\ 2W\SH LQDGGLWLRQWRWKH)LJXUHVSORWWHGE\2W\SH RQH7DEOHDQGWKUHH)LJXUHVIRUWKHVWUHVVHVDQGGHIRUPDWLRQ 7DEOHVLJPDSVL )LJXUHVLJPDYVSVLSORWRQ[\D[LV )LJXUHVLJPDYVSVLSORWRQDFXUYH )LJXUHXBLYVSVLSORWRIGHIRUPDWLRQ ,Q VLJPD1VV0VV0VQ VZLWFK2W\SH FDVH^`SORWRIGLVSODFHPHQWVVWUDLQVVWUHVVHVUHVXOWDQWV EHQGLQJPRPHQWV LIFXU
VWU ^ V VFXPXODWLYHGLVWDQFHIURPWKHVWDUWLQJSRLQW `HOVHVWU ^ ˵ `HQG
SORWVKXK U VKXK J VKXK E [ODEHOVWU \ODEHO XYZ OHJHQG X Y Z WLWOH GLVSODFHPHQWV D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?GLVSODFHPHQWVSQJ @ FOI SORWVKEHWDK U VKEHWDK J [ODEHOVWU \ODEHO ˟˟ OHJHQG ˟ ˟ WLWOH VORSHV D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?VORSHVSQJ @ FOI SORWVKHSVK U VKHSVK E VKHSVK J [ODEHOVWU \ODEHO ˢˢˢ OHJHQG ˢ ˢ ˢ WLWOH VWUDLQV D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?VWUDLQVSQJ @ FOI SORWVKNDSK U VKNDSK E VKNDSK J [ODEHOVWU \ODEHO NNN
3UREOHPVZLWK
872
Appendix F: AEPH Source Code (Listed in Alphabetic Order) OHJHQG N N N WLWOH FXUYDWXUHV D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?FXUYDWXUHVSQJ @ FOI SORWVK1K U VK1K E VK1K J [ODEHOVWU \ODEHO 111 OHJHQG 1 1 1 WLWOH VWUHVVUHVXOWDQWV D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?VWUHVVUHVXOWDQWVSQJ @ FOI SORWVK0K U VK0K E VK0K J [ODEHOVWU \ODEHO 000 OHJHQG 0 0 0 WLWOH EHQGLQJPRPHQWV D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?EHQGLQJPRPHQWVSQJ @ FOI LI2W\SH
WDQJHQWLDOVWUHVVRQDFXUYLOLQHDUFXUYHHJKRRSVWUHVV1VV0VV0VQ
=K >1VVK0VVK0VQK@QXP LI/W\SH
__/W\SH
LIPLQLVQDQ=K
__/W\SH
__/W\SH
=K >1VVK0VVK0VQK1VVK0VVK0VQK@QXP HQG
RXWSXWWDEOHDQGILJXUHRIKRRSVWUHVVRQO\ZKHQWKHLUGDWDDUHDYDLODEOH
VWU ^ ?U?Q7DEOHRIKRRSVWUHVVHV1VV0VV0VQ?U?Q ˵ 1VV 0VV 0VQ ` LI/W\SH
__/W\SH
__/W\SH
__/W\SH
VWU ^ ?U?Q7DEOHRIKRRSVWUHVVHV1VV0VV0VQ?U?Q ˵ 1VV 0VV 0VQ 1VV 0VV 0VQ `HQG SULQW7)ILGVK>@=K;LN8LNVWUQXPYN [\SORWRIKRRSVWUHVVHV1VV0VV0VQ LI/W\SH
__/W\SH
__/W\SH
__/W\SH
SORWVK1VVK VK0VVK VK0VQK VK1VVK [ VK0VVK R VK0VQK OHJHQG 1VV 0VV 0VQ 1VV 0VV 0VQ HOVH SORWVK1VVK VK0VVK VK0VQK OHJHQG 1VV 0VV 0VQ HQG [ODEHO ˵ \ODEHO 1VV0VV0VQ WLWOH KRRSVWUHVVHV D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?KRRSVWUHVVHV1VV0VV0VQSQJ @ HQG SORWRIKRRSVWUHVVRQWKHREMHFWVXFKDVKROHLQFOXVLRQRURUKDOISODQHVXUIDFH = >XKXK=K@ SULQW7)I[\=;LN8LN KRRSVWUHVV QXPYN HQG LI 2W\SH
=K >1VVK0VVK0VQK1QQK0QQK1VQK@QXP LI/W\SH
__/W\SH
__/W\SH
__/W\SH
=K >1VVK0VVK0VQK1QQK0QQK1VQK1VVK0VVK0VQK@QXP HQG LIPLQLVQDQ=K
VWU ^ ?U?Q7DEOHRIVWUHVVHVLQVQFRRUGLQDWH1VV0VV0VQ1QQ0QQ1VQ?U?Q ˵ 1VV 0VV 0VQ 1QQ 0QQ 1VQ ` LI/W\SH
__/W\SH
__/W\SH
__/W\SH
VWU ^ ?U?Q7DEOHRIKRRSVWUHVVHV1VV0VV0VQ?U?Q ˵ 1VV 0VV 0VQ 1QQ 0QQ 1VQ 1VV 0VV 0VQ ` HQG SULQW7)ILGVK>@=K;LN8LNVWUQXPYN [\SORWRIVWUHVV1VV0VV0VQ1QQ0QQ1VQ LI/W\SH
__/W\SH
__/W\SH
__/W\SH
SORWVK1VVK VK0VVK VK0VQK VK1QQK R VK0QQK VK1VQK
VK1VVK [ VK0VVK V VK0VQK OHJHQG 1VV 0VV 0VQ 1QQ 0QQ 1VQ 1VV 0VV 0VQ HOVH SORWVK1VVK VK0VVK VK0VQK VK1QQK R VK0QQK VK1VQK
OHJHQG 1VV 0VV 0VQ 1QQ 0QQ 1VQ HQG [ODEHO ˵ \ODEHO 1VV0VV0VQ1QQ0QQ1VQ WLWOH VWUHVVHVLQVQFRRUGLQDWH D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?LQWHUIDFHVWUHVVHV1VV0VV0VQ1QQ0QQ1VQSQJ @
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
873
HQG SORWRIKRRSVWUHVVRQWKHREMHFWVXFKDVKROHLQFOXVLRQRURUKDOISODQHVXUIDFH = >XKXK=K@ SULQW7)I[\=;LN8LN KRRSVWUHVV QXPYN HQG FDVH FRQWRXUSORWVRIGLVSODFHPHQWVVWUDLQVVWUHVVUHVXOWDQWV EHQGLQJPRPHQWV [G [KXK VFDOH\G \KXK VFDOH SORW[K\K E [G\G U; [ODEHO^ [ > 'HIRUPDWLRQLVPDJQLILHGE\WKHVFDOLQJIDFWRU QXPVWUVFDOH H @` OHJHQG EHIRUHGHIRUPDWLRQ DIWHUGHIRUPDWLRQ /RFDWLRQ VRXWKRXWVLGH OHJHQG ER[RII \ODEHO \ WLWOH GHIRUPDWLRQ D[LVHTXDO WLJKW VDYHDVI>FG ? IROGHU1DPH ?3ORWRIGHIRUPDWLRQSQJ @ FOI VWU ^ GLVSODFHPHQWX GLVSODFHPHQWX GLVSODFHPHQWX URWDWLRQ˟ URWDWLRQ˟ ` = FDWXXXEHWDEHWD SULQW7)I[\=;LN8LNVWUYN VWU ^ VWUDLQˢ VWUDLQˢ VWUDLQˢ FXUYDWXUHN FXUYDWXUHN FXUYDWXUHN ` = FDWHSVHSVHSVNDSNDSNDS SULQW7)I[\=;LN8LNVWUYN VWU ^ VWUHVVUHVXOWDQW1 VWUHVVUHVXOWDQW1 VWUHVVUHVXOWDQW1 EHQGLQJPRPHQW0 EHQGLQJPRPHQW0 EHQGLQJ PRPHQW0 ` = FDW111000 SULQW7)I[\=;LN8LNVWUYN HQG IXQFWLRQ7DEOH)LJ&3;LN8LN7LNYN JOREDO/W\SH2W\SHGLPILGIROGHU1DPHIURP0DLQSURJUDPFRQWUROSDUDPWHU JOREDOFXUIURPIXQFWLRQLQWHUQDO I ILJXUH YLVLEOH RII KLGHWKHILJXUH G GLPG G GLQLWLDOURZRIWKHQH[WKDOIGLPHQVLRQZKLFKLVUHODWHGWRVORSHVRUEHQGLQJPRPHQWV LI2W\SH
[ ;LN \ ;LN V ;LN ( 8LN ( 8LNG ( 8LN ( 8LNG ' 7LN ' 7LN 'V 7LN 'V 7LN 'V 7LN 'VV 7LN LI/W\SH!'Q 7LN 'QQ 7LN HQG LI/W\SH
__/W\SH
__/W\SH
__/W\SH
IRUSUREOHPZLWKDQDO\WLFDOVROXWLRQ
'V 7LN 'VV 7LN HQG HODVWLFLQFOXVLRQ
HOVH [ ;LN \ ;LN V ;LN ( 8LN ( 8LNG ( 8LN ( 8LNG ' 7LN ' 7LN 'V 7LN 'V 7LN 'V 7LN 'VV 7LN LI/W\SH!'Q 7LN 'QQ 7LN HQG LI/W\SH
__/W\SH
HQG [K [ \K \ VK V
__/W\SH
IRUSUREOHPZLWKDQDO\WLFDOVROXWLRQ
__/W\SH
'V 7LN 'VV 7LN HQG 3UREZLWKHODVWLFLQFOXVLRQ
874
Appendix F: AEPH Source Code (Listed in Alphabetic Order) (K ( (K ( (K ( (K ( 'K ' 'K ' 'VK 'V 'VK 'V 'VK 'V 'VVK 'VV LI/W\SH!'QK 'Q 'QQK 'QQ HQG LI/W\SH
__/W\SH
__/W\SH
IRUSUREOHPZLWKDQDO\WLFDOVROXWLRQ
__/W\SH
'VK 'V 'VVK 'VV HQG
3UREOHPVZLWKHODVWLFLQFOXVLRQ
2XWSXWWZR7DEOHVIRUHOHFWULFILHOGVDQGHOHFWULFGLVSODFHPHQWV (BL[\ 'BL[\ VWU ^ ?U?Q7DEOHRIHOHFWULFILHOGV?U?Q [ \ ( ( ( ( ` =K >(K(K(K(K@ SULQW7)ILG[K\K=K;LN8LNVWUYN VWU ^ ?U?Q7DEOHRIHOHFWULFGLVSODFHPHQWV?U?Q [ \ ' ' 'V 'V ` =K >'K'K'VK'VK@ SULQW7)ILG[K\K=K;LN8LNVWUYN $GGLWLRQDORXWSXWIRU2W\SH 2W\SH WZRVHWVRI)LJXUHVSORWRQ[\D[LV IRU SORWRIHOHFWULFILHOG(((( SORWRIHOHFWULFGLVSODFHPHQW''V''V 2W\SH WZRVHWRI)LJXUHVIRUWKHFRQWRXUSORW (BL[\ 'BL[\ 2W\SH LQDGGLWLRQWRWKH)LJXUHVSORWWHGE\2W\SH RQH7DEOHDQGWZR)LJXUHVIRUWKHHOHFWULFGLVSODFHPHQW 7DEOH'VSVL )LJXUH'VYVSVLSORWRQ[\D[LV )LJXUH'VYVSVLSORWRQDFXUYH VZLWFK2W\SH FDVH^` SORWRIHOHFWULFILHOGVDQGHOHFWULFGLVSODFHPHQWV LIFXU
VWU ^ V VFXPXODWLYHGLVWDQFHIURPWKHVWDUWLQJSRLQW `HOVHVWU ^ಫ˵ಬ`HQG
SORWVK(K U VK(K J VK(K E VK(K \ [ODEHOVWU \ODEHO (((( OHJHQG ( ( ( ( WLWOH HOHFWULFILHOGV D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?HOHFWULFILHOGVSQJ @ FOI SORWVK'K U VK'VK J VK'K E VK'VK \ [ODEHOVWU \ODEHO ''V''V OHJHQG ' 'V ' 'V WLWOH HOHFWULFGLVSODFHPHQWV D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?HOHFWULFGLVSODFHPHQWVSQJ @ FOI LI2W\SH
HOHFWULFGLVSODFHPHQWVDORQJWKHKROHERXQGDU\
VWU ^ ?U?Q7DEOHRIHOHFWULFGLVSODFHPHQWVRQDFXUYLOLQHDUERXQGDU\?U?Q ಬ˵ಬ 'V 'VV ` =K >'VK'VVK@QXP LI/W\SH
__/W\SH
__/W\SH
__/W\SH
VWU ^ ?U?Q7DEOHRIHOHFWULFGLVSODFHPHQWVRQDFXUYLOLQHDUERXQGDU\?U?Q ಬ˵ಬ 'V 'VV 'V 'VV ` =K >'VK'VVK'VK'VVK@QXP HQG SULQW7)ILGVK>@=K;LN8LNVWUQXPYN [\SORWRI'V LI/W\SH
__/W\SH
__/W\SH
__/W\SH
SORWVK'VK VK'VVK VK'VK VK'VVK [ OHJHQG 'V 'VV 'V 'VV HOVH SORWVK'VK VK'VVK OHJHQG 'V 'VV HQG [ODEHOಫ˵ಬ \ODEHO 'V'VV WLWOH HOHFWULFGLVSODFHPHQW D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?'V 'VVSQJ @ OLQHSORWRIHOHFWULFGLVSODFHPHQWVDURXQGWKHKROHERXQGDU\
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
875
SULQW7)I[\=K;LN8LN HOHFWULFGLVSODFHPHQW QXPYN HQG LI2W\SH
VWU ^ ?U?Q7DEOHRIHOHFWULFGLVSODFHPHQWVRQDFXUYLOLQHDUERXQGDU\?U?Q ಬ˵ಬ 'V 'VV 'Q 'QQ ` =K >'VK'VVK'QK'QQK@QXP LI/W\SH
__/W\SH
__/W\SH
__/W\SH
VWU ^ ?U?Q7DEOHRIHOHFWULFGLVSODFHPHQWVRQDFXUYLOLQHDUERXQGDU\?U?Q ಬ˵ಬ 'V 'VV 'Q 'QQ 'V 'VV ` =K >'VK'VVK'QK'QQK'VK'VVK@QXP HQG SULQW7)ILGVK>@=K;LN8LNVWUQXPYN [\SORWRI'V LI/W\SH
__/W\SH
__/W\SH
__/W\SH
SORWVK'VK VK'VVK VK'QK VK'QQK [ VK'VK R VK'VVK OHJHQG 'V 'VV 'Q 'QQ 'V 'VV HOVH SORWVK'VK VK'VVK VK'QK VK'QQK [ OHJHQG 'V 'VV 'Q 'QQ HQG [ODEHOಫ˵ಬ \ODEHO 'V'VV'Q'QQ WLWOH HOHFWULFGLVSODFHPHQW D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?'V'VV'Q'QQSQJ @ OLQHSORWRIHOHFWULFGLVSODFHPHQWVDURXQGWKHKROHERXQGDU\ SULQW7)I[\=K;LN8LN HOHFWULFGLVSODFHPHQW QXPYN HQG FDVH FRQWRXUSORWVRIHOHFWULFILHOGVDQGHOHFWULFGLVSODFHPHQWV VWU ^ HOHFWULFILHOG( HOHFWULFILHOG( HOHFWULFILHOG( HOHFWULFILHOG( ` = FDW(((( SULQW7)I[\=;LN8LNVWUYN VWU ^ HOHFWULFGLVSODFHPHQW' HOHFWULFGLVSODFHPHQW' PRPHQWRIHOHFWULFGLVSODFHPHQW'V PRPHQWRIHOHFWULFGLVSODFHPHQW 'V ` = FDW'''V'V SULQW7)I[\=;LN8LNVWUYN HQG IXQFWLRQ7DEOH)LJ&0;LN8LN7LNYN JOREDO/W\SH2W\SHILGIROGHU1DPHIURP0DLQSURJUDPFRQWUROSDUDPWHU JOREDOFXUIURPIXQFWLRQLQWHUQDO I ILJXUH YLVLEOH RII KLGHWKHILJXUH LI2W\SH
[ ;LN \ ;LN V ;LN + 8LN + 8LN + 8LN + 8LN % 7LN % 7LN %V 7LN %V 7LN %V 7LN %VV 7LN LI/W\SH!%Q 7LN %QQ 7LN HQG LI/W\SH
__/W\SH
__/W\SH
__/W\SH
IRUSUREOHPZLWKDQDO\WLFDOVROXWLRQ
%V 7LN %VV 7LN HQG 3UREOHPVZLWK
HODVWLFLQFOXVLRQ HOVH [ ;LN \ ;LN V ;LN + 8LN + 8LN + 8LN + 8LN
876
Appendix F: AEPH Source Code (Listed in Alphabetic Order) % 7LN % 7LN %V 7LN %V 7LN %V 7LN %VV 7LN LI/W\SH!%Q 7LN %QQ 7LN HQG LI/W\SH
__/W\SH
__/W\SH
IRUSUREOHPZLWKDQDO\WLFDOVROXWLRQ
__/W\SH
%V 7LN %VV 7LN HQG 3UREOHPVZLWKHODVWLF
LQFOXVLRQ HQG [K [ \K \ VK V +K + +K + +K + +K + %K % %K % %VK %V %VK %V %VK %V %VVK %VV LI/W\SH!%QK %Q %QQK %QQ HQG LI/W\SH
__/W\SH
__/W\SH
IRUSUREOHPZLWKDQDO\WLFDOVROXWLRQ
__/W\SH
%VK %V %VVK %VV HQG
3UREOHPVZLWKHODVWLFLQFOXVLRQ
2XWSXWWZR7DEOHVIRUPDJQHWLFILHOGVDQGPDJQHWLFIOX[HV +BL[\ %BL[\ VWU ^ ?U?Q7DEOHRIPDJQHWLFILHOGV?U?Q [ \ + + + + ` =K >+K+K+K+K@ SULQW7)ILG[K\K=K;LN8LNVWUYN VWU ^ ?U?Q7DEOHRIPDJQHWLFIOX[HV?U?Q [ \ % % %V %V ` =K >%K%K%VK%VK@ SULQW7)ILG[K\K=K;LN8LNVWUYN $GGLWLRQDORXWSXWIRU2W\SH 2W\SH WZRVHWVRI)LJXUHVSORWRQ[\D[LV IRU SORWRIPDJQHWLFILHOG++++ SORWRIPDJQHWLFIOX[%%V%%V 2W\SH WZRVHWRI)LJXUHVIRUWKHFRQWRXUSORW +BL[\ %BL[\ 2W\SH LQDGGLWLRQWRWKH)LJXUHVSORWWHGE\2W\SH RQH7DEOHDQGWZR)LJXUHVIRUWKHPDJQHWLFIOX[ 7DEOH%VSVL )LJXUH%VYVSVLSORWRQ[\D[LV )LJXUH%VYVSVLSORWRQDFXUYH VZLWFK2W\SH FDVH^` SORWRIPDJQHWLFILHOGVDQGPDJQHWLFIOX[HV LIFXU
VWU ^ V VFXPXODWLYHGLVWDQFHIURPWKHVWDUWLQJSRLQW `HOVHVWU ^ಫ˵ಬ`HQG
SORWVK+K U VK+K J VK+K E VK+K \ [ODEHOVWU \ODEHO ++++ OHJHQG + + + + WLWOH PDJQHWLFILHOGV D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?PDJQHWLFILHOGVSQJ @ FOI SORWVK%K U VK%VK J VK%K E VK%VK \ [ODEHOVWU \ODEHO %%V%%V OHJHQG % %V % %V WLWOH PDJQHWLFIOX[HV D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?PDJQHWLFIOX[HVSQJ @ FOI LI2W\SH
PDJQHWLFIOX[HVDORQJWKHKROHERXQGDU\
VWU ^ ?U?Q7DEOHRIPDJQHWLFIOX[HVRQDFXUYLOLQHDUERXQGDU\?U?Q ಬ˵ಬ %V %VV ` =K >%VK%VVK@QXP LI/W\SH
__/W\SH
__/W\SH
__/W\SH
VWU ^ ?U?Q7DEOHRIPDJQHWLFIOX[HVRQDFXUYLOLQHDUERXQGDU\?U?Q ಬ˵ಬ %V %VV %V %VV ` =K >%VK%VVK%VK%VVK@QXP HQG SULQW7)ILGVK>@=K;LN8LNVWUQXPYN [\SORWRI%V LI/W\SH
__/W\SH
__/W\SH
__/W\SH
SORWVK%VK VK%VVK VK%VK VK%VVK [ OHJHQG %V %VV %V %VV
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
877
HOVH SORWVK%VK VK%VVK OHJHQG %V %VV HQG [ODEHOಫ˵ಬ \ODEHO %V%VV WLWOH PDJQHWLFIOX[HV D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?%V %VVSQJ @ OLQHSORWRIPDJQHWLFIOX[HVDURXQGWKHKROHERXQGDU\ SULQW7)I[\=K;LN8LN PDJQHWLFIOX[HV QXPYN HQG LI2W\SH
VWU ^ ?U?Q7DEOHRIPDJQHWLFIOX[HVRQDFXUYLOLQHDUERXQGDU\?U?Q ಬ˵ಬ %V %VV %Q %QQ ` =K >%VK%VVK%QK%QQK@QXP LI/W\SH
__/W\SH
__/W\SH
__/W\SH
VWU ^ ?U?Q7DEOHRIPDJQHWLFIOX[HVRQDFXUYLOLQHDUERXQGDU\?U?Q ಬ˵ಬ %V %VV %Q %QQ %V %VV ` =K >%VK%VVK%QK%QQK%VK%VVK@QXP HQG SULQW7)ILGVK>@=K;LN8LNVWUQXPYN [\SORWRI%V LI/W\SH
__/W\SH
__/W\SH
__/W\SH
SORWVK%VK VK%VVK VK%QK VK%QQK [ VK%VK R VK%VVK OHJHQG %V %VV %Q %QQ %V %VV HOVH SORWVK%VK VK%VVK VK%QK VK%QQK [ OHJHQG %V %VV %Q %QQ HQG [ODEHOಫ˵ಬ \ODEHO %V%VV%Q%QQ WLWOH PDJQHWLFIOX[HV D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?%V%VV%Q%QQSQJ @ OLQHSORWRIPDJQHWLFIOX[HVDURXQGWKHKROHERXQGDU\ SULQW7)I[\=K;LN8LN PDJQHWLFIOX[HV QXPYN HQG FDVH FRQWRXUSORWVRIPDJQHWLFILHOGVDQGPDJQHWLFIOX[HV VWU ^ PDJQHWLFILHOG+ PDJQHWLFILHOG+ PDJQHWLFILHOG+ PDJQHWLFILHOG+ ` = FDW++++ SULQW7)I[\=;LN8LNVWUYN VWU ^ PDJQHWLFIOX[HV% PDJQHWLFIOX[HV% PRPHQWRIPDJQHWLFIOX[HV%V PRPHQWRIPDJQHWLFIOX[HV%V ` = FDW%%%V%V SULQW7)I[\=;LN8LNVWUYN HQG IXQFWLRQ7DEOH)LJ7;LN8LN7NKNYN JOREDO2W\SHILGIROGHU1DPHIURP0DLQSURJUDPFRQWUROSDUDPWHU JOREDOFXU IULPIQFWLRQLQWHUQDO I ILJXUH YLVLEOH RII KLGHWKHILJXUH LI2W\SH
[ ;LN \ ;LN V ;LN KHDW) KN KHDW) KN KHDW) KN 7HPS 7N HOVH [ ;LN \ ;LN V ;LN KHDW) KN KHDW) KN KHDW) KN 7HPS 7N HQG
878
Appendix F: AEPH Source Code (Listed in Alphabetic Order) [K [ \K \ VK V KHDW)K KHDW) KHDW)K KHDW) KHDW)K KHDW) 7HPSK 7HPS 2XWSXWWZR7DEOHVIRUKHDWIORZDQGWHPSHUDWXUH K[\ K[\ K[\ 7[\ VWU ^ ?U?Q7DEOHRIKHDWIORZ?U?Q [ \ K K K ` =K >KHDW)KKHDW)KKHDW)K@ SULQW7)ILG[K\K=K;LN8LNVWUYN VWU ^ ?U?Q7DEOHRIWHPSHUDWXUH?U?Q [ \ 7 ` SULQW7)ILG[K\K7HPSK;LN8LNVWUYN $GGLWLRQDORXWSXWIRU2W\SH 2W\SH WZRVHWVRI)LJXUHVSORWRQ[\D[LV IRU SORWRIHOHFWULFILHOG(((( SORWRIHOHFWULFGLVSODFHPHQW''V''V 2W\SH RQH)LJXUHVIRUWKHFRQWRXUSORW KHDW)BL[\ 7HPS[\ VZLWFK2W\SH FDVH SORWRIHOHFWULFILHOGVDQGHOHFWULFGLVSODFHPHQWV LIFXU
VWU ^ V VFXPXODWLYHGLVWDQFHIURPWKHVWDUWLQJSRLQW `HOVHVWU ^ಫ˵ಬ`HQG
SORWVKKHDW)K U VKKHDW)K J VKKHDW)K E [ODEHOVWU \ODEHO KKK OHJHQG K K K WLWOH KHDWIOX[ D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?KHDWIOX[SQJ @ FOI SORWVK7HPSK U [ODEHOVWU \ODEHO 7 WLWOH WHPSHUDWXUH D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?WHPSHUDWXUHSQJ @ FOI FDVH FRQWRXUSORWIRUKHDWIOX[DQGWHPSHUDWXUH KHDW)BL[\ 7HPS[\ VWU ^ KHDWIORZK KHDWIORZK KHDWIORZK WHPSHUDWXUH7 ` = FDWKHDW)KHDW)KHDW)7HPS SULQW7)I[\=;LN8LNVWUYN HQG IXQFWLRQ7DEOH)LJ&7;LN8LN7NKNYN JOREDO2W\SHILGIROGHU1DPH IURP0DLQSURJUDPFRQWUROSDUDPHWHU JOREDOFXU IURPIXQFWLRQLQWHUQDO I ILJXUH YLVLEOH RII KLGHWKHILJXUH LI2W\SH
[ ;LN \ ;LN V ;LN KHDW) KN KHDW) KN KHDW) KN 7HPS 7N HOVH [ ;LN \ ;LN V ;LN KHDW) KN KHDW) KN KHDW) KN 7HPS 7N HQG [K [ \K \ VK V KHDW)K KHDW) KHDW)K KHDW) KHDW)K KHDW) 7HPSK 7HPS 2XWSXW7DEOHVIRUKHDWIORZDQGWHPSHUDWXUH K[\ K[\ 7[\ VWU ^ ?U?Q7DEOHRIKHDWIORZ?U?Q [ \ K K K ` =K >KHDW)KKHDW)KKHDW)K@
Appendix F: AEPH Source Code (Listed in Alphabetic Order) SULQW7)ILG[K\K=K;LN8LNVWUYN VWU ^ ?U?Q7DEOHRIWHPSHUDWXUH?U?Q [ \ 7 ` SULQW7)ILG[K\K7HPSK;LN8LNVWUYN $GGLWLRQDORXWSXWIRU2W\SH 2W\SH WZRVHWVRI)LJXUHVSORWRQ[\D[LV IRU SORWRIHOHFWULFILHOG(((( SORWRIHOHFWULFGLVSODFHPHQW''V''V 2W\SH WZRVHWVRI)LJXUHVIRUWKHFRQWRXUSORW KHDW)BL[\ 7HPS[\ VZLWFK2W\SH FDVH SORWRIHOHFWULFILHOGVDQGHOHFWULFGLVSODFHPHQWV LIFXU
VWU ^ V VFXPXODWLYHGLVWDQFHIURPWKHVWDUWLQJSRLQW `HOVHVWU ^ಫ˵ಬ`HQG
SORWVKKHDW)K U VKKHDW)K J VKKHDW)K E [ODEHOVWU \ODEHO KKK OHJHQG K K K WLWOH UHVXOWDQWKHDWIOX[ D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?UHVXOWDQWKHDWIOX[SQJ @ FOI SORWVK7HPSK U [ODEHOVWU \ODEHO 7 WLWOH WHPSHUDWXUH D[LVQRUPDO VDYHDVI>FG ? IROGHU1DPH ?WHPSHUDWXUHSQJ @ FOI FDVH FRQWRXUSORWIRUKHDWIOX[DQGWHPSHUDWXUH KHDW)BL[\ 7HPS[\ VWU ^ KHDWIORZK KHDWIORZK ` = FDWKHDW)KHDW) SULQW7)I[\=;LN8LNVWUYN SULQW7)I[\7HPS;LN8LN WHPSHUDWXUH7 YN HQG IXQFWLRQ7DEOH)LJ'9;LN8LN7LNYN DGGWLPHYDULDEOH JOREDO2W\SH3W\SHQWQ[\WLPHNILGIROGHU1DPH6[\6WP IURP0DLQSURJUDP IXQFWL RQV0DLQBDX[RXWSXWBFDSWLRQ JOREDO;WLS[\FXUGLPQ[VXUIIURPIXQFWLRQ7DEOH6,)LQWHUQDOHWFVDYHIRUWKHODWHUXVH IROGHU1DPH IROGHU1DPH VWRUHWKHRULJLQDOILOHQDPHDQGIROGHUQDPH IRUL QW 7DEOHVDQG)LJXUHVYVSRVLWLRQIRUHDFKWLPHJHQHUDWHGE\IXQFWLRQVYLVFRRU LILVQDQ6WPL
ISULQWI 1RDYDLODEOHGDWDIRUWKHWLPHQHDUHVWWRWKHGWKVHOHFWHGWLPH?Q L ISULQWI IROGHU1DPH UHSRQVHVDWWLPH QXPVWUWLPHNLW @QDPHRIVXEIROGHU PNGLUIROGHU1DPH FUHDWHDVXEIROGHUIRU)LJXUHVRIWKHVHOHFWHGWLPH HQG ISULQWIILG ?U?QWLPH I?U?Q WLPHNLW 7DEOH)LJ';LN8LN7LNYN LI3W\SHa 7DEOH)LJ3;LN8LN7LNYN HQG LI3W\SH! 7DEOH)LJ0;LN8LN7LNYN HQG
HQG HQG IRUM Q[\ 7DEOHVDQG)LJXUHVYVWLPHIRUWKHVHOHFWHGSRLQWJHQHUDWHGLQIXQFWLRQLQWHUQDO LILVQDQ6[\M
879
880
Appendix F: AEPH Source Code (Listed in Alphabetic Order) ISULQWI 1RDYDLODEOHGDWDIRUWKHSRLQWQHDUHVWWRWKHGWKVHOHFWHGSRVLWLRQ?Q M ISULQWI IROGHU1DPH UHSRQVHVDW[ QXPVWU[ \ QXPVWU\ @QDPHRIVXEIROGHU PNGLUIROGHU1DPH FUHDWHDVXEIROGHUIRU7DEOHVDQG)LJXUHVRIWKHVHOHFWHGSRVLWLRQ ISULQWIILG ?U?QSRVLWLRQ[ H\ H?U?Q [\ 7DEOH)LJ7LPH8LN7LN[\ IRUG\QDPLFRUYLVFRHODVWLFSUREOHPV HQG HQG IROGHU1DPH IROGHU1DPH UHWXUQWKHRUJLQDOILOHQDPHDQGIROGHUQDPH VDYH LQSXWBUHVXOW ;LN 8LN 7LN YN WLPHN ;WLS [ \ FXU GLP Q[ VXUI DSSHQG VDYHWKHUHVXOWVIRUODWHUXVH IXQFWLRQ7DEOH)LJ7LPH8LN7LN[\ 7DEOHDQG)LJXUHYVWLPHIRUHDFKSRLQWJHQHQUDWHGE\IXQFWLRQFXUYHVXUIDFHRUSRLQWRIIXQFWLRQLQWHUQDO JOREDO3W\SHWLPHNQWVILG9/W\SHIURPIXQFWLRQ/DSODFHBLQY0DLQSURJUDPRXWSXWBFDSWLRQVYLVFR I ILJXUH YLVLEOH RII KLGHWKHILJXUH X 8LN X 8LN X 8LN HSV 8LN HSV 8LN 8LN HSV 8LN HSV 8LN HSV 8LN VLJ 7LN VLJ 7LN VLJ 7LN VLJ 7LN VLJ 7LN VLJVV 7LN VLJQQ 7LN VLJVQ 7LN LI9/W\SH
_9/W\SH
VLJVV 7LN HQG
LI3W\SHa ( 8LN ( 8LN ' 7LN ' 7LN 'V 7LN (K ( (K ( 'K ' 'K ' 'VK 'V
HQG LI3W\SH! + 8LN + 8LN % 7LN % 7LN %V 7LN +K + +K + %K % %K % %VK %V
HQG XK X XK X XK X HSVK HSV HSVK HSV HSVK HSV HSVK HSV HSVK HSV VLJK VLJ VLJK VLJ VLJK VLJ VLJK VLJ VLJK VLJ VLJVVK VLJVV VLJQQK VLJQQ VLJVQK VLJVQ LI9/W\SH
_9/W\SH
VLJVVK VLJVV HOVHVLJVVKQWV QDQHQG
Appendix F: AEPH Source Code (Listed in Alphabetic Order) 2XWSXWWKUHH7DEOHVDQGWKUHH)LJXUHVIRUGLVSODFHPHQWVVWUDLQVDQGVWUHVVHV XBLW HSVLORQBLMW VLJPDBLMW VWU ^ ?U?Q7DEOHRIGLVSODFHPHQWV?U?Q W X X X GLVSODFHPHQW ` =K >XKXKXK@ SULQW7)ILGWLPHN>@=K>@>@VWU SULQW7)IWLPHN>[\@=K>@>@VWU VWU ^ ?U?Q7DEOHRIVWUDLQV?U?Q W ˢ ˢ ˢ ˢ ˢ VWUDLQ ` =K >HSVKHSVKHSVKHSVKHSVK@ SULQW7)ILGWLPHN>@=K>@>@VWU SULQW7)IWLPHN>[\@=K>@>@VWU VWU ^ ?U?Q7DEOHRIVWUHVVHV?U?Q W ˰ ˰ ˰ ˰ ˰ VWUHVV ` =K >VLJKVLJKVLJKVLJKVLJK@ SULQW7)ILGWLPHN>@=K>@>@VWU SULQW7)IWLPHN>[\@=K>@>@VWU $GGLWLRQDO7DEOHVDQG)LJXUHVIRUVWUHVVHVLQVQFRRUGLQDWH VWU ^ ?U?Q7DEOHRIVWUHVVHV?U?Q W ˰VV ˰QQ ˰VQ ˰VV VLJPDVV VLJPDQQ VLJPDVQ VLJPDVV[ VWUHVVLQVQFRRUGLQDWH ` =K >VLJVVKVLJQQKVLJVQKVLJVVK@ LIPLQPLQLVQDQ=K
SULQW7)ILGWLPHN>@=K>@>@VWU SULQWWDEOH SULQW7)IWLPHN>[\@=K>@>@VWU SULQWILJXUH HQG LI3W\SHa 2XWSXWWKUHH7DEOHVDQGWKUHH)LJXUHVIRUHOHFWULFILHOGVDQGHOHFWULFGLVSODFHPHQWV (BLW 'BLW VWU ^ ?U?Q7DEOHRIHOHFWULFILHOGV?U?Q W ( ( HOHFWULFILHOGV ` SULQW7)ILGWLPHN>@>(K(K@>@>@VWU SULQW7)IWLPHN>[\@>(K(K@>@>@VWU VWU ^ ?U?Q7DEOHRIHOHFWULFGLVSODFHPHQWV?U?Q W ' ' HOHFWULFGLVSODFHPHQWV ` SULQW7)ILGWLPHN>@>'K'K@>@>@VWU SULQW7)IWLPHN>[\@>'K'K@>@>@VWU $GGLWLRQDO7DEOHVDQG)LJXUHVIRUHOHFWULFGLVSODFHPHQWVLQVQFRRUGLQDWH VWU ^ ?U?Q7DEOHRIHOHFWULFGLVSODFHPHQWV?U?Q W 'V HOHFWULFGLVSODFHPHQWVLQVQFRRUGLQDWH ` LIPLQPLQLVQDQ'VK
SULQW7)ILGWLPHN>@'VK>@>@VWU SULQWWDEOH SULQW7)IWLPHN>[\@'VK>@>@VWU SULQWILJXUH HQG LI3W\SH! 2XWSXWWKUHH7DEOHVDQGWKUHH)LJXUHVIRUPDJQHWLFILHOGVDQGPDJQHWLFIOX[ +BLW %BLW VWU ^ ?U?Q7DEOHRIPDJQHWLFILHOGV?U?Q W + + PDJQHWLFILHOGV ` SULQW7)ILGWLPHN>@>+K+K@>@>@VWU SULQW7)IWLPHN>[\@>+K+K@>@>@VWU VWU ^ ?U?Q7DEOHRIPDJQHWLFIOX[?U?Q W % % PDJQHWLFIOX[ ` SULQW7)ILGWLPHN>@>%K%K@>@>@VWU SULQW7)IWLPHN>[\@>%K%K@>@>@VWU $GGLWLRQDO7DEOHVDQG)LJXUHVIRUPDJQHWLFIOX[LQVQFRRUGLQDWH
881
882
Appendix F: AEPH Source Code (Listed in Alphabetic Order) VWU ^ ?U?Q7DEOHRIPDJQHWLFIOX[?U?Q W 'V PDJQHWLFIOX[LQVQFRRUGLQDWH ` LIPLQPLQLVQDQ%VK
SULQW7)ILGWLPHN>@%VK>@>@VWU SULQWWDEOH SULQW7)IWLPHN>[\@%VK>@>@VWU SULQWILJXUH HQG HQG HQG
F197: TableFig3D IXQFWLRQ7DEOH)LJ'[QXEHSVLORQVLJPD 7$%/(),*'RXWSXWWKHUHVXOWVRI'%(0LQWR7DEOHVDQG)LJXUHV JOREDO3W\SHILG IURP0DLQSURJUDP ; [Q )K XE VWU ^ ?U?Q7DEOHRIGLVSODFHPHQWV?U?Q [ \ ] X X X ` LI3W\SHa VWU^` 9 VWU^` ?U?Q7DEOHRIGLVSODFHPHQWVDQGHOHFWULFSRWHQWLDO?U?Q HQG LI3W\SH!VWU^` ಫ˵ಬVWU^` ?U?Q7DEOHRIGLVSODFHPHQWVHOHFWULFDQGPDJQHWLFSRWHQWLDO?U?Q HQG SULQW7'ILG;)KVWUVL]H)K VWU ^ ?U?Q7DEOHRIVWUDLQV?U?Q [ \ ] ˢ ˢ ˢ ˢ ˢ ˢ ` SULQW7'ILG;HSVLORQ VWU VWU ^ ?U?Q7DEOHRIVWUHVVHV?U?Q [ \ ] ˰ ˰ ˰ ˰ ˰ ˰ ` SULQW7'ILG;VLJPD VWU LI3W\SHa VWU ^ ?U?Q7DEOHRIHOHFWULFILHOGV?U?Q [ \ ] ( ( ( ` SULQW7'ILG;HSVLORQ VWU VWU ^ ?U?Q7DEOHRIHOHFWULFGLVSODFHPHQWV?U?Q [ \ ] ' ' ' ` SULQW7'ILG;VLJPD VWU HQG LI3W\SH! VWU ^ ?U?Q7DEOHRIPDJQHWLFILHOGV?U?Q [ \ ] + + + ` SULQW7'ILG;HSVLORQ VWU VWU ^ ?U?Q7DEOHRIPDJQHWLFIOX[HV?U?Q [ \ ] % % % ` SULQW7'ILG;VLJPD VWU HQG IXQFWLRQSULQW7'I;)VWUQ IRUP ^ V V V V V V V V V V V ` IRUP ^ H H H H H H ` IRUP; ^ V I `IRUP< ^ V I `IRUP= ^ V I ` ;;)@QV Q ISULQWIIVWU^` ISULQWII>IRUP;^`IRUPIRUP;^`IRUP7N7N@ D PDWUL['HODVWLFSUREOHPV &N LQY**NL *N 7N*NL FRQM7N HTQE D PDWUL[ (N %L FRQM% &N % GLDJJDPPDAN &N HTQE D PDWUL[ )N QRXVHDQGKHQFHVHWWR]HUR FDVH GHULYDWLYHVRI7&()SRLQWIRUFHLQVLGHWKHLQFOXVLRQ LI/W\SH!DOSKD HQG
GHIDXOWIRUQRQ%(0SUREOHPV
]BKDW DL E PX ]HWDBKDWDL E PX ]HWDBKDW ILUVWWZRWHUPVRIHTQ ]HWDBKDWS ]HWDBKDWDL E PX ]HWDBKDW]BKDW HTQE ]HWDNJ ]HWDBKDWAN JDPPDAN ]HWDBKDWAN ]HWDBKDWS SDUWRIHTQF ]$ GLDJ]HWDNJ $ SDUWRIHTQF B ]BKDW FRVDOSKD PX VLQDOSKD ]BKDW VLQDOSKD PX FRVDOSKD HTQE B 7N FRQM00 $ GLDJ]BKDW ]$ 7N FRQM00 $ GLDJ]BKDW ]$ HTQF 7N >7N7N@ D PDWUL['HODVWLFSUREOHPV &N LQY**NL *N 7N*NL FRQM7N HTQ B (N %L FRQM% &N % GLDJJDPPDAN &N HTQ B )N (N>%L % GLDJ]BKDW ]$%L % GLDJ]BKDW ]$@
HTQD
HQG
F199: thermal IXQFWLRQ>NLMDOSKDLMEHWDLM.WLM.WLMV$WLM%WLM'WLM@ WKHUPDOLQSXWSURS 7+(50$/,13873523 SURYLGHVKHDWFRQGXFWLRQFRHIILFLHQWWKHUPDOH[SDQVLRQFRHIILFLHQWDQG WKHUPDOPRGXOXVNLMDOSKDLMEHWDLM DQGWKHLUUHGXFHGYDOXHVIRUWZRGLPHQVLRQDOSUREOHPV ,IWKHFRXSOHGVWUHWFKLQJEHQGLQJSUREOHPVDUHFRQVLGHUHGWKHUHVXOWDQWKHDWFRQGXFWLRQFRHIILFLHQWV .WLM.WLMVDVZHOODVWKHWKHUPDOH[WHQVLRQDOFRXSOLQJDQGEHQGLQJVWLIIQHVVHV$WLM%WLM'WLM ZLOODOVREHFDOFXODWHGLQWKLVIXQFWLRQ 7ZRDX[LOLDU\IXQFWLRQVUHVSRQVLEOHIRUWKHWUDQVIRUPDWLRQEHWZHHQDOSKDLMDQGEHWDLMDUHXVHG WRDVVLVWWKHFDOFXODWLRQRIWKHUPDO2QHLVDOSKDWREHWDDQGWKHRWKHULVEHWDWRDOSKD 7ZRRWKHUDX[LOLDU\IXQFWLRQVYHFWRUWRPDWUL[DQGPDWUL[WRYHFWRU DUHXVHGWRWUDQVIHUEHWZHHQWHQVRUQRWDWLRQDQGFRQWUDFWHGQRWDWLRQDVVKRZQLQE 2QHPRUHDX[LOLDU\IXQFWLRQ0(('WR'WKLVGHVLJQHGIRUWKHWUDQVIRUPDWLRQRI0((PDWHULDOV ZKRVHGHWDLOVDUHGHVFULEHGLQ6HFWLRQ 7KHWKHUPDOSURSHUWLHVDUHLQSXWWKURXJKWKHWH[WILOHLQSXWBWKHUPDOW[WDFFRUGLQJWRWKHFRQWUROSDUDPHWHU7W\SH NLMWKHUPDOFRQGXFWLYLW\ DOSKDLMWKHUPDOH[SDQVLRQFRHIILFLHQWIRUWKHJHQHUDO'SUREOHPV DOSKDLM DOSKDLMBKDWIRUJHQHUDOL]HGSODQHVWUDLQDOSKDLM DOSKDLMIRUJHQHUDOL]HGSODQHVWUHVV EHWDLMWKHUPDOPRGXOXVIRUWKHJHQHUDO'SUREOHPV EHWDLM EHWDLMIRUJHQHUDOL]HGSODQHVWUDLQEHWDLM EHWDLMBKDWIRUJHQHUDOL]HGSODQHVWUHVV .WLM.WLMVUHVXOWDQWKHDWFRQGXFWLRQFRHIILFLHQWV $WLM%WLM'WLMWKHUPDOH[WHQVLRQDOFRXSOLQJDQGEHQGLQJVWLIIQHVVHV LQSXWLQSXWRIWKHUPDOSURSHUWLHVLPSRUWHGIURP LQSXWBWKHUPDOW[W SURSLQSXWRIHODVWLFSLH]RHOHFWULFRU0((SURSHUWLHV */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
885
DOSKDLMEHWDLMWKHUPDOH[SDQVLRQFRHIILFLHQWVDQGWKHUPDOPRGXOLHTQ DOSKDBYEHWDBYYHFWRURIWKHUPDOH[SDQVLRQFRHIILFLHQWVDQGYHFWRURIWKHUPDOPRGXOLHTQE DOSKDBYEHWDBYDOSKDBYDQGEHWDBYRI'VWDWH DOSKDWKHUPDOH[SDQVLRQFRHIILFLHQWRILVRWURSLFPDWHULDOV JOREDO(W\SH3W\SH7W\SH'W\SH(HSVGLP IURP0DLQSURJUDP JOREDO&LM6LM&LMBNWKLFNQHVV IURPIXQFWLRQHODVWLF JOREDO&LM(HLMZLMH&LM(BNHLMBNZLMHBN IURPIXQFWLRQSLH]R0 JOREDO&LM(+HLM+ZLMH+TLM(PLMH[LLMH IURPIXQFWLRQ0(( JOREDO&LM(+BNHLM+BNZLMH+BNTLM(BNPLMHBN[LLMHBNIURPIXQFWLRQ0(( JOREDODOSKDLMEHWDLMDOSKDBYEHWDBYDOSKDBYEHWDBYDOSKD JHQHUDWHGWKHUPDOSURSHUWLHV NLM ]HURV DOSKDLM ]HURVGLP EHWDLM ]HURVGLP LI3W\SH
J&LM &LM HODVWLFPDWHULDOV
HOVHJ&LM >&LM(HLM HLMZLMH@HQG SLH]RHOHFWULFRU0((PDWHULDOV LI3W\SH!J&LM >>&LM(+HLM+ HLM+ZLMH+@>TLM( PLMH@TLM(PLMH[LLMH@HQG
HTQD B PDWUL[IRU0((
VZLWFK7W\SH DOO7W\SHVDFFHSWWKHUPDOSURSHUWLHVRIHODVWLFPDWHULDOVZKLOHRQO\7W\SH DFFHSWWKHUPDOSURSHUWLHVRI SLH]RHOHFWULFRU0((PDWHULDOV FDVH LVRWURSLFHODVWLFPDWHULDOV N LQSXW WKHUPDOFRQGXFWLYLW\ DOSKD LQSXW
WKHUPDOH[SDQVLRQ
NLM NNLM NHSV NNLM N HSVDVPDOOYDOXHDGGHGWRNLM WRDYRLGGHJHQHUDF\RILVRWURSLFPDWHULDOV DOSKDLM DOSKDDOSKDLM DOSKDDOSKDLM DOSKD >EHWDLMDOSKDBYEHWDBY@ DOSKDWREHWDDOSKDLMJ&LM JHWEHWDLMIURPDOSKDLM FDVH RUWKRWURSLFHODVWLFPDWHULDOV N LQSXW N LQSXW N LQSXW WKHUPDOFRQGXFWLYLW\ DOSKD LQSXW DOSKD LQSXW DOSKD LQSXW
WKHUPDOH[SDQVLRQ
NLM NNLM NNLM N DOSKDLM DOSKDDOSKDLM DOSKDDOSKDLM DOSKD >EHWDLMDOSKDBYEHWDBY@ DOSKDWREHWDDOSKDLMJ&LM JHWEHWDLMIURPDOSKDLM FDVH LQSXWWKHUPDOSURSHUWLHVWKURXJKNLMDQGEHWDLMDQLVRWURSLFHODVWLFSLH]RHOHFWULFRU0((PDWHULDOV NLM LQSXW LQSXWNLME\WKHIROORZLQJVHTXHQFH>NNNNNNNNN@ EHWDLMGLP LQSXWGLP LQSXWEHWDLME\WKHIROORZLQJVHTXHQFH>EHWDEHWDEHWDEHWD@ >DOSKDLMDOSKDBYEHWDBY@ EHWDWRDOSKDEHWDLMLQYJ&LM JHWDOSKDLMIURPEHWDLM FDVH LQSXWWKHUPDOSURSHUWLHVWKURXJKNLMDQGDOSKDLMDQLVRWURSLFHODVWLFSLH]RHOHFWULFRU0((PDWHULDOV NLM LQSXW LQSXWNLME\WKHIROORZLQJVHTXHQFH>NNNNNNNNN@ DOSKDLMGLP LQSXWGLP LQSXWDOSKDLME\WKHVHTXHQFH>DOSKDDOSKDDOSKDDOSKD@ >EHWDLMDOSKDBYEHWDBY@ DOSKDWREHWDDOSKDLMJ&LM JHWEHWDLMIURPDOSKDLM FDVH XQLGLUHFWLRQDOILEHUUHLQIRUFHGFRPSRVLWHPDWHULDOV N LQSXW N LQSXW WKHUPDOFRQGXFWLYLW\LQ[B [BGLUHFWLRQ DOSKD LQSXW DOSKD LQSXW WKHUPDOH[SDQVLRQLQ[B [BGLUHFWLRQ DOSKDBI SURS
ILEHURULHQWDWLRQGLUHFWHGFRXQWHUFORFNZLVHO\IURP[BD[LV
FG FRVGDOSKDBI VG VLQGDOSKDBI NLM N FGAN VGA NLM N VGAN FGA NLM NN FG VG NLM NLM NLM N DOSKDLM DOSKD FGADOSKD VGA DOSKDLM DOSKD VGADOSKD FGA DOSKDLM DOSKDDOSKD FG VG DOSKDLM DOSKDLM DOSKDLM DOSKD >EHWDLMDOSKDBYEHWDBY@ DOSKDWREHWDDOSKDLMJ&LM JHWEHWDLMIURPDOSKDLM FDVH FRPSRVLWHODPLQDWHVZKRVHOD\HUVFDQEHHODVWLFSLH]RRU0((PDWHULDOV Q SURS QBP SURS
QXPEHURIOD\HUV QXPEHURIPDWHULDOW\SHV
886
Appendix F: AEPH Source Code (Listed in Alphabetic Order) IRUL QBP UHDGWKHUPDOSURSHUWLHVIRUHDFKGLIIHUHQWPDWHULDO LI(W\SHa WKHSURSHUWLHVRIHDFKOD\HULVSXUHHODVWLF NL LQSXWL NL LQSXWL
WKHUPDOFRQGXFWLYLW\
DOSKDL LQSXWL DOSKDL LQSXWL WKHUPDOH[SDQVLRQ HOVHLI3W\SHa ODPLQDWHVZLWKSLH]RRU0((SURSHUWLHV L GLP L L GLP L NLMBPL LQSXWLL NLMBP PDWUL[ DOSKDLMBPL LQSXWLL DOSKDLMBPGLP PDWUL[ HQG HQG WKLFNQHVV NLM6 DOSKDLM6 IRUN Q WKHOD\XSLVFRXQWHGIURPWRSWRERWWRP LI(W\SHa IRUWKHOD\HUZLWKSXUHHODVWLFSURSHUWLHV N NQBPPN SURSN DOSKDN SURSN WNN SURSN PDWHULDOW\SHRIWKHNWKOD\HUILEHURULHQWDWLRQRIWKHNWKOD\HUXQLWGHJUHH WKLFNQHVVRIWKHNWKOD\HU FG FRVGDOSKDN VG VLQGDOSKDN NLM NPN FGANPN VGA NLM NPN VGANPN FGA NLM NPN NPN FG VG NLM NLM NLM NPN DOSKDLM DOSKDPN FGADOSKDPN VGA DOSKDLM DOSKDPN VGADOSKDPN FGA DOSKDLM DOSKDPN DOSKDPN FG VG DOSKDLM DOSKDLM DOSKDLM DOSKDPN HOVHLI3W\SHa IRUWKHOD\HUZLWKSLH]RRU0((SURSHUWLHV LI3W\SH S LG IRUSLH]R &LMBNN >&LM(BNN HLMBNN HLMBNN ZLMHBNN @ HOVH S LG IRU0(( &LMBNN >>&LM(+BNN HLM+BNN HLM+BNN ZLMH+BNN @ >TLM(BNN PLMHBNN @TLM(BNN PLMHBNN [LLMHBNN @ HQG N NS QBPPN SURSN WNN SURSN NLM NLMBPPN DOSKDLM DOSKDLMBPPN HQG >EHWDLMDOSKDBY%HWDBYN @ DOSKDWREHWDDOSKDLM&LMBNN JHWEHWDLMIURPDOSKDLMRINWKOD\HU .LMN NLM WKHUPDOFRQGXFWLYLW\RINWKOD\HU NLM6 NLM6NLM WNN NLM6VXPPDWLRQRINLM WNN DOSKDLM6 DOSKDLM6DOSKDLM WNN DOSKDLM6VXPPDWLRQRIDOSKDLM WNN WKLFNQHVV WKLFNQHVVWNN HQG NLM NLM6WKLFNQHVV WKHUPDOFRQGXFWLYLW\ DOSKDLM DOSKDLM6WKLFNQHVVWKHUPDOH[SDQVLRQFRHIILFLHQW >EHWDLMDOSKDBYEHWDBY@ DOSKDWREHWDDOSKDLMJ&LM JHWEHWDLMIURPDOSKDLM RWKHUZLVH GLVS 8QNQRZQWKHUPDOSURSHUWLHV HQG .WLM .WLMV $WLM %WLM 'WLM GHIDXOW VZLWFK'W\SH FDVH^` JHQHUDOL]HGSODQHVWUDLQHSVLORQ VKRUWFLUFXLW( + EHWDBY EHWDBY
Appendix F: AEPH Source Code (Listed in Alphabetic Order) EHWDBY EHWDBY FDVH JHQHUDOL]HGSODQHVWUHVV EHWDBY EHWDBY&LM EHWDBY &LM FDVH JHQHUDOL]HGSODQHVWUDLQ RSHQFLUFXLWHTQD >EHWDBY@ 0(('WR'WKEHWDBY&LM(HLMZLMH FDVH JHQHUDOL]HGSODQHVWUHVV VKRUWFLUFXLWHTQE >EHWDBY@ 0(('WR'WKEHWDBY&LM(HLMZLMH FDVH JHQHUDOL]HGSODQHVWUHVV RSHQFLUFXLWHTQF >&LM(BKDWHLMBKDWZLMHBKDWTTT@ 0(('WR'&LM(HLMZLMH >EHWDBKDW@ 0(('WR'WKEHWDBY&LM(HLMZLMH >EHWDBY@ 0(('WR'WKEHWDBKDW&LM(BKDWHLMBKDWZLMHBKDW FDVH VWDWHJHQHUDOL]HGSODQHVWUDLQ ( % HTQE >EHWDBY@ 0(('WR'WKEHWDBY&LM(+HLM+ZLMH+TLM(PLMH[LLMH FDVH VWDWHJHQHUDOL]HGSODQHVWUDLQ ' + HTQE >EHWDBY@ 0(('WR'WKEHWDBY&LM(+HLM+ZLMH+TLM(PLMH[LLMH FDVH VWDWHJHQHUDOL]HGSODQHVWUDLQ ' % E >&LM(BVWHLMBVWZLMHBVWTLM(BVWPLMHBVW[LLMHBVW@ 0(('WR'&LM(+HLM+ZLMH+TLM(PLMH[LLMH >EHWDBVW@ 0(('WR'WKEHWDBY&LM(+HLM+ZLMH+TLM(PLMH[LLMH >EHWDBY@ 0(('WR'WKEHWDBVW&LM(BVWHLMBVWZLMHBVWTLM(BVWPLMHBVW[LLMHBVW FDVH VWDWHJHQHUDOL]HGSODQHVWUHVV ( + E >EHWDBY@ 0(('WR'WKEHWDBY&LM(+HLM+ZLMH+TLM(PLMH[LLMH FDVH VWDWHJHQHUDOL]HGSODQHVWUHVV ( % E >&LM(BVWHLMBVWZLMHBVWTLM(BVWPLMHBVW[LLMHBVW@ 0(('WR'&LM(+HLM+ZLMH+TLM(PLMH[LLMH >EHWDBVW@ 0(('WR'WKEHWDBY&LM(+HLM+ZLMH+TLM(PLMH[LLMH >EHWDBY@ 0(('WR'WKEHWDBVW&LM(BVWHLMBVWZLMHBVWTLM(BVWPLMHBVW[LLMHBVW FDVH VWDWHJHQHUDOL]HGSODQHVWUHVV ' + E >&LM(BEDHLMBEDZLMHBEDTLM(BEDPLMHBED[LLMHBED@ 0(('WR'&LM(+HLM+ZLMH+TLM(PLMH[LLMH >EHWDBED@ 0(('WR'WKEHWDBY&LM(+HLM+ZLMH+TLM(PLMH[LLMH >EHWDBY@ 0(('WR'WKEHWDBED&LM(BEDHLMBEDZLMHBEDTLM(BEDPLMHBED[LLMHBED FDVH VWDWHJHQHUDOL]HGSODQHVWUHVV ' % E >&LM(BVWHLMBVWZLMHBVWTLM(BVWPLMHBVW[LLMHBVW@ 0(('WR'&LM(+HLM+ZLMH+TLM(PLMH[LLMH >EHWDBVW@ 0(('WR'WKEHWDBY&LM(+HLM+ZLMH+TLM(PLMH[LLMH >&LM(BSHLMBSZLMHBSTLM(BSPLMHBS[LLMHBS@ 0(('WR'&LM(BVWHLMBVWZLMHBVWTLM(BVWPLMHBVW[LLMHBVW >EHWDBS@ 0(('WR'WKEHWDBVW&LM(BVWHLMBVWZLMHBVWTLM(BVWPLMHBVW[LLMHBVW >EHWDBY@ 0(('WR'WKEHWDBS&LM(BSHLMBSZLMHBSTLM(BSPLMHBS[LLMHBS FDVH^` FRXSOHGVWUHWFKLQJEHQGLQJSUREOHP HTQVF E $WLM ]HURVGLP %WLM ]HURVGLP 'WLM ]HURVGLP GHIDXOW LI7W\SH EHWDBKDW EHWDBYJ&LM EHWDBY J&LM >EHWDLMBKDW@ YHFWRUWRPDWUL[EHWDBKDW WUDQVIRUPEHWDBKDWIURPYHFWRUWRPDWUL[ .WLM NLM WKLFNQHVV .WLMV ]HURV UHVXOWDQWWKHUPDOFRQGXFWLYLW\ $WLM EHWDLMBKDW WKLFNQHVV%WLM ]HURV WKHUPDOH[WHQVLRQDODQGFRXSOLQJVWLIIQHVVHV 'WLM EHWDLMBKDW WKLFNQHVVA WKHUPDOEHQGLQJVWLIIQHVVHV LI3W\SHa SLH]RRU0(( $WLM EHWDLMBKDW WKLFNQHVV DGGLWLRQDOWKHUPDOH[WHQVLRQDOVWLIIQHVVHV 'WLM EHWDLMBKDW WKLFNQHVVA DGGLWLRQDOWKHUPDOEHQGLQJVWLIIQHVVHV LI3W\SH! 0(( $WLM EHWDLMBKDW WKLFNQHVV DGGLWLRQDOWKHUPDOH[WHQVLRQDOVWLIIQHVVHV 'WLM EHWDLMBKDW WKLFNQHVVA DGGLWLRQDOWKHUPDOEHQGLQJVWLIIQHVVHV HQG
887
888
Appendix F: AEPH Source Code (Listed in Alphabetic Order) HQG HOVHLI7W\SH
.WLM NLM WKLFNQHVV K WKLFNQHVV LI3W\SH
EHWDLMBKDW ]HURV HOVHLI3W\SHEHWDLMBKDW ]HURV HOVHEHWDLMBKDW ]HURV HQG
IRUN Q LI3W\SH
J&LM &LMBNN HODVWLFPDWHULDOV
HOVHLI3W\SHJ&LM >&LM(BNN HLMBNN HLMBNN ZLMHBNN @SLH]RHOHFWULFPDWHULDOV HOVHJ&LM >>&LM(+BNN HLM+BNN HLM+BNN ZLMH+BNN @ 0((PDWHULDOV >TLM(BNN PLMHBNN @TLM(BNN PLMHBNN [LLMHBNN @ HQG %HWDBKDW %HWDBYN J&LM %HWDBYN J&LM >%HWDLMBKDW@ YHFWRUWRPDWUL[%HWDBKDW WUDQVIRUP%HWDBKDWIURPYHFWRUWRPDWUL[ KN KN WNN .WLMV .WLMV.LMN KN AKN A EHWDLMBKDW EHWDLMBKDW%HWDLMBKDW WNN $WLM $WLM %HWDLMBKDW WNN %WLM %WLM %HWDLMBKDW KN AKN A 'WLM 'WLM %HWDLMBKDW KN AKN A LI3W\SHa SLH]RRU0(( $WLM $WLM %HWDLMBKDW WNN %WLM %WLM %HWDLMBKDW KN AKN A 'WLM 'WLM %HWDLMBKDW KN AKN A LI3W\SH! 0(( $WLM $WLM %HWDLMBKDW WNN %WLM %WLM %HWDLMBKDW KN AKN A 'WLM 'WLM %HWDLMBKDW KN AKN A HQG HQG HQG EHWDLMBKDW EHWDLMBKDWWKLFNQHVV HQG DOSKDLM DOSKDLMEHWDLM EHWDLMBKDW RWKHUZLVH GLVS 8QNQRZQSUREOHPW\SH HQG LI'W\SH'W\SH 'W\SH 'W\SHSODQHVWUDLQ'W\SH SODQHVWUHVV'W\SH FRXSOHGVWUHFKLQJEHQGLQJ HOVHLI'W\SH'W\SH IL['W\SH HOVH'W\SH IL['W\SH HQG LI'W\SH
_'W\SH
WZRGLPHQVLRQDOSUREOHPV
DOSKDBY 6LM EHWDBY >EHWDLM@ YHFWRUWRPDWUL[EHWDBY >DOSKDLM@ YHFWRUWRPDWUL[DOSKDBY EHWDLM EHWDLM ( QRQGLPHQVLRQDOL]DWLRQHTQ HQG IXQFWLRQ>EHWDLMDOSKDBYEHWDBY@ DOSKDWREHWDDOSKDLMJ&LM 7KLVIXQFWLRQSURYLGHVEHWDLMIURPDOSKDLMHTQD >DOSKDBY@ PDWUL[WRYHFWRUDOSKDLM EHWDBY J&LM DOSKDBY DOSKDBY EHWDBYFRQWUDFWHGQRWDWLRQRIDOSKDLM EHWDLM >EHWDLM@ YHFWRUWRPDWUL[EHWDBY
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
889
IXQFWLRQ>DOSKDLMDOSKDBYEHWDBY@ EHWDWRDOSKDEHWDLMJ6LM 7KLVIXQFWLRQSURYLGHVDOSKDLMIURPEHWDLMHTQD >EHWDBY@ PDWUL[WRYHFWRUEHWDLM DOSKDBY J6LM EHWDBY DOSKDBY EHWDBYFRQWUDFWHGQRWDWLRQRIDOSKDLM EHWDLM >DOSKDLM@ YHFWRUWRPDWUL[DOSKDBY I XQFWLRQ>EHWDBY@ 0(('WR'WKEHWDBY&LM(HLMZLMHTLM(PLMH[LLMHHTQ &RQYHUW'EHWDBYWR'EHWDBY VZLWFKHTQ FDVH HTQD BS HLMBL HLM ZLMHBL ZLMH EHWDBY EHWDBY>HLMBL ZLMHBL@ EHWDBY ZLMH E FDVH HTQE BKDW &LM(BL &LM( HLMBL HLM EHWDBY EHWDBY>&LM(BLHLMBL@ EHWDBY &LM( E FDVH HTQE BVW TLM(BL TLM( PLMHBP PLMH [LLMHBP [LLMH EHWDBY EHWDBY>TLM(BL PLMHBP[LLMHBP@ EHWDBY [LLMH E FDVH HTQE E BEDRUBS HLMBL HLM ZLMHBP ZLMH PLMHBP PLMH EHWDBY EHWDBY>HLMBL ZLMHBPPLMHBP@ EHWDBY ZLMH E E FDVH HTQE E E E BKDWRUBKVRUBEURUBKS &LM(BL &LM( HLMBP HLM TLM(BP TLM( EHWDBY EHWDBY>&LM(BL HLMBPTLM(BP@ EHWDBY &LM( E HQG IXQFWLRQ>;LM@ YHFWRUWRPDWUL[;BYDE JOREDO3W\SH LIDE
;BY ;BY ;BY ;BY ;BY ;BY HQG
DE EHWDBYDE DOSKDBY
;LM >;BY ;BY ;BY ;BY ;BY ;BY ;BY ;BY ;BY @ LI3W\SHa ;LM >;LM;BY ;BY ;BY @HQG LI3W\SH!;LM >;LM;BY ;BY ;BY @HQG IXQFWLRQ>;BY@ PDWUL[WRYHFWRU;LMDE JOREDO3W\SH LIDE
;LM ;LM ;LM ;LM ;LM ;LM HQG
DE EHWDLMDE DOSKDLM
;BY >;LM ;LM ;LM ;LM ;LM ;LM @HTQE LI3W\SHa ;BY >;BY;LM ;LM ;LM @HQG LI3W\SH!;BY >;BY;LM ;LM ;LM @HQG
F200: thermal_BEM IXQFWLRQ>YBDYBDQYBEQYFYV@ WKHUPDOB%(0 WKHUPDOB%(0FDOFXODWHVWKHFRHIILFLHQWVDDQEQYFYVRIWKHWKHUPDOIXQGDPHQWDOVROXWLRQVIRU%(0 UHIHUWRHTQ IRUWKHGHILQLWLRQRIWKHVHFRHIILFLHQWV
890
Appendix F: AEPH Source Code (Listed in Alphabetic Order) JOREDO$%GLPEHWDLMNLMQB*DXVVKQB)VIURP0DLQSURJUDP %(0EDQN% JOREDONEHWDEHWD6+ JHQHUDWHGIRUWKHVXEIXQFWLRQJWK N NLM NLM HTQF EHWD EHWDLMGLP EHWD EHWDLMGLP HTQF B 6 UHDOL $ % H\HGLP + UHDO L $ $ 6+%DUQHWW/RWKHWHQVRUVHTQ FDOFXODWHJFJVNFFNFVNVFNVVWKURXJK*DXVVDLQLQWHJUDWLRQE F >[JZJ@ *DXVVQB*DXVVK WKJ [J SL *DXVVLDQSRLQWRIWKHLQWHJUDWLRQYDULDEOHWKHWDHTQ$ NFF NVF NFV NVV JF ]HURVGLP JV ]HURVGLP LQWLDOYDOXHVIRULQWHJUDWLRQ IRUM QB*DXVVK >JNFNVFV@ JWKWKJM HTQEG JF JFZJM J F SL JV JVZJM J V SLHTQE NFF NFFZJM NF F SLNVF NVFZJM NV F SLHTQF NFV NFVZJM NF V SLNVV NVVZJM NV V SLHTQF HQG N'HO NFF NVVNFV NVFHTQF YF NVV JFNVF JV N'HO YV NFF JVNFV JF N'HO HTQD FDOFXODWHYBDYBDQYBEQWKURXJK*DXVVDLQLQWHJUDWLRQD YBD ]HURVGLP YBDQ ]HURVGLPQB)V YBEQ ]HURVGLPQB)V LQWLDOYDOXHVIRULQWHJUDWLRQ IRUM QB*DXVVK >JNFNVFV@ JWKWKJM HTQEG K JNF YFNV YV HTQE YBD YBDZJM K YBDYHFWRUDRIHTQD IRUN QB)V N NVQ VLQN WKJM FQ FRVN WKJM YBDQN YBDQN ZJM K FQ YBDQN YHFWRUDQZKHUHQ NHTQD YBEQN YBEQN ZJM K VQ YBEQN YHFWRUEQZKHUHQ NHTQD HQG HQG IXQFWLRQ>JNFNVFV@ JWKWKM FDOFXODWHJIRUWKHWD WKMRIHTQE ZKLFKLVUHODWHGWRWKHWKHUPDOIXQGDPHQWDOVROXWLRQ JOREDONLM457NEHWDEHWD6+ IURP0DLQSURJUDPDQGIXQFWLRQWKHUPDOB%(0 V VLQWKM F FRVWKM V VAF FAFV F V NV NLM V NLM FVNLM F HTQF NV NLM FVNLM FV NLM FVHTQF NF N F NV V NV NV N V NV F NV HTQF 5WK 5 FA74 FV5
VA 7WK 7 FA55 FV4 VAHTQ 1WK LQY7WK 1WK 1WK 5WK HTQF EHWDV EHWD FEHWD V EHWDV EHWD VEHWD F HTQG J + EHWDV1WK +1WK 6 EHWDV SL NV HTQEG
F201: thermal_eigen IXQFWLRQ>FGWDX@ WKHUPDOBHLJHQ 7+(50$/B(,*(1SURYLGHVWKHVROXWLRQVIRUWKHUPDOHLJHQYDOXHVWDXDQG WKHUPDOHLJHQYHFWRUVFDQGGDFFRUGLQJWRWKHSUREOHPW\SH'RUFRXSOHGVWUHWFKLQJEHQGLQJ FWKHUPDOHLJHQYHFWRUDVVRFLDWHGZLWKGLVSODFHPHQWV GWKHUPDOHLJHQYHFWRUDVVRFLDWHGZLWKVWUHVVHV
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
891
WDXWKHUPDOHLJHQYDOXHV JOREDO'W\SHNLM.WLMIURP0DLQSURJUDPFRQWUROSDUDPHWHU WKHUPDOSURSHUWLHV VZLWFK'W\SH FDVH^` JHQHUDOL]HGSODQHVWUDLQ JHQHUDOL]HGSODQHVWUHVV WDX NLM VTUWNLM ANLM NLM NLM
FDOFXODWHWDXHTQ
>FG@ HLJFGB'WDX FDOFXODWHFG FDVH^`
FRXSOHGVWUHWFKLQJEHQGLQJ
WDX .WLM VTUW.WLM A.WLM .WLM .WLM FDOFXODWHWDXHTQ >FG@ HLJFGB&WDX FDL FXODWHFG RWKHUZLVH GLVS 8QNQRZQSUREOHPW\SH HQG IXQFWLRQ>FG@ HLJFGB'WDX FDOFXODWHFGIRU'WKHUPDOSUREOHPVE\HTQV FGWDXWKHUPDOHLJHQYHFWRUVDQGHLJHQYDOXHV JOREDOGLP111EHWDLM IURP0DLQSURJUDPHODVWLFDQGWKHUPDOSURSHUWLHV EHWDLM EHWDLM (QRQGLPHQVLRQDOL]DWLRQKDVEHHQPDGHLQIXQFWLRQWKHUPDO JDPPD >]HURVGLP 1H\HGLP 1 @ >EHWDLM EHWDLM @ FG LQY1WDX H\H GLP JDPPD F FGGLP RULJLQDOF FXUUHQWF G FGGLP GLP RULJLQDOG FXUUHQWG (VLQFHQRQGLPHQVLRQDOL]DWLRQKDVEHHQXVHG IXQFWLRQ>FG@ HLJFGB&WDX FDOFXODWHFGIRUWKHUPDOFRXSOHGVWUHWFKLQJEHQGLQJSUREOHPVE\HTQV FGWDXWKHUPDOHLJHQYHFWRUVDQGHLJHQYDOXHV JOREDOGLP1 IURP0DLQSURJUDPFRQWUROSDUDPHWHU PDWHULDOSURSHUWLHV >JDPJDP@ VBJDPPD JDPPD >JDPJDP@ FG LQY1WDX H\H GLP JDPPD HTQD B F FGGLP G FGGLP GLP
F202: uphi_bank IXQFWLRQ>8L7L7HPK@ XSKLBEDQNORDGVWU[LYN 83+,B%$1.FROOHFWVDOOWKHIXQFWLRQVIRUWKHFDOFXODWLRQRI GLVSODFHPHQWVVWUDLQVVWUHVVHVRUVRPHUHODWHGSK\VLFDOUHVSRQVHVWKURXJKDQDO\WLFDOVROXWLRQV (DFKIXQFWLRQFROOHFWHGLQXSKLBEDQNLVQDPHGE\WKHVHFWLRQQXPEHURI+ZX ZLWKNH\ZRUGUHSUHVHQWLQJWKHIXQFWLRQ)RUH[DPSOHIXQFWLRQZLWKQDPHVLQI8/ PHDQVWKDWWKLVIXQFWLRQLVIRUVROYLQJWKHSUREOHPRIVHFWLRQRI+ZX ZKLFKLVUHODWHGWRWKHLQILQLWHSODWHVVXEMHFWHGWRXQLIRUPORDGVDWLQILQLW\ 287387DUJXPHQWV 8L >XXBXB@PDWUL[FRQWDLQLQJWKHLQIRUPDWLRQRIGLVSODFHPHQWVDQGVWUDLQV 7L >VLJPDVLJPDWLBVV@PDWUL[FRQWDLQLQJWKHLQIRUPDWLRQRIVWUHVVHV ZKLFKZLOOLQFOXGHWKHYDOXHRIGHIOHFWLRQZDW7LHQG IRUWKH FRXSOHGVWUHWFKLQJEHQGLQJSUREOHPVLQFOXGHSODWHEHQGLQJSUREOHPV 7HPK >7HPSKHDW)@PDWUL[FRQWDLQLQJWKHUHVXOWVRIWHPSHUDWXUHDQGKHDWIOX[IRUWKHUPDOSUREOHPV 7HPK ]HURVIRUQRQWKHUPDOSURE
892
Appendix F: AEPH Source Code (Listed in Alphabetic Order) 7HPSWHPSHUDWXUHDW[L KHDW)YHFWRURIKHDWIOX[ >KKK@DW[L ,1387DUJXPHQWV ORDGVWUORDGDQGVWUXFWXUDOLQIRUPDWLRQZKLFKDUHLQSXWWKURXJKORDGVWUW[W [LWKHORFDWLRQ>[[@ZKHUHWKHUHVSRQVHVDUHFDOFXODWHG YNVHULDOQXPEHURIWKHNWKYDULDEOH[L '$7$FROOHFWHGLQWKLVIXQFWLRQLQFOXGH )RU$1,627523,&PDWHULDOV XYHFWRURIGLVSODFHPHQWV>XXX@ SKLYHFWRURIVWUHVVIXQFWLRQV>SKLSKLSKL@ XBGHULYDWLYHRIXZLWKUHVSHFWWR[VWUDLQYHFWRU >HSVLORQHSVLORQD HSVLORQ@ XBGHULYDWLYHRIXZLWKUHVSHFWWR[VWUDLQYHFWRU >HSVLORQEHSVLORQ HSVLORQ@ 1RWH HSVLORQ HSVLORQDHSVLORQE VLJPDVWUHVVYHFWRU >VLJPDVLJPDVLJPD@ SKLB VLJPDVWUHVVYHFWRU >VLJPDVLJPDVLJPD@ SKLB WLBVV >VLJPDBVVVLJPDBQQVLJPDBVQ@ VLJPDBVVQRUPDOVWUHVVLQGLUHFWLRQVVRUFDOOHGKRRSVWUHVVDWWKHVLGHRIPDWUL[ VLJPDBQQQRUPDOVWUHVVLQGLUHFWLRQQQ VLJPDBVQVKHDUVWUHVVLQWDQJHQWLDOQRUPDOFRRUGLQDWHV\VWHPLHVQFRRUGLQDWHV\VWHP VLJPDBVVKRRSVWUHVVDWWKHVLGHRILQFOXVLRQDQGZLOOEHVWRUHGLQ7L )RU3,(=2(/(&75,&PDWHULDOV XYHFWRURIGLVSODFHPHQWV>XXXX@ SKLYHFWRURIVWUHVVIXQFWLRQV>SKLSKLSKLSKL@ XBGHULYDWLYHRIXZLWKUHVSHFWWR[VWUDLQYHFWRU >HSVLORQHSVLORQD HSVLORQ(@ XBGHULYDWLYHRIXZLWKUHVSHFWWR[VWUDLQYHFWRU >HSVLORQEHSVLORQ HSVLORQ(@ ( HSVLORQ( HSVLORQHOHFWULFILHOG 1RWH HSVLORQ HSVLORQDHSVLORQE VLJPDYHFWRURIVWUHVVFRPSRQHQWV>VLJPDVLJPDVLJPD'@ VLJPDYHFWRURIVWUHVVFRPSRQHQWV>VLJPDVLJPDVLJPD'@ ' VLJPD' VLJPDHOHFWULFGLVSODFHPHQW WLBVV >VLJPDBVVVLJPDBQQVLJPDBVQ'V@ VLJPDBVVYHFWRURIKRRSVWUHVVDQGHOHFWULFGLVSODFHPHQWDORQJWKHKROHERXQGDU\>VLJPDBVV'V@ LHLI3W\SHa VLJPDBVV 'V WLBVV HOHFWULFGLVSODFHPHQWLQVVGLUHFWLRQ VLJPDBQQQRUPDOVWUHVVLQQQGLUHFWLRQ VLJPDBVQVKHDUVWUHVVLQWDQJHQWLDOQRUPDOFRRUGLQDWHV\VWHPLHVQFRRUGLQDWHV\VWHP VLJPDBVVKRRSVWUHVVDQGHOHFWULFGLVSODFHPHQWDWWKHVLGHRILQFOXVLRQ>VLJPDBVV'6@ LHLI3W\SHa VLJPDBVV 'VHOHFWULFGLVSODFHPHQWLQVVGLUHFWLRQDWWKHVLGHRILQFOXVLRQ VLJPDBVV ZLOOEHVWRUHGLQ7L DQGVLJPDBVV '6ZLOOEHVWRUHGLQ8L )RU0((PDWHULDOV XYHFWRURIGLVSODFHPHQWV>XXXXX@ SKLYHFWRURIVWUHVVIXQFWLRQV>SKLSKLSKLSKLSKL@ XBGHULYDWLYHRIXZLWKUHVSHFWWR[VWUDLQYHFWRU >HSVLORQHSVLORQD HSVLORQ(+@ XBGHULYDWLYHRIXZLWKUHVSHFWWR[VWUDLQYHFWRU >HSVLORQEHSVLORQ HSVLORQ(+@ + HSVLORQ+ HSVLORQPDJQHWLFILHOG 1RWH HSVLORQ HSVLORQDHSVLORQE VLJPDYHFWRURIVWUHVVFRPSRQHQWV>VLJPDVLJPDVLJPD'%@ VLJPDYHFWRURIVWUHVVFRPSRQHQWV>VLJPDVLJPDVLJPD'%@
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
893
' VLJPD' VLJPDHOHFWULFGLVSODFHPHQW% VLJPD% VLJPDPDJQHWLFIOX[ WLBVV >VLJPDBVVVLJPDBQQVLJPDBVQ'V%V@ VLJPDBVVYHFWRURIKRRSVWUHVVHOHFWULFGLVSODFHPHQWDQGPDJQHWLFIOX[DORQJWKHKROHERXQGDU\>VLJPDBVV'V%V@ LHLI3W\SH!VLJPDBVV 'V WLBVV HOHFWULFGLVSODFHPHQWVLJPDBVV %V WLBVV PDJQHWLFIOX[LQVVGLUHFWLRQ VLJPDBQQQRUPDOVWUHVVLQQQGLUHFWLRQ VLJPDBVQVKHDUVWUHVVLQWDQJHQWLDOQRUPDOFRRUGLQDWHV\VWHPLHVQFRRUGLQDWHV\VWHP VLJPDBVVKRRSVWUHVVHOHFWULFGLVSODFHPHQWDQGPDJQHWLFIOX[DWWKHVLGHRILQFOXVLRQ>VLJPDBVV'6%6@ LHLI3W\SH!VLJPDBVV 'VHOHFWULFGLVSODFHPHQWVLJPDBVV %VPDJQHWLFIOX[LQVVGLUHFWLRQDWWKHVLGHRI LQFOXVLRQ VLJPDBVV VLJPDBVV DQGVLJPDBVV ZLOOEHVWRUHGLQ7L 8L DQG8L )RU&283/('675(7&+,1*%(1',1*$1$/XXEHWDEHWD@ SKL SKLGYHFWRURIVWUHVVIXQFWLRQV>SKLSKLSVLSVL@ ZGHIOHFWLRQRIWKHSODWHEHQGLQJSUREOHPVRUFRXSOHGVWUHWFKLQJEHQGLQJSUREOHPV XB XGBGHULYDWLYHRIXGZLWKUHVSHFWWR[ XB XGBGHULYDWLYHRIXGZLWKUHVSHFWWR[ VLJPD >1LMZ@ZKHUH1LM >111@RU1LM >11111@ VLJPD >0LMQDQ@ZKHUH0LM >000@RU0LM >00000@ WLBVV >1BVV0BVV0BVQQDQ@RUWLBVV >1BVV0BVV0BVQ'V'WV@ WLBVV >1BVV0BVV0BVQ1BVV0BVV0BVQ@RUWLBVV >1BVV0BVV0BVQ'V'WV1BVV0BVV0BVQ'V'WV@IRU/W\SH /W\SH ZKHUHWKHFRPSRQHQWVZLWK DUHWKHRQHVDWWKHVLGHRILQFOVXLRQ WLBQQ >1BQQ0BQQ1BVQ@RUWLBQQ >1BQQ0BQQ1BVQ'Q'WQ@ 1BVV1BQQVWUHVVUHVXOWDQWLQVVRUQQGLUHFWLRQ 0BVV0BQQEHQGLQJPRPHQWLQVVRUQQGLUHFWLRQ 0BVQ1BVQWZLVWLQJPRPHQWRUIRUFHLQVQSODQH 'V'QUHVXOWDQWRIHOHFWULFGLVSODFHPHQWLQVVRUQQGLUHFWLRQ 'WV'WQUHVXOWDQWRIHOHFWULFVORSHLQVVRUQQGLUHFWLRQ )RUSUREOHPVUHODWHGWR7,0(VXFKDV'.B,,.B,.B,,,@RU>.B,,.B,.B,,,.B,9@IRUSLH]RHOHFWULFPDWHUDLOV (1*HQHUJ\UHOHDVHUDWH HSDSDUDPHWHUWRGLVWLQJXLVKHOOLSWLFDOHS RUSRO\JRQOLNHHSa LQJHQHUDO JOREDO'W\SH/W\SH7W\SH3W\SH9W\SHGLP(QWVIURP0DLQSURJUDP JOREDO6,)GHOWD IURPIXQFWLRQVUHODWHGWRSUREOHPVRIFUDFNVRUPXWLPDWHULDOZHGJHV JOREDOGLP+6/W\SHHSJHQHUDWHGGLPHQVLRQRIYHFWRUKHDW) W\SHRISULQWLQJ HS GHIDXOWDSDUDPHWHUWRGLVWLQJXLVKHOOLSWLFDOHS RUSRO\JRQOLNHHSa LQJHQHUDO 7HPK QDQ7HPS QDQKHDW) QDQ6/W\SH GHIDXOW X QDQGLP XB QDQGLP XB QDQGLP VLJPD QDQGLP VLJPD QDQGLP GHIDXOW VLJPDBVV QDQVLJPDBQQ QDQVLJPDBVQ QDQWLBQQ QDQWLBVV QDQ GHIDXOW LI'W\SH
Z QDQXG QDQGLP XGB QDQGLP XGB QDQGLP
894
Appendix F: AEPH Source Code (Listed in Alphabetic Order) 1LM QDQ 0LM QDQ WLBVV QDQ WLBQQ QDQ HQG LI3W\SHa VLJPDBVV QDQHQG GHIDXOWIRUSLH]RHOHFWULFDQG0((PDWHULDOV LI3W\SH!VLJPDBVV QDQHQG GHIDXOWIRU0((PDWHULDOV VZLWFK/W\SH FDVH LQILQLWHVSDFHXQLIRUPORDGLQJ >XXBXBVLJPDVLJPD@ VLQI8/ORDGVWU[LYN FDVH LQILQLWHVSDFHLQSODQHEHQGLQJ >XXBXBVLJPDVLJPDSKL@ VLQI,%ORDGVWU[LYN FDVH LQILQLWHVSDFHSRLQWIRUFH >XXBXBVLJPDVLJPD@ VLQI3)ORDGVWU[LYN FDVH LQILQLWHVSDFHSRLQWPRPHQW >XXBXBVLJPDVLJPD@ VLQI30ORDGVWU[LYN FDVH LQILQLWHVSDFHGLVORFDWLRQ >XXBXBVLJPDVLJPD@ VLQI'/ORDGVWU[LYN FDVH KDOIVSDFHSRLQWIRUFH >XXBXBVLJPDVLJPD@ VKDOI3)ORDGVWU[LYN FDVH KDOIVSDFHSRLQWIRUFHRQSODQHVXUIDFH >XXBXBVLJPDVLJPD@ VKDOI3)VORDGVWU[LYN FDVH KDOIVSDFHGLVWULEXWHGORDGRQSODQHVXUIDFH >XXBXBVLJPDVLJPD@ VKDOI'7ORDGVWU[LYN FDVH KDOIVSDFHSRLQWPRPHQW >XXBXBVLJPDVLJPD@ VKDOI30ORDGVWU[LYN FDVH KDOIVSDFHGLVORFDWLRQ >XXBXBVLJPDVLJPD@ VKDOI'/ORDGVWU[LYN FDVH ELPDWHULDOVSRLQWIRUFHDQGGLVORFDWLRQ >XXBXBVLJPDVLJPD@ VELPDW3)'ORDGVWU[LYN FDVH ELPDWHULDOVSRLQWIRUFHDQGGLVORFDWLRQRQWKHLQWHUIDFH >XXBXBVLJPDVLJPD@ VELPDW3)'LORDGVWU[LYN FDVH^` VLQJOHZHGJHXQLIRUPWUDFWLRQRQZHGJHVLGH >XXBXBVLJPDVLJPD@ VZHGJH87ORDGVWU[LYN FDVH VLQJOHZHGJHSRLQWIRUFHDWWKHZHGJHWLS >XXBXBVLJPDVLJPD@ VZHGJH3)ORDGVWU[LYN FDVH VLQJOHZHGJHSRLQWPRPHQWDWWKHZHGJHWLS >XXBXBVLJPDVLJPD@ VZHGJH30ORDGVWU[LYN FDVH PXOWLPDWHULDOZHGJHVSDFHSRLQWIRUFHDQGGLVORFDWLRQDWWKHWLS >XXBXBVLJPDVLJPD@ V0ZHGJH3)'ORDGVWU[LYN FDVH PXOWLPDWHULDOZHGJHSRLQWIRUFHDWWKHWLS >XXBXBVLJPDVLJPD@ V0ZHGJH3)ORDGVWU[LYN FDVH^` PXOWLPDWHULDOZHGJH ZHGJHVSDFHVLQJODURUGHUVDQGHLJHQIXQFWLRQV >9WK9WKS/DPWK/DPWKSGHOWD@ V0ZHGJH62(ORDGVWU[LYN 9WK9WKS/DPWK/DPWKSHLJHQIXQFWLRQRIXSKLDQGGHULYHWLYHRIXSKLGHOWDVLQJXODURUGHUV FDVH^` 'PXOWLPDWHULDOZHGJHQHDUWLSVROXWLRQV >XXBXBVLJPDVLJPD@ V0ZHGJH176ORDGVWU[LYN FDVH 'PXOWLPDWHULDOZHGJHVWUHVVLQWHQVLW\IDFWRUVE\+LQWHJUDO >6,)@ V0ZHGJH6,)GORDGVWU 6,)VWUHVVLQWHQVLW\IDFWRUV FDVH 'PXOWLPDWHULDOZHGJHVWUHVVLQWHQVLW\IDFWRUVE\+LQWHJUDO >6,)@ V0ZHGJH6,)GORDGVWU 6,)VWUHVVLQWHQVLW\IDFWRUV FDVH HOOLSWLFDOKROHXQLIRUPORDGLQJDWLQILQLW\ >XXBXBVLJPDVLJPDVLJPDBVV@ V(KROH8/ORDGVWU[LYN
Appendix F: AEPH Source Code (Listed in Alphabetic Order) FDVH HOOLSWLFDOKROHLQSODQHEHQGLQJDWLQILQLW\ >XXBXBVLJPDVLJPDVLJPDBVV@ V(KROH,%ORDGVWU[LYN FDVH HOOLSWLFDOKROHDUELWUDU\ORDGLQJDORQJWKHKROHERXQGDU\ >XXBXBVLJPDVLJPDVLJPDBVV@ V(KROH$/ORDGVWU[LYN FDVH HOOLSWLFDOKROHSRLQWIRUFHLQWKHERG\ >XXBXBVLJPDVLJPDVLJPDBVV@ V(KROH3)ORDGVWU[LYN FDVH HOOLSWLFDOKROHGLVORFDWLRQLQWKHERG\ >XXBXBVLJPDVLJPDVLJPDBVV@ V(KROH'/ORDGVWU[LYN FDVH SRO\JRQOLNHKROHXQLIRUPORDGLQJDWLQILQLW\ >XXBXBVLJPDVLJPDVLJPDBVV@ V3KROH8/ORDGVWU[LYN FDVH SRO\JRQOLNHKROHLQSODQHEHQGLQJDWLQILQLW\ >XXBXBVLJPDVLJPDVLJPDBVV@ V3KROH,%ORDGVWU[LYN FDVH FUDFNQHDUWLSVROXWLRQ >XXBXBVLJPDVLJPD@ VFUDFN176ORDGVWU[LYN FDVH LQWHUIDFHFUDFNQHDUWLSVROXWLRQ >XXBXBVLJPDVLJPD@ V,)FUDFN176ORDGVWU[LYN FDVH FUDFNWHUPLQDWLQJDWWKHLQWHUIDFHQHDUWLSVROXWLRQ >9WK9WKS/DPWK/DPWKSGHOWD@ VFUDFN7,ORDGVWU[LYN FDVH FUDFNXQLIRUPORDGLQJ >XXBXBVLJPDVLJPD@ VFUDFN8/ORDGVWU[LYN DOVRJHQHUDWHV6,)(1* FDVH FUDFNLQSODQHEHQGLQJ >XXBXBVLJPDVLJPD@ VFUDFN,%ORDGVWU[LYN DOVRJHQHUDWHV6,) FDVH FUDFNDUELWUDU\ORDGLQJRQFUDFNVXUIDFH >XXBXBVLJPDVLJPD@ VFUDFN$/ORDGVWU[LYN DOVRJHQHUDWHV6,) FDVH FUDFNSRLQWIRUFH >XXBXBVLJPDVLJPD@ VFUDFN3)ORDGVWU[LYN DOVRJHQHUDWHV6,) FDVH FUDFNGLVORFDWLRQ >XXBXBVLJPDVLJPD@ VFUDFN'/ORDGVWU[LYN DOVRJHQHUDWHV6,) FDVH WZRFROOLQHDUFUDFNVXQLIRUPORDGLQJ >XXBXBVLJPDVLJPD@ V&2FUDFN8/ORDGVWU[LYN DOVRJHQHUDWHV6,) FDVH FROOLQHDUSHULRGLFFUDFNVXQLIRUPORDGLQJ >XXBXBVLJPDVLJPD@ V&23FUDFN8/ORDGVWU[LYN DOVRJHQHUDWHV6,) FDVH FROOLQHDULQWHUIDFHFUDFNJHQHUDOVROXWLRQ >&2'VLJPD@ V,)FUDFNORDGVWU[LYN &2'FUDFNRSHQLQJGLVSODFHPHQWDOVRJHQHUDWHV(1* FDVH VHPLLQILQLWHLQWHUIDFHFUDFNSRLQWIRUFHRQFUDFNVXUIDFH >XXBXBVLJPDVLJPD@ V6,)FUDFN3)VORDGVWU[LYN DOVRJHQHUDWHV6,) FDVH LQWHUIDFHFUDFNSRLQWIRUFHRQFUDFNVXUIDFH >XXBXBVLJPDVLJPD@ VB,)FUDFN3)VORDGVWU[LYN DOVRJHQHUDWHV6,) FDVH LQWHUIDFHFUDFNXQLIRUPORDGLQJ >XXBXBVLJPDVLJPD@ VB,)FUDFN8/ORDGVWU[LYN DOVRJHQHUDWHV6,) FDVH WZRFROOLQHDULQWHUIDFHFUDFNVXQLIRUPORDGLQJ >XXBXBVLJPDVLJPD@ V&2,)FUDFN8/ORDGVWU[LYN DOVRJHQHUDWHV6,) FDVH HOOLSWLFDOHODVWLFLQFOXVLRQXQLIRUPORDGLQJDWLQILQLW\ >XXBXBVLJPDVLJPDVLJPDBVVVLJPDBVVVLJPDBQQVLJPDBVQ@ V((LQFOX8/ORDGVWU[LYN FDVH HOOLSWLFDOHODVWLFLQFOXVLRQSRLQWIRUFHDWPDWUL[ >XXBXBVLJPDVLJPDVLJPDBVVVLJPDBVVVLJPDBQQVLJPDBVQ@ V((LQFOX3)PORDGVWU[LYN FDVH HOOLSWLFDOULJLGLQFOXVLRQXQLIRUPORDGLQJ >XXBXBVLJPDVLJPDVLJPDBVVVLJPDBQQVLJPDBVQ@ VB(5LQFOX8/ORDGVWU[LYN FDVH HOOLSWLFDOULJLGLQFOXVLRQSRLQWIRUFHDWPDWUL[ >XXBXBVLJPDVLJPDVLJPDBVVVLJPDBQQVLJPDBVQ@ VB(5LQFOX3)ORDGVWU[LYN
895
896
Appendix F: AEPH Source Code (Listed in Alphabetic Order) FDVH ULJLGOLQHLQFOXVLRQXQLIRUPORDGLQJDWLQILQLW\ >XXBXBVLJPDVLJPDVLJPDBVVVLJPDBQQVLJPDBVQ@ VB5/LQFOX8/ORDGVWU[LYN FDVH ULJLGOLQHLQFOXVLRQSRLQWIRUFHDWPDWUL[ XVHFDVH >XXBXBVLJPDVLJPDVLJPDBVVVLJPDBQQVLJPDBVQ@ VB(5LQFOX3)ORDGVWU[LYN FDVH SRO\JRQOLNHULJLGLQFOXVLRQXQLIRUPORDGLQJDWLQILQLW\ >XXBXBVLJPDVLJPDVLJPDBVVVLJPDBQQVLJPDBVQ@ V35LQFOX8/ORDGVWU[LYN FDVH HOOLSWLFDOHODVWLFLQFOXVLRQGLVORFDWLRQRXWVLGHWKHLQFOXVLRQ >XXBXBVLJPDVLJPD@ V((LQFOX'/RORDGVWU[LYN FDVH HOOLSWLFDOHODVWLFLQFOXVLRQGLVORFDWLRQLQVLGHWKHLQFOXVLRQ >XXBXBVLJPDVLJPD@ V((LQFOX'/LORDGVWU[LYN FDVH HOOLSWLFDOHODVWLFLQFOXVLRQGLVORFDWLRQDWWKHLQWHUIDFH >XXBXBVLJPDVLJPD@ V((LQFOX'/IORDGVWU[LYN FDVH HOOLSWLFDOHODVWLFLQFOXVLRQFUDFNRXWVLGHWKHLQFOXVLRQ >XXBXBVLJPDVLJPD@ V((LQFOX&RORDGVWU[LYN DOVRJHQHUDWHV6,) FDVH HOOLSWLFDOHODVWLFLQFOXVLRQFUDFNLQVLGHWKHLQFOXVLRQ >XXBXBVLJPDVLJPD@ V((LQFOX&LORDGVWU[LYN DOVRJHQHUDWHV6,) FDVH HOOLSWLFDOHODVWLFLQFOXVLRQFUDFNSHQHWUDWLQJWKHLQWHUIDFH >XXBXBVLJPDVLJPD@ V((LQFOX&SORDGVWU[LYN DOVRJHQHUDWHV6,) FDVH HOOLSWLFDOHODVWLFLQFOXVLRQFXUYLOLQHDUFUDFNO\LQJDORQJWKHLQWHUIDFH >XXBXBVLJPDVLJPD@ V((LQFOX&FORDGVWU[LYN DOVRJHQHUDWHV6,) FDVH ULJLGIODWHQGHGSXQFKRQKDOISODQHYHUWLFDOORDGLQJ >XXBXBVLJPDVLJPDVLJPDBQQVLJPDBVQ@ V)SXQFK/ORDGVWU[LYN FDVH ULJLGIODWHQGHGSXQFKRQKDOISODQHSRLQWPRPHQW >XXBXBVLJPDVLJPDVLJPDBQQVLJPDBVQ@ V)SXQFK0ORDGVWU[LYN FDVH ULJLGSDUDEROLFSXQFKRQKDOISODQHYHUWLFDOORDGLQJ >XXBXBVLJPDVLJPDVLJPDBQQVLJPDBVQ@ V3SXQFK/ORDGVWU[LYN FDVH ULJLGVWDPSRQDQHOOLSWLFDOKROHERXQGDU\ >XXBXBVLJPDVLJPD@ V(VWDPSORDGVWU[LYN FDVH ULJLGVWDPSRQDSRO\JRQOLNHKROHERXQGDU\ >XXBXBVLJPDVLJPD@ V3VWDPSORDGVWU[LYN FDVH ULJLGIODWHQGHGSXQFKRQDFRVLQHZDY\VKDSHGKDOISODQH >XXBXBVLJPDVLJPD@ VB&SXQFKORDGVWU[LYN FDVH ULJLGVWDPSRQDWULDQJXODUKROHERXQGDU\ >XXBXBVLJPDVLJPD@ VB7VWDPSORDGVWU[LYN FDVH VOLGLQJZHGJHVKDSHGSXQFK >XXBXBVLJPDVLJPDVLJPDBQQ@ V6:SXQFKORDGVWU[LYN FDVH VOLGLQJSDUDEROLFSXQFK >XXBXBVLJPDVLJPDVLJPDBQQ@ V63SXQFKORDGVWU[LYN FDVH WZRVOLGLQJIODWHQGHGSXQFKHV >XXBXBVLJPDVLJPDVLJPDBQQ@ V6SXQFKORDGVWU[LYN FDVH FRQWDFWRIWZRSDUDEROLFHODVWLFERGLHVZLWKIULFWLRQ >XXBXBVLJPDVLJPDVLJPDBQQ@ V3)FRQWDFWORDGVWU[LYN FDVH FRQWDFWRIWZRSDUDEROLFHODVWLFERGLHVZLWKRXWIULFWLRQ >XXBXBVLJPDVLJPDVLJPDBQQ@ V3FRQWDFWORDGVWU[LYN FDVH WKHUPRHODVWLFSUREOHPHOOLSWLFDOKROHXQLIRUPKHDWIORZDWLQILQLW\ >XXBXBVLJPDVLJPDVLJPDBVVKHDW)7HPS@ V(KROH8+ORDGVWU[LYN FDVH WKHUPRHODVWLFSUREOHPFUDFNXQLIRUPKHDWIORZDWLQILQLW\ >XXBXBVLJPDVLJPDKHDW)7HPS@ VFUDFN8+ORDGVWU[LYN DOVRJHQHUDWHV6,)(1* FDVH WKHUPRHODVWLFSUREOHPHOOLSWLFDOULJLGLQFOXVLRQXQLIRUPKHDWIORZ >XXBXBVLJPDVLJPDVLJPDBVVVLJPDBQQVLJPDBVQKHDW)7HPS@ V(5LQFOX8+ORDGVWU[LYN
Appendix F: AEPH Source Code (Listed in Alphabetic Order) FDVH WKHUPRHODVWLFSUREOHPULJLGOLQHLQFOXVLRQXQLIRUPKHDWIORZ >XXBXBVLJPDVLJPDKHDW)7HPS@ V5/LQFOX8+ORDGVWU[LYN DOVRJHQHUDWHV6,) FDVH WKHUPRHODVWLFSUREOHPDQLQWHUIDFHFUDFNXQLIRUPKHDWIORZ >XXBXBVLJPDVLJPDKHDW)7HPS@ V,)FUDFN8+ORDGVWU[LYN FDVH^`
WKHUPRHODVWLFSUREOHPPXOWLPDWHULDOZHGJHVLQJXODURUGHUVDQGHLJHQIXQFWLRQV
>+($77(03@ V0ZHGJH7+ORDGVWU[LYN DOVRJHQHUDWHVGHOWDGHOWDBW GHOWDDQGGHOWDBWVLQJXODURUGHUVGXHWRHODVWLFSURSHUWLHVDQGWKHUPDOSURSHUWLHV FDVH SLH]RHOHFWULFPDWHULDOHOOLSWLFDOKROHV >XXBXBVLJPDVLJPDVLJPDBVV@ VSLH]R(KROHORDGVWU[LYN FDVH SLH]RHOHFWULFPDWHULDOSRO\JRQOLNHKROHV >XXBXBVLJPDVLJPDVLJPDBVV@ VSLH]R3KROHORDGVWU[LYN FDVH SLH]RHOHFWULFPDWHULDOPXOWLPDWHULDOZHGJHVLQJODURUGHUVDQGHLJHQIXQFWLRQV >9WK9WKS/DPWK/DPWKSGHOWD@ V0ZHGJH62(ORDGVWU[LYN VDPHIXQFWLRQDVV 9WK9WKS/DPWK/DPWKSHLJHQIXQFWLRQRIXSKLDQGGHULYHWLYHRIXSKLGHOWDVLQJXODURUGHUV FDVH SLH]RHOHFWULFPDWHULDOPXOWLPDWHULDOZHGJHQHDUWLSVROXWLRQ >XXBXBVLJPDVLJPD@ V0ZHGJH176ORDGVWU[LYN VDPHIXQFWLRQDVV FDVH SLH]RHOHFWULFPDWHULDOPXOWLPDWHULDOZHGJHVWUHVVLQWHQVLW\IDFWRUVE\+LQWHJUDO >6,)@ V0ZHGJH6,)GORDGVWU 6,)VWUHVVLQWHQVLW\IDFWRUV FDVH SLH]RHOHFWULFPDWHULDOFUDFNQHDUWLSVROXWLRQ >XXBXBVLJPDVLJPD@ VFUDFN176ORDGVWU[LYN FDVH SLH]RHOHFWULFPDWHULDOFROOLQHDUFUDFN >XXBXBVLJPDVLJPD@ VSLH]R&2FUDFNORDGVWU[LYN DOVRJHQHUDWHV6,) FDVH SLH]RHOHFWULFPDWHULDOLQWHUIDFHFUDFN >XXBXBVLJPDVLJPD@ VSLH]R,)FUDFNORDGVWU[LYN DOVRJHQHUDWHV6,) FDVH YLVFRHODVWLFPDWHULDOKROHVFUDFNVLQFOXVLRQVLQWHUIDFHFRUQHUVFRQWDFWHWF >XXBXBVLJPDVLJPDVLJPDBVVVLJPDBQQVLJPDBVQ@ VYLVFRORDGVWU[LYN FDVH^`
SODWHEHQGLQJHOOLSWLFDOKROHXQLIRUPEHQGLQJDWLQILQLW\
>ZXGXGBXGB1LM0LMWLBVV@ V(KROH8%ORDGVWU[LYN /W\SH VHFWLRQRIRI+ZX /W\SH VHFWLRQRI+ZX FDVH^`
SODWHEHQGLQJHOOLSWLFDOULJLGLQFOXVLRQXQLIRUPEHQGLQJDWLQILQLW\
>ZXGXGBXGB1LM0LMWLBVVWLBQQ@ V(5LQFOX8%ORDGVWU[LYN /W\SH VHFWLRQRIRI+ZX /W\SH VHFWLRQRI+ZX FDVH^`
SODWHEHQGLQJFUDFNXQLIRUPEHQGLQJDWLQILQLW\
>ZXGXGBXGB1LM0LMWLBVV@ VFUDFN8%ORDGVWU[LYN DOVRJHQHUDWHV6,) /W\SH VHFWLRQRIRI+ZX /W\SH VHFWLRQRI+ZX FDVH SODWHEHQGLQJHOOLSWLFDOHODVWLFLQFOXVLRQXQLIRUPEHQGLQJDWLQILQLW\ >ZXGXGBXGB1LM0LMWLBVVWLBQQ@ V((LQFOX8%ORDGVWU[LYN FDVH ULJLGLQFOXVLRQVLQODPLQDWHVXQLIRUPVWUHWFKLQJDQGEHQGLQJPRPHQWDWLQILQLW\ >ZXGXGBXGB1LM0LMWLBVVWLBQQ@ V/$0LQFOX86%ORDGVWU[LYN /W\SH VHFWLRQRIRI+ZX IRUWKHSUREOHPVRIULJLGLQFOXVLRQ FDVH^`
KROHVLQODPLQDWHVXQLIRUPVWUHWFKLQJDQGEHQGLQJPRPHQWDWLQILQLW\
>ZXGXGBXGB1LM0LMWLBVV@ V/$0KROH86%ORDGVWU[LYN /W\SH VHFWLRQRIRI+ZX /W\SH VHFWLRQDQGRI+ZX FDVH KROHVLQODPLQDWHVXQLIRUPKHDWIORZLQ[[SODQHRU[GLUHFWLRQ >ZXGXGBXGB1LM0LMWLBVVKHDW)7HPS@ V/$0KROH8+ORDGVWU[LYN FDVH HODVWLFLQFOXVLRQVLQODPLQDWHVXQLIRUPVWUHWFKLQJDQGEHQGLQJPRPHQWDWLQILQLW\ >ZXGXGBXGB1LM0LMWLBVVWLBQQ@ V/$0((LQFOX86%ORDGVWU[LYN FDVH KROHVLQHOHFWURHODVWLFODPLQDWHVXQLIRUPVWUHWFKLQJDQGEHQGLQJPRPHQW >ZXGXGBXGB1LM0LMWLBVV@ V/$0KROH86%ORDGVWU[LYN FDVH^`ODPLQDWHVSRLQWIRUFHLQSODQHIRUFHDQGRXWRISODQHPRPHQW
897
898
Appendix F: AEPH Source Code (Listed in Alphabetic Order) RUWUDQVYHUVHIRUFHRULQSODQHWRUVLRQ >ZXGXGBXGB1LM0LMWLBVV@ V/$0LQI3)0ORDGVWU[LYN FDVH KROHVLQODPLQDWHVSRLQWIRUFHDQGPRPHQW >ZXGXGBXGB1LM0LMWLBVV@ V/$0KROH3)0ORDGVWU[LYN FDVH^`
FUDFNVLQODPLQDWHVSRLQWIRUFHDQGPRPHQW
>ZXGXGBXGB1LM0LMWLBVV@ V/$0FUDFN3)0ORDGVWU[LYN /W\SH VHFWLRQRI+ZX /W\SH VHFWLRQRIRI+ZX FDVH LQFOXVLRQVLQODPLQDWHVSRLQWIRUFHDQGPRPHQWRXWVLGHWKHLQFOXVLRQ >ZXGXGBXGB1LM0LMWLBVVWLBQQ@ V/$0LQFOX3)0RORDGVWU[LYN FDVH LQFOXVLRQVLQODPLQDWHVSRLQWIRUFHDQGPRPHQWLQVLGHWKHLQFOXVLRQ >ZXGXGBXGB1LM0LMWLBVVWLBQQ@ V/$0LQFOX3)0LORDGVWU[LYN RWKHUZLVH GLVS 3UREOHPVZLWKRXWDQDO\WLFDOVROXWLRQV3OHDVHWU\%(0 HQG VZLWFK'W\SH FDVH^` WZRGLPHQVLRQDOSUREOHPV LI9W\SH
8L X8L XB8L XB 7L VLJPD7L VLJPD LI3W\SH
7L >VLJPDBVVVLJPDBQQVLJPDBVQ@ DQLVRWURSLFHODVWLF
HOVH7L >VLJPDBVV VLJPDBQQVLJPDBVQVLJPDBVV @ 8L 8L (7L 7L ( HQG
SLH]RDQGRU0((
LI3W\SH!8L 8L (7L 7L (7L VLJPDBVV HQG LI/W\SH
_/W\SH
0((
7L VLJPDBVV LI3W\SHa 8L VLJPDBVV HQG LI3W\SH!8L VLJPDBVV HQG HQG
VLQFHRULJLQDOO\VLJPD 7L 7L
E\OHWWLQJ7L VLJPDBVVZLOOQRWORVHWKHLQIRUPDWLRQRIVLJPDZKLFKLVVWRUHGLQ7L RXWSXW'VWKURXJK8L ZKLFKZDVRULJLQDOO\XVHGWRVWRUHWKHYDOXHRIWKHLQWHJUDORI(OHFWULFILHOG HOVH 8L X8L XB8L XB 7L VLJPD7L VLJPD 7L VLJPDBVV7L VLJPDBQQ7L VLJPDBVQ GLVUHJDUGWKHSRVVLEOHFDVHVRISLH]RYLVFR LI/W\SH
_/W\SH
7L VLJPDBVV LI3W\SHa 8L VLJPDBVV HQG LI3W\SH!8L VLJPDBVV HQG HQG
VLQFHRULJLQDOO\VLJPD 7L 7L
HQG FDVH^` FRXSOHGVWUHWFKLQJEHQGLQJSUREOHPV LI9W\SH
LILVQDQWLBVV
WLBVV QDQ RQHV GLP HQG
8L XG8L XGB8L XGB 7LGLP 1LM7LGLP 0LM7LGLP WLBVVGLP 7LGLP WLBQQ LI/W\SH
_/W\SH
_/W\SH
_/W\SH
7LGLP WLBVVGLP GLP HQG
7LGLP Z VWRUHRIWKHYDOXHRIGHIOHFWLRQ HOVH LILVQDQWLBVV
WLBVV QDQ RQHV GLPQWV HQG
8L XG8L XGB8L XGB 7LGLP 1LM7LGLP 0LM7LGLP WLBVVGLP 7LGLP WLBQQ
Appendix F: AEPH Source Code (Listed in Alphabetic Order) LI/W\SH
_/W\SH
_/W\SH
899
_/W\SH
7LGLP WLBVVGLP GLP HQG
7LGLP Z VWRUHRIWKHYDOXHRIGHIOHFWLRQ HQG HQG LI7W\SHa 7HPK >7HPSKHDW) @GLP+ OHQJWKKHDW) HQG
GLPHQVLRQRIYHFWRUKHDW)GLVUHJDUGWKHSRVVLEOHFDVHVRIWKHUPRYLVFR
F203: visco IXQFWLRQ>&LM6LM@ YLVFRLQSXWV[ YLVFRSURYLGHVHODVWLFDQGFRPSOLDQFHVWLIIQHVVHV&LM6LM LQ/DSODFHGRPDLQ ZKHQWKHYLVFRHODVWLFSURSHUWLHVDUHLQSXWWKURXJKWKHWH[WILOHLQSXWBYLVFRW[W DFFRUGLQJWRGLIIHUHQWW\SHVRIPDWHULDOV9W\SH &LMHODVWLFVWLIIQHVVLQ/DSODFHGRPDLQIRUWKHJHQHUDO'SUREOHPV &LM &LMIRUJHQHUDOL]HGSODQHVWUDLQ&LM &LMBKDWIRUJHQHUDOL]HGSODQHVWUHVV 6LMFRPSOLDQFHLQ/DSODFHGRPDLQIRUWKHJHQHUDO'SUREOHPV 6LM 6LMBKDWIRUJHQHUDOL]HGSODQHVWUDLQ6LM 6LMIRUJHQHUDOL]HGSODQHVWUHVV LQSXWDYHFWRURUPDWUL[LPSRUWHGIURP LQSXWBYLVFRW[W QV LQSXW QXPEHURIYDULDEOHVXVHGLQ/DSODFHGRPDLQFDOOHGE\0DLQSURJUDP V[YDULDEOHRIWKHIXQFWLRQLQ/DSODFHGRPDLQ */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ &LM6LM&LMBKDW6LMBKDWHODVWLFSURSHUWLHVLQ/DSODFHGRPDLQVDPHPHDQLQJDVWKRVHJHQHUDWHGLQHODVWLF Q* QXPEHURIWHUPVRI3URQ\VHULHV UKRUKRBNUDWLRRIVWLIIQHVVHTQ RPHJDBNUHOD[DWLRQWLPHRPHJDBNHTQ JOREDO9W\SH'W\SH(HSVQV IURP0DLQ3URJUDPFRQWUROSDUDPHWHUV JOREDO&LM6LM&LMBKDW6LMBKDWJHQHUDWHGHODVWLFSURSHUWLHVLQ/DSODFHGRPDLQ JOREDOQ*UKRUKRBNRPHJDBN JHQHUDWHGYLVFRHOVDWLFPDWHULDOSURSHUWLHV V\PVW V &LM ]HURV 6LM ]HURV VZLWFK9W\SH FDVH^` LVRWURSLFOLQHDUYLVFRHODVWLFPDWHULDOV Q* LQSXW
QXPEHURIWHUPVRI3URQ\VHULHV
*B LQSXW VKHDUPRGXOLDWWKHLQLWLDOWLPH UKRBN LQSXWQ* RPHJDBN LQSXWQ* UDWLRUKRBNDQGUHOD[DWLRQWLPHRPHJDBN UKR VXPUKRBN HTQ *W *B GHIDXOWIRUWKHWLPHVWHSSLQJPHWKRGZKLFKZLOOXVHWKHLQLWLDOYDOXHRI*DQGODP LIQVa LIWKHHODVWLFYLVFRHODVWLFFRUUHVSRQGHQFHSULQFLSOHLVXVHG IRUL Q*UKR UKRUKRBNL H[SWRPHJDBNL HQG
SDUWRIHTQ
*W *B UKR HTQ HQG LI9W\SH
FRQVWDQWEXONPRGXOXV9W\SH FRQVWDQW3RLVVRQ VUDWLR
NDSSD LQSXW EXONPRGXOXV ODP NDSSD *W HOVHLI9W\SH
HTQ
FRQVWDQW3RLVVRQ VUDWLR
QX LQSXW 3RLVVRQ VUDWLR ODP *W QX QX HTQ HQG *V *BODPV ODP GHIDXOWIRUWKHWLPHVWHSSLQJPHWKRG LIQVa *V VXEVV ODSODFH*W V[ ODPV VXEVV ODSODFHODP V[ HQG SUHSDULQJIRUV ODSODFH&LM ZLWKV V[LIWKHHODVWLF YLVFRHODVWLFFRUUHVSRQGHQFHSULQFLSOHLVXVHG
900
Appendix F: AEPH Source Code (Listed in Alphabetic Order) &LM ODPV *V&LM ODPV &LM &LM &LM &LM &LM &LM HSV *B&LM &LM HSVDVPDOOYDOXHDGGHGWR&LM WRDYRLGGHJHQHUDF\RILVRWURSLFPDWHULDOV &LM &LM &LM &LM &LM &LM &LM *V&LM &LM &LM &LM 6LM LQY&LM HTQ FDVH^` VWDQGDUGOLQHDUYLVFRHODVWLFPDWHULDOV9W\SH 3URQ\VHULHV LI9W\SH
RPHJD LQSXW
UHOD[DWLRQWLPH
&LMB LQSXW LQSXW&LMBDFFRUGLQJWRWKHVHTXHQFHRI>&&&&&&&&@ &LMBLQI LQSXW LQSXW&LMBLQIDFFRUGLQJWRWKHVHTXHQFHRI>&&&&&&&&@ LIQVa LIWKHHODVWLFYLVFRHODVWLFFRUUHVSRQGHQFHSULQFLSOHLVXVHG &LMW &LMBLQI&LMB&LMBLQI H[SWRPHJD HOVH
LIWKHWLPHVWHSSLQJPHWKRGLVXVHGRQO\WKHLQLWLDOHODVWLFVWLIIQHVVLVQHHGHGHTQ
Q* UKR &LMBLQI &LMB UKRBN UKRRPHJDBN RPHJDHTQ HQG HOVH
H[SUHVVHGE\3URQ\VHULHV
Q* LQSXW
QXPEHURIWHUPVRI3URQ\VHULHV
UKRBN LQSXWQ* RPHJDBN LQSXWQ* UHODWLYHPRGXOLHVPRGXOLDQGUHOD[DWLRQWLPH &LMB LQSXW LQSXW&LMBDFFRUGLQJWRWKHVHTXHQFHRI>&&&&&&&&@ UKR VXPUKRBN HTQ LIQVa LIWKHHODVWLFYLVFRHODVWLFFRUUHVSRQGHQFHSULQFLSOHLVXVHG IRUL Q*UKR UKRUKRBNL H[SWRPHJDBNL HQG
SDUWRIHTQ
&LMW &LMB UKR HTQ HQG HQG LIQVa LIWKHHODVWLFYLVFRHODVWLFFRUUHVSRQGHQFHSULQFLSOHLVXVHG IRUL IRUM &LMLM VXEVV ODSODFH&LMWLM V[ HQGHQG HOVH
V ODSODFH&LM ZLWKV V[
LIWKHWLPHVWHSSLQJPHWKRGLVXVHGRQO\WKHLQLWLDOHODVWLFVWLIIQHVVLVQHHGHGHTQ
&LM &LMB HQG 6LM LQY&LM HTQ HQG VZLWFK'W\SHFXUUHQWO\RQO\DQLVRWURSLFYLVFRHODVWLFLVFRQVLGHUHGWKHFDVHVZLWKYLVFRSLH]R0((DUHQRWFRQVLGHUHG FDVH JHQHUDOL]HGSODQHVWUDLQ HTQE 6LMBL 6LM 6LMBKDW 6LM6LMBL 6LMBL 6LM &LM &LM6LM 6LMBKDW FDVH JHQHUDOL]HGSODQHVWUHVV HTQ &LMBL &LM &LMBKDW &LM&LMBL &LMBL &LM &LM &LMBKDW6LM 6LM HQG &LM &LM(6LM 6LM ( QRQGLPHQVLRQDOL]DWLRQ
F204: visco_load IXQFWLRQ>ORDG/DS@ YLVFRBORDGORDGVWULV 9,6&2B/2$'WUDQVIRUPVWKHLQSXWRIORDG VWUXFWXUHLQIRUPDWLRQORDGVWULQWRWKHYDOXHXVHGLQ/DSODFHGRPDLQ ORDG/DSORDGLQ/DSODFHGRPDLQ ORDGVWULQSXWGDWDRIORDGDQGVWUXFWXUHLQIRUPDWLRQ
Appendix F: AEPH Source Code (Listed in Alphabetic Order)
901
LVLVWKYDULDEOHVRI/DSODFHGRPDLQ VVWDUWLQJHOHPHQWRIWKHORDGLQSXW VIILQDOHOHPHQWIRUWKHORDGLQSXW JOREDO/W\SHGLPQVVYIURP0DLQSURJUDP VZLWFK/W\SH FDVH^` XQLIRUPVWUHVV / /W\SH /W\SH /W\SH /W\SH / /W\SH /W\SH /W\SH /W\SH /W\SH /W\SH LI/W\SH LI/
_/
V HQG
V HQG
LI/W\SH
_/W\SH
_/W\SH
V HQG
LI/a VI OHQJWKORDGVWU LIORDGVWUV
VI VIHQG
HOVH LIORDGVWU
_ORDGVWU
VI HQG
ORDGFDVHDQGRIIXQFWLRQVLQI8/
LIORDGVWU
_ORDGVWU
VI HQG
ORDGFDVHDQGRIIXQFWLRQVLQI8/
LIORDGVWU
VI HQG
ORDGFDVHRIIXQFWLRQVLQI8/
HQG FDVHOHQ OHQJWKORDGVWU QVVI OHQ OHQQXPEHURIVWUHVVSRLQWVIRUHDFKLV 1RWHORDGVWUHQG LQFOXGHVWKHGLVSODFHPHQWVDQGVWUHVVHVIRUDOOLVRI/DSODFHGRPDLQ HDFKLVLVUHTXLUHGWRFRQWDLQWKHVDPHQXPEHURIGDWDSRLQWV FDVHOHQ ORDGVWU VI OHQ OHQQXPEHURIVWUHVVSRLQWVIRUHDFKLV
FDVH^` V VI VFDODU FDVH V VI VFDODU FDVH^`V VI VFDODU FDVH V VI VFDODU FDVH^` V VI GLP DYHFWRU FDVH^` V VI GLP DYHFWRU FDVH^`V VI GLPDYHFWRU FDVH^` V VI GLP DYHFWRU FDVH V VI GLP DYHFWRU FDVH^` V VI GLP DYHFWRU FDVH^` V VI GLP WZRYHFWRUV FDVH^` V VI GLP WZRYHFWRUV FDVH^` V VI DYHFWRU FDVH V VI WZRYHFWRUV FDVH^`QFG ORDGVWU V VI QFG QFGQXPEHURIFRIILFLHQWYHFWRUV FDVH^`E\SDVVWRDYRLGSULQWLQJWKHPHVVDJHIRUFDVHVRI RWKHUZLVH RWKHUZLVH ISULQWI YLVFRBORDGLVQRWDYDLDEOHIRU/W\SH G /W\SH UHWXUQ HQG LI/W\SHa /W\SHa ORDG/DS ORDGVWUHQG VZLWFK/W\SH FDVH KDOIVSDFHGLVWULEXWHGORDGRQSODQHVXUIDFH ORDG/DSVVI ORDG/DSVVI VYLV FDVH^` PXOWLPDWHULDOZHGJHQHDUWLSVROXWLRQV ORDG/DSVVI ORDG/DSVVI VYLV
902
Appendix F: AEPH Source Code (Listed in Alphabetic Order) FDVH^`6,)E\+LQWHJUDO ORDG/DS ORDGVWU ORDG/DSVI ORDGVWULV OHQLV OHQ FDVH^` LQFOXVLRQFUDFNLQWHUDFWLRQ ORDG/DSVVI ORDG/DSVVI VYLV FDVH^` PXOWLPDWHULDOZHGJH ZHGJHVSDFHVLQJODURUGHUVDQGHLJHQIXQFWLRQV E\SDVVWRDYRLGJRLQJWRWKHFDVHVRI RWKHUZLVH RWKHUZLVH ORDG/DSVVI ORDG/DSVVI VYLV HQG
Author Index
A Abramovich, H., 50 Aliabadi, M.H., 406, 407
B Banks-Sills, L., 178 Barnett, D.M., 25 Beer, G., 451 Brebbia, C.A., 341, 344, 346, 379, 423 Bower, A.F., 291
C Chang, H.W., 339, 388, 393, 396 Chen, W.R., 152 Chen, Y.C., 265, 289, 339, 341, 379 Christensen, R.M., 291
D Deans, S.R., 419 Duenser, C., 451
F Fan, C.W., 223 Fung, Y.C., 291
G Gaul, L., 379, 381, 383, 451 Gerald, C.F., 458 Gerasoulis, A., 204 Ghoreishy, M.H.R., 291
H Houbolt, J.C., 383 Hsiao, P.S., 305 Hsieh, M.C., 305 Huang, C.C., 136 Huang, H., 133, 136, 281 Huang, S.T., 339 Hsu, C.L., 152, 339, 417 Hsu, C.W., 152, 192, 305, 307, 324, 328, 329, 332, 339, 360, 400 Hwu, C., 8, 21, 23, 26, 27, 31–33, 35, 37, 38, 39, 44, 46, 47, 50, 51, 86, 99, 104, 106, 121, 123, 129, 132, 136, 144–146, 150, 152, 157,
166, 187, 192, 197–199, 201, 204, 208, 210, 217, 219, 227, 228, 247, 248, 252, 257, 260, 265, 274, 281, 289, 298, 305, 307, 309, 313, 318–320, 323, 324, 327–329, 331, 332, 334, 339, 341, 344, 353, 357, 360, 368, 374, 376, 377, 379, 386, 387, 388, 393, 396, 401, 413, 415, 416, 419
I Ikeda, T., 178, 265
J Jiang, X., 285 Jones, R.M., 10
K Kao, C.J., 210 Kogl, M., 379 Ko, H.B., 416 Kuo, T.L., 134, 144, 265, 289, 298 Kutt, H.R., 455
L Lee, W.J., 257 Lekhnitskii, S.G., 8, 21, 31 Liang, Y.C., 339 Liang, Y.K., 198–201 Liao, C.Y., 339, 344 Li, C. C., 339 Liu, J., 266 Lo, T.H., 401 Lothe, J., 25
M Man, K.W., 405, 406 Martin, D., 406 Miyazaki, N., 137 Morrison, W.J., 407 Motola, Y., 282
N Nardini, D., 341, 379 Nomura, Y., 137 Nguyen, V.T., 339, 401, 413, 415, 416
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2021 C. Hwu, Anisotropic Elasticity with Matlab, Solid Mechanics and Its Applications 267, https://doi.org/10.1007/978-3-030-66676-7
903
904 P Pan, E., 285 Partridge, P.W., 379
R Rand, O., 50 Rogacheva, N.N., 15 Rogel, L., 178 Rooke, D.P., 405, 406 Rovenski, V., 50
S Schapery, R.A., 295 Secrest, D., 451 Sherman, J., 407 Shiah, Y.C., 341, 374 Smith, I., 451 Soh, A., 266 Sokolnikoff, I.S., 7 Stroud, A.H., 451
T Tan, C.Z., 329, 331, 332, 334 Telles, J.C.F., 344, 346, 423
Author Index Ting, T.C.T., 4, 5, 21, 23, 24, 26, 27, 50, 86 Tong, P., 282
V Volterra, V., 107
W Wagner, M., 381, 383, 451 Wheatley, P. O., 458 Wrobel, L.C., 344, 346, 423 Wu, K.C., 305, 307 Wylie, C.R., 383
X Xie, L., 417
Y Yen, W.J., 192, 198–201
Z Zhang, C., 417 Zhang, T.Y., 282 Zhao, M., 282
Subject Index
A Anisotropic anisotropic elasticity, 2, 4, 21, 28, 31, 32, 50, 79, 80, 86, 99, 247, 265, 274, 290, 297, 367, 373, 374, 414, 417, 419 anisotropic elastic solid, 2, 21, 27, 35, 79, 145, 344, 410, 421, 422, 426 anisotropic plates, 32, 303, 379, 431–433, 435, 437, 438 Anisotropic Elastic Plates—Hwu (AEPH), 65, 66, 71, 83, 88, 100, 161, 265, 283, 352, 462, 471, 489, 504 Antiplane antiplane deformation, 16, 26 antiplane relation, 9 antiplane shear, 101, 102, 494 Auxiliary relation, 386, 390, 393
B Barnett-Lothe tensor, 25, 39, 48, 56, 59, 62, 99, 106, 114, 115, 307, 366, 477, 478, 481 Bending moment, 21, 29, 31–38, 56, 60, 79, 150, 274, 303, 305, 306, 308, 310, 311, 313, 315–320, 327, 335, 336, 342, 347, 397, 399–401, 440, 441, 501 Bimaterial matrix, 60, 62, 238, 241, 254, 479 Body force, 1, 22, 30, 341, 345, 350, 379, 380–381, 417, 473 Boundary Element Method (BEM), 65–67, 70, 74, 79–81, 84, 88, 89, 137, 139, 141, 143, 284, 301, 339, 341, 343, 344, 346, 347, 349–352, 374, 377–379, 381, 382, 389, 391, 393, 397, 401, 403, 408, 413, 415, 417, 423, 427, 430, 431, 440, 442, 444–446, 451, 465, 466, 469, 472, 473, 475, 476, 477, 479–481, 483–485, 489, 502–505, 507, 509, 889 Boundary-based finite element, 344, 346, 373, 466 Boundary integral equation, 339–342, 344, 362, 363, 373, 374, 379, 421, 422 Boundary value problem first (traction-prescribed), 3 second (displacement-prescribed), 3 third (mixed), 3 Branch cut, 104, 105, 109, 116, 151–155, 160, 200, 201, 220, 249, 307, 316, 375 Bulk modulus, 67, 69, 76, 293, 294 Burgers vector, 107, 112–114, 129, 155, 172, 197, 214, 472
C Cauchy principal value, 340, 391, 454 Cauchy’s formula, 1 Chentsov coefficient, 6 Classical lamination theory, 1, 11, 32
Coefficient of mutual influence, 6 Compatibility equation, 2 Complementary solution, 139, 140 Complete adhesion, 237, 240 Complex complex conjugate, 24, 27, 31, 46, 61, 419 complex parameter, 22, 30 complex variable formalism, 21, 51, 313, 314 Compliance reduced elastic compliance, 8, 9, 22, 39, 59, 292 Composite fiber-reinforced composite, 1, 10, 11, 18, 65, 68, 69, 92, 93, 117, 142, 161, 162, 265, 273, 285, 430, 431, 437, 492 laminated composite, 10, 12, 386, 479, 483 Constitutive relation laminate constitutive relation, 3, 10, 12, 51 two-dimensional constitutive relation, 3, 7 three-dimensional constitutive relation, 3 Contact contact pressure, 71, 221, 233, 235 contact region, 217, 222, 223, 226–229, 231, 233–235, 238, 241, 401–410, 413, 415, 471–473, 481 Contracted notation, 3–5, 14–16, 36, 38, 82, 140, 266, 277, 291 Control parameter, 65, 67–71, 74–80, 82, 86, 87, 89, 91, 115, 141, 241, 283, 322, 347, 349, 373, 427, 477, 489, 490 Coordinate Cartesian coordinate, 1, 56, 58, 59, 78, 105, 289, 316, 417 global coordinate, 364, 390, 404 local coordinate, 143, 144, 343, 349, 364, 365, 368, 389, 390, 393, 394, 404, 408, 411, 417, 422, 424, 471, 485 polar coordinate, 26, 29, 35, 59, 103, 105, 106, 107, 109, 110, 114, 134, 316, 377 s-n coordinate, 26, 29 Correspondence principle, 289, 290, 295–297, 374, 413 Coupled stretching-bending analysis, 21, 32, 41, 45, 46, 49, 50, 54–57, 67, 79, 83, 84, 86, 305, 308, 310, 313, 314, 318, 339, 340, 342, 346, 347, 357, 358, 386, 390, 398, 400, 427, 440, 500, 501 Crack collinear crack, 165, 172–174, 176, 177, 185, 215, 253, 283, 299, 468, 497 collinear interface crack, 165, 177, 178, 182, 185, 186, 253, 283, 284, 468, 497 collinear periodic crack, 176, 185, 283, 468, 497 crack opening displacement, 60, 165, 168, 174, 176, 178, 250, 255, 282 curvilinear crack, 203, 209, 211, 216, 499 interface crack, 134, 165, 177–182, 185, 186, 210, 241, 247, 253, 255, 262, 282, 283, 284, 287, 299, 467, 468, 497, 500
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2021 C. Hwu, Anisotropic Elasticity with Matlab, Solid Mechanics and Its Applications 267, https://doi.org/10.1007/978-3-030-66676-7
905
906 penetrating crack, 207, 208, 212, 216 semi-infinite crack, 165, 166, 183, 282 semi-infinite interface crack, 178, 179, 185, 282, 468, 497 Creep function, 291 Critical wedge angle, 121–123, 494
D Degenerate material, 25, 51, 83 Diagonalization, 25, 116, 131, 384 Dielectric permittivities, 15, 60, 67 Direction cosine, 5 Dislocation, 99, 107, 108, 112–115, 117–119, 129, 142, 145, 155, 156, 160, 162, 172, 184, 187, 189, 197, 199, 200, 202–204, 209–211, 214, 215, 278, 279, 332, 467, 468, 472, 485, 494, 496–498 Dislocation density, 203, 204, 210, 211, 467, 472 Dual reciprocity method, 341, 379 Dynamic analysis, 339, 340, 346, 349, 352, 379, 382, 436, 475, 502, 504
E Effective transverse shear force, 31, 33, 38, 56, 60, 303, 342 Eigenfunction, 121, 132, 133, 165–168, 183, 258, 263, 280, 281, 467, 495, 500 Eigen-relation, 23–25, 27, 28, 32–34, 36, 39, 166 Elastic analysis, 298, 299, 339–341, 346, 349, 353, 362, 373, 374, 379, 427, 435, 481, 502 Elastic constant, 1–5, 9, 25, 29, 65, 67, 76, 80, 81, 276, 277, 370, 418, 420, 425, 481, 483 Elastic material anisotropic (or triclinic), 1, 3, 6, 13, 28, 29, 31, 39, 42, 51, 56, 65, 75, 100, 166, 167, 177, 253, 255, 265, 274, 278, 279, 280–283, 289, 297, 303, 308, 341, 351, 379, 446, 492, 503 isotropic, 183, 185, 492 monoclinic (or aelotropic), 4, 9, 29, 48, 103 orthotropic (or rhombic), 4, 492 transversely isotropic, 4 Electric electric displacement, 1, 15, 19, 29, 38, 52, 60, 70, 89, 266, 276, 279–281, 283, 284, 341, 475 electric field, 1, 16, 19, 28, 38, 52, 54, 60, 67, 70, 72, 73, 89, 266, 279, 283, 341, 474 electric intensity factor, 281 electric potential, 16, 52 electric singularity, 280 Electro-elastic composite, 18, 38, 96, 283, 321, 336 Elliptic integral, 237 Energy release rate, 60, 71, 165, 168, 174, 176, 178, 185, 250, 282, 468, 476 Engineering constant, 6, 8, 10 Equilibrium equation, 1, 2, 21, 30, 32, 35, 38, 289, 313, 412
F Finite Element Method (FEM), 137, 139, 141, 143, 284, 301, 339, 345, 346, 374, 466 Finite part integral, 366, 367, 391, 454, 455 Free term coefficient, 340, 362, 386, 465 Free vibration, 349, 379, 382, 383, 385, 436, 502 Friction coefficient of friction, 231, 233, 244, 412 friction force, 231, 233, 234, 236, 412 frictionless surface, 233, 235, 237, 412 Fundamental elasticity matrix, 23, 25, 27, 32, 39, 41, 42, 51, 54, 60, 71, 73, 81, 83, 86, 87, 99, 114, 115, 166, 249, 276, 331, 466, 480
Subject Index Fundamental solution, 339, 342, 344, 346, 347, 350, 352–357, 358–362, 364, 365–367, 379, 381, 386, 391, 399, 421, 427, 430, 451, 469
G Gaussian elimination, 211, 373, 457, 466 Gaussian quadrature rule, 99, 115, 116, 137, 140, 175, 220, 241, 316, 346, 365–367, 369, 391, 422, 424, 449, 451, 453, 484, 485 Global variable, 65, 71–74, 80, 82, 83, 347, 351, 471, 503 Green’s function, 68, 104, 313, 322, 324, 328, 329, 336, 339, 342, 352, 353, 357, 360, 417, 422, 423, 427, 466, 469, 501
H Heat conduction, 14, 27, 35, 60, 66, 72, 75, 82, 92, 247, 249, 254, 255, 257, 276, 319, 341, 477, 478 Heat flux, 14, 27, 35, 37, 60, 80, 84, 247, 254, 255, 257, 258, 260, 263, 374, 474 Hilbert problem, 218, 254 H-integral, 121, 136, 137, 139, 141, 143, 144, 258, 281, 284, 301, 477, 495 Hole circular hole, 70, 78, 145, 155, 156, 347, 427 curvilinear hole, 217, 223, 224, 242 elliptical hole, 62, 70, 78, 84, 88, 145, 146, 148–150, 154, 156, 158, 160, 161, 165, 169, 225, 228, 231, 242, 243, 248, 250, 261, 262, 265, 278, 280, 283, 286, 287, 298, 299, 301, 305–307, 309, 310, 316, 317, 319–321, 324, 328, 329, 335, 336, 342, 347, 353, 357, 359, 365, 431–433, 437, 438, 441, 467–469, 499–501 oval hole, 145, 156 pin-loaded hole, 223 polygon-like hole, 62, 70, 78, 84, 145, 156–160, 162, 225, 226, 280, 283, 299, 467, 468, 493, 500 square hole, 145, 156 triangular hole, 162, 230, 231, 243, 468, 499 Holomorphic function, 22 Homogeneous solution, 121, 132 Hooke’s law, 2, 3, 5 Houbolt’s algorithm, 349, 383, 385, 439, 502
I Impedance matrix, 60, 62, 114, 188, 218, 241, 254, 479 Inclusion elastic inclusion, 187, 189–192, 197, 199, 200, 202, 203, 206, 212, 213, 300, 309, 311, 318, 329, 335, 337, 342, 347, 349, 353, 356, 357, 361, 442, 466, 468, 501, 502 elliptical inclusion, 160, 187, 195, 203, 207, 209, 215, 285, 318, 329, 433, 469, 498 polygon-like rigid inclusion, 195, 196, 198, 214, 300, 468, 498 rigid inclusion, 187, 189, 192–196, 198, 213, 214, 247, 251, 262, 287, 300, 308, 310, 318, 347, 349, 353, 355, 432, 433, 466, 468, 480, 498, 500–502 rigid line inclusion, 78, 195–197, 214, 252, 253, 262, 468, 498, 500 Indentation complete indentation, 234, 235, 289, 413, 480 incomplete indentation, 223, 233–235 rigid stamp indentation, 217, 223, 225, 226, 242, 286, 468 Inertia effect, 341, 344 Influence matrix, 68, 344, 346, 347, 352, 365, 366, 373, 390–393, 426, 427, 452, 462, 465, 466, 477, 485 Interface corner, 121, 133, 134, 136, 139, 143, 144, 289, 298, 300, 301, 495 Interpolation function, 343, 344, 363, 366, 381, 389, 422, 462, 464, 479
Subject Index J Jacobian, 343, 366, 390, 451, 453
K Kirchhoff’s assumption, 35, 38 Kronecker delta, 5, 340
L Lame constant, 5, 7, 8, 293, 294 Lamina, 10–12, 32, 59, 92, 94, 310, 335 Laminate cross-ply laminate, 49 electro-elastic laminate, 38, 39, 46, 54, 55, 61, 69, 75, 96, 273, 274, 276, 308, 310, 314, 315, 318, 321, 322, 324, 328, 332, 336, 500–502 symmetric laminate, 41, 49, 307, 310, 335, 386, 433 unsymmetric laminate, 386 Laplace Laplace domain, 67, 73, 76, 81, 289, 290, 292, 294, 295, 297–299, 341, 374, 469, 472–474, 478, 480–484 Laplace inversion, 295, 297, 298, 374, 466 Laplace transform, 289 Lekhnitskii bending formalism, 30, 31 Lekhnitskii formalism, 21–23, 31, 290 Linear algebraic equation, 205, 206, 208, 210, 211, 295, 381 Linear element, 343, 347, 358, 363, 366–369, 381, 427, 430, 431 Line force, 99 Logarithmic Gaussian quadrature formula, 369, 451 Logarithmic singularity, 133, 134, 136, 258 Longitudinal direction, 11
M Magnetoelectroelastic (MEE) material, 1, 21, 67, 69, 70, 75, 82, 83, 87, 89, 102, 140, 265, 266, 275, 278–283, 285, 308, 309, 339, 341, 351, 371, 373, 374, 426, 466, 468, 492, 503 Mapping function, 147, 148, 152, 158 Material eigenvalue, 23, 25, 29, 32, 33, 38, 39, 42–46, 50, 51, 54, 60, 61, 65, 67, 71, 80, 81, 83, 87, 89, 99, 274, 276, 278, 290, 292–294, 418, 422, 466 Material eigenvector, 23, 24, 27, 39, 42–45, 47, 51, 54, 59, 60, 71, 73, 81, 83, 86, 87, 89, 99, 274, 278, 290–294, 365, 418, 420, 474 Matrices of influence coefficients, 363, 381, 408 Matrix diagonal matrix, 25, 39, 61, 385 identity matrix, 24, 34, 132, 292, 385, 392 ill-conditioned matrix, 51 nonsemisimple matrix, 25 semisimple matrix, 25 simple matrix, 25 Matrix power function, 136 Mesh generation, 365 Modal superposition method, 349, 350, 383, 384, 385, 439, 502 Moment intensity factor, 308 Moving least square method, 137–139 Muller’s method, 133, 141, 143, 284, 458, 459, 466 Multi-connected domain, 375, 376, 479 Multi-material wedge, 115, 121, 129–132, 136, 140, 142, 143, 165, 167, 257–261, 263, 265, 280–284, 298, 466–468, 484, 495 Multi-valued function, 104, 249
907 N Near tip solution, 121, 133, 134, 136, 137, 143, 165–167, 183, 258, 280–282, 467 Newton’s method, 78, 84, 458, 459 Nodal nodal displacement, 68, 344, 346, 363, 369, 372, 373, 381, 392, 394, 397, 400, 417, 422, 424 nodal force, 345, 373 nodal point, 137, 345, 350, 363, 381, 422, 503 nodal traction, 363, 369, 372, 373, 381, 398, 400, 417, 422 Normalization factor, 43
O Open circuit, 16, 17, 40, 69, 70, 72, 73, 96 Orthogonality relation, 24, 25, 43 Orthotropic material, 9–11, 48, 68, 69, 74, 91, 93, 117, 141, 142, 161, 184, 261, 427, 444 Oscillatory index, 167, 225, 256, 472, 475
P Particular solution, 30, 31, 121, 123, 132, 341, 342, 352, 379–381, 437, 480, 483, 489, 504 Perturbation elliptical boundary perturbation, 227 straight boundary perturbation, 226 Piezoelectric piezoelectric effect, 1 piezoelectric material, 15–18, 21, 28, 38, 40, 43, 51, 53, 54, 67, 70, 75, 80, 86, 89, 94, 139, 265, 266, 273, 274, 278, 279, 281, 284, 287, 309, 339, 351, 370, 426, 435, 492, 503 piezoelectric tensor, 15 Plane generalized plane strain, 8, 9, 14, 16, 17, 39, 40, 42, 43, 48, 65, 69, 70, 72, 81, 83, 92, 93, 117, 140, 141, 162, 242–244, 291 generalized plane stress, 7–10, 14, 17, 39, 40, 43, 65, 69, 70, 72, 73, 81, 83, 89, 91, 93, 101, 117, 118, 140, 161, 179, 183, 213, 243, 261, 283, 291 plane strain (plane deformation), 7–9, 16, 19, 26, 32, 60, 89, 93, 94, 96, 101, 117, 168, 179, 313, 315, 321, 347, 370, 394, 427 plane stress, 7–10, 14, 16, 17, 40, 43, 65, 69, 70, 72, 73, 81, 83, 89, 91, 93, 95, 96, 101, 117, 118, 140, 161, 179, 183, 213, 243, 261, 283, 291, 370 Plate bending analysis, 21, 29, 31, 32, 40, 44, 49, 305, 310, 386 Plemelj function, 175, 177, 180, 218, 228, 242, 467 Point force, 60, 99, 103, 104, 108–111, 113–115, 117–119, 126, 127, 129, 130, 141, 142, 145, 151, 154, 160, 162, 170, 171, 178, 184, 191, 194, 195, 197, 210, 213, 214, 278, 279, 322, 335, 340, 342, 421, 422, 467–469, 473, 476, 480, 482, 485, 494, 496–498 Point moment, 105, 111, 117, 118, 127, 128, 142, 342, 467, 478, 494 Poisson’s ratio, 6, 42, 60, 67, 69, 74, 76, 89, 92, 142, 183–185, 249, 293, 294, 480 Principal material direction, 4, 9, 11 Principal value, 104, 105, 107, 116, 147, 148, 152–154, 175, 200, 340, 375, 391, 454 Punch flat-ended punch, 217, 220–222, 229, 236, 242–244, 286, 301, 350, 443, 468, 499 parabolic punch, 217, 222, 223, 234, 242, 244, 286, 301, 350, 410, 444, 468, 499 rigid punch, 217, 218, 225–228, 242, 243, 347, 349, 401, 410, 411, 416, 417, 442, 465, 502 sliding punch, 217, 231, 232, 244, 301, 413, 482
908 Q Quadratic element, 343, 344, 347, 348, 363, 367–369, 427
R Reference length, 134, 135, 138, 143, 284, 481 Relaxation function, 289, 291, 292, 294, 296 Relaxation time, 76, 291, 292 Rigid body, 2, 23, 175, 195, 340, 346, 360, 362, 364, 366, 386, 388, 391, 411, 417, 424, 446
S Scaling factor, 44, 45, 47, 51, 54, 74, 88, 476, 477, 481 Schapery’s collocation method, 295 Shear modulus, 26, 60, 76, 293, 294 Short circuit, 16, 17, 40, 43, 69, 70, 72, 73, 94, 95, 283 Sign convention, 51, 56, 58, 59 Singular integral, 204–206, 208–210, 346, 364, 366–368, 386, 389, 391, 424, 451 Singular order, 71, 131–133, 136, 137, 142, 165, 166, 168, 183, 210, 258, 259, 263, 280, 282, 284, 298, 300, 467, 474 Steady-state forced vibration, 379, 382, 385 Stieltjes convolution, 289, 296 Stiffness bending stiffness, 1, 12, 19, 30, 32, 40, 41, 60, 61, 65–67, 72, 80–82, 274, 277, 306, 324, 398, 399, 427, 475 coupling stiffness, 29, 72, 80, 473 extensional stiffness, 72, 80, 472 reduced stiffness, 9, 10 stiffness matrix, 3, 4, 6, 9, 12, 34, 74, 345, 346, 373 Strain Cauchy’s infinitesimal strain, 2 engineering shear strain, 2 normal strain, 2, 9, 394 shear strain, 2, 16, 394 Strength of stress singularity, 166 Stress hoop stress, 71, 79, 88, 147–149, 151, 157, 158, 160–162, 249, 283, 335 interfacial stress, 71, 188, 190, 192, 193, 252, 310 normal stres, 1, 6, 9, 71 shear stress, 1, 16 stress function, 21, 23, 25, 26, 29, 31, 33–38, 60, 101–103, 105, 107, 108, 110–114, 137, 145, 151, 157, 165, 166, 168, 170, 173, 176, 190, 193, 199, 203, 206, 224, 241, 274, 276, 279, 282, 290, 295, 303, 418–420, 467 stress intensity factor, 60, 70, 71, 89, 133–136, 138, 139, 143, 144, 165, 166, 168, 170, 174, 176, 178, 183, 185, 186, 206, 208, 210, 215, 250, 253, 258, 280–282, 284, 298, 301, 309, 328, 329, 372, 373, 400, 401, 467, 482, 483
Subject Index stress resultant, 19, 21, 32–38, 56, 60, 79, 274, 310, 313, 315, 317–321, 325, 327, 331, 334–336, 347, 397, 399–401 stress singularity, 70, 121, 131, 134, 166, 167, 255, 257, 298, 474 stress-strain relation, 1, 4, 5, 8, 9, 11, 13, 101, 122, 414 tangential stress, 71, 135 Stroh formalism expanded Stroh formalism, 28, 265, 274, 278 expanded Stroh-like formalism, 38, 276 extended Stroh formalism, 27, 247, 253 extended Stroh-like formalism, 35, 37, 314 Stroh-like bending formalism, 31, 303, 305 Stroh-like formalism, 21, 32, 33, 35, 37, 38, 276, 305, 313, 314 Stroh’s eigenvalue, 23, 478 Stroh’s eigenvector, 23, 471–473
T Technical constant, 6 Thermal thermal effect, 37, 257, 258, 270, 271, 341, 344, 468 thermal eigenvalue, 27, 36, 50, 61, 67, 71, 81, 83, 248, 249, 257, 276, 469, 482 thermal eigenvector, 27, 36, 71, 81, 83, 92, 249, 254, 258, 276, 473, 474 thermal expansion coefficient, 14, 60, 66, 72, 75, 81, 82, 249, 270, 471 thermal moduli, 14, 27, 35, 60, 75, 255, 270, 341, 374 Thermoelastic analysis, 339–341, 349, 374, 435, 502 Transformation transformation function, 156, 453 transformation law, 25 transformation matrix, 6, 39, 206, 278, 424–426, 478 Transient analysis, 352, 379, 383, 385, 438, 439, 481, 504 Translating technique, 217, 219, 224, 238, 256 Transverse direction, 11 Transverse shear, 10, 16, 30–34, 38, 56, 60, 303, 315, 342 Two-dimensional deformation, 1, 21, 23, 27, 28, 265, 275
V Viscoelastic viscoelastic analysis, 298, 299, 339, 341, 374, 481 viscoelastic material, 21, 67, 70, 73, 74, 78, 81, 100, 289–291, 293, 295, 297–301, 347, 435, 468, 484, 500 viscoelastic solid, 69, 76, 289, 292–295, 350, 401, 413, 503
Y Young’s modulus, 42, 54, 60, 71, 74, 83, 89, 92, 142, 183–185, 249, 476