Anisotropic Elasticity with Matlab [1 ed.] 3030666751, 9783030666750

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

Report DMCA / Copyright

DOWNLOAD FILE

Polecaj historie

Anisotropic Elasticity with Matlab [1 ed.]
 3030666751, 9783030666750

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

Citation preview

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



k ; 2ðk þ lÞ

ð1:35aÞ

or l¼

E ; 2ð1 þ mÞ



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





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Þ



  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



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



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Þ



  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



 ;



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



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 Þ



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



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 ;



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



ð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



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



^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



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



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



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 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 ;



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 ;



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 ^



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;



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 ¼ 



 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 ;



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@  SBD GLPGLP >SZSZF@

SBDWKHYHFWRUFRQWDLQVDOOWKHYDULDEOHFRQGLWLRQV

LI3W\SHa  SX XBYF MF XBYF MF SX HOHFWULFSRWHQWLDOXDUHSUHVHFULEHGRQERWKQRGHVRIDFRUQHU SE XBYF GLPMF XBYF GLPMF SE VORSHRIHOHFWULFSRWHQWLDOEHWDDUHSUHVHFULEHGRQERWKQRGHVRIDFRUQHU     SBD  SX  SBD GLP SE LI3W\SH! SX XBYF MF XBYF MF SX PDJQHWLFSRWHQWLDOXDUHSUHVHFULEHGRQERWKQRGHVRIDFRUQHU SE XBYF MF XBYF MF 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) &DOFXODWLRQRIWKHPDWULFHVRPHJDASULPHBWDQGRPHJDA GRXEOH SULPHBWLQHTQ F  7KHLUH[SOLFLWH[SUHVVLRQFDQEHREWDLQHGIURPHTQ DE  2PJRPHJDASULPHBW  2PJRPHJDA GRXEOH SULPHBW 2PJ ]HURV  GLP  GLP    2PJ ]HURV  GLP  GLP 

GHIDXOW

2PJ  >FRVWDQGDVLQWDQGDVLQFRVFRVVLQ@  2PJ GLPGLP >FRVVLQ@VLQGD 2PJ GLPGLPGLP >WDQGD@  2PJ GLPGLPGLPGLP >WDQGD@ 2PJ GLPGLP GLP >WDQGD@ 2PJ  >FRVVLQ@VLQGD 2PJ GLPGLP >FRVWDQGDVLQWDQGDVLQFRVFRVVLQ@   2PJ GLPGLPGLP >WDQGD@  2PJ GLPGLPGLPGLP >WDQGD@ 2PJ GLPGLP GLP >WDQGD@ LG >@  LQGH[QXPEHUIRUWKHFRPSRQHQWRIYHFWRUKLQHTQ D WRVRUWWKHHPSOR\HGDX[LOLDU\HTXDWLRQV LI3W\SHa   H[WHQGHGWKHPDWULFHVRIHTQ F WRHOHFWURHODVWLFODPLQDWHVRU0((ODPLQDWHV     2PJ  >WDQGD@  2PJ GLP >VLQGD@     2PJ GLPGLPGLP >WDQGD@  2PJ GLPGLPGLPGLP >VLQGD@     2PJ  >VLQGD@  2PJ GLP >WDQGD@     2PJ GLPGLPGLP >VLQGD@  2PJ GLPGLPGLPGLP >WDQGD@     LG >@ LI3W\SH!  H[WHQGHGWKHPDWULFHVRIHTQ F 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\EHGHSHQGHQWRQWKRVHRIQRGHMFDQGDGGLWLRQDOHTQ WKHWKHTQ LVDGGHGDIWHUWKHURZRIGLP QQRGH IRUN GLP     MFPP MFSS   GHIDXOW     \ ]HURV GLP \ ]HURV GLP \P ]HURV GLP \S ]HURV GLP    GHIDXOW     J ]HURV GLP J ]HURV GLP JP ]HURV GLP JS ]HURV GLP JI    GHIDXOW LISBD N



        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\HTXDWLRQRI D B

                FRVU FRVUKRFRVU FRVUKRVLQU VLQUKRVLQU VLQUKR  SDUWRIHTQ E                  \P  >FRVUVLQU@  \ \P  \S  >FRVUVLQU@  \ \SFRHIILFLHQWVRIHTQ E  HOVHLIN

GLP  WKHDX[LOLDU\HTXDWLRQRI D B

                \PP ]HURV GLP \SS ]HURV GLP   GHIDXOW                 HPP HOHPHQW MFP   HPPWKHHOHPHQWEHKLQGRIMFP                 HPS HOHPHQW MFS   HPSWKHHOHPHQWDKHDGRIMFS                 UKRP GV HPP UKRS GV HPS                  U UKRAU UKRAUP UKR UKRPUS UKR UKRS                 MFPP QRGH HPP MFSS QRGH HPS MFPPQRGHEHKLQGRIMFPMFSSQRGHDKHDGRIMFS LIFL MFP

 FL MFS

   ERWKQRGHVMFPDQGMFSDUHUHJXODUQRGHVHTQ D 

Appendix F: AEPH Source Code (Listed in Alphabetic Order)                     \ GLP U\ GLP U                     \P GLP UUP\S GLP UUS                     \PP GLP UP\SS GLP US HQG LIFL MFP

 FL MFS a    MFUHJXODUQRGHMFFRUQHUQRGHHTQ E 

                    \ GLP U\ GLP U                     \P GLP UUP\S GLP U\PP GLP UP HQG LIFL MFP a  FL MFS

   MFFRUQHUQRGHMFUHJXODUQRGHHTQ F 

                    \ GLP U\ GLP U                     \P GLP U\S GLP UUS\SS GLP US HQG LIFL MFP a  FL MFS a    ERWKQRGHVMFDQGMFDUHFRUQHUQRGHVHTQ G                      \ GLP U\ GLP U                     \P GLP U\S GLP U HQG                 \ GLP  FRVGDUKRUKR VLQGD  \ GLP  UKRFRVGDUKR VLQGD HOVH                 \ N UKR\ N UKR\P N UKR\S N UKR  ULJKWKDQGVLGHRIHTQ G  HQG             J KS LG N GLP GLP     HTQ  WKHFRPSRQHQWVEHLQJPXOWLSOLHGE\WAPLQXV             J KS LG N GLP    HTQ  WKHFRPSRQHQWVEHLQJPXOWLSOLHGE\WASOXV             JI KS LG N 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&6 L VHSDUDWH&6 L VWLFN&6 L VOLS HWD6 L VLJQRIHWDIRUWKHLWKFRQWDFWQRGHSDLUSRVLWLYHHWD6 L QHJDWLYHHWD6 L  1RWHWKDWWKHVLJQDKHDGRIWKHIULFWLRQFRHIILFLHQWLVRSSRVLWHWRWKHVLJQRIWDQJHQWLDOWUDFWLRQ QYQXPEHURIVWDWXVFKDQJHVYLRODWLRQRIFRQWDFWFULWHULRQ )RUWKHFRQWDFWSUREOHPVEHWZHHQWZRHODVWLFYLVFRHODVWLFERGLHV LY L LWKYLRODWLRQQRGHSDLULVLY L  LY L MNMN WKHFRQWDFWVWDWXVRILY L WKQRGHSDLUFKDQJHVIURPFRQWDFWVWDWXV&6 L MWRFRQWDFWVWDWXV&6 L N )RULQGHQWDWLRQE\PXOWLSOHULJLGSXQFKHV LY L LWKYLRODWLRQQRGHLVDWMWKQRGHRILSWKSXQFKZKHUHLY L LSLY L M LY L MNMN WKHFRQWDFWVWDWXVRILWKYLRODWLRQQRGHFKDQJHVIURPFRQWDFWVWDWXV&6 MWRFRQWDFWVWDWXV&6 N XEWEGLVSODFHPHQWVDQGWUDFWLRQVDWWKHERXQGDU\QRGHVVHHH[SODQDWLRQLQ%(0EDQN% X NL Y NL Z NL 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 VLQ WK F FRV WK         7 >FVVF@    HTQ          QD QS& L QE QS& L    QDQEQRGHDDQGQRGHERIWKHLWKFRQWDFWSDLU LI9W\SH

__QVa   IRUSUREOHPVZLWKHODVWLFVROLGVRUZKHQWKHFRUUHVSRQGHQFHSULQFLSOHLVXVHGIRUYLVFRHODVWLFFRQWDFW

           XBD 7 XE QD WBD 7 WE QD   GLVSODFHPHQWVDQGWUDFWLRQVRIORFDOFRRUGLQDWHVDWQRGHD            XBE 7 XE QE   GLVSODFHPHQWVDQGWUDFWLRQVRIORFDOFRRUGLQDWHVDWQRGHE HOVH

IRUSUREOHPVZLWKYLVFRHODVWLFVROLGV

           XBD 7 XE PQD WBD 7 WE PQD   GLVSODFHPHQWVDQGWUDFWLRQVRIORFDOFRRUGLQDWHVDWQRGHD            XBE 7 XE PQE   GLVSODFHPHQWVDQGWUDFWLRQVRIORFDOFRRUGLQDWHVDWQRGHE HQG VZLWFK&6 L  FDVH  VHSDUDWH LIXBD  XBE  ! J L QY QYLY QY L LILa  La Q&VHWFRQWDFWVWDWXVEDVHGRQLWVQHLJKERXUQRGH LI&6 L

__&6 L

LY QY &6 L  

LIHWD6 L a HWD6 L HWD6 L HOVHHWD6 L HWD6 L HQG HOVHLY QY &6 L  HQG HQG HQG

HTQ D 

FDVH  VWLFN LIWBD  !&6 L   QY QYLY QY LLY QY HTQ E  HOVHLIDEV WBD  ! DEV HWD WBD  &6 L QY QYLY QY LLY QY HWD6 L VLJQ WBD  HQG

 F

FDVH  VOLS LIWBD  !&6 L QY QYLY QY LLY QY HTQ E  HOVHLIWBD  XBD  XBE  ! HWDa &6 L QY QYLY QY LLY QY HQG

HTQ G 

HQG HQG HOVH LQGHQWDWLRQE\PXOWLSOHULJLGSXQFKHV IRULS QBSXQFK LIP

XLS X LS YLS Y LS ZLS Z LS   KRUL]RQWDOYHUWLFDOWUDQVODWLRQDQGURWDWLRQRILSWKSXQFKUHVSHFWLYHO\

HOVHXLS X PLS YLS Y PLS ZLS Z PLS HQG IRUL QF LS             LF QS& LLS LFWKFRQWDFWQRGHXQGHULSWKSXQFKHV VZLWFK&6 LLS  FDVH  VHSDUDWLRQHTQ D LI9W\SH

__QVa XEQ XE LF HOVHXEQ XE PLF HQG XEQQRUPDOGLVSODFHPHQW

9W\SH HODVWLFSUREOHPVQVa FRUUHVSRQGHQFHSULQFLSOHLVXVHGQV WLPHVWHSSLQJPHWKRGLVXVHG                    J YLSZLS [PG LLS I[ LLS  LIXEQ! JQY QYLY QY LSLY QY L  LILa  La QF LS VHWFRQWDFWVWDWXVEDVHGRQLWVQHLJKERXUQRGH LI&6 LLS

__&6 LLS

LY QY &6 LLS  

LIHWD6 LLS a HWD6 LLS HWD6 LLS HOVHHWD6 LLS HWD6 LLS HQG HOVHLY QY &6 LLS  HQG HQG HQG FDVH  VWLFNHTQ EF LI9W\SH

__QVa WEV WE LF WEQ WE LF   WEVWEQWDQJHQWLDODQGQRUPDOWUDFWLRQ

516

Appendix F: AEPH Source Code (Listed in Alphabetic Order) HOVHWEV WE PLF WEQ WE PLF HQG 9W\SH HODVWLFSUREOHPVQVa FRUUHVSRQGHQFHSULQFLSOHLVXVHGQV WLPHVWHSSLQJPHWKRGLVXVHG LIWEQ LF !QY QYLY QY LSLY QY LLY QY &6 LLS  HOVHLIDEV WEV ! DEV HWD LS WEQ                          QY QYLY QY LSLY QY LLY QY &6 LLS HWD6 LLS VLJQ WEV  HQG FDVH  VOLSHTQ EG LI9W\SH

__QVa XEV XE LF WEV WE LF WEQ WE LF  

HOVHXEV XE PLF WEV WE PLF WEQ WE PLF HQG XEVWEVWEQWDQJHQWLDOGLVSODFHPHQWWDQJHQWLDOWUDFWLRQDQGQRUPDOWUDFWLRQ 9W\SH HODVWLFSUREOHPVQVa FRUUHVSRQGHQFHSULQFLSOHLVXVHGQV WLPHVWHSSLQJPHWKRGLVXVHG LIWEQ!QY QYLY QY LSLY QY LLY QY &6 LLS  HOVHLIWEV XEVXLSZLS I[ LLS !                         QY QYLY QY LSLY QY LLY QY &6 LLS  HQG HQG HQG HQG HQG

F007: BEM2Dcontact_Dfq IXQFWLRQ>'TIT@ %(0'FRQWDFWB'IT TNPN'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 QQRGHVXP QF LS HQG

VWDUWLQJFROXPQIRU'TRIWKHLSWKSXQFK

IRUN QF LS               F MGLP N    VWDUWLQJFROXPQIRU'TRIWKHNWKQRGHRIWKHLSWKSXQFK LIN

MS QS& NLS MS QS& NLS HQG

LIN

QF LS MS QS& NLS MS QS& NLS HQG

SDUWRIHTQ F  SDUWRIHTQ F 

LIN! NQF LS MS QS& NLS MS QS& NLS HQG

SDUWRIHTQ F 

            KN [Q MS [Q MS   HTQ F B             JN [Q MS A[Q MS A GN LS [Q MS [Q MS   HTQ F B             'NL >KNKNJN@  HTQ E  LIHWD LS

DEV TN LS TN LS   'NL  HQG

  VOLGLQJSXQFKRUWKHSXQFKLVRQYHUJHRIQRQHTXLOLEULXP

            'T UUFFGLP 'NL  HTQ D  HQG HQG     ITL >TN LS TN LS PN LS @  HTQ D B LIHWD LS

DEV TN LS TN LS    IRUWKHFDVHVRIVOLGLQJSXQFKRUWKHSXQFKLVRQYHUJHRIQRQHTXLOLEULXP

LI'TW\SH

LY GLP QQRGHQ&  LS 'T ULY   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'7 XWXBKDWWBKDWQ$Q%Q&QEN  &RQYHUWWKHVROXWLRQXWWRXEDQGWEZKLFKDUHWKHGLVSODFHPHQWVDQGWUDFWLRQVDWERXQGDU\QRGHV ,IWKHSUREOHPVZLWKPXOWLSOHULJLGSXQFKHVDUHFRQVLGHUHGDGGLWLRQDOUHVXOWVDUHREWDLQHGIRUXYDQGZ XEWEH[SODLQHGLQIXQFWLRQ%(0EDQN% X NL Y NL Z NL 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 QRGH6 M 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

                XE PMU WBYF PMU XBKDW PMU XBYF PMU XW MY   UHDUUDQJHWKHVROXWLRQIRUX PM                  WE PMU XBYF PMU WBKDW PMU WBYF PMU XW MY   UHDUUDQJHWKHVROXWLRQIRUW PM  FDVH^` LIUHJ

MY MYGLP Q&Q% HQG

                MY MYGLP Q&                  XE PMU XW MY   WE PMU XW MY    UHDUUDQJHWKHVROXWLRQIRUX PM DQGW PM  HQG HQG HQG LIQE

   FDOFXODWHXYDQGZIRUSUREOHPVZLWKPXOWLSOHULJLGSXQFKHV 

    [U XW GLP QQRGHQ& HQG          F    LQLWLDOYDOXH IRULS QBSXQFK LIHWD LS

DEV TN LS TN LS    IRUWKHVOLGLQJRURQYHUJHRIQRQHTXLOLEULXPSXQFKHV

            X NLS 1D1Y NLS [U F Z NLS [U F   VHWX QDQ

518

Appendix F: AEPH Source Code (Listed in Alphabetic Order) HOVH             X NLS [U F Y NLS [U F Z NLS [U F  HQG         F F HQG HQG

F009: BEM2Dcontact_localC IXQFWLRQ>WKHWD&J@ %(0'FRQWDFWBORFDO& FDOFXODWHVWKHURWDWLRQDQJOHRIORFDOFRRUGLQDWHDVVRFLDWHGZLWKHDFKFRQWDFWQRGHSDLUHTQ   WKHWD& N WKHWDBEDURIHTQ D RIWKHNWKFRQWDFWQRGHSDLUORFDWHGLQWKHUDQJHRI> SL@ J N QRUPDOJDSRIWKHNWKFRQWDFWQRGHSDLU JOREDO[QWKHWDB[L5Q&QS&IURP0DLQSURJUDPDQGIXQFWLRQ%(0PHVK%(0EDQN%  IRUN Q&     QD QS& N QE QS& N QDQEQRGHVRIFRQWDFWQRGHSDLU DE      G[ [Q QE [Q QD G[ [Q QE [Q QD   SDUWRIHTQ E      J N VTUW G[AG[A HTQ E  LIJ N a  LIG[ WKHWD& N DFRV G[J N WKHWDBEDURIHTQ D ORFDWHGLQWKHUDQJHRI> SL@ HOVH       WKHWD& N  SLDFRV G[J N HQG HOVH         WKHWD& N WKHWDB[L5 QD 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 [PG LLS ORFDOFRRUGLQDWHRIWKHLWKFRQWDFWQRGHRIWKHLSWKSXQFK I[ LLS WKHDVVRFLDWHGIXQFWLRQYDOXHRISXQFKSURILOHDW[PG LLS   QF LS QXPEHURIFRQWDFWQRGHVXQGHUWKHLSWKSXQFK QS& LS FRQWDFWQRGHVXQGHUWKHLSWKSXQFK Q&QXPEHURIFRQWDFWQRGHV QQ&QXPEHURIQRQFRQWDFWQRGH Q.QXPEHURIXQNQRZQYDULDEOHVDOVRGLPHQVLRQRIPDWUL[.RIHTQ   QRGH& L LWKFRQWDFWQRGHRIHQWLUHFRQWDFWUHJLRQ QRGH1& L LWKQRQFRQWDFWQRGH QRGH6UHDUUDQJHWKHVHTXHQFHRIERXQGDU\QRGHVE\QRGH6 >QRGH1&QRGH&@ HWD6 LLS WKHVLJQIRUIULFWLRQFRHIILFLHQWHWDRILWKFRQWDFWQRGHRIWKHLSWKSXQFK &6 LLS FRQWDFWVWDWXVRIWKHLWKFRQWDFWQRGHRILSWKSXQFK&6 VHSDUDWH&6 VWLFN&6 VOLS QS L WKHVWDUWLQJDQGHQGLQJQRGHQXPEHURIWKHLWKSXQFK HWD LS IULFWLRQFRHIILFLHQWRIWKHLSWKSXQFK JOREDOGLPQBSXQFKTNQRGHQQRGHIURP0DLQSURJUDPDQG%(0EDQN% IRULS QBSXQFK     QF LS QS LS QS LS      QS& QF LS LS QS LS QS LS      HWD6 QF LS LS LQLWLDOYDOXHV LIHWD LS

DEV TN LS TN LS VOLGLQJFRQWDFWRURQYHUJHRIQRQHTXLOLEULXPFRQWDFW

        &6 QF LS LS VHWVOLSPRGHIRUVOLGLQJSXQFKRUWKHSXQFKLVRQWKHYHUJHRIQRQHTXOLEULXP

Appendix F: AEPH Source Code (Listed in Alphabetic Order)         HWD6 QF LS LS VLJQ TN LS   HOVHLIHWD LS !DEV TN LS TN LS          &6 QF LS LS LQLWLDOO\VHWWKHFRQWDFWQRGHVLQVWLFNPRGH HOVH         GLVS :DUQLQJWKHKRUL]RQWDOORDGH[FHHGVWKHPD[LPXPIULFWLRQORDG  UHWXUQ HQG HQG Q& VXP QF QQ& QQRGHQ& Q. GLP QQ& GLP Q& QBSXQFK >NQ@ VL]H QRGH QRGH% XQLTXH VRUW UHVKDSH QRGHN Q  ERXQGDU\QRGHV LQFOXGHFRQWDFWDQGQRQFRQWDFW  >NQ@ VL]H QS& QRGH& VHWGLII XQLTXH VRUW UHVKDSH QS&N Q  FRQWDFWQRGHV QRGH1& VHWGLII QRGH%QRGH& QRQFRQWDFWQRGHV QRGH6 >QRGH1&QRGH&@  UHDUUDQJHWKHVHTXHQFHRIERXQGDU\QRGHV QRGH%  >[PGI[@ SURILOH3 QFQS&   IXQFWLRQ>[PGI[@ SURILOH3 QFQS&  &DOFXODWH[LDQGI[LRIHTV     JOREDO[QQBSXQFKGNQNFN   IURP0DLQSURJUDPDQG%(0EDQN% P PD[ QF  [PG ]HURV PQBSXQFK I[ ]HURV PQBSXQFK  IRULS QBSXQFK     QFBS QF LS  IRUL QFBS         N QS& LLS          [PG LLS [Q N GN LS I[ LLS  IRUQ QN LS I[ LLS I[ LLS FN LSQ [PG LLS A Q HQG HQG HQG

F011: BEM2Dcontact_ut12 IXQFWLRQ>XEBXEBWEWE@ %(0'FRQWDFWBXW YEWYEXEBXEBWEWEQEP  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 QQRGH5 LY /W\SH /W\SH5 LY QRGH6 QRGH5 LY QHOHPHQW QHOHPHQW5 LY 

519

520

Appendix F: AEPH Source Code (Listed in Alphabetic Order)         [/ [5 LY \/ \5 LY DOSKD DOSKD5 LY D D5 LY E E5 LY          [Q/ [Q/5 LY HOHPHQW HOHPHQW5 LY WKHWDB[L WKHWDB[L5 LY   QRGH QRGH5 LY [P [P5 LY [P [P5 LY   LI%W\SH

WKHWDB[ WKHWDB[5 LY HQG

OLQHDUHOHPHQW

LI%W\SH

[P [P5 LY WKHWDB[ WKHWDB[5 QHOHPHQWLY  HQG

TXDGUDWLFHOHPHQW

HQG     >YEBYEBWYEWYE@ %(0VWUDLQVWUHVV% YEWYELY FDOFXODWHTXDVLVWUDLQVVWUHVVHVRIWKHHODVWLFOLNHV\VWHPDWERXQGDU\QRGHV LILY

YWY >YEBYEBWYEWYE@    TXDVLVWUHVVHVDQGTXDVLVWUDLQVIRUERG\$

HOVH   YWY >YWY>YEBYEBWYEWYE@@TXDVLVWUHVVHVDQGTXDVLVWUDLQVIRUERGLHV$DQG% HQG HQG YEB YWY GLP YEB YWY GLP GLP   TXDVLVWUDLQVRIERGLHV$DQG% WYE YWY  GLP GLP WYE YWY  GLP GLP TXDVLVWUHVVHVRIERGLHV$DQG% >XEBWE@ %(0'FRQWDFWBYWY YEBWYEXEBWEQEP FDOFXODWHSDUWRIDFWXDOVWUHVVHVDQGVWUDLQVXEBDQGWE >XEBWE@ %(0'FRQWDFWBYWY YEBWYEXEBWEQEP   FDOFXODWHWKHRWKHUSDUWRIDFWXDOVWUHVVHVDQGVWUDLQVXEBDQGWE

F012: BEM2Dcontact_vtv IXQFWLRQ>XEWE@ %(0'FRQWDFWBYWY YEWYEXEWEQEP  WKLVIXQFWLRQFRQYHUWVVROXWLRQVRIWKHHODVWLFOLNHV\VWHP ZLWKYEDQGWYE WRWKHDFWXDOYLVFRHODVWLFV\VWHP ZLWKXEDQGWE  XEWEDOODSSHDUERWKLQLQSXWDQGRXWSXWEHFDXVHWKH\ZLOOEHHYDOXDWHGVWHSE\VWHSE\HTQV  DQG   QEQXPEHURIHODVWLFYLVFRHODVWLFERGLHV JOREDOQQRGH5QQRGH7QQRGH  IURP0DLQ%(0EDQN% JOREDOGWJDPTJDP   IURPIXQFWLRQ%(0'FRQWDFW(OD% LIQE

QQRGH7 QQRGHQ QQRGHHOVHQ QQRGH5  HQG

LIP

 

    XE P YEWE P WYE HOVH     ZP  XE P       ZP Q ZP Q YE Q GWJDPT P    SDUWRIHTQ DE IRUFRQWDFWERG\$ LIQE

ZP QQQRGH7 ZP QQQRGH7 YE QQQRGH7 GWJDPT P HQG SDUWRI DE IRUFRQWDFWERG\%

LIP!   IRUT P             XT Q XE TQ XE TQ JDPT T JDPT P SDUWRIHTQ E IRUFRQWDFWERG\$ LIQE

XT QQQRGH7 XE TQQQRGH7 XE TQQQRGH7 JDPT T JDPT P HQG

SDUWRIHTQ E IRUFRQWDFWERG\%             ZP ZPXT HQG HQG     XE P ZP  HTQ D      WE WE  LQLWLDOWUDFWLRQ     WE PQ WYE Q JDP  WE Q   HTQ  BIRUWKHFRQWDFWERG\$ LIQE

WE PQQQRGH7 WYE QQQRGH7 JDP  WE QQQRGH7 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     ISULQWI ILG ?U?Q:DUQLQJRXWSXWGXHWRWKHLWHUDWLRQOLPLWDWLRQ6RPHFRQWDFWFULWHULDDUHQRWVDWLVILHG?U?Q  HQG RXWSXWWKHWUDFWLRQVDQGGLVSODFHPHQWV [K [Q  \K [Q   XK XE  XK XE  XK XE   WK WE  (WK WE  (WK WE  ( ISULQWI ILG ?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 QQRGH5 LVU /W\SH /W\SH5 LVU QRGH6 QRGH5 LVU QHOHPHQW QHOHPHQW5 LVU     [/ [5 LVU \/ \5 LVU DOSKD DOSKD5 LVU GV GV5 LVU D5 LVU DE5 LVU E    [Q/ [Q/5 LVU HOHPHQW HOHPHQW5 LVU WKHWDB[L WKHWDB[L5 LVU QRGH QRGH5 LVU      [P [P5 LVU [P [P5 LVU   LI%W\SH

WKHWDB[ WKHWDB[5 LVU HQG

OLQHDUHOHPHQW

LI%W\SH

[P [P5 LVU WKHWDB[ WKHWDB[5 QHOHPHQWLVU 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 HWD6 L WKHVLJQIRUIULFWLRQFRHIILFLHQWHWDRILWKFRQWDFWQRGH QWVQXPEHURIWLPHVWHS GWWLPHVWHS YBKDWWYBKDWGLVSODFHPHQWVDQGWUDFWLRQVRIWKHHODVWLFOLNHV\VWHP 6WP6WP M NMWKVHOHFWHGWLPHLVFORVHWRNWKWLPH !WL M WLPHN N W N GW 6[\6[\ M YNMWKVHOHFWHGSRVLWLRQLVFORVHWRYNWKSRLQW ![\L M ;LN N LI2W\SHa  6[\ M >ZT@MWKVHOHFWHGSRVLWLRQLVFORVHWR>ZT@WKSRLQW ![\L M ;LN ZT 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&6 L VHSDUDWH&6 L VWLFN&6 L VOLS YEPWYEPPDWULFHVFRQWDLQVWKHTXDVLGLVSODFHPHQWVYEDQGTXDVLWUDFWLRQVWYERIWKHHODVWLFOLNHV\VWHPVDWHDFKWLPHVWHS JDP L JDPPD W RIHTQ E ZKHUHL FRQWDFWERG\$L FRQWDFWERG\% JDPT TL JDPPDBT W RIHTQ E 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 ]HURV Q& &6 ]HURV Q& JHQHUDWHG Q$ QQRGH5  Q&Q% QQRGH5  Q&Q. GLP QQRGH7 Q& V% Q$Q%Q& LIHWD

&6 Q& HOVH&6 Q& HQG DVVXPHVOLSIRUIULFWLRQOHVVFDVHVDQGVWLFNIRUIULFWRQDOFDVHV

W 5WLPH  WI 5WLPH  GW 5WLPH  MW 5WLPH  W WKHLQLWLDOWLPHWIWKHILQDOWLPH  GWWLPHVWHS IRUWP WGWWIMW MWWLPHN MW WPHQG

JHQHUDWHWLPHNIRUWKHXVHLQSRVLWLRQ7LPH

QWV MW  QXPEHURIWLPHVWHSJHQHUDWHGWRXVHLQ7DEOH)LJ >WKHWD&J@ %(0'FRQWDFWBORFDO&HTQ   >.$.%.&I@ %(0'FRQWDFWBNNNIY@ %(0'FRQWDFWB'F'W'UJP@ %(0'FRQWDFWB&&5 'FJPXEWE&6HWD6LY L P HQG LIP

'FDQGIPRIHTQ  

IV >IJP@  >IIF@RIHTQ D IF JPHTQ F 

HOVH            IFP 'F \FPJP  IFPIFRIHTQ F ZKHQP!             IV >IYIFP@     >IIF@RIHTQ D  HQG        .V >.$.&.%]HURV  GLP Q&GLP Q$ 'F]HURV  GLP Q&GLP Q% @  OHIWKDQGVLGHRIHTQ D         XW .V?IVVROYHHTXDWLRQV D        >YEWYEXYZ@ %(0'FRQWDFWB'7 XWYBKDWWYBKDWQ$Q%Q&P   WKHVROXWLRQRIHODVWLFOLNHV\VWHPV        >XEWE@ %(0'FRQWDFWBYWY YEWYEXEWEP FRQYHUWVROXWLRQVRIHODVWLFOLNHV\VWHPV ZLWKYDQGWY WRWKHDFWXDOYLVFRHODVWLF V\VWHP ZLWKXDQGW HTQ          >&6HWD6QYLY@ %(0'FRQWDFWB&VWDWXV &6HWD6XEWEXYZP   FKHFNWKHFULWHULDIRUFRQWDFWVWDWXVE\          QWLPHV QWLPHV HQG LIQWLPHV

 QYa 

Appendix F: AEPH Source Code (Listed in Alphabetic Order)         GLVS :DUQLQJRXWSXWGXHWRWKHLWHUDWLRQOLPLWDWLRQ6RPHFRQWDFWFULWHULDDUHQRWVDWLVILHG          ISULQWI ILG ?U?Q:DUQLQJRXWSXWGXHWRWKHLWHUDWLRQOLPLWDWLRQ6RPHFRQWDFWFULWHULDDUHQRWVDWLVILHG?U?Q  HQG     YEP P YEWYEP P WYE  VWRUHGWKHVROXWLRQVRIHODVWLFOLNHV\VWHP     >XEBXEBWEWE@ %(0'FRQWDFWBXW YEWYEXEBXEBWEWEP   FDOFXODWHWKHVWUHVVHVDQGVWUDLQV SULQWWUDFWLRQDWWKHFXUUHQWWLPHVWHS     WEP WE P      WK WEP  (WK WEP  (WK WEP  (     [K [Q  \K [Q       ISULQWI ILG ?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  7LN GLPMWQQRGH QDQ ;LN >[Q ]HURV QQRGH7 @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         GV Q[\ LE QDQ9ZT Q[\ LE  QDQQVS Q[\ LE QDQ6[\ Q[\ LE  QDQGHIDXOW QQRGH QQRGH5 LE QRGH6 QRGH5 LE  IRUM QQRGH             L QRGH6 M              [L  [Q L [L  [Q L               >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  XE PQ$Q$Q& ZP  XE PV%QQRGH7   SDUWRIHTQ E  W  WE Q$Q$Q& W  WE V%QQRGH7   SDUWRIHTQ G  \FP UHVKDSH >ZP JDPT P GWJDP  WZP JDPT P GWJDP  W@ GLP Q& SDUWRIHTQ G  LIP! IRUT P

525

526

Appendix F: AEPH Source Code (Listed in Alphabetic Order)        ZP  XE TQ$Q$Q& XE TQ$Q$Q& JDPT T GW         ZP  XE TV%QQRGH7 XE TV%QQRGH7 JDPT T GW        \FP \FPUHVKDSH >ZP]HURV GLPQ& ZP]HURV GLPQ& @ GLP Q& HTQ E  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   [PG LLS ORFDOFRRUGLQDWHRIWKHLWKFRQWDFWQRGHRIWKHLSWKSXQFK I[ LLS WKHDVVRFLDWHGIXQFWLRQYDOXHRISXQFKSURILOHDW[PG LLS   &6 LLS FRQWDFWVWDWXVRIWKHLWKFRQWDFWQRGHRILSWKSXQFK&6 VHSDUDWH&6 VWLFN&6 VOLS Q&QXPEHURIFRQWDFWQRGHV QF LS QXPEHURIFRQWDFWQRGHVXQGHUWKHLSWKSXQFK QS& LS FRQWDFWQRGHVXQGHUWKHLSWKSXQFK QQ&QXPEHURIQRQFRQWDFWQRGHV QRGH1& L LWKQRQFRQWDFWQRGH QRGH& L LWKFRQWDFWQRGHRIHQWLUHFRQWDFWUHJLRQ HWD LS IULFWLRQFRHIILFLHQWRIWKHLSWKSXQFK HWD6 LLS 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'IT TNPN   FDOFXODWH'TDQGITLQHT   .'T >..&]HURV GLP QQRGH QBSXQFK 'T@SDUWRIWKHOHIWKDQGVLGHRI  ZKLFKLVXQFKDQJHGGXULQJLWHUDWLRQ 'X ]HURV GLP Q&GLP Q& 'W ]HURV GLP Q&GLP Q& 'U ]HURV GLP Q&GLP QBSXQFK IF ]HURV Q& 'X'W'UIFRIHT   QY Q&VQF    LQLWLDOYDOXHVIRUWKHIROORZLQJLWHUDWLRQ IRULS QBSXQFK  LQLWLDOO\VHWDOOFRQWDFWQRGHVEHYLRODWHG LILS!VQF VQFQF LS HQG IRUM QF LS MV VQFMLY MV LSLY MV MHQG HQG ZKLOHQY QWLPHV! IRUL QYXSGDWH'X'W'UDQGIFIRUYLRODWHGFRQWDFWQRGHV        LS LY L M LY L         >'X'W'UIF@ %(0'FRQWDFWB&&5 'X'W'UIF&6HWD6LSM  HQG    .V >.'T]HURV GLP 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'7 XWXBKDWWBKDWQQ&Q&     >&6HWD6QYLY@ %(0'FRQWDFWB&VWDWXV &6HWD6XEWEXYZ FKHFNLQJFRQWDFWVWDWXVE\HT      QWLPHV QWLPHV HQG LIQWLPHV

 QYa GLVS :DUQLQJVWRSUXQQLQJGXHWRWKHLWHUDWLRQOLPLWDWLRQ6RPHFRQWDFWFULWHULDDUHQRWVDWLVILHG 

HOVH LI9W\SH

  SULQWRXWRQO\IRUHODVWLFSUREOHPV

IRULS QBSXQFK            ISULQWI ILG ?U?QWKHULJLGERG\PRWLRQVRISXQFKL ILVX HY HZ H?U?Q LSX LS Y LS Z LS   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 TNVY LV PN PNVY LV WBKDW WBKDWVY LV XBKDW XBKDWVY LV     $ $V LV % %V LV PX PXV LV  &LM &LMV LV 6LM 6LMV LV      4 4V LV 5 5V LV 7 7V LV     >XVWVXVBXVBWVWV@ %(0'FRQWDFW05H% XBKDWWBKDWTNPN FDOFXODWHWKHVROXWLRQLQ/DSODFHGRPDLQ    XEV LV XV  WEV LV WV  XEVB LV XVB       XEVB LV XVB  WEV LV WV  WEV LV WV   HQG IRUM QQRGH    XE M /DSODFHBLQY XEV M        WE M /DSODFHBLQY WEV M     XEB M /DSODFHBLQY XEVB M    XEB M /DSODFHBLQY XEVB M       WE M /DSODFHBLQY WEV M      WE M /DSODFHBLQY WEV M    HQG 8LN  XE8LN  XEB8LN  XEB

527

528

Appendix F: AEPH Source Code (Listed in Alphabetic Order) 7LN  WE7LN  WE7LN  QDQ  7LN GLPMWQQRGH QDQ ;LN >[Q ]HURV QQRGH @  JHQHUDWHVWRXVHLQ7DEOH)LJ   ,GHQWLI\WKHWLPHDQGSRLVWLRQIRUSULQWLQJ7DEOHVDQG)LJXUHV >6WP6[\GV9ZTQVS@ SRVLWLRQ7LPH  JHQHUDWH6WPIRUWKHXVHLQ7DEOH)LJ'9RI7DEOH)LJ 2W\SHBWHPS 2W\SH2W\SH VHW2W\SH WRVHOHFWWKHQHDUHVWSRLQWWRSULQWLQ7DEOH)LJ GV Q[\ QDQ9ZT Q[\ QDQQVS Q[\ QDQ6[\ Q[\ QDQGHIDXOW IRUL QQRGH    [L  [Q L [L  [Q L      >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 6WP6WP M NMWKVHOHFWHGWLPHLVFORVHWRNWKWLPH !WL M WLPHN N W N GW 6[\6[\ M YNMWKVHOHFWHGSRVLWLRQLVFORVHWRYNWKSRLQW ![\L M ;LN N LI2W\SHa  6[\ M >ZT@MWKVHOHFWHGSRVLWLRQLVFORVHWR>ZT@WKSRLQW ![\L M ;LN ZT LI2W\SH



Q[\ L QXPEHURIVHOHFWHGSRVLWLRQLQLWKUHJLRQIRUSULQWLQJWLPHYDULDWLRQ QF LS QXPEHURIFRQWDFWQRGHVXQGHUWKHLSWKSXQFK QS& LS FRQWDFWQRGHVXQGHUWKHLSWKSXQFK Q&WRWDOQXPEHURIFRQWDFWQRGHV QQ&QXPEHURIQRQFRQWDFWQRGHV Q.QXPEHURIXQNQRZQYDULDEOHVDOVRGLPHQVLRQRIPDWUL[.RIHTQ   QRGH& L LWKFRQWDFWQRGHRIHQWLUHFRQWDFWUHJLRQ QRGH1& L LWKQRQFRQWDFWQRGH QRGH6UHDUUDQJHWKHVHTXHQFHRIERXQGDU\QRGHVE\QRGH6 >QRGH1&QRGH&@ HWD6 LLS WKHVLJQIRUIULFWLRQFRHIILFLHQWHWDRILWKFRQWDFWQRGHRIWKHLSWKSXQFK &6FRQWDFWVWDWXV&6 L VHSDUDWH&6 L VWLFN&6 L VOLS [PG LLS ORFDOFRRUGLQDWHRIWKHLWKFRQWDFWQRGHRIWKHLSWKSXQFK I[ LLS WKHDVVRFLDWHGIXQFWLRQYDOXHRISXQFKSURILOHDW[PG LLS   YEPWYEPPDWULFHVFRQWDLQVWKHTXDVLGLVSODFHPHQWVDQGTXDVLWUDFWLRQVRIWKHHODVWLFOLNHV\VWHPVDWHDFKWLPHVWHS JDP L JDPPD W RIHTQ E ZKHUHL FRQWDFWERG\$L FRQWDFWERG\% JDPT TL JDPPDBT W RIHTQ E 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 MWWLPHN MW 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'IT TNPN FDOFXODWH'TDQGITLQHT   .'T >..&]HURV GLP QQRGH QBSXQFK 'T@SDUWRIWKHOHIWKDQGVLGHRI  ZKLFKLVXQFKDQJHGGXULQJLWHUDWLRQ XE ]HURV GLPQWVQQRGH WE ]HURV GLPQWVQQRGH GHIDXOW XEB ]HURV GLPQWVQQRGH WE ]HURV GLPQWVQQRGH GHIDXOW XEB ]HURV GLPQWVQQRGH WE ]HURV GLPQWVQQRGH GHIDXOW X ]HURV QWVQBSXQFK Y ]HURV QWVQBSXQFK Z ]HURV QWVQBSXQFK GHIDXOW 'X ]HURV GLP Q&GLP Q& 'W ]HURV GLP Q&GLP Q& 'U ]HURV GLP Q&GLP QBSXQFK IF ]HURV Q&   'X'W'UIFRI   QY Q&VQF LQLWLDOYDOXHVIRUWKHIROORZLQJLWHUDWLRQ IRULS QBSXQFK  LQLWLDOO\VHWDOOFRQWDFWQRGHVEHYLRODWHG LILS!VQF VQFQF LS HQG IRUM QF LS MV VQFMLY MV LSLY MV MHQG HQG QWLPHV QWLPHVVWRUHRULJLQDOYDOXHRIWKHQXPEHURILWHUDWLRQ IRUP QWV    QWLPHV QWLPHVUHWXUQWKHYDOXHRIQWLPHV    >YBKDWWYBKDWJDPJDPTTPY@ %(0'FRQWDFWB%&Y XBKDWWBKDWTPNPGWQQRGH   HTQ      TY TPY GLP PY TPY GLP   TYPYIRUFHVPRPHQWVDSSOLHGRQHDFKSXQFKRIWKHHODVWLFOLNHV\VWHP LIPa         >NNNI@ %(0'FRQWDFWB'TIT@ %(0'FRQWDFWB'IT TYPY FDOFXODWH'TDQGITLQHT   HQG    QY QYLY LY ZKLOHQY QWLPHV! IRUL QYXSGDWH'X'W'UDQGIFIRUYLRODWHGFRQWDFWQRGHV            LS LY L M LY L             >'X'W'UIF@ %(0'FRQWDFWB&&5 'X'W'UIFXEWE&6HWD6LSMP  HQG        .V >.'T]HURV GLP Q&GLP QQ& 'X'W'U@WKHOHIWKDQGVLGHRIHT          IV >IITIF@ULJKWKDQGVLGHRIHT          XW .V?IVVROYLQJWKHHT          >YEWYEXYZ@ %(0'FRQWDFWB'7 XWYBKDWWYBKDWQQ&Q&P         >XEWE@ %(0'FRQWDFWBYWY YEWYEXEWEP         >&6HWD6QYLY@ %(0'FRQWDFWB&VWDWXV &6HWD6XEWEXYZP FKHFNLQJFRQWDFWVWDWXVE\HT          QWLPHV QWLPHV HQG LIQWLPHV

 QYa GLVS :DUQLQJVWRSUXQQLQJGXHWRWKHLWHUDWLRQOLPLWDWLRQ6RPHFRQWDFWFULWHULDDUHQRWVDWLVILHG 

HOVH IRULS QBSXQFK            ISULQWI ILG ?U?QWKHULJLGERG\PRWLRQVRISXQFKL IDWWKHWLPHW IVDUHX HY HZ H ?U?Q LSP GWX PLS Y PLS Z PLS  HQG

529

530

Appendix F: AEPH Source Code (Listed in Alphabetic Order) HQG     >XEBXEBWEWE@ %(0'FRQWDFWBXW YEWYEXEBXEBWEWEP      YEP P YEWYEP P WYEVDYHIRUODVWHUXVHGLQ%(0'YLVFR,1W HQG 8LN  XE8LN  XEB8LN  XEB 7LN  WE7LN  WE7LN  QDQ  7LN GLPMWQQRGH QDQ ;LN >[Q ]HURV QQRGH @JHQHUDWHVWRXVHLQ7DEOH)LJ >6WP6[\GV9ZTQVS@ SRVLWLRQ7LPH  JHQHUDWH6WPIRUWKHXVHLQ7DEOH)LJ'9RI7DEOH)LJ 2W\SHBWHPS 2W\SH2W\SH VHW2W\SH WRVHOHFWWKHQHDUHVWSRLQWWRSULQWLQ7DEOH)LJ GV Q[\ QDQ9ZT Q[\ QDQQVS Q[\ QDQ6[\ Q[\ QDQGHIDXOW IRUL QQRGH     [L  [Q L [L  [Q L       >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  XE PMLW WKHPWKFRPSRQHQWRIWKHGLVSODFHPHQWXEDWWKHMWKERXQGDU\QRGHDWWLPHWLW GW WE PMLW WKHPWKFRPSRQHQWRIWKHWUDFWLRQWEDWWKHMWKERXQGDU\QRGHDWWLPHWLW GW XDE PMLW WKHPWKFRPSRQHQWRIWKHDFFHOHUDWLRQXDEDWWKHMWKERXQGDU\QRGHDWWLPHWLW GW XEB PMLW XEB PMLW WE PMLW WE PMLW H[SODLQHGLQIXQFWLRQ%(0EDQN% */2%$/9$5,%$/(6JHQHUDWHGLQWKLVIXQFWLRQ FDOFXODWHGLQIXQFWLRQ%(0ORDGBG\QDPLF  8S 8S LMN PDWUL[RIWKHSDUWLFXODUVROXWLRQVRIGLVSODFHPHQWV L aGLPM aGLP 1S 1S QQRGHQS N aQQRGH8S N ZKHQN!QQRGH 7S 7S LMN PDWUL[RIWKHSDUWLFXODUVROXWLRQVRIWUDFWLRQV L aGLPM aGLP 1SN aQQRGH7S N ZKHQN!QQRGH L)S )S LM LQYHUVHRIWKHPDWUL[RIWKHSDUWLFXODUVROXWLRQVRIERG\IRUFHV L aGLP 1SM aGLP 1S 6/W\SHW\SHIRUSULQWLQJ7DEOHVRI6,)(1*DQGRUGHOWD GHIDXOW LVVHWLQXSKLBEDQN  6/W\SH GHIDXOW6/W\SH IRU6,)RU(1*6/W\SH   IRUVLQJXODURUGHUV JOREDO7PW\SHGLPILGQQRGH5WLPHWBKDWXBKDWXBYFXDBKDWIURP0DLQSURJUDPDQGIXQFWLRQ0DLQBDX[DQG%(0PHVK JOREDOTWESQS'K7LBK7LB@GHULYDWLYHVRIORDGYHFWRU     K7LB K7G GLP K7LB K7G GLP GLP  HQG IRUM QQRGH LI0/W\SH LI/W\SH

M QRGH6 M HQG

 LVQDQ [L

  FDOFXODWHDVVRFLDWHGVWUDLQVRI6,)RIULJKWWLSIRUFUDFNSUREOHPV

       XL5 XL5*L GLPM WE M [/D FRV DOSKD \/D VLQ DOSKD @  SRVLWLRQRIFUDFNULJKWWLS LI7PW\SH

    SUREOHPVLQGHSHQGHQWRIWLPHYDULDEOH

        2W\SHBWHPS 2W\SH2W\SH 

2W\SH SULQWLQJ6,)IRUSUREOHPVRI%)(0

        7DEOH)LJ LVU          2W\SH 2W\SHBWHPS  HQG     VLJPD ]HURV GLP VLJPD ]HURV GLP   GHIDXOW HOVH

IRUWKHFDOFXODWLRQRILQWHUQDOVWUHVVHVHTQ E 

    VLJPD 4 XLB5 XLB (  LQWHUQDOVWUHVVHV     VLJPD 5

XLB7 XLB (  LQWHUQDOVWUHVVHV LI7W\SHa  2W\SHa VLJPD VLJPDEHWDLM  WHPS,1 YN (VLJPD VLJPDEHWDLM  WHPS,1 YN (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 XEV LLVM LWKGLVSODFHPHQWFRPSRQHQWRIWKHMWKERXQGDU\QRGHDW/DSODFHYDULDEOH LV  WEV LLVM LWKWUDFWLRQFRPSRQHQWRIWKHMWKERXQGDU\QRGHDW/DSODFHYDULDEOH LV  XEVB LLVM GHULYDWLYHRIERXQGDU\GLVSODFHPHQWZLWKUHVSHFWWR[DWWKHMWKERXQGDU\QRGHDW/DSODFHYDULDEOH LV  XEVB LLVM GHULYDWLYHRIERXQGDU\GLVSODFHPHQWZLWKUHVSHFWWR[DWWKHMWKERXQGDU\QRGHDW/DSODFHYDULDEOH LV  WEV LLVM VLJPDBVLJPDBVLJPDB YHFWRURIWKHVWUHVVHVDWWKHMWKERXQGDU\QRGHDW/DSODFHYDULDEOH LV  WEV LLVM 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\SHBD LP a   IRUDQLVRWURSLFYLVFRHODVWLFVROLGV                 $BD LP $VBD LVLP %BD LP %VBD LVLP PXBD LP PXVBD LVLP                   &LMBD LP &LMVBD LVLP 6LMBD LP 6LMVBD LVLP                  4BD LP 4VBD LVLP 5BD LP 5VBD LVLP 7BD LP 7VBD LVLP  HQG HQG HOVH         $ $V LV % %V LV PX PXV LV  &LM &LMV LV 6LM 6LMV LV           4 4V LV 5 5V LV 7 7V LV  HQG     WBKDW WBKDWVY LV XBKDW XBKDWVY LV      >XVWVXVBXVBWVWV@ %(0'HODVWLF% LVU   FDOFXODWHWKHVROXWLRQVLQ/DSODFHGRPDLQ     XEV LV XV  WEV LV WV  XEVB LV XVB        XEVB LV XVB  WEV LV WV  WEV LV WV   LILVHPSW\ 6,) a 6,)V LV 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     XE M /DSODFHBLQY XEV M        WE M /DSODFHBLQY WEV M      XEB M /DSODFHBLQY XEVB M    XEB M /DSODFHBLQY XEVB M        WE M /DSODFHBLQY WEV M      WE M /DSODFHBLQY WEV M  HQG 8LN  XE8LN  XEB8LN  XEB 7LN  WE7LN  WE7LN  QDQ  7LN GLPMWQQRGH QDQ ;LN >[Q ]HURV QQRGH @JHQHUDWHVWRXVHLQ7DEOH)LJ   ,GHQWLI\WKHWLPHDQGSRLVWLRQIRUSULQWLQJ7DEOHVDQG)LJXUHV >6WP6[\GV9ZTQVS@ SRVLWLRQ7LPH LVU  JHQHUDWH6WPIRUWKHXVHLQ7DEOH)LJ'9RI7DEOH)LJ 2W\SHBWHPS 2W\SH2W\SH VHW2W\SH WRVHOHFWWKHQHDUHVWSRLQWWRSULQWLQ7DEOH)LJ GV Q[\ QDQ9ZT Q[\ QDQQVS Q[\ QDQ6[\ Q[\ QDQGHIDXOW IRUL QQRGH     [L  [Q L [L  [Q L       >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 XE LM LWKGLVSODFHPHQWFRPSRQHQWRIWKHMWKERXQGDU\QRGH WE LM 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 ]HURV GLPQQRGH7 WE ]HURV GLPQQRGH7  IRULV QV LI1PDW!  IRULP 1PDW LI9W\SHBD LP a   IRUDQLVRWURSLFYLVFRHODVWLFPDWHULDOV                 $BD LP $VBD LVLP %BD LP %VBD LVLP PXBD LP PXVBD LVLP                   4BD LP 4VBD LVLP 5BD LP 5VBD LVLP 7BD LP 7VBD LVLP      HQG HQG HOVH        $ $V LV % %V LV PX PXV LV           4 4V LV 5 5V LV 7 7V LV  HQG     XE  XEV LV   JHQHUDWHWKHVROXWLRQVRIXEWKURXJKXEV LI0/W\SH

 /W\SHa WH5  WH5V LV   SUHSDUHWKHVROXWLRQVRIWEE\XVLQJWH5WKURXJKWH5VIRUSUREOHPVZLWKPXOWLSOH

UHJLRQV HOVHWE  WEV LV HQG

JHQHUDWHWKHVROXWLRQVRIWEWKURXJKWEV

    >XLXLBXLBVLJPDVLJPD@ %(0EDQN,1 [LYNLVU      8LV LV XL8LV LV XLB8LV LV XLB7LV LV VLJPD7LV LV VLJPD     HQG XL /DSODFHBLQY 8LV 

GLVSODFHPHQWIURP/DSODFHGRPDLQWRWLPHGRPDLQ

XLB /DSODFHBLQY 8LV   XLB /DSODFHBLQY 8LV   GLVSODFHPHQWJUDGLHQWIURP/DSODFHGRPDLQWRWLPHGRPDLQ VLJPD /DSODFHBLQY 7LV   VLJPD /DSODFHBLQY 7LV   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 ORDGVWU U    VHWQXPEHURI)RXULHUVHULHVWREHHTQ           QB*DXVVK ORDGVWU U    QXPEHURI*DXVVLDQSRLQWVIRUWKHLQWHJUDOVUHODWHGWRWKHFRHIIRI)RXULHUVHULHV           JDPPDK ORDGVWU U KHDWJHQHUDWLRQUDWHHTQ           >YBDYBDQYBEQYFYV@ WKHUPDOB%(0  FDOFXODWHFRHIILFLHQWVDDQEQYFYVIRU%(0HTQ D          >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!TP LU ORDGVWU ULU K  TP GLPLU ORDGVWU ULUGLP  KA F   HQG TP LU T >T[T\T'T%T]P[P'P%P\@IRU0((PDWHULDO            [\ LU ORDGVWU ULUFF >[\[\[\[\@FRRUGLQDWHRIQRGHWRQRGHRIWKHLUBWKUHJLRQ)LJXUH            [\ LU [\ LU [/ FRV DOSKD  [\ LU \/ VLQ DOSKD QRGHWUDQVIRUPWRWKHORFDOFRRUGLQDWHHTQ              [\ LU  [\ LU [/ VLQ DOSKD  [\ LU \/ FRV DOSKD             [\ LU [\ LU [/ FRV DOSKD  [\ LU \/ VLQ DOSKD QRGHWUDQVIRUPWRWKHORFDOFRRUGLQDWHHTQ              [\ LU  [\ LU [/ VLQ DOSKD  [\ LU \/ FRV DOSKD             [\ LU [\ LU [/ FRV DOSKD  [\ LU \/ VLQ DOSKD QRGHWUDQVIRUPWRWKHORFDOFRRUGLQDWHHTQ              [\ LU  [\ LU [/ VLQ DOSKD  [\ LU \/ FRV DOSKD             [\ LU [\ LU [/ FRV DOSKD  [\ LU \/ VLQ DOSKD QRGHWUDQVIRUPWRWKHORFDOFRRUGLQDWHHTQ              [\ LU  [\ LU [/ VLQ DOSKD  [\ LU \/ FRV DOSKD  HQG        >XEWEXEBXEBWEWE@ %(0FRXSOH%   FDVH  WZRGLPHQVLRQDODQLVRWURSLFHODVWLFYLVFRHODVWLFFRQWDFWSUREOHPV /W\SH aFRQWDFWEHWZHHQPXOWLSOHULJLGSXQFKHVDQGHODVWLFYLVFRHODVWLFIRXQGDWLRQ /W\SH FRQWDFWEHWZHHQWZRHODVWLFYLVFRHODVWLFERGLHV VZLWFK/W\SH FDVH^`   DQHODVWLFKDOISODQHLQGHQWHGE\PXOWLSOHULJLGSXQFKHV                QBSXQFK ORDGVWU U    QXPEHURISXQFKHV                QWLPHV ORDGVWU U   QXPEHURILWHUDWLRQVXJJHVWHGQXPEHU                 HWD ORDGVWU UQBSXQFK IULFWLRQFRHIILFLHQWV IRULS QBSXQFK                    TN LS ORDGVWU ULS (WKHORDGYHFWRUDSSOLHGRQWKHLSBWKSXQFK                    PN LS ORDGVWU ULS (WKHPRPHQWDSSOLHGRQWKHLSBWKSXQFK                    GN LS ORDGVWU ULS ORFDWLRQRIFHQWHURIWKHLSBWKSXQFKRQO\LQSXWWKHYDOXHRI[FRRUGLQDWH\                     ZN ORDGVWU ULS ZLGWKRIWKHLSBWKSXQFK QS LS ORDGVWU ULS WKHVWDUWLQJDQGHQGLQJQRGHQXPEHURIWKHLSBWKSXQFK

Appendix F: AEPH Source Code (Listed in Alphabetic Order)

547

                    QN LS ORDGVWU ULS RUGHURIWKHSRO\QRPLDOXVHGWRGHVFULEHWKHSURILOHRIWKHLSBWKSXQFKKHDG HJIODWHQGQN ZHGJHVKDSHQN SDUDEROLFQN                      FN LS ORDGVWU ULSQN LS  HJIDOWHQGFN ZHGJHVKDSHFN >F@SDUDEROLFFN >5@                     DNP LS GN LS ZNENP LS GN LS 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

                            QSW LS ORDGVWU ULSQN LS  RUGHURISRO\QRPLDORIWLPHGHSHQGHQWORDGPRPHQWRQHDFKSXQFK                             FSW LS ORDGVWU ULSQN LS QN LS QSW LS    FRHIILFLHQWVRIWKHSRO\QRPLDOHJFRQVWDQWORDGFSW OLQHDUFSW >FF@HWF HQG                        QIW ORDGVWU UQBSXQFK    RUGHURIWKHSRO\QRPLDORIWLPHGHSHQGHQWSUHVFULEHGWUDFWLRQGLVSODFHPHQWRQWKHQRQFRQWDFWUHJLRQ                        FIW ORDGVWU UQBSXQFKQIW FRHIILFLHQWVRIWKHSRO\QRPLDOHJFRQVWDQWFIW OLQHDUFIW >FF@HWF                        >XEWEXEBXEBWEWE@ %(0'FRQWDFW05Y%W HQG HQG FDVH   FRQWDFWRIWZRHODVWLFERGLHV                HWD ORDGVWU U    IULFWLRQFRHIILFLHQW                Q& ORDGVWU U    QXPEHURIQRGHSDLUVLQFRQWDFWUHJLRQ                QWLPHV ORDGVWU U   QXPEHURILWHUDWLRQVXJJHVWHGQXPEHU                 QS& ORDGVWU UUQ&   QRGHSDLUVLQFRQWDFWUHJLRQQS& L QRGH$QRGH% LWKQRGHSDLU LI9W\SH

  FRQWDFWEHWZHHQWZRHODVWLFERGLHV

                   >XEWEXEBXEBWEWE@ %(0'FRQWDFW(OD% HOVH

FRQWDFWEHWZHHQWZRYLVFRHODVWLFERGLHV

                   QIW ORDGVWU U    RUGHURIWKHSRO\QRPLDORIWLPHGHSHQGHQWSUHVFULEHGWUDFWLRQGLVSODFHPHQWRQWKHHODVWLFERGLHV$DQG% IRULY     LY ERG\$LY ERG\% LILY

Q HOVHQ QIHQG

QQIVWDUWLQJDQGILQDOFROXPQVIRUWKHSRO\QRPLDOFRIILFLHQWVFIW

                        QI QQIW LY                          FIW QIWLY ORDGVWU UQQI 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\SH5 LVU QQRGH QQRGH5 LVU QRGH6 QRGH5 LVU D D5 LVU E E5 LVU     [/ [5 LVU \/ \5 LVU DOSKD DOSKD5 LVU [Q/ [Q/5 LVU      HOHPHQW HOHPHQW5 LVU WKHWDB[L WKHWDB[L5 LVU QRGH QRGH5 LVU      [P [P5 LVU [P [P5 LVU QHOHPHQW QHOHPHQW5 LVU   LI%W\SHa GV GV5 LVU WKHWDB[ WKHWDB[5 LVU HOVHWKHWDB[ WKHWDB[5 LVU [P [P5 LVU HQG LI/W\SHa   WKHIROORZLQJVWDWHPHQWLVIRU%)(0DQGLVQRWYDOLGIRUWKHFDVHVRIFRQWDFWSUREOHPV IRUN QQRGH IRUP GLPNY GLP N P  WE PQRGH6 N WH5 NYLVU HQG HQG WEVKRXOGEHUHVWRUHGVLQFHWKHRQHVWRUHGLQ%)(0PD\FRQWDLQGLIIHUHQWYDOXHIRUWKHQRGHDWWKHLQWHUIDFHRI VXEUHJLRQ)RUWKHQRGHDWWKHLQWHUIDFHERWKQRUPDOGLUHFWLRQDQGVXUIDFHWUDFWLRQDUHRSSRVLWHZLWKWKH  YDOXHVREWDLQHGIURPWKHQHLJKERULQJVXEUHJLRQ HQG HQG LILVQDQ [L



   [L [L  WHPSRUDULO\VDYH[L WREHXVHGODWHU     [L  [L  [/ FRV DOSKD  [L  \/ VLQ DOSKD WUDQVIRUP[LWRWKHORFDOFRRUGLQDWHHTQ      [L   [L  [/ VLQ DOSKD  [L  \/ FRV DOSKD  HQG PX PX   VWRUHRULJLQDOYDOXHRIPX LI/W\SH

_/W\SH

   UHJLRQZLWKLQWHUIDFHRULQFOXVLRQ

   $ $BD LPDW LVU % %BD LPDW LVU PX PXBD LPDW LVU       $ $BD LPDW LVU % %BD LPDW LVU PX PXBD LPDW LVU       PX PX FRV DOSKD VLQ DOSKD  PX VLQ DOSKD FRV DOSKD HTQ E 

Appendix F: AEPH Source Code (Listed in Alphabetic Order)

549

    PX PX FRV DOSKD VLQ DOSKD  PX VLQ DOSKD FRV DOSKD HTQ E   HOVH

UHJLRQZLWKRQHPDWHULDO $%PXUHPDLQWKHVDPH LI0/W\SH

 1PDW!$ $BD LPDW LVU % %BD LPDW LVU PX PXBD LPDW LVU  HQG

    PX PX FRV DOSKD VLQ DOSKD  PX VLQ DOSKD FRV DOSKD HTQ E  HQG VZLWFK/W\SH FDVH^`  WZRGLPHQVLRQDODQLVRWURSLFHODVWLF SLH]RHOHFWULF FRQWDFWDQDO\VLV         >XLXLBXLBWLWL@ %(0'HODVWLF,1 XEWE[LYNLVU  FDVH  WZRGLPHQVLRQDODQLVRWURSLFYLVFRHODVWLFDQDO\VLV         >XLXLBXLBWLWL@ %(0'YLVFR,1 [LYNLVU  FDVH  WZRGLPHQVLRQDODQLVRWURSLFG\QDPLFDQDO\VLV         >XLXLBXLBWLWL@ %(0'G\QDPLF,1 [L  FDVH  FRXSOHGVWUHWFKLQJEHQGLQJDQDO\VLV        >XLXLBXLBWLWL@ %(0FRXSOH,1 XEWE[L   FDVHFRQWDFWDQDO\VLV LI9W\SH

   FRQWDFWEHWZHHQHODVWLFERGLHV

           >XLXLBXLBWLWL@ %(0'HODVWLF,1 XEWE[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 XF M GHIOHFWLRQRIWKHMWKFRUQHUQRGH WF M FRUQHUIRUFHRIWKHMWKFRUQHUQRGH JOREDO/W\SHHSVGLP$LM%LM'LM$LMBD%LMBD'LMBDQQRGHIURP0DLQSURJUDP JOREDODOSKD[Q/WBKDWWBYFXBKDWXBYFWFBKDWWFBYFXFBKDWXFBYFWKHWDB[LFRUQHUQFRUQHUIURPIXQFWLRQ%(0EDQN%%(0PHVK JOREDOSNZN    IURPIXQFWLRQ%(0LQIOXHQFH JOREDOXFWF  JHQHUDWHG 9 ]HURV GLP QQRGHQFRUQHU    J ]HURV GLP QQRGHQFRUQHU     IRUMQ QQRGH    [L  [Q/ MQ [L  [Q/ MQ    SRVLWLRQRIMQWKQRGH    >XLXLBXLB1LM0LM@ %(0FRXSOH,1 XEWE[L  %(0FRXSOH,1FDOFXODWHVWKHLQWHUQDOGLVSODFHPHQWVXLVWUDLQVXLBXLB DQGVWUHVVUHVXOWDQWV1LMDQGEHQGLQJPRPHQWV0LMRISRLQW[LZLWKWKHNQRZQYDOXHVRI ERXQGDU\QRGDOGLVSODFHPHQWVXEQRGDOWUDFWLRQVWEDQGFRUQHUGHIOHFWLRQXFDQGFRUQHUIRUFHWF XLXLBXLB1LM WL0LM WL[LH[SODLQHGLQIXQFWLRQ%(0EDQN,1 */2%$//9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ 6,)VWUHVVLQWHQVLW\IDFWRUV ;WLS M   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  @  HTQ H B 7B' >'LM  'LM  'LM  'LM  @  HTQ H 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'@  HTQ H B

F032: BEMinfluence IXQFWLRQ>WE M 1LM%XE GLPM K@WE M >WE M 0LM%@                     8LN M >8LN M XE M (8LN M XE GLPM (K@                     7LN M >7LN M XWV  KXWV PG KA@ HQG HQG             8LN M >XEB M XEB M @8LRI6HFWLRQZKHQ'W\SH                7LN M >WE M WE M @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@ EHWDLMBVWDU EHWDLMFWKVWK    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[GLPHQVLRQ LQFOXGHVVLJDQGHSV 

UHYLVHPG IRU0((PDWHULDOV

2PHJD ]HURV GLPGLPQQRGH WLPHV ]HURV QQRGH  VLJPD ]HURV PGQQRGH HSVLORQ ]HURV PGQQRGH  VHWD >@ORFDOFRRUGLQDWHRIQRGHVRIHFDKHOHPHQW IRUN QHOHPHQW  IRUM  

Appendix F: AEPH Source Code (Listed in Alphabetic Order)

579

       QM QRGH NM          VLD VHWD M HWD VHWD M         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[ [P N GRPHJD G[ [P N GRPHJD HTQ D B        XB XE QRGH N GRPHJD   XB XE QRGH N GRPHJD HTQ D B        UKR VTUW G[  AG[  AG[  A HTQ  B        UKR VTUW G[  AG[  AG[  A HTQ  B        FJ GRW G[G[  UKR UKR   VJ VTUW FJA   HTQ  B         VH FURVV G[G[   VHFURVVSURGXFWRIG[DQGG[HTQ          H VHVTUW VH  AVH  AVH  A     HTQ  B        V G[UKRHTQ  B        V FURVV HV HTQ  B        L >@L >@L >@        WLPHV QM WLPHV QM    QXPEHURIHOHPHQWVZKLFKFRQWDLQWKHQRGHQM        2PHJD >GRW VL GRW VL GRW VL     HTQ E                GRW VL GRW VL GRW VL                 GRW HL GRW HL GRW HL @         XBV 2PHJD XB  XBV 2PHJD XB           HSVV XBV  UKR  HTQ  B  B        HSVV XBV  FJUKRXBV  UKR VJHTQ  B  B        HSVV XBV  FJ UKR VJ XBV   UKR VJ XBV  UKRHTQ  B         VLJ 2PHJD WE QM VLJV VLJ  VLJV VLJ  VLJV VLJ    HTQ   LI3W\SHa HSVV XB  UKRHSVV XB  FJUKRXB  UKR VJVLJV WE QM HQG

HTQ  IRUSLH]RRU0((

LI3W\SH!HSVV XB  UKRHSVV XB  FJUKRXB  UKR VJVLJV WE QM HQG         >&LMV.V@ &BVWDU &LM2PHJD   &LMV &LMBVWDU        9V &LMVJV &LMV  SDUWRIHTQ  OHIWVLGHIRU9VULJKWVLGHIRUJV        9V  ]HURV PG 9V  ]HURV PG 9V  ]HURV PG         JV  ]HURV PG JV  ]HURV PG JV  ]HURV PG         9V  9V  9V  JV  JV  JV          HVN >HSVVHSVVVLJVVLJVVLJVHSVV@   NQRZQYDOXHVRIVWUDLQVDQGVWUHVVHV LI3W\SHa    IRUSLH]RRU0((            9V  ]HURV PG 9V  ]HURV PG JV  ]HURV PG             9V  9V  JV              HVN >HVNHSVVHSVVVLJV@ HQG LI3W\SH!   0((PDWHULDOV            9V  ]HURV PG 9V  ]HURV PG JV  ]HURV PG              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        VLJPD QM VLJPD QM LQY .V VLJV  HSVLORQ QM HSVLORQ QM .V

HSVV  FRRUGLQDWHWUDQVIRUPDWLRQHTQ   HQG HQG IRUQM QQRGH     VLJPD QM ( VLJPD QM WLPHV QM 

DYHUDJHRIVWUHVVHVIURPDOOWKHFRQQHFWHGHOHPHQWV

   HSVLORQ QM HSVLORQ QM WLPHV QM    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 *  *   *  *   *  *     HTQ E     *  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 .   HTQ D 

F045: BFEM IXQFWLRQ>XEWEXEBXEBWEWE@ %)(0 ORDGVWU  %)(0FDOFXODWHVWKHGLVSODFHPHQWVVWUHVVHVDQGVWUDLQVDWWKHERXQGDU\ QRGHVWKURXJKERXQGDU\EDVHGILQLWHHOHPHQWPHWKRG %)(0 7KHSUREOHPVFRQVLGHUHGPD\KDYH PXOWLSOHKROHVFUDFNVDQGLQFOXVLRQVLQDWZRGLPHQVLRQDODQLVRWURSLFHODVWLFERG\  XEWEXEBXEBWEWEORDGVWUH[SODLQHGLQIXQFWLRQ%(0EDQN%

Appendix F: AEPH Source Code (Listed in Alphabetic Order) */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ ;WLS5;WLS5 MN SRVLWLRQRIMWKWLSRINWKFUDFN 6,)56,)5 MN 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            XVB QRGH6 M XEB M XVB QRGH6 M XEB M             WV QRGH6 M WE M WV QRGH6 M WE M  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@ %)(0Y ORDGVWU  %)(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    EF HQG EF HQG VY LV  LI1PDW! IRULP 1PDW LI9W\SHBD LP a    IRUDQLVRWURSLFYLVFRHODVWLFPDWHULDOV                $BD LP $VBD LVLP %BD LP %VBD LVLP PXBD LP PXVBD LVLP                   &LMBD LP &LMVBD LVLP 6LMBD LP 6LMVBD LVLP                 4BD LP 4VBD LVLP 5BD LP 5VBD LVLP 7BD LP 7VBD LVLP  HQG HQG HOVH        $ $V LV % %V LV PX PXV LV     $%PXLQ/DSODFHGRPDLQZLWKYDULDEOHVFDOFXODWHGE\LV        &LM &LMV LV 6LM 6LMV LV 4 4V LV 7 7V LV 5 5V LV  HQG    >XVWVXVBXVBWVWV@ %)(0 ORDGVWU   ILQGWKHVROXWLRQLQWKH/DSODFHGRPDLQE\%)(0    XEV LV XV  WEV LV WV  WH5V LV WH5      XEVB LV XVB  XEVB LV XVB  WEV LV WV  WEV LV WV   LILVHPSW\ 6,) a 6,)V LV 6,)5  HQG

6,)5 MN 6,)RIMWKWLSRINWKFUDFN

HQG LILVHPSW\ 6,) a  IRUN QFU IRUM             MN  N M;WLS MN ;WLS5 MN              6,)MN  6,)V MN 6,)BW MN /DSODFHBLQY 6,)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    XE M /DSODFHBLQY XEV M       WE M /DSODFHBLQY WEV M     XEB M /DSODFHBLQY XEVB M   XEB M /DSODFHBLQY XEVB M       WE M /DSODFHBLQY WEV M      WE M /DSODFHBLQY WEV M   HQG 8LN  XE8LN  XEB8LN  XEB 7LN  WE7LN  WE7LN  QDQ  ;LN >[Q ]HURV QQRGH7 @JHQHUDWHXVHLQIXQFWLRQ7DEOH)LJ   ,GHQWLI\WKHWLPHDQGSRLVWLRQIRUSULQWLQJ7DEOHVDQG)LJXUHV >6WP6[\GV9ZTQVS@ SRVLWLRQ7LPH  JHQHUDWH6WPIRUWKHXVHLQ7DEOH)LJ'9RI7DEOH)LJ 2W\SHBWHPS 2W\SH2W\SH VHW2W\SH WRVHOHFWWKHQHDUHVWSRLQWWRSULQWLQ7DEOH)LJ GV Q[\ QDQ9ZT Q[\ QDQQVS Q[\ QDQ6[\ Q[\ QDQGHIDXOW IRUL QQRGH7    [L  [Q L [L  [Q L      >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&LN LN  FRQVWUXFWWKHHODVWLFVWLIIQHVVPDWUL[IURPLWVDVVRFLDWHGWKRUGHUWHQVRUQRWDWLRQ JOREDO&LM  >S@ FRQWUDFW L >T@ FRQWUDFW N   STLQGH[IRUFRQWUDFWHGQRWDWLRQ &LN >&LM S  T  &LM S  T  &LM S  T       &LM S  T  &LM S  T  &LM S  T       &LM S  T  &LM S  T  &LM S  T  @  IXQFWLRQ>S@ FRQWUDFW L  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@  HTQ F  LI3W\SHa              $LM  ;  K    %LM  PXF$F%F@ PX$%B'H 6LM  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'S 6LM'BSKEHWDLMVBSKJLMBSK  FDVH     JHQHUDOL]HGSODQHVWUDLQ RSHQFLUFXLW             >PXF$F%F@ PX$%B'S 6LM'BKDWEHWDLMVBKDWJLMBKDW  FDVH     JHQHUDOL]HGSODQHVWUHVV VKRUWFLUFXLW             >PXF$F%F@ PX$%B'S 6LM'BSEHWDLMVBSJLMBS  FDVH     JHQHUDOL]HGSODQHVWUHVV RSHQFLUFXLW             >PXF$F%F@ PX$%B'S 6LM'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  UHRUGHU PX$%   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 OHQJWK PX     QXPEHURIFRPSRQHQWVRIYHFWRUPX PX5 URXQG PX A APXF5 URXQG PXF A A   XVHVLJLQLILFDQWGLJLWVWRVRUWPXDQGPXF RWKHUZLVHWZRLGHQWLFDOQXPEHUVPD\EHWUHDWHGDVGLIIHUQWQXPEHUVVLQFHWKH\PD\GLIIHUQXPHULFDOO\ E\DYHU\VPDOOQXPEHUVXFKDVADQGWKHVRUWLQJPD\EHGLVWRUWHG >PXBV[@ VRUW PX5   VRUWYHFWRUFRPSRQHQWVPXLQDVFHQGLQJRUGHU[DQDUUD\RIVRUWLQJLQGH[ >PXFBV\@ VRUW PXF5   VRUWYHFWRUFRPSRQHQWVPXFLQDVFHQGLQJRUGHU\DQDUUD\RIVRUWLQJLQGH[ ',)P PXBVPXFBV      GLIBP PD[ DEV ',)P  GLIBD GLIBE  IRUL LP     L[ [ L L\ \ L      $BV L $ L[                 %BV L % L[      $FBV L $F L\               %FBV L %F L\      ',)D L $BV L $FBV L     ',)E L %BV L %FBV L      GLI PD[ DEV ',)D L         GLI PD[ DEV ',)E L  LIGLI! HSV GLI! HSV         ',)D L $BV L $FBV L    ',)E L %BV L %FBV L          GLI PLQ GLIPD[ DEV ',)D L   GLI PLQ GLIPD[ DEV ',)E L  HQG     GLIBD GLIBDGLI   GLIBE GLIBEGLI HQG GLI GLIBPGLIBDGLIBE LIGLI! HSV     GLVS 'LIIHUHQWUHVXOWVRIPX$%DUHREWDLQHGZKHQWKH\DUHFDOFXODWHGIURPGLIIHUHQWDSSURDFKHV      GLVS $PRQJWKHPVRPHFRPSRQHQWVGLIIHURYHUA7KHLUPD[LPXPGLIIHUHQFHVDUH GLIBPGLIBDGLIBE     GLVS )ROORZLQJVDUHWKHYDOXHVRIWKHVHPDWULFHV LIWKH\DUHDFFHSWDEOHMXVWLJQRUHWKLVFKHFN       GLVS ,IPXDUHUHSHDWHGDQGWKHGLIIHUHQFHRIWKHHLJHQYHFWRUV $DQGRU% DUHQRWDFFHSWDEOH      GLVS WU\WRSURYLGHPRUHVXLWDEOHSHUWXUEHGYDOXHVIRUWKHPDWHULDOSURSHUWLHV       PXPXF$$F%%F HOVH     GLVS PX$%FKHFN2.  HQG  IXQFWLRQ>PXF$F%F@ PX$%B'H 6LM      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  [A 6LM  6LM  [A 6LM  6LM  [6LM   / 6LM  [A 6LM  [A  6LM  6LM  [A 6LM  [6LM   DQV URRWV V\PSRO\ / //A   N  IRUL  LILPDJ DQV L !         N NPXF N DQV L  HQG HQG $F ]HURV  %F ]HURV  FRHII  IRUN  IRUM          S MN 6LM M PXF N A6LM M PXF N 6LM M          T MN 6LM M PXF N 6LM M  HQG     /N VXEV /PXF N /N VXEV /PXF N /N VXEV /PXF N      /N UHDO /N L LPDJ /N /N UHDO /N L LPDJ /N  LIDEV /N ! HSV DEV /N !DEV /N          ODPGD /N/N         $F N S N ODPGD T N              %F N PXF N          $F N S N ODPGD T N PXF N     %F N          $F N S N ODPGD T N PXF N     %F N ODPGD HOVHLIDEV /N ! HSV DEV /N !DEV /N          ODPGD /N/N         $F N ODPGD S N T N              %F N ODPGD PXF N          $F N ODPGD S N T N PXF N     %F N ODPGD         $F N ODPGD S N T N PXF N     %F N  HOVH         GLVS WKLVLVDFDVHRIGHJHQHUDWHPDWHULDOV  HQG     FBL $F N %F N $F N %F N $F N %F N  LIFBLa FRHII VTUW  FBL   HQG     $F N FRHII $F N      %F N FRHII %F N  HQG  IXQFWLRQ>PXF$F%F@ PX$%B'S 6LMEHWDLMVJLM     HTQ     PXF$F%FPDWHULDOHLJHQYDOXHVPXDQGPDWHULDOHLJHQYHFWRUPDWULFHV$%IRUGRXEOHFKHFN 6LMEHWDLMVJLMFRPSOLDQFHV SLH]RSURSHUWLHV JOREDO(   IURP0DLQSURJUDPFRQWUROSDUDPHWHU 6LM 6LM (     EHWDLMV EHWDLMV(   HSV A V\PV[ / 6LM  [A 6LM  [6LM   / 6LM  [A 6LM  6LM  [A 6LM  6LM  [6LM   / 6LM  [A 6LM  [A  6LM  6LM  [A 6LM  [6LM  

Appendix F: AEPH Source Code (Listed in Alphabetic Order) P JLM  [A JLM  JLM  [JLM   P JLM  [A JLM  JLM  [A JLM  JLM  [JLM   5KR EHWDLMV  [A EHWDLMV  [EHWDLMV   HT / / 5KR / P P/ PA/ PA5KR /A DQV URRWV V\PSRO\ HT             N  IRUL  LILPDJ DQV L !       N NPXF N DQV L  HQG HQG $F ]HURV  %F ]HURV  FRHII  IRUN      /BVWDU VXEV /PXF N VXEV 5KRPXF N VXEV PPXF N A     /BVWDU VXEV PPXF N VXEV PPXF N VXEV /PXF N VXEV 5KRPXF N      /BVWDU VXEV /PXF N VXEV 5KRPXF N VXEV PPXF N A     PBVWDU VXEV /PXF N VXEV PPXF N VXEV /PXF N VXEV PPXF N      PBVWDU VXEV /PXF N VXEV PPXF N VXEV /PXF N VXEV PPXF N      5KRBVWDU VXEV /PXF N VXEV /PXF N VXEV /PXF N A IRUM          S MN 6LM M PXF N A6LM M PXF N 6LM M          T MN 6LM M PXF N 6LM M          U MN JLM M PXF N JLM M  HQG     S N JLM  PXF N AJLM  PXF N JLM       T N JLM  PXF N JLM       U N EHWDLMV  PXF N EHWDLMV   LIDEV /BVWDU ! HSV        %F N PXF N /BVWDU   %F N /BVWDU        %F N /BVWDU          %F N PBVWDU HOVHLIDEV /BVWDU ! HSV_DEV /BVWDU ! HSV         %F N PXF N /BVWDU   %F N /BVWDU        %F N /BVWDU          %F N PBVWDU HOVHLIDEV 5KRBVWDU ! HSV        %F N PXF N PBVWDU   %F N PBVWDU        %F N PBVWDU          %F N 5KRBVWDU HOVH         GLVS WKLVLVDFDVHRIGHJHQHUDWHPDWHULDOV  HQG     $F N S N %F N T N %F N U N %F N      $F N S N %F N T N %F N U N %F N PXF N      $F N S N %F N T N %F N U N %F N PXF N      $F N S N %F N T N %F N U N %F N       FBL $F N %F N $F N %F N $F N %F N $F N %F N  LIFBLa FRHII VTUW  FBL   HQG     $F N FRHII $F N      %F N FRHII %F N  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[WHQVLRQDOEHQGLQJDQGFRXSOLQJVWLIIQHVVHVGHILQHGLQ E  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 URRWV V\PSRO\ / // /   N  IRUL  LILPDJ DQV L !         N NPXF N DQV L  HQG HQG $F ]HURV  %F ]HURV  FRHII  IRUN  IRUM          S MN $V M PXF N A$V M PXF N $V M          T MN %V M PXF N A %V M PXF N %V M          K MN %V M PXF N A%V M PXF N %V M          J MN 'V M PXF N A 'V M PXF N 'V M  HQG     /N VXEV /PXF N /N VXEV /PXF N /N VXEV /PXF N /N VXEV /PXF N      $VXP VXP VXP DEV $V 'VXP VXP VXP DEV 'V      /NV DEV /N $VXP/NV DEV /N 'VXP     SURYLGHIDLUFRPSDULVRQEHWZHHQ/DQG/ LI DEV /N ! HSV_DEV /N ! HSV  /NV!/NV LIDEV /N ! HSV             ODPGD /N/N HOVHLIDEV /N ! HSV             ODPGD /N/N HQG         $F N S N ODPGD T N           %F N PXF N          $F N S N ODPGD T N PXF N %F N          $F N ODPGD                        %F N K N ODPGD J N PXF N          $F N ODPGD PXF N                  %F N K N ODPGD J N  HOVHLI DEV /N ! HSV_DEV /N ! HSV  /NV!/NV LIDEV /N ! HSV             ODPGD /N/N HOVHLIDEV /N ! HSV             ODPGD /N/N HQG         $F N ODPGD S N T N           %F N ODPGD PXF N          $F N ODPGD S N T N PXF N %F N ODPGD

Appendix F: AEPH Source Code (Listed in Alphabetic Order)         $F N                             %F N ODPGD K N J N PXF N          $F N PXF N                        %F N ODPGD K N J N  HOVH         GLVS WKLVLVDFDVHRIGHJHQHUDWHPDWHULDOV  HQG     FBL $F N %F N $F N %F N $F N %F N $F N %F N  LIFBLa FRHII VTUW  FBL   HQG     $F N FRHII $F N      %F N FRHII %F N  HQG  IXQFWLRQ>PXF$F%F@ PX$%B&S $V%V'V       HTQ     PXF$F%FPDWHULDOHLJHQYDOXHVPXDQGPDWHULDOHLJHQYHFWRUPDWULFHV$%IRUGRXEOHFKHFN $V%V'VPDWULFHVUHODWHGWRH[WHQVLRQDOEHQGLQJDQGFRXSOLQJVWLIIQHVVHVGHILQHGLQ E  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  LILPDJ HLJ L !         N NPXF N HLJ L          EBXS N HLJY L  HQG HQG IRUN      ;Q >PXF N APXF N PXF N @     ;N >PXF N A PXF N PXF N @     ;; >;Q]HURV  ]HURV  ;N@     PX$ N >$V%V%V 'V@ ;; EBXS N      $F N PX$ N $F N PX$ N PXF N $F N PX$ N 

591

592

Appendix F: AEPH Source Code (Listed in Alphabetic Order)    $F N EBXS N $F N PXF N EBXS N $F N EBXS N     %F N PXF N EBXS N %F N EBXS N %F N EBXS N     %F N PX$ N PXF N %F N PX$ N %F N PX$ N     FBL $F N %F N $F N %F N $F N %F N $F N %F N         $F N %F N $F N %F N     FRHII VTUW  FBL     $F N FRHII $F N     %F N FRHII %F N   HQG

F050: elastic IXQFWLRQ>&LM6LM$LM%LM'LM@ HODVWLF LQSXW  (/$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 LQY 6LM        HTQ  LI'W\SH

_'W\SH

_'W\SH

WKLFNQHVV LQSXW    HQG

SODWHWKLFNQHVV

FDVH    XQLGLUHFWLRQDOILEHUUHLQIRUFHGFRPSRVLWHPDWHULDOVHTQ           ( LQSXW           &LM6LM.V@ &6$%'BVWDU &LM6LMDOSKDN              &LMBN N &LM   &LMRINWKOD\HU             &LMD &LMD&LM WNBH N               WKLFNQHVV WKLFNQHVVWNBH N     HQG         &LM &LMDWKLFNQHVV    6LM LQY &LM  RWKHUZLVH         GLVS 8QNQRZQHODVWLFSURSHUWLHV  HQG  $LM ]HURV  %LM ]HURV  'LM ]HURV      VZLWFK'W\SH FDVH^`  JHQHUDOL]HGSODQHVWUDLQ  HTQ E         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 &LMBN N &LMBN N &LMBN N &LMBN N                  >4LM@ &4H &LMBKDW                  K N K N WNBH N                   $LM $LM4LM WNBH N                  %LM %LM4LM K N AK N A                  'LM 'LM4LM K N AK N 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'LMHTQ E  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'LMWV JHQHUDWHGLQ6WURK1B&H6WURK1B&S PDWULFHVUHODWHGWR$LM%LM'LMHTQ E  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'H 6LMBKDW  FDVH^`      JHQHUDOL]HGSODQHVWUHVV             >1F1F1F1F@ 6WURK1B'H 6LM  FDVH^`      FRXSOHGVWUHWFKLQJEHQGLQJSUREOHP             >1F1F1F1F@ 6WURK1B&H $LM%LM'LM  HQG HOVH

SLH]RHOHFWULFPDWHULDOV VZLWFK'W\SH FDVH     JHQHUDOL]HGSODQHVWUDLQ VKRUWFLUFXLW

            >1F1F1F1F@ 6WURK1B'S 6LM'BSKEHWDLMVBSKJLMBSK  FDVH     JHQHUDOL]HGSODQHVWUDLQ RSHQFLUFXLW             >1F1F1F1F@ 6WURK1B'S 6LM'BKDWEHWDLMVBKDWJLMBKDW  FDVH     JHQHUDOL]HGSODQHVWUHVV VKRUWFLUFXLW             >1F1F1F1F@ 6WURK1B'S 6LM'BSEHWDLMVBSJLMBS  FDVH     JHQHUDOL]HGSODQHVWUHVV RSHQFLUFXLW             >1F1F1F1F@ 6WURK1B'S 6LM'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'H 6LM    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[WHQVLRQDOFRXSOLQJDQGEHQGLQJVWLIIQHVVHVHTQ E  (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   HTQ E  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    @    HTQ D          G] SHUPXWH Q S 

G[ 5S >@ SHUPXWH PX S >@  SHUPXWH G[ S5S >@ HTQ E          ]L UHVKDSH SHUPXWH G] >@ GQP   ]L ]LA          %W UHVKDSH SHUPXWH %H>@ GQGLPP  VZLWFK8BVWDU7BVWDU@                 ]$ UHVKDSH ]L $W S GQGP   ]% UHVKDSH ]L %WGQGP                   8 UHDO ZJ$ S ]$   7 UHDO ZJ$ S ]%   SDUWRIHTQ                   8 5S SHUPXWH VLJQ G[ S5S >@  UHVKDSH 8GLPGLPP   SL                   7 5S SHUPXWH VLJQ G[ S5S >@  UHVKDSH 7GLPGLPP   SL   FDVH   FDOFXODWH>8BVWDU8BVWDU7BVWDU7BVWDU@                 ]L ]LA IRUN    GHULYDWLYHZLWKUHVSHFWWR[BKDW[BKDWRU[BKDW                     VN UHVKDSH VWL SN GQ    VWLSUHSDUHGLQIXQFWLRQPDWHULDOBHLJHQ                     ]$ UHVKDSH VN ]L $W S GQGP   ]% UHVKDSH VN ]L %WGQGP    SDUWRIHTQ  B                     8 GLPGPN UHDO ZJ$ S ]$   7 GLPGPN UHDO  ZJ$ S ]%   SDUWRIHTQ   HQG                 8 UHVKDSH >8 GLPGP 8 GLPGP 8 GLPGP @ GLPGP                  7 UHVKDSH >7 GLPGP 7 GLPGP 7 GLPGP @ GLPGP                  8 5S SHUPXWH VLJQ G[ S5S >@  UHVKDSH 8 GLPGLPP   SL                   7 5S SHUPXWH VLJQ G[ S5S >@  UHVKDSH 7 GLPGLPP   SL   HQG HQG HQG

F054: G1infCouple IXQFWLRQ>87@ *LQI&RXSOH [[L[F[VMQ8BVWDU@        )] ]HURV GLP    IRUM GLP    QGWHUPRIHTQ               )] )]GLDJ ORJ ]F]BKDW M L%F% M $ M XVHHTQ  B HQG        8 LPDJ $ )]  SL7   HTQ  8 8BVWDU   HQG

F056: G3interface2D IXQFWLRQ>87@ *LQWHUIDFH' [[L[F[V[JZJ@ *DXVV/RJ QB*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 HTQ D  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[DVVRFLDWHGZLWKWKHRULHQWDWLRQRIORFDOFRRUGLQDWHHTQ F B JOREDOGLPDOSKDWKHWDB[L  IURP0DLQSURJUDP GLP3W\SH %(0EDQN% DOSKD DQG%(0PHVK WKHWDB[L  JOREDO))G)G)LQWIIGIGILQW);YIURPIXQFWLRQ*LQI&RXSOH*KROH&RXSOHRU*LQFOXVLRQ&RXSOH JOREDOGLPGLPVPXQEB[LVEQERPHJDJHQHUDWHGIRUWKHXVHLQVXEIXQFWLRQ87BVWDU GLP GLP  RPJ]HURV GLP ]HURV GLP RPJ@  HTQ F B Q [VQ [F  V [FV [V   Q VLQBWKHWDQ FRVBWKHWDV FRVBWKHWDV VLQBWKHWD LIVV@VPX VPX VHQG )RUFRV DOSKD VLQ DOSKD @  GLP GLP HOVH    QEB[L GLPGLP >VLQ WKHWDB[L MQ FRV WKHWDB[L MQ @GLP GLPQRUPDOGLUHFWLRQRIVRXUFHQRGHMQ HQG LIFRV DOSKD VLQ DOSKD @HQG

,QDERYH[F[VVEQEQEB[LDUHFDOFXODWHGLQWKHORFDOFRRUGLQDWHDQGZHQHHGWRWUDQVIRUP WKHVHWHUPVLQWKHJOREDOFRRUGLQDWHDVVWDWHGDIWHUHTQ F ZKLFKFDQEHGRQHE\ SUHPXOWLSO\LQJWUDQVSRVHRIRPHJDRIHTQ F 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

)G GLP )G GLP   )LQW GLP )LQW GLP HQG

       )G GLP )G GLP RPHJD

QEB[L  )LQW GLP )LQW GLP RPHJD

QEB[L          )G GLP IG  )LQW GLP ILQW IRUN GLP            WFBVWDU N  UHDO [F

RPHJD %[V

RPHJD % GLDJ PX )G N   [F QF QWQW[V VF VWVWHTQ F             XFBVWDU N  UHDO Y

$ )LQW N  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         )G GLP )G GLP   )G GLP )G GLP )LQW GLP )LQW GLP   )LQW GLP )LQW GLP          )G GLP IG  )LQW GLP ILQW             )GB ); GLPGLP  )LQWB ); GLP GLP           IGB ); GLP  ILQWB ); GLP           )GB GLP )GB GLP )GB GLP )GB GLP           )LQWB GLP )LQWB GLP )LQWB GLP )LQWB GLP            )GB GLP IGB  )LQWB GLP ILQWB IRUN GLP             WFBVWDU N  UHDO [F

RPHJD %[V

RPHJD % GLDJ PX )G N    [F QF QWQW[V VF VWVWHTQ F              XFBVWDU N  UHDO Y

$ )LQW N              WFBVWDU N  UHDO [F

RPHJD %[V

RPHJD % GLDJ PX )GB N   [F QF QWQW[V VF VWVWHTQ F              XFBVWDU N  UHDO Y

$ )LQWB N  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) LIGLI LG ! HSV         GLVS LGHQWLW\HUURU GLIIHUHQFHRYHUA  LGGLI LG          QL QL HQG HQG LIQL

GLVS LGHQWLWLHVFKHFN2.   HQG

 IXQFWLRQ>==@ ,GHQWLWLHV ,6+/Q  ==GLIIHUHQFHVIRU,DQG, ,, %$ $%GHILQHGLQHTQ  6+/%DUQHWW/RWKHPDWULFHV QGLPHQVLRQRIDPDWUL[ Q  Q = H\H Q ,  6 6L H\H Q    , >6+/6 @ >6+/6 @   HTQ E RI +ZXD = H\H Q ,   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     HTQ DE = 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     HTQ DE = H\H  ,

F069: internal IXQFWLRQ>;LN8LN7LN7NKNYN@ LQWHUQDO ORDGVWUYDULDEOHLVU  ,17(51$/DUUDQJHVWKHLQWHUQDOSRLQWVIRUIXQFWLRQVXSKLBEDQNDQG%(0EDQN,1 WRFDOFXODWHWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHV WKURXJKDQDO\WLFDOVROXWLRQVDQGERXQGDU\HOHPHQWPHWKRG  ;LN ;LN N SRVLWLRQ[LRIWKHNWKSRLQWRQDFXUYH[L  [[L  \[L  VRUSVLRU ;LN ;LN ZT SRVLWLRQ[LRIWKH ZT SRLQWRQDVXUIDFH[L  [[L  \[L  VRUSVLRU      [LYDULDEOHVLQGLFDWLQJWKHORFDWLRQZKRVHUHVSRQVHVZLOOEHFDOFXODWHG 8LN 8LN N 8LRIWKHNWKSRLQWRQDFXUYH8L >XXBXB@ 8LN 8LN ZT 8LRIWKH ZT SRLQWRQDVXUIDFH8L >XXBXB@      XGLVSODFHPHQWYHFWRUYHFWRURI XXX IRU'HODVWLFSUREOHPV         YHFWRURI XXXX IRU'SLH]RHOHFWULFSUREOHPV         YHFWRURI XXXXX IRU'0((SUREOHPV         YHFWRURI XXXEHWDEHWD IRUFRXSOHGVWUHWFKLQJEHQGLQJSUREOHPV         YHFWRURI XXXXEHWDEHWDEHWD IRUFRXSOHGSLH]RHOHFWULFPDWHULDO         YHFWRURI XXXXXEHWDEHWDEHWDEHWD IRUFRXSOHG0((PDWHULDO      XBVWUDLQYHFWRUYHFWRURI HSVLORQHSVLORQDHSVLORQ XIRU'HODVWLFSUREOHPV          YHFWRURI HSVLORQHSVLORQDHSVLORQHSVLORQ XIRU'SLH]RHOHFWULFSUREOHPV          YHFWRURI HSVLORQHSVLORQDHSVLORQHSVLORQHSVLORQ XIRU'0((SUREOHPV          YHFWRURI HSVLORQHSVLORQDHSVLORQNDSSDNDSSDD XIRUFRXSOHGVWUHWFKLQJEHQGLQJSUREOHPV          YHFWRURI HSVLORQHSVLORQDHSVLORQHSVLORQNDSSDNDSSDNDSSDD XIRUFRXSOHGSLH]RHOHFWULFPDW          YHFWRURI HSVLORQHSVLORQDHSVLORQHSVLORQHSVLORQNDSSDNDSSDNDSSDNDSSDD XIRU FRXSOHG0((PDWHULDO      XBVWUDLQYHFWRUYHFWRURI HSVLORQEHSVLORQHSVLORQ XIRU'SUREOHPV          YHFWRURI HSVLORQEHSVLORQHSVLORQHSVLORQ XIRU'SLH]RHOHFWULFSUREOHPV          YHFWRURI HSVLORQEHSVLORQHSVLORQHSVLORQHSVLORQ XIRU'0((SUREOHPV          YHFWRURI HSVLORQEHSVLORQHSVLORQNDSSDENDSSD XIRUFRXSOHGVWUHWFKLQJEHQGLQJSUREOHPV          YHFWRURI HSVLORQEHSVLORQHSVLORQHSVLORQNDSSDENDSSDNDSSD XIRUFRXSOHGSLH]RHOHFWULFPDW          YHFWRURI HSVLORQEHSVLORQHSVLORQHSVLORQHSVLORQNDSSDENDSSDNDSSDNDSSD XIRU FRXSOHG0((PDWHULDO           HSVLORQ HSVLORQDHSVLORQENDSSD NDSSDDNDSSDE 7LN 7LN N 7LRIWKHNWKSRLQWRQDFXUYH7L >VLJPDVLJPDWBVV@

633

634

Appendix F: AEPH Source Code (Listed in Alphabetic Order) 7LN 7LN ZT 7LRIWKH ZT SRLQWRQDVXUIDFH7L >VLJPDVLJPDWBVV@ ZKHUHVLJPDVWUHVVYHFWRUYHFWRURI VLJPDVLJPDVLJPD SKLBIRU'HODVWLFSUREOHPV        YHFWRURI VLJPDVLJPDVLJPDVLJPD SKLBIRU'SLH]RHOHFWULFSUREOHPV        YHFWRURI VLJPDVLJPDVLJPDVLJPDVLJPD SKLBIRU'0((SUREOHPV        YHFWRURI 111 IRUFRXSOHGVWUHWFKLQJEHQGLQJSUREOHPV        YHFWRURI 11111 IRUFRXSOHGSLH]RHOHFWULFPDWHULDO        YHFWRURI 1111111 IRUFRXSOHG0((PDWHULDO        VLJPDVWUHVVYHFWRUYHFWRURI VLJPDVLJPDVLJPD SKLBIRU'SUREOHPV        YHFWRURI VLJPDVLJPDVLJPDVLJPD SKLBIRU'SLH]RHOHFWULFSUREOHPV        YHFWRURI VLJPDVLJPDVLJPDVLJPDVLJPD SKLBIRU'0((SUREOHPV        YHFWRURI 000 IRUFRXSOHGVWUHWFKLQJEHQGLQJSUREOHPV        YHFWRURI 00000 IRUFRXSOHGSLH]RHOHFWULFSUREOHPV        YHFWRURI 0000000 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 7N N  JHQHUDWHGLQFXUYHVXUIDFHSRLQW WHPSHUDWXUHRIWKHNWKSRLQW KN KN LN  JHQHUDWHGLQFXUYHVXUIDFHSRLQW KHDWIORZLQ[BLGLUHFWLRQRIWKHNWKSRLQW YNQXPEHURISRLQWVWREHHYDOXDWHG ORDGVWUORDGDQGVWUXFWXUDOLQIRUPDWLRQLQSXWLQWKH0DLQSURJUDPWKURXJKLQSXWBORDGVWUW[W YDULDEOHYDULDEOHVLQGLFDWLQJWKHUHJLRQZKHUHWKHUHVSRQVHVDUHHYDOXDWHG            LQSXWLQWKH0DLQSURJUDPWKURXJKLQSXWBYDULDEOHW[W LVULQGH[RIWKHVXEUHJLRQXVHGLQWKHSUREOHPVRI%)(0LVU IRUDOORWKHUSUREOHPV */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQDQGLWVVXEIXQFWLRQV [\ JHQHUDWHGLQFXUYHVXUIDFH FHQWHURISRO\JRQOLNHFORVHGFRQWRXUGHIDXOW  IRURWKHUFDVHV FXU JHQHUDWHGLQFXUYH W\SHRIOLQHVIRURXWSXWGDWDFXU SLHFHZLVHOLQHVFXU FLUFXODUFXUYH        FXU HOOLSWLFDOFXUYHFXU SRO\JRQOLNHFXUYHHTQ   VXUI JHQHUDWHGLQVXUIDFH W\SHRIVXUIDFHIRURXWSXWGDWDVXUI UHFWDQJXODUVXUIDFHVXUI FLUFXODUVXUIDFH        VXUI HOOLSWLFDOVXUIDFHVXUI SRO\JRQOLNHVXUIDFHVXUI DVXUIDFHZLWKSRO\JRQOLNHKROH Q[ JHQHUDWHGLQVXUIDFH QXPEHURISRLQWVWREHHYDOXDWHGLQ[GLUHFWLRQ ZTQXPEHURILQWHUQDOSRLQWVLQ[DQG\GLUHFWLRQV 6WP6WP M NMWKVHOHFWHGWLPHLVFORVHWRNWKWLPH !WL M WLPHN N W N GW 6[\6[\ M YNMWKVHOHFWHGSRVLWLRQLVFORVHWRYNWKSRLQW ![\L M ;LN N LI2W\SHa  6[\ M >ZT@MWKVHOHFWHGSRVLWLRQLVFORVHWR>ZT@WKSRLQW ![\L M ;LN ZT LI2W\SH



1RWH:KHQ/W\SHX XGXB XGBXB XGBVLJPD >1LM@VLJPD >0LM@ JOREDO/W\SH2W\SH7PW\SH   IURP0DLQSURJUDP JOREDOZT6WP    JHQHUDWHG VZLWFK2W\SH FDVH^`  RQO\JOREDOUHVSRQVHV LQGHSHQGHQWRIWKHSRVLWLRQRILQWHUQDOSRLQWV DUHHYDOXDWHG         [L >@;LN [LYN 7N QDQKN QDQ8LN QDQ7LN QDQ  GHIDXOW LI/W\SH>XLXLBXLBWLWL@ %(0EDQN,1 [LYNLVU FDOFXODWH6,)IRUFUDFNSUREOHPV HOVH  >8LN7LN7HPK@ XSKLBEDQN ORDGVWU[LYN HQG FDVH^`  UHVSRQVHVDUHHYDOXDWHGRQOLQHV VWUDLJKWRUFXUYLOLQHDU          >;LN8LN7LN7NKNYN@ FXUYH ORDGVWUYDULDEOHLVU   FDVH  UHVSRQVHVDUHHYDOXDWHGRQVXUIDFHV UHFWDQJOHFLUFOHHOOLSVHSRO\JRQHWF          >;LN8LN7LN7NKNYNZT@ VXUIDFH ORDGVWUYDULDEOHLVU 

Appendix F: AEPH Source Code (Listed in Alphabetic Order)

635

FDVH  UHVSRQVHVDUHHYDOXDWHGRQGLVFUHWHSRLQWV        >;LN8LN7LN7NKNYN@ SRLQW ORDGVWUYDULDEOHLVU  RWKHUZLVH        GLVS ,IWKHUHJLRQWREHHYDOXDWHGFDQQRWEHVHWWKURXJKWKHFDVHVSURYLGHGLQWKLVSURJUDP         GLVS LWLVVXJJHVWHGWRZULWHDQLQGHSHQGHQWVLPSOHSURJUDPWRFROOHFWWKHGDWDSRLQWV         GLVS RIWKHUHTXLUHGUHJLRQDQGLQSXWWKHUHTXLUHGUHJLRQWKURXJK         GLVS WKHGLVFUHWHSRLQWV 2W\SH  GHVLJQHGLQWKLVSURJUDP  HQG LI7PW\SHa  2W\SHa >6WP6[\GV9ZTQVS@ SRVLWLRQ7LPH LVU HQG

JHQHUDWH6WPIRUWKHXVHLQ

7DEOH)LJ'9RI7DEOH)LJ  IXQFWLRQ>;LN8LN7LN7NKNYN@ FXUYH ORDGVWUYDULDEOHLVU  5HVSRQVHVDUHHYDOXDWHGRQFXUYHV JOREDO7W\SH7PW\SHGLP+Q[\  IURP0DLQSURJUDP IXQFWLRQXSKLBEDQN%)(0 JOREDO[\6[\FXU   JHQHUDWHG 6[\6[\ M YNMWKVHOHFWHGSRVLWLRQLVFORVHWRWKHYNWKSRLQW ![\L M ;LN N  FXU YDULDEOH LVU     7\SHRIOLQHVFXU SLHFHZLVHOLQHVFXU FLUFXODUFXUYH FXU HOOLSWLFDOFXUYHFXU SRO\JRQOLNHFXUYHHTQ    [L  [L  [\ &DUWHVLDQFRRUGLQDWHXVHGWRGHVFULEHWKHSRVLWLRQRQDFXUYH [L  VRUSVLDVLQJOHSDUDPHWHUXVHGWRGHVFULEHWKHSRVLWLRQRQDFXUYH 7N KN    GHIDXOWYDOXHIRUQRQWKHUPDOSUREOHPV LI7PW\SHa GV Q[\ QDQ9ZT Q[\ QDQQVS Q[\ QDQ6[\ Q[\ QDQHQG GHIDXOW VZLWFKFXU FDVH  FXU QRLQSXWIRUFXUYHSRLQWV FDVH  FXU SLHFHZLVHOLQHV        YN         QOLQH YDULDEOH LVU   QXPEHURIOLQHV        [ YDULDEOH LVU \ YDULDEOH LVU   VWDUWLQJSRLQW [\         [ \ V    GHIDXOW IRUQ QOLQH            Q  Q Q QQ Q            [ YDULDEOH LVUQ \ YDULDEOH LVUQ VXFFHVVLYHSRLQW [\             QS YDULDEOH LVUQ      QXPEHURISRLQWVWREHHYDOXDWHGRQWKHQWKOLQHQS!             G[ [[  QS G\ \\  QS   GV VTUW G[AG\A   V GV QS  IRUN QS                 [L  [G[ N [L  \G\ N [L  VGV N                 YN YN;LN YN [L                >8L7L7HPK@ RSWLRQ [LORDGVWUYNLVU  LI7PW\SH

8LN YN 8L7LN YN 7L

HOVH8LN YN 8L7LN YN 7L                    >6WP6[\GV9ZTQVS@ SRVLWLRQ7LPH [LGVYN6[\GV9ZTQVSLVU JHQHUDWH6[\ HQG LI7W\SHa 7N YN 7HPK    KN GLP+YN 7HPK HQG   HQG HQG            [ [\ \V V HQG FDVH  FXU FLUFXODUFXUYHHTQ  ZLWKE D        [ YDULDEOH LVU \ YDULDEOH LVU   FHQWHURIWKHFLUFXODUFXUYH

636

Appendix F: AEPH Source Code (Listed in Alphabetic Order)        DL YDULDEOH LVU   UDGLXVRIFLUFXODUOLQH        SVL YDULDEOH LVU SVL YDULDEOH LVU VWDUWLQJDQGHQGLQJDQJOHVXQLWGHJUHH        QS YDULDEOH LVU   SRLQWVWREHHYDOXDWHGRQWKHFLUFXODUOLQHQS!         GSVL SVLSVL  QS  IRUYN QS            SVL SVLGSVL YN             [L  [DL FRVG SVL   [L  \DL VLQG SVL    [L  SVL              ;LN YN [L            >8L7L7HPK@ RSWLRQ [LORDGVWUYNLVU  LI7PW\SH

8LN YN 8L7LN YN 7L

HOVH8LN YN 8L7LN YN 7L                 GV DL GSVL SL   RQO\YDOLGIRUVPDOOGSVL                >6WP6[\GV9ZTQVS@ SRVLWLRQ7LPH [LGVYN6[\GV9ZTQVSLVU JHQHUDWH6[\ HQG LI7W\SHa 7N YN 7HPK    KN GLP+YN 7HPK HQG   HQG HQG FDVH  FXU HOOLSWLFDOFXUYHHTQ D  E         [ YDULDEOH LVU \ YDULDEOH LVU   FHQWHURIWKHHOOLSWLFDOFXUYH        DL YDULDEOH LVU EL YDULDEOH LVU   PDMRUDQGPLQRUKDOIOHQJWKVRIHOOLSWLFDOOLQH        SVL YDULDEOH LVU SVL YDULDEOH LVU VWDUWLQJDQGHQGLQJDQJOHVXQLWGHJUHH        QS YDULDEOH LVU   SRLQWVWREHHYDOXDWHGRQWKHHOOLSWLFDOOLQHQS!  DQJ YDULDEOH LVU    DQJLVWKHDQJOH XQLWGHJUHH GLUHFWHGFRXQWHUFORFNZLVHO\IURP[D[LVWRWKHPDMRUD[LVRIHOOLSVH        GSVL SVLSVL  QS  IRUYN QS            SVL SVLGSVL YN             [LV DL FRVG SVL   [LV EL VLQG SVL             [L  [FRVG DQJ [LVVLQG DQJ [LV             [L  \VLQG DQJ [LVFRVG DQJ [LV[L  SVL              ;LN YN [L            >8L7L7HPK@ RSWLRQ [LORDGVWUYNLVU  LI7PW\SH

8LN YN 8L7LN YN 7L

HOVH8LN YN 8L7LN YN 7L                 GV VTUW DL VLQG SVL A EL FRVG SVL A GSVL SLGLVWDQFHEHWZHHQWZRSRLQWVRQO\YDOLGIRUVPDOOGSVL                >6WP6[\GV9ZTQVS@ SRVLWLRQ7LPH [LGVYN6[\GV9ZTQVSLVU JHQHUDWH6[\ HQG LI7W\SHa 7N YN 7HPK    KN GLP+YN 7HPK HQG   HQG HQG FDVH  FXU SRO\JRQOLNHFXUYH SFXUYH HTQ D          [ YDULDEOH LVU \ YDULDEOH LVU   FHQWHURIWKHSRO\JRQOLNHFXUYH        DL YDULDEOH LVU FL YDULDEOH LVU HSL YDULDEOH LVU ND YDULDEOH LVU SDUDPHWHUVRISFXUYH        SVL YDULDEOH LVU SVL YDULDEOH LVU   VWDUWLQJDQGHQGLQJDQJOHVXQLWGHJUHH        QS YDULDEOH LVU   SRLQWVWREHHYDOXDWHGRQWKHHOOLSWLFDOOLQHQS!  DQJ YDULDEOH LVU    DQJLVWKHDQJOH XQLWGHJUHH GLUHFWHGFRXQWHUFORFNZLVHO\IURP[D[LVWRWKHPDMRUD[LVRISRO\JRQ        GSVL SVLSVL  QS  IRUYN QS            SVL SVLGSVL YN             [LV DL FRVG SVL HSL FRVG ND SVL    

Appendix F: AEPH Source Code (Listed in Alphabetic Order)            [LV DL FL VLQG SVL HSL VLQG ND SVL               [L  [FRVG DQJ [LVVLQG DQJ [LV             [L  \VLQG DQJ [LVFRVG DQJ [LV[L  SVL              ;LN YN [L            >8L7L7HPK@ RSWLRQ [LORDGVWUYNLVU  LI7PW\SH

8LN YN 8L7LN YN 7L

HOVH8LN YN 8L7LN YN 7L                FS FRVG SVL   VS VLQG SVL   FNS FRVG ND SVL   VNS VLQG ND SVL                 UKR DL VTUW ND HSL AVSA FL FS A ND HSL VS VNS FL ND HSL FS FNS   HTQ E                 GV UKR GSVL SL  GLVWDQFHEHWZHHQWZRSRLQWVRQO\YDOLGIRUVPDOOGSVL                >6WP6[\GV9ZTQVS@ SRVLWLRQ7LPH [LGVYN6[\GV9ZTQVSLVU JHQHUDWH6[\ HQG LI7W\SHa 7N YN 7HPK    KN GLP+YN 7HPK HQG   HQG HQG RWKHUZLVH        GLVS :URQJFXUYHW\SH  HQG  IXQFWLRQ>;LN8LN7LN7NKNYNZT@ VXUIDFH ORDGVWUYDULDEOHLVU  5HVSRQVHVDUHHYDOXDWHGRQVXUIDFHV JOREDO7W\SH7PW\SHGLP+Q[\  IURP0DLQSURJUDP IXQFWLRQXSKLBEDQN%)(0 JOREDOVXUIQ[JHQHUDWHGW\SHRIVXUIDFHIRURXWSXWGDWDXVHGLQWKHIXQFWLRQ7DEOH)LJ JOREDO[\6[\   JHQHUDWHG 6[\6[\ M >ZT@MWKVHOHFWHGSRVLWLRQLVFORVHWR>ZT@WKSRLQW ![\L M ;LN ZT  VXUI YDULDEOH LVU   VXUI UHFWDQJXODUVXUIDFHVXUI FLUFXODUVXUIDFH VXUI HOOLSWLFDOVXUIDFHVXUI SRO\JRQOLNHVXUIDFHVXUI DVXUIDFHZLWKSRO\JRQOLNHKROH Z YN 7N KN    GHIDXOWYDOXHV LI7PW\SHa GV Q[\ QDQ9ZT Q[\ QDQQVS Q[\ QDQ6[\ Q[\ QDQHQG GHIDXOW VZLWFKVXUI FDVH  VXUI QRLQSXWIRUVXUIDFHSRLQWV FDVH  VXUI RXWSXWUHJLRQLVDUHFWDQJXODUVXUIDFHHTQ D         [ YDULDEOH LVU \ YDULDEOH LVU [ YDULDEOH LVU \ YDULDEOH LVU            Q[ YDULDEOH LVU Q\ YDULDEOH LVU DQJ YDULDEOH LVU    DQJLVWKHDQJOH XQLWGHJUHH 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  FRVG DQJ [LVLQG DQJ [L                 [L  VLQG DQJ [LFRVG DQJ [L[L                  ;LN ZT [L                 >8L7L7HPK@ RSWLRQ [LORDGVWUYNLVU  LI7PW\SH

8LN ZT 8L  7LN ZT 7L 

HOVH8LN ZT 8L7LN ZT 7L 

637

638

Appendix F: AEPH Source Code (Listed in Alphabetic Order)                    GV VTUW G[AG\A                      >6WP6[\GV9ZTQVS@ SRVLWLRQ7LPH [LGVYNZT6[\GV9ZTQVSLVU JHQHUDWH6[\ HQG LI7W\SHa 7N ZT 7HPK    KN GLP+ZT 7HPK HQG   HQG HQG HQG FDVH  VXUI RXWSXWUHJLRQLVDFLUFXODUVXUIDFH LQFOXGLQJFLUFXODUULQJRUVHFWRU HTQ  ZLWKE D        [ YDULDEOH LVU \ YDULDEOH LVU U YDULDEOH LVU SVL YDULDEOH LVU          U YDULDEOH LVU SVL YDULDEOH LVU QU YDULDEOH LVU QSVL YDULDEOH LVU   [\ FHQWHURIWKHFLUFXODUVXUIDFHRUFLUFXODUULQJRUVHFWRU  UU UDQJHRIUDGLXV SVLSVL UDQJHRIUDGLDODQJOHVXQLWRISVLGHJUHH  QUQSVL QXPEHURISRLQWVWREHHYDOXDWHGLQUDQGSVLGLHUFWLRQV        GU UU  QU GSVL SVLSVL  QSVL Q[ QU IRUUL UGUU                    Z ZT  IRUSVL SVLGSVLSVL                T TYN YN                [L  [UL FRVG SVL [L  \UL VLQG SVL [L  SVL                 ;LN ZT [L                 >8L7L7HPK@ RSWLRQ [LORDGVWUYNLVU  LI7PW\SH

8LN ZT 8L  7LN ZT 7L 

HOVH8LN ZT 8L7LN ZT 7L                     GV VTUW UL GSVL SL AGUA   GLVWDQFHEHWZHHQWZRGLDJRQDOSRLQWV                    >6WP6[\GV9ZTQVS@ SRVLWLRQ7LPH [LGVYNZT6[\GV9ZTQVSLVU JHQHUDWH6[\ HQG LI7W\SHa 7N ZT 7HPK    KN GLP+ZT 7HPK HQG   HQG HQG HQG FDVH  VXUI RXWSXWUHJLRQLVHOOLSWLFDOVXUIDFH LQFOGXLQJHOOLSWLFDOULQJRUVHFWRU HTQ D  E         [ YDULDEOH LVU \ YDULDEOH LVU F YDULDEOH LVU D YDULDEOH LVU SVL YDULDEOH LVU          D YDULDEOH LVU SVL YDULDEOH LVU QD YDULDEOH LVU QSVL YDULDEOH LVU DQJ YDULDEOH LVU    DQJLVWKHDQJOH XQLWGHJUHH GLUHFWHGFRXQWHUFORFNZLVHO\IURP[D[LVWRWKHPDMRUD[LVRIHOOLSVH  [\ FHQWHURIWKHHOOLSWLFDOVXUIDFHRUHOOLSWLFDOULQJRUVHFWRU F EDUDWLRRIWZRD[HVRIHOOLSVH RXWHUDQGLQQHUHOOLSVHVVKRXOGKDYHWKHVDPHUDWLR   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 FRVG SVL [LV DL F VLQG SVL                   [L  [FRVG DQJ [LVVLQG DQJ [LV                 [L  \VLQG DQJ [LVFRVG DQJ [LV  [L  SVL                ;LN ZT [L                 >8L7L7HPK@ RSWLRQ [LORDGVWUYNLVU  LI7PW\SH

8LN ZT 8L  7LN ZT 7L 

HOVH8LN ZT 8L7LN ZT 7L 

Appendix F: AEPH Source Code (Listed in Alphabetic Order)                     GV DL VTUW VLQG SVL A F FRVG SVL A GSVL SLRQO\YDOLGIRUVPDOOGSVL                     GV VTUW GVAGDA   GLVWDQFHEHWZHHQWZRGLDJRQDOSRLQWV                     >6WP6[\GV9ZTQVS@ SRVLWLRQ7LPH [LGVYNZT6[\GV9ZTQVSLVU JHQHUDWH6[\ HQG LI7W\SHa 7N ZT 7HPK    KN GLP+ZT 7HPK HQG   HQG HQG HQG FDVH  VXUI RXWSXWUHJLRQLVSRO\JRQOLNHVXUIDFH LQFOGXLQJULQJRUVHFWRU HTQ D            [ YDULDEOH LVU \ YDULDEOH LVU FL YDULDEOH LVU HSL YDULDEOH LVU   ND YDULDEOH LVU          D YDULDEOH LVU SVL YDULDEOH LVU D YDULDEOH LVU SVL YDULDEOH LVU           QD YDULDEOH LVU QSVL YDULDEOH LVU DQJ YDULDEOH LVU    DQJLVWKHDQJOH XQLWGHJUHH GLUHFWHGFRXQWHUFORFNZLVHO\IURP[D[LVWRWKHPDMRUD[LVRISRO\JRQ  [\ FHQWHURIWKHSRO\JRQOLNHVXUIDFH LQFOXGLQJULQJRUVHFWRU  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 FRVG SVL HSL FRVG ND SVL     HTQ  RI +ZX                 [LV DL FL VLQG SVL HSL VLQG ND SVL                  [L  [FRVG DQJ [LVVLQG DQJ [LV                  [L  \VLQG DQJ [LVFRVG DQJ [LV  [L  SVL                 ;LN ZT [L                  >8L7L7HPK@ RSWLRQ [LORDGVWUYNLVU  LI7PW\SH

8LN ZT 8L  7LN ZT 7L 

HOVH8LN ZT 8L7LN ZT 7L                      FS FRVG SVL   VS VLQG SVL   FNS FRVG ND SVL   VNS VLQG ND SVL                      UKR DL VTUW ND HSL AVSA FL FS A ND HSL VS VNS FL ND HSL FS FNS   HTQ E                      GV UKR GSVL SL  GLVWDQFHEHWZHHQWZRSRLQWVRQWKHVDPHSRO\JRQOLNHFXUYHRQO\YDOLGIRUVPDOOGSVL                     GV VTUW GVAGDA   GLVWDQFHEHWZHHQWZRGLDJRQDOSRLQWV                     >6WP6[\GV9ZTQVS@ SRVLWLRQ7LPH [LGVYNZT6[\GV9ZTQVSLVU JHQHUDWH6[\ HQG LI7W\SHa 7N ZT 7HPK    KN GLP+ZT 7HPK HQG   HQG HQG HQG FDVH  VXUI RXWSXWUHJLRQLVUHFWDQJXODUVXUIDFHZLWKDSRO\JRQOLNHKROHHTQ D           [ YDULDEOH LVU \ YDULDEOH LVU [ YDULDEOH LVU \ YDULDEOH LVU           Q[ YDULDEOH LVU Q\ YDULDEOH LVU   SDUDPHWHUVRIWKHUHFWDQJXODUSODWH  [\ WKHSRLQWRIORZHUOHIWFRUQHU  [\ WKHSRLQWRIXSSHUULJKWFRUQHU  Q[Q\ QXPEHURISRLQWVWREHHYDOXDWHGLQ[DQG\GLUHFWLRQV         [ YDULDEOH LVU \ YDULDEOH LVU DL YDULDEOH LVU FL YDULDEOH LVU          HSL YDULDEOH LVU ND YDULDEOH LVU SDUDPHWHUVRISRO\JRQOLNHKROH DQJ YDULDEOH LVU QPD[ YDULDEOH LVU  

639

640

Appendix F: AEPH Source Code (Listed in Alphabetic Order)  [\ FHQWHURIWKHSRO\JRQOLNHKROH DLFLHSLNDSDUDPHWHUVWRGHVFULEHWKHSRO\JRQVHHHTQ  RI +ZX DQJWKHDQJOH XQLWGHJUHH GLUHFWHGFRXQWHUFORFNZLVHO\IURP[D[LVWRWKHPDMRUD[LVRISRO\JRQ QPD[PD[LPXPQXPEHURILWHUDWLRQXVHGLQ1HZWRQ VPHWKRGIRU        FDOFXODWLQJWKHLQWHUVHFWLRQSRLQWVRIKROHDQGYHWLFDOOLQH[L FRQVWDQWVXJJHVWHGYDOXH          QSVL  Q\  QSVLQXPEHURISRLQWVWREHHYDOXDWHGDORQJWKHKROHERXQGDU\LVGHILQHGWREH Q\         G[ [[  Q[ G\ \\  Q\ GSVL  SL QSVL   IRU[L [G[[             Z ZT [L  [L[L                PLQBK \PD[BK \  VHWLQLWLDOYDOXHRIPLQBKDQGPD[BKWREH\             UKR VTUW FRVG DQJ A FL VLQG DQJ 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                       ;LN ZT [L                      >8L7L7HPK@ RSWLRQ [LORDGVWUYNLVU  LI7PW\SH

8LN ZT 8L  7LN ZT 7L 

HOVH8LN ZT 8L7LN ZT 7L                          GV VTUW G[AG\A                            >6WP6[\GV9ZTQVS@ SRVLWLRQ7LPH [LGVYNZT6[\GV9ZTQVSLVU JHQHUDWH6[\ HQG LI7W\SHa 7N ZT 7HPK    KN GLP+ZT 7HPK HQG   HQG HOVH

VHWWKHYDOXHRIQRWDYDLODEOHIRUWKHDOORFDWHGSRLQWVLQVLGHWKHKROH

                    ;LN ZT QDQ LI7PW\SH

8LN ZT QDQ  7LN ZT QDQ 

HOVH8LN ZT QDQ7LN ZT QDQHQG LI7W\SHa 7N ZT QDQ  KN GLP+ZT QDQ  HQG HQG HQG HQG DGGLWLRQDOFDOFXODWLRQIRUWKHSRLQWVDORQJWKHKROHERXQGDU\HTQ D            T Z Z IRUQ QSVL  WKHDQJOHVWDUWIURPGSVLWR SLDQGWKHLQWHUYDOLVGSVL             YN YNT TSVL Q GSVL             [LV DL FRV SVL HSL FRV ND SVL              [LV DL FL VLQ SVL HSL VLQ ND SVL              [L  [FRVG DQJ [LVVLQG DQJ [LV              [L  \VLQG DQJ [LVFRVG DQJ [LV   [L  SVL             >8L7L7HPK@ RSWLRQ [LORDGVWUYNLVU  LIT!TT Z ZHQG             ;LN ZT [L  LI7PW\SH

8LN ZT 8L  7LN ZT 7L 

HOVH8LN ZT 8L7LN ZT 7L                  FS FRVG SVL   VS VLQG SVL   FNS FRVG ND SVL   VNS VLQG ND SVL                  UKR DL VTUW ND HSL AVSA FL FS A ND HSL VS VNS FL ND HSL FS FNS   HTQ E 

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 7N ZT 7HPK    KN GLP+ZT 7HPK HQG   HQG HQG RWKHUZLVH         GLVS :URQJVXUIDFHW\SH  HQG  IXQFWLRQ>;LN8LN7LN7NKNYN@ SRLQW ORDGVWUYDULDEOHLVU  JOREDO7W\SHHSV7PW\SHGLP+Q[\   IURP0DLQSURJUDP IXQFWLRQXSKLBEDQN%)(0 JOREDO6[\   JHQHUDWHG6[\XVHLQIXQFWLRQ7DEOH)LJZKHQ7PW\SHa LVUXVHLQ%(0'EDQN,1 6[\6[\ M YNMWKVHOHFWHGSRVLWLRQLVFORVHWRYNWKSRLQW ![\L M ;LN N   YN 7N KN    GHIDXOWYDOXHV LI7PW\SHa GV Q[\ QDQ9ZT Q[\ QDQQVS Q[\ QDQ6[\ Q[\ QDQHQG GHIDXOW YDULDEOH LVU     QXPEHURIGLVFUHWHSRLQWVLQ LVU WKUHJLRQ YDULDEOH HQG SRVLWLRQ [L  [L  RIHDFKGLVFUHWHSRLQW MI IRUL LVUMI MIYDULDEOH L HQG

ILQDOURZRIYDULDEOHRIWKH LVU WKUHJLRQ

M MIYDULDEOH LVU   LQLWLDOURZRIYDULDEOHRIWKH LVU WKUHJLRQ IRUM MMI    RXWSXWSRLQWVRI2W\SH     [L  YDULDEOH M [L  YDULDEOH M [L          YN YN;LN YN [L      >8L7L7HPK@ RSWLRQ [LORDGVWUYNLVU  LI7PW\SH

  8LN YN 8L  7LN YN 7L 

HOVH8LN YN 8L7LN YN 7L          >6WP6[\GV9ZTQVS@ SRVLWLRQ7LPH [LHSVYN6[\GV9ZTQVSLVU JHQHUDWH6[\ HQG LI7W\SHa 7N YN 7HPK    KN GLP+YN 7HPK HQG   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  XLB7L GLP WL7L GLP WL7L  QDQ LI'0

7L GLP XL GLP 8L GLP 8L GLP 8L GLP 8L GLP 8L GLP >@  HQG

PRYHGHIOHFWLRQWR7L GLP DQGUHDUUDQJH8L

642

Appendix F: AEPH Source Code (Listed in Alphabetic Order) HOVH YLVFRRUG\QDPLFSUREOHPV         8L  XL8L  XLB8L  XLB7L GLP WL7L GLP WL7L  QDQ LI'0

   PRYHGHIOHFWLRQWR7L GLP DQGGHOHWHWKHUGURZRI8L

            7L GLP XL GLP   8L GLP 8L GLP 8L GLP 8L GLP 8L GLP >@HQG HQG LI7W\SHa 7HPK >WHPS,1 YN QDQ RQHV  @GLP+ HQG

GLPHQVLRQRIYHFWRUKHDW)GLVUHJDUGSRVVLEOHFDVHVRIWKHUPRYLVFR

HOVH     >8L7L7HPK@ XSKLBEDQN ORDGVWU[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 SVL N  ZKLOHGSVL! HSV Q QPD[          KV DL FRV SVL HSL FRV ND SVL      HTQ           KV DL FL VLQ SVL HSL VLQ ND SVL          KVS DL VLQ SVL HSL ND VLQ ND SVL   GHULYDWLYHRIKVZLWKUHVSHFWWRSVL         KVS DL FL FRV SVL HSL ND FRV ND SVL GHULYDWLYHRIKVZLWKUHVSHFWWRSVL         K [KV FRVG DQJ KV VLQG DQJ [L   HTQ D   KS KVS FRVG DQJ KVS VLQG DQJ           SVL SVLKKSGSVL DEV SVLSVL          SVL SVLQ Q HQG LISVL  SL GSVL HSV K HSVK N \KV VLQG DQJ KV FRVG DQJ HOVHK N QDQHQG HQG PD[BK PD[ K PLQBK PLQ K  LILVQDQ PD[BK

PD[BK \PLQBK \HQG

1RLQWHUVHFWLRQSRLQWKDVEHHQIRXQGIRUWKHYHUWLFDOOLQH [L FRQVWDQW DQGWKH

SRO\JRQOLNHKROH

F070: Laplace_inv IXQFWLRQIW /DSODFHBLQY IV  /DSODFHBLQYSHUIRUPVWKH/DSODFHLQYHUVLRQQXPHULFDOO\E\6FKDSHU\ VFROORFDWLRQPHWKRG IWIXQFWLRQYDOXHLQWLPHGRPDLQ IW MW N YHFWRURIIWDW MW WKWLPHDN QWPDWUL[QWQXPEHURIWLPHYDULDEOH IVYHFWRURIIXQFWLRQYDOXHVLQWKH/DSODFHGRPDLQ IV LV 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 ]HURV QV  $%D  $%D  VY    SDUWRIHTQ   IRUM QV$%D M VY VYVY M HQG

SDUWRIHTQ  DVVXPHEN M VY M 

\I GLDJ VY IV    ULJKWKDQGVLGHRI$%D [D \IGLDJ VY 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 MWWLPHN MW WP     IW MW [D  [D  WP IRUN QVIW MW IW MW [D N

H[S VY N 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    RU D IRU&8W\SH  FORJ]LYHFWRURIORJ ]HWDAFRQM ]HWDBNBKDW ZKHUHN GLP VHFRQGORJWHUPRIHTQ  RU  IRU&8W\SH  YHFWRURIORJ ]HWDAFRQM ]HWDBKDW QGWHUPRI D IRU&8W\SH  [ [[ ORFDWLRQRIWKHILHOGSRLQW [BKDW [BKDW[BKDW ORFDWLRQRIWKHVRXUFHSRLQW ]HWDYHFWRURI]HWDBDOSKDIRUSRLQWRXWVLGHWKHKROHRULQFOXVLRQ ]HWDBKDWYHFWRURI]HWDBKDWBDOSKDIRUSRLQWRXWVLGH LQFOXGHWKHERXQGDU\ 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] ]HURV GLP ORJ]HWD ]HURV GLP FORJ]L ]HURV GLP ORJF]L ]HURV GLP  FDOFXODWHWKBKDWGWKSVLBKDWSVLBUZKLFKDUHUHTXLUHGLQWKHDGMXVWPHQWRIWKHEUDQFKFXW LI/W\SH

_/W\SH

_&8W\SH

PX PXHQG

ZLWKFUDFNRUGLVORFDWLRQLQVLGHLQFOXVLRQ

]BKDW [BKDW  L [BKDW  WKBKDW DQJOH ]BKDW    )LJ G] [  [BKDW  L [  [BKDW  GWK DQJOH G] 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  FRV WKBKDW PX VLQ WKBKDW  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 ORJ G]HWD               >ORJ]HWD@ ORJ%&87 ORJG]HWDSVLBKDWWKBKDWGWKGLP FDOFXODWHORJ G]HWD ZLWKWKHVHOHFWHGEUDQFKFXW HOVH             ]L ]HWDF]L FRQM ]L   ORJF]L ORJ F]L]HWDBKDW N              >ORJF]L@ ORJ%&87 ORJF]LSVLBKDWWKBKDWGWKGLP FDOFXODWHORJF]LZLWKWKHVHOHFWHGEUDQFKFXW HQG         FORJ]L FRQM ORJF]L   FDVH   SRLQWIRUFHRUGLVORFDWLRQORFDWHGRQWKHLQWHUIDFHRIWKHHOOLSWLFDOLQFOXVLRQ         G]HWD ]HWD]HWDBKDWORJG]HWD ORJ G]HWD          >ORJ]HWD@ ORJ%&87 ORJG]HWDSVLBKDWWKBKDWGWKGLP FDOFXODWHORJ G]HWD ZLWKWKHVHOHFWHGEUDQFKFXW         ]L ]HWDF]L FRQM ]L   ORJF]L ORJ F]L]HWDBKDW   HTQ D B         >ORJF]L@ ORJ%&87 ORJF]LSVLBKDWWKBKDWGWKGLP FDOFXODWHORJF]LZLWKWKHVHOHFWHGEUDQFKFXW         FORJ]L FRQM ORJF]L          ] [  PX [    ]BKDW [BKDW  PX [BKDW             ORJ] ORJ ]]BKDW   HTQ D BORJ]ZLWKSULQFLSDODQJOHORFDWHGDW>SLSL@         WKBKDW DQJOH ]BKDW  IRUM GLP  FKDQJHWKHYDOXHRIORJ]ZLWKSULQFLSDODQJOHORFDWHGDW>WKBKDWWKBKDW SL@ LILPDJ ORJ] M WKBKDW M ORJ] M ORJ] M  SL LHQG HQG HQG  IXQFWLRQ>ORJ]HWD@ ORJ%&87 ORJ]HWDSVLBKDWWKBKDWWKGLP  &DOFXODWLRQRIORJDULWKPLFIXQFWLRQDGMXVWHGE\DVXLWDEOHEUDQFKFXWZKLFKLVDUDGLDOOLQHLQ]GRPDLQZKRVH FRUUHVSRQGLQJFXWVLQ]HWDBNGRPDLQN DUHWKUHHGLIIHUHQWFXUYLOLQHDUFXWV VHHGHWDLOHGH[SODQDWLRQLQ&K   ORJ]HWDORJ ]HWD ZLWKWKHVHOHFWHGEUDQFKFXW G]HWDPD\EH]HWD]HWDBKDWRU]HWD SVLBKDWDYHWRURIWKHVWDUWLQJDQJOHRIEUDQFKFXWLQ]HWDBNGRPDLQN GLP WKBKDWDVFDODURIWKHVWDUWLQJDQJOHRIEUDQFKFXWLQ]GRPDLQ WKSRODUDQJOHRIWKHYHFWRU[[BKDW GSVL LPDJ ORJ]HWD SVLBKDWGWK WKWKBKDW UHJ LISL GWK GWK  SLUHJ HQG

WKHSRLQWORFDWHVDWUHJLRQ,HTQ  B

IRUM GLP     UHJ LIGSVL M SLUHJ HQG WKHSRLQWORFDWHVDWUHJLRQHTQ  B     UHJ LIDEV GSVL M  SLUHJ HQG WKHSRLQWORFDWHVDWUHJLRQHTQ  B LI UHJUHJ UHJ a ORJ]HWD M ORJ]HWD M  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 VHFWLRQQXPEHU HJ/W\SH PHDQVWKHORDGLQJ VWUXFWXUHW\SHRI6HFWLRQ /W\SHVROYHWKHSUREOHPWKURXJKERXQGDU\HOHPHQWPHWKRG %(0  /W\SHGHQRWHVWKH*UHHQ VIXQFWLRQXVHGLQ%(0 VHHWKHOLVWEHORZ  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\EDVHGILQLWHHOHPHQW 6%)(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]R0 SURS3   SLH]RDQGRU0(( HQG LI9W\SH

 

        >$%PX1111457@ PDWHULDOBHLJHQ

FDOFXODWHHODVWLFHLJHQYDOXHVDQGHLJHQYHFWRUV

HOVH         SURS9 GOPUHDG > LQSXWBYLVFR QXPVWU LP  W[W @    UHDGYLVFRHODVWLFSURSHUWLHV         QV SURS9    QXPEHURI/DSODFHWUDQVIRUPYDULDEOHVXVHGLQFRUUHVSRQGHQFHSULQFLSOHVHWQV QDVHTQ   LIWKHWLPHVWHSSLQJPHWKRGLVXVHGVHWQV  LIQV

   LIWKHWLPHVWHSSLQJPHWKRGLVXVHG

            >&LM6LM@ YLVFR SURS9>@              >$%PX1111457@ PDWHULDOBHLJHQ             Q*5 LP Q*RPHJDBN5 LP RPHJDBNUKRBN5 LP UKRBNUKR5 LP UKR HOVH

LIWKHHODVWLFYLVFRHODVWLFFRUUHVSRQGHQFHSULQFLSOHLVXVHG IRULV QV   FDOFXODWHVWKHPDWHULDOSURSHUWLHVE\YDU\LQJVLQ/DSODFHGRPDLQ

                V[ A  LV  QV   VY LV V[   HTQ  VYYHFWRURIV[                 >&LM6LM@ YLVFR SURS9V[                  >$%PX1111457@ PDWHULDOBHLJHQ

FDOFXODWHHODVWLFHLJHQYDOXHVDQGHLJHQYHFWRUV

                &LMV LV &LM6LMV LV 6LM   &LM6LMRI/DSODFHGRPDLQ                 $V LV $%V LV %PXV LV PX   $%PXLQ/DSODFHGRPDLQZLWKYDULDEOHVFDOFXODWHGE\LV                 4V LV 45V LV 57V LV 7   457LQ/DSODFHGRPDLQZLWKYDULDEOHVFDOFXODWHGE\LV                 1V LV 11V LV 11V LV 11V LV 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 QXPVWU LP  W[W @   UHDGWKHUPDOSURSHUWLHV LI(W\SHa SURS SURS(  HQG

SURSHUWLHVRISXUHHODVWLFPDWHULDOV

LI3W\SHa SURS SURS3  HQG

SURSHUWLHVRISLH]RRU0((PDWHULDOV

        >NLMDOSKDLMEHWDLM.WLM.WLMV$WLM%WLM'WLM@ WKHUPDO SURS7SURS          >FGWDX@ WKHUPDOBHLJHQ

FDOFXODWHWKHUPDOHLJHQYDOXHVDQGHLJHQYHFWRUV

HQG LI,FKHFN

 3W\SH0DLQBDX[  HQG

GRXEOHFKHFN1111$%PXDQGLGHQWLWLHVIRUQRQ0((FDVHV

LI1PDW!  LI3W\SHa &LM(BD LP &LM(HLMBD LP HLMZLMHBD LP ZLMHHQG LI3W\SH!TLM(BD LP TLM(PLMHBD LP PLMH[LLMHBD LP [LLMHHQG

SLH]RRU0(( 0((

654

Appendix F: AEPH Source Code (Listed in Alphabetic Order) LI7W\SHa NLMBD LP NLMDOSKDLMBD LP DOSKDLMEHWDLMBD LP EHWDLM  WKHUPDO             FBD LP FGBD LP GWDXBD LP WDXHQG LI9W\SHa  QVa    YLVFRHODVWLFPDWHULDOVVROYHGE\FRUUHVSRQGHQFHSULQFLSOH             &LMVBD LP &LMV  6LMVBD LP 6LMV             $VBD LP $V%VBD LP %VPXVBD LP PXV              4VBD LP 4V5VBD LP 5V7VBD LP 7V             1VBD LP 1V1VBD LP 1V1VBD LP 1V1VBD LP 1V  HOVH

DQLVRWURSLFHODVWLFSLH]R0((PDWHULDOVRUYLVFRHODVWLFPDWHULDOVVROYHGE\WLPHVWHSSLQJPHWKRG

            &LMBD LP &LM6LMBD LP 6LM   IURPIXQFWLRQHODVWLFRUSLH]R0             $BD GLPGLPLP $%BD GLPGLPLP %PXBD GLPLP PX              4BD GLPGLPLP 45BD GLPGLPLP 57BD GLPGLPLP 7  HQG         GLPBD LP GLP         ' 'W\SH 'W\SH 'W\SH 'W\SH 'W\SH 'W\SH 'W\SH  LI'

  FRXSOHGVWUHWFKLQJEHQGLQJ

            $LMBD LP $LM%LMBD LP %LM'LMBD LP 'LM LI7W\SHa .WLMBD LP .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

    ISULQWI ILG ?U?Q5(68/762)%281'$5XLHSVLORQLVLJPDL@ %(0'HODVWLF,1 YDULDEOH   ILQGWKHVROXWLRQVIRULQWHUQDOSRLQWV         7DEOH)LJ' YDULDEOHXLHSVLORQLVLJPDL    ZULWH7DEOHV SORW)LJXUHV HOVH

WZRGLPHQVLRQDORUFRXSOHGVWUHWFKLQJEHQGLQJSUREOHPV

Appendix F: AEPH Source Code (Listed in Alphabetic Order)

655

        >;LN8LN7LN7NKNYN@ LQWHUQDO ORDGVWUYDULDEOHLVU   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  WL Q WI [\L>[\[\[\Q@VHOHFWHGSRVLWLRQIRUSULQWLQJWLPHYDULDWLRQ QWQXPEHURIVHOHFWHGWLPHIRUSULQWLQJVSDFHYDULDWLRQ Q[\ LVU QXPEHURIVHOHFWHGSRVLWLRQLQLVUUHJLRQIRUSULQWLQJWLPHYDULDWLRQ Q[\7WRWDOQXPEHURIVHOHFWHGSRVLWLRQLQWKHZKROHUHJLRQIRUSULQWLQJWLPHYDULDWLRQ 6WP6WP M NMWKVHOHFWHGWLPHLVFORVHWRNWKWLPH !WL M WLPHN N W N GW 6[\6[\ M YNMWKVHOHFWHGSRVLWLRQLVFORVHWRYNWKSRLQW ![\L M ;LN N LI2W\SHa  6[\ M >ZT@MWKVHOHFWHGSRVLWLRQLVFORVHWR>ZT@WKSRLQW ![\L M ;LN ZT 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 VXP YDULDEOH QVU QXPEHURIURZVXVHGLQWKHDUUDQJHPHQWRILQWHUQDOSRLQWV

HOVH1U QVU  HQG QXPEHURIURZVXVHGLQWKHDUUDQJHPHQWRILQWHUQDOSRLQWVIRUIXQFWLRQFXUYHRUVXUIDFHRILQWHUQDO         5WLPH YDULDEOH 1U    5WLPH >WWIGW@LQLWLDOWLPHWHUPLQDOWLPHDQGWLPHVWHS         QW YDULDEOH 1U QWQXPEHURIVHOHFWHGWLPH         Q[\ YDULDEOH 1UQVU Q[\ LVU QXPEHURIVHOHFWHGSRVLWLRQLQLVUUHJLRQ IRULQWHUQDOSRLQWV          WL YDULDEOH 1UQW    WL >WWWWQ@VHOHFWHGWLPHIRUSULQWLQJVSDFHYDULDWLRQ         Q[\7 VXP Q[\   WRWDOQXPEHURIVHOHFWHGSRVLWLRQLQWKHZKROHUHJLRQ IRULQWHUQDOSRLQWV  LIQXP

   UHDGWKHGDWDIRUWKHVHOHFWLRQRILQWHUQDOSRLQWVIRUSULQWLQJWLPHYDULDWLRQ

LIQ[\7![\L YDULDEOH 1U1UQ[\7 HQG [\L >[\[\[\Q@VHOHFWHGSRVLWLRQIRULQWHUQDOSRLQWV

656

Appendix F: AEPH Source Code (Listed in Alphabetic Order) HOVHLIQXP

  UHDGWKHGDWDIRUWKHVHOHFWLRQRIERXQGDU\QRGHVIRUSULQWLQJWLPHYDULDWLRQ

           Q[\ YDULDEOH 1UQ[\7QVU Q[\ LVU QXPEHURIVHOHFWHGSRVLWLRQLQLVUUHJLRQ IRUERXQGDU\QRGHV             [\L YDULDEOH 1UQ[\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 YDULDEOH 1U Q[\ YDULDEOH 1U   QWQXPEHURIVHOHFWHGWLPHQ[\QXPEHURIVHOHFWHGSRVLWLRQ        6WP YDULDEOH 1UQW   6WP M NMWKVHOHFWHGWLPHLVNWKWLPH !WL M WLPHN N W N GW        6[\ YDULDEOH 1UQ[\ 6[\ M YNMWKVHOHFWHGSRVLWLRQLVYNWKSRLQW ![\L M ;LN N  LI2W\SH

6[\  YDULDEOH 1UQ[\ HQG6[\ M >ZT@MWKVHOHFWHGSRVLWLRQLV>ZT@WKSRLQW ![\L M ;LN ZT 

HQG

F074: mapEP IXQFWLRQ>]HWDWKHWDUKR@ PDS(3 [LSVLDFHSNPX=W\SH   0$3(3WUDQVIRUPVWKHYDULDEOHVIUHTXHQWO\DSSHDUHGLQWKHSUREOHPVRIKROHVRULQFOXVLRQV ,QJHQHUDOWKHVKDSHRIKROH RULQFOXVLRQ 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]HWDBDOSKD YDULDEOHLQWKHGRPDLQZLWKXQLWFLUFOH  =W\SH WUDQVIRUPIURPWKHDQJXODUSDUDPHWHUSVLWRWKHWD WDQJHQWLDOGLUHFWLRQRIWKHKROHLQFOXVLRQERXQGDU\  JOREDOHSV   IURP0DLQSURJUDPFRQWUROSDUDPHWHU GLP OHQJWK PX ]HWD ]HURV GLP 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 PX M A  DL E PX M    HTQ                  ]HW  ] M VTUW ] M ADAEA PX M A  DL E PX M  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 HOVHLIDEV PX M L  HSV     PX LHJLVRWURSLFPDWHULDOV                Q NS ]HURV Q                 S  F  S   ] M D  S  F  S N  HS  HTQ  

Appendix F: AEPH Source Code (Listed in Alphabetic Order)

657

                ]HW URRWV S  HOVH

JHQHUDOSRO\JRQOLNHERXQGDU\

                Q  NS ]HURV Q                  S  HS L PX M   S N L F PX M   S N  ] M D  HTQ                   S N L F PX M   S  N HS L PX M                  ]HW URRWV S  HQG 6HOHFWWKHFRUUHFW]HWD M IURPDOOURRWVRISZKLFKVKRXOGEHWKHRQHQHDUHVWWKHERXQGDU\RIXQLWFLUFOHHTQ   LIHSa    JHQHUDOSRO\JRQOLNHERXQGDU\                 SVL OLQVSDFH    SVLDURZYHFWRURI>@                 [Y D FRVG SVL HS FRVG N SVL   \Y D F VLQG SVL HS VLQG N 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 ]HW NP   PD[LPXPYDOXHRI]HWD IRUNQ Q LIDEV ]HW NQ !HSV  WKHURRWVZKLFKLVRXWVLGHWKHXQLWFLUFOH LIDEV ]HW NQ DEV ]HWR ]HWR ]HW NQ HQG FKRRVHWKHVPDOOHURQHWREHWKHRQHQHDUHVWWRWKHXQLWFLUFOH HOVH

LIWKHURRWLVLQVLGHWKHXQLWFLUFOH LIDEV ]HW NQ !DEV ]HWL ]HWL ]HW NQ HQG

FKRRVHWKHODUJHURQHWREHWKHRQHQHDUHVWWRWKHXQLWFLUFOH    

HQG HQG LI,1

]HWD M ]HWL   FKRRVHWKHRQHLQVLGHWKHXQLWFLUFOH

HOVH  ]HWD M ]HWR  HQG

FKRRVHWKHRQHRXWVLGHWKHXQLWFLUFOH  

HQG FDVH     WUDQVIRUPSVLWRWKHWD         FS FRV SVL   VS VLQ SVL   FNS FRV N SVL   VNS VLQ N SVL          UKR D VTUW N HS AVSA F FS A N HS VS VNS F N HS FS FNS   HTQ E HS  ! E          FWK D VSN HS VNS UKR  VWK D F FSN HS FNS UKR  HTQ D HS  ! D  LIVWK!                  HTQ               WKHWD DFRV FWK       WKHWDVKRXOGEHLQWKHUDQJHRI  SL EXWLQ0$7/$% HOVH

WKHUDQJHRIDFRVLV SL 6RZHQHHGWRFRQVLGHUWKHFDVHV

            WKHWD  SLDFRV FWK LQWKHRWKHUUDQJH SL SL XQLWRIWKHWDLVUDGLDQ HQG HQG

F075: material_eigen IXQFWLRQ>$%PX1111457@ PDWHULDOBHLJHQ 0$7(5,$/B(,*(1SURYLGHVWKHVROXWLRQVIRUPDWHULDOHLJHQYDOXHVPXDQG PDWHULDOHLJHQYHFWRUPDWULFHV$DQG%DFFRUGLQJWRWKHPDWHULDOW\SH HODVWLFSLH]RHOHFWULFRU0((  DQGWKHSUREOHPW\SH JHQHUDOL]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 VIRUPDOLVPHTQ F  1P1P1PVXEPDWULFHVRIIXQGDPHQWDOHODVWLFLW\PDWULFHVRIPL[HG6WURK VIRUPDOLVPHTQ F  $LM%LM'LM JHQHUDWHGLQ457B&H457B&S QRUPDOL]HGH[WHQVLRQDOFRXSOLQJDQGEHQGLQJVWLIIQHVVHV D  $LMW%LMW'LMW JHQHUDWHGLQ457B&H457B&S PDWULFHVUHODWHGWRH[WHQVLRQDOFRXSOLQJDQGEHQGLQJVWLIIQHVVHVHTQ E B %LPDWHULDOHLJHQYHFWRUPDWUL[GHILQHGLQHTQ E  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@ *DXVV QB*DXVV7+          WK [J SLFWK FRV WK VWK VLQ WK   WKFWKVWK QB*DXVV7+HTQ           Q  >]HURV QB*DXVV7+ FWKVWK@P  >@HTQ          Q  >FWK]HURV QB*DXVV7+ VWK@P  >@HTQ          Q  >FWKVWK]HURV QB*DXVV7+ @P  >@HTQ F IRUM QB*DXVV7+ IRU5S   WKUHHGLIIHUHQW5DGRQSODQHHTQ                  >4 M5S 5 M5S 7 M5S 4L M5S 5L M5S @ 457B' Q M5S P 5S  HQG HQG RWKHUZLVH         GLVS 8QNQRZQSUREOHPW\SH  HQG    HTQ  LI'W\SHa  'W\SHa  'W\SHa   'RUFRXSOHGVWUHWFKLQJEHQGLQJSUREOHPV     1 LQY 7    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   HTQ F HOVHLI3W\SH  SLH]RHOHFWULF             , GLDJ >@ , GLDJ >@ , GLDJ >@ GLP HTQ E HOVHLI3W\SH!  0((             , GLDJ >@ , GLDJ >@ , GLDJ >@ GLP   HQG

Appendix F: AEPH Source Code (Listed in Alphabetic Order)         ,W >,,,,@  1 ,W 1P ,WHTQ E         1 1 GLPGLP 1 1 GLPGLP GLP 1 1 GLP GLPGLP   HQG     >$%GLDJBPX@ HLJ 1      >$%PX@ $%Q $%GLDJBPX    FDOFXODWH$%DQGPX HOVH

'SUREOHPV IRUM QB*DXVV7+ IRU5S 

            1 LQY 7 M5S   1 1 5 M5S   1 5 M5S 14 M5S              1 >1111 @             >$%GLDJBPX@ HLJ 1              >$ M5S % M5S PX M5S @ $%Q $%GLDJBPX    FDOFXODWH$%DQGPX IRUL                  %L ML5S 4L LM5S $ M5S 5L LM5S $ M5S GLDJ PX M5S   HTQ E HQG HQG HQG     GLP VL]H $    GLPHQVLRQRIWKHPDWHULDOHLJHQYHFWRUPDWUL[$     $W UHVKDSH SHUPXWH $>@ GLP QB*DXVV7+GLP    $WWUDQVSRVHRI$SUHSDUHGIRU*LQI'     ZJ$ UHVKDSH SHUPXWH ZJ>@  $GLPGLP QB*DXVV7+ ZJ$SUHSDUHIRU*DXVVLDQLQWHJUDWLRQXVHGLQ   E      VWL SHUPXWH Q>@ PX SHUPXWH H\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     JHQHUDWHGHODVWLFSURSHUWLHV XVHGLQIXQFWLRQLGHQWLWLHV 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&LN LN   FRQVWUXFW&LNIURPLWVDVVRFLDWHGWKRUGHUWHQVRUQRWDWLRQ         4 LN Q

&LN Q5 LN Q

&LN P7 LN P

&LN P  HTQ F          4L LN &LN Q5L LN &LN P  HTQ F  HQG HQG  IXQFWLRQ>$%PX@ $%Q $%GLDJBPX   FDOFXODWH $%DQG PX G VL]H GLDJBPX GLP G  IRUL GLP      LG L    PX L GLDJBPX LGLG      $ 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>PS M WN M @BM Q          */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ &LM(+HLM+ZLMH+TLM(PLMH[LLMHHWF  PDJQHWRHOHFWURHODVWLFSURSHUWLHVHTQ DG  &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( HTQ H  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' HTQ F  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'    HTQ J          >&LM(+HLM+ZLMH+TLM(PLMH[LLMH@ 0(([\ &LM'+KLM+EHWDLMH+TLM']HWDLMH[LLMH' HTQ F   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 HTQ E  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( HTQ I          >&LM(+HLM+ZLMH+TLM(PLMH[LLMH@ 0(([\ 6LM(+GLM+ZLMV+GWLM(PLMV[LLMV HTQ E  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' HTQ G          >&LM(+HLM+ZLMH+TLM(PLMH[LLMH@ 0(([\ &LM'+KLM+EHWDLMH+TLM']HWDLMH[LLMH' HTQ F  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'    HTQ K          >&LM'+KLM+EHWDLMH+TLM']HWDLMH[LLMH'@ 0(([\ &LM'%KLM%EHWDLMH%KWLM'ODPGDLMHQXLMH'    HTQ J          >&LM(+HLM+ZLMH+TLM(PLMH[LLMH@ 0(([\ &LM'+KLM+EHWDLMH+TLM']HWDLMH[LLMH' HTQ F  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(+BP L LQSXW LL   &LM(+ PDWUL[             HLM+BP L LQSXW LL    HLM+ PDWUL[LQSXW]HURV  IRUHODVWLFPDWHULDOV             ZLMH+BP L LQSXW LL   ZLMH+ PDWUL[LQSXW]HURV  IRUHODVWLFPDWHULDOV             TLM(BP L LQSXW LL    TLM( PDWUL[LQSXW]HURV  IRUHODVWLFRUSLH]RHOHFWULFPDWHULDOV             PLMHBP L LQSXW LL    PLMH PDWUL[LQSXW]HURV  IRUHODVWLFRUSLH]RHOHFWULFPDWHULDOV             [LLMHBP L LQSXW LL    [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             PS M LQSXW M WN M LQSXW M   PDWHULDOW\SHRIWKHMWKOD\HUWKLFNQHVVRIWKHMWKOD\HU              &LM(+BN M &LM(+BP PS M HLM+BN M HLM+BP PS M   ZLMH+BN M ZLMH+BP PS M              TLM(BN M TLM(BP PS M    PLMHBN M PLMHBP PS M   [LLMHBN M [LLMHBP PS M              &LM(+ &LM(+&LM(+BN M WN M              HLM+ HLM+HLM+BN M WN M              ZLMH+ ZLMH+ZLMH+BN M WN M              TLM( TLM(TLM(BN M WN M              PLMH PLMHPLMHBN M WN M              [LLMH [LLMH[LLMHBN M WN M              WKLFNQHVV WKLFNQHVVWN M  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 LI 3W\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 (  + HTQ E         &LM( &LM(+HLM HLM+ZLMH ZLMH+TLM( TLM(PLMH PLMH[LLMH [LLMH FDVH  VWDWHJHQHUDOL]HGSODQHVWUDLQ (  % HTQ E BVW         >&LM(HLMZLMHTLM(PLMH[LLMH@ 0(('WR' &LM(+HLM+ZLMH+TLM(PLMH[LLMH   HTQ E  FDVH  VWDWHJHQHUDOL]HGSODQHVWUDLQ '  + HTQ E BED         >&LM(HLMZLMHTLM(PLMH[LLMH@ 0(('WR' &LM(+HLM+ZLMH+TLM(PLMH[LLMH   HTQ E  FDVH  VWDWHJHQHUDOL]HGSODQHVWUDLQ '  %  E BS         >&LM(BVWHLMBVWZLMHBVWTLM(BVWPLMHBVW[LLMHBVW@ 0(('WR' &LM(+HLM+ZLMH+TLM(PLMH[LLMH   HTQ E         >&LM(HLMZLMHTLM(PLMH[LLMH@ 0(('WR' &LM(BVWHLMBVWZLMHBVWTLM(BVWPLMHBVW[LLMHBVW   HTQ E  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(+BN N HLM+ HLM+BN N ZLMH+ ZLMH+BN N                  TLM( TLM(BN N PLMH PLMHBN N [LLMH [LLMHBN N                  >&LM(HLMZLMHTLM(PLMH[LLMH@ 3ODQHVWUHVV                 >4LM@ &4P &LM(HLMZLMHTLM(PLMH[LLMH                  K N K N WN N                   $LM $LM4LM WN N                  %LM %LM4LM K N AK N A                  'LM 'LM4LM K N AK N 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   HTQ E        >&LM(HLMZLMHTLM(PLMH[LLMH@ 0(('WR' &LM(BVWHLMBVWZLMHBVWTLM(BVWPLMHBVW[LLMHBVW   HTQ E  FDVH^`  VWDWHJHQHUDOL]HGSODQHVWUHVV '  +  E BEU        >&LM(BEDHLMBEDZLMHBEDTLM(BEDPLMHBED[LLMHBED@ 0(('WR' &LM(+HLM+ZLMH+TLM(PLMH[LLMH   HTQ E        >&LM(HLMZLMHTLM(PLMH[LLMH@ 0(('WR' &LM(BEDHLMBEDZLMHBEDTLM(BEDPLMHBED[LLMHBED   HTQ E  FDVH^`  VWDWHJHQHUDOL]HGSODQHVWUHVV '  %  E BKS        >&LM(BVWHLMBVWZLMHBVWTLM(BVWPLMHBVW[LLMHBVW@ 0(('WR' &LM(+HLM+ZLMH+TLM(PLMH[LLMH   HTQ E        >&LM(BSHLMBSZLMHBSTLM(BSPLMHBS[LLMHBS@ 0(('WR' &LM(BVWHLMBVWZLMHBVWTLM(BVWPLMHBVW[LLMHBVW   HTQ E         >&LM(HLMZLMHTLM(PLMH[LLMH@ 0(('WR' &LM(BSHLMBSZLMHBSTLM(BSPLMHBS[LLMHBS 

HTQ E 

HQG  IXQFWLRQ>4LM@ &4P &LM(HLMZLMHTLM(PLMH[LLMH  JHQHUDWH4LMIRUWKHFDOFXODWLRQRI$LM%LMDQG'LMHTQ E    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   HTQ D BS        HLMBL HLM    ZLMHBL ZLMH                &LM( &LM(HLMBL

HLMBLZLMH        PDWUL[        HLM HLMZLMHBL HLMBLZLMH         PDWUL[        ZLMH ZLMHZLMHBL ZLMHBL ZLMH      PDWUL[ FDVH   HTQ E 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  HTQ E BVW        TLM(BL TLM(  PLMHBP PLMH  [LLMHBP [LLMH          &LM( &LM( TLM(BL

TLM(BL [LLMH          HLM HLM PLMHBP TLM(BL [LLMH          ZLMH ZLMH PLMHBP PLMHBP [LLMH          TLM( TLM( [LLMHBP TLM(BL [LLMH          PLMH PLMH PLMHBP [LLMHBP [LLMH          [LLMH [LLMH [LLMHBP [LLMHBP [LLMH   FDVH  HTQ E  E BEDRUBS        HLMBL HLM  ZLMHBP ZLMH  PLMHBP PLMH  

668

Appendix F: AEPH Source Code (Listed in Alphabetic Order)         &LM( &LM( HLMBL

HLMBL ZLMH           HLM HLM ZLMHBP HLMBL ZLMH           ZLMH ZLMH ZLMHBP ZLMHBP ZLMH           TLM( TLM( PLMHBP HLMBL ZLMH           PLMH PLMH ZLMHBP PLMHBP ZLMH           [LLMH [LLMH PLMHBP PLMHBP ZLMH   FDVH  HTQ E  E  E  E BKDWRUBKVRUBEURUBKS         &LM(BL &LM(    HLMBP HLM    TLM(BP TLM(           &LM( &LM( &LM(BL

&LM(BL &LM(           HLM HLM HLMBP &LM(BL &LM(             ZLMH ZLMH HLMBP HLMBP &LM(           TLM( TLM( TLM(BP &LM(BL &LM(           PLMH PLMH TLM(BP HLMBP &LM(           [LLMH [LLMH TLM(BP TLM(BP &LM(   HQG

F078: MEExy IXQFWLRQ>>;[ S @>[[S@>SSS@@WR>>\\T@>TTT@@ ZKLFKFRUUHVSRQGWRWKHGLIIHUHQWH[SUHVVLRQRIWKHFRQVWLWXWLYHODZVRISLH]RRU0((PDWHULDOV VXFKDVWKRVHVKRZQLQHTQ D DQG   ;XXXXWWWW@L*LWK*DXVVLDQSRLQW   ZKHQ3W\SH!XW L* >XXXXXWWWWW@L*LWK*DXVVLDQSRLQW [GXGVLJGQBGDWDQB*DXVVWKWKU+W\SHH[SODLQHGLQIXQFWLRQVBXW JOREDOGLP  IURP0DLQSURJUDPGLPHQVLRQRIPDWHULDOHLJHQYHFWRUPDWUL[$ >WKJZJ@ *DXVV QB*DXVV   WDNHWKHORFDWLRQRI*DXVVLDQSRLQWV[J IRULJ QB*DXVV     WK WK WKJ LJ WKQ FRV WK Q VLQ WK  QQ QRUPDOGLUHFWLRQRI*DXVVSRLQW     [J  U Q[J  U Q  UF U  UFHTQ E      ZSS ]HURV     ZSS PDWUL[  IRUM QBGDWD          S >[G M UF@>Z[@ ZHLJKW [J[G M UWK    HTQ            ZSS ZSSZ[ S

S

Appendix F: AEPH Source Code (Listed in Alphabetic Order) HQG    X LJ ]HURV GLP   LI+W\SH

VLJ LJ ]HURV GLP 

HOVHLI+W\SH

VLJ LJ ]HURV  GLP HQG

IRUM QBGDWD        S >[G M UF@Z[ ZHLJKW [J[G M UWK   S[J >[JUF@  HTQ          EDVHI Z[ S[J LQY ZSS S   HTQ  EDVLVIXQFWLRQDWSRLQW[J        X LJ X LJ EDVHI XG M   VLJ LJ VLJ LJ EDVHI VLJG M HTQ   HQG LI+W\SH

VLJ VLJ LJ W LJ VLJPDW VLJQQ HQG

HQG LI+W\SH

XW GLP XXW GLP GLP VLJ

HOVHLI+W\SH

XW GLP XXW GLP GLP WHQG

 IXQFWLRQ>Z[@ ZHLJKW [J[GUWK  JOREDO1PDWHSVWKNIURP0DLQSURJUDP VBXW &DOFXODWHVWKHZHLJKWIXQFWLRQIRUWKHPRYLQJOHDVWVTXDUHVZKLFKLVSURYLGHGLQHTQ D B IRUL 1PDW LI WKWKN L WKWKN L  JU LEUHDNHQG LJWKHUHJLRQWKDW*DXVVLDQSRLQWORFDWHV HQG [V [G  FRV WKN  [G  VLQ WKN  [V [G  VLQ WKN  [G  FRV WKN   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 WKGWKN JU WKGWKN JU LG PHDQVWKDWWKHGDWDSRLQW[GORFDWHVDWWKHVDPHUHJLRQDVWKH*DXVVLDQSRLQW  DOS F  H[S DOS F H[S DOS FUF U  HTQ E  U [J  [G  A [J  [G  AU[ VTUW U   LI U[UF HSV LG Z[ F H[S DOS UUFA FHTQ D  HOVHZ[ HQG  IXQFWLRQW VLJPDW VLJQQ  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      ' VTUW EA D F    VTUWRIHTQ $      ]  F E' ]  F E'   HTQ $  LIDEV ] DEV ]          [ []  HTQ $ HOVH         [ []  HTQ $ HQG     >I@ IXQFW [3URE   FDOFXODWHIE\XVLQJ[     G[ DEV [[ [    LIDEV I  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@ PXOWLZHGJH GHOWK0: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 1KDWBN WKHWDWKN N A ?GHOWD .H B N 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 *DPPDBN WKHWD AVWDU .7 B N WHUPLQHTQ D B 0:W\SH WKHUPDOSURE. )N .7.S GHULYDWLYHRI. )N .7 )BN WKHWD AVWDU .7 B N WHUPLQHTQ D B 0:W\SH WKHUPDOSURE. (N .F.S GHULYDWLYHRI. (N .F (BN WKHWD AVWDU .F B N WHUPLQHTQ D 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\H GLP  IRUN 1PDW   1PDWQXPEHURIZHGJHV PDWHULDOV            >1G(N1G@ 6WURKBPDWULFHV WKN N WKN N GHON   FDOFXODWH(NRIHTQ              .H (N .H  HTQ   HQG ZEF ZHGJHVSDFHZEF IUHHIL[HGZEF IL[HGIL[HGZEF IUHHIUHHZEF IL[HGIUHH VZLWFKZEF  FDVH. .HH\H GLP          HTQ    B FDVH. .H GLPGLP       HTQ  B  B FDVH. .H GLPGLPGLP HTQ  B  B FDVH. .H GLPGLPGLP HTQ  B  B FDVH. .H GLPGLPGLPGLP HTQ  B  B HQG         .S GHW .    HTQ   FDVH  QRQWKHUPDOSURE. (N .H.S GHULYDWLYHRI.WHUPLQ   . (N .H1KDWBN WKHWDWKN N A ?GHOWD .H B N RIHTQ  .HB N GHILQHGLQ   .S.ASULPHLHWKHGHULYDWLYHRI.ZLWKUHVSHFWWR?WKHWD         . H\H GLP   IRUN 1PDW   1PDWQXPEHURIZHGJHV PDWHULDOV             GWK WKWKN N  LIGWKHSV                 >1G(N1G@ 6WURKBPDWULFHV WKWKN N GHON      FDOFXODWH(NRIHTQ  

671

672

Appendix F: AEPH Source Code (Listed in Alphabetic Order)                >1GS(NS1GS@ 6WURKBPDWULFHV WKWKN N GHON   FDOFXODWH(NSRIHTQ                  .S (NS .  . (N . EUHDN HOVH                >1G(N1G@ 6WURKBPDWULFHV WKN N WKN N 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   1PDWQXPEHURIZHGJHV PDWHULDOV            >/DPNWDXG*DPN@ 6WURKBPDWULFHV WKN N WKN N GHON   /DPNWDXG*DPNRIHTQ E             .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.WHUPLQHTQ D B . *DPN .7*DPPDBN WKHWD AVWDU .7 B N WHUPLQHTQ D B .S.ASULPHLHWKHGHULYDWLYHRI.ZLWKUHVSHFWWR?WKHWD        . H\H   IRUN 1PDW   1PDWQXPEHURIZHGJHV PDWHULDOV            GWK WKWKN N  LIGWKHSV                >/DPNWDXG*DPN@ 6WURKBPDWULFHV WKWKN N GHON   *DPNRIHTQ E B                >/DPNWDXGS*DPNS@ 6WURKBPDWULFHV WKWKN N GHON   *DPNSRIHTQ E B                .S *DPNS .   . *DPN . EUHDN HOVH                >/DPNWDXG*DPN@ 6WURKBPDWULFHV WKN N WKN N GHON   *DPNRIHTQ E B                . *DPN .   .VWDQGVIRU.7HTQ   HQG HQG FDVH   WKHUPDOSURE. )N .7.S GHULYDWLYHRI.WHUPLQHTQ D B . )N .7)BN WKHWD AVWDU .7B N SDUWRIHTQ D B .S.ASULPHLHWKHGHULYDWLYHRI.ZLWKUHVSHFWWR?WKHWD        . H\H   IRUN 1PDW   1PDWQXPEHURIZHGJHV PDWHULDOV            GWK WKWKN N  LIGWKHSV                >/DPNWDXG*DPN@ 6WURKBPDWULFHV WKWKN N GHON   HTQ E                 >/DPNWDXGS*DPNS@ 6WURKBPDWULFHV WKWKN N GHON   HTQ E                 >1G(N1G@ 6WURKBPDWULFHV WKWKN N GHON   FDOFXODWH(NRIHTQ E 

Appendix F: AEPH Source Code (Listed in Alphabetic Order)                >1GS(NS1GS@ 6WURKBPDWULFHV WKWKN N GHON   FDOFXODWH(NSRIHTQ E  /DPN /DPGDBNSDUWRIHTQ E B WDXG GLDJ WDXBKDW WKHWDWKHWDB N A GHOWD HTQ E BWDXGSGHULYDWLYHZUWWKHWD *DPN *DPPDBNAVWDU WKHWD RIHTQ E B*DPNSLWVGHULYDWLYHZUWWKHWD (N (BNAVWDU WKHWD RIHTQ E B(NSLWVGHULYDWLYH LI1PDW

F FG GWDX WDX

HOVHF FBD N G GBD N WDX WDXBD N   HQG                8N >FFRQM F GFRQM G @    HTQ                  WDXBK FRV WKN N WDX VLQ WKN N                 )N (N 8N8N WDXG GLDJ >WDXBKFRQM WDXBK @ LQY /DPN  GHO GHO    HTQ E B                )NS (NS 8N8N WDXGS GLDJ >WDXBKFRQM WDXBK @ LQY /DPN  GHO GHO HTQ E B                .S )NS .   . )N .     EUHDN HOVH                >/DPNWDXG*DPN@ 6WURKBPDWULFHV WKN N WKN N GHON   *DPNRIHTQ E                 . *DPN .   .VWDQGVIRU.7HTQ   HQG HQG FDVH      WKHUPDOSURE. (N .F.S GHULYDWLYHRI.WHUPLQHTQ D B . (N .F1KDWBN WKHWDWKN N A ?GHOWD .H B N RIHTQ  .HB N GHILQHGLQ   .S.ASULPHLHWKHGHULYDWLYHRI.ZLWKUHVSHFWWR?WKHWD        . ]HURV  GLP *DP H\H  *DPN H\H     IRUN 1PDW   1PDWQXPEHURIZHGJHV PDWHULDOV            GWK WKWKN N  LIGWKHSV                >1G(N1G@ 6WURKBPDWULFHV WKWKN N GHON   FDOFXODWH(NRIHTQ                  >1GS(NS1GS@ 6WURKBPDWULFHV WKWKN N GHON   FDOFXODWH(NSRIHTQ                  .S (NS .  . (N . EUHDN HOVH                *DP *DPN *DP                >1G(N1G@ 6WURKBPDWULFHV WKN N WKN N GHON   FDOFXODWH(NRIHTQ                  >/DPNWDXG*DPN@ 6WURKBPDWULFHV WKN N WKN N GHON   HTQ E  LI1PDW

F FG GWDX WDX

HOVHF FBD N G GBD N WDX WDXBD N   HQG                8N >FFRQM F GFRQM G @    HTQ                  WDXBK FRV WKN N WDX VLQ WKN N                 )N (N 8N8N WDXG GLDJ >WDXBKFRQM WDXBK @ LQY /DPN  GHO GHO   HTQ E B                . (N .)N *DP   .VWDQGVIRU.FHTQ F B HQG HQG FDVH  WKHUPDOSURE..SYDQGZRIHTQ             GLP GLP   .H H\H GLP   .7 H\H    .F ]HURV GLP *DP H\H  *DPN H\H     IRUN 1PDW   1PDWQXPEHURIZHGJHV PDWHULDOV            *DP *DPN *DP            >1G(N1G@ 6WURKBPDWULFHV WKN N WKN N GHON   FDOFXODWH(NRIHTQ              >/DPNWDXG*DPN@ 6WURKBPDWULFHV WKN N WKN N GHON   HTQ E  LI1PDW

F FG GWDX WDX

HOVHF FBD N G GBD N WDX WDXBD N   HQG

673

674

Appendix F: AEPH Source Code (Listed in Alphabetic Order)             8N >FFRQM F GFRQM G @    HTQ               WDXBK FRV WKN N WDX VLQ WKN N              )N (N 8N8N WDXG GLDJ >WDXBKFRQM WDXBK @ LQY /DPN  GHO GHO   HTQ E B             .F (N .F)N *DP   HTQ F B             .H (N .H          HTQ               .7 *DPN .7    .VWDQGVIRU.7HTQ   HQG   FDOFXODWHYDQGZIURP     VZLWFKZEF     FDVH   ZEF ZHGJHVSDFH                 .7, .7H\H                   >8'9@ VYG .7,   Y M 9 HQG VYGDPDWODEIXQFWLRQVLQJXODUYDOXHGHFRPSRVLWLRQ PDWUL[GLDJRQL]DWLRQLH.7, 8'9ZKHUHGLDJRQDOPDWUL['FRQVLVWVRIWKHQRQQHJDWLYHHOHPHQWVLQ  GHFUHDVLQJRUGHU8DQG9XQLWDU\PDWUL[WKHODVWFROXPQRI9SURYLGHVWKHHLJHQYHFWRURI.7,                 Z LQY .HH\H GLP .F Y  HTQ E  FDVH   ZEF IUHHIL[HGERXQGDU\FRQGLWLRQ LIEFW

_EFW

HOVHLIEFW

  S >@  T .F GLP       HTQ F B

_EFW

  S >@  T .F GLP   HQG

HTQ F B

                Y SZ >LQY .H GLPGLP T]HURV GLP @   HTQ E  FDVH   ZEF IL[HGIL[HGERXQGDU\FRQGLWLRQ LIEFW

_EFW

HOVHLIEFW

  S >@  T .F GLP       HTQ F B

_EFW

  S >@  T .F GLP   HQG

HTQ F B

                Y SZ >]HURV GLP LQY .H GLPGLPGLP T@   HTQ E  FDVH   ZEF IUHHIUHHERXQGDU\FRQGLWLRQ LIEFW

_EFW

HOVHLIEFW

  S >@  T .F GLPGLP       HTQ F B

_EFW

  S >@  T .F GLPGLP   HQG

HTQ F B

                Y SZ >LQY .H GLPGLPGLP T]HURV GLP @   HTQ E  FDVH   ZEF IL[HGIUHHERXQGDU\FRQGLWLRQ LIEFW

_EFW

HOVHLIEFW

  S >@  T .F GLPGLP       HTQ F B

_EFW

  S >@  T .F GLPGLP   HQG

HTQ F B

                Y SZ >]HURV GLP LQY .H GLPGLPGLPGLP T@   HTQ E  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$QLQWHJHUWKDWLGHQWLILHVWKHILOH 5HVXOWW[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 GDWHVWU QRZ @     PNGLU IROGHU1DPH  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      ISULQWI ILG

5HVXOWV

?U?Q 

    ISULQWI ILG                                               V           ?U?Q GDWHVWU QRZ      ISULQWI ILG 352%/(0',0(16,21 'W\SH V?U?Q 'W\SHBVWULQJ      ISULQWI ILG /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]RSURSHUWLHVHTQ D BVRPHRIWKHPDUHJHQHUDWHGLQSLH]R &LM'KLMEHWDLMH  HODVWLFDQGSLH]RSURSHUWLHVHTQ D BVRPHRIWKHPDUHJHQHUDWHGLQSLH]R 6LM'JLMEHWDLMV  HODVWLFDQGSLH]RSURSHUWLHVHTQ D BVRPHRIWKHPDUHJHQHUDWHGLQSLH]R 6LM'BKDWJLMBKDWEHWDLMVBKDW  UHGXFHGHODVWLFDQGSLH]RSURSHUWLHVHTQ  B 6LM'BSJLMBSEHWDLMVBS  UHGXFHGHODVWLFDQGSLH]RSURSHUWLHVHTQ  B 6LM'BSKJLMBSKEHWDLMVBSK  UHGXFHGHODVWLFDQGSLH]RSURSHUWLHVHTQ D B 6LM(BKDWGLMBKDWZLMVBKDW  UHGXFHGHODVWLFDQGSLH]RSURSHUWLHVHTQ D B 6LM(BSGLMBSZLMVBS   UHGXFHGHODVWLFDQGSLH]RSURSHUWLHVRI D B 6LM(BSKGLMBSKZLMVBSK   UHGXFHGHODVWLFDQGSLH]RSURSHUWLHVRI D B &LM'BKDWKLMBKDWEHWDLMHBKDW  UHGXFHGHODVWLFDQGSLH]RSURSHUWLHVRI D B &LM'BSKLMBSEHWDLMHBS  UHGXFHGHODVWLFDQGSLH]RSURSHUWLHVHTQ D B &LM'BSKKLMBSKEHWDLMHBSK   UHGXFHGHODVWLFDQGSLH]RSURSHUWLHVRI D B  JOREDO3W\SH'W\SH&LM(HLMZLMH  IURP0DLQSURJUDP 3W\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 LQY ZLMH       PDWUL[        KLM EHWDLMH HLM        PDWUL[        &LM' &LM(HLM

KLM     PDWUL[        EHWDLMV LQY ZLMV       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 LQY ZLMV       PDWUL[         JLM EHWDLMV GLM        PDWUL[         6LM' 6LM(JLM

GLM     PDWUL[         &LM' LQY 6LM'          PDWUL[         KLM JLM &LM'           PDWUL[         EHWDLMH EHWDLMVKLM JLM    PDWUL[  FDVH   6LM'JLMEHWDLMV &LM'KLMEHWDLMH &LM(HLMZLMHSURYLGHGE\SLH]R0         ZLMV LQY EHWDLMV       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 LQY ZLMH       PDWUL[         KLM EHWDLMH HLM        PDWUL[         &LM' &LM(HLM

KLM     PDWUL[         EHWDLMV LQY ZLMV       PDWUL[          JLM EHWDLMV GLM        PDWUL[               6LM' 6LM(JLM

GLM     PDWUL[ HQG  VZLWFK'W\SH    HTQV GH   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]R0 LQSXW 

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[HTQ D B LQSXW&LM(  PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>&&&&&&&&@ LQSXWHLM  PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>HHHHHHHH@ LQSXWZLMH  PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>ZZZZZZZZZ@ 3W\SH  LQSXWSLH]RHOHFWULFSURSHUWLHVWKURXJK&LM'KLMDQGEHWDLMHZLWKD PDWUL[HTQ D B LQSXW&LM'  PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>&&&&&&&&@ LQSXWKLM  PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>KKKKKKKK@ LQSXWEHWDLMH  PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>EHWDEHWDEHWDEHWD@ 3W\SH  LQSXWSLH]RHOHFWULFSURSHUWLHVWKURXJK6LM(GLMDQGZLMVZLWKD PDWUL[HTQ D B LQSXW6LM(  PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>66666666@ LQSXWGLM  PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>GGGGGGGG@ LQSXWZLMV  PDWUL[ DFFRUGLQJWRWKHVHTXHQFHRI>ZZZZZZZZZ@ 3W\SH  LQSXWSLH]RHOHFWULFSURSHUWLHVWKURXJK6LM'JLMDQGEHWDLMVD PDWUL[HTQ D 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>PS M WN M @BM Q 3W\SH a LQSXWPDJQHWRHOHFWURHODVWLFSURSHUWLHVWKURXJKGLIIHUHQWZD\VVHHIXQFWLRQ0((IRULWVGHWDLOHGH[SOQDWLRQ         */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ &LM(HLMZLMH    HODVWLFDQGSLH]RSURSHUWLHVHTQ D B WKLFNQHVVSODWHWKLFNQHVV &LM(BNHLMBNZLMHBNHODVWLFSLH]RSURSHUWLHVDWWKHNWKOD\HUHTQ   &LM6LMH[SDQGHG&LMDQG6LMIRU'SLH]RHOHFWULFRU0((PDWHULDOV ZKLFKKDVEHHQQRQGLPHQVLRQDOL]HGE\GLYLGLQJRUPXOWLSO\LQJ(DOVRWRNHHSWKHLURULJLQDOGLPHQVLRQ ]HURURZVDQGFROXPQVKDYHEHHQDGGHGWRWKHUGWKDQGRUWKURZVFROXPQ &LM'KLMEHWDLMH6LM(GLMZLMV6LM'JLMEHWDLMVHODVWLFDQGSLH]RSURSHUWLHVHTQ D 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[HTQ D B         &LM( LQSXW    HLM LQSXW    ZLMH LQSXW   LI'W\SH

_'W\SH

WKLFNQHVV LQSXW    HQG

SODWHWKLFNQHVVIRUFRXSOHGVWUHWFKLQJEHQGLQJSUREOHP 

FDVH   LQSXWSLH]RHOHFWULFSURSHUWLHVWKURXJK&LM'KLMDQGEHWDLMHZLWKD PDWUL[HTQ D B         &LM' LQSXW    KLM LQSXW    EHWDLMH LQSXW   LI'W\SH

_'W\SH

WKLFNQHVV LQSXW    HQG

SODWHWKLFNQHVVIRUFRXSOHGVWUHWFKLQJEHQGLQJSUREOHP

       >&LM(HLMZLMHTTT@ 0(([\ &LM'KLMEHWDLMH   HTQ E  FDVH   LQSXWSLH]RHOHFWULFSURSHUWLHVWKURXJK6LM(GLMDQGZLMVZLWKD PDWUL[HTQ D B        6LM( LQSXW    GLM LQSXW    ZLMV LQSXW     LI'W\SH

_'W\SH

WKLFNQHVV LQSXW    HQG

SODWHWKLFNQHVVIRUFRXSOHGVWUHWFKLQJEHQGLQJSUREOHP

       >&LM(HLMZLMHTTT@ 0(([\ 6LM(GLMZLMV    HTQ E  FDVH   LQSXWSLH]RHOHFWULFSURSHUWLHVWKURXJK6LM'JLMDQGEHWDLMVD PDWUL[HTQ D B        6LM' LQSXW    JLM LQSXW    EHWDLMV LQSXW   LI'W\SH

_'W\SH

WKLFNQHVV LQSXW    HQG

SODWHWKLFNQHVVIRUFRXSOHGVWUHWFKLQJEHQGLQJSUREOHP

       >&LM'KLMEHWDLMHTTT@ 0(([\ 6LM'JLMEHWDLMV    HTQ E         >&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(BP L LQSXW LL   &LM(BP PDWUL[            HLMBP L LQSXW LL    HLMBP PDWUL[LQSXW]HURV  IRUHODVWLFPDWHULDOV            ZLMHBP L LQSXW LL   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)             PS M LQSXW M WN M LQSXW M   PDWHULDOW\SHRIWKHMWKOD\HUWKLFNQHVVRIWKHMWKOD\HU              &LM(BN M &LM(BP PS M HLMBN M HLMBP PS M   ZLMHBN M ZLMHBP PS M              &LM( &LM(&LM(BN M WN M              HLM HLMHLMBN M WN M              ZLMH ZLMHZLMHBN M WN M              WKLFNQHVV WKLFNQHVVWN M     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 RSHQFLUFXLWHTQ D         >&LM(HLMZLMHTLM(PLMH[LLMH@ 0(('WR' &LM(HLMZLMH FDOFXODWH&LM(BSHLMBSZLMHBSHTQ D  FDVH     JHQHUDOL]HGSODQHVWUHVV VKRUWFLUFXLWHTQ E         >&LM(HLMZLMHTLM(PLMH[LLMH@ 0(('WR' &LM(HLMZLMH FDOFXODWH&LM(BKDWHLMBKDWZLMHBKDWHTQ E  FDVH     JHQHUDOL]HGSODQHVWUHVV RSHQFLUFXLWHTQ F         >&LM(BKDWHLMBKDWZLMHBKDWTLM(PLMH[LLMH@ 0(('WR' &LM(HLMZLMH FDOFXODWH&LM(BKDWHLMBKDWZLMHBKDWHTQ E          >&LM(HLMZLMHTLM(PLMH[LLMH@ 0(('WR' &LM(BKDWHLMBKDWZLMHBKDW FDOFXODWH&LM(BSKHLMBSKZLMHBSKHTQ F  FDVH^`   FRXSOHGVWUHWFKLQJEHQGLQJHTQV EF  D  E LI3W\SH              >&LM(HLMZLMHTLM(PLMH[LLMH@ 0(('WR' &LM(HLMZLMH FDOFXODWH&LM(BKDWHLMBKDWZLMHBKDWHTQ E  LI'W\SH

>&LM(HLMZLMHTLM(PLMH[LLMH@ 0(('WR' &LM(HLMZLMH HQG

FDOFXODWH&LM(BSKHLMBSKZLMHBSKHTQ F              >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(BN N HLMBN N ZLMHBN N    FDOFXODWH&LM(BKDWHLMBKDWZLMHBKDWHTQ E  LI'W\SH

>&LM(HLMZLMHTLM(PLMH[LLMH@ 0(('WR' &LM(HLMZLMH HQG

FDOFXODWH&LM(BSKHLMBSKZLMHBSKHTQ F 

681

682

Appendix F: AEPH Source Code (Listed in Alphabetic Order)                >4LM@ &4S &LM(HLMZLMH                  K N K N WN N                  $LM $LM4LM WN N                 %LM %LM4LM K N AK N A                 'LM 'LM4LM K N AK N 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@  HTQ D B PDWUL[IRUSLH]RRU0(( LI3W\SH!PLMH PLMH ([LLMH [LLMH (         &LMJ >&LMJ>TLM( PLMH@TLM(PLMH[LLMH@HQG

HTQ D 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'LMHTQ E    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@    HTQ D 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@   HTQ D B  FDVH     JHQHUDOL]HGSODQHVWUHVV VKRUWFLUFXLW (   LI3W\SHa >6LM(GLMZLMVTTT@ 0(([\ &LM(HLMZLMH HQG

6LM(GLMZLMVDOUHDG\H[LVWHGIRU3W\SH 

        &6 >6LM(GLM GLMZLMV@    HTQ D 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@   HTQ D B FDVH   VWDWHJHQHUDOL]HGSODQHVWUDLQ (  + HTQ E         &6 >&LM(+HLM+ HLM+ZLMH+@    HTQ D B          &6 >&6>TLM( PLMH@TLM(PLMH[LLMH@  HTQ D B FDVH   VWDWHJHQHUDOL]HGSODQHVWUDLQ (  % HTQ E LI3W\SHa >&LM(%HLM%ZLMH%KWLM(HWDLMHQXLMH(@ 0(([\ &LM(+HLM+ZLMH+TLM(PLMH[LLMH HQG         &6 >&LM(%HLM% HLM%ZLMH%@    HTQ D B         &6 >&6>KWLM( HWDLMH@KWLM(HWDLMHQXLMH(@  HTQ E B FDVH   VWDWHJHQHUDOL]HGSODQHVWUDLQ '  + HTQ E LI3W\SHa >&LM'+KLM+EHWDLMH+TLM']HWDLMH[LLMH'@ 0(([\ &LM(+HLM+ZLMH+TLM(PLMH[LLMH HQG         &6 >&LM'+KLM+ KLM+EHWDLMH+@  HTQ D B         &6 >&6>TLM' ]HWDLMH@TLM']HWDLMH[LLMH'@  HTQ F 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%@  HTQ D B         &6 >&6>KWLM' ODPGDLMH@KWLM'ODPGDLMHQXLMH'@  HTQ G B FDVH   VWDWHJHQHUDOL]HGSODQHVWUHVV (  + HTQ E  LI3W\SHa >6LM(+GLM+ZLMV+GWLM(PLMV[LLMV@ 0(([\ &LM(+HLM+ZLMH+TLM(PLMH[LLMH HQG         &6 >6LM(+GLM+ GLM+ZLMV+@  HTQ D B         &6 >&6>GWLM( PLMV@GWLM(PLMV[LLMV@  HTQ D B FDVH   VWDWHJHQHUDOL]HGSODQHVWUHVV (  % HTQ E 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%@  HTQ D B         &6 >&6>JWLM( HWDLMV@JWLM(HWDLMVQXLMV(@HTQ E B FDVH   VWDWHJHQHUDOL]HGSODQHVWUHVV '  + HTQ E

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+@  HTQ D B        &6 >&6>GWLM' ]HWDLMV@GWLM']HWDLMV[LLMV'@  HTQ F 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%@  HTQ D B        &6 >&6>JWLM' ODPGDLMV@JWLM'ODPGDLMVQXLMV'@  HTQ G B  RWKHUZLVH        &6 QDQ   QRQHHGWRFDOFXODWHIRU'FDVHV HQG

F086: positionTime IXQFWLRQ>6WP6[\GV9ZTQVS@ SRVLWLRQ7LPH [LGVYNZT6[\GV9ZTQVSQVS37W\SHLVU  )XQFWLRQSRVLWLRQ7LPHJHQHUDWHV6WPDQG6[\DFFRUGLQJWR37W\SHLQZKLFK6WPFRQWDLQVWKHLQGH[ WRLGHQWLI\WKHQHDUHVWWLPHRIWKHVHOHFWHGWLPHIRUSULQWLQJVSDFHYDULDWLRQDQG6[\FRQWDLQVWKHLQGH[ WRLGHQWLI\WKHQHDUHVWSRLQWRIWKHVHOHFWHGSRVLWLRQIRUSULQWLQJWLPHYDULDWLRQ  6WP6WP M NMWKVHOHFWHGWLPHLVFORVHWRNWKWLPH !WL M WLPHN N W N GW 6[\6[\ M YNMWKVHOHFWHGSRVLWLRQLVFORVHWRYNWKSRLQW ![\L M ;LN N LI2W\SHa  6[\ M >ZT@MWKVHOHFWHGSRVLWLRQLVFORVHWR>ZT@WKSRLQW ![\L M ;LN ZT 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          6WP QW QDQ  6[\ QDQGV QDQ9ZT QDQQVS QDQ   GHIDXOW        GW 5WLPH  WLPHVWHSXVHGLQWLPHGLVWULEXWLRQ        L LQLWLDOVWHSRIWLPH IRUM QWV            GWL WL L WLPHN M   LIGWLGW6WP L 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 VXP Q[\ LVU HQG WRWDOQXPEHURIVHOHFWHGSRVLWLRQLQWKHSUHYLRXVUHJLRQV WRLVU 

IRUL Q[\ LVU              UL UL LILVQDQ 6[\ L



                G[L [L  [\L UL G\L [L  [\L UL GVL VTUW G[LAG\LA  LILVQDQ GV L



QRSRLQWKDVEHHQLGHQWLILHGWREHQHDUWRWKHVHOHFWHGSRVLWLRQ

LI GVLGV  HSV  VDPHDVGVL GVKHUHDGGHSVWRDYRLGURXQGLQJHUURU LI2W\SH

6[\ L YN  VHOHFWHGSRLQWVKRXOGEHRQHRIWKHLQWHUQDOSRLQWV

HOVHGV L GVL9ZT LY 9ZTQVS L HQG

QHDUWRWKHVHOHFWHGSRVLWLRQ

HQG HOVH

VRPHSRLQWVKDYHEHHQLGHQWLILHGWREHQHDUWRWKHVHOHFWHGSRVLWLRQ LI GVLGV  HSV  VDPHDVGVL GVKHUHDGGHSVWRDYRLGURXQGLQJHUURU

                        QVS L QVS L    LQFUHDVHWKHQXPEHURIQHDUHVWSRLQWV LIGVLGV L GV L GVL9ZT LY 9ZTHQG

WKHSUHVHQWSRLQWLVFORVHUWKDQWKHSUHYLRXVRQH

LIQVS L

6[\LVDQ[\ RUQ[\ PDWUL[

QVS6[\ LY 9ZT LY 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 WLWOH VWU^M` VXUISORW ;LN8LN                 VDYHDV I>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 \V N @   DOLQHVKRZLQJWKHPDJQLWXGHRIQRUPDOVWUHVV HQG                 KROGRQ  SORWWKHRXWHUFRQWRXUFRQQHFWLQJWKHOLQHKHDG  LIPLQ LVQDQ VLJQQ

  SORWRQO\ZKHQWKHGDWDDUHDYDLODEOH

                    SORW [V\V                       [ODEHO ^ [ > ˰ ˰B^`?WLPHVVFDOHOLQHOHQJWK˰B^` QXPVWU VLJ H  @` 

688

Appendix F: AEPH Source Code (Listed in Alphabetic Order)                     \ODEHO \ WLWOH VWU D[LVHTXDO                       VDYHDV I>FG ? IROGHU1DPH ?OLQHSORWRIQRUPDOVWUHVVSQJ @ FOI HQG HQG SORWRIGHIRUPDWLRQ IRUN YN[G N ; N X N VFDOH\G N < N X N VFDOHHQG         SORW ; 'HIRUPDWLRQLVPDJQLILHGE\WKHVFDOLQJIDFWRU QXPVWU VFDOH H  @`           OHJHQG EHIRUHGHIRUPDWLRQ  DIWHUGHIRUPDWLRQ  /RFDWLRQ  VRXWKRXWVLGH OHJHQG ER[RII          \ODEHO \ WLWOH GHIRUPDWLRQ D[LVHTXDO         VDYHDV I>FG ? IROGHU1DPH ?SORWRIGHIRUPDWLRQSQJ @ FOI   FDVH  SORWRIWDQJHQWLDOHOHFWULFGLVSODFHPHQWRQWKHREMHFWVXFKDVLQFOXVLRQ          VWU >VWU 'V @VWU >VWU 'V @          'V =            SORW2%- I;VWU 'VV PRPHQW @ LI/W\SH

__/W\SH

__/W\SH

__/W\SH



            VWU >VWU 'V @VWU >VWU 'VV PRPHQW @             'V = HQG 'VV = HQG              VWU >VWU 'V @VWU >VWU 'VV PRPHQW @             SORW2%- I;VWU %V @VWU >VWU %VV PRPHQW @             SORW2%- I;VWU %QQ PRPHQW @             SORW2%- I;< N \V N @   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^` QXPVWU VLJ H  @`       \ODEHO \ WLWOH VWU D[LVHTXDO      VDYHDV I>FG ? IROGHU1DPH ?OLQHSORWRI VWU SQJ @ FOI HQG  IXQFWLRQVXUISORW ;LN8LN  JOREDOVFDOH    IURPIXQFWLRQ7DEOH)LJSORWDGMXVWPHQW JOREDOVXUIQ[  IURPIXQFWLRQVXUIDFHLQWHUQDOW\SHRIVXUIDFH QXPEHURISRLQWVHYDOXDWHGLQ[GLUHFWLRQ LIVXUI



    KROGRQ     K[  ;LN  Q[  Q[  K\  ;LN  Q[  Q[   KX  8LN  Q[  Q[  KX  8LN  Q[  Q[       K[ >K[  K[  @K\ >K\  K\  @  KX >KX  KX  @KX >KX  KX  @     K[G K[KX VFDOHK\G K\KX VFDOH     ILOO K[GK\G Z      SORW K[K\ N    HQG

F088: s5_ut IXQFWLRQ>XWORDGVWU@ VBXW ORDGVWU  VBXWSURYLGHVWKHGLVSODFHPHQWVDQGWUDFWLRQVDWWKH*DXVVLDQSRLQWVIRUWKHXVHRI+LQWHJUDO XWGLVSODFHPHQWVXDQGWUDFWLRQVWDWWKH*DXVVLDQSRLQWVHJ

Appendix F: AEPH Source Code (Listed in Alphabetic Order) ZKHQ3W\SH XW L* >XXXWWW@L*LWK*DXVVLDQSRLQW ORDGVWUORDGDQGVWUXFWXUHLQIRUPDWLRQUHTXLUHGE\IXQFWLRQV0ZHGJH62( ORDGVWUORDGDQGVWUXFWXUHLQIRUPDWLRQUHTXLUHGE\IXQFWLRQV0ZHGJH6,)G */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ WKNYHFWRURISRODUDQJOHVRIZHGJHVLGHVWKN  WKN  WKN Q LQSXWXQLWGHJUHH 1RWHFRPSDUHZLWKWKHV\PEROXVHGLQ)LJDQG)LJWKN  VWDQGVIRUWKHWDWKN  WKHWDHWF +W\SHW\SHRIGLVSODFHPHQWVDQGWUDFWLRQV RUVWUHVVHV 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,UDGLXVRILQWHJUDWLRQSDWK FLUFXODUSDWK  UUHIHUHQFHOHQJWK QOLQHQXPEHURISLHFHZLVHOLQH SLHFHZLVHOLQHLQWHJUDWLRQSDWK  [\Q L ORFDWLRQRIFRQQHFWLRQQRGHIRUSLHFHZLVHOLQHLQWHJUDWLRQ [\Q L [RIWKHLWKQRGH[\Q L [RIWKHLWKQRGHQXPEHURIQRGHV QOLQH WK WKN 1PDW WKN  ZKHUHWKN L DQJOHRIZHGJHVLGHVWKN  WKN  WKN Q  WK WKN 1PDW WKN   WK6,)DQJOHWKDWGHILQHVWKHVWUHVVLQWHQVLW\IDFWRUV 6,) LHWKHWDRIN WKHWD LQHTQ   JOREDO1PDW3W\SHGLP   IURP0DLQSURJUDPFRQWUROSDUDPHWHUV JOREDOWKN+W\SHQB*DXVVU,UWKWKWK6,)QOLQH[\QJHQHUDWHG ORDGVWU ORDGVWU    3UHSDUHORDGVWUDVUHTXLUHGE\V0ZHGJH62( WKN ORDGVWU 1PDW SLDQJOHRIZHGJHVLGHVWKN  WKN  WKN Q XQLWGHJUHHFRQYHUWHGWRUDGLDQ WK6,) ORDGVWU 1PDW SLDQJOHWKDWGHILQHVWKHVWUHVVLQWHQVLW\IDFWRUV 6,) LHWKHWDRIN WKHWD LQHTQ   HJIRUDQLQFOLQHGFUDFN ZLWKDQJOHDOSKDFRXQWHUFORFNZLVHIURP[D[LV WK6,) DOSKDIRUWKHULJKWWLS ZLWKWKLVDQJOHWKH6,)REWDLQHGLVGHILQHGEDVHGXSRQWKHGLUHFWLRQO\LQJDORQJWKHFUDFN +W\SH ORDGVWU     W\SHRIGLVSODFHPHQWVDQGWUDFWLRQV RUVWUHVVHV SURYLGHGIRUWKHDFWXDOV\VWHP QB*DXVV ORDGVWU  QXPEHURI*DXVVLDQSRLQWVIRULQWHJUDWLRQRQWKHWDVXJJHVWHGQXPEHU  U, ORDGVWU  UDGLXVRILQWHJUDOSDWKZKLFKVKRXOGEHJLYHQIRUDOO+W\SH ZKHQ+W\SH RUWKLVUDGLXVRILQWHJUDOSDWKLVIRUWKHHYDOXDWLRQRI+BVWDUGHILQHGLQ E HYHQLWLVLQGHSHQGHQWRIU, U ORDGVWU    UHIHUHQFHOHQJWK [\ ORDGVWU  ORFDWLRQRIWKHZHGJHFUDFNWLS LI+W\SH

_+W\SH



   QOLQH ORDGVWU  QXPEHURISLHFHZLVHOLQH    [\Q ORDGVWU  ORFDWLRQRIFRQQHFWLRQQRGHIRUSLHFHZLVHOLQHLQWHJUDWLRQ    [\Q  [\Q  [\    [\Q  [\Q  [\    EDVHGXSRQWKHORFDOFRRUGLQDWHZLWKRULJLQDWWKHZHGJHFUDFNWLS HQG WK WKN 1PDW WKN  WK WKN 1PDW WKN   VZLWFK+W\SH FDVH^`   LQSXWGLVSODFHPHQWVDQGWUDFWLRQVDWWKH*DXVVLDQSRLQWVREWDLQHGE\HJ%(0 *DXVVLDQSRLQWVDUHDUUDQJHGDFFRUGLQJWRWKHVHTXHQFHIURPWR LI+W\SH

Q* QB*DXVVLXW HOVHQ* QOLQH QB*DXVVLXW HQG

       XW ORDGVWU LXWLXWQ* GLP     GLVSODFHPHQWVDQGWUDFWLRQVIURPRWKHUVRXUFHV ([LIGLP XW N XXX DQGXW N WWW RIWKHNWK*DXVVSRLQWV

691

692

Appendix F: AEPH Source Code (Listed in Alphabetic Order) XXXDQGWWWDUHWKHGLVSODFHPHQWVDQGWUDFWLRQVLQ[[[GLUHFWLRQV ([LIGLP XW N XXXX DQGXW N WWWW RIWKHNWK*DXVVSRLQWV XDQGWUHODWHGWRWKHHOHFWULFILHOGVDQGHOHFWULFGLVSODFHPHQWVHHHTQ  IRUSLH]RHOHFWULFPDWHULDOV FDVH^`   LQSXWGLVSODFHPHQWVDQGVWUHVVHVDWWKH*DXVVLDQSRLQWVREWDLQHGE\HJ)(0 *DXVVLDQSRLQWVDUHDUUDQJHGDFFRUGLQJWRWKHVHTXHQFHIURPWR LI+W\SH

Q* QB*DXVVLXW HOVHQ* QOLQH QB*DXVVLXW HQG

       XVLJ ORDGVWU LXWLXWQ* GLP 

GLVSODFHPHQWVDQGVWUHVVHVIURPRWKHUVRXUFHV

([LIGLP XVLJ N XXX RIWKHNWK*DXVVSRLQWV DQGXVLJ N VLJVLJVLJVLJVLJVLJ RIWKHNWK*DXVVSRLQWVVLJLMVWUHVVHV ([LIGLP XVLJ N XXXX RIWKHNWK*DXVVSRLQWV XVLJ N VLJVLJVLJVLJVLJVLJVLJVLJ RINWK*DXVVSRLQWVVLJ 'VLJ '        XW GLP XVLJ GLP         >WKJZJ@ *DXVV QB*DXVV   WDNHWKHORFDWLRQRI*DXVVLDQSRLQWV[J LI+W\SH



IRULJ QB*DXVV                WK WK WKJ LJ WKQ FRV WK Q VLQ WK    QQ QRUPDOGLUHFWLRQRI*DXVVSRLQW                VLJ XVLJ LJGLP 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

                XW LJGLP GLP WJ HQG HQG LI+W\SH



IRULO QOLQH                 G[ [\Q LO [\Q LO G\ [\Q LO [\Q LO                 OHQ VTUW G[AG\A                   DOSKD DFRV G[OHQ LIG\DOSKD  SLDOSKDHQG                Q VLQ DOSKD Q FRV DOSKD   IRULJ QB*DXVV  HTQ                        LQ LO QB*DXVVLJ                    VLJ XVLJ LQGLP 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

                    XW LQGLP GLP WJ HQG HQG HQG FDVH   LQSXWGLVSODFHPHQWVDQGWUDFWLRQVDWSRLQWVQHDUEXWQRWDW*DXVVLDQSRLQWVREWDLQHGE\HJ%(0 WKHXVHUVKRXOGSURYLGHWKHGDWDZLWKLQWKHFLUFXODUULQJZKRVHRXWHUUDGLXV  U,DQGLQQHUUDGLXV  U, DQGWKHWRWDOQXPEHURIGDWDSRLQWVVKRXOGEHJUHDWHUWKDQQB*DXVV         QBGDWD OHQJWK ORDGVWU  

QXPEHURIGDWDSRLQWVQHDUWKH*DXVVLDQSRLQWV

        [XW ORDGVWU QBGDWD GLP   QXPHULFDOGDWDRIGLVSODFHPHQWVDQGWUDFWLRQVIURPRWKHUVRXUFHV         [G [XW    [XW N [[ ORFDWLRQRIWKHNWKGDWDSRLQW         [G  [G  [\  [G  [G  [\    EDVHGXSRQWKHORFDOFRRUGLQDWHZLWKRULJLQDWWKHZHGJHFUDFNWLS         XG [XW GLP LIGLP [XG N XXX GLVSODFPHQWRINWKGDWDSRLQWVHHFDVHIRUGLP          WG [XW GLP GLP LIGLP [XW N 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 OHQJWK ORDGVWU  

QXPEHURIGDWDSRLQWVQHDUWKH*DXVVLDQSRLQWV

       XVLJ ORDGVWU QBGDWD GLP   QXPHULFDOGDWDRIGLVSODFHPHQWVDQGVWUHVVHVIURPRWKHUVRXUFHV        [G XVLJ    XVLJ N [[ ORFDWLRQRIWKHNWKGDWDSRLQW        [G  [G  [\  [G  [G  [\    EDVHGXSRQWKHORFDOFRRUGLQDWHZLWKRULJLQDWWKHZHGJHFUDFNWLS        XG XVLJ GLP LIGLP XVLJ N XXX GLVSODFPHQWRINWKGDWDSRLQWVHHFDVHIRUGLP         VLJG XVLJ GLP GLP   LIGLP XVLJ N VLJVLJVLJVLJVLJVLJ VHHFDVHIRUGLP         >XW@ 0/6 [GXGVLJGQBGDWDQB*DXVVWKWKU,+W\SH ILWWKHYDOXHVDW*DXVVSRLQWVWKURXJKPHWKRGRIPRYLQJOHDVWVTXDUH HQG

F089: s9_delLam IXQFWLRQ>GHOWD/DPGD@ VBGHO/DP HWD&W\SH  )XQFWLRQVBGHO/DPLVDFRPPRQIXQFWLRQRI&KDSWHUDQGSDUWVRI&KDSWHUVDQGZKLFKFDOFXODWHV WKHVLQJXODURUGHUVDQGHLJHQIXQFWLRQVIRUFRQWDFWRUFUDFNSUREOHPV  GHOWD/DPGDVLQJXODURUGHUVDQGHLJHQIXQFWLRQPDWUL[RIFRQWDFWSUREOHPVHTQ E B   HWD )1UDWLRRI)DQG1)KRUL]RQWDOIRUFH1QRUPDOIRUFH &W\SHW\SHRIFRQWDFWRUFUDFNSUREOHPV &W\SH SXQFKSUREOHPHTQ DEF ZHFDQVHWHWD VLQFHLWLVLQGHSHQGHQWRIHWD &W\SH VOLGLQJSXQFKHVHTQ E BFDOFXODWHVGHOWDDQGWDX&/DPGDLVVHWWR]HUR &W\SH FRQWDFWEHWZHHQWZRHODVWLFERGLHV F BDQG E BFDOFXODWHVGHOWDDQGWDX&/DPGDLVVHWWR]HUR &W\SH LQWHUIDFHFUDFNVHTQV     */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ 6RQHRIWKH%DUQHWW/RWKHWHQVRUHTQ F B 6 6 6VTXDUHRI6 EHWDVTUW WUDFH 6  HTQ F B HSVLORQLPDJLQDU\SDUWRIGHOWDORJ EHWD  EHWD   SL HTQ F B 0LLQYHUVHRILPSHGDQFHPDWUL[RIPDWHULDO0L L $ LQY %  0LLQYHUVHRILPSHGDQFHPDWUL[RIPDWHULDO0L L $ LQY %  0VELPDWHULDOPDWUL[0V 0LFRQM 0L  ':UHDODQGQHJDWLYHLPDJLQDU\SDUWVRIWKHELPDWHULDOPDWUL[0V 'L: WDX&WDXRIVOLGLQJFRQWDFWSUREOHPVDSDUDPHWHUUHODWHGWRHWDHJHTQ E  JOREDO3W\SHGLP$%$BD%BD  IURP0DLQSURJUDPFRQWUROSDUDPHWHUV PDWHULDOSURSHUWLHV JOREDO66EHWDHSVLORQ0L0L0V':WDX&  JHQHUDWHGIRUWKHXVHLQIXQFWLRQVV[[V[[V[[V[[ /DPGD ]HURV GLP   GHIDXOW VZLWFK&W\SH FDVH   SXQFKSUREOHPVFDOFXODWHVGHOWDDQGODPGD        6 UHDO L  $ % H\H GLP    F BVHWUHDO  WRDYRLGVPDOOHUURULQGXFHGE\QXPHULFDOFDOFXODWLRQ        6 6 60L L $ LQY %   6HFWLRQH[WHQGHGV\PERO   LI3W\SH

  FDOFXODWHVLQJXODURUGHUVDQGWKHLUDVVRFLDWHGHLJHQIXQFWLRQVE\    

           EHWD VTUW WUDFH 6    HSVLORQ ORJ EHWD  EHWD   SL   HTQ F            GHOWD  L HSVLORQGHOWD  L HSVLORQGHOWD    HTQ E HOVH

    RI +ZX IRUSLH]RHOHFWULFFDVHV

           , WUDFH 6 , GHW 6 , ,A ,   HTQ E RI +ZX             EHWDBH VTUW , ,  AEHWDBW VTUW , ,  A   HTQ E RI +ZX             HSVLORQ ORJ EHWDBH  EHWDBH   SL    HTQ H RI +ZX             WVX DWDQ EHWDBW SL   HTQ H RI +ZX 

693

694

Appendix F: AEPH Source Code (Listed in Alphabetic Order)             GHOWD  L HSVLORQGHOWD  L HSVLORQGHOWD  WVXGHOWD  WVX  HTQ D RI +ZX  HQG IRUM GLP             00 0LH[S  SL L GHOWD M FRQM 0L    HTQ D              >86'9@ VYG 00 /DPGD M 9 HQG VYGDPDWODEIXQFWLRQWRILQGHLJHQYHFWRURI00 HQG FDVH   VOLGLQJSXQFKHVFDOFXODWHVGHOWDDQGWDX&         0L L $ LQY %   H[WHQGHGV\PERO  RI6HFWLRQ         WDX& FRQM 0L  HWD 0L  DUJ DQJOH FRQM WDX& WDX& HTQ E B LIDUJDUJ DUJ SLHQG         GHOWD DUJ  SL      HTQ E B FDVH   FRQWDFWEHWZHHQWZRHODVWLFERGLHVFDOFXODWHVGHOWDDQGWDX&         0L L $BD  LQY %BD  0L L $BD  LQY %BD             0V 0LFRQM 0L H[WHQGHGV\PERO  RI6HFWLRQ         WDX& 0V  HWD 0V    DUJ DQJOH FRQM WDX& WDX& HTQ F B E B LIDUJDUJ DUJ SLHQG         GHOWD DUJ  SL    HTQ E B FDVH   LQWHUIDFHFUDFNVFDOFXODWHVGHOWDDQGODPGD         >0V':@ 6WURKBPDWULFHV           'L: LQY ' :, WUDFH 'L:A   HTQ   F  LI3W\SH

  FDOFXODWHVLQJXODURUGHUVDQGWKHLUDVVRFLDWHGHLJHQIXQFWLRQVE\    

            EHWD VTUW ,   HSVLORQ ORJ EHWD  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 ,   SDUWRI E              EHWDBH VTUW , ,  AEHWDBW VTUW , ,  A   HTQ E              HSVLORQ ORJ EHWDBH  EHWDBH   SL    HTQ E              WVX DWDQ EHWDBW SL   HTQ E              GHOWD  L HSVLORQGHOWD  L HSVLORQGHOWD  WVXGHOWD  WVX  HTQ D  LI3W\SH!GHOWD  HQG

 D IRU0((PDWHULDOV

HQG IRUM GLP             :G' :FRW GHOWD M SL '  HTQ               >86'9@ VYG :G' /DPGD M 9 HQG 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 [ D EFDQEHVHWWR  1RWHEVWDQGVIRUHV HSVLORQBVWDURIHTQ D IRUWKHFDVHRI/W\SH 

Appendix F: AEPH Source Code (Listed in Alphabetic Order) :KHQ/W\SH FRQWDFWUHJLRQ VHH)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[ 5WKHUDGLXVRIFXUYDWXUHRISDUDEROLFSXQFK FDQEHVHWWRIRURWKHUSXQFKHV  :KHQ/W\SH 5 5 5 55  :KHQ/W\SH 5VWDQGVIRUHWD HWDBRIHTQ   TWKHIRUFHDSSOLHGRQWKHSXQFKLQPRVWFDVHVT >TTT@ :KHQ/W\SH TVWDQGVIRURPHJDRIHTQ D B :KHQ/W\SH TVWDQGVIRU)Q 1RIHTQ D  :KHQ/W\SH TVWDQGVIRU>)Q)Q@ */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ GGFRHIILFLHQWVRIWKHWDSHTQ E 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 ]HURV GLP  IRUM GLP             >*DPPD@ VB3OHPHOM ]DDGHOWD M   HTQ                 I]S I]SGLDJ *DPPD %L/ M /LT M   SL L   HTQ   HQG FDVH^`   6HFWLRQ$IODWHQGHGSXQFKWLOWHGE\DPRPHQWHTQ D B         /  L % %   %L LQY %   %L/ %L /DPGD  //L LQY /DPGD /  SDUWRIHTQ D          I]S %L /   IRUM GLP               >*DPPD@ VB3OHPHOM ]DDGHOWD M   HTQ                 *DPPDB]H *DPPD ]D  GHOWD M  SDUWRIHTQ D B             I]S I]SGLDJ *DPPDB]H %L/ M //L M   HTQ D B HQG         I]S L T I]S    TVWDQGVIRURPHJDRIHTQ D B FDVH^`   6HFWLRQ$3DUDEROLFSXQFKLQGHQWHGE\DORDGHTQ D 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 ]DDGHOWD M   HTQ                 *DPPDB]H  *DPPD ]AD  GHOWD M  ] GHOWD M GHOWD M  DA   SDUWRI D B             I]S I]SL GLDJ *DPPDB]H %L/ M //L M   5 GLDJ *DPPD %L/ M /LT M   SL L  D B HQG FDVH^`6HFWLRQ $ULJLGVWDPSLQGHQWDWLRQRQDQHOOLSWLFDORUSRO\JRQDOKROH D          F/DP FRQM /DPGD   F/L LQY F/DP   %LF/ LQY % F/DP   %$ % $          /LT F/L %$ T   /LT F/L FRQM %$ T         HS H[S L D LHS HS  DVWDQGVIRUSVL         I]S ]HURV GLP 

695

696

Appendix F: AEPH Source Code (Listed in Alphabetic Order) IRUM GLP             >*DPPD@ VB3OHPHOM ]LHSHSGHOWD M    E ]VWDQGVIRU]HWD             *DPPD *DPPD H[S L D  GHOWD M ]   QGWHUPLQHTQ E              I]S I]S GLDJ *DPPD %LF/ M /LT M GLDJ *DPPD %LF/ M /LT M   SL L HTQ D  HQG FDVH   6HFWLRQ$VOLGLQJZHGJHVKDSHGSXQFKHTQ   1RWH  EVWDQGVIRUHV HSVLORQBVWDURIHTQ D 5VWDQGVIRUHWD HWDBRIHTQ           TVWDQGVIRU)Q 1RIHTQ D          >;]@ VB3OHPHOM ]DDGHOWD   HTQ E         WKHWDS L E  ]  GHOWD D  ;]   UHDO WDX& L T ;]  SL   HTQ D          5 >5@   LI3W\SH6a 5 >5@HQG

IRUSLH]RHOHFWULFPDWHULDOV

        I]S GLDJ WKHWDS LQY % 5    HTQ   FDVH   6HFWLRQ$VOLGLQJ3DUDEROLFSXQFKHTQ           >;]@ VB3OHPHOM ]DEGHOWD   HTQ E B         M] ]A GHOWD DE E ]GHOWD GHOWD DE A  HTQ E B         WKHWDS L ];] M]UHDO WDX& 5 TSL   UHDO WDX& 5   HTQ D TVWDQGVIRU)Q         HWD >HWD@  LI3W\SH6a HWD >HWD@HQG

IRUSLH]RHOHFWULFPDWHULDOV

        I]S GLDJ WKHWDS 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 HTQ E B         ;] ;] ;]  HTQ E B          >[JZJ@ *DXVV QB*DXVV IRUWKHSXUSRVHRILQWHJUDWLRQ         ,;[ ,;[   ,[;[ ,[;[  IRULJ QB*DXVV   LQWHJUDWLRQE\*DXVVTXDGUDWXUHUXOHHTQ E             EDP ED EDS ED EDP ED EDS ED               [ EDP [J LJ EDS   [ EDP [J LJ 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 [EA GHOWD [DAGHOWD [EA GHOWD H[S L SL GHOWD              ;[ [DAGHOWD [EA GHOWD [DAGHOWD [EA GHOWD H[S L SL GHOWD              ,;[ ,;[ZJ LJ EDP ;[             ,;[ ,;[ZJ LJ EDP ;[             ,[;[ ,[;[ZJ LJ EDP [ ;[             ,[;[ ,[;[ZJ LJ EDP [ ;[ HQG         '(/ ,;[ ,[;[,;[ ,[;[   HTQ F         G WDX& )Q ,[;[)Q ,[;[   UHDO WDX& '(/    HTQ E B         G L )Q)Q   SL    HTQ E B         WKHWDS ;] GG ]   HTQ D         HWD >HWD@  LI3W\SH6a HWD >HWD@HQG

IRUSLH]RHOHFWULFPDWHULDOV

        I]S GLDJ WKHWDS LQY % HWD    HTQ   LI,FKHFN

G WDX& )Q ,;[)Q ,;[   UHDO WDX& '(/    HQG  HTQ E B

FDVH    6HFWLRQ&RQWDFWLQWKHSUHVHQFHRIIULFWLRQHTQ           >;]@ VB3OHPHOM ]DEGHOWD HTQ E B         M] ]A GHOWD DE E ]GHOWD GHOWD DE A  HTQ E

Appendix F: AEPH Source Code (Listed in Alphabetic Order)

697

        WKHWDS L ];] M]   UHDO WDX& 5 L T ;]  SL   HTQ D 5 5 5 55 T )Q         HWD >HWD@  LI3W\SH6a HWD >HWD@HQG

IRUSLH]RHOHFWULFPDWHULDOV

        I]S GLDJ WKHWDS LQY % HWD    HTQ  FDVH    6HFWLRQ&RQWDFWLQWKHDEVHQFHRIIULFWLRQHTQ           >;]@ VB3OHPHOM ]EE       HTQ D B         WKHWDS L ];] ]AEA   D 5 L T ;]  SL  D D 0V  5 5 5 55 T )Q         )]S GLDJ WKHWDS LQY %   I]S )]S     HTQ  HWD IRUIULFWLRQOHVVFRQWDFW HQG

F091: s9_Plemelj IXQFWLRQ>*DPPD@ VB3OHPHOM ]DEGHO  VB3OHPHOMLVDFRPPRQIXQFWLRQRI&KDSWHUZKLFKFDOFXODWHVIXQFWLRQ*DPPD DSDUWRIWKH3OHPHOMIXQFWLRQ;GHILQHGLQ    *DPPD ]D AGHO  ]E A GHO SDUWRIHTQ   &DOFXODWLRQIROORZVWKHKLQWVJLYHQLQHTQ     ]YHFWRURIFRPSOH[YDULDEOHVGHILQHGE\] [L  [L  PX DEGHOFRQVWDQWVDQGSRZHURI*DPPD JOREDOHSVGLPIURP0DLQSURJUDPGLPHQVLRQRIPDWHULDOHLJHQYHFWRUPDWUL[$ ]D ]D AGHO]E ]E A GHO    SDUWRIHTQ   IRUM GLP LISLDQJOH ] M D HSV]D M ]D M H[S  SL L GHO HQG

HTQ  

LISLDQJOH ] M E HSV]E M ]E M 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@ *DXVV QB*DXVV IRUWKHSXUSRVHRILQWHJUDWLRQ I] ]HURV GLP  LIPLQ LPDJ ] 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     ] ] RQHV GLP UHFRYHU]WRLWVRULJLQDOGLPHQVLRQ HQG LIQVS

  IRUWKHFDVHVWKDWWKHLQWHJUDWLRQGRHVQRWSDVVWKURXJKDQ\VLQJXODUSRLQW

IRULJ QB*DXVV   LQWHJUDWLRQE\*DXVVTXDGUDWXUHUXOHHTQ          ]J [J LJ  ]         >I]SBJ@ VBI]S ]JDE5T   HTQ           I] I]I]SBJ ]

ZJ LJ  HQG HOVH IRULJ QB*DXVV   LQWHJUDWLRQE\*DXVVTXDGUDWXUHUXOHHTQ          ]J [J LJ  ] RQHV GLP ]J [J LJ ]P]S  RQHV GLP          >I]SBJ@ VBI]S ]JDE5T            >I]SBJ@ VBI]S ]JDE5T            I] I] ] I]SBJ]P I]SBJ ZJ LJ  LIQVS

LIWKHLQWHJUDWLRQSDWKVWKURXJKWKHUHJLRQZLWKWZRVLQJXODUSRLQWV

            ]J [J LJ ]P]S  RQHV GLP              >I]SBJ@ VBI]S ]JDE5T              I] I]]P I]SBJ ZJ LJ  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 ]    HTQ E B]]HWDBDOSKD]]BDOSKD     I]S ]HWDS I]SWUDQVIRUPWKHGHULYDWLYHVZLWKUHVSHFWWR]HWDWR] HQG GPX GLDJ PX  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@ VBJDPPD WKHWD  VBJDPPDLVDFRPPRQIXQFWLRQRIWKHUPDOSUREOHPVLQ&KDSWHUZKLFKSURYLGHV WKHYHFWRUVRIJDPWKDQGJDPWK JDPWKVWDQGVIRUJDPPDB WKHWD GHILQHGLQWKHH[WHQGHGV\PERO  RI6HFWLRQ JDPWKVWDQGVIRUJDPPDB WKHWD GHILQHGLQWKHH[WHQGHGV\PERO  RI6HFWLRQ WKHWDGLUHFWLRQWDQJHQWWRWKHERXQGDU\GLUHFWLRQDQJOH WKHWD 1WK1WK1WK1B WKHWD 1B WKHWD 1B WKHWD RIWKHIXQGDPHQWDOHODVWLFLW\PDWUL[1 JOREDO'W\SH3W\SH(KGLP%LM'LMEHWDLM$WLM%WLM  IURP0DLQ3URJUDPFRQWUROSDUDPHWHUV HODVWLFSURSHUWLHV VZLWFK'W\SH FDVH^`  WZRGLPHQVLRQDOSUREOHPV        EHWDWK FRV WKHWD EHWDLM  VLQ WKHWD EHWDLM       H[WHQGHGV\PERO  RI6HFWLRQ        EHWDWK VLQ WKHWD EHWDLM  FRV WKHWD EHWDLM       H[WHQGHGV\PERO  RI6HFWLRQ        >1WK1WK1WK@ 6WURKBPDWULFHV WKHWD 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   HTQ E B        %W >%WLM  %WLM  %WLM  @(K   HTQ E 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       HTQ D  LI3W\SH



           DOSKDBW >$WW  $WW  %WW  %WW  @   HTQ F B            DOSKDBW >$WW  $WW  %WW  %WW  @HTQ F B            , GLDJ >@ , GLDJ >@   ,W >,,,,@HTQ F HOVHLI3W\SH

700

Appendix F: AEPH Source Code (Listed in Alphabetic Order)             DOSKDBW >$WW  $WW  $WW  %WW  %WW  %WW  @   HTQ F B             DOSKDBW >$WW  $WW  $WW  %WW  %WW  %WW  @HTQ F B             , GLDJ >@    , GLDJ >@ HTQ E             , GLDJ >@ ,W >,,,,@   HTQ DE  HOVH             DOSKDBW >$WW  $WW  $WW  $WW  %WW  %WW  %WW  %WW  @   HTQ F B             DOSKDBW >$WW  $WW  $WW  $WW  %WW  %WW  %WW  %WW  @HTQ F B             , GLDJ >@      , GLDJ >@ HTQ E             , GLDJ >@ ,W >,,,,@   HTQ DE HQG         DOSKDWK FRV WKHWD DOSKDBWVLQ WKHWD DOSKDBW

H[WHQGHGV\PERO  RI6HFWLRQ

        DOSKDWK VLQ WKHWD DOSKDBWFRV WKHWD DOSKDBW

H[WHQGHGV\PERO  RI6HFWLRQ

        >1WK1WK1WK@ 6WURKBPDWULFHV WKHWD FDOFXODWHWKH6WURKPDWULFHV1WK1WK1WK         1PWK ,W >1WK1WK1WK1WK @ ,W     HTQ E BFRQYHVLRQIURP1WR1P 1RWH,W ,W ,          JDPWK ,W >]HURV GLP 1PWK GLPGLP GLP H\H GLP 1PWK GLPGLP @ >DOSKDWKDOSKDWK@         JDPWK JDPWK GLP JDPWK JDPWK GLP GLP        HQG

F094: s14_eck IXQFWLRQ>HNFN@ VBHFN N)W\SH  VBHFNFDOFXODWHVWKHFRHIILFLHQWVHNDQGFNE\HTQ E 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 * FRQM 0 0 $    *FL LQY FRQM *    HTQ F B  VZLWFK)W\SH FDVH    SRLQWIRUFHDQGPRPHQWRXWVLGHWKHLQFOXVLRQ LIN

KDN ]HWDBKDW ORJ FD OQ]KDW JD  ]HWDBKDW   SDUWRIHTQ G 

HOVHKDN ]HWDBKDW N JD N ]HWDBKDW HQG

SDUWRIHTQ G 

        KD FD KDN  N ]HWDBKDWA N    HTQ G          ]HWDN ]HWDBKDWA N     FN FD ]HWDN   SDUWRIHTQ F          HN GLDJ ]HWDN $SNIBKDW  KD $ G  PBKDW  FN $     SL L   HTQ F          WN L $L

HN   HTQ F B FDVH    SRLQWIRUFHDQGPRPHQWLQVLGHWKHLQFOXVLRQ JD JD   J] JD]HWDBKDW  SDUWRIHTQ E          T  ]HWDBKDWANJ]AN N   HTQ E B LIN

F ORJ FD   SDUWRIHTQ E B

HOVHF  ]HWDBKDWA N J]A N  N HQG

SDUWRIHTQ E B

        T FD ]HWDBKDWA N J]A N  N JD F NHTQ E B         T ]HWDBKDWANJ]AN  FD ]HWDBKDWJ]    HTQ E B         HN GLDJ T $SIBKDW  T $ G  PBKDW  T $     SL L   HTQ D         WN FRQM 00 $ HN    HTQ   HQG *N 00 $ GLDJ JDAN   *NL FRQM *N *FL  HTQ F BSDUWRI E B FN LQY **NL *N WN*NL FRQM WN    HTQ E B

Appendix F: AEPH Source Code (Listed in Alphabetic Order)

F095: s14_mdinf IXQFWLRQ>PBLQIPBLQIGBLQIGBLQI@ VBPGLQI ORDGVWU  6BPGLQIFDOFXODWHVWKHGLVSODFHPHQWVVORSHVVWUHVVUHVXOWDQWVDQG EHQGLQJPRPHQWVDWLQILQLW\ PBLQIPBLQIFRHIILFLHQWYHFWRUVUHODWHGWREHQGLQJPRPHQWVDWLQILQLW\HTQ F  GBLQIGBLQIFRHIILFLHQWYHFWRUVUHODWHGWRGLVSODFHPHQWVDWLQILQLW\HTQ F  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@   HTQ F 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   HTQ D 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$LMHTQ E LQWKHIROORZLQJWKHVXEVFULSWRIHTQ DF LVUHSODFHGE\RIWKH PDWUL[ 4VWDU  $VWDU  4VWDU  $VWDU  4VWDU G %VWDU     4VWDU G %VWDU   4VWDU  $VWDU  4VWDU G %VWDU  4VWDU G %VWDU  

701

702

Appendix F: AEPH Source Code (Listed in Alphabetic Order) 4VWDU GG 'VWDU     4VWDU GG 'VWDU   4VWDU GG 'VWDU   5VWDU  $VWDU  5VWDU  $VWDU     5VWDU G %VWDU     5VWDU G %VWDU   5VWDU  $VWDU  5VWDU  $VWDU  5VWDU G %VWDU     5VWDU G %VWDU   5VWDU G %VWDU  5VWDU G %VWDU     5VWDU GG 'VWDU     5VWDU GG 'VWDU   5VWDU G %VWDU  5VWDU G %VWDU  5VWDU GG 'VWDU     5VWDU GG 'VWDU   7VWDU  $VWDU  7VWDU  $VWDU  7VWDU G %VWDU     7VWDU G %VWDU   7VWDU  $VWDU     7VWDU G %VWDU     7VWDU G %VWDU   7VWDU GG 'VWDU     7VWDU GG 'VWDU  7VWDU GG 'VWDU    LI3W\SHa   LQWKHIROORZLQJWKHVXEVFULSWRIHTQ DF LVUHSODFHGE\RIWKH PDWUL[     G G     4VWDU    >$VWDU  $VWDU  $VWDU  @     4VWDU G  >%VWDU  %VWDU  %VWDU  @     4VWDU GGG >'VWDU  'VWDU  'VWDU  @     4VWDU GG >%VWDU  %VWDU  @         5VWDU  >$VWDU  $VWDU  $VWDU  @     5VWDU G >%VWDU  %VWDU  %VWDU  @     5VWDU GG >%VWDU  %VWDU  %VWDU  @     5VWDU GGG >'VWDU  'VWDU  'VWDU  @         5VWDU  >$VWDU  $VWDU  @     5VWDU G >%VWDU  %VWDU  @     5VWDU GG >%VWDU  %VWDU  @     5VWDU GGG >'VWDU  'VWDU  @     7VWDU    >$VWDU  $VWDU  $VWDU  @     7VWDU G  >%VWDU  %VWDU  %VWDU  @     7VWDU GGG >'VWDU  'VWDU  'VWDU  @     7VWDU GG >%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 L4VWDU LM 4VWDU ML   7VWDU LM 7VWDU ML HQG

4VWDUDQG7VWDUV\PPHWULFPDWULFHV

Appendix F: AEPH Source Code (Listed in Alphabetic Order)

703

HQG GBLQI 4VWDU PBLQI5VWDU PBLQI  GBLQI 5VWDU

PBLQI7VWDU PBLQI  HTQ F B

F096: s15_pgzV IXQFWLRQ>;;S;S;LQW.B,,.B,.B,,,@RU>.B,,.B,.B,,,.B,9@IRUSLH]RHOHFWULFPDWHUDLOV FDJDPPDSDUDPHWHUVRIFBDOSKDDQGJDPPDBDOSKDIRUPDWHULDOHTQ F B FDJDPPDSDUDPHWHUVRIFBDOSKDDQGJDPPDBDOSKDIRUPDWHULDOHTQ F 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(3 SVLDED / /IVUKRHQG

FDOFXODWHUKRDQGDOSKDRIWKHOHIW

WLS/ /IV    7 >FRV DOSKD VLQ DOSKD VLQ DOSKD FRV DOSKD @  HTQ E 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,)  VTUW SL D 7 / EHWDBKDW GLP ( 

HTQ D DWEHWDBKDW  6,)RIWKHOHIWWLS

UHQHZWKHYDOXHRI/DQG7IRUWKHULJKWWLSRIFXUYLOLQHDUFUDFN LI&W\SH

SVL SVLSVLBKDW>]HWDDOSKDUKR@ PDS(3 SVLDED / /IVUKR 

               7  VLQ DOSKD 7  FRV DOSKD 7  FRV DOSKD 7  VLQ DOSKD HQG            6,)  VTUW SL D 7 / EHWDBKDW QEGGLPQEG (    D DWEHWDBKDW  6,)RIWKHULJKWWLS FDVH   $VWUDLJKWFUDFNSHQHWUDWLQJWKHLQFOXVLRQDOVRXVHIXOIRUWKHSUREOHPVZLWKWZRFUDFNV            6,)  VTUW SL D 7 / EHWDBKDW GLP (     DWEHWDBKDW  OHIWWLSRIRXWVLGHFUDFN            6,)  VTUW SL D 7 / EHWDBKDW QEGGLPQEG (   HTQ  DWEHWDBKDW  ULJKWWLSRIWKHRXWVLGHFUDFN            6,)  VTUW SL DV 7 / EHWDBKDW QEGQEGGLP (   HTQ  DWEHWDWBKDW  OHIWWLSRIWKHLQVLGHFUDFN            6,)  VTUW SL 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    HTQ F BUHTXLUHGLQVB)    FD DL E PX   JDPPD DL E PX  DL E PX    HTQ F 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\HTQ DG 

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)GRIHTQ F         IG D DN )G EHWDBKDW GLP      WKHVWWHUPRIHTQ          IGB D DN )GB EHWDBKDW GLP  IRUN FQ            HWD  NFQHWD   N FQHWD   N FQHWDHWDHWDHWDBNHWDBNHWDBN            >DNENFN(N)N*N@ VBDEF()* HWDHWDHWD   FDOFXODWHDNENFNE\HTQ DG             >)G)G)GB)GB@ VB) [L]]HWDHWDHWD&W\SH    FDOFXODWH)GDQG)GRIHTQ F             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 ]HURV GLP   IGB ]HURV GLP  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\HTQ DG             >)G)G)GB)GB@ VB) [L]]HWDHWDHWDMF HT E )G)RU)DWHWDDQG)G)RU)DWHWD            IG IGU DN )G EHWDBKDW NNI      WKHVWWHUPRIHTQ              IGB IGBU DN )GB EHWDBKDW NNI  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\HTQ DG                 >)G)G)GB)GB@ VB) [L]]HWDHWDHWDMF    FDOFXODWH)GDQG)GRIHTQ F                 IG IGU EN )G EHWDBKDW NNI  DNFN )G EHWDBKDW NGLPNIGLP    HTQ                  IGB IGBU EN )GB EHWDBKDW NNI  DNFN )GB EHWDBKDW NGLPNIGLP                 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  HTQ DE B    I]B TBLQIGLDJ ]HWDBL GIGB  GHULYDWLYHRII]    $ $% %PX PX HOVH

SRLQW [L  [L  ORFDWHVLQVLGHWKHLQFOXVLRQ

   ] [L  [L  PXI]B GLDJ  DL 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 $ GLDJ PX I]B   VLJPD  UHDO % GLDJ PX 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@ VLJPDHTQ E  WBLQIWUDFWLRQDWLQILQLW\WBLQI >VLJPDVLJPDVLJPD@ VLJPDHTQ E  HSVBLQIVWUDLQDWLQILQLW\HSVBLQI >HSVLORQHSVLORQ HSVLORQ@HTQ E  HSVBLQIVWUDLQDWLQILQLW\HSVBLQI >HSVLORQHSVLORQ HSVLORQ@HTQ E  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[LVHTQ D             VLJPDBLQI ORDGVWU  (   XQLW1PA             DOSKD ORDGVWU  SL

LQSXWXQLWGHJUHHRSHUDWLRQUDGLDQ

            WBLQI VLJPDBLQI FRV DOSKD >FRV DOSKD VLQ DOSKD @               WBLQI VLJPDBLQI VLQ DOSKD >FRV DOSKD VLQ DOSKD @               HSVBLQI VLJPDBLQI FRV DOSKD A 6L  VLQ DOSKD A 6L  FRV DOSKD VLQ DOSKD 6L                HSVBLQI VLJPDBLQI FRV DOSKD A 6LV  VLQ DOSKD A 6LV  FRV DOSKD VLQ DOSKD 6LV    LI3W\SHa WBLQI >WBLQI@WBLQI >WBLQI@HQG

HTQ D BIRUSLH]RDQG0((

LI3W\SH!WBLQI >WBLQI@WBLQI >WBLQI@HQG

IRU0((

FDVH    ELD[LDOORDGLQJVLJPDBLQIDQGVLJPDBLQIHTQ E             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

HTQ D BIRUSLH]RDQG0((

LI3W\SH!WBLQI >WBLQI@WBLQI >WBLQI@HQG

IRU0((

FDVH    LQSODQHSXUHVKHDUWDXBLQIHTQ F             WDXBLQI ORDGVWU  (   XQLW1PA             WBLQI >WDXBLQI@                WBLQI >WDXBLQI@             HSVBLQI WDXBLQI 6L     HSVBLQI WDXBLQI 6LV   LI3W\SHa WBLQI >WBLQI@WBLQI >WBLQI@HQG

HTQ D BIRUSLH]RDQG0((

LI3W\SH!WBLQI >WBLQI@WBLQI >WBLQI@HQG

IRU0((

Appendix F: AEPH Source Code (Listed in Alphabetic Order)

719

FDVH    DQWLSODQHVKHDUVLJPDBLQIRUVLJPDBLQIHTQ G             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

HTQ D 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@  HTQ E             VLJPD >VLJVLJVLJVLJVLJ@ LI3W\SHa ' ORDGVWU  ' ORDGVWU    ''HOHFWULFGLVSODFHPHQWXQLW&RXOPA                 WBLQI >WBLQI'@   WBLQI >WBLQI'@  VLJPD >VLJPD''@   HTQ   HQG LI3W\SH!% ORDGVWU  % ORDGVWU    %%PDJQHWLFIOX[XQLWYROWVHF ZHEHU                 WBLQI >WBLQI%@   WBLQI >WBLQI%@  VLJPD >VLJPD%%@ HQG             HSVBLQI 6LM VLJPD   HTQ D             HSVBLQI >HSVBLQI  HSVBLQI  HSVBLQI  @  

HTQ E

            HSVBLQI >HSVBLQI  HSVBLQI  HSVBLQI  @  

HTQ E

LI3W\SHa HSVBLQI >HSVBLQIHSVBLQI  @HSVBLQI >HSVBLQIHSVBLQI  @  HQG

HTQ  IRUSLH]RRU0((

LI3W\SH!HSVBLQI >HSVBLQIHSVBLQI  @HSVBLQI >HSVBLQIHSVBLQI  @  HQG RWKHUZLVH             GLVS :URQJORDGLQJFDVHLQSXW  HQG HQG VROXWLRQIURPHTQ D 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 DEV XXF   GLI DEV SKLSKLF   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  FDGHILQHGLQWKHVHQWHQFHEHORZHTQ G 

IRU0((PDWHULDOV

720

Appendix F: AEPH Source Code (Listed in Alphabetic Order) JDPPDS JDPPD  VDJDPPD  FDGHILQHGLQWKHVHQWHQFHEHORZHTQ G  JDPPDDYHFWRURISDUDPHWHUVJDPPDBLZKLFKLVGHILQHGLQ G  VDFDVLQ DOSKD DQGFRV DOSKD ZKHUHDOSKDLVWKHDQJOHRIDSSOLHGPRPHQW VHH)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 FRV DOSKD VD VLQ DOSKD   F FDAV VDAFV FD VD     0, 0BLQI,] LI3W\SH

OHQ HOVHOHQ HQG

LI3W\SH!OHQ HQG

OHQ HODVWLFOHQ SLH]RHOHFWULF

OHQ 0((

IRUL OHQ         JDPPD L 6LM L F6LM L V6LM L FV    HTQ G HQG     JDPPD JDPPD  VDJDPPD  FD   GHILQHGLQWKHVHQWHQFHEHORZHTQ G LI3W\SHa JDPPD  JDPPD  VDJDPPD  FDHQG LI3W\SH!JDPPD  JDPPD  VDJDPPD  FDHQG

GHILQHGLQWKHVHQWHQFHEHORZHTQ G IRU0((

DEJ DEV VTUW VXP JDPPDA PD[ PD[ 6LM  HQG VROXWLRQIURPHTQ DG 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 >X JDPPD  [L   JDPPD  [L  [L  @  X >XJDPPD  [L  A@  HTQ D  X >XJDPPD  [L  JDPPD  [L  @  X >XJDPPD  [L  @  HTQ E  X >X@  X >XJDPPD  [L  @  HTQ E          VBDOSKD >VBDOSKD@   HTQ   HQG LI3W\SH!  IRUSLH]R         X >X JDPPD  [L   JDPPD  [L  [L  @  X >XJDPPD  [L  A@   X >XJDPPD  [L  JDPPD  [L  @  X >XJDPPD  [L  @  HTQ E  X >X@  X >XJDPPD  [L  @  HTQ E          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 

6WUDLQVDQGVWUHVVHV D  F   

    VLJPD 0, VD [L  FD [L  FD VBDOSKD (  VLJPD 0, VD [L  FD [L  VD VBDOSKD (HTQ D  HOVH     X QDQ GLP SKL QDQ GLP XB QDQ GLP XB QDQ GLP VLJPD QDQ GLP VLJPD QDQ GLP 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 >ORDGVWU GLP ORDGVWU GLP @

[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] GLDJ ORJ G]    VHHVHFWLRQUHPDUNVRQFRPSXWHUFRGLQJ G]L GLDJ ]L    GPX]L GLDJ PXB]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 VTUW G[AG\A     WKHWD DFRV G[U  LIG\WKHWD WKHWDHQG

HTQ  SLWKHWDSL

    >6+/@ 6WURKBPDWULFHV    VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV     >1WL1WL1WL@ 6WURKBPDWULFHV WKHWD VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV     XF  ORJ U +SL 1WL +1WL 6 SBKDW  SL    HTQ  B     SKLF  ORJ U 6 SL 1WL +1WL

6 SBKDW  SL (  HTQ  B GLIIHUHQFHEHWZHHQVROXWLRQV  DQG       GLI DEV XXF GLI DEV SKLSKLF GLI PD[ GLIGLI      VWU ^     >XXF@  >SKLSKLF@ `   VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN     SULQW7) [L>XXF@>SKLSKLF@GLIVWU   SULQWWKHPHVVDJHRI,FKHFN FDOFXODWLRQRIVWUHVVHVLQSRODUFRRUGLQDWH     >1WK1WK1WK@ 6WURKBPDWULFHV WKHWD   VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV     V VLQ WKHWD F FRV WKHWD V V VF F FFV F V     QWK >VF@VWK >FV@L >@SLU  SL U  HTQ E  LI3W\SHa QWK >QWK@VWK >VWK@L >L@HQG

HTQ D 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 (      WUDQVIRUPDWLRQRIVWUHVVHV REWDLQHGE\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 DEV VLJWKVLJWKF     GLI DEV VLJUVLJUF     GLI DEV VLJUWKVLJUWKF   GLI DEV VLJWKVLJWKF   GLI DEV VLJUVLJUF     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 QX QX 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 DEV VLJWKVLJWKF     GLI DEV VLJUVLJUF         GLI DEV VLJUWKVLJUWKF   GLI DEV VLJWKVLJWKF   GLI DEV VLJUVLJUF         GLI GLIGLIGLIGLIGLI        VWU ^     >VLJWKVLJWKFVLJUVLJUFVLJUWKVLJUWKF@  >VLJWKVLJWKFVLJUVLJUF@ `VWULQJVXVHGLQPHVVDJHRI,FKHFN        SULQW7) [L  >VLJWKVLJWKFVLJUVLJUFVLJUWKVLJUWKF@>VLJWKVLJWKFVLJUVLJUF@GLIVWU SULQWPHVVDJHRI,FKHFN HQG HQG

F106: s414infPM IXQFWLRQ>XXBXBVLJPDVLJPD@ VLQI30 ORDGVWU[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 VTUW G[AG\A WKHWD DFRV G[U  LIG\WKHWD WKHWDHQG

HTQ  SLWKHWDSL

PU PBKDW  SL U    PU PUU  V VLQ WKHWD F FRV WKHWD   QWK >VF@VWK >FV@  HTQ E  LI3W\SHa QWK >QWK@VWK >VWK@HQG

HTQ  IRUSLH]RDQG0((

LI3W\SH!QWK >QWK@VWK >VWK@HQG

IRU0((

>6+/@ 6WURKBPDWULFHV       VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV >1WK1WK1WK@ 6WURKBPDWULFHV WKHWD    VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV 1+6 1WK +1WK 6       16+ 1WK

6 1WK + XWK + QWK1+6 VWK    JBWKHWDRIHTQ E    SWK 6

QWK16+ VWK   KBWKHWDRIHTQ E  X PU XWK   SKL PU SWK ( VWUDLQVDQGVWUHVVHVFDOFXODWHGWKURXJKWKHGHULYDWLYHVRIXDQGSKL 1 1WK 1WK  1 1WK 1WK 1S  1WK 1WK1WK 1WK    HTQ F  1S 11   1S 11   HTQ F  XWKBS  1S +1S 6 VWK1+6 QWK   JBSRI E  SWKBS  1S

6 1S + VWK16+ QWK  KBSRI E  XB PU XWK FXWKBS V        XB PU XWK VXWKBS F    HTQ D  VLJPD PU SWK VSWKBS F (  VLJPD PU SWK FSWKBS V ( LI,FKHFN

HTQ D 

  FKHFNWKHVROXWLRQVIURPGLIIHUHQWDSSURDFKHV    DQG  

VWUHVVHVLQSRODUFRRUGLQDWHHTQ  IRUJHQHUDODQLVRWURSLFPDWHULDOV     1WKBS 1SH\H GLP      :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 WUDQVIRUPDWLRQRIVWUHVVHV REWDLQHGE\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 DEV VLJWKVLJWKF     GLI DEV VLJUVLJUF      GLI DEV VLJUWKVLJUWKF   GLI DEV VLJWKVLJWKF   GLI DEV VLJUVLJUF      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 DEV VLJWKVLJWKF     GLI DEV VLJUVLJUF          GLI DEV VLJUWKVLJUWKF   GLI DEV VLJWKVLJWKF   GLI DEV VLJUVLJUF          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 >ORDGVWU GLP ORDGVWU GLP @

[BKDWORFDWLRQRIGLVORFDWLRQ

HQG VROXWLRQIURPHTQ  G[ [L  [BKDW  G\ [L  [BKDW    G] G[G\ PXEUDQFKFXWPD\QRWEHMXPSHGVLPXOWDQHRXVO\LIZHFDOFXODWHG]E\]]BKDWDQGWKHQG] ]]BKDW ]L G]  PXB]L PX ]LORJ] ORJ G]  IRUN GLP LILPDJ ORJ] N ORJ] N ORJ] N  SL LHQG

HTQ 

HQG GORJ] GLDJ ORJ]     VHHVHFWLRQUHPDUNVRQFRPSXWHUFRGLQJ G]L GLDJ ]L    GPX]L GLDJ PXB]L  X LPDJ $ GORJ] % EBKDWSL   SKL LPDJ % GORJ] % EBKDWSL (  HTQ    B VWUHVVHVDQGVWUDLQVFDOFXODWHGWKURXJKWKHGHULYDWLYHVRIXDQGSKL XB LPDJ $ G]L % EBKDWSL   XB LPDJ $ GPX]L % EBKDWSL

HTQ G B

VLJPD LPDJ % GPX]L % EBKDWSL (  VLJPD LPDJ % G]L % EBKDWSL (HTQ G B VROXWLRQIURPGLIIHUHQWDSSURDFKHTQ  LI,FKHFN



    U VTUW G[AG\A     WKHWD DFRV G[U  LIG\WKHWD  SLWKHWDHQG

HTQ  WKHWD SL

    >6+/@ 6WURKBPDWULFHV  VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV     >1WL1WL1WL@ 6WURKBPDWULFHV WKHWD VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV     XF  ORJ U 6SL 1WL 61WL / EBKDW  SL    HTQ  B     SKLF ORJ U /SL 1WL

/1WL 6 EBKDW  SL (  HTQ  B     GLI DEV XXF   GLI DEV SKLSKLF   GLI PD[ GLIGLI      VWU ^     >XXF@  >SKLSKLF@ `   VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN     SULQW7) [L>XXF@>SKLSKLF@GLIVWU   SULQWWKHPHVVDJHRI,FKHFN FDOFXODWLRQRIVWUHVVHVLQSRODUFRRUGLQDWH     >1WK1WK1WK@ 6WURKBPDWULFHV WKHWD   VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV     V VLQ WKHWD F FRV WKHWD V V VF F FFV F V     QWK >VF@VWK >FV@L >@SLU  SL U  HTQ E  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 (      WUDQVIRUPDWLRQRIVWUHVVHV REWDLQHGE\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 DEV VLJWKVLJWKF     GLI DEV VLJUVLJUF     GLI DEV VLJUWKVLJUWKF   GLI DEV VLJWKVLJWKF   GLI DEV VLJUVLJUF     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 >ORDGVWU GLP ORDGVWU GLP @

[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] GLDJ ORJ G] FRQM $S   SL L   VWWHUPRIHTQ  VHHVHFWLRQUHPDUNVRQFRPSXWHUFRGLQJ IRUM GLP    I] I]GLDJ ORJ ]F]BKDW M L%F% M $S M   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]BKDW M L%F% M $S M   SL L   GHULYDWLYHI]B[RII]HTQ   HQG

725

726

Appendix F: AEPH Source Code (Listed in Alphabetic Order) I] GLDJ PX 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 VTUW G[AG\A     WKHWD DFRV G[U  LIG\WKHWD WKHWDHQG LI[L 

HTQ  SLWKHWDSL



        >6+/@ 6WURKBPDWULFHV    VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV         >1WK1WK1WK@ 6WURKBPDWULFHV WKHWD   VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV         >1WL1WL1WL@ 6WURKBPDWULFHV WKHWD   VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV         L/ LQY /            XF L/ ORJ U H\H GLP SL 1WL SBKDWSL  HTQ  B         SKLB VLJPD         SKLFB 1 L/ FRV WKHWD H\H GLP VLQ WKHWD 1WK SBKDW SL U (HTQ  B         GLI DEV XXF   GLI DEV SKLBSKLFB   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 QX QX HQG

HTQ  

            V VLQ WKHWD F FRV WKHWD FV F V             VLJF   SBKDW  FSBKDW  V  FV SBKDW  VSBKDW  F  QX  SL U (  HTQ  B             VLJF SBKDW  F SL U (  HTQ  B             GLI DEV VLJPD  VLJF GLI DEV VLJPD  VLJF              GLI DEV VLJPD  DEV VLJPD  DEV VLJPD  DEV VLJPD  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)V ORDGVWU[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 ORDGVWU GLP 

[BKDWORFDWLRQRISRLQWIRUFH 

HQG LI[L  !GLVS ZURQJLQSXWRIILHOGSRLQWVZKLFKVKRXOGEHORFDWHGDW[ HQG VROXWLRQIURPHTQ  ] [L  [L  PX  G] ][BKDW]L G]  PXB]L PX ]L I] GLDJ ORJ G] LQY %   ORJ G] VHHVHFWLRQUHPDUNVRQFRPSXWHUFRGLQJ X LPDJ $ I] SBKDWSL   SKL LPDJ % I] SBKDWSL (  VWUHVVHVDQGVWUDLQVFDOFXODWHGWKURXJKWKHGHULYDWLYHVRIXDQGSKL I] GLDJ ]L LQY %     I] GLDJ PXB]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 VTUW G[AG\A     WKHWD DFRV G[U  LIG\WKHWD WKHWDHQG

HTQ  SLWKHWDSL

    >6+/@ 6WURKBPDWULFHV    VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV     >1WL1WL1WL@ 6WURKBPDWULFHV WKHWD   VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV     L/ LQY /      XF  ORJ U H\H GLP SL 1WL L/ SBKDWSL  HTQ  B     SKLF 1WL L/ SBKDW (   HTQ  B     GLI DEV XXF   GLI DEV SKLSKLF   GLI PD[ GLIGLI      VWU ^    B  >XXF@  >SKLSKLF@ `   VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN     SULQW7) [L>XXF@>SKLSKLF@GLIVWU   SULQWWKHPHVVDJHRI,FKHFN FDOFXODWLRQRIVWUHVVHVLQSRODUFRRUGLQDWH     >1WK1WK1WK@ 6WURKBPDWULFHV WKHWD   VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV     V VLQ WKHWD F FRV WKHWD V V VF F FFV F V     VWK >FV@L >@SLU SL U  HTQ E  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 ( WUDQVIRUPDWLRQRIVWUHVVHV REWDLQHGE\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 DEV VLJWKVLJWKF     GLI DEV VLJUVLJUF      GLI DEV VLJUWKVLJUWKF   GLI DEV VLJWKVLJWKF   GLI DEV VLJUVLJUF      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 DEV VLJWKVLJWKF     GLI DEV VLJUVLJUF         GLI DEV VLJUWKVLJUWKF   GLI DEV VLJWKVLJWKF   GLI DEV VLJUVLJUF         GLI GLIGLIGLIGLIGLI        VWU ^     >VLJWKVLJWKFVLJUVLJUFVLJUWKVLJUWKF@  >VLJWKVLJWKFVLJUVLJUF@ `  VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN        SULQW7) [L>VLJWKVLJWKFVLJUVLJUFVLJUWKVLJUWKF@>VLJWKVLJWKFVLJUVLJUF@GLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG HQG

F110: s423halfDT IXQFWLRQ>XXBXBVLJPDVLJPD@ VKDOI'7 ORDGVWU[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 ORDGVWU QS (  FRHIILFLHQWVRISRO\QRPLDOVH[SUHVVHGE\XVLQJD QS PDWUL[   LI3W\SHa SLM  ORDGVWU QS HQG

DGGLWLRQDOURZIRUSLH]RHOHFWULFPDWHULDOV

LI3W\SH!SLM  ORDGVWU QS HQG

DGGLWLRQDOURZIRU0((PDWHULDOV

   >[JZJ@ *DXVV QB*DXVV IRUWKHSXUSRVHRILQWHJUDWLRQ[J*DXVVSRLQWZJZHLJKW    [ED [E[D  HQG LI[L  !GLVS ZURQJLQSXWRIILHOGSRLQWVZKLFKVKRXOGEHORFDWHGDW[ HQG X ]HURV GLP SKL ]HURV GLP  XB ]HURV GLP XB ]HURV GLP VLJPD ]HURV GLP VLJPD ]HURV GLP   IRULJ QB*DXVV   LQWHJUDWLRQE\*DXVVTXDGUDWXUHUXOH    [BKDW [E[D [J LJ  [E[D   HTQ $E     SBKDW SLM   LIQS! 

Appendix F: AEPH Source Code (Listed in Alphabetic Order) IRUM QSM MSBKDW SBKDWSLM M [BKDWAMHQG

729 HTQ 

HQG VROXWLRQIURPHTQ      ] [L  [L  PX  G] ][BKDW   LIG]

G] HSVHQG

    ]L G]  PXB]L PX ]L  GORJ] GLDJ ORJ G]   I] GORJ] LQY %      X XLPDJ $ I] SBKDWSL ZJ LJ [ED      SKL SKLLPDJ % I] SBKDWSL ZJ LJ [ED (  VWUHVVHVDQGVWUDLQVFDOFXODWHGWKURXJKWKHGHULYDWLYHVRIXDQGSKL     I] GLDJ ]L LQY %   I] GLDJ PXB]L LQY %      XB XBLPDJ $ I] SBKDWSL ZJ LJ [ED     XB XBLPDJ $ I] SBKDWSL ZJ LJ [ED     VLJPD VLJPDLPDJ % I] SBKDWSL ZJ LJ [ED (       VLJPD VLJPDLPDJ % I] SBKDWSL ZJ LJ [ED (   HQG

F111: s424halfPM IXQFWLRQ>XXBXBVLJPDVLJPD@ VKDOI30 ORDGVWU[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   HTQ E B VROXWLRQIURPHTQ    DQG   ,Q E 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 VLQ WK ORDGVWU$  SBKDW FRV WK   ORDGVWU$                ORDGVWU$  [BKDW  HS FRV WK       ORDGVWU$  [BKDW  HS VLQ WK              ORDGVWU%  SBKDW VLQ WK ORDGVWU%  SBKDW FRV WK   ORDGVWU%                ORDGVWU%  [BKDW  HS FRV WK       ORDGVWU%  [BKDW  HS VLQ WK              ORDGVWU&  SBKDW FRV WK ORDGVWU&  SBKDW VLQ WK   ORDGVWU&                 ORDGVWU&  [BKDW  HS VLQ WK       ORDGVWU&  [BKDW  HS FRV WK              ORDGVWU'  SBKDW FRV WK ORDGVWU'  SBKDW VLQ WK ORDGVWU'                ORDGVWU'  [BKDW  HS VLQ WK       ORDGVWU'  [BKDW  HS FRV WK              >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 DEV XXF GLI DEV XBXBF GLI DEV XBXBF               GLI DEV VLJPDVLJPDF GLI DEV VLJPDVLJPDF 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 >ORDGVWU GLP ORDGVWU GLP @

[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] GLDJ ORJ G] FRQM %E   SL L   VWWHUPRIHTQ  VHHVHFWLRQUHPDUNVRQFRPSXWHUFRGLQJ

Appendix F: AEPH Source Code (Listed in Alphabetic Order) IRUM GLP     I] I]GLDJ ORJ ]F]BKDW M L%F% M %E M   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]BKDW M L%F% M %E M   SL L   GHULYDWLYHI]B[RII]HTQ   HQG I] GLDJ PX 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 VTUW G[AG\A     WKHWD DFRV G[U  LIG\WKHWD WKHWDHQG

HTQ  SLWKHWDSL

    >6+/@ 6WURKBPDWULFHV    VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV     >1WK1WK1WK@ 6WURKBPDWULFHV WKHWD VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV     >1WL1WL1WL@ 6WURKBPDWULFHV WKHWD VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV     L/ LQY /   SKLB VLJPD     XF L/ 1WL EBKDW   HTQ  B     SKLFB VLQ WKHWD 1 L/ 1WK EBKDW SL U (  HTQ  B     GLI DEV XXF   GLI DEV SKLBSKLFB   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 ORDGVWU GLPGLP   %XUJHUVYHFWRU>EEE@IRUDQLVRWURSLFPDWHULDOV LI3W\SHa EBKDW  ORDGVWU GLP (HQG

>EEEE@IRUSLH]RHOHFWULFPDWHULDOV

LI3W\SH!EBKDW  ORDGVWU GLP (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&K WKN 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 FRQM 0    F0 FRQM 0   F0 F00  F0L LQY F0   SE $

SBKDW%

EBKDW    SE $L F0L F0F0 F$   SE $L FRQM F0L $L  I] GLDJ ORJ G] SE  SL L   I]B GLDJ ]L SE  SL L 

I]RIHTQ E B

I] ]HURV GLP I]B ]HURV GLP   IRUM GLP     I] I]GLDJ ORJ ]F]BKDW M SE M FRQM SE M   SL L 

HTQ E B

    I]B I]BGLDJ  ]F]BKDW M SE M FRQM SE M   SL L      I] I]GLDJ ORJ ]]BKDW M SE M SE M   SL 

GHULYDWLYHRII]HTQ E B

HTQ E B

    I]B I]BGLDJ  ]]BKDW M SE M SE M   SL 

GHULYDWLYHRII]HTQ E B

HQG I]B GLDJ PX I]B   I]B GLDJ PX 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 VTUW G[AG\A     WKHWD DFRV G[U  LIG\WKHWD WKHWDHQG

HTQ  SLWKHWDSL

    >6WL+WL/WL@ 6WURKBPDWULFHV     VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV     >1WL1WL1WL@ 6WURKBPDWULFHV WKHWD   VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV     6+/WL >6WL+WL/WL6WL @     1WL >1WL1WL1WL1WL @ XSKL 6+/WL ORJ U H\H  GLP SL 1WL >EBKDWSBKDW@  SL      XF XSKL GLP   SKLF XSKL GLP GLP (     GLI DEV XXF   GLI DEV SKLSKLF   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)'L ORDGVWU[LYN  6ELPDW3)'LFDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DELPDWHULDOVXEMHFWHGWRDFRQFHQWUDWHGIRUFHSBKDWDQGGLVORFDWLRQDSSOLHGDWSRLQW[BKDW DQG[BKDWLVORFDWHGRQWKHLQWHUIDFH7KHLQWHUIDFHLVRULHQWHG FRXQWHUFORFNZLVHO\DQDQJOH DOSKD 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 ORDGVWU GLPGLP   %XUJHUVYHFWRU>EEE@IRUDQLVRWURSLFPDWHULDOV LI3W\SHa EBKDW  ORDGVWU GLP (HQG

>EEEE@IRUSLH]RHOHFWULFPDWHULDOV

LI3W\SH!EBKDW  ORDGVWU GLP (HQG

>EEEEE@IRU0((PDWHULDOV

    DOSKD ORDGVWU  GLP SL  DOSKDDQJOHGLUHFWHGFRXQWHUFORFNZLVHO\IURP[D[LVWRWKHLQWHUIDFH XQLW LQSXW GHJUHH DOSKD RXWSXW UDGLDQ DOSKDSL     QB*DXVV    QXPEHURI*DXVVSRLQWVIRULQWHJUDWLRQWKURXJK*DXVVTXDGUDWXUHUXOH     WKN >DOSKDDOSKDSLDOSKD SL@  SRODUDQJOHVRIELZHGJHVDOSKD WKN L  DOSKD SL 7KHRULJLQRIWKHSRODUFRRUGLQDWHLVDVVXPHGWREHWKHORFDWLRQRISRLQWIRUFHDQGGLVORFDWLRQ HQG [V [L  FRV WKN  [L  VLQ WKN  [V [L  VLQ WKN  [L  FRV WKN    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@ 6WURKBPDWULFHV WKHWDDOSKD  K  6WL EBKDW+WL SBKDW   SL    J /WL EBKDW6WL

SBKDW   SL   HTQ F  X ORJ U KSL 1WL K1WL J       HTQ D  SKL ORJ U JSL 1WL K1WL

J (  HTQ D  FDOFXODWHVWUDLQVDQGVWUHVVHVWKURXJKWKHGHULYDWLYHVRIXDQGSKLHTQ E  >1WK1WK1WK@ 6WURKBPDWULFHV WKHWD  1KJ 1WK K1WK J   1KJ 1WK K1WK

J    XB K FRV WKHWD 1KJ VLQ WKHWD U XB K VLQ WKHWD 1KJ FRV WKHWD U VLJPD  J VLQ WKHWD 1KJ FRV WKHWD U ( VLJPD J FRV WKHWD 1KJ VLQ WKHWD U (

734

Appendix F: AEPH Source Code (Listed in Alphabetic Order)

F115: s512wedgeUT IXQFWLRQ>XXBXBVLJPDVLJPD@ VZHGJH87 ORDGVWU[LYN  6:('*(87FDOFXODWHVGLVSODFHPHQWVDQGVWUHVVHVIRUDVLQJOHZHGJHVXEMHFWHGWRXQLIRUPWUDFWLRQV RQWKHZHGJHVLGHV%RWKQRQFULWLFDOZHGJHDQJOHDQGFULWLFDOZHGJHDQJOHDUHFRQVLGHUHG %DVHGXSRQWKHZHGJHDQJOH  DOSKD DQGWKHORDGLQJ WBKDW DSSOLHGRQWKHZHGJHVXUIDFHV WKHVROXWLRQVDUHFDWHJRUL]HGLQWRW\SHVDVVKRZQLQHTQ D   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\HTQ D 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/Q WKHWDBPLQXV RUZKHQ DOSKD  SL WBSOXVWBPLQXVLVSDUDOOHOWRWKHGLUHWLRQRI/Q WKHWDBPLQXV  :W\SH ZKHQ DOSKD SL WBSOXVWBPLQXVLVQRWSDUDOOHOWRWKHGLUHWLRQRI/Q WKHWDBPLQXV RUZKHQ DOSKD  SL WBSOXVWBPLQXVLVQRWSDUDOOHOWRWKHGLUHWLRQRI/Q WKHWDBPLQXV  :W\SH WBKDW a  DOSKD  DOSKDBF  NDSDUDPHWHUGHILQHGLQHTQ E IRU:W\SH  KDFRHIILFLHQWYHFWRUGHILQHGLQHTQ E 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 ORDGVWU GLPGLP (  WUDFWLRQDSSOLHGRQWKIWBSOXVRI)LJXUH LI3W\SHa W  ORDGVWU  WI  ORDGVWU GLP HQG

WKFRPSRQHQWRIWDQGWIIRUSLH]RHOHFWULFPDWHULDOV

LI3W\SH!W  ORDGVWU  WI  ORDGVWU GLP HQG

WKFRPSRQHQWRIWDQGWIIRU0((PDWHULDOV 

    DOSKD WKIWK    DOSKDZHGJHDQJOH     >1WL1WL1WL@ 6WURKBPDWULFHV WKIWK      Q >VLQ WK FRV WK @  QI >VLQ WKI FRV WKI @ LI3W\SHa Q >Q@QI >QI@HQG

HTQ D IRUSLH]RDQG0((

LI3W\SH!Q >Q@QI >QI@HQG

IRU0((

    WBKDW QI

WQ

WI  'HOWD Q

1WL QI     HTQ   FDWHJRUL]HWKHZHGJHLQWRW\SHVDFFRUGLQJWRHTQ D  LIDEV WBKDW HSV DEV DOSKDSL !HSV DEV DOSKD SL !HSV:W\SH HQG LIDEV WBKDW HSV  DEV DOSKDSL HSV_DEV DOSKD SL HSV :W\SH HQG LIDEV WBKDW !HSV DEV DOSKDSL !HSV DEV DOSKD SL !HSV DEV 'HOWD !HSV:W\SH HQG LIDEV WBKDW !HSV  DEV DOSKDSL HSV_DEV DOSKD SL HSV :W\SH HQG LIDEV WBKDW !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 WIP M /Q M   NS WIS M /Q M   WIP NP /QWIS NS /Q LIDEV DOSKDSL HSV DEV PD[ WIPWIP HSV             :W\SH N NPSL  HTQ E HOVHLIDEV DOSKDSL HSV              :W\SH K LQY / WIPSL  HTQ E HQG LIDEV DOSKD SL HSV DEV PD[ WISWIS HSV              :W\SH N NS  SL   HTQ E HOVHLIDEV DOSKD SL HSV              :W\SH K LQY / WIS  SL   HTQ E HQG HQG HQG [V [L  FRV WK [L  VLQ WK [V [L  VLQ WK [L  FRV WK   U VTUW [VA[VA   WKV DFRV [VU   LI[VHSVWKV  SLWKVHQG

XVLQJWKHUDQJHJLYHQLQHTQ  WKV SL

WK WKWKV       WKLVORFDWHGEHWZHHQWKDQGWK SLLHWK WK WK SL F FRV WK V VLQ WK  VZLWFK:W\SH FDVH  HTQ E RUHTQ D         WBLQI  FRV WK WIFRV WKI W VLQ DOSKD   HTQ          WBLQI  VLQ WK WIVLQ WKI W VLQ DOSKD   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   HTQ D         HSVBLQI >HSVBLQI  HSVBLQI  HSVBLQI  @      HTQ E         HSVBLQI >HSVBLQI  HSVBLQI  HSVBLQI  @      HTQ E 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     HTQ D          VLJPD WBLQI (   VLJPD WBLQI ( FDVH  HTQ E         >1WK1WK1WK@ 6WURKBPDWULFHV WK          GWK WKWKFGWK FRV GWK VGWK VLQ GWK   F FRV WK V VLQ WK          1W 1WK

W  1W 1WK W         X U VGWK 1W             SKL U FGWK WVGWK 1W (         XB V 1W   XB F 1W    HTQ E          VLJPD V WF 1W (    VLJPD F WV 1W (  FDVH   HTQ F         >1WL1WL1WL@ 6WURKBPDWULFHV WKIWK          >1KDW1KDW1KDW@ 6WURKBPDWULFHV WKIWK          >1WK1WK1WK@ 6WURKBPDWULFHV WK          >1WK1WK1WK@ 6WURKBPDWULFHV WK 

HTQ  

736

Appendix F: AEPH Source Code (Listed in Alphabetic Order)         >1WK1WK1L@ 6WURKBPDWULFHV WK          K 1L WI1KDW

WWBKDW 1WL QI'HOWD VLQ DOSKD    HTQ          >1WL1WL1WL@ 6WURKBPDWULFHV WKWK          >1KDW1KDW1KDW@ 6WURKBPDWULFHV WKWK          QWK >VLQ WK FRV WK @L >@  L >@ LI3W\SHa QWK >QWK@L >L@L >L@  HQG

HTQ D 

LI3W\SH!QWK >QWK@L >L@L >L@  HQG         WG WBKDW SL 'HOWD U1WL ORJ U H\H GLP SL 1WL         X U 1KDW K1KDW WWG U1WL QWK            SKL U 1KDW K1KDW

WWG SL 1WL QWK (          F FRV WK V VLQ WK           1KDW F H\H GLP V 1WK1KDW V H\H GLP F 1WK  1BKDW WK 1BKDW SLWK          XB 1KDW KV 1WK WWG U1WLH\H GLP L   HTQ F B         XB 1KDW KF 1WK WWG U1WLH\H GLP L   HTQ F B         VLJPD F 1WK K1KDW

WWG SL 1WL L (  HTQ F B         VLJPD V 1WK K1KDW

WWG SL 1WL L (  HTQ F B FDVH^`  HTQV            >1WL1WL1WL@ 6WURKBPDWULFHV WKWK          >1KDW1KDW1KDW@ 6WURKBPDWULFHV WKWK          U1WL ORJ U H\H GLP SL 1WL LI:W\SH



            QWK >VLQ WK FRV WK @  L >@  L >@ LI3W\SHa QWK >QWK@L >L@L >L@  HQG

HTQ D 

LI3W\SH!QWK >QWK@L >L@L >L@  HQG             X U 1KDW WN U1WL QWK 

HTQ D B

            SKL U 1KDW

WN SL 1WL QWK (  HTQ D B              >1WK1WK1WK@ 6WURKBPDWULFHV WK              F FRV WK V VLQ WK               1KDW F H\H GLP V 1WK  1BKDW WK              1KDW V H\H GLP F 1WK  1BKDW SLWK              XB V 1WK WN U1WLH\H GLP L   HTQ G B             XB F 1WK WN U1WLH\H GLP L  HTQ G B             VLJPD 1KDW

WN SL 1WL L (

HTQ G B

            VLJPD 1KDW

WN SL 1WL L (    HTQ G B HOVHLI:W\SH



            X U 1KDW W U1WL 1KDWSL 1WL 1KDW K 

HTQ D B

            SKL U 1KDW

W U1WL

1KDWSL 1WL 1KDW K (  HTQ D B              >1KDW1KDW1KDW@ 6WURKBPDWULFHV WK 

1LBKDW WK 

            >1KDW1KDW1KDW@ 6WURKBPDWULFHV SLWK 1LBKDW SLWK             >1KDW1KDW1KDW@ 6WURKBPDWULFHV WK  

1LBKDW WK 

            >1KDW1KDW1KDW@ 6WURKBPDWULFHV SLWK 

1LBKDW SLWK 

            1WLV 1WL 1KDW1WL 1KDW    1WLV 1WL 1KDW1WL 1KDW  HTQ F B             1WLV 1WL

1KDW1WL 1KDW   1WLV 1WL

1KDW1WL 1KDW  HTQ G B             1KDWV 1KDW 1KDW1KDW 1KDW   1KDWV 1KDW 1KDW1KDW 1KDW F B             1KDWV 1KDW

1KDW1KDW 1KDW  1KDWV 1KDW

1KDW1KDW 1KDW  G B             XB 1KDW W ORJ U 1KDWSL 1WLV1KDWV K

HTQ H B

Appendix F: AEPH Source Code (Listed in Alphabetic Order)

737

            XB 1KDW W ORJ U 1KDWSL 1WLV1KDWV K

HTQ H B

            VLJPD 1KDW

W ORJ U 1KDWSL 1WLV1KDWV K (  HTQ H B             VLJPD 1KDW

W ORJ U 1KDWSL 1WLV1KDWV K (HTQ H B HQG FDVH  HTQ   I          >1WL1WL1WL@ 6WURKBPDWULFHV WKIWK          >1KDW1KDW1KDW@ 6WURKBPDWULFHV WKIWK          >1WK1WK1L@ 6WURKBPDWULFHV WK          N SL 1L 1WL QI VLQ DOSKD    HTQ G B         N WI1KDW

W

HTQ G B

        N SL 1WL 1KDW NSLA 1WL 1WL1WL

1WL QI  HTQ G B         KBKDW Q

N Q

N     HTQ E B         K 1L NKBKDW N VLQ DOSKD   HTQ G B          >1WL1WL1WL@ 6WURKBPDWULFHV WKWK             >1KDW1KDW1KDW@ 6WURKBPDWULFHV WKWK          QWK >VLQ WK FRV WK @  L >@  L >@ LI3W\SHa QWK >QWK@L >L@L >L@  HQG

HTQ D 

LI3W\SH!QWK >QWK@L >L@L >L@  HQG         S 1KDW K1KDW W     T 1KDW K1KDW

W

HTQ E 

        S SL 1WL 1KDW1WL 1KDW NSLA 1WLA1WL 1WL QWK  HTQ E          T SL 1WL 1KDW1WL

1KDW NSLA 1WL 1WL1WL

1WL QWK  HTQ E          S 1KDW NSL 1WL QWK  T 1KDW NSL 1WL QWK  HTQ E          X U SKBKDW SORJ U SORJ U A QWK    HTQ D B         SKL U TKBKDW TORJ U TORJ U A QWK (  HTQ D B          >1KDW1KDW1KDW@ 6WURKBPDWULFHV WK 

1LBKDW WK 

        >1KDW1KDW1KDW@ 6WURKBPDWULFHV SLWK 1LBKDW SLWK         >1KDW1KDW1KDW@ 6WURKBPDWULFHV WK          >1KDW1KDW1KDW@ 6WURKBPDWULFHV SLWK 

1LBKDW WK  1LBKDW SLWK 

        1WLV 1WL 1KDW1WL 1KDW    1WLV 1WL 1KDW1WL 1KDW  HTQ F B         1WLV 1WL

1KDW1WL 1KDW   1WLV 1WL

1KDW1WL 1KDW  HTQ G B         1KDWV 1KDW 1KDW1KDW 1KDW   1KDWV 1KDW 1KDW1KDW 1KDW   HTQ F B         1KDWV 1KDW

1KDW1KDW 1KDW  1KDWV 1KDW

1KDW1KDW 1KDW   HTQ G B         1WLS 1WLA1WL 1WL    1WLS 1WL 1WL1WL

1WL  HTQ F B  G B          SV SL 1WLV1KDWV NSL 1WLSL 1WLS L  HTQ D B         SV SL 1WLV1KDWV NSL 1WLSL 1WLS L  HTQ D B         SV 1KDW N H\H GLP SL 1WL L   HTQ D B         SV 1KDW N H\H GLP SL 1WL L   HTQ D B          TV SL 1WLV1KDWV NSL 1WLSL 1WLS L  HTQ E B         TV SL 1WLV1KDWV NSL 1WLSL 1WLS LHTQ E B         TV 1KDW N H\H GLP SL 1WL L  HTQ E B         TV 1KDW N H\H GLP SL 1WL L   HTQ E B          XB 1KDW K1KDW WKBKDW SVORJ U SVORJ U A L   HTQ I B         XB 1KDW K1KDW WKBKDW SVORJ U SVORJ U A L   HTQ I B         VLJPD  1KDW K1KDW

WKBKDW TVORJ U TVORJ U A L (  HTQ I B         VLJPD 1KDW K1KDW

WKBKDW TVORJ U TVORJ U A L (    HTQ I 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 LQY 1WL SBKDWSLGHILQHGLQHTQ E 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@ 6WURKBPDWULFHV WKIWK      KS LQY 1WL SBKDWSL   HTQ E KS KSL HQG ] [L  [L  PX    X  UHDO $ GLDJ ORJ ] % KS   SKL  UHDO % GLDJ ORJ ] % KS (   HTQ D  XB  UHDO $ GLDJ ] % KS   VLJPD  UHDO % GLDJ ] % KS (   GHULYDWLYHRIHTQ D  XB  UHDO $ GLDJ PX] % KS  VLJPD  UHDO % GLDJ PX] % KS (  GHULYDWLYHRIHTQ D  LI,FKHFN

    FKHFNZLWKWKHUHDOIRUPVROXWLRQHTQ   

    [V [L  FRV WK [L  VLQ WK [V [L  VLQ WK [L  FRV WK       U VTUW [VA[VA LIU

U UHSVHQGWKV DFRV [VU  

LI[VHSVWKV  SLWKVHQG

XVLQJWKHUDQJHJLYHQLQHTQ  WKV SL

    WK WKWKV       WKLVORFDWHGEHWZHHQWKDQGWK SLLHWK WK WK SL     >1WL1WL1WL@ 6WURKBPDWULFHV WK      >1KDW1KDW1KDW@ 6WURKBPDWULFHV WK      >1KDW1KDW1KDW@ 6WURKBPDWULFHV SLWK 

1LBKDW WK  1LBKDW SLWK 

    XF ORJ U H\H GLP 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 DEV XXF   GLI DEV SKLSKLF   GLI DEV XBXBF   GLI DEV XBXBF        GLI DEV VLJPDVLJPDF   GLI DEV VLJPDVLJPDF    GLI PD[ GLIGLIGLIGLIGLIGLI      VWU ^       >XXFSKLSKLF@  >XBXBFXBXBFVLJPDVLJPDFVLJPDVLJPDF@ `VWULQJVIRUPHVVDJHRI,FKHFN     SULQW7) [L>XXFSKLSKLF@>XBXBFXBXBFVLJPDVLJPDFVLJPDVLJPDF@GLIVWU   SULQWWKHPHVVDJHRI,FKHFN HQG

F117: s522wedgePM IXQFWLRQ>XXBXBVLJPDVLJPD@ VZHGJH30 ORDGVWU[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 1BWLOGH WKIWK 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@ 6WURKBPDWULFHV WKIWK      Q >VLQ WK FRV WK @  QI >VLQ WKI FRV WKI @ LI3W\SHa Q >Q@QI >QI@HQG

HTQ D IRUSLH]RDQG0((

LI3W\SH!Q >Q@QI >QI@HQG

IRU0((

    'HOWD Q

1WL QI     HTQ   HQG [V [L  FRV WK [L  VLQ WK [V [L  VLQ WK [L  FRV WK   U VTUW [VA[VA LIU

U UHSVHQGWKV DFRV [VU  

LI[VHSVWKV  SLWKVHQG

XVLQJWKHUDQJHJLYHQLQHTQ  WKV SL

WK WKWKV       WKLVORFDWHGEHWZHHQWKDQGWK SLLHWK WK WK SL >1KDW1KDW1KDW@ 6WURKBPDWULFHV WKWK   >1KDW1KDW1KDW@ 6WURKBPDWULFHV WK 

1LBKDW WK 

>1KDW1KDW1KDW@ 6WURKBPDWULFHV SLWK 

1LBKDW SLWK 

1KDWVL 1KDW 1KDW1KDW 1KDW   1KDWVL 1KDW 1KDW1KDW 1KDW   HTQ E B 1KDWVL 1KDW

1KDW1KDW 1KDW  1KDWVL 1KDW

1KDW1KDW 1KDW   HTQ E B  LIDEV 'HOWD !HSV         X PBKDW 1KDW QI SL U 'HOWD 

HTQ D B

    SKL PBKDW 1KDW QI SL U 'HOWD (HTQ D B     XB PBKDW 1KDWVL QI SL UA 'HOWD    HTQ D B     XB PBKDW 1KDWVL QI SL UA 'HOWD    HTQ D B     VLJPD  PBKDW 1KDWVL QI SL UA 'HOWD (   HTQ D B     VLJPD PBKDW 1KDWVL QI SL UA 'HOWD ( HOVH

HTQ D B

HTQ 

    1F ]HURV GLP      >[JZJ@ *DXVV QB*DXVV  IRULJ QB*DXVV   LQWHJUDWLRQRIWKHPDWUL[LQFRIHTQ I         WK WKIWK WK WKIWK          WKL WK [J LJ WK         >1WK1WK1WK@ 6WURKBPDWULFHV WKL          >1WL1WL1WL@ 6WURKBPDWULFHV WKWKL          1F 1F 1WK 1WL1WK 1WL ZJ LJ WK  SDUWRIHTQ I

740

Appendix F: AEPH Source Code (Listed in Alphabetic Order) HQG    >1WK1WK1L@ 6WURKBPDWULFHV WKI     K SL 1L 1WL Q  VLQ DOSKD   SUHOLPLQDU\UHVXOWRIKHTQ H    F SL Q

1F QI  F SL Q

1WL K  HTQ I    N PBKDW FF        HTQ H    >1WL1WL1WL@ 6WURKBPDWULFHV WKWK     X N 1KDW ORJ U QIK SL 1WL 1KDW1WL 1KDW QI U

HTQ D B F B

   SKL N 1KDW ORJ U QIK SL 1WL

1KDW1WL 1KDW QI U (  HTQ D B F B     0 SL 1WL 1KDWVL1WL 1KDWVL     0 SL 1WL 1KDWVL1WL 1KDWVL   HTQ G B    0 SL 1WL 1KDWVL1WL

1KDWVL    0 SL 1WL 1KDWVL1WL

1KDWVL HTQ G B    XB N 1KDWVL ORJ U  QIK 0 QI UA  HTQ E B    XB N 1KDWVL ORJ U  QIK 0 QI UA  HTQ E B    VLJPD N 1KDWVL ORJ U  QIK 0 QI UA (  HTQ E B    VLJPD N 1KDWVL ORJ U  QIK 0 QI UA (   HTQ E B HQG

F118: s523MwedgePFD IXQFWLRQ>XXBXBVLJPDVLJPD@ V0ZHGJH3)' ORDGVWU[LYN  60:('*(3)'FDOFXODWHVGLVSODFHPHQWVDQGVWUHVVHVIRUDPXOWLZHGJHVSDFHVXEMHFWHGWR DSRLQWIRUFHDQGGLVORFDWLRQDWWKHZHGJHDSH[  XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ SBKDWSRLQWIRUFHDSSOLHGRQWKHZHGJHDSH[ EBKDWGLVORFDWLRQDSSOLHGRQWKHZHGJHDSH[ WKNYHFWRURISRODUDQJOHVRIZHGJHVLGHVWKN  WKN  WKN Q 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 ORDGVWU GLPGLP   %XUJHUVYHFWRU>EEE@RQWKHZHGJHDSH[IRUDQLVRWURSLFPDWHULDOV LI3W\SHa EBKDW  ORDGVWU  GLP (HQG

>EEEE@IRUSLH]RHOHFWULFPDWHULDOV

LI3W\SH!EBKDW  ORDGVWU GLP (HQG

>EEEEE@IRU0((PDWHULDOV

   WKN ORDGVWU  GLP GLP1PDW SL  SRODUDQJOHVRIZHGJHVLGHVWKN  WKN  WKN Q XQLWGHJUHH 1RWHFRPSDUHZLWKWKHV\PEROXVHGLQ)LJWKN  VWDQGVIRUWKHWDWKN  WKHWDHWF    WK WKN   HQG [V [L  FRV WK [L  VLQ WK [V [L  VLQ WK [L  FRV WK   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@ 6WURKBPDWULFHV WKWK   K  6WL EBKDW+WL SBKDW   J /WL EBKDW6WL

SBKDW   HTQ E X ORJ U KSL1WL K1WL J    

HTQ D B

Appendix F: AEPH Source Code (Listed in Alphabetic Order) SKL ORJ U JSL1WL K1WL

J (  HTQ D B  FWK FRV WK   VWK VLQ WK  >1WK1WK1WK@ 6WURKBPDWULFHV WK  1KDW FWK H\H GLP VWK 1WK  1KDW VWK H\H GLP FWK 1WK  1KDW 1BKDW WK 1KDW 1BKDW SLWK  1KDW VWK 1WK  1KDW FWK 1WK  1KDW 1BKDW WK 1KDW 1BKDW SLWK  1KDW VWK 1WK  1KDW FWK 1WK  1KDW 1BKDW WK 1KDW 1BKDW SLWK   XB 1KDW K1KDW J  SL U   XB 1KDW K1KDW J  SL U   HTQ D B VLJPD  1KDW K1KDW

J  SL U (  VLJPD 1KDW K1KDW

J  SL U (  HTQ D B

F119: s524MwedgePF IXQFWLRQ>XXBXBVLJPDVLJPD@ V0ZHGJH3) ORDGVWU[LYN  60:('*(3)FDOFXODWHVGLVSODFHPHQWVDQGVWUHVVHVIRUDPXOWLZHGJH VXEMHFWHGWRDSRLQWIRUFHDWWKHZHGJHDSH[  XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ SBKDWSRLQWIRUFHDSSOLHGRQWKHZHGJHDSH[ WKNYHFWRURISRODUDQJOHVRIZHGJHVLGHVWKN  WKN  WKN Q XQLWGHJUHH 1RWHFRPSDUHZLWKWKHV\PEROXVHGLQ)LJWKN  VWDQGVIRUWKHWDWKN  WKHWDHWF WKWKIWK WKN  WKI WKN 1PDW 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 ORDGVWU GLPGLP1PDW   SRODUDQJOHVRIZHGJHVLGHVWKN  WKN  WKN Q XQLWGHJUHH    WKN WKN SL  FRQYHUVLRQRIGHJUHHWRUDGLDQ    WK WKN  WKI WKN 1PDW  HQG [V [L  FRV WK [L  VLQ WK [V [L  VLQ WK [L  FRV WK   U VTUW [VA[VA LIU

U UHSVHQGWKV DFRV [VU  

LI[VHSVWKV  SLWKVHQG

XVLQJWKHUDQJHJLYHQLQHTQ  WKV SL

WK WKWKV       WKLVORFDWHGEHWZHHQWKDQGWK SLLHWK WK WK SL >1WI1WI1WI@ 6WURKBPDWULFHV WKIWK   >1WL1WL1WL@ 6WURKBPDWULFHV WKWK   K LQY 1WI SBKDWSL     HTQ E  X ORJ U H\H GLP SL 1WL K  HTQ D B SKL SL 1WL K (               HTQ D B FWK FRV WK   VWK VLQ WK  >1WK1WK1WK@ 6WURKBPDWULFHV WK  1KDW FWK H\H GLP VWK 1WK  1KDW VWK H\H GLP FWK 1WK  1BKDW WK 1BKDW SLWK  1KDW VWK 1WK  1KDW FWK 1WK  1BKDW WK 1BKDW SLWK  XB 1KDW KU  XB 1KDW KU   HTQ D B VLJPD 1KDW KU (    VLJPD 1KDW KU (  HTQ D 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[HTQ E B 9WKSGHULYDWLYH ZUW?WKHWD RIHLJHQIXQFWLRQVRIGLVSODFHPHQWVDGLP GLPPDWUL[HTQ E B /DPWKHLJHQIXQFWLRQVRIVWUHVVIXQFWLRQVDGLP GLPPDWUL[HTQ E B /DPWKSGHULYDWLYH ZUW?WKHWD RIHLJHQIXQFWLRQVRIVWUHVVIXQFWLRQVDGLP GLPPDWUL[HTQ F 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  WKN Q LQSXWXQLWGHJUHH 1RWHFRPSDUHZLWKWKHV\PEROXVHGLQ)LJDQG)LJWKN  VWDQGVIRUWKHWDWKN  WKHWDHWF GHOWDYHFWRURIVLQJXODURUGHUV /DPPDWUL[RIHLJHQIXQFWLRQVFDOFXODWHGE\IXQFWLRQVBGHO/DP QGHOQXPEHURIVLQJXODURUGHUV /DP/DP /DPZKHQGHW\SH /DPZLOOEHXSGDWHGDFFRUGLQJWRGHOWD GHOWDZKHQGHW\SH  3L/3L/ M 3WKL /DP M SDUWRIHTQ D  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

 

   ISULQWI ILG ?U?Q)ROORZLQJVDUHWKHUHVXOWVLQ/DSODFHGRPDLQZKLFKDUHVKRZQIRUWKHUHIHUHQFHRIXVHUV?U?Q     ISULQWI ILG $IWHUWKHVHUHVXOWVWKHVROXWLRQLQWLPHGRPDLQFDQEHIRXQGZKLFKZLOOVWDUWZLWKWLPH ;;;?U?Q  HQG LIYN

  &DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN 

   ZEF ORDGVWU  ERXQGDU\FRQGLWLRQRIWKHPXOWLPDWHULDOZHGJH    WKN ORDGVWU 1PDW   ORFDWLRQRIZHGJHVLGHVWKN  WKN  WKN Q 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            /  UHDO L %BD  %BD      /RIPDWHULDOHTQ  LGHDOO\VKRXOGEHUHDO            /L /  VHWWKHLQLWLDOYDOXHVIRUWKHLQYHUVHRI/WRLQFOXGHWKHSRVVLEOH]HURVIURP WR             GLP GLPBD  /L GLPGLP LQY / GLPGLP LQYHUVHH[FOXGLQJWKHSRVVLEOH]HURV LIGHW\SH

/DP /DP 

HOVHLIGHW\SH

 

IRUM GLP                    :G' :FRW GHOWD M SL '  HTQ                      >86'9@ VYG :G' /DP M 9 HQG VYGDPDWODEIXQFWLRQWRILQGHLJHQYHFWRURI:G' HQG HQG IRUM GLP                [GHO GHOWD M                   3WKL /LVLQ GHOWD M SL      HTQ E                 3L/ M 3WKL /DP M    SDUWRIHTQ D  HQG FDVH  DOOWKHRWKHUFDVHV IRUM QGHO                GHO GHOWD M                 >.HQI.@ PXOWLZHGJH GHO   I.GHW .HQ ZLWKGHOWD M .HQ.RIIXQFWLRQPXOWLZHGJHZLWK0:7\SH                 >8'9@ VYG .HQ   Y M 9 HQG VYGDPDWODEIXQFWLRQVLQJXODUYDOXHGHFRPSRVLWLRQ PDWUL[GLDJRQL]DWLRQLH.HQ 8'9ZKHUHGLDJRQDOPDWUL['FRQVLVWVRIWKHQRQQHJDWLYHHOHPHQWVLQ  GHFUHDVLQJRUGHU8DQG9XQLWDU\PDWUL[WKHODVWFROXPQRI9SURYLGHVWKHHLJHQYHFWRURI.HQ VZLWFKZEF FDVHXSKL M Y M    HTQ  B FDVH^`XSKL M >Y M ]HURV GLP @   HTQ  B FDVH^`XSKL M >]HURV GLP Y M @   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 >UHDO GHOWD M LPDJ GHOWD M @HQG    SULQW7) ILG>@>@GHO5,  VWUGLP  HQG LIGHW\SH

GHOWD GHOWDHQG

GHOWDIRUWKHFDOFXODWLRQRIHLJHQIXQFWLRQV

LIGHW\SH

GHOWD GHOWDHQG

GHOWDIRUWKHFDOFXODWLRQRIFRPSOHPHQWDU\HLJHQIXQFWLRQV

[V [L  FRV WKN  [L  VLQ WKN  [V [L  VLQ WKN  [L  FRV WKN   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@ 6WURKBPDWULFHV WKWKN  [GH 9WK 1G/DPWK 1GFDOFXODWH1G 1AXVLQJGLDJRQDOL]DWLRQUHODWLRQ           >1GS1GS1GS@ 6WURKBPDWULFHV WKWKN  [GH 9WKS 1GS/DPWKS 1GS         9WK [GH 1G/DPWK [GH 1G9WKS [GH 1GS/DPWKS [GH 1GS  ZLWKN     FDVH   DQLQWHUIDFHFUDFN IRUM GLP             [GHO GHOWD M    LI[L                    >8WK1G3WK@ 6WURKBPDWULFHV WKWKN  [GHO      FDOFXODWH8 WKHWD 3KL WKHWD RIHTQ  B                 >8WKS1GS3WKS@ 6WURKBPDWULFHV WKWKN  [GHO   FDOFXODWHGHULYDWLYHVRI8 WKHWD 3KL WKHWD RIHTQ  B HOVH                 >8WK1G3WK@ 6WURKBPDWULFHV WKN  WKN  [GHO     FDOFXODWH8 WKHWD 3KL WKHWD RIPDWHTQ  B                 >8WK1G3WK@ 6WURKBPDWULFHV WKWKN  [GHO      FDOFXODWH8 WKHWD 3KL WKHWD RIPDWHTQ  B                 >1GS1GS1GS@ 6WURKBPDWULFHV WKWKN  [GHO   FDOFXODWHGHULYDWLYHVRI8 WKHWD 3KL WKHWD RIHTQ  B                 1G 1G 1G1GS 1GS 1G

HTQ  B

                8WK 1G GLPGLP 3WK 1G GLP GLPGLP    HTQ  B                 8WKS 1GS GLPGLP 3WKS 1GS GLP GLPGLP GHULYDWLYHVRIHTQ  B HQG             9WK M 8WK 3L/ M   /DPWK M 3WK 3L/ M    HTQ D              9WKS M 8WKS 3L/ M   /DPWKS M 3WKS 3L/ M   GHULYDWLYHVRIHTQ D  HQG FDVH   DOOWKHRWKHUFDVHV IRUM QGHO             GHO GHOWD M              >L.HL.HS@ PXOWLZHGJH GHOWK HTQ  DQG  VHHIXQFWLRQPXOWLZHGJHZLWK0:7\SH  L.H1KDWBN WKHWDWKN N A ?GHOWD .H B N RIHTQ   L.HSL.HASULPHLHWKHGHULYDWLYHRIL.HZLWKUHVSHFWWR?WKHWD             (WD/DP GHO L.H XSKL M    (WD/DPS GHO L.HS XSKL M HTQ   UHODWHGWRHTQ                 9WK M (WD/DP GLP     /DPWK M (WD/DP GLPGLP  HTQ               9WKS M (WD/DPS GLP     /DPWKS M (WD/DPS GLPGLP    GHULYDWLYHRI9WKDQG/DPWK HQG HQG VWU ^ VFDOHGHLJHQIXQFWLRQVDWWKHWD  9 WKHWD  /DPGD WKHWD (  9S WKHWD  /DPGDS WKHWD ( ` SULQW7) ILGWK9WK/DPWK9WKS/DPWKSVWUGLP   /DPWK /DPWK (/DPWKS /DPWKS (   DGMXVWPHQWRIWKHVFDOLQJ LI3W\SHa   IRUM GLP9WK GLPM 9WK GLPM (  9WKS GLPM 9WKS GLPM (      /DPWK GLPM /DPWK GLPM (/DPWKS GLPM /DPWKS GLPM (HQG HQG  IXQFWLRQ>GHOWD/DPQGHO@ GHOWD: ORDGVWU:&W\SH  FDOFXODWHWKHVLQJXODURUGHUVIRUWKUHHGLIIHUHQWFDVHV JOREDO3W\SHILGGLP(HSVIURP0DLQSURJUDP JOREDOZEF  IURPIXQFWLRQV0ZHGJH62( QGHO GLP  /DP H\H GLP   GHIDXOW VZLWFK:&W\SH FDVH  DFUDFNLQDKRPJHQHRXVPDWHULDO

Appendix F: AEPH Source Code (Listed in Alphabetic Order)

745

            GHOWD  RQHV GLP   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

1GWULDOQXPEHURIVHDUFKLQJURRWVVXJJHVWHGYDOXH URRWVVLQJXODURUGHUV GGGWKUHHLQLWLDOJXHVVHVRIWKHVLQJXODURUGHUGHOWDVXJJHVWHGYDOXHV G72/FRQYHUJHQFHWROHUDQFHIRUYDULDEOHGHOWDVXJJHVWHGYDOXHA  GHOWDVLQJXODURUGHU I72/FRQYHUJHQFHWROHUDQFHIRUWKHGHWHUPLQDQWRI.HVXJJHVWHGYDOXHA .HVHHHTQ  0D[LPD[LPXPQXPEHURILWHUDWLRQXVHGLQ0XOOHU VPHWKRGVXJJHVWHGYDOXH             GHOWD ]HURV GLP QGHO 1GL 1G  LQLWLDOYDOXHV             LWHU '1G 1GLWHU LQLWLDOYDOXHRIWKHIROORZLQJLWHUDWLRQ'1GLQFUHPHQWRIWKHWULDOQXPEHU1G ZKLOHQGHOGLP LWHU0D[L                     >GHOWDQGHO@ GHOWD0 1GLGGGG72/I72/0D[LGHOWD LQLWLDOYDOXHQGHO U ILQGURRWVLQ>@                 LWHU LWHU1GL 1GL'1G   WU\WRILQGWKHFRPSOHWHURRWVE\LQFUHDVLQJWKHWULDOQXPEHU  HQG LIQGHOGLP    WU\WRJHWDGGLWLRQDOVLQJXODURUGHUVREWDLQHGIURPWKHUDQJHRI>@                 >GHOWDQGHO@ GHOWD0 1GGGGG72/I72/0D[LGHOWDQGHO ILQGURRWVLQWKHUDQJHRI>@                 ISULQWI ILG ?U?Q:DUQLQJ6RPHRIWKHVLQJXODURUGHUVVKRZQEHORZDUHOHVVWKDQ]HUR?U?Q  HQG LIQGHO! GLPQGHO GLPHQG             >5GHOGL@ VRUW UHDO GHOWD LPDJ GHOWD HSV GHVFHQG    VRUWLQGHVFHQGLQJRUGHU ILUVWFRPSDUHUHDOSDUWWKDQFRPSDUHLPDJLQDU\SDUW  IRUM QGHOGHOWD M GHOWD GL M HQG

GLDUUD\RIVRUWLQJLQGH[   

HQG  IXQFWLRQ>GHOWDQGHO@ GHOWD0 1GGGGG72/I72/0D[L3UREGHOWDQGHOU  FDOFXODWHVWKHVLQJXODURUGHUV UDQJLQJIURPUWRU RIPXOWLPDWHULDOZHGJHV UVWDUWLQJSRLQWRIVROXWLRQGHOWD 3URESUREOHPW\SH3URE IRUV3URE IRUV VG 1GVGLQFUHPHQWRILQLWLDOJXHVVQGHOQXPEHURIVLQJXODURUGHUVVHWWR]HURLQLWLDOO\ G GUG GUG GU] U] U  IRUN 1G     >[]HURI.LWHU@ PXOOHU GGGG72/I72/0D[L3URE   ILQGURRWWKURXJKPXOOHU VPHWKRG GH DEV []HUR] []HUR] GH DEV PLQ []HURGHOWD   GHWKHGLIIHUHQFHZLWKGHOWD RUGHWKHPLQLPXPGLIIHUHQFHZLWKWKHSUHYLRXVIRXQGGHOWD LIDEV []HUR] ! DEV ][]HUR ! DEV I. I72/ GH! G72/ GH!G72/   QGHO QGHOGHOWD QGHO []HUR  GHOWDYHFWRURIVLQJXODURUGHUVQGHOQXPEHURIVLQJXODURUGHUV HQG     G GVGG GVGG GVG  FKDQJHDQHZVHWRIWKHLQLWLDOJXHVVHVIRUPXOOHU VPHWKRG HQG

746

Appendix F: AEPH Source Code (Listed in Alphabetic Order)

F121: s542MwedgeNTS IXQFWLRQ>XXBXBVLJPDVLJPD@ V0ZHGJH176 ORDGVWU[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  FRV WKN  [L  VLQ WKN  [V [L  VLQ WKN  [L  FRV WKN    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      UG M UU AGHOWD M  GHOWD M    GLDJRQDOPDWUL[LQHTQ D  HQG FWK FRV WK   VWK VLQ WK  U/N GLDJ UG LQY /DPGD 6,)VTUW  SL U 

SDUWRIHTQ D  E 

X U 9WK U/N   SKL U /DPWK U/N       HTQ D  XB FWK 9WK GLDJ GHOWD VWK 9WKS U/N   HTQ E B XB VWK 9WK GLDJ GHOWD FWK 9WKS U/N   HTQ E B VLJPD  VWK /DPWK GLDJ GHOWD FWK /DPWKS U/N  HTQ E B VLJPD FWK /DPWK GLDJ GHOWD VWK /DPWKS U/N   HTQ E B

F122: s543MwedgeSIF2d IXQFWLRQ>6,)@ V0ZHGJH6,)G ORDGVWU  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@ VBXW ORDGVWU  [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@ *DXVV QB*DXVV   +BVWDU ]HURV GLP K ]HURV GLP  LI+W\SH GHOU VTUW  SL U GHOWD  U,U AGHOWDHQG

IRU+W\SH 

IRULJ QB*DXVV  HTQ         WK WK WKJ LJ WK  [J  U, FRV WK [J  U, VLQ WK  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 ZJ LJ    HTQ E B LI+W\SH   FLUFXODULQWHJUDOSDWK+W\SH          X XW LJGLP W XW LJGLPGLP  LI3W\SHa W  XW LJGLP HQG LI3W\SH!W  XW LJ GLP HQG         K KWK ZJ LJ X F/DPWKSU,W F9WK  GHOUHTQ E B DE  HQG HQG LI+W\SH

_+W\SH

  SLHFHZLVHOLQHLQWHJUDOSDWK

IRULO QOLQH         G[ [\Q LO [\Q LO G\ [\Q LO [\Q LO          OHQ VTUW G[AG\A FD G[OHQVD G\OHQ          DOSKD DFRV FD LIG\DOSKD  SLDOSKDHQG IRULJ QB*DXVV  HTQ                 V OHQ WKJ LJ                 [J  [\Q LO V FD[J  [\Q LO V VD             >F9WKF9WKSF/DPWKF/DPWKSFGHOWD@ V0ZHGJH62( ORDGVWU[J  )ROORZLQJIRXUOLQHVUHSHDWWKHZRUNGRQHLQV0ZHGJH62( MXVWIRUJHWWLQJUDQGWK              [V [J  FRV WKN  [J  VLQ WKN  [V [J  VLQ WKN  [J  FRV WKN               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 XW LQGLP W XW LQGLPGLP  LI3W\SHa W  XW LQGLP HQG LI3W\SH!W  XW LQ GLP HQG              GHOU VTUW  SL U GHOWD  UU AGHOWD   GHOU GHOU GHOWD   SDUWRI E              XF FRV WKDOSKD X F/DPWKXV VLQ WKDOSKD X F/DPWKSSDUWRI E              K KOHQ ZJ LJ XF GHOUXV GHOU U W F9WK  GHOU   U   HTQ E B  DF  HQG HQG

748

Appendix F: AEPH Source Code (Listed in Alphabetic Order) HQG 6,) /DP LQY +BVWDU K    HTQ D  FDOFXODWHWKHVWUHVVLQWHQVLW\IDFWRUEDVHGXSRQWKHUDGLDOGLUHFWLRQWKHWD WK6,)HTQ   FL FRV WK6,) VL VLQ WK6,) [L >FLVL@  WKHSRLQWDWWKHGLUHFWLRQRIWKN L  LI:&W\SH

3L/ 3L/HOVHLI:&W\SH

XSKL XSKLHQG

>9WK9WKS/DPWK/DPWKSGHOWD@ V0ZHGJH62( ORDGVWU[L  2PHJD >FLVLVLFL@  HTQ E B LI3W\SHa 2PHJD  2PHJD  2PHJD  HQG LI3W\SH!2PHJD  2PHJD  2PHJD  HQG 6,) 2PHJD /DPWK LQY /DP 6,)  HTQ D 

F123: s544MwedgeSIF3d IXQFWLRQ>6,)@ V0ZHGJH6,)G ORDGVWU  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,)G UHIHUHQFHIXQFWLRQVBXW  IROORZLQJVDUHWKHDGGLWLRQDOGDWDIRU'SUREOHPV +W\SH ORDGVWU     W\SHRIGLVSODFHPHQWVDQGWUDFWLRQV RUVWUHVVHV SURYLGHGIRUWKHDFWXDOV\VWHP LI+W\SH U F HOVHU F HQG

UVWDUWLQJURZFVWDUWLQJFROXPQ

Q*U ORDGVWU F    QXPEHURI*DXVVLDQSRLQWVIRUWKHYDULDEOHUVXJJHVWHGQXPEHU  QBGDWD ORDGVWU F QXPEHURIGDWDSRLQWVIRUV0ZHGJH6,)GQBGDWD QB*DXVVZKHQ+W\SH RU ZKHQ+W\SH RUQBGDWD OHQJWK ORDGVWU     ZKHQ+W\SH RUQBGDWD OHQJWK ORDGVWU   G QBGDWDUODVWURZRIORDGVWU WKHGDWDIRUV0ZHGJH6,)G  ORDGVWU ORDGVWU G  >XWORDGVWU@ VBXW ORDGVWU  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 LQSXWDGGLWLRQDOGDWDRQWKHHQGVXUIDFH FXWWLQJSODQH 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 XL UWK] XLB XLB UWK] VLJ VLJ UWK] VLJB UWK]  ZKHUHU U, [J WK WKQWK \J WKQWK ] ] U,UDGLXVRILQWHJUDWLRQSDWK WKWKQVWDUWLQJDQGHQGLQJDQJOHVRIWKHPXOWLPDWHULDOZHGJH ]WKHORFDWLRQRIWKHFXWWLQJSODQHFRQVLGHUHGLQWKLV'SUREOHP IRULU Q*U IRULWK QB*DXVV                 *N LU QB*DXVVLWK                 XVB LULWK ORDGVWU G*NGLP    XLBRI%(0RU)(0UHTXLUHGLQWKHVXUIDFHUHJLRQ6B*DPPDRIHTQ                   VLJVB LULWK ORDGVWU G*NGLP GLP   VLJPDLBRI%(0RU)(0UHTXLUHGLQWKHVXUIDFHUHJLRQ6B*DPPDRIHTQ   HQG HQG FDVH  LQSXWXGBVLJGBDWSRLQWVQHDUEXWQRWDW*DXVVLDQSRLQWVSURYLGHGE\%(0RU)(0         QBGDWD' OHQJWK ORDGVWU  G

QXPEHURIGDWDSRLQWVIRUXDQGVLJLQ[GLUHFWLRQ

IRULG QBGDWD'             [G LG ORDGVWU GLG 

ORDGVWU G*N [[ ORFDWLRQRIWKHNWKGDWDSRLQW

            XGB LG ORDGVWU GLGGLP      LIGLP ORDGVWU G*N >XBXBXB@             VLJGB LG ORDGVWU GLGGLP GLP LIGLP ORDGVWU G*N >VLJBVLJBVLJB@ HQG         >UJZJU@ *DXVV Q*U  IRULU Q*U             U U, UJ LU               >XWB@ 0/6 [GXGBVLJGBQBGDWD'QB*DXVVWKWKU+W\SH ILWYDOXHVDW*DXVVLDQSRLQWVE\0/6             XVB GLPLU XWB GLP VLJVB GLPLU XWB GLP 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@ *DXVV QB*DXVV   +BVWDU ]HURV GLP +N ]HURV GLP  IRULJ QB*DXVV  HTQ         X XW LJGLP W XW LJGLPGLP  LI3W\SHa W  XW LJGLP HQG LI3W\SH!W  XW LJ GLP HQG     WK WK WKJ LJ WK  [J  U, FRV WK [J  U, VLQ WK  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 ZJ LJ    HTQ E B     +N +NWK X F/DPWKSU,W F9WK ZJ LJ    HTQ E B SDUWRI D  HQG IRUM GLP     GHOU M VTUW  SL U GHOWD M U,U AGHOWD M  

749

750

Appendix F: AEPH Source Code (Listed in Alphabetic Order)     K M +N M GHOU M  HQG FDOFXODWLRQRIWKHVHFRQGLQWHJUDORIHTQ  ZKLFKLVDVXUIDFHLQWHJUDOZLWKGRPDLQ6B?*DPPD FXUUHQWO\RQO\YDOLGIRUDQLVRWURSLFHODVWLFPDWHULDOVQHHGWREHPRGLILHGIRUSLH]RHOHWULF0((PDWHULDOV >UJZJU@ *DXVV Q*U  K ]HURV GLP  IRUN GLP IRULU Q*U  QGWHUPRIHTQ           U U, UJ LU   IRULWK QB*DXVV             WK WK WKJ LJ WK  [J  U FRV WK [J  U VLQ WK  LI:&W\SH

3L/ 3L/HOVHLI:&W\SH

XSKL XSKLHQG

            >F9WKF9WKSF/DPWKF/DPWKSFGHOWD@ V0ZHGJH62( ORDGVWU[J              F/DPV FRV WK F/DPWK GLDJ GHOWD VLQ WK F/DPWKS  HTQ E B             F/DPV VLQ WK F/DPWK GLDJ GHOWD FRV WK F/DPWKS  HTQ E B             GHOU N VTUW  SL U GHOWD N UU AGHOWD N USDUWRIHTQ D              SKN F/DPV N GHOU N U  SKN F/DPV N GHOU N U  HTQ D              XBKDW F9WK N GHOU N    HTQ D 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@ XVB LULWK XBKDW

VLJVB LULWK   SDUWRIHTQ               K N K N U, WK U IXY ZJU LU ZJ LWK   FDOFXODWLRQRIVXUIDFHLQWHJUDO   $  HQG HQG HQG 6,) /DP LQY +BVWDU K K   HTQ D  FDOFXODWHWKHVWUHVVLQWHQVLW\IDFWRUEDVHGXSRQWKHUDGLDOGLHUFWLRQWKHWD WK6,)HTQ   FL FRV WK6,) VL VLQ WK6,) [L >FLVL@  WKHSRLQWDWWKHGLUHFWLRQRIWKN L  LI:&W\SH

3L/ 3L/HOVHLI:&W\SH

XSKL XSKLHQG

>9WK9WKS/DPWK/DPWKSGHOWD@ V0ZHGJH62( ORDGVWU[L  2PHJD >FLVLVLFL@  HTQ E B LI3W\SHa 2PHJD  2PHJD  2PHJD  HQG LI3W\SH!2PHJD  2PHJD  2PHJD  HQG 6,) 2PHJD /DPWK LQY /DP 6,)  HTQ D 

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 OHQJWK ORDGVWU    QXPEHURIHOHPHQWVLQWKHYHFWRURIORDGVWU     ORDGLQI OHQ ORDGVWU OHQ    XQLIRUPORDGDWLQILQLW\VDPHLQSXWDV/W\SH  HQG >XXBXBVLJPDVLJPD@ VLQI8/ ORDGLQI[LYN   SKL [L  WBLQI[L  WBLQI    HTQ D  ] [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 ]     HTQ D  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 RQHV GLP XB QDQ RQHV GLP XB QDQ RQHV GLP VLJPD QDQ RQHV GLP VLJPD QDQ RQHV GLP  HQG FDOFXODWHKRRSVWUHVVVLJPDBVVDORQJWKHKROHERXQGDU\HTQ   VLJPDBVV QDQ  LI3W\SHa VLJPDBVV  QDQHQG   GHIDXOWRIVLJPDBVV LI3W\SH!VLJPDBVV  QDQHQG LIDEV DEV ]HWD   HSV  2W\SH

GHIDXOWRIVLJPDBVV _2W\SH

_2W\SH

_2W\SH

 GDWDRQWKHKROHERXQGDU\

    SVL [L  SL   FKDQJHGHJUHHWRUDGLDQ     >]HWDWKHWDUKR@ PDS(3 [LSVLDEDPX FDOFXODWHWKHWDQJHQWLDODQJOHWKHWDHTQ       >*WK1WK*WK@ 6WURKBPDWULFHV WKHWD FDOFXODWHWKH6WURKPDWULFHV*WK*WK     J *WK WBLQI ED *WK WBLQI  J *WK WBLQI DE *WK WBLQI  HTQ       VLJPDBVV UHDO J  J  (    HTQ   LI3W\SHa VLJPDBVV  VLQ WKHWD J  WBLQI  FRV WKHWD J  WBLQI    HQG HTQ D  E IRUSLH]RRU0(( LI3W\SH!VLJPDBVV  VLQ WKHWD J  WBLQI  FRV WKHWD J  WBLQI  HQG

IRU0((

VLJPDBVV  'VHOHFWULFGLVSODFHPHQWDORQJWKHKROHERXQGDU\ $OWKRXJKDOOWKHYDOXHVLQHTQ  DUHVXSSRVHGWREHUHDOLQQXPHULFDOFDOFXODWLRQLWLVVWLOOSRVVLEOHWRJHWWKH VROXWLRQZLWKYHU\VPDOOLPDJLQDU\SDUW7RDYRLGWKHGLVWXUEDQFHUDLVHGE\WKHVHVPDOOYDOXHVRQO\WKHUHDOSDUW LVRXWSXWIRUVLJPDBVV &KHFNWKHFRUUHFWQHVVRIVLJPDDQGVLJPDYLDVLJPDBVV LI,FKHFN



        F FRV WKHWD V VLQ WKHWD GLI GLI VLJPDBVVF VLJPDBVVF          VLJPDBVVF VLJPD  FAVLJPD  VA VLJPD  F VFRRUGLQDWHWUDQVIRUPDWLRQIRU           GLI DEV VLJPDBVV  VLJPDBVVF    GLIIHUHQFHEHWZHHQWKHUHVXOWVREWDLQHGIURP    DQG   LIORDGLQI 



XQLGLUHFWLRQDOWHQVLRQVLJPDBLQIGLUHFWHGDWDQJOHDOSKDIURP[D[LVHTQ D

            VLJPDBLQI ORDGLQI  DOSKD ORDGLQI  SL   FKDQJHWKHXQLWRIDOSKDIURPGHJUHHWRUDGLDQ             FD FRV DOSKD VD VLQ DOSKD               QWK >VDFD@VWK >FDVD@F7 >E FDDD VDE@  HTQ E LI3W\SHa QWK >QWK@VWK >VWK@F7 >F7@HQG

IRUSLH]RHOHFWULFRU0((PDWHULDOVHTQ D 

LI3W\SH!QWK >QWK@VWK >VWK@F7 >F7@HQG

IRU0((

            VLJPDBVVF UHDO VLJPDBLQI QWK *WKF7 *WK VWK   WDNHUHDOSDUWRIHTQ D 

752

Appendix F: AEPH Source Code (Listed in Alphabetic Order)            GLI DEV VLJPDBVVFVLJPDBVVF GLIIHUHQFHEHWZHHQWKHUHVXOWVREWDLQHGIURP    DQG   LI(W\SH

     IRULVRWURSLFPDWHULDOV

               VLJPDBVVF VLJPDBLQI   ED F FD DE V VD FRV WKHWDDOSKD   HTQ                  GLI DEV VLJPDBVVFVLJPDBVVF    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?DOSKDHTQ D  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 >FRV DOSKD VLQ DOSKD @   YHFWRURIWDQJHQWGLUHFWLRQZLWKDQJOH?DOSKDHTQ E  LI3W\SHa VBDOSKD >VBDOSKD@HQG

HTQ D 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 F F 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 (     HTQ D 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 RQHV GLP XB QDQ RQHV GLP XB QDQ RQHV GLP VLJPD QDQ RQHV GLP VLJPD QDQ RQHV GLP  HQG FDOFXODWHKRRSVWUHVVVLJPDBVVDORQJWKHKROHERXQGDU\HTQ D B VLJPDBVV QDQ   VLJPDBVVZLOOQRWEHFDOFXODWHGLILWLVQRWUHTXLUHGE\WKHXVHU LI3W\SHa VLJPDBVV  QDQHQG  GHIDXOWRIVLJPDBVV LI3W\SH!VLJPDBVV  QDQHQG LIDEV DEV ]HWD   HSV  2W\SH

GHIDXOWRIVLJPDBVV _2W\SH

_2W\SH

_2W\SH

   GDWDRQWKHKROHERXQGDU\

   SVL [L  SL   FKDQJHGHJUHHWRUDGLDQ    >]HWDWKHWDUKR@ PDS(3 [LSVLDEDPX FDOFXODWHWKHWDQJHQWLDODQJOHWKHWDHTQ      >*WK1WK*WK@ 6WURKBPDWULFHV WKHWD FDOFXODWH6WURKPDWULFHV*WK*WK    VY >FRV WKHWD VLQ WKHWD @    YHFWRURIWDQJHQWGLUHFWLRQZLWKDQJOH?WKHWDHTQ E  LI3W\SHa VY >VY@HQG

HTQ D 

LI3W\SH!VY >VY@HQG    V VLQ SVLDOSKD  F FRV DOSKD VLQ SVL    N F F F A FRV  DOSKD    HTQ E     VV N VLQ  SVL F VLQ  SVLDOSKD   FF N FRV  SVL F FRV  SVLDOSKD   HTQ E     SKLBQ D VV *WKFF *WK VBDOSKD  UKR   SDUWRI D B    VLJPDBVV V FRV WKHWDDOSKD AVY SKLBQ 0D, (  HTQ D B LI3W\SHa VLJPDBVV  SKLBQ  0D,  HQG

VLJPDBVV  'VHOHFWULFGLVSODFHPHQW D  D B

LI3W\SH!VLJPDBVV  SKLBQ  0D,  HQG

VLJPDBVV  %VPDJQHWLFIOX[

&KHFNWKHFRUUHFWQHVVRIVLJPDDQGVLJPDYLDVLJPDBVV LI,FKHFN

 LVQDQ X a   XGLVSODFHPHQWIRUQRQKROHSUREOHPZKLFKPD\QRWEHDYDLODEOHIRUFHUWDLQFDVHV

       FWK FRV WKHWD VWK VLQ WKHWD          GLI VLJPDBVVF          VLJPDBVVF VLJPD  FWKAVLJPD  VWKA VLJPD  FWK VWKFRRUGLQDWHWUDQVIRUPDWLRQ D B        GLI DEV VLJPDBVV  VLJPDBVVF    GLIIHUHQFHEHWZHHQ D BDQG D B LI(W\SH

   IRULVRWURSLFPDWHULDOV

           WKD WKHWDDOSKDVWKD VLQ WKD FWKD FRV WKD FWKD FWKDA            VLJPDBVVF 0D, V FWKDD VV VWKD FF FWKD   UKR (  HTQ             GLI DEV VLJPDBVVFVLJPDBVVF    GLIIHUHQFHEHWZHHQWKHUHVXOWVIURP D 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@ FDJDFBDOSKDDQGJDPPDBDOSKDHTQ F 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 ORDGVWU QFG (  FRHIILFLHQWYHFWRU>FFFFQ@    'Q ORDGVWU QFG QFG (FRHIILFLHQWYHFWRU>GGGQ@ LI3W\SHa &Q  ORDGVWU QFG 'Q  ORDGVWU QFG QFG HQG

WKFRPSRQHQWRI&Q'Q

LI3W\SH!&Q  ORDGVWU QFG 'Q  ORDGVWU QFG QFG HQG

WKFRPSRQHQWRI&Q'Q

EHIRUHLQSXWORDGVWUFDOFXODWHFRHIILFLHQWVFFGGQDQDO\WLFDOO\RUQXPHULFDOO\E\HTQ E    FD DL E PX    JD DL E PX  DL E PX   HTQ F BUHTXLUHGIRUWKHHYDOXDWLRQRIORJ]HWD HQG ] [L  [L  PX >]HWDWKHWDUKR@ PDS(3 [LDEDPX   FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ   LIDEV ]HWD ! HSV  HSVWRDOORZWKHQXPHULFDOURXQGLQJHUURUQHDUWKHERXQGDU\ZKHQFDOFXODWLQJ]HWD    ORJ]HWD ORJ ] ORJ FD ORJ JD ]HWDA   HTQ  B    GORJ] GLDJ ORJ]HWD   ]L ]HWD  %L LQY %       X  LPDJ $ GORJ] $ &Q    SKL  LPDJ % GORJ] $ &Q  (   HTQ D IRUN QFG    FDOFXODWHGLVSODFHPHQWYHFWRUXDQGVWUHVVIXQFWLRQYHFWRUSKLHTQ D         TN GLDJ ]LAN %L &Q N L 'Q N N        X XLPDJ $ TN   SKL SKLLPDJ % TN (  HQG FDOFXODWHGLVSODFHPHQWJUDGLHQWVXBXBDQGVWUHVVHVVLJPDVLJPDHTQ D       ]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  (   HTQ D IRUN QFG    FDOFXODWHGLVSODFHPHQWYHFWRUXDQGVWUHVVIXQFWLRQYHFWRUSKLHTQ D           ]LNS ]LA N   ]N ]LNS ]HWDB  ]N PX ]N        G]N GLDJ ]N G]N GLDJ ]N   FGN &Q N L 'Q N          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 RQHV GLP XB QDQ RQHV GLP XB QDQ RQHV GLP VLJPD QDQ RQHV GLP VLJPD QDQ RQHV GLP  HQG FDOFXODWHKRRSVWUHVVVLJPDBVVDORQJWKHKROHERXQGDU\HTQ E  VLJPDBVV QDQ   VLJPDBVVZLOOQRWEHFDOFXODWHGLILWLVQRWUHTXLUHGE\WKHXVHU LI3W\SHa VLJPDBVV  QDQHQG

GHIDXOWRIVLJPDBVV

LI3W\SH!VLJPDBVV  QDQHQG

GHIDXOWRIVLJPDBVV

LIDEV DEV ]HWD   HSV  2W\SH

_2W\SH

_2W\SH

_2W\SH

 GDWDRQWKHKROHERXQGDU\

   SVL [L  SL   FKDQJHGHJUHHWRUDGLDQ    >]HWDWKHWDUKR@ PDS(3 [LSVLDEDPX   FDOFXODWHWKHWDQJHQWLDODQJOHWKHWDHTQ      >*WK1WK*WK@ 6WURKBPDWULFHV WKHWD FDOFXODWH6WURKPDWULFHV*WK1WK*WK

Appendix F: AEPH Source Code (Listed in Alphabetic Order)     VLJ 1WK

&Q    FWK FRV WKHWD VWK VLQ WKHWD   IRUN QFG         VLJ VLJFRV N SVL *WK &Q N *WK 'Q N VLQ N SVL *WK &Q N *WK 'Q N   HQG     VY >FWKVWK@    YHFWRURIWDQJHQWGLUHFWLRQZLWKDQJOH?WKHWDHTQ E  LI3W\SHa VY >VY@HQG

HTQ D 

LI3W\SH!VY >VY@HQG     VLJPDBVV VY VLJUKR ( LI3W\SHa VLJPDBVV  VLJ  UKR  HQG

VLJPDBVV  'VHOHFWULFGLVSODFHPHQW D  E 

LI3W\SH!VLJPDBVV  VLJ  UKR  HQG

VLJPDBVV  %VPDJQHWLFIOX[

&KHFNWKHFRUUHFWQHVVRIVLJPDDQGVLJPDYLDVLJPDBVV LI,FKHFN



        VLJPDBVVF VLJPD  FWKAVLJPD  VWKA VLJPD  FWK VWKFRRUGLQDWHWUDQVIRUPDWLRQIRUVROXWLRQIURP D B         GLI DEV VLJPDBVV  VLJPDBVVF    GLIIHUHQFHEHWZHHQWKHUHVXOWVREWDLQHGIURP D BDQG E          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 FDJDFBDOSKDDQGJDPPDBDOSKDHTQ F B OQ]KDWORJ ]HWDBKDW HTQ E  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 ORDGVWU GLPGLP   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   HTQ F B     OQ]KDW ORJ ]BKDW ORJ FD ORJ JD ]HWDBKDWA   HTQ E 

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 ORJ G] ORJ FD ORJ JD ]HWD ]HWDBKDW   HTQ       ]L ]HWD  ]L ]LA   ]HWDB ]HWD ]HWD DL E PX ]   ]HWD ]HWDB ]HWD]HWDBKDW   HTQ       I] GLDJ ORJ]HWD FRQM $S SL  VWWHUPRIHTQ  B     I]B GLDJ ]HWD FRQM $S SL  GHULYDWLYHRIWKHVWWHUPRIHTQ  B IRUM GLP         FORJ]L FRQM OQ]KDW M ORJ ]LFRQM ]HWDBKDW M    HTQ F          I] I]GLDJ FORJ]L L%F% M $S M SL  HTQ  B         I]B I]BGLDJ ]L ]HWDB ]LFRQM ]HWDBKDW M L%F% M $S M SL  GHULYDWLYHRIHTQ  B HQG     X LPDJ $ I]     SKL LPDJ % I] (   HTQ  B     XB LPDJ $ I]B    XB LPDJ $ GLDJ PX I]B      VLJPD LPDJ % GLDJ PX I]B (  VLJPD LPDJ % I]B ( HOVH     X QDQ RQHV GLP XB QDQ RQHV GLP XB QDQ RQHV GLP VLJPD QDQ RQHV GLP VLJPD QDQ RQHV GLP  HQG FDOFXODWHKRRSVWUHVVVLJPDBVVDORQJWKHKROHERXQGDU\HTQ  B VLJPDBVV QDQ   VLJPDBVVZLOOQRWEHFDOFXODWHGLILWLVQRWUHTXLUHGE\WKHXVHU LI3W\SHa VLJPDBVV  QDQHQG

GHIDXOWRIVLJPDBVV

LI3W\SH!VLJPDBVV  QDQHQG

GHIDXOWRIVLJPDBVV

LIDEV DEV ]HWD   HSV  2W\SH

_2W\SH

_2W\SH

_2W\SH

    GDWDRQWKHKROHERXQGDU\

    SVL [L  SL   FKDQJHGHJUHHWRUDGLDQ     >]HWDWKHWDUKR@ PDS(3 [LSVLDEDPX FDOFXODWHWKHWDQJHQWLDODQJOHWKHWDHTQ       >*WK1WK*WK@ 6WURKBPDWULFHV WKHWD FDOFXODWH6WURKPDWULFHV*WK1WK*WK     SVLB]HWD L FRV SVL VLQ SVL  FRV SVL L VLQ SVL ]HWDBKDW      FWK FRV WKHWD VWK VLQ WKHWD VY >FWKVWK@  YHFWRURIWDQJHQWGLUHFWLRQZLWKDQJOH?WKHWDHTQ E  LI3W\SHa VY >VY@HQG

HTQ D 

LI3W\SH!VY >VY@HQG     SKLBQ  *WK UHDO % GLDJ SVLB]HWD $ SBKDW SL UKR     SDUWRIHTQ  B     VLJPDBVV VY SKLBQ (   HTQ D   B LI3W\SHa VLJPDBVV  SKLBQ    HQG

VLJPDBVV  'VHOHFWULFGLVSODFHPHQW D   B

LI3W\SH!VLJPDBVV  SKLBQ    HQG

VLJPDBVV  %VPDJQHWLFIOX[

&KHFNWKHFRUUHFWQHVVRIVLJPDDQGVLJPDYLDVLJPDBVV LI,FKHFN



        VLJPDBVVF VLJPD  FWKAVLJPD  VWKA VLJPD  FWK VWKFRRUGLQDWHWUDQVIRUPDWLRQIRUVROXWLRQIURP  B         GLI DEV VLJPDBVV  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 FDJDFBDOSKDDQGJDPPDBDOSKDHTQ F B OQ]KDWORJ ]HWDBKDW HTQ E  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 ORDGVWU GLPGLP   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   HTQ F B     OQ]KDW ORJ ]BKDW ORJ FD ORJ JD ]HWDBKDWA   HTQ E  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] ORJ G]   WKBKDW DQJOH ]BKDW  IRUM GLP   FKDQJHWKHYDOXHRIORJ]ZLWKSULQFLSDODQJOHORFDWHGDW>WKBKDWWKBKDW SL@ LILPDJ ORJ] M WKBKDW M ORJ] M ORJ] M  SL LHQG HQG     ORJ]HWD ORJ]ORJ FD ORJ JD ]HWD ]HWDBKDW   HTQ  B     ]L ]HWD  ]L ]LA   ]HWDB ]HWD ]HWD DL E PX ]   ]HWD ]HWDB ]HWD]HWDBKDW   HTQ      I] GLDJ ORJ]HWD FRQM %E SL  VWWHUPRIHTQ  B     I]B GLDJ ]HWD FRQM %E SL  GHULYDWLYHRIWKHVWWHUPRIHTQ  B IRUM GLP         FORJ]L FRQM OQ]KDW M ORJ ]LFRQM ]HWDBKDW M    HTQ F          I] I]GLDJ FORJ]L L%F% M %E M SL  HTQ  B         I]B I]BGLDJ ]L ]HWDB ]LFRQM ]HWDBKDW M L%F% M %E M SL  GHULYDWLYHRIHTQ  B HQG     X LPDJ $ I]     SKL LPDJ % I] (    HTQ  B     XB LPDJ $ I]B           XB LPDJ $ GLDJ PX I]B      VLJPD LPDJ % GLDJ PX I]B (  VLJPD LPDJ % I]B ( HOVH

757

758

Appendix F: AEPH Source Code (Listed in Alphabetic Order)     X QDQ RQHV GLP XB QDQ RQHV GLP XB QDQ RQHV GLP VLJPD QDQ RQHV GLP VLJPD QDQ RQHV GLP  HQG FDOFXODWHKRRSVWUHVVVLJPDBVVDORQJWKHKROHERXQGDU\HTQ  B VLJPDBVV QDQ   VLJPDBVVZLOOQRWEHFDOFXODWHGLILWLVQRWUHTXLUHGE\WKHXVHU LI3W\SHa VLJPDBVV  QDQHQG

GHIDXOWRIVLJPDBVV

LI3W\SH!VLJPDBVV  QDQHQG

GHIDXOWRIVLJPDBVV

LIDEV DEV ]HWD   HSV  2W\SH

_2W\SH

_2W\SH

_2W\SH

    GDWDRQWKHKROHERXQGDU\

    SVL [L  SL   FKDQJHGHJUHHWRUDGLDQ     >]HWDWKHWDUKR@ PDS(3 [LSVLDEDPX FDOFXODWHWKHWDQJHQWLDODQJOHWKHWDHTQ       >*WK1WK*WK@ 6WURKBPDWULFHV WKHWD FDOFXODWH6WURKPDWULFHV*WK1WK*WK     SVLB]HWD L FRV SVL VLQ SVL  FRV SVL L VLQ SVL ]HWDBKDW      VY ]HURV GLP   GHIDXOWRIYHFWRURIWDQJHQWGLUHFWLRQ     FWK FRV WKHWD VWK VLQ WKHWD VY  FWKVY  VWK  YHFWRURIWDQJHQWGLUHFWLRQZLWKDQJOH?WKHWDHTQ E      SKLBQ  *WK UHDO % GLDJ SVLB]HWD % EBKDW SL UKR    SDUWRIHTQ  B     VLJPDBVV VY SKLBQ (   HTQ  B LI3W\SHa VLJPDBVV  SKLBQ    HQG

VLJPDBVV  'VHOHFWULFGLVSODFHPHQW D   B

LI3W\SH!VLJPDBVV  SKLBQ    HQG

VLJPDBVV  %VPDJQHWLFIOX[

&KHFNWKHFRUUHFWQHVVRIVLJPDDQGVLJPDYLDVLJPDBVV LI,FKHFN



        VLJPDBVVF VLJPD  FWKAVLJPD  VWKA VLJPD  FWK VWKFRRUGLQDWHWUDQVIRUPDWLRQIRUVROXWLRQIURP  B         GLI DEV VLJPDBVV  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 OHQJWK ORDGVWU    QXPEHURIHOHPHQWVLQWKHYHFWRURIORDGVWU     ORDGLQI OHQ ORDGVWU OHQ    XQLIRUPORDGDWLQILQLW\VDPHLQSXWDV/W\SH  HQG >XXBXBVLJPDVLJPD@ VLQI8/ ORDGLQI[LYN  SKL [L  WBLQI[L  WBLQI  HTQ D  ] [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 ]HWDA N ]LN ]LA N      ]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 RQHV GLP XB QDQ RQHV GLP XB QDQ RQHV GLP VLJPD QDQ RQHV GLP VLJPD QDQ RQHV GLP  HQG FDOFXODWHKRRSVWUHVVVLJPDBVVDORQJWKHKROHERXQGDU\HTQ  B VLJPDBVV QDQ   VLJPDBVVZLOOQRWEHFDOFXODWHGLILWLVQRWUHTXLUHGE\WKHXVHU LI3W\SHa VLJPDBVV  QDQHQG LI3W\SH!VLJPDBVV  QDQHQG LIDEV DEV ]HWD   HSV  2W\SH

GHIDXOWRIVLJPDBVV GHIDXOWRIVLJPDBVV _2W\SH

_2W\SH

_2W\SH

 GDWDRQWKHKROHERXQGDU\

    SVL [L  SL   FKDQJHGHJUHHWRUDGLDQ     >]HWDWKHWDUKR@ PDS(3 [LSVLDFHSNPX FDOFXODWHWKHWDQJHQWLDODQJOHWKHWDHTQ         >*WK1WK*WK@ 6WURKBPDWULFHV WKHWD FDOFXODWHWKH6WURKPDWULFHV*WK*WK     FWK FRV WKHWD   VWK VLQ WKHWD   VY >FWKVWK@YHFWRURIWDQJHQWGLUHFWLRQZLWKDQJOH?WKHWDHTQ E  LI3W\SHa VY >VY@HQG

HTQ D IRUSLH]RRU0((

LI3W\SH!VY >VY@HQG

IRU0((

    F FWK F D VLQ SVL UKRF VWK F D FRV SVL 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  'VHOHFWULFGLVSODFHPHQW D   B

LI3W\SH!VLJPDBVV  WV    HQG

VLJPDBVV  %VPDJQHWLFIOX[

&KHFNWKHFRUUHFWQHVVRIVLJPDDQGVLJPDYLDVLJPDBVV LI,FKHFN



        GLI GLI VLJPDBVVF VLJPDBVVF          VLJPDBVVF VLJPD  FWKAVLJPD  VWKA VLJPD  FWK VWKFRRUGLQDWHWUDQVIRUPDWLRQIRUVROXWLRQIURP  B         GLI DEV VLJPDBVV  VLJPDBVVF    GLIIHUHQFHEHWZHHQWKHUHVXOWVIURP  BDQG  B LIORDGLQI 



XQLGLUHFWLRQDOWHQVLRQVLJPDBLQIGLUHFWHGDWDQJOHDOSKDIURP[D[LVHTQ D

            VLJPDBLQI ORDGLQI  DOSKD ORDGLQI  SL  FKDQJHGHJUHHWRUDGLDQ             VD >FRV DOSKD VLQ DOSKD @   HTQ E  LI3W\SHa VD >VD@HQG

HTQ D IRUSLH]RRU0((

LI3W\SH!VD >VD@HQG

IRU0((

            F FRV WKHWDDOSKD    V F D VLQ SVLDOSKD UKR   F FV             VLJPDBVVF VLJPDBLQI FAVY VLQ WKHWDDOSKD *WKF *WK VD  

HTQ 

            GLI DEV VLJPDBVVFVLJPDBVVF    GLIIHUHQFHEHWZHHQWKHUHVXOWVIURP  BDQG   LI(W\SH

     IRULVRWURSLFPDWHULDOV

                VLJPDBVVF VLJPDBLQI  V F    HTQ                   GLI DEV VLJPDBVVFVLJPDBVVF    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?DOSKDHTQ E  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 >FRV DOSKD VLQ DOSKD @   YHFWRURIWDQJHQWGLUHFWLRQZLWKDQJOH?DOSKDHTQ E  LI3W\SHa VBDOSKD >VBDOSKD@HQG

HTQ D 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 F F F FRV  DOSKD   V F VLQ  DOSKD 

HTQ E

    FNP HS F F FRV  DOSKD   VNP HS F VLQ  DOSKD      FNS HS F F 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 ]LA N   ]LNS ]LA N   ]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   QGWHUPRIHTQ D     X XUHDO $ I]      SKL SKLUHDO % I] (         HTQ D B FDOFXODWHGLVSODFHPHQWJUDGLHQWVXBXBDQGVWUHVVHVVLJPDVLJPDHTQ D B         S L F PX  S L F PX  S HS N L PX   S HS N L PX   HTQ         ]L ]LA]N ]HWDA N ]LN ]LA N 

Appendix F: AEPH Source Code (Listed in Alphabetic Order)

761

    ]HWDB  SS ]LS ]NS ]LN A  D     ]L ]LA   ]LN ]LAN  ]LNS ]LA N   ]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   GHULYDWLYHRIQGWHUPRIHTQ D      XB XBUHDO $ I]S              XB XBUHDO $ GLDJ PX I]S      HTQ D B       VLJPD VLJPDUHDO % GLDJ PX I]S (   VLJPD VLJPDUHDO % I]S (  HTQ D B   HOVH     X QDQ RQHV GLP XB QDQ RQHV GLP XB QDQ RQHV GLP VLJPD QDQ RQHV GLP VLJPD QDQ RQHV GLP  HQG FDOFXODWHKRRSVWUHVVVLJPDBVVDORQJWKHKROHERXQGDU\HTQ D B VLJPDBVV QDQ   VLJPDBVVZLOOQRWEHFDOFXODWHGLILWLVQRWUHTXLUHGE\WKHXVHU LI3W\SHa VLJPDBVV  QDQHQG

GHIDXOWRIVLJPDBVV

LI3W\SH!VLJPDBVV  QDQHQG

GHIDXOWRIVLJPDBVV

LIDEV DEV ]HWD   HSV  2W\SH

_2W\SH

_2W\SH

_2W\SH

    GDWDRQWKHKROHERXQGDU\

    SVL [L  SL   FKDQJHGHJUHHWRUDGLDQ     >]HWDWKHWDUKR@ PDS(3 [LSVLDFHSNPX FDOFXODWHWKHWDQJHQWLDODQJOHWKHWDHTQ       >*WK1WK*WK@ 6WURKBPDWULFHV WKHWD FDOFXODWH6WURKPDWULFHV*WK*WK     VY >FRV WKHWD VLQ WKHWD @    YHFWRURIWDQJHQWGLUHFWLRQZLWKDQJOH?WKHWDHTQ E  LI3W\SHa VY >VY@HQG

HTQ D 

LI3W\SH!VY >VY@HQG     V VLQ SVLDOSKD HS VLQ N SVLDOSKD  F FRV DOSKD VLQ SVL   HTQ F     VV  F VLQ  SVL V FRV  SVL          VV N FNP VLQ N SVL VNP FRV N SVL      VV N FNS VLQ N SVL VNS FRV N SVL VV  N FN VLQ  N SVL VN FRV  N SVL      FF  V VLQ  SVL F FRV  SVL          FF N VNP VLQ N SVL FNP FRV N SVL      FF N VNS VLQ N SVL FNS FRV N SVL FF  N VN VLQ  N SVL FN FRV  N SVL      VV VVVVVVVV   FF FFFFFFFF     SKLBQ D VV *WKFF *WK VBDOSKD  UKR   SDUWRI D B     VLJPDBVV V FRV WKHWDDOSKD AVY SKLBQ 0D, (  HTQ D B LI3W\SHa VLJPDBVV  SKLBQ  0D,  HQG VLJPDBVV  'VHOHFWULFGLVSODFHPHQW D  D B LI3W\SH!VLJPDBVV  SKLBQ  0D,  HQG VLJPDBVV  %VPDJQHWLFIOX[ &KHFNWKHFRUUHFWQHVVRIVLJPDDQGVLJPDYLDVLJPDBVV LI,FKHFN



        FWK FRV WKHWD VWK VLQ WKHWD          GLI VLJPDBVVF          VLJPDBVVF VLJPD  FWKAVLJPD  VWKA VLJPD  FWK VWKFRRUGLQDWHWUDQVIRUPDWLRQIRUVROXWLRQIURP D B         GLI DEV VLJPDBVV  VLJPDBVVF    GLIIHUHQFHEHWZHHQWKHUHVXOWVIURP D BDQG D B LI(W\SH

   IRULVRWURSLFPDWHULDOV

            WKD WKHWDDOSKDVWKD VLQ WKD FWKD FRV WKD FWKD FWKDA             VLJPDBVVF 0D, V FWKDD VV VWKD FF FWKD   UKR (  HTQ              GLI DEV VLJPDBVVFVLJPDBVVF    GLIIHUHQFHEHWZHHQWKHUHVXOWVIURP D 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@ VFUDFN176 ORDGVWU[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((

   /  UHDO L % %   /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@ 6WURKBPDWULFHV WKHWDSL     FDOFXODWH1G 1AXVLQJWKHGLDJRQDOL]DWLRQUHODWLRQ E  >1GS1GS1GS@ 6WURKBPDWULFHV WKHWDSL  SLU VTUW  USL    SLU VTUW   SL UA  X SLU 1G /LN    SKL SLU 1G /LN (   HTQ D XB SLU [L  1G [L  1GS /LN   XB SLU [L  1G [L  1GS /LN   HTQ E VLJPD SLU [L  1G [L  1GS /LN (  VLJPD SLU [L  1G [L  1GS /LN (  HTQ E 

F132: s712IFcrackNTS IXQFWLRQ>XXBXBVLJPDVLJPD@ V,)FUDFN176 ORDGVWU[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 FRV WK   VWK VLQ WK   UG UU AGHOWD  GHOWD   GLDJRQDOPDWUL[LQHTQ D 

Appendix F: AEPH Source Code (Listed in Alphabetic Order) U/N GLDJ UG LQY /DP 6,)VTUW  SL U     SDUWRIHTQ D  E  X U 9WK U/N   SKL U /DPWK U/N       HTQ D  XB FWK 9WK GLDJ GHOWD VWK 9WKS U/N   HTQ E B XB VWK 9WK GLDJ GHOWD FWK 9WKS U/N   HTQ E B VLJPD  VWK /DPWK GLDJ GHOWD FWK /DPWKS U/N (  HTQ E B VLJPD FWK /DPWK GLDJ GHOWD VWK /DPWKS U/N (   HTQ E 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     WKHDQJOHGHQRWLQJWKHGLUHFWLRQRIFUDFN VHH)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     /  UHDO L % % L/ LQY /   HTQ  VHWUHDO  IRU/WRDYRLGVPDOOHUURULQGXFHGE\QXPHULFDOFDOFXODWLRQ     6,) VTUW SL 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[ DEV VLJPDVLJPDF              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  VTUW DA[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 VLQ DOSKD A ,]ZKHUHDOSKDDQJOHRIWKHDSSOLHGPRPHQWLQSXWXQLWGHJUHH 0PRPHQWDSSOLHGDWLQILQLW\,]PRPHQWRILQHUWLDDERXW]D[LV VBDOSKDYHFWRURIWDQJHQWGLUHFWLRQZLWKDQJOH?DOSKDHTQ D  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 VLQ DOSKD A ,]     VBDOSKD >FRV DOSKD VLQ DOSKD @   YHFWRURIWDQJHQWGLUHFWLRQZLWKDQJOH?DOSKDHTQ E  LI3W\SHa VBDOSKD >VBDOSKD@HQG

HTQ D 

LI3W\SH!VBDOSKD >VBDOSKD@HQG     6,) 0V, D VTUW SL D VBDOSKD (   VWUHVVLQWHQVLW\IDFWRUVHTQ E B HQG >XXBXBVLJPDVLJPDVLJPDBVV@ V(KROH,% ORDGVWU[LYN  LI,FKHFN

  FKHFNZLWK&2'VKRZQLQ 

    /  UHDO L % %    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  VTUW DA[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 ORDGVWU QFG QFG (FRHIILFLHQWYHFWRU>GGGQ@ LI3W\SHa &  ORDGVWU  'Q  ORDGVWU QFG QFG HQG

WKFRPSRQHQWRI&'Q

LI3W\SH!&  ORDGVWU  'Q  ORDGVWU QFG QFG HQG

WKFRPSRQHQWRI&'Q

    6 UHDO L  $ % H\H GLP   HTQ  VHWUHDO  WRDYRLGVPDOOHUURULQGXFHGE\QXPHULFDOFDOFXODWLRQ     6,) VTUW SLD 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 ORDGVWU GLPGLP   ORFDWLRQRIWKHORDG [BKDW[BKDW      >]HWDBKDWWKHWDUKR@ PDS(3 [BKDWDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDBKDWHTQ       G]HW GLDJ ]HWDBKDW A    SDUWRIHTQ D B     6,)  LPDJ % G]HW $ SBKDWVTUW SL D   HTQ D B LI,FKHFN



LI[BKDW 

 [BKDW  D [BKDW  !D

            DF VTUW D[BKDW   D[BKDW               6 UHDO L  $ % H\H GLP   HTQ  VHWUHDO  WRDYRLGVPDOOHUURULQGXFHGE\QXPHULFDOFDOFXODWLRQ             6,)F 6 DF H\H GLP SBKDW  VTUW SL D    HTQ              GLI PD[ DEV 6,)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



FKHFNZLWKVLJPDBVKRZQLQ D  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 HTQ D B LI3W\SHa VLJPDF  VLJPDF  (  HQG LI3W\SH!VLJPDF  VLJPDF  (  HQG         GLI PD[ DEV VLJPDVLJPDF           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 ORDGVWU GLPGLP   ORFDWLRQRIWKHORDG [BKDW[BKDW      >]HWDBKDWWKHWDUKR@ PDS(3 [BKDWDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDBKDWHTQ       G]HW GLDJ ]HWDBKDW A       6,)  LPDJ % G]HW % EBKDWVTUW SL D (  HTQ D 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 DEDESRVLWLRQRIWZRFUDFNVRQHLV DE DQGWKHRWKHULV DE  ;WLS M   SRVLWLRQRIWKHMWKFUDFNWLS QB*DXVVQXPEHURI*DXVVSRLQWVZKLFKLVVHWWREH [J*DXVVSRLQWVIRULQWHJUDWLRQ ZJZHLJKWVRIWKH*DXVVSRLQWV ODPGDODPGDODPGDSDUWRIHTQ D DQGDUHVSHFLILHGLQHTQ E  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 OHQJWK ORDGVWU    QXPEHURIHOHPHQWVLQWKHYHFWRURIORDGVWU     ORDGLQI OHQ ORDGVWU OHQ    XQLIRUPORDGDWLQILQLW\VDPHLQSXWDV/W\SH      QB*DXVV   QB*DXVVQXPEHURI*DXVVSRLQWVIRULQWHJUDWLRQE\*DXVVLDQTXDGUDWXUHUXOH     >[JZJ@ *DXVV QB*DXVV IRUWKHSXUSRVHRILQWHJUDWLRQ / / / / / /  IRULJ QB*DXVV   LQWHJUDWLRQE\*DXVVTXDGUDWXUHUXOHHTQ $   $          WJ ED [J LJ ED     HTQ $E ZLWKE ED D         ; VTUW WJD EWJ DWJ EWJ   HTQ F B / /; ZJ LJ / /; WJ ZJ LJ / /; WJ WJ ZJ LJ HTQ E         WJ ED [J LJ ED       HTQ $E ZLWKE ED D         ; VTUW WJD WJE WJD EWJ     HTQ F B / /; ZJ LJ / /; WJ ZJ LJ / /; WJ WJ ZJ LJ   HTQ E 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 / // /  HTQ E B     N VTUW  SL ODPGD     ND N ODPGD D DODPGD DODPGD VTUW ED DD ED    HTQ E IRUWLS[ D     NE N ODPGD E EODPGD EODPGD VTUW ED DE EE    HTQ E IRUWLS[ E     ND N ODPGD D DODPGD DODPGD VTUW DD DE ED    HTQ E IRUWLS[ D     NE N ODPGD E EODPGD EODPGD VTUW ED EE ED    HTQ E IRUWLS[ E     >XXBXBVLJPDVLJPD@ VLQI8/ ORDGLQI[LYN      6,)  ND WBLQI (  6,)  NE WBLQI (   HTQ D B     6,)  ND WBLQI (  6,)  NE WBLQI (   HTQ D 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 ] ] ;]  HTQ E  I%WS ODPGD GLDJ IS ODPGD GLDJ IS ODPGD GLDJ IS %LWSDUWRIXBXBVLJPDVLJPD XB HSVBLQIUHDO $ I%WS    XB HSVBLQIUHDO $ GLDJ PX I%WS  VLJPD WBLQIUHDO % GLDJ PX I%WS (  VLJPD WBLQIUHDO % I%WS ( LI,FKHFN



FKHFNZLWK&2' VLJPDBVKRZQLQ DEF      UHJLRQ    IRUDOORWKHUUHJLRQV LI[L 



LI[L   D DEV D[L   HSV             N NDV DEV D[L  UHJLRQ    VHWUHJLRQ IRUWKHFRQWLQXRXVQHDUWLSSRUWLRQ HOVHLIE [L   [L   D DEV [L  E  HSV             N NEV DEV [L  E UHJLRQ    HOVHLIE [L   [L   D DEV D[L   HSV             N NDV DEV D[L  UHJLRQ    HOVHLI[L  ! E DEV [L  E  HSV             N NEV DEV [L  E UHJLRQ    HOVHLI D [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  HTQ D B             GLI PD[ DEV VLJPDVLJPDF               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    HTQ D  ] [L  [L  PX  ] D  WDNLQJDDVWKHVWDUWLQJSRLQWRILQWHJUDWLRQ I] ]HURV GLP   I] ]HURV GLP   I] ]HURV GLP  IRULJ QB*DXVV   LQWHJUDWLRQE\*DXVVTXDGUDWXUHUXOHHTQ $   $ ZLWKE ]BDOSKDD      ]J ]] [J LJ ]]     HTQ $E ZLWKE ]BDOSKDD ]     ]D ]JD A]E ]JE A]D ]JD A]E ]JE AHTQ D     ;]L ]D ]E ]D ]E   ;]L] ;]L ]J    ;]L] ;]L] ]J HTQ E B     I] I];]L ZJ LJ    I] I];]L] ZJ LJ    I] I];]L] ZJ LJ   HTQ E B HQG I] I] ]] I] I] ]] I] ]I] ]] 

HTQ $E ZLWKE ]BDOSKDD ]

%LW LQY % WBLQIODPGD   SDUWRIHTQ D  I%W ODPGD GLDJ I] ODPGD GLDJ I] ODPGD GLDJ I] %LW  SDUWRIHZQ D  X XUHDO $ I%W   SKL SKLUHDO % I%W (   HTQ D   IXQFWLRQ>&2'@ FUDFN2' [DMM  FUDFN2'FDOFXODWHVWKHFUDFNRSHQLQJGLVSODFHPHQWVIRUIXQFWLRQV&2FUDFN8/ JOREDO%WBLQI  IURP0DLQSURJUDP IXQFWLRQVLQI8/ JOREDODEDEQB*DXVV[JZJODPGDODPGDODPGDIURPIXQFWLRQV&2FUDFN8/ 'I /  UHDO L % %   HTQ  VHWUHDO  IRU/WRDYRLGVPDOOHUURULQGXFHGE\QXPHULFDOFDOFXODWLRQ IRULJ QB*DXVV     WJ [DM [J LJ [DM   LIM

; VTUW WJD EWJ DWJ EWJ   HQG

LIM

; VTUW WJD WJE WJD EWJ HQG

HTQ F B HTQ F B

    'I 'I [DM ZJ LJ ODPGD WJAODPGD WJODPGD  ; ODPGD    HTQ F  HQG &2' 'I LQY / WBLQI   HTQ D 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 OHQJWK ORDGVWU    QXPEHURIHOHPHQWVLQWKHYHFWRURIORDGVWU     ORDGLQI OHQ ORDGVWU OHQ    XQLIRUPORDGDWLQILQLW\VDPHLQSXWDV/W\SH      QB*DXVV   QB*DXVVQXPEHURI*DXVVSRLQWVIRULQWHJUDWLRQE\*DXVVLDQTXDGUDWXUHUXOH     >[JZJ@ *DXVV QB*DXVV IRUWKHSXUSRVHRILQWHJUDWLRQFDOOIXQFWLRQ *DXVV IRU*DXVVSRLQWV[JDQGZHLJKWVZJ     >XXBXBVLJPDVLJPD@ VLQI8/ ORDGLQI[LYN       6,) VTUW : WDQ SL D: WBLQI (  HTQ D B LI3W\SHa 6,)  6,)  (HQG

IRUSLH]RRU0((PDWHULDOV

LI3W\SH!6,)  6,)  (HQG

IRU0((PDWHULDOV

HQG >XSKLL%W]@ XSKL [L  I]B VLQ SL ]: VTUW VLQ SL ]: AVLQ SL D: A   I%WS GLDJ I]B L%W   SDUWRIHTQ DE  XB HSVBLQIUHDO $ I%WS     XB HSVBLQIUHDO $ GLDJ PX I%WS    GHULYDWLYHVRIHTQ D B VLJPD WBLQIUHDO % GLDJ PX I%WS (    VLJPD WBLQIUHDO % I%WS (GHULYDWLYHVRIHTQ D B LI,FKHFN



LI[L 



FKHFNZLWK&2' VLJPDBVKRZQLQ D  E         M IORRU [L  D :   WKHFUDFN MWKFUDFN ZKLFKLVQHDUHVWWR [L            S[ SL [L  :SD SL D: LIM :D [L   [L   M :D                                VLJPDF VLQ S[ VTUW VLQ S[ AVLQ SD A WBLQI (  HTQ D B             GLI PD[ DEV VLJPDVLJPDF               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  : ORJ VTUW VLQ S[ A VTUW VLQ SD AVLQ S[ A FRV SD SL             /  UHDO L % %    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    HTQ D  ] [L  [L  PX  ] D  WDNLQJDDVWKHVWDUWLQJSRLQWRILQWHJUDWLRQ I] ]HURV GLP  IRULJ QB*DXVV   LQWHJUDWLRQE\*DXVVTXDGUDWXUHUXOHHTQ $   $ ZLWKE ]BDOSKDD      ]J ]] [J LJ ]]    HTQ $E ZLWKE ]BDOSKDD ]     ]D VLQ SL ]J: VLQ SL D: A]D VLQ SL ]J: VLQ SL D: AHTQ D     I] I]VLQ SL ]J:  ]D ]D ZJ LJ      HTQ E HQG I] ]I] ]]     E  HTQ $E ZLWKE ]BDOSKDD  L%W LQY % WBLQI   I%W GLDJ I] L%W   SDUWRIHTQ D  X XUHDO $ I%W    SKL SKLUHDO % I%W (   HTQ D 

F141: s741IFcrack IXQFWLRQ>&2'VLJPD@ V,)FUDFN ORDGVWU[LYN  6,)FUDFNFDOFXODWHVFUDFNRSHQLQJGLVSODFHPHQWV &2' VWUHVVHVDORQJWKHLQWHUIDFH VLJPD  DQGHQHUJ\UHOHDVHUDWH (1* IRUFROOLQHDULQWHUIDFHFUDFNV LIWKHLUDVVRFLDWHGVWUHVVLQWHQVLW\IDFWRUV 6,) 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     ISULQWI ILG ?U?Q(QHUJ\UHOHDVHUDWH H?U?Q (1*  HQG >GHOWD/DP@ VBGHO/DP     FDOFXODWHGHOWD/DPGD VLJPD ]HURV GLP &2' ]HURV GLP L/DP LQY /DP  LI[L 



    IRUP ^ H  H  H  H ` LI[L  !         [UV [L  U A GHOWD    SDUWRIHTQ           VLJPD /DP GLDJ [UV L/DP 6,)VTUW  SL U (  HTQ  B LI3W\SHa VLJPD  VLJPD  (HQG LI3W\SH!VLJPD  VLJPD  (HQG         ISULQWI ILG> ?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 VLQ SL GHOWD   SDUWRIHTQ  B         &2' VTUW  USL FRQM L/DP 

GLDJ [U' L/DP 6,)  HTQ  B         ISULQWI ILG> ?U?Q:KHQ[ IFUDFNRSHQLQJGLVSODFHPHQW IRUP^GLP` ?U?Q @[L  &2'  HQG HQG

F142: s742SIFcrackPFs IXQFWLRQ>XXBXBVLJPDVLJPD@ V6,)FUDFN3)V ORDGVWU[LYN  66,)FUDFN3)VFDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVVWUHVVHVDQGWKHVWUHVVLQWHQVLW\IDFWRUVIRU DVHPLLQILQLWHLQWHUIDFHFUDFNVXEMHFWHGWRDSRLQWIRUFHDSSOLHGRQWKHFUDFNVXUIDFH  XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DORFDWLRQRIWKHSRLQWIRUFH UUHIHUHQFHOHQJWKIRUWKHFDOFXODWLRQRIVWUHVVLQWHQVLW\IDFWRUV WBKDWSRLQWORDG>SSS@RU>SSSS@IRUSL]HRHOHFWULFPDWHULDOV HSVLORQ9RVFLOODWRU\LQGH[ZKLFKLVDYHFWRU HSVLORQJHQHUDWHGE\IXQFWLRQVBGHO/DPLVDVFDODU  /DPPDWUL[RIHLJHQIXQFWLRQ/DPGDFDOFXODWHGE\IXQFWLRQVBGHO/DP /LW LQY /DP WBKDWSDUWRIHTQ  B PXPXPDWHULDOHLJHQYDOXHVIRUPDWHULDOVDQG $$%%PDWHULDOHLJHQYHFWRUPDWULFHVIRUPDWHULDOVDQG %/ LQY % /DPSDUWRIHTQ  B %0/ LQY % LQY FRQM 0V 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 LPDJ GHOWD /LW LQY /DP WBKDWHSVLORQ9LVDYHFWRU HSVLORQJHQHUDWHGE\VBGHO/DPLVDVFDODU     DUF DU A L HSVLORQ9  FRVK SL HSVLORQ9   SDUWRIHTQ       6,) VTUW  SL D /DP GLDJ DUF /LW  HTQ   LI,FKHFN

 (W\SHBD 

 (W\SHBD 

  RUWKRWURSLFPDWHULDOVFKHFNZLWK6,)VKRZQLQ  DQG  

        V' VTUW '  '                   VSD VTUW  SL D FSH FRVK SL HSVLORQ9  HDU HSVLORQ9  ORJ DU          ., VSD FSH WBKDW  FRV HDU WBKDW  V' VLQ HDU    HTQ  B         .,, VSD FSH WBKDW  FRV HDU WBKDW  VLQ HDU V'   HTQ  B         .,,, VSD WBKDW    HTQ  B         6,)F >.,,.,.,,,@  GLI PD[ DEV 6,)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@ *DXVV QB*DXVV IRUWKHSXUSRVHRILQWHJUDWLRQ     PX PXBD  PX PXBD  $ $BD  $ $BD  % %BD  % %BD        %/ LQY % /DP   %0/ LQY % LQY FRQM 0V 0V /DP  SDUWRIHTQ  BDQGHTQ  B HQG >XSKL$%PXI]B@ XSKL [L  XB  UHDO $ I]B   XB  UHDO $ GLDJ PX I]B  VLJPD  UHDO % GLDJ PX I]B (  VLJPD  UHDO % I]B ( LI,FKHFN



FKHFNZLWK&2' VLJPDBVKRZQLQ  ZLWK   LI[L 



LI[L  ! >0V':@ 6WURKBPDWULFHV               HSD H[S SL HSVLORQ9  D[L  A L HSVLORQ9 SDUWRIHTQ  ZLWK] [L               SVLS /DP GLDJ HSD /LW  SL [L  D     HTQ               VLJPDF H\H GLP LQY FRQM 0V 0V SVLS (  HTQ               GLI PD[ DEV VLJPDVLJPDF                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 ]HURV GLP IP ]HURV GLP  IRULJ QB*DXVV   LQWHJUDWLRQE\*DXVVTXDGUDWXUHUXOHHTQ $   $ ZLWKE ]BDOSKDD                  ]JS [J LJ  ]S    ]JP [J LJ  ]P   HTQ $E ZLWKE ]BDOSKDD                  ]DS D]JS A L HSVLORQ9  ]JSD SDUWRIHTQ  ZLWK] ]JS                 ]DP D]JP A L HSVLORQ9  ]JPD SDUWRIHTQ  ZLWK] ]JP                 IS IS]DS ZJ LJ    IP IP]DP ZJ LJ    SDUWRIHTQ  HQG             IS H[S SL HSVLORQ9  IS ]S  SDUWRI   HTQ $E ZLWKZLWK] ]SE ]BDOSKDD              IP H[S SL HSVLORQ9  IP ]P  SDUWRI   HTQ $E ZLWKZLWK] ]PE ]BDOSKDD              SVLS /DP GLDJ IS /LW  SL   SVLP /DP GLDJ IP /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] ]HURV GLP   I]B ]HURV GLP   IRUN GLP HSDN H[S SL HSVLORQ9 N DA L HSVLORQ9 N   SDUWRIHTQ   LI[L  ! %/W %/ N /LW N   SL HOVH%/W %0/ N /LW N   SL   HQG

SDUWRIHTQ  

   I ]HURV GLP    IRULJ QB*DXVV   LQWHJUDWLRQE\*DXVVTXDGUDWXUHUXOHHTQ $   $ ZLWKE ]BDOSKDD         ]J [J LJ  ]     HTQ $E ZLWKE ]BDOSKDD         ]D ]JA L HSVLORQ9 N  ]JD HTQ         I I]D ZJ LJ    HTQ  HQG    I HSDN I ]   I] I]GLDJ I %/W      HTQ $E ZLWKE ]BDOSKDD     IS HSDN ]A L HSVLORQ9 N  ]D   I]B I]BGLDJ IS %/W   HQG X  UHDO $ I]    SKL  UHDO % I] (

F143: s743_1IFcrackPFs IXQFWLRQ>XXBXBVLJPDVLJPD@ VB,)FUDFN3)V ORDGVWU[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[ZKLFKLVDYHFWRU HSVLORQJHQHUDWHGE\IXQFWLRQVBGHO/DPLVDVFDODU  /LW LQY /DP WBKDWSDUWRIHTQ   DFDFDFDF DF  DF DF DFDDF VTUW DAFA SDUWRIHTQ   PXPXPDWHULDOHLJHQYDOXHVIRUPDWHULDOVDQG $$%%PDWHULDOHLJHQYHFWRUPDWULFHVIRUPDWHULDOVDQG %/ LQY % /DPSDUWRIHTQ   %0/ LQY % LQY FRQM 0V 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 LPDJ GHOWD /LW LQY /DP WBKDWHSVLORQ9LVDYHFWRU HSVLORQJHQHUDWHGE\VBGHO/DPLVDVFDODU     DF DF  DF DF DFDDF VTUW DAFA   SDUWRIHTQ       DFF U DF A L HSVLORQ9  FRVK SL HSVLORQ9   SDUWRIHTQ  B     6,) VTUW DFSL /DP GLDJ DFF /LW  HTQ  B LI,FKHFN

 (W\SHBD 

 (W\SHBD 

  FKHFNZLWK6,)VKRZQLQ  

        V' VTUW '  '                   DFS VTUW DFSL FRVK SL HSVLORQ9    HOQ HSVLORQ9  ORJ  U DF SDUWRIHTQ           ., DFS WBKDW  FRV HOQ WBKDW  V' VLQ HOQ   HTQ  B         .,, DFS WBKDW  FRV HOQ WBKDW  VLQ HOQ V' HTQ  B         .,,, VTUW DFSL WBKDW    HTQ  B         6,)F >.,,.,.,,,@  GLI PD[ DEV 6,)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@ *DXVV QB*DXVV IRUWKHSXUSRVHRILQWHJUDWLRQ     PX PXBD  PX PXBD  $ $BD  $ $BD  % %BD  % %BD        %/ LQY % /DP   %0/ LQY % LQY FRQM 0V 0V /DPSDUWRIHTQ   HQG >XSKL$%PXI]B@ XSKLB [L  XB  UHDO $ I]B   XB  UHDO $ GLDJ PX I]B  VLJPD  UHDO % GLDJ PX I]B (  VLJPD  UHDO % I]B ( LI,FKHFN



FKHFNZLWK&2' VLJPDBVKRZQLQ  ZLWK  B LI[L 



LI[L  D_[L  !D             HSD H[S SL HSVLORQ9  DFA L HSVLORQ9  DF   SDUWRIHTQ  B             GIS HSD [L  D AGHOWD  [L  D A GHOWD   SL F[L  SDUWRIHTQ  B             SVLS /DP GLDJ GIS /LW  HTQ  B             VLJPDF H\H GLP LQY FRQM 0V 0V SVLS (  HTQ  B             GLI PD[ DEV VLJPDVLJPDF               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 ]HURV GLP IP ]HURV GLP  IRULJ QB*DXVV   LQWHJUDWLRQE\*DXVVTXDGUDWXUHUXOHHTQ $   $ ZLWKE ]BDOSKDD                 ]JS [J LJ  ]S    ]JP [J LJ  ]P   HTQ $E ZLWKE ]BDOSKDD                 ]DS ]JSD A GHOWD  ]JSD A GHOWD  F]JS   SDUWRIHTQ  B                ]DP ]JPD A GHOWD  ]JPD A GHOWD  F]JP   SDUWRIHTQ  B                IS IS]DS ZJ LJ    IP IP]DP ZJ LJ    SDUWRIHTQ  B HQG            HSD H[S SL HSVLORQ9  DFA L 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 GLDJ IS /LW  SL   SVLP /DP GLDJ IP /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] ]HURV GLP   I]B ]HURV GLP   IRUN GLP HSDV H[S SL HSVLORQ9 N DFA L HSVLORQ9 N DF   SDUWRIHTQ  B LI[L  ! %/W %/ N /LW N   SL HOVH%/W %0/ N /LW N   SL   HQG

SDUWRIHTQ  

   I ]HURV GLP     IRULJ QB*DXVV   LQWHJUDWLRQE\*DXVVTXDGUDWXUHUXOHHTQ $   $ ZLWKE ]BDOSKDD         ]J [J LJ  ]    HTQ $E ZLWKE ]BDOSKDD         ]D ]JD AGHOWD N  ]JD A GHOWD N   F]J   HTQ           I I]D ZJ LJ    HTQ  HQG    I HSDV I ]   I] I]GLDJ I %/W      B HTQ $E ZLWKE ]BDOSKDD      IS HSDV ]D AGHOWD N  ]D A GHOWD N   F]    SDUWRIHTQ  B    I]B I]BGLDJ IS %/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[ZKLFKLVDYHFWRU HSVLORQJHQHUDWHGE\IXQFWLRQVBGHO/DPLVDVFDODU  PXPXPDWHULDOHLJHQYDOXHVIRUPDWHULDOVDQG $$%%PDWHULDOHLJHQYHFWRUPDWULFHVIRUPDWHULDOVDQG %/ LQY % /DPSDUWRIHTQ   %0/ LQY % LQY FRQM 0V 0V /DPZKHUH0VELPDWHULDOPDWUL[SDUWRIHTQ   /L0W LQY /DP LQY H\H GLP LQY FRQM 0V 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 LPDJ GHOWD   HSVLORQ9LVDYHFWRU HSVLORQJHQHUDWHGE\VBGHO/DPLVDVFDODU    /L0W LQY /DP LQY H\H GLP LQY FRQM 0V 0V WBKDW  SDUWRIHTQ   HSDU  L HSVLORQ9   DU A L HSVLORQ9   SDUWRIHTQ  B    6,) VTUW SL D /DP GLDJ HSDU LQY /DP WBKDW  HTQ  B LI,FKHFN

 (W\SHBD 

 (W\SHBD 

  FKHFNZLWK6,)VKRZQLQ  

       VSD VTUW SL D V' VTUW '  '    HOQ HSVLORQ9  ORJ  DU         FV FRV HOQ  HSVLORQ9  VLQ HOQ VF VLQ HOQ  HSVLORQ9  FRV HOQ          ., VSD WBKDW  FVWBKDW  V' VF    HTQ  B        .,, VSD WBKDW  FVWBKDW  VFV'   HTQ  B        .,,, VSD WBKDW    HTQ  B        6,)F >.,,.,.,,,@  GLI PD[ DEV 6,)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 % LQY FRQM 0V 0V /DP HQG >XSKL$%PXI]B@ XSKLB [L  XB  UHDO $ I]B   XB  UHDO $ GLDJ PX I]B  VLJPD  UHDO % GLDJ PX 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 A GHOWD  [L  D AGHOWD   SDUWRIHTQ  B             SVLS /DP GLDJ IS /L0W  HTQ  B             VLJPDF H\H GLP LQY FRQM 0V 0V SVLS (  HTQ  B             GLI PD[ DEV VLJPDVLJPDF                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 A GHOWD  ]SD A GHOWD SDUWRIHTQ  B             IP ]P ]PD A GHOWD  ]PD A GHOWD SDUWRIHTQ  B             SVLSP /DP GLDJ ISIP /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] ]HURV GLP   I]B ]HURV GLP   IRUN GLP LI[L  ! %/W %/ N /L0W N HOVH%/W %0/ N /L0W N   HQG

SDUWRIHTQ  

    I ] ]D AGHOWD N  ]D A GHOWD N SDUWRIHTQ  B     IS  ] D HSVLORQ9 N L  ]D A GHOWD N   ]D A GHOWD N   SDUWRIHTQ  B     I] I]GLDJ I %/W      B HTQ $E ZLWKE ]BDOSKDD       I]B I]BGLDJ IS %/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 DEDESRVLWLRQVRIWZRLQWHUIDFHFUDFNVRQHLV DE DQGWKHRWKHULV DE 

Appendix F: AEPH Source Code (Listed in Alphabetic Order) ;WLS M   SRVLWLRQRIWKHMWKFUDFNWLS UUHIHUHQFHOHQJWKIRUWKHFDOFXODWLRQRIVWUHVVLQWHQVLW\IDFWRUV WBLQIXQLIRUPORDGDWLQILQLW\>VLJVLJVLJ@ RU>VLJVLJVLJVLJ@VLJ 'HOHFWULFGLVSODFHPHQWIRUSLH]RHOHFWULFPDWHULDOV  GHOWD/DPVLQJXODURUGHUVGHOWDDQGPDWUL[RIHLJHQIXQFWLRQ/DPGDFDOFXODWHGE\IXQFWLRQVBGHO/DP HSVLORQ9RVFLOODWRU\LQGH[ZKLFKLVDYHFWRU HSVLORQJHQHUDWHGE\IXQFWLRQVBGHO/DPLVDVFDODU  PXPXPDWHULDOHLJHQYDOXHVIRUPDWHULDOVDQG $$%%PDWHULDOHLJHQYHFWRUPDWULFHVIRUPDWHULDOVDQG ODPGDODPGDODPGDGHILQHGLQHTQ E B %/ LQY % /DPSDUWRIHTQ D  %0/ LQY % LQY FRQM 0V 0V /DPZKHUH0VELPDWHULDOPDWUL[SDUWRIHTQ D  /L0W LQY /DP LQY H\H GLP LQY FRQM 0V 0V WBKDWSDUWRIHTQ D  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 LPDJ GHOWD /LW LQY /DP WBLQIHSVLORQ9LVDYHFWRU HSVLORQJHQHUDWHGE\VBGHO/DPLVDVFDODU     /L0W LQY /DP LQY H\H GLP LQY FRQM 0V 0V WBLQI  SDUWRIHTQ D       QB*DXVV   QB*DXVVQXPEHURI*DXVVSRLQWVIRULQWHJUDWLRQE\*DXVVLDQTXDGUDWXUHUXOH     >[JZJ@ *DXVV QB*DXVV IRULQWHJUDWLRQFDOOWKHIXQFWLRQ *DXVV IRU*DXVVSRLQWV[JDQGZHLJKWVZJ     PX PXBD  PX PXBD  $ $BD  $ $BD  % %BD  % %BD        %/ LQY % /DP   %0/ LQY % LQY FRQM 0V 0V /DP  SDUWRIHTQ D   / / / / / /  IRULJ QB*DXVV   LQWHJUDWLRQE\*DXVVTXDGUDWXUHUXOHHTQ $   $          WJ ED [J LJ ED     HTQ $E ZLWKE ED D         ; EWJ EWJ  WJD DWJ A L HSVLORQ9 VTUW WJD EWJ DWJ EWJ   HTQ F B / /; ZJ LJ / /; WJ ZJ LJ / /; WJ WJ ZJ LJ HTQ E          WJ ED [J LJ ED     HTQ $E ZLWKE ED D         ;  WJE EWJ  WJD WJD A L HSVLORQ9 VTUW WJD WJE WJD EWJ   HTQ F B / /; ZJ LJ / /; WJ ZJ LJ / /; WJ WJ ZJ LJ HTQ E HQG / / ED   / / ED   / / ED HTQ $E ZLWKE ED D / / ED   / / ED   / / ED    HTQ $E ZLWKE ED D     ODPGD / // /  ODPGD / // /  ODPGD / // /HTQ E B 

779

780

Appendix F: AEPH Source Code (Listed in Alphabetic Order)     FD ED ED  U DD A L HSVLORQ9 ODPGD  HTQ G IRUWLS[ D     FE U EE  ED DE A L HSVLORQ9 ODPGD  HTQ G IRUWLS[ E     FD DE ED  U DD A L HSVLORQ9 ODPGD  HTQ G IRUWLS[ D     FE U EE  ED ED A L HSVLORQ9 ODPGD  HTQ G IRUWLS[ E     ND FD ODPGD D DODPGD DODPGD VTUW ED DD ED    HTQ G IRUWLS[ D     NE FE ODPGD E EODPGD EODPGD VTUW ED DE EE    HTQ G IRUWLS[ E     ND FD ODPGD D DODPGD DODPGD VTUW DD DE ED    HTQ G IRUWLS[ D     NE FE ODPGD E EODPGD EODPGD VTUW ED EE ED    HTQ G IRUWLS[ E     6,)  VTUW  SL /DP GLDJ ND /LW (  6,)  VTUW  SL /DP GLDJ NE /LW (     6,)  VTUW  SL /DP GLDJ ND /LW (  6,)  VTUW  SL /DP GLDJ NE /LW ( LI3W\SHa 6,)  6,)  (  HQG LI3W\SH!6,)  6,)  (  HQG HQG >XSKL$%PXI]B@ XSKL [L  XB  UHDO $ I]B   XB  UHDO $ GLDJ PX I]B  VLJPD  UHDO % GLDJ PX I]B (  VLJPD  UHDO % I]B ( LI,FKHFN



FKHFNZLWK&2' VLJPDBVKRZQLQ  ZLWK D  LI[L 



LI[L  D_ [L  D [L  !E _[L  !E   FKHFNVLJPDB             ]D [L  D AGHOWD]E [L  E A GHOWD   HTQ E B             ]D [L  D AGHOWD]E [L  E A GHOWD   HTQ E B             ;] ]D ]E ]D ]E  HTQ E B             IS ODPGD [L  AODPGD [L  ODPGD  ;]ODPGD  SDUWRIHTQ D B             SVLS /DP GLDJ IS /L0WHTQ D B             VLJPDF H\H GLP LQY FRQM 0V 0V SVLS (  HTQ  B             GLI PD[ DEV VLJPDVLJPDF               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 ]HURV GLP IP ]HURV GLP  IRULJ QB*DXVV                 ]JS [J LJ  ]S    ]JP [J LJ  ]P   HTQ $E ZLWKE ]BDOSKDD                  ]DS ]JSD AGHOWD]ES ]JSE A GHOWD HTQ E B                 ]DS ]JSD AGHOWD]ES ]JSE A GHOWD HTQ E B                 ;]S ]DS ]ES ]DS ]ES   HTQ E B                 I[S ODPGD ]JSAODPGD ]JSODPGD  ;]SODPGD  HTQ D B                  ]DP ]JPD AGHOWD]EP ]JPE A GHOWD HTQ E B                 ]DP ]JPD AGHOWD]EP ]JPE A GHOWD HTQ E B                 ;]P ]DP ]EP ]DP ]EP   HTQ E B                 I[P ODPGD ]JPAODPGD ]JPODPGD  ;]PODPGD  HTQ D B                 IS ISI[S ZJ LJ    IP IPI[P ZJ LJ           HQG

Appendix F: AEPH Source Code (Listed in Alphabetic Order)

781

            IS IS ]S   IP IP ]P             SVLSP /DP GLDJ ISIP /L0W  HTQ D 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] ]HURV GLP   I]B ]HURV GLP   IRUN GLP LI[L  ! %/W %/ N /L0W N HOVH%/W %0/ N /L0W N   HQG

SDUWRIHTQ  

    I ]HURV GLP     IRULJ QB*DXVV   LQWHJUDWLRQE\*DXVVTXDGUDWXUHUXOHHTQ $   $ ZLWKE ]BDOSKDD          ]J [J LJ  ]    HTQ $E ZLWKE ]BDOSKDD          ]D ]JD AGHOWD N ]E ]JE A GHOWD N  HTQ E B         ]D ]JD AGHOWD N ]E ]JE A GHOWD N  HTQ E B         ;] ]D ]E ]D ]E   HTQ E B         I[ ODPGD N ]JAODPGD N ]JODPGD N  ;]ODPGD N   HTQ D B         I II[ ZJ LJ    HTQ  HQG     I I ]   I] I]GLDJ I %/W  HTQ D BHTQ $E ZLWKE ]BDOSKDD       ]D ]D A GHOWD N ]E ]E A GHOWD N    HTQ E B     ]D ]D A GHOWD N ]E ]E A GHOWD N    HTQ E B     ;] ]D ]E ]D ]E  HTQ E B     IS ODPGD N ]AODPGD N ]ODPGD N  ;]ODPGD N   HTQ D B     I]B I]BGLDJ IS %/W    GHULYDWLYHRIHTQ D 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 OHQJWK ORDGVWU    QXPEHURIFRPSRQHQWVLQWKHYHFWRURIORDGVWU     ORDGLQI OHQ ORDGVWU OHQ    XQLIRUPORDGDWLQILQLW\VDPHLQSXWDV/W\SH      VB&RHII8QLIRUP ORDGLQI[LYN  HQG ] [L  [L  PX  >]HWDWKHWDUKR@ PDS(3 [LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ   LIDEV ]HWD !HSV    SRLQW [L  [L  ORFDWHVRXWVLGHWKHLQFOXVLRQ     ]HWDB ]HWD ]HWD DL E PX ]    HTQ E      ]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 GLDJ  DL 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 $ GLDJ PX I]B   VLJPD  UHDO % GLDJ PX 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

LIDEV DEV ]HWD   HSV  2W\SH

_2W\SH

_2W\SH

_2W\SH

 

    SVL [L  SL   FKDQJHGHJUHHWRUDGLDQ     >]HWDWKHWDUKR@ PDS(3 [LSVLDEDPX FDOFXODWHWKHWDQJHQWLDODQJOHWKHWDHTQ       F FRV WKHWD V VLQ WKHWD    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  LPDJ H[S L SVL % GLDJ JDPPDH[S  L SVL F UKR   HTQ E B     VLJPDBQQ QWK SKLBV (   VLJPDBVQ VWK SKLBV (   HTQ  KRRSVWUHVVHVDWWKHWZRVLGHVRILQWHUIDFH     SKLBQ  LPDJ H[S L SVL % GLDJ PXWK GGLDJ JDPPDH[S  L SVL H UKRHTQ E B     SKLBQ  LPDJ H[S L SVL % GLDJ PXWK JDPPDH[S  L SVL F UKR   HTQ E B     VLJPDBVV  VWK SKLBQ (  VLJPDBVV  VWK SKLBQ (  KRRSVWUHVVHVDWWZRVLGHVRILQWHUIDFHHTQ D  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  'VHOHFWULFGLVSODFHPHQWDWWZRVLGHVRILQWHUIDFHHTQ D 

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 DEV VLJPDBVV  VLJPDBVVF              VWU ^   E  VLJPDBVV  VLJPDBVVF `   VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN             SULQW7) [LVLJPDBVV  VLJPDBVVFGLIVWU   SULQWWKHPHVVDJHRI,FKHFN HOVH             GLI DEV VLJPDBVV  VLJPDBVVF               VWU ^   E  VLJPDBVV  VLJPDBVVF `   VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN             SULQW7) [LVLJPDBVV  VLJPDBVVFGLIVWU   SULQWWKHPHVVDJHRI,FKHFN HQG HQG HQG

F147: s812EEincluPFm IXQFWLRQ>XXBXBVLJPDVLJPDVLJPDBVVVLJPDBVVVLJPDBQQVLJPDBVQ@ V((LQFOX3)P ORDGVWU[LYN  6((LQFOX3)PFDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DQDQLVRWURSLFSODWHFRQWDLQLQJDQHOOLSWLFDOHODVWLFLQFOXVLRQVXEMHFWHGWR DFRQFHQWUDWHGIRUFHDSSOLHGDWDSRLQWORFDWHGLQWKHPDWUL[  XXBXBVLJPDVLJPDVLJPDBVVVLJPDBVVVLJPDBQQVLJPDBVQORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEKDOIOHQJWKVRIWKHHOOLSWLFDOKROH SBKDWSRLQWORDG>SSS@RU>SSSS@IRUSLH]RHOHFWULFPDWHULDOV [BKDWORFDWLRQRISRLQWIRUFH VQHVWLPDWHGWHUPVIRULQILQLWHVHULHVRIHTQ  RU D VXJJHVWHGWHUPV  PXPXPDWHULDOHLJHQYDOXHVIRUPDWHULDOVDQG $$%%PDWHULDOHLJHQYHFWRUPDWULFHVIRUPDWHULDOVDQG JDPPDSDUDPHWHUVJDPPDIRUPDWHULDOHTQ E B ]HWDBKDWWKHWUDQVIRUPHGYDULDEOHRI]BKDWHTQ   L%F%LQY % FRQM % SDUWRIHTQ H B $S$S $

SBKDWSDUWRIFRQVWDQWLQHTQ  B FDJDFBDOSKDDQGJDPPDBDOSKDHTQ F B ORJ]HWDORJ ]HWDBKDW HTQ E  FORJ]LFRQM ORJ ]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 >ORDGVWU GLP ORDGVWU GLP @

[BKDWORFDWLRQRISRLQWIRUFH

    VQ ORDGVWU GLP    HVWLPDWHGWHUPVIRULQILQLWHVHULHVVXJJHVWHGQXPEHU      PX PXBD   PX PXBD   $ $BD  $ $BD  % %BD  % %BD       JDPPD DL E PX  DL E PX    HTQ E B     >]HWDBKDWWKHWDUKR@ PDS(3 [BKDWDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDBKDWHTQ  

783

784

Appendix F: AEPH Source Code (Listed in Alphabetic Order)     L%F% LQY % FRQM %    SDUWRIHTQ H B     $S $

SBKDW   SDUWRIFRQVWDQWLQHTQ  B     FD DL E PX    JD DL E PX  DL E PX   HTQ F B     ]BKDW [BKDW  [BKDW  PX   ORJ]HWD ORJ ]BKDW ORJ FD ORJ JD ]HWDBKDWA   HTQ E      FORJ]L FRQM ORJ]HWD     FRQM ORJ ]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 ORJ G] ORJ FD ORJ JD ]HWD ]HWDBKDW   HTQ  B     I] GLDJ ORJ]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 FRQM ORJ]HWD M ORJ ]LFRQM ]HWDBKDW M    HTQ F          I] I]GLDJ FORJ]LFORJ]L M L%F% M $S M   SL L 

VWWHUPRIHTQ  B

        I]B I]BGLDJ ]L ]HWDB ]LFRQM ]HWDBKDW M L%F% M $S M   SL L GHULYDWLYHRII] HQG IRUN VQ         >7N*N&N(N)N@ 7*&() ]HWDBKDWDEN &DOFXODWH7N*N&N(N)N         I] I]GLDJ ]HWDA N (N SBKDW  SL L     HTQ  B         I]B I]BGLDJ N ]HWDA N  ]HWDB (N SBKDW  SL L GHULYDWLYHRII] HQG     $ $% %PX PX HOVH     ] [L  [L  PX     >]HWDWKHWDUKR@ PDS(3 [LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ       I] ]HURV GLP   I]B ]HURV GLP  IRUN VQ         >7N*N&N(N)N@ 7*&() ]HWDBKDWDEN &DOFXODWH7N*N&N(N)N         ]N ]HWDAN JDPPD]HWD AN]HWDB ]HWD ]HWD DL E PX ]          ]NB N ]HWDA N  JDPPDAN  ]HWDA N  ]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 $ GLDJ PX I]B  VLJPD  UHDO % GLDJ PX 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 LIDEV DEV ]HWD   HSV  2W\SH

_2W\SH

_2W\SH

GHIDXOWIRU0((PDWHULDOV _2W\SH

 

    SVL [L  SL   FKDQJHGHJUHHWRUDGLDQ     >]HWDWKHWDUKR@ PDS(3 [LSVLDEDPX FDOFXODWHWKHWDQJHQWLDODQJOHWKHWDHTQ       F FRV WKHWD V VLQ WKHWD    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 ]HURV GLP   SKLBQ ]HURV GLP   SKLBQ ]HURV GLP  IRUN VQ         >7N*N&N(N)N@ 7*&() ]HWDBKDWDENSVL &DOFXODWH7N*N&N(N)N         %J H[S L N SVL % GLDJ JDPPDANH[S  L N SVL          SKLBV SKLBVN UHDO %J &N SBKDW SL UKR   HTQ D B         SKLBQ SKLBQN UHDO H[S L N SVL % GLDJ PXWK )N SBKDW SL UKR   HTQ D B         SKLBQ SKLBQN UHDO %J GLDJ PXWK &N SBKDW SL UKR   HTQ D 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  'VHOHFWULFGLVSODFHPHQWDWWZRVLGHVRILQWHUIDFHHTQ D  LI,FKHFN



        VLJPDBVVF VLJPD  FAVLJPD  VA VLJPD  F V         >]HWDWKHWDUKR@ PDS(3 [LDEDPX  LIDEV ]HWD ! HSV             GLI DEV VLJPDBVV  VLJPDBVVF              VWU ^   D  VLJPDBVV  VLJPDBVVF `   VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN             SULQW7) [LVLJPDBVV  VLJPDBVVFGLIVWU   SULQWWKHPHVVDJHRI,FKHFN HOVH             GLI DEV VLJPDBVV  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  TBLQIFRHIILFLHQWYHFWRUIRUXQLIRUPORDGHTQ D  YUDFRHIILFLHQWYHFWRUGHILQHGLQHTQ G 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 OHQJWK ORDGVWU    QXPEHURIHOHPHQWVLQWKHYHFWRURIORDGVWU     ORDGLQI OHQ ORDGVWU OHQ    XQLIRUPORDGDWLQILQLW\VDPHLQSXWDV/W\SH      >XXBXBVLJPDVLJPD@ VLQI8/ ORDGLQI[LYN       TBLQI $

WBLQI%

HSVBLQI    HTQ D      $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 UHDO N

0 HSV  N

0 FRQM N    HTQ       YU $L HSVRPHJD FRQM N    HTQ G 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 $ GLDJ PX I]B       VLJPD  UHDO % GLDJ PX I]B (VLJPD  UHDO % I]B ( HOVH     X QDQ GLP SKL QDQ GLP XB ]HURV GLP XB ]HURV GLP VLJPD QDQ GLP VLJPD QDQ GLP  HQG FDOFXODWHLQWHUIDFLDOVWUHVVHVVLJPDBVVVLJPDBVVVLJPDBQQVLJPDBVQDORQJWKHLQFOXVLRQERXQGDU\HTQ   VLJPDBVV QDQVLJPDBQQ QDQ  VLJPDBVQ QDQ   GHIDXOWRIVLJPDBVVVLJPDBQQDQGVLJPDBVQ LI3W\SHa VLJPDBVV  QDQHQG

IRUSLH]RHOHFWULFRU0((PDWHULDOV

LI3W\SH!VLJPDBVV  QDQHQG

IRU0((PDWHULDOV

LIDEV DEV ]HWD   HSV  2W\SH

_2W\SH

_2W\SH

_2W\SH

 

    SVL [L  SL   FKDQJHGHJUHHWRUDGLDQ     >]HWDWKHWDUKR@ PDS(3 [LSVLDEDPX FDOFXODWHWKHWDQJHQWLDODQJOHWKHWDHTQ       F FRV WKHWD V VLQ WKHWD    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 LPDJ H[S L SVL % GLDJ PXWK YU UKR   HTQ D B     SKLBV F WBLQIV WBLQI LPDJ H[S L SVL % YU UKR   HTQ D B     VLJPDBVV VWK SKLBQ (   VLJPDBQQ QWK SKLBV (   VLJPDBVQ VWK SKLBV (   HTQ  LI3W\SHa VLJPDBVV  SKLBQ    HQG

VLJPDBVV  'VHOHFWULFGLVSODFHPHQWHTQ D 

LI3W\SH!VLJPDBVV  SKLBQ    HQG

VLJPDBVV  %VPDJQHWLFIOX[

LI,FKHFN



        VLJPDBVVF VLJPD  FAVLJPD  VA VLJPD  F V         GLI DEV VLJPDBVV  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   RPHJDURWDWLRQDQJOHRIULJLGLQFOXVLRQHTQ E B N >L ED@DFRHIILFLHQWYHFWRUUHODWHGWRDDQGEHTQ  B $LL$F$$S$L LQY $ L$F$ $L FRQM $ $S $

SBKDWPDWULFHVZKLFKZLOOEHXVHGZKHQYN! FDJDFBDOSKDDQGJDPPDBDOSKDHTQ F B OQ]KDWORJ ]HWDBKDW HTQ E  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 >ORDGVWU GLP ORDGVWU GLP @

[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 UHDO N

$L

GLDJ ]HWDBKDW $ SBKDWUHDO SL N

0 FRQM N   HTQ E BWDNLQJUHDOSDUWWRDYRLGWUXQFDWLQJHUURU    FD DL E PX    JD DL E PX  DL E PX   HTQ F B    OQ]KDW ORJ ]BKDW ORJ FD ORJ JD ]HWDBKDWA   HTQ E  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 ORJ G] ORJ FD ORJ JD ]HWD ]HWDBKDW   HTQ  B    I] GLDJ ORJ]HWD FRQM $S   SL L RPHJD GLDJ ]HWD $L FRQM N   HTQ D 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 FRQM N    GHULYDWLYHRII] IRUM GLP        FORJ]L FRQM OQ]KDW M ORJ ]LFRQM ]HWDBKDW M    HTQ F         I] I]GLDJ FORJ]L L$F$ M $S M   SL L    HTQ D B        I]B I]BGLDJ ]LA  ]HWDB ]LFRQM ]HWDBKDW M L$F$ M $S M   SL L GHULYDWLYHRII] HQG    X  UHDO $ I] SKL  UHDO % I] (   HTQ  B    XB  UHDO $ I]B XB  UHDO $ GLDJ PX I]B     VLJPD  UHDO % GLDJ PX I]B (VLJPD  UHDO % I]B (

788

Appendix F: AEPH Source Code (Listed in Alphabetic Order) HOVH    X QDQ GLP SKL QDQ GLP XB ]HURV GLP XB ]HURV GLP VLJPD QDQ GLP VLJPD QDQ GLP  HQG FDOFXODWHLQWHUIDFLDOVWUHVVHVVLJPDBVVVLJPDBVVVLJPDBQQVLJPDBVQDORQJWKHLQFOXVLRQERXQGDU\HTQ   VLJPDBVV QDQVLJPDBQQ QDQ  VLJPDBVQ QDQ   GHIDXOWRIVLJPDBVVVLJPDBQQDQGVLJPDBVQ LI3W\SHa VLJPDBVV  QDQHQG

IRUSLH]RHOHFWULFRU0((PDWHULDOV

LI3W\SH!VLJPDBVV  QDQHQG

IRU0((PDWHULDOV

LIDEV DEV ]HWD   HSV  2W\SH

_2W\SH

_2W\SH

_2W\SH

 

   SVL [L  SL   FKDQJHGHJUHHWRUDGLDQ    >]HWDWKHWDUKR@ PDS(3 [LSVLDEDPX FDOFXODWHWKHWDQJHQWLDODQJOHWKHWDHTQ      F FRV WKHWD V VLQ WKHWD    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@ 6WURKBPDWULFHV WKHWD     T UHDO $L

GLDJ H[S L SVL  H[S L SVL ]HWDBKDW $ SBKDW SL UKR   HTQ E B    T LPDJ H[S L SVL % GLDJ PXWK $L FRQM N UKR    HTQ E B    T LPDJ H[S L SVL % $L FRQM N UKR    HTQ E B    SKLBQ 1WK

TRPHJD T   SKLBV TRPHJD T   HTQ D B    VLJPDBVV VWK SKLBQ (   VLJPDBQQ QWK SKLBV (   VLJPDBVQ VWK SKLBV (   HTQ  LI3W\SHa VLJPDBVV  SKLBQ    HQG

VLJPDBVV  'VHOHFWULFGLVSODFHPHQWHTQ D 

LI3W\SH!VLJPDBVV  SKLBQ    HQG

VLJPDBVV  %VPDJQHWLFIOX[

LI,FKHFN



       VLJPDBVVF VLJPD  FAVLJPD  VA VLJPD  F V        GLI DEV VLJPDBVV  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 UHDO N

0 D HSVBLQI  N

0 FRQM N    HTQ  

Appendix F: AEPH Source Code (Listed in Alphabetic Order)

789

        [HR [L   VTUW [L  ADA HSVBLQIRPHJD L    SDUWRIHTQ           VLJPDF WBLQI6

LQY + [HR (  VLJPDF WBLQI 11

6

LQY + [HR (     LI3W\SHa VLJPDF  VLJPDF  (VLJPDF  VLJPDF  ( HQG LI3W\SH!VLJPDF  VLJPDF  (VLJPDF  VLJPDF  ( HQG         GLI DEV VLJPDVLJPDF    GLI DEV VLJPDVLJPDF   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 TBLQIFRHIILFLHQWYHFWRUIRUXQLIRUPORDGHTQ D  LLXQLWYHFWRUVL >@L >@  YSYNSFRHIILFLHQWYHFWRUVGHILQHGLQHTQ G 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 OHQJWK ORDGVWU    QXPEHURIHOHPHQWVLQWKHYHFWRURIORDGVWU     ORDGLQI OHQ ORDGVWU OHQ    XQLIRUPORDGDWLQILQLW\VDPHLQSXWDV/W\SH      >XXBXBVLJPDVLJPD@ VLQI8/ ORDGLQI[LYN       TBLQI $

WBLQI%

HSVBLQI    HTQ D      L >@  L >@  $L LQY $  LI3W\SHa L >L@L >L@  HQG

IRUSLH]RHOHFWULFRU0((PDWHULDOV 

LI3W\SH!L >L@L >L@  HQG

IRU0((PDWHULDOV

    >RPHJD@ URWDQJOH HSVBLQIHSVBLQIWBLQIWBLQI      YS D $L HSVBLQIL F HSVBLQIRPHJD LL F L    HTQ G B     YNS D HS $L HSVBLQIL HSVBLQIRPHJD LL L 

HTQ G 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 ]HWDA N ]LN ]LA N      ]HWDB  DD ]LD ]ND ]LN D   HTQ        I]B TBLQIGLDJ ]L ]HWDB YSGLDJ N ]HWDA N  ]HWDB YNS     XB  UHDO $ I]B XB  UHDO $ GLDJ PX I]B      VLJPD  UHDO % GLDJ PX I]B (VLJPD  UHDO % I]B ( HOVH     X QDQ GLP SKL QDQ GLP XB ]HURV GLP XB ]HURV GLP VLJPD QDQ GLP VLJPD QDQ GLP  HQG FDOFXODWHLQWHUIDFLDOVWUHVVHVVLJPDBVVVLJPDBVVVLJPDBQQVLJPDBVQDORQJWKHLQFOXVLRQERXQGDU\HTQ  B VLJPDBVV QDQVLJPDBQQ QDQ  VLJPDBVQ QDQ   GHIDXOWRIVLJPDBVVVLJPDBQQDQGVLJPDBVQ LI3W\SHa VLJPDBVV  QDQHQG

IRUSLH]RHOHFWULFRU0((PDWHULDOV

LI3W\SH!VLJPDBVV  QDQHQG

IRU0((PDWHULDOV

LIDEV DEV ]HWD   HSV  2W\SH

_2W\SH

_2W\SH

_2W\SH

 

    SVL [L  SL   FKDQJHGHJUHHWRUDGLDQ     >]HWDWKHWDUKR@ PDS(3 [LSVLDFHSNPX FDOFXODWHWKHWDQJHQWLDODQJOHWKHWDHTQ         FD FRV WKHWD VD VLQ WKHWD    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[S L SVL YSN H[S L N SVL YNS     SKLBQ VD WBLQIFD WBLQI LPDJ % GLDJ PXWK 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  'VHOHFWULFGLVSODFHPHQWHTQ D 

LI3W\SH!VLJPDBVV  SKLBQ    HQG

VLJPDBVV  %VPDJQHWLFIOX[

LI,FKHFN



        VLJPDBVVF VLJPD  FDAVLJPD  VDA VLJPD  FD VD         GLI DEV VLJPDBVV  VLJPDBVVF          VWU ^  B   B  VLJPDBVV  VLJPDBVVF `   VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN         SULQW7) [LVLJPDBVV  VLJPDBVVFGLIVWU   SULQWWKHPHVVDJHRI,FKHFN HQG HQG  IXQFWLRQ>RPHJD@ URWDQJOH HSVBLQIHSVBLQIWBLQIWBLQI  FDOFXODWHWKHURWDWLRQDQJHOEHWZHHQPDWUL[DQGULJLGLQFOXVLRQ JOREDO3W\SHPX$%  IURP0DLQSURJUDPFRQWUROSDUDPHWHUV 6WURK VPDWHULDOSURSHUWLHV JOREDODFHSNLL  IURPIXQFWLRQV35LQFOX8/ QB*DXVV    SUHDVVLJQHGYDOXHIRUWKHQXPEHURI*DXVVLDQSRLQWV %$L % LQY $  >[JZJ@ *DXVV QB*DXVV  \S \S   IRULJ QB*DXVV     SVL SL [J LJ       >]HWDWKHWDUKR@ PDS(3 SVLDFHSNPX FDOFXODWHWKHWDQJHQWLDODQJOHWKHWDHTQ         FWK FRV WKHWD VWK VLQ WKHWD         HLS H[S L SVL NHLS N HS H[S L 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

HTQ E B

Appendix F: AEPH Source Code (Listed in Alphabetic Order)     \ D >F VLQ SVL HS VLQ N SVL FRV SVL HS FRV N SVL @ 

791 HTQ E B

LI3W\SHa \ >\@  HQG

IRUSLH]RHOHFWULFRU0((PDWHULDOV 

LI3W\SH!\ >\@  HQG

IRU0((PDWHULDOV

    \S \S\ S UKR ZJ LJ   \S \S\ S UKR ZJ LJ    HTQ D  HQG RPHJD \S\SHTQ D 

F152: s831EEincluDLo IXQFWLRQ>XXBXBVLJPDVLJPD@ V((LQFOX'/R ORDGVWU[LYN  6((LQFOX'/RFDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRUDQDQLVRWURSLFSODWH FRQWDLQLQJDQHOOLSWLFDOHODVWLFLQFOXVLRQZLWKDGLVORFDWLRQORFDWHGRXWVLGHWKHLQFOXVLRQ  XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEKDOIOHQJWKVRIWKHHOOLSWLFDOLQFOXVLRQ EBKDWGLVORFDWLRQ>EEE@RU>EEEE@IRUSLH]RHOHFWULFPDWHULDOV [BKDWORFDWLRQRISRLQWIRUFH VQHVWLPDWHGWHUPVIRULQILQLWHVHULHVRIHTQ  RU D VXJJHVWHGWHUPV  PXPXPDWHULDOHLJHQYDOXHVIRUPDWHULDOVDQG $$%%PDWHULDOHLJHQYHFWRUPDWULFHVIRUPDWHULDOVDQG JDPPDSDUDPHWHUVJDPPDIRUPDWHULDOHTQ E B ]HWDBKDWWKHWUDQVIRUPHGYDULDEOHRI]BKDWHTQ   L%F%LQY % FRQM % SDUWRIHTQ H B %E%E %

EBKDWSDUWRIFRQVWDQWLQHTQ  B FDJDFBDOSKDDQGJDPPDBDOSKDHTQ F B WKBKDWWKHDUJXPHQWRIFRPSOH[QXPEHU]BKDW [BKDW  [BKDW  PX ORJ]HWDORJ ]HWDBKDW HTQ E  FORJ]LFRQM ORJ ]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 >ORDGVWU GLP ORDGVWU GLP @

[BKDWORFDWLRQRIWKHGLVORFDWLRQ

    VQ ORDGVWU GLP    HVWLPDWHGWHUPVIRULQILQLWHVHULHVVXJJHVWHGQXPEHU      PX PXBD   PX PXBD   $ $BD  $ $BD  % %BD  % %BD       JDPPD DL E PX  DL E PX    HTQ E B     >]HWDBKDWWKHWDUKR@ PDS(3 [BKDWDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDBKDWHTQ       L%F% LQY % FRQM %     SDUWRIHTQ H B     %E %

EBKDW   SDUWRIFRQVWDQWLQHTQ  B     FD DL E PX    JD DL E PX  DL E PX   HTQ F B     ]BKDW [BKDW  [BKDW  PX   WKBKDW DQJOH ]BKDW   ORJ]KDW ORJ ]BKDW  IRUM GLP   FKDQJHWKHYDOXHRIORJ]KDWZLWKSULQFLSDODQJOHORFDWHGDW>WKBKDWWKBKDW SL@ LILPDJ ORJ]KDW M WKBKDW M ORJ]KDW M ORJ]KDW M  SL LHQG HQG     ORJ]HWD ORJ]KDWORJ FD ORJ JD ]HWDBKDWA   HTQ E 

792

Appendix F: AEPH Source Code (Listed in Alphabetic Order)     FORJ]L FRQM ORJ]HWD     FRQM ORJ ]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] ORJ G]    XVLQJG] ]]BKDWPD\KDYHWURXEOH IRUM GLP   FKDQJHWKHYDOXHRIORJ]ZLWKSULQFLSDODQJOHORFDWHGDW>WKBKDWWKBKDW SL@ LILPDJ ORJ] M WKBKDW M ORJ] M ORJ] M  SL LHQG HQG     ORJ]HWD ORJ]ORJ FD ORJ JD ]HWD ]HWDBKDW   HTQ       I] GLDJ ORJ]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 FRQM ORJ]HWD M ORJ ]LFRQM ]HWDBKDW M    HTQ F          I] I]GLDJ FORJ]LFORJ]L M L%F% M %E M   SL L 

VWWHUPRIHTQ  B

        I]B I]BGLDJ ]L ]HWDB ]LFRQM ]HWDBKDW M L%F% M %E M   SL L   GHULYDWLYHRII] HQG IRUN VQ         >7N*N&N(N)N@ 7*&() ]HWDBKDWDEN &DOFXODWH7N*N&N(N)N         I] I]GLDJ ]HWDA N (N EBKDW  SL L     HTQ  B         I]B I]BGLDJ N ]HWDA N  ]HWDB (N EBKDW  SL L   GHULYDWLYHRII] HQG     $ $% %PX PX HOVH     ] [L  [L  PX     >]HWDWKHWDUKR@ PDS(3 [LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ       I] ]HURV GLP    I]B ]HURV GLP  IRUN VQ         >7N*N&N(N)N@ 7*&() ]HWDBKDWDEN &DOFXODWH7N*N&N(N)N         ]N ]HWDAN JDPPD]HWD AN]HWDB ]HWD ]HWD DL E PX ]    HTQ           ]NB N ]HWDA N  JDPPDAN  ]HWDA N  ]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 $ GLDJ PX I]B  VLJPD  UHDO % GLDJ PX I]B (VLJPD  UHDO % I]B (

F153: s832EEincluDLi IXQFWLRQ>XXBXBVLJPDVLJPD@ V((LQFOX'/L ORDGVWU[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  RU D VXJJHVWHGWHUPV  PXPXPDWHULDOHLJHQYDOXHVIRUPDWHULDOVDQG $$%%PDWHULDOHLJHQYHFWRUPDWULFHVIRUPDWHULDOVDQG FDJDPPDSDUDPHWHUVRIFBDOSKDDQGJDPPDBDOSKDIRUPDWHULDOHTQ F B FDJDPPDSDUDPHWHUVRIFBDOSKDDQGJDPPDBDOSKDIRUPDWHULDOHTQ F 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 >ORDGVWU GLP ORDGVWU GLP @

[BKDWORFDWLRQRIWKHGLVORFDWLRQ

   VQ ORDGVWU GLP    HVWLPDWHGWHUPVIRULQILQLWHVHULHVVXJJHVWHGQXPEHU     PX PXBD   PX PXBD   $ $BD  $ $BD  % %BD  % %BD      FD DL E PX    JDPPD DL E PX  DL E PX   HTQ F B    FD DL E PX    JDPPD DL E PX  DL E PX   HTQ F 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] ORJ G]   WKBKDW DQJOH ]BKDW  IRUM GLP   FKDQJHWKHYDOXHRIORJ]ZLWKSULQFLSDODQJOHORFDWHGDW>WKBKDWWKBKDW SL@ LILPDJ ORJ] M WKBKDW M ORJ] M ORJ] M  SL LHQG HQG    ORJ]HWD ORJ]ORJ FD ORJ JDPPD ]HWD ]HWDBKDW   HTQ  B    )] GLDJ ORJ]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 ]HWDA N )N    HTQ  B        )]B )]BGLDJ N ]HWDA N  ]HWDB )N   GHULYDWLYHRI)] HQG    $ $% %PX PX HOVH    ] [L  [L  PX    G] [L  [BKDW   [L  [BKDW  PX    XVLQJG] ]]BKDWPD\KDYHWURXEOH    ORJ] ORJ G]   WKBKDW DQJOH ]BKDW  IRUM GLP   FKDQJHWKHYDOXHRIORJ]ZLWKSULQFLSDODQJOHORFDWHGDW>WKBKDWWKBKDW SL@ LILPDJ ORJ] M WKBKDW M ORJ] M ORJ] M  SL LHQG HQG

794

Appendix F: AEPH Source Code (Listed in Alphabetic Order)     >]HWDWKHWDUKR@ PDS(3 [LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ       )] GLDJ ORJ]ORJ FD %   VWWHUPRIHTQ  B     )]B GLDJ G] %    GHULYDWLYHRI)] IRUN VQ         >7N*N&N(N)N@ 7*&() ]HWDBKDWDEN   FDOFXODWH&NRIHTQ  B         ]N ]HWDAN JDPPD]HWD AN   HTQ  B         ]HWDB ]HWD ]HWD DL E PX ] HTQ           ]NB N ]HWDA N  JDPPDAN  ]HWDA N  ]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 $ GLDJ PX I]B  VLJPD  UHDO % GLDJ PX I]B (VLJPD  UHDO % I]B (

F154: s833EEincluDLf IXQFWLRQ>XXBXBVLJPDVLJPD@ V((LQFOX'/I ORDGVWU[LYN  6((LQFOX'/IFDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRUDQDQLVRWURSLFSODWH FRQWDLQLQJDQHOOLSWLFDOHODVWLFLQFOXVLRQZLWKDGLVORFDWLRQORFDWHGRQWKHLQWHUIDFH  XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEKDOIOHQJWKVRIWKHHOOLSWLFDOLQFOXVLRQ EBKDWGLVORFDWLRQ>EEE@RU>EEEE@IRUSLH]RHOHFWULFPDWHULDOV [BKDWORFDWLRQRIGLVORFDWLRQ VQHVWLPDWHGWHUPVIRULQILQLWHVHULHVRIHTQ  RU D VXJJHVWHGWHUPV  PXPXPDWHULDOHLJHQYDOXHVIRUPDWHULDOVDQG $$%%PDWHULDOHLJHQYHFWRUPDWULFHVIRUPDWHULDOVDQG FDJDPPDSDUDPHWHUVRIFBDOSKDDQGJDPPDBDOSKDIRUPDWHULDOHTQ F B FDJDPPDSDUDPHWHUVRIFBDOSKDDQGJDPPDBDOSKDIRUPDWHULDOHTQ F B ]BKDW]KDWWKHFRPSOH[YDULDEOHDVVRFLDWHGZLWK[BKDWDQGPXPX ]HWDBKDW]HWDBKDWWKHWUDQVIRUPHGYDULDEOHRI]BKDWDQG]BKDWHTQ   OQ]KDWORJ ]HWDBKDW  %I%IVWKHFRQVWDQWPDWULFHVGHILQHGLQHTQ  DQG E 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 >ORDGVWU GLP ORDGVWU GLP @

[BKDWORFDWLRQRIWKHGLVORFDWLRQ

    VQ ORDGVWU GLP    HVWLPDWHGWHUPVIRULQILQLWHVHULHVVXJJHVWHGQXPEHU      PX PXBD   PX PXBD   $ $BD  $ $BD  % %BD  % %BD       FD DL E PX   JDPPD DL E PX  DL E PX    HTQ F B     FD DL E PX   JDPPD DL E PX  DL E PX    HTQ F 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   LIDEV DEV ]HWDBKDW  !HSV               GLVS 7KHGLVORFDWLRQLVQRWDWWKHLQWHUIDFHWKHUHVXOWPD\EHLQFRUUHFW          GLVS 3OHDVHFKHFNWKHLQSXWLQIRUPDWLRQ LQSXWBORDGVWUW[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 FRQM LQY $   %LF FRQM LQY %      %I LQY FRQM $L $FRQM %L % FRQM $L $FRQM %L % %   HTQ       %IV LQY $LF $%LF % $LF FRQM $ %LF FRQM % % 

HTQ E 

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] ORJ G]   WKBKDW DQJOH ]BKDW  IRUM GLP   FKDQJHWKHYDOXHRIORJ]ZLWKSULQFLSDODQJOHORFDWHGDW>WKBKDWWKBKDW SL@ LILPDJ ORJ] M WKBKDW M ORJ] M ORJ] M  SL LHQG HQG     ORJ]HWD ORJ]ORJ FD ORJ JDPPD ]L]HWDBKDW   HTQ  B     FORJ]L FRQM OQ]KDW ORJ ]LFRQM ]HWDBKDW    HTQ F      )] GLDJ ORJ]HWDORJ DL E PX  % GLDJ FORJ]L %IV  HTQ D 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)NRIHTQ D B         )] )]GLDJ ]HWDA N )N    HTQ D B         )]B )]BGLDJ N ]HWDA N  ]HWDB )N   GHULYDWLYHRI)] HQG     $ $% %PX PX HOVH     G] [L  [BKDW   [L  [BKDW  PX     XVLQJG] ]]BKDWPD\KDYHWURXEOH     ORJ] ORJ G]     WKBKDW DQJOH ]BKDW  IRUM GLP   FKDQJHWKHYDOXHRIORJ]ZLWKSULQFLSDODQJOHORFDWHGDW>WKBKDWWKBKDW SL@ LILPDJ ORJ] M WKBKDW M ORJ] M ORJ] M  SL LHQG HQG     )] GLDJ ORJ] %I  VWWHUPRIHTQ D B     )]B GLDJ G] %I   GHULYDWLYHRI)]     ]HWDB ]HWD ]HWD DL E PX ]    HTQ   IRUN VQ         >7N*N&N(N)N@ 7*&() ]HWDBKDWDEN   FDOFXODWH&NRIHTQ  B         ]N ]HWDAN JDPPD]HWD AN   HTQ D B         )] )]GLDJ ]N &N    HTQ D B         ]NB N ]HWDA N  JDPPDAN  ]HWDA N  ]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 $ GLDJ PX I]B  VLJPD  UHDO % GLDJ PX I]B (VLJPD  UHDO % I]B (

F155: s841EEincluCo IXQFWLRQ>XXBXBVLJPDVLJPD@ V((LQFOX&R ORDGVWU[LYN  V((LQFOX&RFDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRUDQDQLVRWURSLFSODWH FRQWDLQLQJDQHOOLSWLFDOHODVWLFLQFOXVLRQZLWKDFUDFNORFDWHGRXWVLGHWKHLQFOXVLRQ  XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEKDOIOHQJWKVRIWKHHOOLSWLFDOLQFOXVLRQ DKDOIOHQJWKRIWKHFUDFN DOSKDVODQWHGDQJOHRIWKHFUDFNXQLWLQSXWLQGHJUHHDQGRSHUDWHGLQUDGLDQ [P\PSRVLWLRQRIWKHFUDFNFHQWHULQPDWUL[ ;WLS M   SRVLWLRQRIWKHMWKFUDFNWLS FQKDOIQXPEHURIWKHGLVFUHWL]HGSRLQWVRQWKHFUDFNVXJJHVWHGQXPEHU  VQHVWLPDWHGWHUPVIRULQILQLWHVHULHVVXJJHVWHGQXPEHU  /%DUQHWW/RWKHWHQVRURIPDWHULDO EHWDBKDW VTUW HWDA EHWDZKHUHEHWDGLVORFDWLRQGHQVLW\VHHHTQ D  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 FRV DOSKD [PD FRV DOSKD \PD VLQ DOSKD \PD VLQ DOSKD @SRVLWLRQRIWKHFUDFNWLSV     FQ ORDGVWU     FQKDOIQXPEHURIWKHGLVFUHWL]HGSRLQWVRQWKHFUDFNVXJJHVWHGQXPEHU      VQ ORDGVWU     HVWLPDWHGWHUPVIRULQILQLWHVHULHVVXJJHVWHGQXPEHU      ORDGLQI ORDGVWU     XQLIRUPORDGDWLQILQLW\VDPHLQSXWDV/W\SH       VB&RHII8QLIRUP ORDGLQI[LYN   FDOFXODWHWKHFRHIILFLHQWVUHODWHGWRWKHXQLIRUPORDGVDWLQILQLW\     /  L % %     %DUQHWW/RWKHWHQVRURIPDWHULDO     >.\@ VB.EHWD /   FDOFXODWH. >. HWDBN . HWDBN EBN DB N FBN @DQG\ >WBAX@RIHTQ       EHWDBKDW *DXVVBHOLPLQDWLRQ .\   VROYHEHWDBKDWE\*DXVVBHOLPLQDWLRQPHWKRG HQG >XSKLXBXBVLJPDVLJPD@ VBXSKL [LYNEHWDBKDW/   FDOFXODWHXDQGSKLE\HTQ DE 

F156: s842EEincluCi IXQFWLRQ>XXBXBVLJPDVLJPD@ V((LQFOX&L ORDGVWU[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 ;WLS M   SRVLWLRQRIWKHMWKFUDFNWLS FQKDOIQXPEHURIWKHGLVFUHWL]HGSRLQWVRQWKHFUDFNVXJJHVWHGQXPEHU  VQHVWLPDWHGWHUPVIRULQILQLWHVHULHVVXJJHVWHGQXPEHU  /%DUQHWW/RWKHWHQVRURIPDWHULDO EHWDBKDW VTUW HWDA EHWDZKHUHEHWDGLVORFDWLRQGHQVLW\VHHHTQ D  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 FRV DOSKD [VDV FRV DOSKD \VDV VLQ DOSKD \VDV VLQ DOSKD @SRVLWLRQRIWKHFUDFNWLSV     FQ ORDGVWU     QKDOIQXPEHURIWKHGLVFUHWL]HGSRLQWVRQWKHFUDFNVXJJHVWHGQXPEHU      VQ ORDGVWU     HVWLPDWHGWHUPVIRULQILQLWHVHULHVVXJJHVWHGQXPEHU      ORDGLQI ORDGVWU     XQLIRUPORDGDWLQILQLW\VDPHLQSXWDV/W\SH       VB&RHII8QLIRUP ORDGLQI[LYN   FDOFXODWHWKHFRHIILFLHQWVUHODWHGWRWKHXQLIRUPORDGVDWLQILQLW\     /  L % %     6WURK VPDWUL[     >.\@ VB.EHWD /   FDOFXODWH. >. HWDBN . HWDBN EBN DB N FBN @DQG\ >WBAX@RIHTQ       EHWDBKDW *DXVVBHOLPLQDWLRQ .\   VROYHEHWDBKDWE\XVLQJ*DXVVLDQHOLPLQDWLRQPHWKRG HQG >XSKLXBXBVLJPDVLJPD@ VBXSKL [LYNEHWDBKDW/   FDOFXODWHXDQGSKLE\HTQ  

F157: s843EEincluCp IXQFWLRQ>XXBXBVLJPDVLJPD@ V((LQFOX&S ORDGVWU[LYN  V((LQFOX&SFDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRUDQDQLVRWURSLFSODWH FRQWDLQLQJDQHOOLSWLFDOHODVWLFLQFOXVLRQZLWKDFUDFNSHQHWUDWLQJWKHLQFOXVLRQ  XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEKDOIOHQJWKVRIWKHHOOLSWLFDOLQFOXVLRQ DDKDOIOHQJWKRIWKHRXWVLGHFUDFN DVKDOIOHQJWKRIWKHLQVLGHFUDFN DOSKDVODQWHGDQJOHRIWKHFUDFNXQLWLQSXWLQGHJUHHDQGRSHUDWHGLQUDGLDQ [P\PSRVLWLRQRIWKHFUDFNFHQWHU RXWVLGHSRUWLRQLQPDWUL[ [V\VSRVLWLRQRIWKHFUDFNFHQWHU LQVLGHSRUWLRQLQLQFOXVLRQ  ;WLS M   SRVLWLRQRIWKHMWKFUDFNWLS FQKDOIQXPEHURIWKHGLVFUHWL]HGSRLQWVRQWKHFUDFNVXJJHVWHGQXPEHU  VQHVWLPDWHGWHUPVIRULQILQLWHVHULHVVXJJHVWHGQXPEHU  //%DUQHWW/RWKHWHQVRURIPDWHULDOVDQG EHWDBKDW VTUW HWDA EHWDZKHUHEHWDGLVORFDWLRQGHQVLW\VHHHTQ D  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   [\ SRVLWLRQRIWKHFUDFNFHQWHU RXWVLGHSRUWLRQLQPDWUL[      [V ORDGVWU  \V ORDGVWU   [\ SRVLWLRQRIWKHFUDFNFHQWHU LQVLGHSRUWLRQLQLQFOXVLRQ      ;WLS >[PD FRV DOSKD [PD FRV DOSKD [VDV FRV DOSKD [VDV FRV DOSKD            \PD VLQ DOSKD \PD VLQ DOSKD \VDV VLQ DOSKD \VDV VLQ DOSKD @SRVLWLRQRIWKHFUDFNWLSV     FQ ORDGVWU     KDOIQXPEHURIWKHGLVFUHWL]HGSRLQWVRQWKHFUDFNVXJJHVWHGQXPEHU      VQ ORDGVWU     HVWLPDWHGWHUPVIRULQILQLWHVHULHVVXJJHVWHGQXPEHU      ORDGLQI ORDGVWU     XQLIRUPORDGDWLQILQLW\VDPHLQSXWDV/W\SH       VB&RHII8QLIRUP ORDGLQI[LYN   FDOFXODWHWKHFRHIILFLHQWVUHODWHGWRWKHXQLIRUPORDGVDWLQILQLW\     /  L % %    /  L % %     6WURK VPDWUL[     >.\@ VB.EHWD /   .\ D BDQG D BZLWKM      >.\@ VB.EHWD /   .\ D BDQG D BZLWKM      . >..@\ >\\@   HTQ  \ >WBAX@\ >WBAX@ . >. HWDBN . HWDBN EBN .KDWB HWDBN  DB N FBN .KDWB HWDBN EBN DB N FBN @ . >EBN .KDWB HWDBN  DB N FBN .KDWB HWDBN . HWDBN . HWDBN EBN DB N FBN @     EHWDBKDW *DXVVBHOLPLQDWLRQ .\   VROYHEHWDBKDWE\XVLQJ*DXVVLDQHOLPLQDWLRQPHWKRG HQG >XSKLXBXBVLJPDVLJPD@ VBXSKL [LYNEHWDBKDW/   FDOFXODWHXDQGSKLE\HTQ  

F158: s844EEincluCc IXQFWLRQ>XXBXBVLJPDVLJPD@ V((LQFOX&F ORDGVWU[LYN  V((LQFOX&FFDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRUDQDQLVRWURSLFSODWH FRQWDLQLQJDQHOOLSWLFDOHODVWLFLQFOXVLRQZLWKDFUDFNO\LQJDORQJWKHLQWHUIDFHRIWKHLQFOXVLRQ  XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEKDOIOHQJWKVRIWKHHOOLSWLFDOLQFOXVLRQ SVLSVLRIWKHFUDFNFHQWHUXQLWLQSXWLQGHJUHHDQGRSHUDWHGLQUDGLDQ SVLBKDWKDOIUDQJHRISVLRIWKHFUDFNLHSVLSVLBKDWSVLSVLSVLBKDW ;WLS M   SRVLWLRQRIWKHMWKFUDFNWLS FQKDOIQXPEHURIWKHGLVFUHWL]HGSRLQWVRQWKHFUDFNVXJJHVWHGQXPEHU  VQHVWLPDWHGWHUPVIRULQILQLWHVHULHVVXJJHVWHGQXPEHU  %IPDWUL[UHODWHGWRPDWHULDOHLJHQYHFWRUPDWULFHV$$%%GHILQHGLQHTQ   /IVSDUWRI/IGHILQHGLQHTQ E BZLWKRXWUKRZKLFKLVDYDULDEOHRI[L EHWDBKDW VTUW HWDA EHWDZKHUHEHWDGLVORFDWLRQGHQVLW\VHHHTQ D  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 FRV SVLSVLBKDW D FRV SVLSVLBKDW E VLQ SVLSVLBKDW E VLQ SVLSVLBKDW @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&RHII8QLIRUP ORDGLQI[LYN   FDOFXODWHWKHFRHIILFLHQWVUHODWHGWRWKHXQLIRUPORDGVDWLQILQLW\    $L LQY $   %L LQY %     %I LQY FRQM $L $FRQM %L % FRQM $L $FRQM %L % %    HTQ      /IV  UHDO L % %I     HTQ E BZLWKRXWUKRZKLFKLVDYDULDEOHRI[L    >.\@ VB.EHWD /IV FDOFXODWH. >. HWDBN . HWDBN EBN DB N 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      FDOFXODWHHLJHQYDOXHVGHOWDDQGHLJHQYHFWRUVODPGDHTQ DEF 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 VLJPDHTQ F  LI,FKHFN



HSD HSVLORQ ORJ DEV D[L   D[L  F5V FRV HSD F,V VLQ HSD   HTQ E B        F5 FRVK SL HSVLORQ F5V  F, FRVK SL HSVLORQ F,V    HTQ E B        >6+/@ 6WURKBPDWULFHV     FDOFXODWHV6+/        6E 6 EHWDVT[ SL VTUW DEV DA[L  A   VLJ [L  !D    [L  D    SDUWRIHTQ D  LIDEV [L   D             WF H\H GLP  F5 6EAF, 6E T (VT[   HTQ D BSUHVVXUHXQGHUWKHSXQFK            GLI PD[ DEV VLJPDWF XSF ]HURV GLP      HOVH            XSF VLJ LQY / H\H GLP  F5V 6EAF,V 6E TVT[  HTQ D BGHIRUPDWLRQJUDGLHQWRXWVLGHWKHSXQFK            GLI PD[ DEV XBXSF   WF ]HURV GLP     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)SXQFK0 ORDGVWU[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      FDOFXODWHHLJHQYDOXHVGHOWDDQGHLJHQYHFWRUVODPGDHTQ DEF     /  UHDO L % %    6HWUHDO  WRDYRLGVPDOOHUURULQGXFHGE\QXPHULFDOFDOFXODWLRQ     ,6/ H\H GLP   HSVLORQEHWD A 6 /  SDUWRIHTQ E B     RPHJD  PBKDW SL DA ,6/      FDOFXODWHWKHURWDWLRQDQJOH?RPHJDIURP E B HQG ] [L  [L  PX >XSKLXBXBVLJPDVLJPD@ VBXSKL ]DRPHJD   FDOFXODWHXSKLHWFE\HTQ D B VLJPDBQQ QDQ  VLJPDBVQ QDQ  GHIDXOWRIVLJPDBQQDQGVLJPDBVQ LI[L 

  2W\SH

_2W\SH

_2W\SH

 

    VLJPDBQQ VLJPD    VLJPDBVQ VLJPD     VLJPDBQQ VLJPDVLJPDBVQ VLJPDHTQ F  LI,FKHFN



        L >@   LI3W\SHa L >L@HQG         F5,V H[S L HSVLORQ ORJ DEV D[L   D[L   L D HSVLORQ[L  HTQ E B         6E 6EHWD6E 6EARV[ RPHJD [L  VTUW DEV DA[L  A   SDUWRI D B LIDEV [L   D             F5, FRVK SL HSVLORQ F5,V   HTQ E B             WF RV[ H\H GLP  UHDO F5, 6E LPDJ F5, 6E /  (  HTQ D B             GLI PD[ DEV VLJPDWF XSF ]HURV GLP  HOVH             VLJ [L  !D    [L  D    VJQIXQFWLRQ             XSF RPHJD LVLJ RV[ L UHDO F5,V 6E  LPDJ F5,V 6E  

HTQ D B

            GLI PD[ DEV XBXSF   WF ]HURV GLP  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      FDOFXODWHHLJHQYDOXHVGHOWDDQGHLJHQYHFWRUVODPGDHTQ DEF     /  UHDO L % %    6HWUHDO  WRDYRLGVPDOOHUURULQGXFHGE\QXPHULFDOFDOFXODWLRQ     ,6/ H\H GLP   HSVLORQEHWD A 6 /  SDUWRIHTQ F      D VTUW  T  5 SL ,6/      FDOFXODWHWKHFRQWDFWUHJLRQDIURP F  LID!DD DHQG

FRPSOHWHLQGHQWDWLRQ

HQG FDOFXODWHGLVSODFHPHQWYHFWRUXDQGVWUHVVIXQFWLRQYHFWRUSKL ] [L  [L  PX >XSKLXBXBVLJPDVLJPD@ VBXSKL ]D5T FDOFXODWHXSKLHWFE\HTQ D B VLJPDBQQ QDQ  VLJPDBVQ QDQ  GHIDXOWRIVLJPDBQQDQGVLJPDBVQ LI[L 

  2W\SH

_2W\SH

_2W\SH

 

    VLJPDBQQ VLJPD    VLJPDBVQ VLJPD      VLJPDBQQ VLJPDVLJPDBVQ VLJPDHTQ F  LI,FKHFN



        L >@   LI3W\SHa L >L@HQG         6E 6EHWD6E 6EAVT[ VTUW DEV DA[L  A [D  [L  ADA    SDUWRIHTQ D         F5,V H[S L HSVLORQ ORJ DEV D[L   D[L      HTQ E B         F5,W  [L  A  HSVLORQA DAL  D HSVLORQ [L  [D   HTQ E B LIDEV [L   D             F5, FRVK SL HSVLORQ F5,V  FFW F5, F5,W   HTQ E B             ,W6 H\H GLP  UHDO FFW 6E LPDJ FFW 6E   SDUWRIHTQ D B             ,F6 H\H GLP  UHDO F5, 6E LPDJ F5, 6E   SDUWRIHTQ D B             WF [D ,W6 /    5 ,F6 TSL VT[ (    HTQ D B             GLI PD[ DEV VLJPDWF XSF ]HURV GLP  HOVH             VLJ [L  !D    [L  D    FVW F5,V F5,W   VJQIXQFWLRQ HTQ E B             ,VW6 H\H GLP  UHDO FVW 6ELPDJ FVW 6E  SDUWRIHTQ D B             ,V6 H\H GLP  UHDO F5,V 6E LPDJ F5,V 6E  SDUWRIHTQ D B

802

Appendix F: AEPH Source Code (Listed in Alphabetic Order)            XSF [L  L5VLJ [D ,VW6 L  5 LQY / ,V6 TSL VT[    HTQ D B            GLI PD[ DEV XBXSF WF ]HURV GLP  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(VWDPS ORDGVWU[LYN  6(67$03FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DQHOOLSWLFDOKROHLQGHQWHGE\DULJLGVWDPS  XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEKDOIOHQJWKVRIWKHHOOLSWLFDOKROH SVLDQJOH GHJUHH 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  SLSVLDQJOH GHJUHH GHQRWLQJWKHFRQWDFWUHJLRQ> D FRV SVL E VLQ SVL  D FRV SVL E VLQ SVL @)LJ    T ORDGVWU  (  T >TTT@WKHIRUFHDSSOLHGRQWKHVWDPS LI3W\SHa T  ORDGVWU  HQG

T >TTTT@IRUSLH]RHOHFWULFPDWHULDOV

   >GHOWD/DPGD@ VBGHO/DP      FDOFXODWHHLJHQYDOXHVGHOWDDQGHLJHQYHFWRUVODPGDHTQ DEF HQG FDOFXODWHGLVSODFHPHQWYHFWRUXDQGVWUHVVIXQFWLRQYHFWRUSKL >]HWDWKHWDUKR@ PDS(3 [LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ   LIDEV ]HWD ! HSV  HSVWRDOORZWKHQXPHULFDOURXQGLQJHUURUQHDUWKHERXQGDU\ZKHQFDOFXODWLQJ]HWD    >XSKLXBXBVLJPDVLJPD@ VBXSKL ]HWDDE[LT   FDOFXODWHXSKLHWFE\HTQ D  HOVH    X QDQ RQHV GLP XB QDQ RQHV GLP XB QDQ RQHV GLP VLJPD QDQ RQHV GLP VLJPD QDQ RQHV GLP  HQG

F163: s923Pstamp IXQFWLRQ>XXBXBVLJPDVLJPD@ V3VWDPS ORDGVWU[LYN  6367$03FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DSRO\JRQOLNHKROHLQGHQWHGE\DULJLGVWDPS  XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DFHSNSDUDPHWHUVRISRO\JRQOLNHKROHHTQ   SVLDQJOH GHJUHH 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  SVLDQJOH GHJUHH GHQRWLQJWKHFRQWDFWUHJLRQ    T ORDGVWU  (  T >TTT@WKHIRUFHDSSOLHGRQWKHVWDPS LI3W\SHa T  ORDGVWU  HQG

T >TTTT@IRUSLH]RHOHFWULFPDWHULDOV

   >GHOWD/DPGD@ VBGHO/DP      FDOFXODWHHLJHQYDOXHVGHOWDDQGHLJHQYHFWRUVODPGDHTQ DEF HQG FDOFXODWHGLVSODFHPHQWYHFWRUXDQGVWUHVVIXQFWLRQYHFWRUSKL >]HWDWKHWDUKR@ PDS(3 [LDFHSNPX   FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ   LIDEV ]HWD ! HSV  HSVWRDOORZWKHQXPHULFDOURXQGLQJHUURUQHDUWKHERXQGDU\ZKHQFDOFXODWLQJ]HWD    >XSKLXBXBVLJPDVLJPD@ VBXSKL ]HWDDD F[LT   FDOFXODWHXSKLHWFE\HTQ D  HOVH    X QDQ RQHV GLP XB QDQ RQHV GLP XB QDQ RQHV GLP VLJPD QDQ RQHV GLP VLJPD QDQ RQHV GLP  HQG

F164: s933_1Cpunch IXQFWLRQ>XXBXBVLJPDVLJPD@ VB&SXQFK ORDGVWU[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      FDOFXODWHHLJHQYDOXHVGHOWDDQGHLJHQYHFWRUVODPGDHTQ DEF HQG ] [L   [L  HSS FRV [L  PX >I]S@ VBI]S ]DT HTQ E B >[JZJ@ *DXVV QB*DXVV IRUWKHSXUSRVHRILQWHJUDWLRQFDOOIXQFWLRQ *DXVV IRU*DXVVSRLQWV[JDQGZHLJKWVZJ I] ]HURV GLP  IRULJ QB*DXVV   LQWHJUDWLRQE\*DXVVTXDGUDWXUHUXOHHTQ     ]J [J LJ  ]    >I]SBJ@ VBI]S ]JDT HTQ E B    I] I]I]SBJ ]

ZJ LJ  HQG FDOFXODWHWKHFRPSOH[IXQFWLRQYHFWRUI ] DQGLWVGHULYDWLYHVIB ] DQGIB ] HTQ D  E DQG D 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 GLDJ PX  I] GLDJ F] %LGLDJ PXF I]S   HTQ E B I] I]HSS I]F[ GPX I]S  

HTQ D 

 I]SS ]HURV GLP I]S GLDJ V] %L IRUM GLP     >*DPPD@ VB3OHPHOM ]DDGHOWD M   HTQ         *DPPDS *DPPD ] GHOWD M   ]ADA    HTQ F B     J] PXV *DPPDPXF *DPPDS        HTQ F B     I]SS I]SSGLDJ *DPPDS %L/ M /LT M   SL L    HTQ E B     I]S I]SGLDJ J] %L/ M /LT M   SL L    HTQ E B HQG I]S I]SF[ GPX I]SS   HTQ D  I]B I]SHSS H\H GLP HSS V[ GPX I]S  HTQ D B I]B GPX I]SHSS I]S 

HTQ D 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@ VB7VWDPS ORDGVWU[LYN  6(67$03FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DWULDQJXODUKROHLQGHQWHGE\DULJLGVWDPS  XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DFHSSDUDPHWHUVRIWULDQJXODUKROH N  HTQ   SVLDQJOH GHJUHH 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      FDOFXODWHHLJHQYDOXHVGHOWDDQGHLJHQYHFWRUVODPGDHTQ DEF HQG FDOFXODWHGLVSODFHPHQWYHFWRUXDQGVWUHVVIXQFWLRQYHFWRUSKL ] [L  [L  PX  E D F  1RWHLQWKHIROORZLQJPDSSLQJWULDQJOHLVDSSUR[LPDWHGE\SHUWXUEDWLRQRIHOOLSVH >]HWDWKHWDUKR@ PDS(3 [LDFPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ   >I]S@ VBI]S ]HWDSVLT HTQ E BVDPHDV D  >[JZJ@ *DXVV QB*DXVV IRUWKHSXUSRVHRILQWHJUDWLRQFDOOIXQFWLRQ *DXVV IRU*DXVVSRLQWV[JDQGZHLJKWVZJ I] ]HURV GLP  IRULJ QB*DXVV   LQWHJUDWLRQE\*DXVVTXDGUDWXUHUXOHHTQ      ]J [J LJ  ]HWD

Appendix F: AEPH Source Code (Listed in Alphabetic Order)

805

   >I]SBJ@ VBI]S ]JSVLT HTQ E BVDPHDV D     I] I]I]SBJ ]HWD

ZJ LJ  HQG FDOFXODWHWKHFRPSOH[IXQFWLRQYHFWRUI ] DQGLWVGHULYDWLYHVIB ] DQGIB ] HTQ DEF DQGHTQ DEF FPX FRQM PX   ]HWD ]HWDA   ]HWDS ]HWD ]HWD DL E PX ]   HTQ   K]  L FPX L PX ]HWD D  SKL] L PX  ]HWD L PX ]HWD D  HTQ F B I] GLDJ K] ]HWDS I]S      I] I]HS I]GLDJ SKL] ]HWDS I]S   HTQ D   HSVL H[S L SVL LHSVL HSVLFS FRV SVL VS VLQ SVL  F/DPGD FRQM /DPGD   F/L LQY F/DPGD   %LF/ LQY % F/DPGD%$ % $ F%$ FRQM %$  /LT F/L %$ T   /LT F/L F%$ T I]SS ]HURV GLP  IRUM GLP    >*DPPD@ VB3OHPHOM ]HWDLHSVLHSVLGHOWD M   HTQ F B    *DPPDS *DPPD ]HWDFSL  GHOWD M VS  ]HWDA FS ]HWD    HTQ F B    HS] H[S L SVL  GHOWD M ]HWD    HS] HS]]HWD    SN %LF/ M /LT M GLDJ HS] %LF/ M /LT M    HTQ F B    SNS GLDJ HS] %LF/ M /LT M                   HTQ F B    I]SS I]SS GLDJ *DPPDS SNGLDJ *DPPD SNS   SL L    HTQ E B HQG K]S D L PX ]HWDASKL]S D L PX  ]HWDK]S  HTQ F B  HDS  L PX F  ]HWD D L PX F  ]HWD L PX F A HDSGHULYDWLYHRIHDHTQ F B I]SSV GLDJ HDS I]SGLDJ ]HWDS I]SS  HTQ E B I]S GLDJ K]S ]HWDS I]SGLDJ K] I]SSV

HTQ E B

I]B GLDJ ]HWDS I]SHS I]SGLDJ SKL]S ]HWDS I]SGLDJ SKL] I]SSV    HTQ D B I]B GLDJ PX 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:SXQFK ORDGVWU[LYN  66:381&+FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DZHGJHVKDSHGSXQFKXQGHUWKHDFWLRQRIQRUPDOIRUFH1DQGKRUL]RQWDOIRUFH)  XXBXBVLJPDVLJPDVLJPDBQQORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DKDOIZLGWKRIWKHSXQFK  HVVORSHRIWKHZHGJHVKDSHGSXQFK )QQRUPDOIRUFH GRZQZDUG  HWDUDWLR)K)QZKHUH)KKRUL]RQWDOIRUFH OHIWZDUG  GHOWDVLQJXODURUGHUVFDOFXODWHGE\IXQFWLRQVBGHO/DP 1DPLQLPXPUHTXLUHPHQWRI)QWRUHDFKFRPSOHWHLQGHQWDWLRQ UWDXGHILQHGE\UWDX  UHDO WDX& 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  (  )QQRUPDOIRUFH GRZQZDUG )KKRUL]RQWDOIRUFH OHIWZDUG     JDPPDBV ORDGVWU     FRHIILFLHQWRIVWDWLFIULFWLRQ    HWD )K)Q   VKRXOGEHOHVVRUHTXDOWRWKHFRHIILFLHQWRIVWDWLFIULFWLRQ LIDEV HWD !JDPPDBV        ISULQWI ILG ?U?Q:URQJLQSXWRIWKHKRUL]RQWDOIRUFHZKLFKVKRXOGEHOHVVRUHTXDOWRPD[LPXPIULFWLRQIRUFH         ISULQWI ILG ?U?Q,QRWKHUZRUGVWKHVROXWLRQVVKRZQEHORZDUHTXHVWLRQDEOH?U?Q  HQG    >GHOWD/DPGD@ VBGHO/DP HWD     FDOFXODWHVGHOWDDQGWDX&WKURXJKHTQ E B    UWDX  UHDO WDX&  &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 VLJPDHTQ F  LI,FKHFN



       VD[G VLQ SL GHOWD DEV D[L   D[L  AGHOWD  SDUWRIHTQ  DQG E  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 DEV VLJPDBQQVLJPD          VWU ^    RU E  VLJPDBQQ  VLJPD `   VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN        SULQW7) [LVLJPDBQQVLJPDGLIVWU   SULQWWKHPHVVDJHRI,FKHFN HQG HQG

F167: s943SPpunch IXQFWLRQ>XXBXBVLJPDVLJPDVLJPDBQQ@ V63SXQFK ORDGVWU[LYN  663381&+FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU DSDUDEROLFHQGHGSXQFKXQGHUWKHDFWLRQRIQRUPDOIRUFH1DQGKRUL]RQWDOIRUFH)  XXBXBVLJPDVLJPDVLJPDBQQORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEGHQRWHVWKHFRQWDFWUHJLRQD [ E 5UDGLXVRIFXUYDWXUHRIWKHSXQFKHQG )Q)KIRUFHFRPSRQHQWVLQQRUPDO GRZQZDUG DQGKRUL]RQWDO OHIWZDUG GLUHFWLRQV HWDUDWLR)K)QZKLFKVKRXOGEHOHVVRUHTXDOWRWKHFRHIILFLHQWRIVWDWLFIULFWLRQ GHOWDVLQJXODURUGHUVFDOFXODWHGE\IXQFWLRQVBGHO/DP 1DPLQLPXPUHTLUHPHQWRI)QWRUHDFKFRPSOHWHLQGHQWDWLRQ UWDXGHILQHGE\UWDX  UHDO WDX& 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  (  )QQRUPDOIRUFH GRZQZDUG )KKRUL]RQWDOIRUFH OHIWZDUG     HWD )K)Q  VKRXOGEHOHVVRUHTXDOWRWKHFRHIILFLHQWRIVWDWLFIULFWLRQ    JDPPDBV ORDGVWU     FRHIILFLHQWRIVWDWLFIULFWLRQ  LIDEV HWD !JDPPDBV        ISULQWI ILG ?U?Q:URQJLQSXWRIWKHKRUL]RQWDOIRUFHZKLFKVKRXOGEHOHVVRUHTXDOWRPD[LPXPIULFWLRQIRUFH         ISULQWI ILG ?U?Q,QRWKHUZRUGVWKHVROXWLRQVVKRZQEHORZDUHTXHVWLRQDEOH?U?Q  HQG    >GHOWD/DPGD@ VBGHO/DP HWD     FDOFXODWHVGHOWDDQGWDX&WKURXJKHTQ E B    UWDX  UHDO WDX&  &KHFNZKHWKHUWKHQRUPDOIRUFHLVODUJHHQRXJKWRDFKLHYHFRPSOHWHLQGHQWDWLRQ    D ZE Z   IRUFRPSOHWHLQGHQWDWLRQ    G GHOWDG GG PD[ GG     1D G SL ZA UWDX 5   HTQ  LI)Q1DD VTUW G UWDX 5 )QSL E VTUW G 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 VLJPDHTQ F  LI,FKHFN



       M[ [L  A GHOWD DE E [L  GHOWD GHOWD DE A  HTQ E B        ; DEV [L  D AGHOWD DEV [L  E A GHOWD SDUWRIHTQ E LI)K

[T5 [L  AZAWDX& 5 )QSL  5 VTUW DEV [L  AZA HQG SDUWRIHTQ 

LI[L   E [L  ! D   FDOFXODWHSUHVVXUHXQGHUWKHSXQFK LI)Q1D!    IRUFRPSOHWHLQGHQWDWLRQ                ; ; H[S L SL GHOWD   HTQ E B                VLJPD L ; M[UWDX 5 )Q  SL  WDX& 5 (  VLJPDF VLJPDHTQ   LI)K HOVH

VLJPDF [T5WDX& (  HQG HTQ  B LQFRPSOHWHLQGHQWDWLRQ

               VLJPD  VLQ SL GHOWD ; [L  D E[L   UWDX 5 (VLJPDF VLJPDHTQ   LI)K

VLJPDF VTUW DA[L  A  5 WDX& (  HQG

HTQ D B

HQG            GLI DEV VLJPDBQQVLJPD DEV VLJPDVLJPDF XSF QDQ HOVH

FDOFXODWHGHIRUPDWLRQJUDGLHQW

           VLJ [L  !E   [L  D     SDUWRIHTQ E B   LI)Q1D!    IRUFRPSOHWHLQGHQWDWLRQ XS [L  VLJ ; M[UWDX 5 )Q  SL 5  XSF XS  HTQ D  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 DEV XB  XS DEV XSXSF 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@ V6SXQFK ORDGVWU[LYN  66381&+FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU WZRVOLGLQJIODWHQGHGSXQFKHVXQGHUWKHDFWLRQRIQRUPDOIRUFHV11DQGKRUL]RQWDOIRUFH))  XXBXBVLJPDVLJPDVLJPDBQQORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEORFDWLRQRIWKHWZRSXQFKHVD [ EDQGD [ ED >DD@E >EE@ )Q >)Q)Q@)QQRUPDOIRUFHRQWKHVWSXQFK)QRQWKHQGSXQFK GRZQZDUG  )K >)K)K@)KKRUL]RQWDOIRUFHRQWKHILUVWSXQFK)KRQWKHQGSXQFK OHIWZDUG  HWDUDWLR)K)Q )K)QZKLFKVKRXOGEHOHVVRUHTXDOWRWKHFRHIILFLHQWRIVWDWLFIULFWLRQ GHOWDVLQJXODURUGHUVFDOFXODWHGE\IXQFWLRQVBGHO/DP UWDXGHILQHGE\UWDX  UHDO WDX& ZKHUHWDX&LVGHWHUPLQHGE\IXQFWLRQVBGHO/DP JOREDO2W\SH(,FKHFNPXILGIURP0DLQSURJUDP&RQWUROSDUDPWHUV 6WURK VPDWHULDOSURSHUWLHV JOREDOWDX&  IURPIXQFWLRQVBGHO/DP JOREDOGG  IURPIXQFWLRQVBI]SFRHIILFLHQWVRIWKHWDSHTQ E 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)QRQQGSXQFK GRZQZDUG     )K  ORDGVWU  (  )K >)K)K@)KKRUL]RQWDOIRUFHRQVWSXQFK)KRQQGSXQFK OHIWZDUG     )K  )K  )Q  )Q    )1 )1DUHUHTXLUHGWREHWKHVDPH    HWD )K  )Q       JDPPDBV ORDGVWU     FRHIILFLHQWRIVWDWLFIULFWLRQ  LIDEV HWD !JDPPDBV        ISULQWI ILG ?U?Q:URQJLQSXWRIWKHKRUL]RQWDOIRUFHZKLFKVKRXOGEHOHVVRUHTXDOWRPD[LPXPIULFWLRQIRUFH         ISULQWI ILG ?U?Q,QRWKHUZRUGVWKHVROXWLRQVVKRZQEHORZDUHTXHVWLRQDEOH?U?Q  HQG    >GHOWD/DPGD@ VBGHO/DP HWD     FDOFXODWHVGHOWDDQGWDX&WKURXJKHTQ E B    UWDX  UHDO WDX&  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 VLJPDHTQ F  LI,FKHFN



       ; DEV [L  D  [L  D  AGHOWD DEV [L  E  [L  E  A GHOWD    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       SDUWRIHTQ E B

Appendix F: AEPH Source Code (Listed in Alphabetic Order)

809

           VLJPD VLJ H[S L SL GHOWD ; UWDX GG [L  WDX& (  VLJPDF VLJPD  HTQ D B LI)K

VLJPDF VLJ 1[ (  HQG

HTQ  B

           GLI DEV VLJPDBQQVLJPD DEV VLJPDVLJPDF XSF QDQ HOVH            VLJ [L   D    [L  ! E    [L  ! E  [L   D      SDUWRIHTQ E             XS L UWDX VLJ ; GG [L    XSF XS  HTQ D B LI)K

XSF VLJ WDX& 1[  HQG

HTQ  B

           GLI DEV XB  XS DEV XSXSF 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)FRQWDFW ORDGVWU[LYN  63)&217$&7FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU WKHFRQWDFWEHWZHHQWZRDQLVRWURSLFHODVWLFERGLHVERXQGHGE\SDUDEROLFVXUIDFHV  XXBXBVLJPDVLJPDVLJPDBQQORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ DEGHQRWHVWKHFRQWDFWUHJLRQD [ E )QQRUPDOIRUFH GRZQZDUG  5UDGLXVRIWKHFXUYDWXUHRIWKHXSSHUHODVWLFERG\ 5UDGLXVRIWKHFXUYDWXUHRIWKHORZHUHODVWLFERG\ 5GHILQHGE\5 5 5 55  HWDUDWLR)K)QZKLFKVKRXOGEHOHVVRUHTXDOWRWKHFRHIILFLHQWRIVWDWLFIULFWLRQ GHOWDVLQJXODURUGHUVFDOFXODWHGE\IXQFWLRQVBGHO/DP UWDXGHILQHGE\UWDX  UHDO WDX& 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  ()QQRUPDOIRUFH GRZQZDUG )KKRUL]RQWDOIRUFH OHIWZDUG  FDOFXODWHHLJHQYDOXHVGHOWDHTQ E B F B    HWD )K)Q  VKRXOGEHOHVVRUHTXDOWRWKHFRHIILFLHQWRIVWDWLFIULFWLRQ    JDPPDBV ORDGVWU     FRHIILFLHQWRIVWDWLFIULFWLRQ  LIDEV HWD !JDPPDBV        ISULQWI ILG ?U?Q:URQJLQSXWRIWKHKRUL]RQWDOIRUFHZKLFKVKRXOGEHOHVVRUHTXDOWRPD[LPXPIULFWLRQIRUFH         ISULQWI ILG ?U?Q,QRWKHUZRUGVWKHVROXWLRQVVKRZQEHORZDUHTXHVWLRQDEOH?U?Q  HQG    >GHOWD/DPGD@ VBGHO/DP HWD     FDOFXODWHVGHOWDDQGWDX&WKURXJKHTQ F BDQG E B    UWDX  UHDO WDX&   GE GHOWDGD GE5 5 5 55 W51 UWDX 5 )QSL    D VTUW GD W51 E VTUW GE W51      HTQ F 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   LIDEV J[L  HSVES HQG

ERXQGDU\SRLQWRIHODVWLFERG\

LIDEV J[L  HSVES HQG

ERXQGDU\SRLQWRIHODVWLFERG\

LI,FKHFN

 ESa   ERXQGDU\SRLQWVRIWKHHODVWLFERG\

    VLJPDBQQ VLJPD    FRQWDFWSUHVVXUH     WDX 0L  HWD 0L  WDX 0L  HWD 0L    HTQ E      WKHWD   QB*DXVV   >[JZJ@ *DXVV QB*DXVV  IRULJ QB*DXVV   LQWHJUDWLRQE\*DXVVTXDGUDWXUHUXOHHTQ D FDOFXODWHWKHWD         [LJ [J LJ  [L     HTQ $          ; [LJD AGHOWD  [LJE A GHOWD    HTQ E B         M [LJA GHOWD DE E [LJGHOWD GHOWD DE A

HTQ E

        WKHWDS L [LJ; M  UWDX 5 L )Q ;  SL   HTQ D          WKHWD WKHWDWKHWDS [L  ZJ LJ  HQG LI[L  !D [L  E          VLJPD  VLQ SL GHOWD  5 UWDX [L  D A GHOWD E[L  AGHOWD (  HTQ           JV WDX

JWDX JL WDX

WDX WDX WDX WKHWD WDX&  HTQ D B LI[L  !XF JVJ  HOVH  XF JVJHQG         GLI DEV VLJPDBQQVLJPD DEV X  XF   HOVH LI[L  !XF L WDXWDX WKHWD  HTQ D BXF JVJ HOVHXF L WDXWDX WKHWD  HQG

HTQ D BXF JVJ

        GLI DEV X  XF VLJPD QDQ   HQG     VWU ^ D      >X  XF@  >VLJPDBQQVLJPD@ `   VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN     SULQW7) [L>X  XF@>VLJPDBQQVLJPD@GLIVWU   SULQWWKHPHVVDJHRI,FKHFN HQG

F170: s952P2contact IXQFWLRQ>XXBXBVLJPDVLJPDVLJPDBQQ@ V3FRQWDFW ORDGVWU[LYN  63&217$&7FDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRU WKHFRQWDFWEHWZHHQWZRDQLVRWURSLFHODVWLFERGLHVERXQGHGE\SDUDEROLFVXUIDFHV  XXBXBVLJPDVLJPDVLJPDBQQORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ EGHQRWHVWKHFRQWDFWUHJLRQE [ EZKLFKLVGHWHUPLQHGE\HTQ F  )QQRUPDOIRUFH GRZQZDUG  5UDGLXVRIWKHFXUYDWXUHRIWKHXSSHUHODVWLFERG\ 5UDGLXVRIWKHFXUYDWXUHRIWKHORZHUHODVWLFERG\ 5GHILQHGE\5 5 5 55  0LLQYHUVHRILPSHGDQFHPDWUL[RIPDWHULDO0L L $ LQY % 

Appendix F: AEPH Source Code (Listed in Alphabetic Order)

811

0LLQYHUVHRILPSHGDQFHPDWUL[RIPDWHULDO0L L $ LQY %  0VELPDWHULDOPDWUL[0V 0LFRQM 0L  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  (  )QQRUPDOIRUFH GRZQZDUG      %L %BD  A0L L $BD  %L      %L %BD  A0L L $BD  %L  0V 0LFRQM 0L      5 5 5 55 0V 0V       E VTUW  0V 5 )QSL   HTQ F  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   LIDEV J[L  HSVES HQG

ERXQGDU\SRLQWRIHODVWLFERG\

LIDEV J[L  HSVES HQG

ERXQGDU\SRLQWRIHODVWLFERG\

LI,FKHFN

 ESa   ERXQGDU\SRLQWVRIWKHHODVWLFERG\

    VLJPDBQQ VLJPD    FRQWDFWSUHVVXUH LIDEV [L  E          VLJPD VTUW EA[L  A  5 0V (  HTQ D B         JV 5 0L  5 0L  [L  A  0V 5 5    HTQ D B LI[L  !XF JVJ  HOVH  XF JVJHQG         GLI DEV VLJPDBQQVLJPD DEV X  XF   HOVH         VLJ [L  !E   [L  E     SDUWRIHTQ E          [ES [L  VLJ VTUW [L  AEA   [EP [L  VLJ VTUW [L  AEA   SDUWRIHTQ E          WKHWD L )Q ORJ L E   SL    WKHWD  RIHTQ E ULJLGERG\PRWLRQWHUPRIWKHWD         WKHWD L )Q [L  [EPEA ORJ [ES   SL EA WKHWD

HTQ E 

LI[L  !XF  L 0L  WKHWD  HTQ D BXF JVJV HOVHXF  L 0L  WKHWD  HQG

HTQ D BXF JVJV

        GLI DEV X  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 EGHILQHGLQHTQ D B JDJWJD DL E PX  DL E PX    JW DL E WDX  DL E WDX   HTQ F B HHH KI NLM  L N   NA H L D KI  N GHILQHGLQHTQ D B NN VTUW NLM  NLM  NLM  A GHILQHGLQHTQ D B NNN >NNN@N >NNN@NLMKHDWFRQGXFWLRQFRHIILFLHQWVHTQ E  TTTFRHIILFLHQWYHFWRUVGHILQHGLQHTQ E 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  UHDO H G   TE  1L UHDO H 1 WDX H\H GLP G   HTQ E B     1 1 11 11 1 11 1 1 1 11

1  1RWH>1111 @ 1 1     9 1

TD1 TE UHDO H WDXA G    SUHVWHSRIVROYLQJYIURPHTQ       >1PM@ PD[ DEV 1  Y 9 M 1 M 9F Y 1      VROYLQJYIURPHTQ   LIDEV PD[ 99F !HSV   FKHFNZKHWKHUWKHVROXWLRQRIYLVFRUUHFW         GLVS &RPSXWDWLRQDOHUURULQVROYLQJHTQ  99F HQG     L ]HURV GLP L    TE TEY L  HTQ E B TED  LQY D 1WLE 1 >LPDJ H DL E WDX LQY / 6 L H\H GLP G LPDJ H DL E WDX G @HTQ F  TED  LQY D 1WLE 1 LPDJ H DL E WDX >FG@ HTQ G  TE TED GLP TD TED GLP GLP   TE TED GLP TD TED GLP GLP    F  G      T $

TD%

TE    T $

TD%

TE    T $

TD%

TE

HTQ E 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]HWD GLP ORJ ] ORJ JD ]HWDA ORJ     HTQ  B D B     ORJP]HWD GLP ORJ ]W ORJ JW ]HWDBWA ORJ    HTQ  B D B      I] GLDJ ]A TGLDJ ]]HWD TGLDJ PD ORJP]HWD GLP T    HTQ  B     J] H ]WAH ]W]HWDBWPW ORJP]HWD GLP    HTQ  B     I]S GLDJ ] T GLDJ ]UD ]HWD TGLDJ PDUD T   HTQ D B     J]S H ]WH]HWDBW   J]SS HH UW ]HWDBW    HTQ D B      7HPS  UHDO J]S   KHDW)  UHDO NWDX N J]SS   HTQ D B     X  UHDO $ I]F J]     SKL  UHDO % I]G J] (       HTQ D B     XB  UHDO $ I]SF J]S    XB  UHDO $ GLDJ PX I]SF WDX J]S   HTQ G B     VLJPD  UHDO % GLDJ PX I]SG WDX J]S (  VLJPD  UHDO % I]SG J]S (HTQ G B F  HOVH     X QDQ RQHV GLP   XB QDQ RQHV GLP   XB QDQ RQHV GLP       VLJPD QDQ RQHV GLP VLJPD QDQ RQHV GLP KHDW) QDQ RQHV GLP 7HPS QDQ HQG FDOFXODWHKRRSVWUHVVVLJPDBVVDORQJWKHKROHERXQGDU\HTQ   VLJPDBVV QDQ   VLJPDBVVZLOOQRWEHFDOFXODWHGLILWLVQRWUHTXLUHGE\WKHXVHU LI3W\SHa VLJPDBVV  QDQHQG

GHIDXOWIRUSLH]RHOHFWULFDQG0((PDWHULDOV

LI3W\SH!VLJPDBVV  QDQHQG

GHIDXOWIRU0((PDWHULDOV

LIDEV DEV ]HWD   HSV  2W\SH

_2W\SH

_2W\SH

_2W\SH

    GDWDRQWKHKROHERXQGDU\

    SVL [L  SL   FKDQJHGHJUHHWRUDGLDQ     >]HWDWKHWDUKR@ PDS(3 [LSVLDEDPX FDOFXODWHWKHWDQJHQWLDODQJOHWKHWDHTQ       JDPWV / F6

GL G   HTQ D B     >JDPWKJDPWK@ VBJDPPD WKHWD   FDOFXDOWHVJDPWK     >1WK1WK1WK@ 6WURKBPDWULFHV WKHWD FDOFXODWHWKH6WURKPDWULFHV1WK1WK1WK     *WK 1WK LQY /    H[WHQGHGV\PERO  RI6HFWLRQ     FWK FRV WKHWD VWK VLQ WKHWD VY >FWKVWK@  WDQJHQWGLUHFWLRQVH[WHQGHGV\PERO  RI6HFWLRQ LI3W\SHa VY >VY@HQG

IRUSLH]RHOHFWULFRU0((PDWHULDOV

LI3W\SH!VY >VY@HQG

IRU0((PDWHULDOV

    JDP*  UKR VLQ SVL JDPWK*WK UHDO H[S  L SVL DL E WDX JDPWV SDUWRIHTQ D      DPXE D FRV SVL PX E VLQ SVL  VWKPX FWK    SDUWRIHTQ E      DWDXE D FRV SVL WDX E VLQ SVL VWKWDX FWK SDUWRIHTQ E      SKLBQ  UHDO % GLDJ DPXE TH DWDXE G    SDUWRIHTQ E      SKLBQ D KI JDP*  N UKR SKLBQSDUWRIHTQ D      VLJPDBVV VY SKLBQ (   HTQ D  LI3W\SHa VLJPDBVV  SKLBQ  HQG

IRUSLH]RHOHFWULFPDWHULDOVHTQ D 

LI3W\SH!VLJPDBVV  SKLBQ  HQG

IRU0((PDWHULDOV

LI,FKHFN

  &KHFNWKHFRUUHFWQHVVRIVLJPDDQGVLJPDYLDVLJPDBVV

        VLJPDBVVF VLJPD  FWKAVLJPD  VWKA VLJPD  FWK VWK  KRRSVWUHVV         GLI DEV VLJPDBVV  VLJPDBVVF   GLI VLJPDBVVF QDQ LI(W\SH

    FKHFNWKHUHVXOWVRILVRWURSLFPDWHULDOVE\HTQ  

            VLJPDBVVF ( KI DOSKD DA DE VLQ SVL   N UKRA QX VY SKLBQ (  HTQ               GLI DEV VLJPDBVVFVLJPDBVVF    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 GHILQHGLQHTQ D B NN VTUW NLM  NLM  NLM  A GHILQHGLQHTQ D B NNN >NNN@N >NNN@NLMKHDWFRQGXFWLRQFRHIILFLHQWVHTQ E  TTTFRHIILFLHQWYHFWRUVGHILQHGLQHTQ E B UJDPWVUHDO JDPWV ZKHUHJDPWV / F6

GL GHTQ D  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  UHDO H G   TE  1L UHDO H 1 WDX H\H GLP G   HTQ E B     1 1 11 11 1 11 1 1 1 11

1  1RWH>1111 @ 1 1     9 1

TD1 TE UHDO H WDXA G    SUHVWHSRIVROYLQJYIURPHTQ       >1PM@ PD[ DEV 1  Y 9 M 1 M 9F Y 1      VROYLQJYIURPHTQ   LIDEV PD[ 99F !HSV   FKHFNZKHWKHUWKHVROXWLRQRIYLVFRUUHFW         GLVS &RPSXWDWLRQDOHUURULQVROYLQJHTQ  99F  HQG     L ]HURV GLP L    TE TEY L  L/ LQY /   HTQ E B TD D KI LPDJ G N  TE D KI L/ UHDO H\H GLP L 6 G N    HTQ  B TD D KI UHDO / F6

G N  TE D KI UHDO 6 F+ G N

HTQ  B

    T $

TD%

TE  T $

TD%

TE  T $

TD%

TE  HTQ E B   FDOFXODWHVWUHVVLQHWQVLW\IDFWRUVDQGHQHUJ\UHOHDVHUDWHHTQ       JDPWV / F6

GL G   HTQ D      UJDPWV UHDO JDPWV    KDN VTUW SL 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 >VTUW SL ( DOSKD KI DA  QX N @HTQ  B        (1*F SL ( DOSKD KI D A D QX   QX NA HTQ  B        GLI PD[ DEV 6,)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]HWD GLP ORJ ] ORJ  ]HWDA ORJ     HTQ  B ORJD]HWD GLP ORJ ]W ORJ  ]HWDBWA ORJ    HTQ  B  I] GLDJ ]A TGLDJ ]]HWD TGLDJ D ORJD]HWD GLP T    HTQ  B J] H ]WAH ]W]HWDBWD ORJD]HWD GLP    HTQ  B I]S GLDJ  ] TGLDJ ]UD ]HWD TGLDJ DUD T   HTQ D B J]S H ]WH]HWDBW   J]SS HH UW ]HWDBW    HTQ D B  7HPS  UHDO J]S   KHDW)  UHDO NWDX N J]SS   HTQ D B X  UHDO $ I]F J]     SKL  UHDO % I]G J] (       HTQ D B XB  UHDO $ I]SF J]S    XB  UHDO $ GLDJ PX I]SF WDX J]S   HTQ G B VLJPD  UHDO % GLDJ PX I]SG WDX J]S (  VLJPD  UHDO % I]SG J]S (   HTQ G B F  LI,FKHFN

 [L 

 

    V[D VTUW DEV [L  ADA  LIDEV [L  !D   &KHFNVWUHVVDKHDGRIWKHFUDFNWLSE\HTQ           VLJPDF  [L  UHDO % TG H DA KI UJDPWV  N V[D (   HTQ           GLI PD[ DEV VLJPDFVLJPD          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 EGHILQHGLQHTQ D B JDJWJD DL E PX  DL E PX    JW DL E WDX  DL E WDX   HTQ F B HHFRQVWDQWVGHILQHGLQHTQ   NN VTUW NLM  NLM  NLM  A GHILQHGLQHTQ D B NNN >NNN@N >NNN@NLMKHDWFRQGXFWLRQFRHIILFLHQWVHTQ E  TTTFRHIILFLHQWYHFWRUVGHILQHGLQHTQ  B TDVTEVFRHIILFLHQWYHFWRUVTDAVWDUDQGTEAVWDUGHILQHGLQHTQ F  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    XQLWRIYSKLGHJUHH LQSXW UDGLDQ WUDQVIRUPWRUDGLDQIRUWKHIROORZLQJFRGLQJ      PD DL PX E  PW DL WDX E    HTQ D B     JD DL E PX  DL E PX    JW DL E WDX  DL E WDX   HTQ F B     N VTUW NLM  NLM  NLM  A   HTQ D B     H KI FRV YSKL FRQM WDX VLQ YSKL   N LPDJ WDX H KI E FRV YSKL L D VLQ YSKL   N        N NLM    N NLM    HTQ E      >6+/@ 6WURKBPDWULFHV    +L LQY +   FDOFXODWHV%DUQHWW/RWKHWHQVRUV6+/DQGLQYHUVHRI+     >1WK1WK1L@ 6WURKBPDWULFHV  FDOFXODWHVWKHVXELQYHUVHRI1LH1L     1WL >6+/6 @   H[WHQGHGV\PERO  RI6HFWLRQ  TD  UHDO H G   TE  UHDO H 1L 1 WDX H\H GLP G   HTQ E B     1 1 11 11 1 11 1 1 1 11

1  1RWH>1111 @ 1 1     9 1

TD1 TE UHDO H WDXA G    SUHVWHSRIVROYLQJYIURPHTQ       >1PM@ PD[ DEV 1  Y 9 M 1 M 9F Y 1      VROYLQJYIURPHTQ   LIDEV PD[ 99F !HSV   FKHFNZKHWKHUWKHVROXWLRQRIYLVFRUUHFW         GLVS &RPSXWDWLRQDOHUURULQVROYLQJHTQ  99F HQG     L ]HURV GLP L    TE TEY L  HTQ E B     TEV UHDO H DA WDX E A F EA 1 TD DA H\H GLP EA 1 TE   HTQ F B     TDV  UHDO D E WDX H F D E 1 TD1 TE    HTQ F B     TFV UHDO H DL E WDX F TEV   TGV UHDO L H DL E WDX F TDV     HTQ E  TED  LQY D 1WLE 1 >TGV+L TFV6 TGV @   HTQ D  TED  LQY D 1WLE 1 LPDJ H DL E WDX >FG@    HTQ G  TE TED GLP TD TED GLP GLP   TE TED GLP TD TED GLP 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]HWD GLP ORJ ] ORJ JD ]HWDA ORJ     HTQ  B     ORJP]HWD GLP ORJ ]W ORJ JW ]HWDBWA ORJ    HTQ  B      I] GLDJ ]A TGLDJ ]]HWD TGLDJ PD ORJP]HWD GLP T    HTQ  B     J] H ]WAH ]W]HWDBWPW ORJP]HWD GLP    HTQ  B     I]S GLDJ ] T GLDJ ]UD ]HWD TGLDJ PDUD T   HTQ D      J]S H ]WH]HWDBW   J]SS HH UW ]HWDBW    HTQ D       7HPS  UHDO J]S   KHDW)  UHDO NWDX N J]SS   HTQ D B     X  UHDO $ I]F J]     SKL  UHDO % I]G J] (       HTQ D B     XB  UHDO $ I]SF J]S    XB  UHDO $ GLDJ PX I]SF WDX J]S   HTQ G B     VLJPD  UHDO % GLDJ PX I]SG WDX J]S (  VLJPD  UHDO % I]SG J]S (   HTQ G B F  HOVH     X QDQ RQHV GLP   XB QDQ RQHV GLP   XB QDQ RQHV GLP      VLJPD QDQ RQHV GLP VLJPD QDQ RQHV GLP KHDW) QDQ RQHV GLP 7HPS QDQ HQG FDOFXODWHLQWHUIDFLDOVWUHVVHVVLJPDBVVVLJPDBQQVLJPDBVQDORQJWKHLQFOXVLRQERXQGDU\HTQ   VLJPDBVV QDQVLJPDBQQ QDQVLJPDBVQ QDQ  GHIDXOWRIVLJPDBVVVLJPDBQQVLJPDBVQ LIDEV DEV ]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   HTQ D B     >JDPWKJDPWK@ VBJDPPD WKHWD    FDOFXDOWHVJDPWKDQGJDPWV     >1WK1WK1WK@ 6WURKBPDWULFHV WKHWD FDOFXODWHWKH6WURKPDWULFHV1WK1WK1WK     FWK FRV WKHWD VWK VLQ WKHWD VY >FWKVWK@QY >VWKFWK@  WDQJHQWDQGQRUPDOGLUHFWLRQV E  LI3W\SHa VY >VY@QY >QY@HQG

IRUSLH]RHOHFWULFRU0((PDWHULDOV

LI3W\SH!VY >VY@QY >QY@HQG

IRU0((PDWHULDOV

    SKLBV +L UHDO H[S  L SVL L H DL E WDX JDPWV 6L H\H GLP TDVL TEV UKR   HTQ  B     SKLBQ 1WK

+L UHDO H[S  L SVL L H DL E WDX JDPWV UKR UHDO H H[S L SVL JDPWK  WKHILUVWWZRWHUPVRIHT  B         UHDO H[S  L SVL 1WK

+L 61WKL 1WK

+L TDVL TEV UKR  HTQ  B     VLJPDBVV VY SKLBQ (   VLJPDBQQ QY SKLBV (   VLJPDBVQ VY SKLBV (    HTQ D LI3W\SHa VLJPDBVV  SKLBQ    HQG

HTQ D 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 SKLBQHTQ D          GLI DEV VLJPDBVV  VLJPDBVVF GLI DEV VLJPDBQQVLJPDBQQF          GLI DEV VLJPDBVQVLJPDBVQF GLI DEV VLJPDBVQVLJPDBVQF          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 VTUW NLM  NLM  NLM  A GHILQHGLQHTQ D B NNN >NNN@N >NNN@NLMKHDWFRQGXFWLRQFRHIILFLHQWVHTQ E  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   XQLWRIYSKLGHJUHH LQSXW UDGLDQ WUDQVIRUPWRUDGLDQIRUWKHIROORZLQJFRGLQJ     N VTUW NLM  NLM  NLM  A   HTQ D B    H KI FRV YSKL FRQM WDX VLQ YSKL   N LPDJ WDX    H KI L D VLQ YSKL   N   HTQ       N NLM    N NLM    HTQ E     >6+/@ 6WURKBPDWULFHV    +L LQY +   FDOFXODWHV%DUQHWW/RWKHWHQVRUV6+/DQGLQYHUVHRI+    >1WK1WK1L@ 6WURKBPDWULFHV  FDOFXODWHVWKHVXELQYHUVHRI1LH1L    1WL >6+/6 @   H[WHQGHGV\PERO  RI6HFWLRQ  TD  UHDO H G   TE  UHDO H 1L 1 WDX H\H GLP G   HTQ E B    1 1 11 11 1 11 1 1 1 11

1  1RWH>1111 @ 1 1    9 1

TD1 TE UHDO H WDXA G    SUHVWHSRIVROYLQJYIURPHTQ      >1PM@ PD[ DEV 1  Y 9 M 1 M 9F Y 1      VROYLQJYIURPHTQ   LIDEV PD[ 99F !HSV   FKHFNZKHWKHUWKHVROXWLRQRIYLVFRUUHFW        GLVS &RPSXWDWLRQDOHUURULQVROYLQJHTQ  99F HQG    L ]HURV GLP L    TE TEY L  HTQ E B TD  UHDO +L D HH 6L H H\H GLP F D +L 6 TE   HTQ  B TE  UHDO D HH F D TE   HTQ  B TD  UHDO L H / F6

G    TE  UHDO L H 6 F+ G    HTQ  B     T $

TD%

TE    T $

TD%

TE    T $

TD%

TE

HTQ  B

   6,) VTUW SL 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]HWD GLP ORJ ] ORJ  ]HWDA ORJ     HTQ  B ORJD]HWD GLP ORJ ]W ORJ  ]HWDBWA ORJ    HTQ  B  I] GLDJ ]A TGLDJ ]]HWD TGLDJ D ORJD]HWD GLP T    HTQ  B J] H ]WAH ]W]HWDBWD ORJD]HWD GLP    HTQ  B I]S  GLDJ ] TGLDJ ]UD ]HWD TGLDJ DUD T   HTQ D B J]S H ]WH]HWDBW   J]SS HH UW ]HWDBW    HTQ D B  7HPS  UHDO J]S   KHDW)  UHDO NWDX N J]SS   HTQ D B X  UHDO $ I]F J]     SKL  UHDO % I]G J] (       HTQ D B XB  UHDO $ I]SF J]S    XB  UHDO $ GLDJ PX I]SF WDX J]S   HTQ G B VLJPD  UHDO % GLDJ PX I]SG WDX J]S (  VLJPD  UHDO % I]SG J]S (   HTQ G B F  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 UHDO H G D TDTD   V[D (  HTQ      GLI PD[ DEV VLJPDFVLJPD     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 VTUW NLM  NLM  NLM  A HTQ D B WVWAVWDUYHFWRUUHODWHGWRWGHILQHGLQHTQ E B KVKV KI NN   N N HTQ F B HVHVYHFWRUVUHODWHGWRHDQGHGHILQHGLQHTQ E B %L%LLQYHUVHRI%DQG%ZKHUH%%PDWHULDOHLJHQYHFWRUPDWULFHVRIPDWHULDODQG %/%L /DPSDUWRIHTQ F  %0/%L FRQM 0VL 0V /DPSDUWRIHTQ F  SSFRHIILFLHQWYHFWRUVGHILQHGLQHTQ F  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 LQY 0V H[WHQGHGV\PERO  RIVHFWLRQ     N VTUW NLMBD  NLMBD  NLMBD  A   HTQ D B     N VTUW NLMBD  NLMBD  NLMBD  A   HTQ D B     FV N FN FRQM F   GV N GN FRQM G     HTQ E      H L 0VL FVL 0FL GV N G  NN         HTQ D B     H L FRQM 0VL FRQM FV L 0FL FRQM GV N G  NN   HTQ D B     /0L LQY /DP LQY H\H GLP FRQM 0VL 0V   SDUWRIHTQ E B :KHQGHOWDKDYHUHSHDWHGURRW\RXPD\KDYHWURXEOHDERXWLQY /DP  ,QWKDWFDVHWU\WRILQGDSURSHUVPDOOSHUWXUEHGYDOXHIRUWKHPDWHULDOSURSHUWLHV     WV /0L W  HV /0L H   HV /0L H   HTQ E B     KV KI NN   N N    HTQ F B     %PL %L FRQM 0VL 0V   HTQ F B     %/ %L /DP%0/ %PL /DP   SDUWRIHTQ F      S %L N G NN H   S %PL N G NN H   HTQ F  HQG LI[L  !      LP %/ %/S SNU N NN   HTQ     HOVH     LP %/ %0/S SNU N NN   HTQ     HQG PX PXBD LP   WDX WDXBD LP $ $BD LP % %BD LP F FBD LP G GBD LP  ] [L  [L  PX]W [L  [L  WDX  NY >NLMBD LP NLMBD LP NLMBD LP @  HTQ E  NY >NLMBD LP NLMBD LP NLMBD LP @  HTQ E   >I]S@ VBI]S ]DGHOWDKVS%/WVHVHV  VT]W VTUW ]WD VTUW ]WD    HTQ   J]S L KV NU ]WVT]W    HTQ D B D B J]SS L KV NU ]WVT]W    HTQ D B D B J] L KV NU ]WA]W VT]WDA ORJ ]WVT]W    HTQ  FKHFNWKHGLVFRQWLQXLW\SUREOHPRIORJIXQFWLRQ  >[JZJ@ *DXVV QB*DXVV IRUWKHSXUSRVHRILQWHJUDWLRQ I] ]HURV GLP  IRULJ QB*DXVV   LQWHJUDWLRQE\*DXVVTXDGUDWXUHUXOHHTQ      ]J [J LJ  ]     >I]SBJ@ VBI]S ]JDGHOWDKVS%/WVHVHV   HTQ D B     I] I]I]SBJ ] ZJ LJ  HQG 7HPS  UHDO J]S   KHDW)  UHDO NYWDX NY J]SS   HTQ D B X  UHDO $ I]F J]     SKL  UHDO % I]G J] (       HTQ D B

Appendix F: AEPH Source Code (Listed in Alphabetic Order) XB  UHDO $ I]SF J]S    XB  UHDO $ GLDJ PX I]SF WDX J]S   HTQ G B VLJPD  UHDO % GLDJ PX I]SG WDX J]S (  VLJPD  UHDO % I]SG J]S (HTQ G B F  LI,FKHFN

 KI

  FKHFNWKHUHVXOWVZLWKVB,)FUDFN8/ZKHQK 

   ORDGVWUB  D  ORDGVWUB    ORDGVWUB HQG ORDGVWU HQG       >XFXBFXBFVLJPDFVLJPDF@ VB,)FUDFN8/ ORDGVWUB[LYN     GLI DEV XFX  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   ODVWWHUPRIHTQ D B IRUN GLP     ;]N ]D AGHOWD N  ]D A GHOWD N    HTQ G        -  ] L D LPDJ GHOWD N  ;]N  HTQ E B     - ]VTUW ]ADA DA ;]N      HTQ E B     - ]VTUW ]ADA   ]A DA  ;]N     HTQ E B     I]S I]SGLDJ - %/ N WV N L KV GLDJ - %/ N HV N GLDJ - %/ N HV N   HTQ D B HQG

F176: s1052MwedgeTH IXQFWLRQ>+($77(03@ V0ZHGJH7+ ORDGVWU[LYN  60ZHGJH7+FDOFXODWHVWKHRUGHUVRIVWUHVVVLQJXODULW\DQGWKHLU DVVRFLDWHGHLJHQIXQFWLRQVIRUSUREOHPVRIPXOWLPDWHULDOZHGJHVXQGHUWKHUPDOHQYLURQPHQW  +($7HLJHQIXQFWLRQVRIKHDWIOX[KHDW) M M QGHO 7(03WHPSHUDWXUH7HPS M DVVRFLDWHGZLWKGHOWDBW M  KHDW)7HPSORDGVWU[LYNH[SODLQHGLQIXQFWLRQXSKLBEDQN */2%$/9$5,$%/(6JHQHUDWHGLQWKLVIXQFWLRQ ZEFERXQGDU\FRQGLWLRQRIWKHPXOWLPDWHULDOZHGJH EFWWKHUPDOERXQGDU\FRQGLWLRQRIWKHPXOWLPDWHULDOZHGJH WKNORFDWLRQRIZHGJHVLGHVWKN  WKN  WKN Q 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 ORDGVWU 1PDW SL  ZHGJHORFDWLRQWKN  WKN  WKN Q 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   1GWULDOQXPEHURIURRWVVXJJHVWHGYDOXH URRWVVLQJXODURUGHUV 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@ PXOOHU GGGG72/I72/0D[L   ILQGURRWWKURXJKPXOOHU VPHWKRG GH DEV []HUR []HUR GH DEV PLQ []HURGHOWDBW    GHWKHGLIIHUHQFHZLWKGHOWD RUGHWKHPLQLPXPGLIIHUHQFHZLWKWKHSUHYLRXVIRXQGGHOWD LI[]HUR []HUR! DEV I. I72/ GH! G72/ GH!G72/              QGHO QGHOGHOWDBW QGHO []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 >UHDO GHOWDBW M LPDJ GHOWDBW M @HQG    SULQW7) ILG>@>@GW5,  VWUQGHO  HQG [V [L  FRV WKN  [L  VLQ WKN  [V [L  VLQ WKN  [L  FRV WKN   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 WKWKN LP GWK WKWKN LP  LIGWK!  GWK         LWK LPEUHDN    WKHORFDWLRQ ZHGJHQXPEHU LWK RIWKHDQJOHWKHWD HQG HQG IRUM QGHO    GHO GHOWDBW M     >YZ@ PXOWLZHGJH GHO FDOFXODWHYDQGZRIHTQ        >(.H(.HS@ PXOWLZHGJH GHOWK   (.H (N .H(.HS GHULYDWLYHRI(.HHTQ D B    >*.7*.7S@ PXOWLZHGJH GHOWK   *.7 *DPN .7*.7S GHULYDWLYHRI*.7HTQ D B    >).7).7S@ PXOWLZHGJH GHOWK   ).7 )N .7(.7S GHULYDWLYHRI).7HTQ D B    >(.F(.FS@ PXOWLZHGJH GHOWK   (.F (N .F(.FS GHULYDWLYHRI(.FHTQ D B YBN M UA GHO *.7 Y    HTQ D B

Appendix F: AEPH Source Code (Listed in Alphabetic Order)     ZN M UA GHO ).7(.F Y(.H Z   HTQ D B     ZNS M UA GHO ).7S(.FS Y(.HS Z   GHULYDWLYHRIZNHTQ D B  LI1PDW

NLM NLMWDX WDX

HOVHNLM NLMBD LWK WDX WDXBD LWK HQG     N VTUW NLM  NLM  NLM  A    HTQ D B     N NLM GLP   N NLM GLP   HTQ E      JWK NWDX N  FRV WK WDX VLQ WK     HTQ E       7(03 M U YBN M GHO   HTQ       +($7 M >UHDO JWK LPDJ JWK N@ YBN M   HTQ D      X M ZN GLPM    SKL M ZN GLP GLPM (     ZNBU M ZN M GHO U     XB M ZNBU GLPM FRV WK ZNS GLPM VLQ WK U   HTQ  B     XB M ZNBU GLPM VLQ WK ZNS GLPM FRV WK U   HTQ  B     VLJPD M ZNBU GLP GLPM VLQ WK ZNS GLP GLPM FRV WK U (   HTQ  B  F      VLJPD M ZNBU GLP GLPM FRV WK ZNS GLP GLPM VLQ WK U (   HTQ  B    SULQWWKHHLJHQIXQFWLRQVDVVRFLDWHGZLWKWKHMWKVLQJXODURUGHU     7(03Q >7(03 M QDQQDQ@  LI3W\SHa 7(03Q >7(03QQDQ@HQG LI3W\SH!7(03Q >7(03QQDQ@HQG     XV7+ >X M XB M XB M VLJPD M VLJPD M +($7 M 7(03Q@      ISULQWI ILG ?U?Q(LJHQIXQFWLRQVDWWKHWD IDVVRFLDWHGZLWKGWKVLQJXODURUGHU?U?Q WKM      ISULQWI ILG ?U?QVVVVVVV?U?Q  X  XB  XB  VLJPD  VLJPD  +($7  7(03      ISULQWI ILG ?U?QHHHHHHH?U?Q XV7+  HQG

F177: s1131piezoEhole IXQFWLRQ>XXBXBVLJPDVLJPDVLJPDBVV@ VSLH]R(KROH ORDGVWU[LYN  6SLH]R(KROHFDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRUDSLH]RHOHFWULF0((SODWH FRQWDLQLQJDQHOOLSWLFDOKROHVXEMHFWHGWRORDGLQJFRQGLWLRQVFDWHJRUL]HG E\/W\SHRIWKHFRUUHVSRQGLQJDQLVRWURSLFHODVWLFSUREOHP XXBXBVLJPDVLJPDVLJPDBVVORDGVWU[LYNH[SODLQHGLQIXQFWLRQBXSKLBEDQN (+W\SH ORDGVWU    (+W\SH /W\SHRIWKHFRUUHVSRQGLQJDQLVRWURSLFHODVWLFSUREOHP ORDGVWU ORDGVWU HQG    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]R3KROH ORDGVWU[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 ORDGVWU HQG    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&2FUDFN ORDGVWU[LYN  6SLH]R&2FUDFNFDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRUDSLH]RHOHFWULF0((SODWH FRQWDLQLQJFROOLQHDUFUDFNVVXEMHFWHGWRORDGLQJFRQGLWLRQVFDWHJRUL]HGE\ /W\SHRIWKHFRUUHVSRQGLQJDQLVRWURSLFHODVWLFSUREOHP XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQBXSKLBEDQN &2W\SH ORDGVWU    &2W\SH /W\SHRIWKHFRUUHVSRQGLQJDQLVRWURSLFHODVWLFSUREOHP ORDGVWU ORDGVWU HQG    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,)FUDFN ORDGVWU[LYN  6SLH]R,)FUDFNFDOFXODWHVWKHGLVSODFHPHQWVVWUDLQVDQGVWUHVVHVIRUDSLH]RHOHFWULF0((SODWH FRQWDLQLQJFROOLQHDULQWHUIDFHFUDFNVVXEMHFWHGWRORDGLQJFRQGLWLRQVFDWHJRUL]HGE\ /W\SHRIWKHFRUUHVSRQGLQJDQLVRWURSLFHODVWLFSUREOHP XXBXBVLJPDVLJPDORDGVWU[LYNH[SODLQHGLQIXQFWLRQBXSKLBEDQN ,)W\SH ORDGVWU    ,)W\SH /W\SHRIWKHFRUUHVSRQGLQJDQLVRWURSLFHODVWLFSUREOHP ORDGVWU ORDGVWU HQG    VDPHLQSXWDV/W\SH RU VZLWFK,)W\SH   W\SHRIORDGLQJFRQGLWLRQIRUWKHSUREOHPZLWKLQWHUIDFHFUDFNV FDVH  $VHPLLQILQLWHLQWHUIDFHFUDFNVXEMHFWHGWRSRLQWIRUFHFKDUJHRQFUDFNVXUIDFHV          >XXBXBVLJPDVLJPD@ V6,)FUDFN3)V ORDGVWU[LYN  FDVH  $QLQWHUIDFHFUDFNVXEMHFWHGWRSRLQWIRUFHFKDUJHRQWKHFUDFNVXUIDFHV         >XXBXBVLJPDVLJPD@ VB,)FUDFN3)V ORDGVWU[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@ VYLVFR ORDGVWU[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 >ORDGVWU HQG ORDGVWU HQG @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\SHBD LP a   IRUDQLVRWURSLFYLVFRHODVWLFPDWHULDOV                 $BD LP $VBD LVLP %BD LP %VBD LVLP PXBD LP PXVBD LVLP                   &LMBD LP &LMVBD LVLP 6LMBD LP 6LMVBD LVLP                  4BD LP 4VBD LVLP 5BD LP 5VBD LVLP 7BD LP 7VBD LVLP                  1BD LP 1VBD LVLP 1BD LP 1VBD LVLP                  1BD LP 1VBD LVLP 1BD LP 1VBD LVLP  HQG HQG HOVH         $ $V LV % %V LV PX PXV LV  &LM &LMV LV 6LM 6LMV LV           4 4V LV 5 5V LV 7 7V LV          1 1V LV 1 1V LV 1 1V LV 1 1V LV  HQG     >ORDG/DS@ YLVFRBORDG ORDGVWULV    WUDQVIRUPORDGVWULQWRWKHYDOXHXVHGLQ/DSODFHGRPDLQ     >8L7L7HPK@ XSKLBEDQN ORDG/DS[L    VHWYN VLQFHWKHPDWHULDOSURSHUWLHVZLOOYDU\ZLWKWLPH     XV LV 8L  XVB LV 8L  XVB LV 8L       VLJPDV LV 7L  VLJPDV LV 7L       VLJPDBVVV LV 7L  VLJPDBQQV LV 7L  VLJPDBVQV LV 7L   LIYN

 VZLWFK/W\SH FDVH^`  PXOWLPDWHULDOZHGJH ZHGJHVSDFHVLQJODURUGHUV

826

Appendix F: AEPH Source Code (Listed in Alphabetic Order)                 GHOWDV LV GHOWDVY LV    HTQ   FDVH^`  FRQWDFWSUREOHPVVLQJXODURUGHUV                 GHOWDV LV GHOWDVY LV     HTQ   FDVH^`  FUDFNSUREVWUHVVLQWHQVLW\IDFWRUV                 QFW VL]H 6,)    QFWQXPEHURIFUDFNWLS LIQFW

6,)V LV 6,)

HOVH6,)V LV 6,)HQG FDVH   &2'FUDFNRSHQLQJGLVSODFHPHQWV(1*HQHUJ\UHOHDVHUDWH                 &2'V LV &2'(1*V LV (1* HQG HQG HQG X /DSODFHBLQY XV  XB /DSODFHBLQY XVB  XB /DSODFHBLQY XVB  VLJPD /DSODFHBLQY VLJPDV  VLJPD /DSODFHBLQY VLJPDV  LILVQDQ VLJPDBVVV

VLJPDBVV /DSODFHBLQY VLJPDBVVV HOVHVLJPDBVV QDQHQG

LILVQDQ VLJPDBVQV

VLJPDBVQ /DSODFHBLQY VLJPDBVQV HOVHVLJPDBVQ QDQHQG

LILVQDQ VLJPDBQQV

VLJPDBQQ /DSODFHBLQY VLJPDBQQV 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 /DSODFHBLQY GHOWDV HQG  



            6,)BW /DSODFHBLQY 6,)V  HOVH IRUM QFW                 6,)VM  6,)V M                  6,)M /DSODFHBLQY 6,)VM 6,)BW M 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 FBDOSKDGHILQHGLQHTQ F B JD DL E PX  DL E PX JDPPDBDOSKDGHILQHGLQHTQ F 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@ VBPGLQI ORDGVWU     FD DL E PX    JD DL E PX  DL E PX   HTQ F B HQG FDOFXODWHGLVSODFHPHQWYHFWRUXBGDQGVWUHVVIXQFWLRQYHFWRUSKLBG >]HWDWKHWDUKR@ PDS(3 [LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ   LIDEV ]HWD ! HSV  HSVWRDOORZWKHQXPHULFDOURXQGLQJHUURUQHDUWKHERXQGDU\ZKHQFDOFXODWLQJ]HWD    X [L  GBLQI[L  GBLQISKL [L  PBLQI[L  PBLQI  HTQ E B    ZBLQI DA [L  A GBLQI G [L  [L  GBLQI G  EA [L  A GBLQI G   HTQ E     ] [L  [L  PX        ]L ]HWD   G]L GLDJ ]L   T LQY $ D GBLQIL E GBLQI   SDUWRIHTQ      ORJ]HWD ORJ ] ORJ FD ORJ JD ]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    HTQ D     XG GG XG GG K  Z ZK   HTQ D  LI3W\SHa XG  XG  (XG G XG G (KHQG

HTQ  

LI3W\SH!XG  XG  (XG  XG  (KHQG FDOFXODWHGLVSODFHPHQWJUDGLHQWVXGBXGBDQGVWUHVVUHVXOWDQWV1LM0LM    ]HWDB ]HWD ]HWD DL E PX ]   HTQ E B    ]HWDBL  ]LA  ]HWDB     ]HWDBL PX ]HWDBL  HTQ D  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     XGB GG XGB GG K   XGB GG XGB GG K  HTQ D     1LM >SKLGB  SKLGB  SKLGB  @ (K    HTQ   D     0LM >SKLGB G SKLGB G  SKLGB G SKLGB G @ (K

HTQ   D 

LI3W\SHa         XGB  XGB  (XGB  XGB  (XGB G XGB G (KXGB G XGB G (K  HTQ          1LM  SKLGB  K1LM  SKLGB  K0LM  SKLGB G K0LM  SKLGB G 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 RQHV GLP XGB QDQ RQHV GLP XGB QDQ RQHV GLP     SKLG QDQ RQHV GLP 1LM QDQ RQHV GLP 0LM QDQ RQHV GLP  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 LIDEV DEV ]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@ 6WURKBPDWULFHV WKHWD FDOFXODWH6WURKPDWULFHV1WK1WK1WK    +L LQY + 6+L 6

+L  (WK 1WK1WK

6+L  (WK 1WK

+L

HTQ E 

   FWK FRV WKHWD VWK VLQ WKHWD     SKLGBQ VWK PBLQI(WK GBLQI DE (WK GBLQI FWK PBLQI(WK GBLQI ED (WK GBLQI  D B    SKLGBV VWK PBLQI6+L GBLQI DE +L GBLQI FWK PBLQI6+L GBLQI ED +L GBLQI  D B     1BQQ VWK SKLGBV  FWK SKLGBV     1BVV FWK SKLGBQ  VWK SKLGBQ  

HTQ D B

   1BVQ FWK SKLGBV  VWK SKLGBV      HTQ D B    0BQQ VWK SKLGBV G FWK SKLGBV G 0BVV FWK SKLGBQ G VWK SKLGBQ G   HTQ D B    0BVQ FWK SKLGBV G SKLGBQ G VWK SKLGBV G SKLGBQ G    HTQ D B    WLBVV >1BVV (K0BVV (K0BVQ (K@  HTQ D     WLBQQ >1BQQ (K0BQQ (K1BVQ (K@  HTQ D  LI3W\SHa         WLBVV  SKLGBQ  KWLBVV  SKLGBQ G K   HTQ            WLBQQ  SKLGBV  KWLBQQ  SKLGBV G 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 FBDOSKDGHILQHGLQHTQ F B JD DL E PX  DL E PX JDPPDBDOSKDGHILQHGLQHTQ F B PBEUPBEUWKHFRQVWDQWYHFWRUVPBEUHYHDQGPBEUHYHRIHTQ E  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@ VBPGLQI ORDGVWU     FD DL E PX    JD DL E PX  DL E PX   HTQ F B    >6+/@ 6WURKBPDWULFHV    VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV    /L LQY /   /L6W /L 6   SDUWRIHTQ G     ODPBD /L G E /L6W G D  ODPBE /L6W G E /L G D  HTQ G     HWDB ODPBD

PBLQIE ODPBE

PBLQID  ODPBD G E ODPBE G D    HTQ F B    PBEU PBLQI   PBEU G PBLQI G HWDB  HTQ E B    PBEU PBLQI   PBEU G PBLQI G HWDB  HTQ E B LIE

   FDOFXODWLRQIRUVWUHVVLQWHQVLW\IDFWRUVRIFUDFNSUREOHPV

       >*1*@ 6WURKBPDWULFHV    FDOFXODWH*        VSD VTUW SL D    *P * PBEU   SDUWRIHTQ          6,) PBLQI VSD  6,) G VSD PBEU G *P G    HTQ E         6,)  6,)  (KWKLFNQHVV   6,) GG  6,) GG (KWKLFNQHVVA  HTQ          VWU ^ ?U?Q6WUHVVLQWHQVLW\IDFWRUV?U?Q  .,  .,, `   VWU G ^ .,% `   VWU G ^ .,,% `        = >6,)  6,)  @   = G 6,) G    = G 6,) G  LI3W\SHa             6,)  6,)  KWKLFNQHVV  6,) G  6,) G KWKLFNQHVVA            VWU  ^ .,9 `   VWU G ^ .,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  HTQ E B    ZBLQI [L  A GBLQI G [L  [L  GBLQI G [L  GBLQI G    HTQ E     ] [L  [L  PX    ]L ]HWD   G]L GLDJ ]L    T LQY % D PBEUL E PBEU 

SDUWRIHTQ D 

   ORJ]HWD ORJ ] ORJ FD ORJ JD ]LA   HTQ  B    ]LBLQW FD ORJ]HWDJD ]LA     LQWHJUDORI]HWDAHTQ      XG XUHDO $ G]L T SKLG SKLUHDO % G]L T    HTQ D     Z ZBLQIUHDO $ G GLDJ ]LBLQW T    HTQ G     XG GG XG GG K  Z ZK   HTQ D  LI3W\SHa XG  XG  (XG G XG G (KHQG

HTQ  

LI3W\SH!XG  XG  (XG  XG  (KHQG FDOFXODWHGLVSODFHPHQWJUDGLHQWVXGBXGBDQGVWUHVVUHVXOWDQWV1LM0LM    ]HWDB ]HWD ]HWD DL E PX ]     HTQ E B    ]HWDBL  ]LA  ]HWDB     ]HWDBL PX ]HWDBL   HTQ D  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     XGB GG XGB GG K   XGB GG XGB GG K 

HTQ D 

   1LM >SKLGB  SKLGB  SKLGB  @ (K    HTQ   D     0LM >SKLGB G SKLGB G  SKLGB G SKLGB G @ (K

HTQ   D 

LI3W\SHa         XGB  XGB  (XGB  XGB  (XGB G XGB G (KXGB G XGB G (K  HTQ          1LM  SKLGB  K1LM  SKLGB  K0LM  SKLGB G K0LM  SKLGB G 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 RQHV GLP XGB QDQ RQHV GLP XGB QDQ RQHV GLP     SKLG QDQ RQHV GLP 1LM QDQ RQHV GLP 0LM QDQ RQHV GLP  HQG FDOFXODWHKRRSVWUHVVWLBVVDORQJWKHKROHERXQGDU\ :KHQ3W\SH WLBVV 1BVV0BVV0BVQ  ZKHQ3W\SHWLBVV 1BVV0BVV0BVQ'V'VV  ZKHQ3W\SH!WLBVV 1BVV0BVV0BVQ'V'VV%V%VV  WLBVV QDQ   GHIDXOWRIWLBVV LIDEV DEV ]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@ 6WURKBPDWULFHV WKHWD FDOFXODWHWKH6WURKPDWULFHV*WK*WK     *P *WK PBEU H\H GLP  DE *WK PBEU  SDUWRIHTQ       *P H\H GLP  ED *WK PBEU*WK PBEU  SDUWRIHTQ          SKLGBQ VLQ WKHWD *PFRV WKHWD *PHTQ  UHDOIRUPVROXWLRQ      FWK FRV WKHWD VWK VLQ WKHWD      1BVV FWK SKLGBQ  VWK SKLGBQ     HTQ D B     0BVV FWK SKLGBQ G VWK SKLGBQ G   0BVQ VWK SKLGBQ G FWK SKLGBQ G   HTQ D B     WLBVV  1BVV (K    WLBVV  0BVV (K    WLBVV  0BVQ (K   HTQ D  LI3W\SHa WLBVV  SKLGBQ  KWLBVV  SKLGBQ G K  HQG HTQ     LI3W\SH!WLBVV  SKLGBQ  KWLBVV  SKLGBQ  K  HQG &KHFNWKHFRUUHFWQHVVRIWLBVVYLDYLDWKHVROXWLRQZLWKFRPSOH[YDULDEOHIRUP LI,FKHFN



        PXBWKHWD PX FWKVWK  PX VWKFWK   HTQ E B         SKLGBQ VWK PBEUFWK PBEU  SDUWRI D          SKLGBQF SKLGBQUHDO VLQ SVL L FRV SVL % GLDJ PXBWKHWD T UKR  HTQ F  D          GLI PD[ DEV SKLGBQSKLGBQF    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 EHTQ D B JDJWJD DL E PX  DL E PX JW DL E WDX  DL E WDX JDPPDGHILQHGLQHTQ F B HHFRQVWDQWVUHODWHGWRKIGHILQHGLQHTQ E  .. VTUW .WLM  .WLM  .WLM  A HTQ E B NNN >.W.W@N >.W.W@.WLMUHVXOWDQWRIKHDWFRQGXFWLRQFRHIILFLHQWVHTQ  B TTTFRHIILFLHQWYHFWRUVGHILQHGLQHTQ E B 6/%DUQHWW/RWKHWHQVRUVFDOFXODWHGE\IXQFWLRQ6WURKBPDWULFHV FD DL E PX FBDOSKDGHILQHGLQHTQ F B 7767 7X7E 7V 7X7E KHTQ  B 7X7EWHPSHUDWXUHDWWKHXSSHUDQGERWWRPVXUIDFHVRIWKHODPLQDWHV 7K7KFRQVWDQWYHFWRUV7KBEUHYHDQG7KBEUHYHGHILQHGLQHTQ E 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 XQLWRIDOSKDGHJUHH LQSXW UDGLDQ WUDQVIRUPWRUDGLDQIRUWKHIROORZLQJFRGLQJ  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    HTQ D B            JD DL E PX  DL E PX JW DL E WDX  DL E WDX JDPPDGHILQHGLQHTQ F B            . VTUW .WLM  .WLM  .WLM  A   HTQ E B            H KI .WLM  L . VLQ DOSKD .WLM  FRV DOSKD   .A  E B             H KI E FRV DOSKD L D VLQ DOSKD   . HTQ E 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  UHDO H G   TE  1L UHDO H 1 WDX H\H GLP G   HTQ E BSDUWRI E B            1 1 11 11 1 11 1 1 1 11

1  1RWH>1111 @ 1 1            9 1

TD1 TE UHDO H WDXA G    SUHVWHSRIVROYLQJYIURPHTQ              >1PM@ PD[ DEV 1  Y 9 M 1 M 9F Y 1      VROYLQJYIURPHTQ   LIDEV PD[ 99F HSV   FKHFNZKHWKHUWKHVROXWLRQRIYLVFRUUHFW                GLVS &RPSXWDWLRQDOHUURULQVROYLQJHTQ  99F HQG            L ]HURV GLP L    TE TEY L  HTQ E B            TED  LQY D 1WLE 1 >LPDJ H DL E WDX LQY / 6 L H\H GLP G LPDJ H DL E WDX G @ F             TED  LQY D 1WLE 1 LPDJ H DL E WDX >FG@ HTQ G             TE TED GLP TD TED GLP GLP   TE TED GLP TD TED GLP GLP    FG             T $

TD%

TE    T $

TD%

TE    T $

TD%

TE

HTQ E B

FDVH   XQLIRUPKHDWIORZLQ[GLUHFWLRQ            FD DL E PX   JD DL E PX  DL E PX   HTQ F B            7 7E7X   7V 7E7X K K    HTQ  B              DOSKD  >$WLM  (K$WLM  (K@  DOSKD GG >%WLM  (K%WLM  (K@  HTQ F B  B            DOSKD  >$WLM  (K$WLM  (K@  DOSKD GG >%WLM  (K%WLM  (K@  HTQ F B  B            DOSKDV  >%WLM  (K%WLM  (K@DOSKDV GG >'WLM  (K'WLM  (K@HTQ F B  B            DOSKDV  >%WLM  (K%WLM  (K@DOSKDV GG >'WLM  (K'WLM  (K@HTQ F B  B LI3W\SHa 

834

Appendix F: AEPH Source Code (Listed in Alphabetic Order)                DOSKD  $WLM  K  DOSKD G %WLM  K

HTQ F B  

               DOSKD  $WLM  K  DOSKD G %WLM  K

HTQ F B  

               DOSKDV  %WLM  KDOSKDV G 'WLM   K K HTQ F B                  DOSKDV  %WLM  KDOSKDV G 'WLM   K K HTQ F B   LI3W\SH!                    DOSKD  $WLM  K  DOSKD  %WLM  K

HTQ F B

                   DOSKD  $WLM  K  DOSKD  %WLM  K

HTQ F B

                   DOSKDV  %WLM  KDOSKDV  'WLM   K K HTQ F B                    DOSKDV  %WLM  KDOSKDV  'WLM   K K HTQ F B HQG HQG            7K DOSKD 7DOSKDV 7V    7K DOSKD 7DOSKDV 7V   HTQ E             >6+/@ 6WURKBPDWULFHV    VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV            /L LQY /   /L6W /L 6   SDUWRIHTQ F             ODPBD /L G E /L6W G D  ODPBE /L6W G E /L G D  HTQ F             HWDB ODPBD

7KE ODPBE

7KD  ODPBD G E ODPBE G D    HTQ E B            7K G 7K G HWDB  7K G 7K G HWDB   HTQ E 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]HWD GLP ORJ ] ORJ  ORJ JD]HWDA   HTQ E             ORJP]HWD GLP ORJ ]W ORJ  ORJ JW]HWDBWA HTQ E              I] GLDJ ]A TGLDJ ]]HWD TGLDJ PD ORJP]HWD GLP T    HTQ D B            J] H ]WAH ]W]HWDBWPW ORJP]HWD GLP   HTQ D B            I]S GLDJ ] T GLDJ ]UD ]HWD TGLDJ PDUD T   HTQ D B            J]S H ]WH]HWDBW   J]SS HH UW ]HWDBW    HTQ D B            I]LQW GLDJ ]A TGLDJ PDA  ]HWDJDA ]HWDA T                  GLDJ PD  ] ORJP]HWD GLP PD ]HWDJD]HWD T  LQWHJUDORIHTQ D BWKURXJK D B            J]LQW H ]WAH PWA  ]HWDBWJWA ]HWDBWA                   H PW  ]W ORJP]HWD GLP PW ]HWDBWJW]HWDBW   LQWHJUDORIHTQ D BWKURXJK D B             7HPS  UHDO J]S   KHDW)  UHDO NWDX N J]SS   HTQ D B            XG  UHDO $ I]F J]     SKLG  UHDO % I]G J]   

HTQ D B

           Z  UHDO $ G I]LQWF G J]LQW    HTQ              XGB  UHDO $ I]SF J]S    XGB  UHDO $ GLDJ PX I]SF WDX J]S             SKLGB  UHDO % I]SG J]S    SKLGB  UHDO % GLDJ PX 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   SDUWRIHTQ D                        ORJ]HWD ORJ ] ORJ FD ORJ JD ]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  HTQ D             Z UHDO $ G GLDJ FD ORJ]HWDJD ]LA  T   HTQ   D B             ]HWDB ]HWD ]HWD DL E PX ]    HTQ E B            ]HWDBL  ]LA  ]HWDB     ]HWDBL PX ]HWDBL

HTQ D  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    XG GG XG GG K   Z ZK       HTQ D     XGB GG XGB GG K   XGB GG XGB GG K 

HTQ D 

   1LM >SKLGB  SKLGB  SKLGB  @ (K    HTQ   D     0LM >SKLGB G SKLGB G  SKLGB G SKLGB G @ (K

HTQ   D 

LI3W\SHa         XGB  XGB  (XGB  XGB  (XGB G XGB G (KXGB G XGB G (K  HTQ          1LM  SKLGB  K1LM  SKLGB  K0LM  SKLGB G K0LM  SKLGB G 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 RQHV GLP XGB QDQ RQHV GLP XGB QDQ RQHV GLP SKLG QDQ RQHV GLP     1LM QDQ RQHV GLP   0LM QDQ RQHV GLP   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 LIDEV DEV ]HWD   HSV  2W\SH

_2W\SH

_2W\SH

_2W\SH

 

   SVL [L  SL   FKDQJHGHJUHHWRUDGLDQ    >]HWDWKHWDUKR@ PDS(3 [LSVLDEDPX FDOFXODWHWKHWDQJHQWLDODQJOHWKHWDHTQ      >*WK1WK*WK@ 6WURKBPDWULFHV WKHWD FDOFXODWHWKH6WURKPDWULFHV*WK*WK VZLWFK+)W\SH FDVH    XQLIRUPKHDWIORZLQ[[SODQH            JDPWV / F6

GL G   HTQ D             >JDPWKJDPWK@ VBJDPPD WKHWD   FDOFXDOWHVJDPWKH[WHQGHGV\PERO  RI6HFWLRQ            K. KI E FRV DOSKD FRV SVL D VLQ DOSKD VLQ SVL .

SDUWRISKLGBQHTQ  

           SKLGBQ K. JDPWK*WK UHDO L H H[S  L SVL DL E WDX JDPWV UKR  HTQ   FDVH   XQLIRUPKHDWIORZLQ[GLUHFWLRQ            J 7K*WK 7K ED *WK 7K  J 7K*WK 7K DE *WK 7K  SDUWRIHTQ              SKLGBQ FRV WKHWD JVLQ WKHWD J    HTQ   HQG    FWK FRV WKHWD VWK VLQ WKHWD     1BVV FWK SKLGBQ  VWK SKLGBQ     HTQ D B    0BVV FWK SKLGBQ G VWK SKLGBQ G   0BVQ VWK SKLGBQ G FWK SKLGBQ G   HTQ D 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  SKLGBQ G K  HQG HTQ     LI3W\SH!WLBVV  SKLGBQ  KWLBVV  SKLGBQ  K  HQG LI,FKHFN



       1BVVF 1LM  FWKA1LM  VWKA 1LM  FWK VWKHTQ EF         GLI DEV WLBVV  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$%RIPDWHULDOV PDWUL[ DQG LQFOXVLRQ  FDFDFD DL E PX FD DL E PX FRQVWDQWVGHILQHGLQHTQ F B JDJDJD DL E PX  DL E PX JD DL E PX  DL E PX GHILQHGLQHTQ F BHTQ E B TBLQIFHGBHFRHIILFLHQWYHFWRUVGHILQHGLQ F HTQ E 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@ VBPGLQI ORDGVWU     TBLQI $

PBLQI%

GBLQI   HTQ F     FD DL E PX    FD DL E PX    FDFD FDBVWDU FDRIPDWUL[DQGLQFOXVLRQHTQ F B    JD DL E PX  DL E PX    JD DL E PX  DL E PX    HTQ F B E B    $L LQY $    0 L % $L   0 L % LQY $    H[WHQGHGV\PERO  RI6HFWLRQ    * FRQM 0 0 $    * 00 $ GLDJ JD    *L FRQM * LQY *    HTQ F     H GLDJ FD TBLQI     $H $L

H      HTQ E BSDUWRIHTQ F B    F L LQY **L * $H*L FRQM $H          HTQ E B    GBH LQY % FRQM % F % GLDJ JD FFRQM % H % GLDJ JD H   HTQ  B LI,FKHFN

  FDOFXODWHGBHE\WKHRWKHUDSSURDFKHTQ E 

       GBHF LQY $ FRQM $ F $ GLDJ JD FFRQM $ H $ GLDJ JD H GLI GBHGBHF LIGLI! HSVGLVS GLIIHUHQWGBHIURPGLIIHUHQWDSSURDFKHV GBHGBHFHQG

Appendix F: AEPH Source Code (Listed in Alphabetic Order)

837

HQG HQG ] [L  [L  PX  HTQ E B >]HWDWKHWDUKR@ PDS(3 [LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ   FDOFXODWHGLVSODFHPHQWYHFWRUXBGDQGVWUHVVIXQFWLRQYHFWRUSKLBG LIDEV ]HWD ! HSV    SRLQW [L  [L  ORFDWHVRXWVLGHWKHLQFOXVLRQ     ]HWDB ]HWD ]HWD DL E PX ]    HTQ E B     ]L ]HWD  ]HWDBL  ]LA  ]HWDB  HTQ D B      ORJ]HWD ORJ ] ORJ FD ORJ JD ]LA   HTQ  B     I] GLDJ ] TBLQIGLDJ ]L GBH  HTQ E B     I]B TBLQIGLDJ ]HWDBL GBH   GHULYDWLYHRII]VHHHTQ D      FW LQY $ $ GLDJ FD JD FGLDJ FD JD H  FRQVWDQWWHUPLQ E B     I]LQW GLDJ ]A TBLQIGLDJ FD ORJ]HWDJD ]LA  GBHFW   HTQ E B     $ $% %PX PX HOVH

SRLQW [L  [L  ORFDWHVLQVLGHWKHLQFOXVLRQ

    ] [L  [L  PX  HTQ E B     I]B GLDJ FD F  I] GLDJ ] I]B   HTQ E B     I]LQW GLDJ ] I]   HTQ E B     $ $% %PX PX HQG XG  UHDO $ I] SKLG  UHDO % I]    HTQ D  Z  UHDO $ G I]LQW HTQ D  XGB  UHDO $ I]B    XGB  UHDO $ GLDJ PX I]B   SKLGB  UHDO % I]B SKLGB  UHDO % GLDJ PX I]B  UHWXUQWRWKHRULJLQDOVFDOHRIWKHGLVSODFHPHQWVVORSHVVWUHVVUHVXOWDQWVDQGEHQGLQJPRPHQWV XG GG XG GG K    Z ZK    HTQ D  XGB GG XGB GG K   XGB GG XGB GG K    HTQ D  1LM >SKLGB  SKLGB  SKLGB  @ (K    HTQ   D  0LM >SKLGB G SKLGB G  SKLGB G SKLGB G @ (K  HTQ   D  LI3W\SHa      XG  XG  (XG G XG G (K   HTQ       XGB  XGB  (XGB  XGB  (XGB G XGB G (KXGB G XGB G (K  HTQ       1LM  SKLGB  K1LM  SKLGB  K0LM  SKLGB G K0LM  SKLGB G 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 LIDEV DEV ]HWD   HSV  2W\SH

_2W\SH

_2W\SH

_2W\SH

 

    SVL [L  SL   FKDQJHGHJUHHWRUDGLDQ     >]HWDWKHWDUKR@ PDS(3 [LSVLDEDPX FDOFXODWHWKHWDQJHQWLDODQJOHWKHWDHTQ       FWK FRV WKHWD VWK VLQ WKHWD   HS H[S L 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 % GLDJ JDHSHS F UKR   HTQ E B     SKLGBQ  LPDJ % GLDJ PXWK GBHGLDJ JDHSA H HS UKR  HTQ E B     SKLGBQ  LPDJ % GLDJ PXWK JDHSHS F UKR   HTQ E B     1BQQ (K VWK SKLGBV  FWK SKLGBV  1BVQ (K FWK SKLGBV  VWK SKLGBV    HTQ D BHTQ D      0BQQ (K VWK SKLGBV G FWK SKLGBV G WLBQQ >1BQQ0BQQ1BVQ@   HTQ D BHTQ D      1BVV  (K FWK SKLGBQ  VWK SKLGBQ  1BVV  (K FWK SKLGBQ  VWK SKLGBQ  HTQ D BHTQ D      0BVV  (K FWK SKLGBQ G VWK SKLGBQ G 0BVV  (K FWK SKLGBQ G VWK SKLGBQ G HTQ D BHTQ D      0BVQ  (K FWK SKLGBV G VWK SKLGBV G VWK SKLGBQ G FWK SKLGBQ G   HTQ D BHTQ D      0BVQ  (K FWK SKLGBV G VWK SKLGBV G VWK SKLGBQ G FWK SKLGBQ G   HTQ D BHTQ D  LI,FKHFN



WUDQVIRUPDWLRQIURP[[WRVQFRRUGLQDWHHTQ EF         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 DEV WLBVVWLBVVF              VWU ^   E  >1BVV0BVV0BVQ@  >1BVVF0BVVF0BVQF@ `             SULQW7) [LWLBVVWLBVVFGLIVWU SULQWWKHPHVVDJHRI,FKHFN HOVH             WLBVV >1BVV  0BVV  0BVQ  @  GLI DEV WLBVVWLBVVF              VWU ^   E  >1BVV0BVV0BVQ@  >1BVVF0BVVF0BVQF@ `             SULQW7) [LWLBVVWLBVVFGLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG         GLI DEV WLBQQWLBQQF          VWU ^   E  >1BQQ0BQQ1BVQ@  >1BQQF0BQQF1BVQF@ `         SULQW7) [LWLBQQWLBQQFGLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG     WLBVV >1BVV  0BVV  0BVQ  1BVV  0BVV  0BVQ  @ LI3W\SHa   DQDORJRXVZD\RIHTQ D IRUWKHFDOFXODWLRQRI'QDQG'V         'Q SKLGBV  K       'QQ SKLGBV G K  HTQ           'V  SKLGBQ  K  'V  SKLGBQ  KHTQ           'VV  SKLGBQ G K   'VV  SKLGBQ G 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)0 ORDGVWU[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  @HTQ E 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  @    HTQ E 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] ORJ G] ]ORJ] G] ORJ] ]L G]]ORJ]BLQW  G]A   ORJ]   SDUWRIHTQ D  I] GLDJ ORJ] $

SBKDWIBKDW  GLDJ ]ORJ] $ G  PBKDW  GLDJ ]L $     SL L   HTQ D  I]S GLDJ ]L $

SBKDWIBKDW  GLDJ ORJ] $ G  PBKDW  GLDJ ]LA $     SL L GHULYDWLYHRII] I]LQW GLDJ ]ORJ] $

SBKDWIBKDW  GLDJ ]ORJ]BLQW $ G  PBKDW  GLDJ ORJ] $     SL L LQWHJUDORII] XG  UHDO $ I] SKLG  UHDO % I]   HTQ D  XGB  UHDO $ I]S    XGB  UHDO $ GLDJ PX I]S    SKLGB  UHDO % I]S   SKLGB  UHDO % GLDJ PX I]S   Z  UHDO $ G I]LQW K  HTQ   D  UHWXUQWRWKHRULJLQDOVFDOHRIWKHGLVSODFHPHQWVVORSHVVWUHVVUHVXOWDQWVDQGEHQGLQJPRPHQWV

839

840

Appendix F: AEPH Source Code (Listed in Alphabetic Order) XG GG XG GG K        HTQ D  XGB GG XGB GG K   XGB GG XGB GG K  HTQ D     1LM >SKLGB  SKLGB  SKLGB  @ (K    HTQ   D  0LM >SKLGB G SKLGB G  SKLGB G SKLGB G @ (K  HTQ   D  LI3W\SHa      XG  XG  (XG G XG G (K  HTQ       XGB  XGB  (XGB  XGB  (XGB G XGB G (KXGB G XGB G (K  HTQ       1LM  SKLGB  K1LM  SKLGB  K0LM  SKLGB G K0LM  SKLGB G 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 VTUW G[AG\A     WKHWD DFRV G[U  LIG\WKHWD WKHWDHQG

HTQ  SLWKHWDSL

    FWK FRV WKHWD VWK VLQ WKHWD       >6+/@ 6WURKBPDWULFHV    VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV     >1WK1WK1WK@ 6WURKBPDWULFHV WKHWD VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV     >1WL1WL1WL@ 6WURKBPDWULFHV WKHWD VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV     1KDW FWK H\H GLP VWK 11KDW VWK 11KDW VWK 1   HTQ F B     1Y FWK H\H GLP VWK 1WK1Y VWK 1WK1Y VWK 1WK  HTQ F B     1WLV 1WL +1WL

6    1WLV 1WL +1WL 6    HTQ E B     1KDWV 1KDW +1KDW

6    1KDWV 1KDW +1KDW 6    HTQ E B     1YV 1Y +1Y

6    1YV 1Y +1Y 6    HTQ E B     1WLKDWV 1KDW 1WLV1KDW

1WLV   1WLKDWV 1KDW 1WLV1KDW 1WLV   HTQ E B      XGBFD  ORJ U +SL 1WLV SBKDW     XGBFF PBKDW  1YV  UHTQ D B     XGBFE U IBKDW  ORJ U  1KDWV G SL 1WLKDWV G   HTQ D B     SKLGBFD  ORJ U 6 SL 1WLV SBKDW  SKLGBFF PBKDW  1YV  UHTQ D B     SKLGBFE U IBKDW  ORJ U  1KDWV G SL 1WLKDWV G   HTQ D B     XGBF XGBFDXGBFEXGBFF   SL       SKLGBF SKLGBFDSKLGBFESKLGBFF   SL HTQ D      XGBF GG XGBF GG K  VFDOLQJHTQ D  LI3W\SHa   XGBF  XGBF  (XGBF G XGBF G (KHQG HTQ     LI3W\SH!  XGBF  XGBF  (XGBF  XGBF  (KHQG GLIIHUHQFHEHWZHHQVROXWLRQV  DQG   XG  UHDO $ I]   HTQ D  $IWHUVFDOLQJIDFWRU     XGBF XGBFDXGBFEXGBFF   SL HTQ D  $IWHUVFDOLQJIDFWRU     GLIBXG DEV XGXGBF GLIBSKLG DEV SKLGSKLGBF       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 SDUWRI D         ' ( WKLFNQHVVA  QXA    HTQ E  XD  QX IBKDW  ORJ U XE  QX IBKDW  FWK IBKDW  VWK XF  QX PBKDW  VWK FWKUSDUWRI D B XD  QX IBKDW  ORJ U XE  QX IBKDW  VWKIBKDW  FWK XF  PBKDW  FWK  QX FWK USDUWRI D B        EHWDD PBKDW  VWKEHWDE PBKDW   ORJ U FWK EHWDF  IBKDW  U ORJ U  FWKSDUWRI E B        EHWDD PBKDW   ORJ U FWK EHWDE PBKDW  VWKEHWDF  IBKDW  U ORJ U VWK  SDUWRI E B        ZD  PBKDW  U ORJ U VWK  ZE  PBKDW  U ORJ U  FWK  ZF IBKDW  UA  ORJ U  FWK SDUWRI F         X QX(K (K XDXEXF    HTQ D B        X QX(K (K XDXEXF   HTQ D B        EHWD (K EHWDDEHWDEEHWDF   SL '   HTQ E B        EHWD (K EHWDDEHWDEEHWDF   SL '   HTQ E B        ZBF (K ZEZDZF   SL '   HTQ F         XGBF >XXEHWDEHWD@HTQ E B         1WK QX IBKDW  FWKIBKDW  VWK   SL U   HTQ G B        1U  QX IBKDW  FWKIBKDW  VWK   SL U PBKDW  QX VWK  SL UA HTQ G B        1UWK QX IBKDW  VWKIBKDW  FWK   SL U PBKDW   QX FWK   SL UA HTQ G B        0WK QX PBKDW  VWKPBKDW  FWK   SL U IBKDW  QX ORJ U  QX VWK   SL HTQ H B        0U QX PBKDW  VWKPBKDW  FWK   SL U IBKDW  QX ORJ U  QX VWK   SL   HTQ H B        0UWK QX PBKDW  FWKPBKDW  VWK   SL U IBKDW  QX VWK  SL   HTQ H B        4WK (K PBKDW  FWKPBKDW  VWK   SL UA   HTQ I B        4U (K PBKDW  VWKPBKDW  FWK   SL UA IBKDW    SL U HTQ I B        9WK QX (K PBKDW  FWKPBKDW  VWK   SL UA  HTQ J B        9U  QX (K PBKDW  VWKPBKDW  FWK   SL UA IBKDW   QX FWK   SL U HTQ J B FDOFXODWHWKHVWUHVVUHVXOWDQWVDQGEHQGLQJPRPHQWVLQ[[FRRUGLQDWHV        7LQY >FWKVWK FVWKVWKFWK FVWKFVWKFVWKFWKVWK@LQYHUVHWUDQVIRUPDWLRQRIHTQ F        1LMBF (K 7LQY >1U1WK1UWK@0LMBF (K 7LQY >0U0WK0UWK@HTQ E  GLIIHUHQFHEHWZHHQVROXWLRQV  DQG          GLI DEV > 1LM1LMBF (K 0LM0LMBF (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)0 ORDGVWU[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  @HTQ E 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 $

SBKDWSDUWRIHTQ E B FDFDFDFDFRHIILFLHQWYHFWRUVHTQ F B JDJDPPDBDOSKDHTQ F B OQ]KDWORJ ]HWDBKDW HTQ E  L%F%LQY % FRQM % SDUWRIYHFWRU'NRIHTQ F B JNF FRQM JD M F]K FRQM ]HWDBKDW M WKHFRQVWDQWVFRQM JDPPDBN DQGFRQM ]HWDBKDWBN LQHTQ F B %F%F%F%FYHFWRUVRI'BN FRQM FD!FD!^FD!RUFD ]HWDBKDW! SDUWRI F B HWDWKHFRQVWDQWHWDBRI F B NYNY LL ODPGD L FRQVWDQWYHFWRULQIFRI E 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  @    HTQ E 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   HTQ E B     >]HWDBKDWWKHWDUKR@ PDS(3 [BKDWDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDBKDWHTQ       $S $

SBKDW  SDUWRIHTQ E B     FD DL E PX    JD DL E PX  DL E PX   HTQ F B     OQ]KDW ORJ ]BKDW ORJ FD ORJ JD ]HWDBKDWA   HTQ E      FD FD ORJ FD  FD FD JD OQ]KDW FD  FD ]HWDBKDW JD]HWDBKDW   HTQ F B     L%F% LQY % FRQM %    SDUWRIWKHYHFWRU'NLQHTQ F B IRUM GLP         JNF M FRQM JD M   F]K M FRQM ]HWDBKDW M           %F M L%F% M FRQM FD M %F M L%F% M FRQM FD M   SDUWRIIDQG(N EF          %F M L%F% M FRQM FD M   SDUWRIIDQG(N EF 

Appendix F: AEPH Source Code (Listed in Alphabetic Order)

843

       %F M L%F% M FRQM FD M ]HWDBKDW M   SDUWRI E B HQG    >6+/@ 6WURKBPDWULFHV    VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV    /L LQY /   /L6W /L 6   SDUWRIHTQ G     ODPBD /L G E /L6W G D  ODPBE /L6W G E /L G D  HTQ G     3  % GLDJ ]HWDBKDW $    HTQ H B    3  % GLDJ FD ORJ FD OQ]KDWJD  ]HWDBKDWA $ 

HTQ H B

   3  % GLDJ FD]HWDBKDW $    HTQ H B    SY 3 SBKDWIBKDW  3 G PBKDW  3    YHFWRUSRIHTQ G     HWD /L G LPDJ SY E /L G UHDO SY D  ODPBD G E ODPBE G D   HTQ F B    NY ]HURV GLP   NY G   NY G L ED  FRQVWDQWYHFWRULQIFRI E B HQG ] [L  [L  PX   HTQ E 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  HTQ E B  B    ORJG]HWD ORJ G] ORJ FD ORJ JD ]HWD ]HWDBKDW   HTQ  B    ORJ]HWD ORJ ] ORJ FD ORJ JD ]HWDA   HTQ  B    J] G] ORJG]HWDFD G]HWDFD G]HWD ]HWD ]HWDBKDW 

HTQ F B

   J]S ORJG]HWD G]G]HWDFDFD ]HWDA  ]HWDB   HTQ F B    J ]HWD  ]HWDBKDW]HWD JD]HWDBKDW         JD JD  ]HWDBKDWA   ORJ]HWDJD ]L  ]HWDBKDW    HTQ J B    J ]HWDA ]HWDBKDW ]HWDJD ]L JD ORJ]HWD  HTQ J B    J JD ]L ]HWDJD ]L ]HWDBKDWORJ]HWD   HTQ J B    J]LQW G]A  ORJG]HWDFD FD JFD JFD J   HTQ I B     I] GLDJ ORJG]HWD $S  VWWHUPRIHTQ E B    I]B GLDJ ]HWD $S  VWWHUPRIHTQ E B    ILQW GLDJ G] ORJG]HWDFD JD ORJ]HWD]HWDBKDW]HWD]HWDBKDW $SVWWHUPRIHTQ E     I] IBKDW  J] $ G     VWWHUPRI E B    I]B IBKDW  J]S $ G     VWWHUPRI E B    ILQW IBKDW  J]LQW $ G     VWWHUPRI F     I] PBKDW  FD ]HWDBKDWG]HWD  $     VWWHUPRI E B    I]B PBKDW  FD ]HWDBKDW ]HWDB G]HWDA  $     VWWHUPRI E B    ILQW PBKDW  ORJG]HWDFD JD FD ORJ]HWD]HWDBKDW]L  $     VWWHUPRI G     I]F L HWD GLDJ ]L LQY % NY  HTQ E B    I]FB L HWD GLDJ ]L ]HWDB LQY % NY  HTQ E B    IFLQW L HWD GLDJ FD ORJ]HWDJD ]L LQY % NY  HTQ H   IRUM GLP        ]L]K ]LF]K M   ]L]KS ]L ]HWDB  SDUWRIHTQ EF DQG EF         FORJ]L FRQM OQ]KDW M ORJ ]LF]K M    HTQ F         HN ]HWDF]K M   HN JNF M HN  FORJ]L  SDUWRI(NHTQ F B        ]%F GLDJ ]L]K %F M ]%F GLDJ ]L]K HN %F M ]%F GLDJ ]L]K HN %F M   SDUWRIIDQG(N EF          ]%FS GLDJ ]L]KS %F M ]%FS GLDJ ]L]KS HN %F M ]%FS GLDJ ]L]KS HN %F M   SDUWRIHTQ EF         HNS ]HWDBF]K M   HNS ]HWDB JNF M FORJ]LF]K M ]L ]HWD JNF M F]K M ]L]K SDUWRIHTQ F B        ]S%F GLDJ ]L]K HNS %F M ]S%F GLDJ ]L]K HNS %F M   SDUWRIISDQG(NSHTQ EF 

844

Appendix F: AEPH Source Code (Listed in Alphabetic Order)                FORJ]LBLQW ]FD JD F]K M F]K M  FORJ]LFD ORJ]HWDF]K M JD ]L]K SDUWRIQGWHUPRIHTQ E         J] JD ]L]KAJNF M ]HWDF]K M A]L]K ]HWDJD JNF M F]K M HTQ K B        J] JD JNF M FRQM OQ]KDW M JNF M   F]K M A   HTQ K B        J] JD JNF M  /LORJ ]LF]K M JD ]L]KAJNF M JD ]L]HWD F]K M   HTQ K B LQRUGHUWRLPSURYHWKHHIILFLHQF\KHUHZHFUHDWHDQHZIXQFWLRQ/LORJ [ WRUHSODFHWKHPDWODEIXQFWLRQGLORJ [ 

       (NBLQW GLDJ FD J] FORJ]LJ] ORJ]HWDJ] %F M   HTQ I B        (NBLQW GLDJ FD ORJ]HWDJD ]L ] F]K M %F M   HTQ I B        (NBLQW GLDJ FD JD ORJ]HWD]HWDA ]F]K M %F M   HTQ I B        ]'FBLQW FD JD F]K M F]K M  FORJ]L]HWDORJ]HWDF]K M F]K M      SDUWRIQGWHUPRIHTQ G          I] I]GLDJ FORJ]L L%F% M FRQM $S M   HTQ E B        I] I]IBKDW  ]%F]%F]%F $ GM   HTQ E B        I] I]PBKDW  GLDJ ]L]K %F M $ M   HTQ E B        I]B I]BGLDJ ]L ]HWDB]L]K L%F% M FRQM $S M   HTQ E B        I]B I]BIBKDW  ]%FS]%FS]%FS]S%F]S%F $ GM   HTQ E B        I]B I]BPBKDW  GLDJ ]L ]HWDB ]L]KA %F M $ M   HTQ E B        ILQW ILQWGLDJ FORJ]LBLQW L%F% M FRQM $S M   HTQ E         ILQW ILQWIBKDW  (NBLQW(NBLQW(NBLQW $ GM   HTQ F         ILQW ILQWPBKDW  GLDJ ]'FBLQW %F M $ M   HTQ G   HQG    I] I]I]I]I]F   SL L    I]LQW ILQWILQWILQWIFLQW   SL L    HTQ D  D     I]B I]BI]BI]BI]FB   SL L    I]B GLDJ PX I]B   HTQ D     XG  UHDO $ I] SKLG  UHDO % I]    HTQ D     XGB  UHDO $ I]B    XGB  UHDO $ I]B       SKLGB  UHDO % I]B   SKLGB  UHDO % I]B      Z  UHDO $ G I]LQW   HTQ   UHWXUQWRWKHRULJLQDOVFDOHRIGLVSODFHPHQWVVORSHVVWUHVVUHVXOWDQWVDQGEHQGLQJPRPHQWV    XG GG XG GG K    Z ZK    HTQ D     XGB GG XGB GG K   XGB GG XGB GG K  HTQ D     1LM >SKLGB  SKLGB  SKLGB  @ (K    HTQ   D     0LM >SKLGB G SKLGB G  SKLGB G SKLGB G @ (K

HTQ   D 

LI3W\SHa         XG  XG  (XG G XG G (K  HTQ          XGB  XGB  (XGB  XGB  (XGB G XGB G (KXGB G XGB G (K  HTQ          1LM  SKLGB  K1LM  SKLGB  K0LM  SKLGB G K0LM  SKLGB G 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 RQHV GLP XGB QDQ RQHV GLP XGB QDQ RQHV GLP     SKLG QDQ RQHV GLP 1LM QDQ RQHV GLP 0LM QDQ RQHV GLP  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 LIDEV DEV ]HWD   HSV  2W\SH

_2W\SH

_2W\SH

_2W\SH

 

    SVL [L  SL   FKDQJHGHJUHHWRUDGLDQ     >]HWDWKHWDUKR@ PDS(3 SVLDED FDOFXODWHWKHWDDQGUKRHTQ         >*WK1WK*WK@ 6WURKBPDWULFHV WKHWD FDOFXODWHWKH6WURKPDWULFHV*WK*WK     FWK FRV WKHWD VWK VLQ WKHWD      HS FRV SVL L VLQ SVL HS] HS]HWDBKDWSDUWRIHTQ F      ORJHS] OQ]KDWORJ HS]HWDBKDW   HTQ D B KS HSHS]   HTQ F B KS FD HS ORJHS]ORJ FD JD ORJHS]OQ]KDW HSJD]HWDBKDW HTQ F B KS HS ]HWDBKDW FD ]HWDBKDWJD]HWDBKDW  HS]A   HTQ F B TS ]HURV GLP    TS G VLQ SVL   TS G E FRV SVL D   HTQ E B TS ]HURV GLP    TS G FRV SVL    TS G E VLQ SVL D   HTQ E B      IBQ GLDJ KS $

SBKDWIBKDW  KS $ G  PBKDW  KS $     SDUWRIHTQ D      SKLGBQ HWD *WK TS*WK TS  *WK LPDJ % IBQ  UKR SL    HTQ D          1BVV FWK SKLGBQ  VWK SKLGBQ      HTQ D B     0BVV FWK SKLGBQ G VWK SKLGBQ G   0BVQ VWK SKLGBQ G FWK SKLGBQ G    HTQ D B     WLBVV >1BVV (K0BVV (K0BVQ (K@HTQ D  LI3W\SHa WLBVV  SKLGBQ  KWLBVV  SKLGBQ G K  HQG

HTQ    

LI3W\SH!WLBVV  SKLGBQ  KWLBVV  SKLGBQ  K  HQG LI,FKHFN

 

        1BVVF 1LM  FWKA1LM  VWKA 1LM  FWK VWK  HTQ EF          0BVVF 0LM  FWKA0LM  VWKA 0LM  FWK VWK  HTQ EF          0BVQF 0LM  FWK VWK0LM  FWK VWK0LM  FWKAVWKA   HTQ EF          WLBVVF >1BVVF0BVVF0BVQF@         GLI DEV WLBVV  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*DXVVLDQSRLQWV VXJJHVWHGWREH  >[JZJ@ *DXVV QB*DXVV   FDOFXODWHWKHDEVFLVVDHDQGZHLJKWVRIWKH*DXVVLDQSRLQWV LG DEV ] !  LQGH[WREHXVHGLQWKHLGHQWLILFDWLRQIRUZKLFKDEV ] ! ] ] LG ]  aLG    /L] ]HURV VL]H ]  IRUN QB*DXVV      VL ] [J N    /L] /L]ZJ N  LG aLG  ] ORJ VL VL  HQG /L] /L] aLG  SLAORJ ]  ORJ ] 

F192: s1452LAMcrackPFM IXQFWLRQ>ZXGXGBXGB1LM0LMWLBVV@ V/$0FUDFN3)0 ORDGVWU[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)0 ORDGVWU[LYN  LIYN

   &DOFXODWLRQLQGHSHQGHQWRIWKHSRVLWLRQZLOOEHLPSOHPHQWHGRQHWLPHRQO\ZKHQYN 

   >*WK1WK*WK@ 6WURKBPDWULFHV  FDOFXODWHWKH6WURKPDWULFHV*WK K  ]HWDBKDW   K D ORJ D OQ]KDW]HWDBKDW   HTQ E B K  ]HWDBKDW D ]HWDBKDW]HWDBKDW  ]HWDBKDW A HTQ E B    IBQ GLDJ K $

SBKDWIBKDW  K $ G  PBKDW  K $     SDUWRIHTQ D     SKLGB  LPDJ % IBQ VTUW SL D   SKLGB G SKLGB G HWDVTUW SL D   SKLGB *WK SKLGB  HTQ D     6,) >SKLGB  (KSKLGB  (K@    6,) GG > SKLGB G SKLGB G (KSKLGB G (K@ HTQ E  LI3W\SHa 6,)  SKLGB  K6,) G SKLGB G 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 VTUW D[BKDW   D[BKDW          >6+/@ 6WURKBPDWULFHV    VHHVHFWLRQIXQFWLRQ6WURKBPDWULFHV        /L LQY /   /L6W /L 6   SDUWRIHTQ G  SEU  VTUW DA[BKDW  A /L G [BKDW  /L6W G  D /L GG   HTQ E B        SKLGBF 6 DF H\H GLP SBKDW   SKLGBF G SKLGBF G SEU

SBKDW  SDUWRIHTQ D B        SKLGBF SKLGBF  VTUW SL D     SKLGBF *WK SKLGBF  HTQ D          6,)F >SKLGBF  (KSKLGBF  (K@        6,)F GG > SKLGBF G SKLGBF G (KSKLGBF G (K@  HTQ E  LI3W\SHa 6,)F  SKLGBF  K6,)F G SKLGBF G KA LI3W\SH!6,)F  SKLGBF  K6,)F  SKLGBF  KA  HQG HQG        6,)F G 6,)F G WKLFNQHVV   6,)F GGLP  6,)F GGLP WKLFNQHVVA        GLI PD[ DEV 6,)6,)F         VWU ^     6,)  6,)F `VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN        SULQW7) [L6,)6,)FGLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG HQG

F193: s1461LAMincluPFMo IXQFWLRQ>ZXGXGBXGB1LM0LMWLBVVWLBQQ@ V/$0LQFOX3)0R ORDGVWU[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  @HTQ E 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$%RIPDWHULDOV PDWUL[ DQG LQFOXVLRQ  ]BKDWFRPSOH[YDULDEOHUHODWHGWR[BKDW]BKDW [BKDW  [BKDW  PX ]HWDBKDWWUDQVIRUPHGYDULDEOHDVVRFLDWHGZLWK]BKDWHTQ   $S$S $

SBKDWSDUWRIHTQ E B JDJDJD DL E PX  DL E PX JD DL E PX  DL E PX GHILQHGLQHTQ F BHTQ E B FDFDFD DL E PX FD DL E PX FRQVWDQWVFDGHILQHGLQHTQ F BIRUPDWUL[DQGLQFOXVLRQHLJHQYDOXHV FDFDFDFRQVWDQWVGHILQHGLQHTQ F B OQ]KDWORJ ]HWDBKDW HTQ E  FNGNFRQVWDQWYHFWRUVGHILQHGLQHTQ E 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  @    HTQ E 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   HTQ E B     >]HWDBKDWWKHWDUKR@ PDS(3 [BKDWDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDBKDWHTQ       $S $

SBKDW   SDUWRIHTQ E B     JD DL E PX  DL E PX   JD DL E PX  DL E PX    HTQ F B E B     FD DL E PX   FD DL E PX FDFD FDBVWDU FDRIPDWUL[DQGLQFOXVLRQHTQ F B     OQ]KDW ORJ ]BKDW ORJ FD ORJ JD ]HWDBKDWA   HTQ E      FD FD ORJ FD  FD FD JD OQ]KDWFD  FD ]HWDBKDW JD]HWDBKDW   HTQ F B IRUN VQ         >HNFN N @ VBHFN N   FDOFXODWHHNDQGFNE\IXQFWLRQVBHFNHTQ E BDQG F          GN N LQY % FRQM % FN N % GLDJ JDAN FN N FRQM % HN   HTQ E B LI,FKHFN

         FKHFNE\HTQ D 

            GNF LQY $ FRQM $ FN N $ GLDJ JDAN FN N FRQM $ HN   GLI GN N GNF LIPD[ DEV GLI ! HSVGLVS GLIIHUHQWGNIURPGLIIHUHQWDSSURDFKHV NGN N GNFHQG 

847

848

Appendix F: AEPH Source Code (Listed in Alphabetic Order) HQG HQG HQG ] [L  [L  PX    HTQ E 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 ORJ G] ORJ FD ORJ JD ]HWD ]HWDBKDW   HTQ  B    ORJ]HWD ORJ ] ORJ FD ORJ JD ]HWDA   HTQ  B    ]HWDB ]HWD ]HWD DL E PX ]   ]HWD ]HWDBG]HWD  HTQ E B  B KD FD ]HWDBKDW]HWDBKDW ORJ FD OQ]KDW JD]HWDBKDW SDUWRIFRQVWDQWVLQWKHQGWHUPRIHTQ E B    J] G] ORJG]HWDFD G]HWDFD G]HWD ]HWD ]HWDBKDW 

HTQ F B

   J]S ORJG]HWD G]G]HWDFDFD ]HWDA  ]HWDB   HTQ F B    F] FD ]HWD G]HWDF]S FD ]HWDBKDW ]HWDB G]HWDA   SDUWUGWHUPRIHTQ E B E B    I] GLDJ ORJG]HWDOQ]KDW $SIBKDW  J]KD  $ G  PBKDW  F] $     SL L HTQ E B    I]B GLDJ ]HWD $SIBKDW  J]S $ G  PBKDW  F]S $     SL L   HTQ E B    LQWB G] ORJG]HWDOQ]KDW FD JD ORJ]HWD ]HWDBKDW]HWD    SDUWRIVWWHUPRIHTQ D     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  ORJ FD OQ]KDW  ]HWDA JD ORJ]HWD    HTQ         LQWB ORJG]HWDOQ]KDWFD FD ]HWDJD ORJ]HWD]HWDBKDW    SDUWRIUGWHUPRIHTQ D     I]LQW GLDJ LQWB $SIBKDW  GLDJ JEU $ G  PBKDW  GLDJ LQWB $     SL L   HTQ D  IRUN VQ        I] I]GLDJ ]HWDA N GN N     HTQ E B        I]B I]BGLDJ N ]HWDB ]HWDA N GN N     HTQ E B LIN

WKHLQWHJUDORIIFDQEHVHSDUDWHGLQWRWZRSDUWVN DQGWKHRWKHUN VHTQ E

           ILQW GLDJ FD GLDJ ORJ]HWD JD  ]HWDA GN N   HOVH            ILQW GLDJ FD GLDJ ]HWDA N  N GLDJ JD N ]HWDA N GN N  HQG        I]LQW I]LQWILQWHTQ D DQG E  HQG    I]B GLDJ PX I]B  $ $% % HOVH

SRLQW [L  [L  ORFDWHVLQVLGHWKHLQFOXVLRQ

   ] [L  [L  PX   HTQ E B    >]HWDWKHWDUKR@ PDS(3 [LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ      I] ]HURV GLP   I]B ]HURV GLP   I]LQW ]HURV GLP  IRUN VQ                 ]HWDB ]HWD ]HWD DL E PX ]   HTQ E B        ]N ]HWDAN   ]N JD]HWD AN  ]N ]N]N  ]NS ]N]NSDUWRI E B E B        I] I]GLDJ ]N FN N     HTQ E B        I]B I]BGLDJ N ]HWDB ]NS]HWD FN N     HTQ E B LIN

WKHLQWHJUDORIIFDQEHVHSDUDWHGLQWRWZRSDUWVN DQGWKHRWKHUN VHTQ F

           ILQW GLDJ FD GLDJ ]HWDA JD]HWD A FN N  HOVH            ILQW GLDJ FD GLDJ ]HWD ]N JD]HWD  ]N  N  ]HWD ]N JD]HWD  ]N  N FN N  HQG        I]LQW I]LQWILQWHTQ F  HQG

Appendix F: AEPH Source Code (Listed in Alphabetic Order)

849

    I]B GLDJ PX I]B  $ $% %  HQG XG  UHDO $ I] SKLG  UHDO % I]    HTQ D  XGB  UHDO $ I]B    XGB  UHDO $ I]B    SKLGB  UHDO % I]B   SKLGB  UHDO % I]B   Z  UHDO $ G I]LQW HTQ   UHWXUQWRWKHRULJLQDOVFDOHRIWKHGLVSODFHPHQWVVORSHVVWUHVVUHVXOWDQWVDQGEHQGLQJPRPHQWV XG GG XG GG K    Z ZK    HTQ D  XGB GG XGB GG K   XGB GG XGB GG K   HTQ D  1LM >SKLGB  SKLGB  SKLGB  @ (K    HTQ   D  0LM >SKLGB G SKLGB G  SKLGB G SKLGB G @ (K  HTQ   D  LI3W\SHa      XG  XG  (XG G XG G (K  HTQ       XGB  XGB  (XGB  XGB  (XGB G XGB G (KXGB G XGB G (K  HTQ       1LM  SKLGB  K1LM  SKLGB  K0LM  SKLGB G K0LM  SKLGB G 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 RQHV GLP   GHIDXOWRIWLBVVDQGWLBQQ LIDEV DEV ]HWD   HSV  2W\SH

_2W\SH

_2W\SH

_2W\SH

 

    SVL [L  SL   FKDQJHGHJUHHWRUDGLDQ     >]HWDWKHWDUKR@ PDS(3 SVLDED FDOFXODWHWKHWDDQGUKRHTQ         FWK FRV WKHWD VWK VLQ WKHWD      IBV ]HURV GLP  IRUN VQ                 IBV IBVL N GLDJ H[S L N SVL H[S L N SVL JDAN FN N UKRHTQ  B HQG ILQGWKHGHULYDWLYHVRISKLGLQVQGLUHFWLRQ     XGBV  UHDO $ IBV SKLGBV  UHDO % IBV    HTQ  B     >1WKP1WKP1WKP@ 6WURKBPDWULFHV WKHWD JHQHUDOL]HGHLJHQUHODWLRQHTQ  IRUPDWUL[     >1WKL1WKL1WKL@ 6WURKBPDWULFHV WKHWD JHQHUDOL]HGHLJHQUHODWLRQHTQ  IRULQFOXVLRQ     SKLGBQ 1WKP XGBV 1WKP SKLGBVHTQ  B     SKLGBQ 1WKL XGBV 1WKL SKLGBVHTQ  B     1BQQ (K VWK SKLGBV  FWK SKLGBV  1BVQ (K FWK SKLGBV  VWK SKLGBV    HTQ D B D      0BQQ (K VWK SKLGBV G FWK SKLGBV G WLBQQ >1BQQ0BQQ1BVQ@   HTQ D B D      1BVV  (K FWK SKLGBQ  VWK SKLGBQ  1BVV  (K FWK SKLGBQ  VWK SKLGBQ  HTQ D B D      0BVV  (K FWK SKLGBQ G VWK SKLGBQ G 0BVV  (K FWK SKLGBQ G VWK SKLGBQ G HTQ D B D      0BVQ  (K FWK SKLGBV G VWK SKLGBV G VWK SKLGBQ G FWK SKLGBQ G   HTQ D B D      0BVQ  (K FWK SKLGBV G VWK SKLGBV G VWK SKLGBQ G FWK SKLGBQ G   HTQ D B D  LI,FKHFN



WUDQVIRUPDWLRQIURP[[WRVQFRRUGLQDWHHTQ EF         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 DEV WLBVVWLBVVF         VWU ^     >1BVV0BVV0BVQ@  >1BVVF0BVVF0BVQF@ `VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN        SULQW7) [LWLBVVWLBVVFGLIVWU SULQWWKHPHVVDJHRI,FKHFN        GLI DEV WLBQQWLBQQF         VWU ^     >1BQQ0BQQ1BVQ@  >1BQQF0BQQF1BVQF@ `VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN        SULQW7) [LWLBQQWLBQQFGLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG    WLBVV >1BVV  0BVV  0BVQ  1BVV  0BVV  0BVQ  @ LI3W\SHa   DQDORJRXVZD\RIHTQ D IRUWKHFDOFXODWLRQRI'QDQG'V        'Q SKLGBV  K       'QQ SKLGBV G K   HTQ          'V  SKLGBQ  K  'V  SKLGBQ  K  HTQ          'VV  SKLGBQ G K   'VV  SKLGBQ G 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)0L ORDGVWU[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  @HTQ E 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$%RIPDWHULDOV PDWUL[ DQG LQFOXVLRQ  $L%LLQYHUVHRIPDWUL[$DQG% ]BKDWFRPSOH[YDULDEOHUHODWHGWR[BKDW]BKDW [BKDW  [BKDW  PX ]HWDBKDWWUDQVIRUPHGYDULDEOHDVVRFLDWHGZLWK]BKDWHTQ   $S$S $

SBKDWSDUWRIHTQ  B FDFDFD DL E PX FD DL E PX FRQVWDQWVFDGHILQHGLQHTQ F BIRUPDWUL[DQGLQFOXVLRQHLJHQYDOXHV JDJDJD DL E PX  DL E PX JD DL E PX  DL E PX GHILQHGLQHTQ F BHTQ E B NNPFRHIILFLHQWYHFWRUVGHILQHGLQHTQ D  FNGNFRQVWDQWYHFWRUVGHILQHGLQHTQ E 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  @    HTQ E 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   HTQ E B    >]HWDBKDWWKHWDUKR@ PDS(3 [BKDWDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDBKDWHTQ       $S $

SBKDW   SDUWRIHTQ  B    FD DL E PX    FD DL E PX     FDFD FDBVWDU FDRIPDWUL[DQGLQFOXVLRQHTQ F B JD DL E PX  DL E PX   JD DL E PX  DL E PX    HTQ F BHTQ E B

851

852

Appendix F: AEPH Source Code (Listed in Alphabetic Order)     4 $ GLDJ FD ORJ FD  %   4 $ GLDJ FD ORJ FD  $    HTQ       N IBKDW  %

4 G $

4 G    NP IBKDW  %

FRQM 4 G $

4 G    HTQ D  IRUN VQ         >HNFN N @ VBHFN N    FDOFXODWHHNDQGFNE\IXQFWLRQVBHFNHTQ D  E B           GN N %L FRQM % FN N % GLDJ JDAN FN N % HN   HTQ  B LI,FKHFN

   FKHFNE\HTQ  B

            GNF $L FRQM $ FN N $ GLDJ JDAN FN N $ HN   GLI GN N GNF LIPD[ DEV GLI ! HSVGLVS GLIIHUHQWGNIURPGLIIHUHQWDSSURDFKHV NGN N GNFHQG  HQG HQG HQG ] [L  [L  PX  HTQ E B >]HWDWKHWDUKR@ PDS(3 [LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDBKDWHTQ   LIDEV ]HWD ! HSV    SRLQW [L  [L  ORFDWHVRXWVLGHWKHLQFOXVLRQ     ORJ]HWD ORJ ] ORJ FD ORJ JD ]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 ]   ]HWDBHTQ E B      ]HWDBL ]L ]HWDBN]B GLDJ ]HWDB NGLDJ ]L NP    SDUWRIHTQ  B     I] GLDJ ORJ]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 KBWLOGHHTQ F B     S GLDJ ]HWDA NGLDJ ORJ]HWD NP  S GLDJ ORJ]HWD NGLDJ ]L NP  HTQ F B     NLQW GLDJ FD SGLDJ JD S    SDUWRIHTQ D      I]LQW GLDJ ] ORJ]HWDFD ]HWDJD ]L $

SBKDWIBKDW  KWL $ G  NLQW   SL L 

HTQ D 

IRUN VQ         I] I]GLDJ ]HWDA N GN N     HTQ  B         I]B I]BGLDJ N ]HWDB ]HWDA N GN N     HTQ E B LIN

WKHLQWHJUDORIIFDQEHVHSDUDWHGLQWRWZRSDUWVN DQGWKHRWKHUN VHTQ E 

            ILQW GLDJ FD GLDJ ORJ]HWDJD  ]HWDA GN N  HOVH             ILQW GLDJ FD GLDJ ]HWDA N  N GLDJ JD ]HWDA N  N GN N  HQG         I]LQW I]LQWILQWHTQ D DQG E  HQG     I]B GLDJ PX I]B  $ $% % HOVH

SRLQW [L  [L  ORFDWHVLQVLGHWKHLQFOXVLRQ

    ] [L  [L  PX    HTQ E B     >]HWDWKHWDUKR@ PDS(3 [LDEDPX FDOFXODWHWKHWUDQVIRUPHGYDULDEOH]HWDHTQ       G] [L  [BKDW   [L  [BKDW  PXORJ] ORJ G] ]ORJ] G] ORJ]   G]L G]    SDUWRIHTQ  B     HNB ]BKDW ORJ FD SDUWRIFRQVWDQWVLQQGWHUPRIHTQ  B     S]HWD G]A  ORJ]ORJ FD   ]A  ORJ FD  FDA  JD ORJ FD  HTQ F B     I] GLDJ ORJ]ORJ FD $SIBKDW  ]ORJ]HNB  $ G  PBKDW  G]L $     SL L   I]BVWDURIHTQ  B     I]B GLDJ G]L $SIBKDW  ORJ] $ G  PBKDW  G]LA $     SL L   HTQ  B      I]LQW GLDJ ]ORJ]G] ORJ FD $SIBKDW  S]HWD $ G  PBKDW  ORJ]ORJ FD  $     SL L HTQ E  IRUN VQ                 ]HWDB ]HWD ]HWD DL E PX ]   HTQ E B         ]N ]HWDAN   ]N JD]HWD AN  ]N ]N]N  ]NS ]N]NSDUWRI E B E B         I] I]GLDJ ]N FN N     HTQ  B         I]B I]BGLDJ N ]HWDB ]NS]HWD FN N     HTQ E B

Appendix F: AEPH Source Code (Listed in Alphabetic Order) LIN

853

WKHLQWHJUDORIIFDQEHVHSDUDWHGLQWRWZRSDUWVN DQGWKHRWKHUN VHTQ F 

            ILQW GLDJ FD GLDJ ]HWDA JD]HWD A FN N  HOVH             ILQW GLDJ FD GLDJ ]HWD ]N JD]HWD  ]N  N  ]HWD ]N JD]HWD  ]N  N FN N  HQG         I]LQW I]LQWILQW  HTQ E DQG F  HQG     I]B GLDJ PX I]B  $ $% %  HQG XG  UHDO $ I] SKLG  UHDO % I]    HTQ D  XGB  UHDO $ I]B    XGB  UHDO $ I]B    SKLGB  UHDO % I]B   SKLGB  UHDO % I]B   Z  UHDO $ G I]LQW HTQ   UHWXUQWRWKHRULJLQDOVFDOHRIWKHGLVSODFHPHQWVVORSHVVWUHVVUHVXOWDQWVDQGEHQGLQJPRPHQWV XG GG XG GG K    Z ZK    HTQ D  XGB GG XGB GG K   XGB GG XGB GG K   HTQ D  1LM >SKLGB  SKLGB  SKLGB  @ (K    HTQ   D  0LM >SKLGB G SKLGB G  SKLGB G SKLGB G @ (K  HTQ   D  LI3W\SHa      XG  XG  (XG G XG G (K  HTQ       XGB  XGB  (XGB  XGB  (XGB G XGB G (KXGB G XGB G (K  HTQ       1LM  SKLGB  K1LM  SKLGB  K0LM  SKLGB G K0LM  SKLGB G 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 RQHV GLP   GHIDXOWRIWLBVVDQGWLBQQ LIDEV DEV ]HWD   HSV  2W\SH

_2W\SH

_2W\SH

_2W\SH

 

    SVL [L  SL   FKDQJHGHJUHHWRUDGLDQ     >]HWDWKHWDUKR@ PDS(3 SVLDED FDOFXODWHWKHWDDQGUKRHTQ         FWK FRV WKHWD VWK VLQ WKHWD      OD D FRV SVL E PX VLQ SVL ]BKDWHTQ F      ODL ODODL ODLA  SDUWRIHTQ E B FDOFXODWHWKHGHULYDWLYHVRII ] LQVQGLUHFWLRQ     IBV GLDJ FWKPX VWK GLDJ ODL $SIBKDW  ORJ OD  $ G  PBKDW  ODL $     SL L HTQ E B IRUN VQ         IBV IBVL N H[S L N SVL GLDJ H[S  L N SVL JDAN FN N UKRHTQ E  HQG     XGBV  UHDO $ IBV SKLGBV  UHDO % IBV    HTQ D      >1WKP1WKP1WKP@ 6WURKBPDWULFHV WKHWD JHQHUDOL]HGHLJHQUHODWLRQHTQ  IRUPDWUL[     >1WKL1WKL1WKL@ 6WURKBPDWULFHV WKHWD JHQHUDOL]HGHLJHQUHODWLRQHTQ  IRULQFOXVLRQ     SKLGBQ 1WKP XGBV 1WKP SKLGBVHTQ  B     SKLGBQ 1WKL XGBV 1WKL SKLGBVHTQ  B

854

Appendix F: AEPH Source Code (Listed in Alphabetic Order)     1BQQ (K VWK SKLGBV  FWK SKLGBV  1BVQ (K FWK SKLGBV  VWK SKLGBV    HTQ D B D      0BQQ (K VWK SKLGBV G FWK SKLGBV G WLBQQ >1BQQ0BQQ1BVQ@   HTQ D B D      1BVV  (K FWK SKLGBQ  VWK SKLGBQ  1BVV  (K FWK SKLGBQ  VWK SKLGBQ  HTQ D B D      0BVV  (K FWK SKLGBQ G VWK SKLGBQ G 0BVV  (K FWK SKLGBQ G VWK SKLGBQ G HTQ D B D      0BVQ  (K FWK SKLGBV G VWK SKLGBV G VWK SKLGBQ G FWK SKLGBQ G   HTQ D B D      0BVQ  (K FWK SKLGBV G VWK SKLGBV G VWK SKLGBQ G FWK SKLGBQ G   HTQ D B D  LI,FKHFN



WUDQVIRUPDWLRQIURP[[WRVQFRRUGLQDWHHTQ EF         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 DEV WLBVVWLBVVF          VWU ^     >1BVV0BVV0BVQ@  >1BVVF0BVVF0BVQF@ `VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN         SULQW7) [LWLBVVWLBVVFGLIVWU SULQWWKHPHVVDJHRI,FKHFN          GLI DEV WLBQQWLBQQF          VWU ^     >1BQQ0BQQ1BVQ@  >1BQQF0BQQF1BVQF@ `VWULQJVXVHGLQWKHPHVVDJHRI,FKHFN         SULQW7) [LWLBQQWLBQQFGLIVWU SULQWWKHPHVVDJHRI,FKHFN HQG     WLBVV >1BVV  0BVV  0BVQ  1BVV  0BVV  0BVQ  @  LI3W\SHa   DQDORJRXVZD\RIHTQ D IRUWKHFDOFXODWLRQRI'QDQG'V         'Q SKLGBV  K       'QQ SKLGBV G K   HTQ           'V  SKLGBQ  K  'V  SKLGBQ  K  HTQ           'VV  SKLGBQ G K   'VV  SKLGBQ G 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@ &RQYHUW1 1WK1WK1WK   HQG FRQYHUWIURP1PWR1

               6V 6V1WK ZJ LJ   +V +V1WK ZJ LJ   /V /V1WK ZJ LJ  HQG HQG        6+/ >6V+V/V6V @  6+/L LQY 6+/         6WL 6+/L GLPGLP   +WL 6+/L GLPGLP GLP   /WL 6+/L GLP GLPGLP   5HIH[WHQGHGV\PERO         ; 6WL< +WL= /WL FDVH^`FDOFXODWLRQRI1WK1WK1WKHTQ F 1PDW!  LI1PDW

4 45 57 7HQG

IRUWKHFDVHRI1PDW 

LI1PDW!   LI6W\SH

  IRULQFOXVLRQSUREOHPV

               4 4BD NWK 5 5BD NWK 7 7BD NWK   NWK PDWUL[NWK LQFOXVLRQ HOVH

XVHGLQSUREOHPVZLWKPXOWLPDWHULDOZHGJHV QHHGLQIRUPDWLRQRIWKN LP IRULP 1PDW

                   GWK WKHWDWKN LP GWK WKHWDWKN LP  LIGWK!  GWK                         LWK LPEUHDN HQG HQG                4 4BD LWK 5 5BD LWK 7 7BD LWK  HQG HQG        F FRV WKHWD V VLQ WKHWD F F FV V VFV F V        4WK 4 F 55 FV7 V5WK 5 F 74 FV5

V7WK 7 F 55 FV4 V  HTQ         1WK LQY 7WK   1WK 1WK 5WK   1WK 5WK 1WK4WK  HTQ F LI'

>1WK1WK1WK@ &RQYHUW1 1WK1WK1WK   HQG FRQYHUWIURP1PWR1

       ; 1WK< 1WK= 1WK  FDVH^`   FDOFXODWLRQRI1WL1WL1WLH[WHQGHGV\PERO  RIVHFWLRQ1PDW!  LQWHJUDOVWDUWLQJIURPDOSKDWRWKHWDLHFDOFXODWH1LBWLOGH WKHWDDOSKD L         >[JZJ@ *DXVV QB*DXVV         1WL ]HURV GLP 1WL ]HURV GLP 1WL ]HURV GLP         WK WKHWDDOSKD WK WKHWDDOSKD  IRULJ QB*DXVV            WK WK [J LJ WK            4 45 57 7   IRUWKHFDVHRI1PDW 

Appendix F: AEPH Source Code (Listed in Alphabetic Order) LI1PDW! IRULP 1PDW                     GWK WKWKN LP GWK WKWKN LP  LIGWK!  GWK                          LWK LPEUHDN HQG HQG                 4 4BD LWK 5 5BD LWK 7 7BD LWK  HQG             F FRV WK V VLQ WK F F FV V VFV F V             4WK 4 F 55 FV7 V5WK 5 F 74 FV5

V7WK 7 F 55 FV4 VHTQ              1WK LQY 7WK    1WK 1WK 5WK    1WK 5WK 1WK4WK  HTQ F LI'

>1WK1WK1WK@ &RQYHUW1 1WK1WK1WK   HQG FRQYHUWIURP1PWR1

            1WL 1WL1WK ZJ LJ   1WL 1WL1WK ZJ LJ   1WL 1WL1WK ZJ LJ  HQG         ; 1WL WKSL< 1WL WKSL= 1WL WKSL FDVH  FDOFXODWLRQRI1KDW1KDW1KDWH[WHQGHGV\PERO  RIVHFWLRQ1PDW!          F FRV DOSKD V VLQ DOSKD F F FV V VFV F V         4WK 4 F 55 FV7 V5WK 5 F 74 FV5

V7WK 7 F 55 FV4 V   HTQ          1WK LQY 7WK   1WK 1WK 5WK   1WK 5WK 1WK4WK  HTQ F LI'

>1WK1WK1WK@ &RQYHUW1 1WK1WK1WK   HQG FRQYHUWIURP1PWR1

        WK WKHWDDOSKDF FRV WK V VLQ WK          1KDW F H\H GLP V 1WK   1KDW V 1WK   1KDW V 1WK         ; 1KDW< 1KDW= 1KDW FDVH  FDOFXODWLRQRI1LVXELQYHUVHRI1HTQ  1PDW          F FRV WKHWD V VLQ WKHWD F F FV V VFV F V         4WK 4 F 55 FV7 V   5WK 5 F 74 FV5

V7WK 7 F 55 FV4 V   HTQ          1WK LQY 7WK   1WK 1WK 5WK   1WK 5WK 1WK4WK  HTQ F LI'

>1WK1WK1WK@ &RQYHUW1 1WK1WK1WK   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  >@HTQ F          L1V LQY 1BVWDU   WDNHLQYHUVHDIWHUGHOHWLQJWKH]HURURZDQGFROXPQHTQ F  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 UHDO L  $ % H\H GLP   /  UHDO L % %   6HWUHDO  WRDYRLGVPDOOHUURULQGXFHGE\QXPHULFDOFDOFXODWLRQ        F FRV WKHWD V VLQ WKHWD F F FV V VFV F V  /L LQY /    HTQ          4WK 4 F 55 FV7 V  5WK 5 F 74 FV5

V7WK 7 F 55 FV4 V  HTQ         1WK LQY 7WK   1WK 1WK 5WK   1WK 5WK 1WK4WK  HTQ F LI'

>1WK1WK1WK@ &RQYHUW1 1WK1WK1WK   HQG FRQYHUWIURP1PWR1

       *WK 1WK 1WK 6 /L*WK 1WK /L   H[WHQGHGV\PERO  RI6HFWLRQ        ; *WK< 1WK= *WK FDVH  FDOFXODWLRQRI1G1G1G VXEPDWULFHVRI1KDW VGHOSRZHU GHILQHGLQ          GWK WKHWDDOSKD  FD FRV DOSKD   VD VLQ DOSKD  LI1PDW

PX PX $ $% %

HOVHPX PXBD NWK $ $BD NWK % %BD NWK HQG        PXBWK PX FDVD  PX VDFD         PXBKDW FRV GWK VLQ GWK PXBWK        PXB[ PXBKDWA[GHO  FPXB[ FRQM PXBKDW A[GHO FKDQJHWKHUHJLRQRISULQFLSDOYDOXHIURPWKHPDWODEUHJLRQ SLSL WRWKHSUREOHPUHJLRQ  SL  IRUM GLP LIDQJOH PXBKDW M                 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[ GLDJ PXFB[          $% >$FRQM $ %FRQM % @  %$ >% $ % $ @        (N $% GPXB[ %$        ; (N GLPGLP < (N= (N GLP GLPGLP ; 1G< 1G= 1G FDVH  FDOFXODWLRQRI1GS1GS1GS VXEPDWULFHVRISULPHRI1KDW VGHOSRZHU GHILQHGLQ         GWK WKHWDDOSKD  FD FRV DOSKD   VD VLQ DOSKD  LI1PDW

PX PX $ $% %

HOVHPX PXBD NWK $ $BD NWK % %BD NWK HQG        PXBWK PX FDVD  PX VDFD         PXBKDW FRV GWK VLQ GWK PXBWK        PXBKS VLQ GWK FRV GWK PXBWK  GHULYDWLYHRIPXBKDWZUW?WKHWD        PXB[S [GHO PXBKS PXBKDWA [GHO     GHULYDWLYHRIPXBKDWA[GHOZUW?WKHWD        FPXB[S [GHO FRQM PXBKS  FRQM PXBKDW A [GHO    WDNHWKHFRQMXJDWHRIPXB[S H[FOXGLQJ[GHO  FKDQJHWKHUHJLRQRISULQFLSDOYDOXHIURPWKHPDWODEUHJLRQ SLSL WRWKHSUREOHPUHJLRQ  SL  IRUM GLP LIDQJOH PXBKDW M                 PXB[S M PXB[S M H[S  SL [GHO L       HTQ  

Appendix F: AEPH Source Code (Listed in Alphabetic Order)

859

               FPXB[S M FPXB[S M H[S  SL [GHO L   HQG HQG        PXFB[S >PXB[SFPXB[S@GPXB[S GLDJ PXFB[S         $% >$FRQM $ %FRQM % @  %$ >% $ % $ @        (NS $% GPXB[S %$        ; (NS GLPGLP < (NS= (NS GLP GLPGLP ; 1GS< 1GS= 1GS FDVH   FDOFXODWLRQRI0V': ELPDWHULDOPDWULFHVGHILQHGLQWKHH[WHQGHGV\PERO  RIVHFWLRQ         6 L  $BD  %BD   H\H GLP HTQ          6 L  $BD  %BD   H\H GLP          /  L %BD  %BD      /  L %BD  %BD           6 UHDO 6 6 UHDO 6 / 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

       /L GLPGLP LQY / GLPGLP LQYHUVHH[FOXGLQJWKHSRVVLEOH]HURV        /L GLPGLP LQY / GLPGLP LQYHUVHH[FOXGLQJWKHSRVVLEOH]HURV        ' /L/L  : 6 /L6 /L          0V 'L :        ; 0V< '= : FDVH  FDOFXODWLRQRIGLDJ WDXBG GLDJ WDXBG *DPPNBNAVWDU PDWULFHVUHODWHGWRWKHUPDOSURSHUWLHV  E  E  LI1PDW

NLM NLMWDX WDX

HOVHNLM NLMBD NWK WDX WDXBD NWK HQG        N VTUW NLM  NLM  NLM     HTQ D B        /DPN >L NL N@    HTQ E B        GWK WKHWDDOSKD  FD FRV DOSKD   VD VLQ DOSKD         WDXBWK WDX FDVD  WDX VDFD 

HTQ E B

       WDXBKDW FRV GWK VLQ GWK WDXBWK         HTQ E B        WDXBG  WDXBKDWA[GHO  WDXBG  FRQM WDXBKDW A[GHO  SDUWRI D         WDXBG  WDXBKDW WDXBG    WDXBG  FRQM WDXBKDW WDXBG    SDUWRI E  FKDQJHWKHUHJLRQRISULQFLSDOYDOXHIURPWKHPDWODEUHJLRQ SLSL WRWKHSUREOHPUHJLRQ  SL  LIDQJOH WDXBKDW             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    HTQ E B        < GLDJ WDXBG    GLDJ WDXBKDWA [GHO ZLWK[GHO GHOWDHTQ E B        = /DPN GLDJ WDXBG LQY /DPN *DPPDBN WKHWDWKHWDB N AVWDURIHTQ E ZLWK[GHO GHOWD FDVH  FDOFXODWLRQRIWKHGHULYDWLYHVRIGLDJ WDXBG GLDJ WDXBG *DPPNBNAVWDUGHILQHGLQ   LI1PDW

NLM NLMWDX WDX

HOVHNLM NLMBD NWK WDX WDXBD NWK HQG        N VTUW NLM  NLM  NLM     HTQ D B        /DPN >L NL N@    HTQ E B        GWK WKHWDDOSKD  FD FRV DOSKD   VD VLQ DOSKD         WDXBWK WDX FDVD  WDX VDFD 

HTQ E B

       WDXBKDW FRV GWK VLQ GWK WDXBWK         HTQ E B        WDXBKS VLQ GWK FRV GWK WDXBWK  GHULYDWLYHRIWDXBKDWZUW?WKHWD        WDXB[S  [GHO WDXBKS WDXBKDWA [GHO     GHULYDWLYHRIWDXBKDWA[GHOZUW?WKHWD        WDXB[S  [GHO FRQM WDXBKS FRQM WDXBKDW A [GHO    WDNHWKHFRQMXJDWHRIPXB[S H[FOXGLQJ[GHO 

860

Appendix F: AEPH Source Code (Listed in Alphabetic Order)         WDXB[S  [GHO WDXBKS WDXBKDWA[GHO    GHULYDWLYHRIWDXBKDWA[GHOZUW?WKHWD         WDXB[S  [GHO FRQM WDXBKS FRQM WDXBKDW A[GHO   WDNHWKHFRQMXJDWHRIPXB[S H[FOXGLQJ[GHO  FKDQJHWKHUHJLRQRISULQFLSDOYDOXHIURPWKHPDWODEUHJLRQ SLSL WRWKHSUREOHPUHJLRQ  SL  LIDQJOH WDXBKDW              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    HTQ E B         < GLDJ WDXB[S    GHULYDWLYHRIGLDJ WDXBKDWA [GHO ZLWK[GHO GHOWDHTQ E B         = /DPN GLDJ WDXB[S LQY /DPN GHULYDWLYHRI*DPPDBN WKHWDWKHWDB N AVWDURIHTQ E ZLWK[GHO GHOWD RWKHUZLVH         GLVS 6W\SHVKRXOGEHRU  HQG  IXQFWLRQ>;@ , GLDJ >@       , GLDJ >@ ,W >,,,,@   HTQ DE  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

ISULQWI ILG ?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             ISULQWI ILG ?U?QVWUHVVLQWHQVLW\IDFWRUVDW II ?U?Q ;WLS N   SULQWWLSSRVLWLRQIRU6,)             SULQW7) ILG>@>@=VWUGLP  HQG FDVH  ZHGJHRUFRQWDFWSUREOHPVVLQJXODURUGHUV VWU ^ ?U?QRUGHUVRIVWUHVVVLQJXODULW\?U?Q  ˡ  ˡ  ˡ  ˡ ` IRUM GLPGHO5, M >UHDO GHOWD M LPDJ GHOWD M @HQG         SULQW7) ILG>@>@GHO5,  VWUGLP  FDVH  FRQWDFWLQWKHSUHVHQFHRIIULFWLRQVLQJXODURUGHUV         VWU ^ ?U?QRUGHUVRIVWUHVVVLQJXODULW\?U?Q  ˡ ` GHO5, >UHDO GHOWD LPDJ GHOWD @         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)LJXUHV SORWRQ[\D[LV IRU            SORWRIGLVSODFHPHQWV XXX             SORWRIVWUDLQV HSVLORQHSVLORQHSVLORQ DQG HSVLORQHSVLORQ             SORWRIVWUHVVHV VLJPDVLJPDVLJPD DQG VLJPDVLJPD  2W\SH IRXUVHWRI)LJXUHVIRU  SORWRIGHIRUPDWLRQ              FRQWRXUSORWVRIXBL [\ HSVLORQBLM [\ VLJPDBLM [\  2W\SH LQDGGLWLRQWRWKHILJXUHVSORWWHGLQ2W\SH  RQH7DEOHDQGWKUHH)LJXUHVIRUWKHVWUHVVHVDQGGHIRUPDWLRQ   7DEOHVLJPD SVL   )LJXUHVLJPDYVSVL SORWRQ[\D[LV    )LJXUHVLJPDYVSVL SORWRQWKHREMHFW   )LJXUHXBLYVSVL SORWRIGHIRUPDWLRQ  ,Q    VLJPDVLJPDBVV 2W\SH  RUVLJPDBVVVLJPDBQQVLJPDBVQ 2W\SH  RUVLJPDBQQ 2W\SH   VZLWFK2W\SH FDVH^`SORWVRIGLVSODFHPHQWVVWUDLQVDQGVWUHVVHV LIFXU

VWU ^ V  VFXPXODWLYHGLVWDQFHIURPWKHVWDUWLQJSRLQW `HOVHVWU ^ ˵ `HQG

        SORW VKXK U VKXK J VKXK E [ODEHO VWU \ODEHO XXX          OHJHQG X  X  X WLWOH GLVSODFHPHQW D[LVQRUPDO         VDYHDV I>FG ? IROGHU1DPH ?GLVSODFHPHQWVSQJ @ FOI         SORW VKHSVK U VKHSVK J VKHSVK E [ODEHO VWU \ODEHO ˢˢˢ          OHJHQG ˢ  ˢ  ˢ WLWOH LQSODQHVWUDLQV D[LVQRUPDO         VDYHDV I>FG ? IROGHU1DPH ?LQSODQHVWUDLQSQJ @ FOI         SORW VKHSVK U VKHSVK J [ODEHO VWU \ODEHO ˢˢ          OHJHQG ˢ  ˢ WLWOH RXWRISODQHVWUDLQV D[LVQRUPDO         VDYHDV I>FG ? IROGHU1DPH ?RXWRISODQHVWUDLQSQJ @ FOI         SORW VKVLJK U VKVLJK J VKVLJK E [ODEHO VWU \ODEHO ˰˰˰          OHJHQG ˰  ˰  ˰ WLWOH LQSODQHVWUHVVHV D[LVQRUPDO         VDYHDV I>FG ? IROGHU1DPH ?LQSODQHVWUHVVSQJ @ FOI         SORW VKVLJK U VKVLJK J [ODEHO VWU \ODEHO ˰˰          OHJHQG ˰  ˰ WLWOH RXWRISODQHVWUHVVHV D[LVQRUPDO

865

866

Appendix F: AEPH Source Code (Listed in Alphabetic Order)         VDYHDV I>FG ? IROGHU1DPH ?RXWRISODQHVWUHVVSQJ @ FOI     LI2W\SH

  WDQJHQWLDOVWUHVVRQDFXUYLOLQHDUFXUYHHJKRRSVWUHVV

LIPLQ LVQDQ VLJVVK

   RXWSXWWDEOHDQGILJXUHRIKRRSVWUHVVRQO\ZKHQWKHLUGDWDDUHDYDLODEOH

                VWU ^ ?U?Q7DEOHRIKRRSVWUHVV?U?Q  ˵  ˰VV `                 SULQW7) ILGVK>@VLJVVK;LN8LNVWUYN  [\SORWRIKRRSVWUHVV                 SORW VKVLJVVK [ODEHO ˵ \ODEHO ˰VV WLWOH KRRSVWUHVV D[LVQRUPDO                 VDYHDV I>FG ? IROGHU1DPH ?KRRSVWUHVVSQJ @   HQG SORW GHIRUPDWLRQKRRSVWUHVV RQWKHREMHFWVXFKDVKROH             = >XKXKVLJVVK@               SULQW7) I[\=;LN8LN KRRSVWUHVV YN  HQG LI2W\SH

  LQWHUQDOVXUIDFHWUDFWLRQRQDFXUYLOLQHDUFXUYHHJLQWHUIDFLDOVWUHVVHV

            =K >VLJVVKVLJQQKVLJVQK@Q  LI/W\SH

_/W\SH

            LIPLQ PLQ LVQDQ =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



                    SORW VKVLJVVK  VKVLJQQK  VKVLJVQK  VKVLJVVK  OHJHQG ˰VV  ˰QQ  ˰VQ  ˰VV                      [ODEHO ˵ \ODEHO ˰VV˰QQ˰VQ˰VV WLWOH VWUHVVHVLQVQFRRUGLQDWH D[LVQRUPDO                     VDYHDV I>FG ? IROGHU1DPH ?LQWHUIDFHVWUHVVHVSQJ @   HOVH                     SORW VKVLJVVK  VKVLJQQK  VKVLJVQK  OHJHQG ˰VV  ˰QQ  ˰VQ                      [ODEHO ˵ \ODEHO ˰VV˰QQ˰VQ WLWOH VWUHVVHVLQVQFRRUGLQDWH D[LVQRUPDO                     VDYHDV I>FG ? IROGHU1DPH ?LQWHUIDFHVWUHVVHVSQJ @  HQG HQG SORW GHIRUPDWLRQVWUHVVHV RQWKHREMHFWVXFKDVLQFOXVLRQ             = >XKXK=K@             SULQW7) I[\=;LN8LN LQWHUIDFHVWUHVV QYN  HQG LI2W\SH

  QRUPDOVWUHVVRQDOLQHRUFXUYHHJFRQWDFWSUHVVXUH

LIPLQ LVQDQ VLJQQK

  RXWSXWWDEOHDQGILJXUHRIQRUPDOVWUHVVHVRQO\ZKHQWKH\DUHDYDLODEOH

                VWU ^ ?U?Q7DEOHRIQRUPDOVWUHVV?U?Q  V  ˰QQ `                 SULQW7) ILGVK>@VLJQQK;LN8LNVWUYN  [\SORWRIQRUPDOVWUHVV                 SORW VKVLJQQK [ODEHO VWU \ODEHO ˰QQ WLWOH QRUPDOVWUHVV D[LVQRUPDO                 VDYHDV I>FG ? IROGHU1DPH ?QRUPDOVWUHVVSQJ @   HQG SORW GHIRUPDWLRQQRUPDOVWUHVVHV 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 QXPVWU VFDOH H  @`          OHJHQG EHIRUHGHIRUPDWLRQ  DIWHUGHIRUPDWLRQ  /RFDWLRQ  VRXWKRXWVLGH OHJHQG ER[RII          \ODEHO \ WLWOH GHIRUPDWLRQ D[LVHTXDO WLJKW         VDYHDV I>FG ? IROGHU1DPH ?GHIRUPDWLRQSQJ @ FOI          VWU ^ GLVSODFHPHQWX  GLVSODFHPHQWX  GLVSODFHPHQWX `         = FDW XXX          SULQW7) I[\=;LN8LNVWUYN   FRQWRXUSORWRIGLVSODFHPHQWVXXX  VWU ^ VWUDLQˢ  VWUDLQˢ  VWUDLQˢ  VWUDLQˢ  VWUDLQˢ `         = FDW HSVHSVHSVHSVHSV          SULQW7) I[\=;LN8LNVWUYN   FRQWRXUSORWRIVWUDLQVHSVHSVHSVHSVHSV  VWU ^ VWUHVV˰  VWUHVV˰  VWUHVV˰  VWUHVV˰  VWUHVV˰ `         = FDW VLJVLJVLJVLJVLJ          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)LJXUHV SORWRQ[\D[LV IRU  SORWRIHOHFWULFILHOG ((             SORWRIHOHFWULFGLVSODFHPHQW ''  2W\SH WZRVHWRI)LJXUHVIRUWKHFRQWRXUSORW  (BL [\   'BL [\  2W\SH LQDGGLWLRQWRWKH)LJXUHVSORWWHGE\2W\SH  RQH7DEOHDQGWZR)LJXUHVIRUWKHHOHFWULFGLVSODFHPHQW   7DEOH'V SVL   )LJXUH'VYVSVL SORWRQ[\D[LV    )LJXUH'VYVSVL SORWRQWKHREMHFW  VZLWFK2W\SH FDVH^`SORWVRIHOHFUWULFILHOGVDQGHOHFWULFGLVSODFHPHQWV LIFXU

VWU ^ V  VFXPXODWLYHGLVWDQFHIURPWKHVWDUWLQJSRLQW `HOVHVWU ^ ˵ `HQG

        SORW VK(K U VK(K J [ODEHO VWU \ODEHO ((          OHJHQG (  ( WLWOH HOHFWULFILHOGV D[LVQRUPDO         VDYHDV I>FG ? IROGHU1DPH ?HOHFWULFILHOGVSQJ @ FOI         SORW VK'K U VK'K J [ODEHO VWU \ODEHO ''          OHJHQG '  ' WLWOH HOHFWULFGLVSODFHPHQWV D[LVQRUPDO         VDYHDV I>FG ? IROGHU1DPH ?HOHFWULFGLVSODFHPHQWVSQJ @ FOI LI2W\SH

_2W\SH

  HOHFWULFGLVSODFHPHQWDORQJDFXUYH

            =K 'VKQ LI/W\SH LIPLQ PLQ LVQDQ =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



                    SORW VK'VK  VK'VK  [ODEHO ˵ \ODEHO 'V'V OHJHQG 'VPDWUL[  'VLQFOXVLRQ                      WLWOH HOHFWULFGLVSODFHPHQWDORQJWKHLQFOXVLRQERXQGDU\ D[LVQRUPDO                     VDYHDV I>FG ? IROGHU1DPH ?HOHFWULFGLVSODFHPHQWSQJ @  HOVH                     SORW VK'VK [ODEHO ˵ \ODEHO 'V                      WLWOH HOHFWULFGLVSODFHPHQWDORQJWKHLQFOXVLRQERXQGDU\ D[LVQRUPDO                     VDYHDV I>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

        SORW VK+K U VK+K J [ODEHO VWU \ODEHO ++          OHJHQG +  + WLWOH PDJQHWLFILHOGV D[LVQRUPDO         VDYHDV I>FG ? IROGHU1DPH ?PDJQHWLFILHOGVSQJ @ FOI         SORW VK%K U VK%K J [ODEHO VWU \ODEHO %%          OHJHQG %  % WLWOH PDJQHWLFIOX[HV D[LVQRUPDO         VDYHDV I>FG ? IROGHU1DPH ?PDJQHWLFIOX[HVSQJ @ FOI LI2W\SH

_2W\SH

  PDJQHWLFIOX[HVDORQJDFXUYH

            =K %VKQ LI/W\SH LIPLQ PLQ LVQDQ =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



                    SORW VK%VK  VK%VK  [ODEHO ˵ \ODEHO %V%V OHJHQG %VPDWUL[  %VLQFOXVLRQ                      WLWOH PDJQHWLFIOX[HVDORQJWKHLQFOXVLRQERXQGDU\ D[LVQRUPDO                     VDYHDV I>FG ? IROGHU1DPH ?PDJQHWLFIOX[HVSQJ @  HOVH                     SORW VK%VK [ODEHO ˵ \ODEHO %V                      WLWOH PDJQHWLFIOX[DORQJWKHLQFOXVLRQERXQGDU\ D[LVQRUPDO                     VDYHDV I>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  7LN GLP EHWD  8LN G EHWD  8LN G      HSV  8LN  HSV  8LN  8LN  HSV  8LN       NDS  8LN G NDS  8LN G NDS  8LN G      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  7LN GLP EHWD 8LN G EHWD 8LN G      HSV 8LN  HSV 8LN  8LN  HSV 8LN       NDS 8LN G NDS 8LN G NDS 8LN G      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)LJXUHV SORWRQ[\D[LV IRU            SORWRIGLVSODFHPHQWV XXX DQG EHWDEHWD             SORWRIVWUDLQV HSVHSVHSV DQG NDSNDSNDS             SORWRIVWUHVVHV 111 DQG 000  2W\SH WKUHHVHWRI)LJXUHVIRUWKHFRQWRXUSORW   XBL [\  EHWDBL [\   HSVLORQBLM [\  NDSSDBLM [\   1LM [\  0LM [\  2W\SH LQDGGLWLRQWRWKH)LJXUHVSORWWHGE\2W\SH  RQH7DEOHDQGWKUHH)LJXUHVIRUWKHVWUHVVHVDQGGHIRUPDWLRQ   7DEOHVLJPD SVL   )LJXUHVLJPDYVSVL SORWRQ[\D[LV    )LJXUHVLJPDYVSVL SORWRQDFXUYH   )LJXUHXBLYVSVL SORWRIGHIRUPDWLRQ  ,Q    VLJPD1VV0VV0VQ VZLWFK2W\SH FDVH^`SORWRIGLVSODFHPHQWVVWUDLQVVWUHVVHVUHVXOWDQWV EHQGLQJPRPHQWV LIFXU

VWU ^ V  VFXPXODWLYHGLVWDQFHIURPWKHVWDUWLQJSRLQW `HOVHVWU ^ ˵ `HQG

       SORW VKXK U VKXK J VKXK E [ODEHO VWU \ODEHO XYZ         OHJHQG X  Y  Z WLWOH GLVSODFHPHQWV D[LVQRUPDO        VDYHDV I>FG ? IROGHU1DPH ?GLVSODFHPHQWVSQJ @ FOI        SORW VKEHWDK U VKEHWDK J [ODEHO VWU \ODEHO ˟˟         OHJHQG ˟  ˟ WLWOH VORSHV D[LVQRUPDO        VDYHDV I>FG ? IROGHU1DPH ?VORSHVSQJ @ FOI        SORW VKHSVK U VKHSVK E VKHSVK J [ODEHO VWU \ODEHO ˢˢˢ         OHJHQG ˢ  ˢ  ˢ WLWOH VWUDLQV D[LVQRUPDO        VDYHDV I>FG ? IROGHU1DPH ?VWUDLQVSQJ @ FOI        SORW VKNDSK U VKNDSK E VKNDSK J [ODEHO VWU \ODEHO NNN 

3UREOHPVZLWK

872

Appendix F: AEPH Source Code (Listed in Alphabetic Order)        OHJHQG N  N  N WLWOH FXUYDWXUHV D[LVQRUPDO        VDYHDV I>FG ? IROGHU1DPH ?FXUYDWXUHVSQJ @ FOI        SORW VK1K U VK1K E VK1K J [ODEHO VWU \ODEHO 111         OHJHQG 1  1  1 WLWOH VWUHVVUHVXOWDQWV D[LVQRUPDO        VDYHDV I>FG ? IROGHU1DPH ?VWUHVVUHVXOWDQWVSQJ @ FOI        SORW VK0K U VK0K E VK0K J [ODEHO VWU \ODEHO 000         OHJHQG 0  0  0 WLWOH EHQGLQJPRPHQWV D[LVQRUPDO        VDYHDV I>FG ? IROGHU1DPH ?EHQGLQJPRPHQWVSQJ @ FOI  LI2W\SH

WDQJHQWLDOVWUHVVRQDFXUYLOLQHDUFXUYHHJKRRSVWUHVV1VV0VV0VQ

           =K >1VVK0VVK0VQK@QXP  LI/W\SH

__/W\SH

LIPLQ LVQDQ =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



                   SORW VK1VVK  VK0VVK  VK0VQK  VK1VVK [ VK0VVK R VK0VQK                      OHJHQG 1VV  0VV  0VQ  1VV  0VV  0VQ  HOVH                    SORW VK1VVK  VK0VVK  VK0VQK  OHJHQG 1VV  0VV  0VQ  HQG                [ODEHO ˵ \ODEHO 1VV0VV0VQ WLWOH KRRSVWUHVVHV D[LVQRUPDO                VDYHDV I>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 LIPLQ LVQDQ =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



                   SORW VK1VVK  VK0VVK  VK0VQK  VK1QQK R VK0QQK  VK1VQK

VK1VVK [ VK0VVK V VK0VQK                      OHJHQG 1VV  0VV  0VQ  1QQ  0QQ  1VQ  1VV  0VV  0VQ  HOVH                    SORW VK1VVK  VK0VVK  VK0VQK  VK1QQK R VK0QQK  VK1VQK

                      OHJHQG 1VV  0VV  0VQ  1QQ  0QQ  1VQ  HQG                [ODEHO ˵ \ODEHO 1VV0VV0VQ1QQ0QQ1VQ WLWOH VWUHVVHVLQVQFRRUGLQDWH D[LVQRUPDO                VDYHDV I>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 QXPVWU VFDOH H  @`         OHJHQG EHIRUHGHIRUPDWLRQ  DIWHUGHIRUPDWLRQ  /RFDWLRQ  VRXWKRXWVLGH OHJHQG ER[RII         \ODEHO \ WLWOH GHIRUPDWLRQ D[LVHTXDO WLJKW        VDYHDV I>FG ? IROGHU1DPH ?3ORWRIGHIRUPDWLRQSQJ @ FOI         VWU ^ GLVSODFHPHQWX  GLVSODFHPHQWX  GLVSODFHPHQWX  URWDWLRQ˟  URWDWLRQ˟ `        = FDW XXXEHWDEHWD         SULQW7) I[\=;LN8LNVWUYN   VWU ^ VWUDLQˢ  VWUDLQˢ  VWUDLQˢ  FXUYDWXUHN  FXUYDWXUHN  FXUYDWXUHN `        = FDW HSVHSVHSVNDSNDSNDS         SULQW7) I[\=;LN8LNVWUYN          VWU ^ VWUHVVUHVXOWDQW1  VWUHVVUHVXOWDQW1  VWUHVVUHVXOWDQW1  EHQGLQJPRPHQW0  EHQGLQJPRPHQW0  EHQGLQJ PRPHQW0 `        = FDW 111000         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    (  8LN G   (  8LN  (  8LN G     '  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    ( 8LN G   ( 8LN  ( 8LN G     ' 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)LJXUHV SORWRQ[\D[LV IRU  SORWRIHOHFWULFILHOG ((((             SORWRIHOHFWULFGLVSODFHPHQW ''V''V  2W\SH WZRVHWRI)LJXUHVIRUWKHFRQWRXUSORW  (BL [\   'BL [\  2W\SH LQDGGLWLRQWRWKH)LJXUHVSORWWHGE\2W\SH  RQH7DEOHDQGWZR)LJXUHVIRUWKHHOHFWULFGLVSODFHPHQW   7DEOH'V SVL   )LJXUH'VYVSVL SORWRQ[\D[LV    )LJXUH'VYVSVL SORWRQDFXUYH  VZLWFK2W\SH FDVH^`   SORWRIHOHFWULFILHOGVDQGHOHFWULFGLVSODFHPHQWV LIFXU

VWU ^ V  VFXPXODWLYHGLVWDQFHIURPWKHVWDUWLQJSRLQW `HOVHVWU ^ಫ˵ಬ`HQG

        SORW VK(K U VK(K J VK(K E VK(K \ [ODEHO VWU \ODEHO ((((          OHJHQG (  (  (  ( WLWOH HOHFWULFILHOGV D[LVQRUPDO         VDYHDV I>FG ? IROGHU1DPH ?HOHFWULFILHOGVSQJ @ FOI         SORW VK'K U VK'VK J VK'K E VK'VK \ [ODEHO VWU \ODEHO ''V''V          OHJHQG '  'V  '  'V WLWOH HOHFWULFGLVSODFHPHQWV D[LVQRUPDO         VDYHDV I>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



                SORW VK'VK  VK'VVK  VK'VK  VK'VVK [                  OHJHQG 'V  'VV  'V  'VV  HOVH                 SORW VK'VK  VK'VVK  OHJHQG 'V  'VV  HQG             [ODEHO ಫ˵ಬ \ODEHO 'V'VV WLWOH HOHFWULFGLVSODFHPHQW D[LVQRUPDO             VDYHDV I>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



                SORW VK'VK  VK'VVK  VK'QK  VK'QQK [ VK'VK R VK'VVK                   OHJHQG 'V  'VV  'Q  'QQ  'V  'VV  HOVH                 SORW VK'VK  VK'VVK  VK'QK  VK'QQK [ OHJHQG 'V  'VV  'Q  'QQ  HQG             [ODEHO ಫ˵ಬ \ODEHO 'V'VV'Q'QQ WLWOH HOHFWULFGLVSODFHPHQW D[LVQRUPDO             VDYHDV I>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)LJXUHV SORWRQ[\D[LV IRU  SORWRIPDJQHWLFILHOG ++++             SORWRIPDJQHWLFIOX[ %%V%%V  2W\SH WZRVHWRI)LJXUHVIRUWKHFRQWRXUSORW  +BL [\   %BL [\  2W\SH LQDGGLWLRQWRWKH)LJXUHVSORWWHGE\2W\SH  RQH7DEOHDQGWZR)LJXUHVIRUWKHPDJQHWLFIOX[   7DEOH%V SVL   )LJXUH%VYVSVL SORWRQ[\D[LV    )LJXUH%VYVSVL SORWRQDFXUYH  VZLWFK2W\SH FDVH^`   SORWRIPDJQHWLFILHOGVDQGPDJQHWLFIOX[HV LIFXU

VWU ^ V  VFXPXODWLYHGLVWDQFHIURPWKHVWDUWLQJSRLQW `HOVHVWU ^ಫ˵ಬ`HQG

       SORW VK+K U VK+K J VK+K E VK+K \ [ODEHO VWU \ODEHO ++++         OHJHQG +  +  +  + WLWOH PDJQHWLFILHOGV D[LVQRUPDO        VDYHDV I>FG ? IROGHU1DPH ?PDJQHWLFILHOGVSQJ @ FOI        SORW VK%K U VK%VK J VK%K E VK%VK \ [ODEHO VWU \ODEHO %%V%%V         OHJHQG %  %V  %  %V WLWOH PDJQHWLFIOX[HV D[LVQRUPDO        VDYHDV I>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



               SORW VK%VK  VK%VVK  VK%VK  VK%VVK [ OHJHQG %V  %VV  %V  %VV 

Appendix F: AEPH Source Code (Listed in Alphabetic Order)

877

HOVH                 SORW VK%VK  VK%VVK  OHJHQG %V  %VV  HQG             [ODEHO ಫ˵ಬ \ODEHO %V%VV WLWOH PDJQHWLFIOX[HV D[LVQRUPDO             VDYHDV I>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



                SORW VK%VK  VK%VVK  VK%QK  VK%QQK [ VK%VK R VK%VVK                   OHJHQG %V  %VV  %Q  %QQ  %V  %VV  HOVH                 SORW VK%VK  VK%VVK  VK%QK  VK%QQK [ OHJHQG %V  %VV  %Q  %QQ  HQG             [ODEHO ಫ˵ಬ \ODEHO %V%VV%Q%QQ WLWOH PDJQHWLFIOX[HV D[LVQRUPDO             VDYHDV I>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)LJXUHV SORWRQ[\D[LV IRU  SORWRIHOHFWULFILHOG ((((             SORWRIHOHFWULFGLVSODFHPHQW ''V''V  2W\SH RQH)LJXUHVIRUWKHFRQWRXUSORW  KHDW)BL [\ 7HPS [\  VZLWFK2W\SH FDVH   SORWRIHOHFWULFILHOGVDQGHOHFWULFGLVSODFHPHQWV LIFXU

VWU ^ V  VFXPXODWLYHGLVWDQFHIURPWKHVWDUWLQJSRLQW `HOVHVWU ^ಫ˵ಬ`HQG

        SORW VKKHDW)K U VKKHDW)K J VKKHDW)K E [ODEHO VWU \ODEHO KKK          OHJHQG K  K  K WLWOH KHDWIOX[ D[LVQRUPDO         VDYHDV I>FG ? IROGHU1DPH ?KHDWIOX[SQJ @ FOI         SORW VK7HPSK U [ODEHO VWU \ODEHO 7          WLWOH WHPSHUDWXUH D[LVQRUPDO         VDYHDV I>FG ? IROGHU1DPH ?WHPSHUDWXUHSQJ @ FOI FDVH   FRQWRXUSORWIRUKHDWIOX[DQGWHPSHUDWXUH  KHDW)BL [\ 7HPS [\         VWU ^ KHDWIORZK  KHDWIORZK  KHDWIORZK  WHPSHUDWXUH7 `         = FDW KHDW)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)LJXUHV SORWRQ[\D[LV IRU  SORWRIHOHFWULFILHOG ((((             SORWRIHOHFWULFGLVSODFHPHQW ''V''V  2W\SH WZRVHWVRI)LJXUHVIRUWKHFRQWRXUSORW  KHDW)BL [\ 7HPS [\  VZLWFK2W\SH FDVH   SORWRIHOHFWULFILHOGVDQGHOHFWULFGLVSODFHPHQWV LIFXU

VWU ^ V  VFXPXODWLYHGLVWDQFHIURPWKHVWDUWLQJSRLQW `HOVHVWU ^ಫ˵ಬ`HQG

        SORW VKKHDW)K U VKKHDW)K J VKKHDW)K E [ODEHO VWU \ODEHO KKK          OHJHQG K  K  K WLWOH UHVXOWDQWKHDWIOX[ D[LVQRUPDO         VDYHDV I>FG ? IROGHU1DPH ?UHVXOWDQWKHDWIOX[SQJ @ FOI         SORW VK7HPSK U [ODEHO VWU \ODEHO 7          WLWOH WHPSHUDWXUH D[LVQRUPDO         VDYHDV I>FG ? IROGHU1DPH ?WHPSHUDWXUHSQJ @ FOI FDVH   FRQWRXUSORWIRUKHDWIOX[DQGWHPSHUDWXUH  KHDW)BL [\ 7HPS [\         VWU ^ KHDWIORZK  KHDWIORZK `         = FDW KHDW)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 LILVQDQ 6WP L



        ISULQWI 1RDYDLODEOHGDWDIRUWKHWLPHQHDUHVWWRWKHGWKVHOHFWHGWLPH?Q L          ISULQWI IROGHU1DPH   UHSRQVHVDWWLPH QXPVWU WLPHN LW @QDPHRIVXEIROGHU             PNGLU IROGHU1DPH   FUHDWHDVXEIROGHUIRU)LJXUHVRIWKHVHOHFWHGWLPH HQG         ISULQWI ILG ?U?QWLPH I?U?Q WLPHN LW          7DEOH)LJ' ;LN8LN7LNYN  LI3W\SHa   7DEOH)LJ3 ;LN8LN7LNYN    HQG LI3W\SH!  7DEOH)LJ0 ;LN8LN7LNYN    HQG

HQG HQG IRUM Q[\  7DEOHVDQG)LJXUHVYVWLPHIRUWKHVHOHFWHGSRLQWJHQHUDWHGLQIXQFWLRQLQWHUQDO LILVQDQ 6[\ M



879

880

Appendix F: AEPH Source Code (Listed in Alphabetic Order)         ISULQWI 1RDYDLODEOHGDWDIRUWKHSRLQWQHDUHVWWRWKHGWKVHOHFWHGSRVLWLRQ?Q M          ISULQWI IROGHU1DPH   UHSRQVHVDW[ QXPVWU [  \ QXPVWU \ @QDPHRIVXEIROGHU         PNGLU IROGHU1DPH   FUHDWHDVXEIROGHUIRU7DEOHVDQG)LJXUHVRIWKHVHOHFWHGSRVLWLRQ         ISULQWI ILG ?U?QSRVLWLRQ[ H\ H?U?Q [\          7DEOH)LJ7LPH 8LN7LN[\   IRUG\QDPLFRUYLVFRHODVWLFSUREOHPV HQG HQG IROGHU1DPH IROGHU1DPH  UHWXUQWKHRUJLQDOILOHQDPHDQGIROGHUQDPH VDYH LQSXWBUHVXOW  ;LN  8LN  7LN  YN  WLPHN  ;WLS  [  \  FXU  GLP  Q[  VXUI  DSSHQG   VDYHWKHUHVXOWVIRUODWHUXVH  IXQFWLRQ7DEOH)LJ7LPH 8LN7LN[\  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  HOVHVLJVVK QWV QDQHQG

Appendix F: AEPH Source Code (Listed in Alphabetic Order) 2XWSXWWKUHH7DEOHVDQGWKUHH)LJXUHVIRUGLVSODFHPHQWVVWUDLQVDQGVWUHVVHV   XBL W   HSVLORQBLM W   VLJPDBLM W  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@ LIPLQ PLQ LVQDQ =K



   SULQW7) ILGWLPHN>@=K>@>@VWU   SULQWWDEOH    SULQW7) IWLPHN>[\@=K>@>@VWU SULQWILJXUH HQG LI3W\SHa   2XWSXWWKUHH7DEOHVDQGWKUHH)LJXUHVIRUHOHFWULFILHOGVDQGHOHFWULFGLVSODFHPHQWV   (BL W   'BL W      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 ` LIPLQ PLQ LVQDQ 'VK



        SULQW7) ILGWLPHN>@'VK>@>@VWU   SULQWWDEOH         SULQW7) IWLPHN>[\@'VK>@>@VWU SULQWILJXUH HQG LI3W\SH!  2XWSXWWKUHH7DEOHVDQGWKUHH)LJXUHVIRUPDJQHWLFILHOGVDQGPDJQHWLFIOX[   +BL W   %BL W          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 ` LIPLQ PLQ LVQDQ %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  ISULQWI IVWU^`   ISULQWI I>IRUP;^`IRUPIRUP;^`IRUP7N7N@   D PDWUL[ 'HODVWLFSUREOHPV          &N LQY **NL *N 7N*NL FRQM 7N    HTQ E D PDWUL[         (N %L FRQM % &N % GLDJ JDPPDAN &N   HTQ E D PDWUL[         )N    QRXVHDQGKHQFHVHWWR]HUR FDVH    GHULYDWLYHVRI7&()SRLQWIRUFHLQVLGHWKHLQFOXVLRQ LI/W\SH!DOSKD HQG

GHIDXOWIRUQRQ%(0SUREOHPV

        ]BKDW DL E PX  ]HWDBKDW DL E PX ]HWDBKDW  ILUVWWZRWHUPVRIHTQ           ]HWDBKDWS ]HWDBKDW DL E PX  ]HWDBKDW]BKDW    HTQ E          ]HWDNJ ]HWDBKDWA N  JDPPDAN  ]HWDBKDWA N  ]HWDBKDWS  SDUWRIHTQ F          ]$ GLDJ ]HWDNJ $ SDUWRIHTQ F B         ]BKDW FRV DOSKD PX VLQ DOSKD ]BKDW VLQ DOSKD PX FRV DOSKD   HTQ E B         7N FRQM 00 $ GLDJ ]BKDW ]$   7N FRQM 00 $ GLDJ ]BKDW ]$   HTQ F          7N >7N7N@   D PDWUL[ 'HODVWLFSUREOHPV          &N LQY **NL *N 7N*NL FRQM 7N    HTQ  B         (N %L FRQM % &N % GLDJ JDPPDAN &N   HTQ  B         )N (N>%L % GLDJ ]BKDW ]$%L % GLDJ ]BKDW ]$@

HTQ D 

HQG

F199: thermal IXQFWLRQ>NLMDOSKDLMEHWDLM.WLM.WLMV$WLM%WLM'WLM@ WKHUPDO LQSXWSURS  7+(50$/ ,13873523 SURYLGHVKHDWFRQGXFWLRQFRHIILFLHQWWKHUPDOH[SDQVLRQFRHIILFLHQWDQG WKHUPDOPRGXOXV NLMDOSKDLMEHWDLM DQGWKHLUUHGXFHGYDOXHVIRUWZRGLPHQVLRQDOSUREOHPV ,IWKHFRXSOHGVWUHWFKLQJEHQGLQJSUREOHPVDUHFRQVLGHUHGWKHUHVXOWDQWKHDWFRQGXFWLRQFRHIILFLHQWV .WLM.WLMVDVZHOODVWKHWKHUPDOH[WHQVLRQDOFRXSOLQJDQGEHQGLQJVWLIIQHVVHV$WLM%WLM'WLM ZLOODOVREHFDOFXODWHGLQWKLVIXQFWLRQ 7ZRDX[LOLDU\IXQFWLRQVUHVSRQVLEOHIRUWKHWUDQVIRUPDWLRQEHWZHHQDOSKDLMDQGEHWDLMDUHXVHG WRDVVLVWWKHFDOFXODWLRQRIWKHUPDO2QHLVDOSKDWREHWDDQGWKHRWKHULVEHWDWRDOSKD 7ZRRWKHUDX[LOLDU\IXQFWLRQVYHFWRUWRPDWUL[DQGPDWUL[WRYHFWRU DUHXVHGWRWUDQVIHUEHWZHHQWHQVRUQRWDWLRQDQGFRQWUDFWHGQRWDWLRQDVVKRZQLQ E  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[SDQVLRQFRHIILFLHQWVDQGYHFWRURIWKHUPDOPRGXOLHTQ E  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 ]HURV GLP   EHWDLM ]HURV GLP   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

HTQ D 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@ DOSKDWREHWD DOSKDLMJ&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@ DOSKDWREHWD DOSKDLMJ&LM    JHWEHWDLMIURPDOSKDLM FDVH    LQSXWWKHUPDOSURSHUWLHVWKURXJKNLMDQGEHWDLMDQLVRWURSLFHODVWLFSLH]RHOHFWULFRU0((PDWHULDOV         NLM  LQSXW  LQSXWNLME\WKHIROORZLQJVHTXHQFH>NNNNNNNNN@         EHWDLM GLP LQSXW GLP LQSXWEHWDLME\WKHIROORZLQJVHTXHQFH>EHWDEHWDEHWDEHWD@         >DOSKDLMDOSKDBYEHWDBY@ EHWDWRDOSKD EHWDLMLQY J&LM    JHWDOSKDLMIURPEHWDLM FDVH    LQSXWWKHUPDOSURSHUWLHVWKURXJKNLMDQGDOSKDLMDQLVRWURSLFHODVWLFSLH]RHOHFWULFRU0((PDWHULDOV         NLM  LQSXW  LQSXWNLME\WKHIROORZLQJVHTXHQFH>NNNNNNNNN@         DOSKDLM GLP LQSXW GLP LQSXWDOSKDLME\WKHVHTXHQFH>DOSKDDOSKDDOSKDDOSKD@         >EHWDLMDOSKDBYEHWDBY@ DOSKDWREHWD DOSKDLMJ&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 FRVG DOSKDBI VG VLQG DOSKDBI          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@ DOSKDWREHWD DOSKDLMJ&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                 N L LQSXW L   N L LQSXW L 

WKHUPDOFRQGXFWLYLW\

                DOSKD L LQSXW L   DOSKD L LQSXW L    WKHUPDOH[SDQVLRQ HOVHLI3W\SHa    ODPLQDWHVZLWKSLH]RRU0((SURSHUWLHV                 L GLP L L GLP L                   NLMBP L LQSXW LL    NLMBP PDWUL[                 DOSKDLMBP L LQSXW LL DOSKDLMBPGLP PDWUL[ HQG HQG         WKLFNQHVV NLM6 DOSKDLM6  IRUN Q   WKHOD\XSLVFRXQWHGIURPWRSWRERWWRP LI(W\SHa    IRUWKHOD\HUZLWKSXUHHODVWLFSURSHUWLHV                 N NQBPPN SURS N DOSKDN SURS N WN N SURS N  PDWHULDOW\SHRIWKHNWKOD\HUILEHURULHQWDWLRQRIWKHNWKOD\HU XQLWGHJUHH WKLFNQHVVRIWKHNWKOD\HU                 FG FRVG DOSKDN VG VLQG DOSKDN                  NLM  N PN FGAN PN VGA  NLM  N PN VGAN PN FGA                 NLM  N PN N PN FG VG    NLM  NLM     NLM  N PN                     DOSKDLM  DOSKD PN FGADOSKD PN VGA                   DOSKDLM  DOSKD PN VGADOSKD PN FGA                 DOSKDLM  DOSKD PN DOSKD PN FG VG                 DOSKDLM  DOSKDLM     DOSKDLM  DOSKD PN     HOVHLI3W\SHa   IRUWKHOD\HUZLWKSLH]RRU0((SURSHUWLHV LI3W\SH                     S   LG IRUSLH]R                     &LMBN N >&LM(BN N HLMBN N HLMBN N ZLMHBN N @ HOVH                     S LG IRU0((                     &LMBN N >>&LM(+BN N HLM+BN N HLM+BN N ZLMH+BN N @                         >TLM(BN N PLMHBN N @TLM(BN N PLMHBN N [LLMHBN N @ HQG                 N NS QBPPN SURS N WN N SURS N                  NLM NLMBP PN   DOSKDLM DOSKDLMBP PN  HQG             >EHWDLMDOSKDBY%HWDBY N @ DOSKDWREHWD DOSKDLM&LMBN N    JHWEHWDLMIURPDOSKDLMRINWKOD\HU             .LM N NLM   WKHUPDOFRQGXFWLYLW\RINWKOD\HU              NLM6 NLM6NLM WN N     NLM6VXPPDWLRQRINLM WN N              DOSKDLM6 DOSKDLM6DOSKDLM WN N   DOSKDLM6VXPPDWLRQRIDOSKDLM WN N              WKLFNQHVV WKLFNQHVVWN N  HQG         NLM NLM6WKLFNQHVV    WKHUPDOFRQGXFWLYLW\         DOSKDLM DOSKDLM6WKLFNQHVVWKHUPDOH[SDQVLRQFRHIILFLHQW         >EHWDLMDOSKDBYEHWDBY@ DOSKDWREHWD DOSKDLMJ&LM    JHWEHWDLMIURPDOSKDLM RWKHUZLVH         GLVS 8QNQRZQWKHUPDOSURSHUWLHV  HQG .WLM .WLMV $WLM %WLM 'WLM    GHIDXOW VZLWFK'W\SH FDVH^`   JHQHUDOL]HGSODQHVWUDLQ HSVLORQ  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 RSHQFLUFXLWHTQ D         >EHWDBY@ 0(('WR'WK EHWDBY&LM(HLMZLMH  FDVH     JHQHUDOL]HGSODQHVWUHVV VKRUWFLUFXLWHTQ E         >EHWDBY@ 0(('WR'WK EHWDBY&LM(HLMZLMH  FDVH     JHQHUDOL]HGSODQHVWUHVV RSHQFLUFXLWHTQ F         >&LM(BKDWHLMBKDWZLMHBKDWTTT@ 0(('WR' &LM(HLMZLMH          >EHWDBKDW@ 0(('WR'WK EHWDBY&LM(HLMZLMH          >EHWDBY@ 0(('WR'WK EHWDBKDW&LM(BKDWHLMBKDWZLMHBKDW  FDVH  VWDWHJHQHUDOL]HGSODQHVWUDLQ (  % HTQ E         >EHWDBY@ 0(('WR'WK EHWDBY&LM(+HLM+ZLMH+TLM(PLMH[LLMH  FDVH  VWDWHJHQHUDOL]HGSODQHVWUDLQ '  + HTQ E         >EHWDBY@ 0(('WR'WK EHWDBY&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'WK EHWDBY&LM(+HLM+ZLMH+TLM(PLMH[LLMH          >EHWDBY@ 0(('WR'WK EHWDBVW&LM(BVWHLMBVWZLMHBVWTLM(BVWPLMHBVW[LLMHBVW  FDVH  VWDWHJHQHUDOL]HGSODQHVWUHVV (  +  E         >EHWDBY@ 0(('WR'WK EHWDBY&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'WK EHWDBY&LM(+HLM+ZLMH+TLM(PLMH[LLMH          >EHWDBY@ 0(('WR'WK EHWDBVW&LM(BVWHLMBVWZLMHBVWTLM(BVWPLMHBVW[LLMHBVW  FDVH  VWDWHJHQHUDOL]HGSODQHVWUHVV '  +  E         >&LM(BEDHLMBEDZLMHBEDTLM(BEDPLMHBED[LLMHBED@ 0(('WR' &LM(+HLM+ZLMH+TLM(PLMH[LLMH          >EHWDBED@ 0(('WR'WK EHWDBY&LM(+HLM+ZLMH+TLM(PLMH[LLMH          >EHWDBY@ 0(('WR'WK EHWDBED&LM(BEDHLMBEDZLMHBEDTLM(BEDPLMHBED[LLMHBED  FDVH  VWDWHJHQHUDOL]HGSODQHVWUHVV '  %  E         >&LM(BVWHLMBVWZLMHBVWTLM(BVWPLMHBVW[LLMHBVW@ 0(('WR' &LM(+HLM+ZLMH+TLM(PLMH[LLMH          >EHWDBVW@ 0(('WR'WK EHWDBY&LM(+HLM+ZLMH+TLM(PLMH[LLMH          >&LM(BSHLMBSZLMHBSTLM(BSPLMHBS[LLMHBS@ 0(('WR' &LM(BVWHLMBVWZLMHBVWTLM(BVWPLMHBVW[LLMHBVW          >EHWDBS@ 0(('WR'WK EHWDBVW&LM(BVWHLMBVWZLMHBVWTLM(BVWPLMHBVW[LLMHBVW          >EHWDBY@ 0(('WR'WK EHWDBS&LM(BSHLMBSZLMHBSTLM(BSPLMHBS[LLMHBS  FDVH^`   FRXSOHGVWUHWFKLQJEHQGLQJSUREOHP  HTQV F  E           $WLM ]HURV GLP %WLM ]HURV GLP 'WLM ]HURV GLP    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 &LMBN N    HODVWLFPDWHULDOV

HOVHLI3W\SHJ&LM >&LM(BN N HLMBN N HLMBN N ZLMHBN N @SLH]RHOHFWULFPDWHULDOV HOVHJ&LM >>&LM(+BN N HLM+BN N HLM+BN N ZLMH+BN N @          0((PDWHULDOV                         >TLM(BN N PLMHBN N @TLM(BN N PLMHBN N [LLMHBN N @ HQG                 %HWDBKDW %HWDBY N J&LM  %HWDBY N J&LM                   >%HWDLMBKDW@ YHFWRUWRPDWUL[ %HWDBKDW   WUDQVIRUP%HWDBKDWIURPYHFWRUWRPDWUL[                 K N K N WN N                  .WLMV .WLMV.LM N K N AK N A                  EHWDLMBKDW EHWDLMBKDW%HWDLMBKDW WN N                  $WLM  $WLM  %HWDLMBKDW  WN N                  %WLM  %WLM  %HWDLMBKDW  K N AK N A                  'WLM  'WLM  %HWDLMBKDW  K N AK N A  LI3W\SHa   SLH]RRU0((                     $WLM  $WLM  %HWDLMBKDW  WN N                      %WLM  %WLM  %HWDLMBKDW  K N AK N A                      'WLM  'WLM  %HWDLMBKDW  K N AK N A  LI3W\SH!  0((                         $WLM  $WLM  %HWDLMBKDW  WN N                          %WLM  %WLM  %HWDLMBKDW  K N AK N A                          'WLM  'WLM  %HWDLMBKDW  K N AK N 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@ DOSKDWREHWD DOSKDLMJ&LM   7KLVIXQFWLRQSURYLGHVEHWDLMIURPDOSKDLMHTQ D  >DOSKDBY@ PDWUL[WRYHFWRU DOSKDLM  EHWDBY J&LM DOSKDBY    DOSKDBY EHWDBYFRQWUDFWHGQRWDWLRQRIDOSKDLM EHWDLM >EHWDLM@ YHFWRUWRPDWUL[ EHWDBY 

Appendix F: AEPH Source Code (Listed in Alphabetic Order)

889

 IXQFWLRQ>DOSKDLMDOSKDBYEHWDBY@ EHWDWRDOSKD EHWDLMJ6LM    7KLVIXQFWLRQSURYLGHVDOSKDLMIURPEHWDLMHTQ D  >EHWDBY@ PDWUL[WRYHFWRU EHWDLM  DOSKDBY J6LM EHWDBY    DOSKDBY EHWDBYFRQWUDFWHGQRWDWLRQRIDOSKDLM EHWDLM >DOSKDLM@ YHFWRUWRPDWUL[ DOSKDBY  I XQFWLRQ>EHWDBY@ 0(('WR'WK EHWDBY&LM(HLMZLMHTLM(PLMH[LLMHHTQ  &RQYHUW'EHWDBYWR'EHWDBY VZLWFKHTQ FDVH   HTQ D BS         HLMBL HLM    ZLMHBL ZLMH                 EHWDBY EHWDBY>HLMBL ZLMHBL@ EHWDBY  ZLMH    E FDVH   HTQ E BKDW         &LM(BL &LM(  HLMBL HLM           EHWDBY EHWDBY>&LM(BLHLMBL@ EHWDBY  &LM(     E FDVH  HTQ E BVW         TLM(BL TLM(  PLMHBP PLMH  [LLMHBP [LLMH           EHWDBY EHWDBY>TLM(BL PLMHBP[LLMHBP@ EHWDBY  [LLMH   E FDVH  HTQ E  E BEDRUBS         HLMBL HLM  ZLMHBP ZLMH  PLMHBP PLMH           EHWDBY EHWDBY>HLMBL ZLMHBPPLMHBP@ EHWDBY  ZLMH     E  E FDVH  HTQ E  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  @HTQ E  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    HTQ F  EHWD EHWDLM GLP EHWD EHWDLM GLP   HTQ F B 6 UHDO L  $ % H\H GLP    + UHDO  L $ $   6+%DUQHWW/RWKHWHQVRUVHTQ   FDOFXODWHJFJVNFFNFVNVFNVVWKURXJK*DXVVDLQLQWHJUDWLRQ E  F  >[JZJ@ *DXVV QB*DXVVK   WKJ [J SL  *DXVVLDQSRLQWRIWKHLQWHJUDWLRQYDULDEOHWKHWDHTQ $  NFF NVF NFV NVV JF ]HURV GLP JV ]HURV GLP   LQWLDOYDOXHVIRULQWHJUDWLRQ IRUM QB*DXVVK     >JNFNVFV@ JWK WKJ M HTQ EG      JF JFZJ M J F SL  JV JVZJ M J V SLHTQ E  NFF NFFZJ M NF F SLNVF NVFZJ M NV F SLHTQ F  NFV NFVZJ M NF V SLNVV NVVZJ M NV V SLHTQ F   HQG N'HO NFF NVVNFV NVFHTQ F  YF NVV JFNVF JV N'HO  YV NFF JVNFV JF N'HO  HTQ D  FDOFXODWHYBDYBDQYBEQWKURXJK*DXVVDLQLQWHJUDWLRQ D  YBD ]HURV GLP YBDQ ]HURV GLPQB)V YBEQ ]HURV GLPQB)V LQWLDOYDOXHVIRULQWHJUDWLRQ IRUM QB*DXVVK     >JNFNVFV@ JWK WKJ M HTQ EG      K JNF YFNV YV     HTQ E      YBD YBDZJ M K  YBDYHFWRUDRIHTQ D  IRUN QB)V         N NVQ VLQ N WKJ M FQ FRV N WKJ M          YBDQ N YBDQ N ZJ M K FQ  YBDQ N YHFWRUDQZKHUHQ NHTQ D          YBEQ N YBEQ N ZJ M K VQ  YBEQ N YHFWRUEQZKHUHQ NHTQ D  HQG HQG  IXQFWLRQ>JNFNVFV@ JWK WKM  FDOFXODWHJIRUWKHWD WKMRIHTQ E ZKLFKLVUHODWHGWRWKHWKHUPDOIXQGDPHQWDOVROXWLRQ JOREDONLM457NEHWDEHWD6+  IURP0DLQSURJUDPDQGIXQFWLRQWKHUPDOB%(0 V VLQ WKM F FRV WKM V VAF FAFV F V NV NLM  V NLM  FVNLM  F  HTQ F  NV NLM  FVNLM  FV NLM  FVHTQ F  NF N F NV V NV  NV N V NV F NV  HTQ F  5WK 5 FA 74 FV5

VA  7WK 7 FA 55 FV4 VAHTQ   1WK LQY 7WK    1WK 1WK 5WK   HTQ F  EHWDV EHWD FEHWD V  EHWDV EHWD VEHWD F  HTQ G  J  + EHWDV 1WK +1WK 6 EHWDV   SL NV   HTQ EG 

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  VTUW NLM  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 >]HURV GLP 1H\H GLP 1 @ >EHWDLM  EHWDLM  @   FG LQY 1WDX H\H  GLP JDPPD F FG GLP RULJLQDOF FXUUHQWF G FG GLP GLP RULJLQDOG FXUUHQWG (VLQFHQRQGLPHQVLRQDOL]DWLRQKDVEHHQXVHG  IXQFWLRQ>FG@ HLJFGB& WDX   FDOFXODWHFGIRUWKHUPDOFRXSOHGVWUHWFKLQJEHQGLQJSUREOHPVE\HTQV     FGWDXWKHUPDOHLJHQYHFWRUVDQGHLJHQYDOXHV JOREDOGLP1   IURP0DLQSURJUDPFRQWUROSDUDPHWHU PDWHULDOSURSHUWLHV >JDPJDP@ VBJDPPD   JDPPD >JDPJDP@ FG LQY 1WDX H\H  GLP JDPPD  HTQ D B F FG GLP    G FG GLP GLP  

F202: uphi_bank IXQFWLRQ>8L7L7HPK@ XSKLBEDQN ORDGVWU[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 ZKLFKZLOOLQFOXGHWKHYDOXHRIGHIOHFWLRQZDW7L HQG IRUWKH FRXSOHGVWUHWFKLQJEHQGLQJSUREOHPV LQFOXGHSODWHEHQGLQJSUREOHPV  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@ VLJPDBVVQRUPDOVWUHVVLQGLUHFWLRQVVRUFDOOHGKRRSVWUHVV DWWKHVLGHRIPDWUL[  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  'VHOHFWULFGLVSODFHPHQWLQVVGLUHFWLRQ DWWKHVLGHRILQFOXVLRQ  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[LQVVGLUHFWLRQ DWWKHVLGHRI 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 HSDSDUDPHWHUWRGLVWLQJXLVKHOOLSWLFDO HS  RUSRO\JRQOLNH HSa LQJHQHUDO  JOREDO'W\SH/W\SH7W\SH3W\SH9W\SHGLP(QWVIURP0DLQSURJUDP JOREDO6,)GHOWD  IURPIXQFWLRQVUHODWHGWRSUREOHPVRIFUDFNVRUPXWLPDWHULDOZHGJHV JOREDOGLP+6/W\SHHSJHQHUDWHGGLPHQVLRQRIYHFWRUKHDW) W\SHRISULQWLQJ HS   GHIDXOWDSDUDPHWHUWRGLVWLQJXLVKHOOLSWLFDO HS  RUSRO\JRQOLNH HSa LQJHQHUDO  7HPK QDQ7HPS QDQKHDW) QDQ6/W\SH   GHIDXOW X QDQ GLP XB QDQ GLP XB QDQ GLP VLJPD QDQ GLP VLJPD QDQ GLP GHIDXOW VLJPDBVV QDQVLJPDBQQ QDQVLJPDBVQ QDQWLBQQ QDQWLBVV QDQ GHIDXOW LI'W\SH



    Z QDQXG QDQ GLP XGB QDQ GLP XGB QDQ GLP 

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@ VLQI30 ORDGVWU[LYN    FDVH     LQILQLWHVSDFHGLVORFDWLRQ         >XXBXBVLJPDVLJPD@ VLQI'/ ORDGVWU[LYN    FDVH     KDOIVSDFHSRLQWIRUFH         >XXBXBVLJPDVLJPD@ VKDOI3) ORDGVWU[LYN    FDVH     KDOIVSDFHSRLQWIRUFHRQSODQHVXUIDFH         >XXBXBVLJPDVLJPD@ VKDOI3)V ORDGVWU[LYN     FDVH     KDOIVSDFHGLVWULEXWHGORDGRQSODQHVXUIDFH         >XXBXBVLJPDVLJPD@ VKDOI'7 ORDGVWU[LYN     FDVH     KDOIVSDFHSRLQWPRPHQW         >XXBXBVLJPDVLJPD@ VKDOI30 ORDGVWU[LYN     FDVH     KDOIVSDFHGLVORFDWLRQ         >XXBXBVLJPDVLJPD@ VKDOI'/ ORDGVWU[LYN    FDVH     ELPDWHULDOVSRLQWIRUFHDQGGLVORFDWLRQ         >XXBXBVLJPDVLJPD@ VELPDW3)' ORDGVWU[LYN    FDVH     ELPDWHULDOVSRLQWIRUFHDQGGLVORFDWLRQRQWKHLQWHUIDFH         >XXBXBVLJPDVLJPD@ VELPDW3)'L ORDGVWU[LYN   FDVH^`  VLQJOHZHGJHXQLIRUPWUDFWLRQRQZHGJHVLGH         >XXBXBVLJPDVLJPD@ VZHGJH87 ORDGVWU[LYN    FDVH     VLQJOHZHGJHSRLQWIRUFHDWWKHZHGJHWLS         >XXBXBVLJPDVLJPD@ VZHGJH3) ORDGVWU[LYN    FDVH     VLQJOHZHGJHSRLQWPRPHQWDWWKHZHGJHWLS         >XXBXBVLJPDVLJPD@ VZHGJH30 ORDGVWU[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@ V0ZHGJH176 ORDGVWU[LYN     FDVH   'PXOWLPDWHULDOZHGJHVWUHVVLQWHQVLW\IDFWRUVE\+LQWHJUDO            >6,)@ V0ZHGJH6,)G ORDGVWU    6,)VWUHVVLQWHQVLW\IDFWRUV    FDVH     'PXOWLPDWHULDOZHGJHVWUHVVLQWHQVLW\IDFWRUVE\+LQWHJUDO            >6,)@ V0ZHGJH6,)G ORDGVWU    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@ VFUDFN176 ORDGVWU[LYN  FDVH     LQWHUIDFHFUDFNQHDUWLSVROXWLRQ         >XXBXBVLJPDVLJPD@ V,)FUDFN176 ORDGVWU[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,)FUDFN ORDGVWU[LYN   &2'FUDFNRSHQLQJGLVSODFHPHQWDOVRJHQHUDWHV(1* FDVH     VHPLLQILQLWHLQWHUIDFHFUDFNSRLQWIRUFHRQFUDFNVXUIDFH         >XXBXBVLJPDVLJPD@ V6,)FUDFN3)V ORDGVWU[LYN   DOVRJHQHUDWHV6,)   FDVH     LQWHUIDFHFUDFNSRLQWIRUFHRQFUDFNVXUIDFH         >XXBXBVLJPDVLJPD@ VB,)FUDFN3)V ORDGVWU[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)P ORDGVWU[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'/R ORDGVWU[LYN    FDVH     HOOLSWLFDOHODVWLFLQFOXVLRQGLVORFDWLRQLQVLGHWKHLQFOXVLRQ        >XXBXBVLJPDVLJPD@ V((LQFOX'/L ORDGVWU[LYN    FDVH     HOOLSWLFDOHODVWLFLQFOXVLRQGLVORFDWLRQDWWKHLQWHUIDFH        >XXBXBVLJPDVLJPD@ V((LQFOX'/I ORDGVWU[LYN   FDVH     HOOLSWLFDOHODVWLFLQFOXVLRQFUDFNRXWVLGHWKHLQFOXVLRQ        >XXBXBVLJPDVLJPD@ V((LQFOX&R ORDGVWU[LYN   DOVRJHQHUDWHV6,) FDVH     HOOLSWLFDOHODVWLFLQFOXVLRQFUDFNLQVLGHWKHLQFOXVLRQ        >XXBXBVLJPDVLJPD@ V((LQFOX&L ORDGVWU[LYN   DOVRJHQHUDWHV6,) FDVH     HOOLSWLFDOHODVWLFLQFOXVLRQFUDFNSHQHWUDWLQJWKHLQWHUIDFH        >XXBXBVLJPDVLJPD@ V((LQFOX&S ORDGVWU[LYN   DOVRJHQHUDWHV6,)  FDVH     HOOLSWLFDOHODVWLFLQFOXVLRQFXUYLOLQHDUFUDFNO\LQJDORQJWKHLQWHUIDFH        >XXBXBVLJPDVLJPD@ V((LQFOX&F ORDGVWU[LYN   DOVRJHQHUDWHV6,) FDVH     ULJLGIODWHQGHGSXQFKRQKDOISODQHYHUWLFDOORDGLQJ        >XXBXBVLJPDVLJPDVLJPDBQQVLJPDBVQ@ V)SXQFK/ ORDGVWU[LYN  FDVH     ULJLGIODWHQGHGSXQFKRQKDOISODQHSRLQWPRPHQW        >XXBXBVLJPDVLJPDVLJPDBQQVLJPDBVQ@ V)SXQFK0 ORDGVWU[LYN    FDVH     ULJLGSDUDEROLFSXQFKRQKDOISODQHYHUWLFDOORDGLQJ        >XXBXBVLJPDVLJPDVLJPDBQQVLJPDBVQ@ V3SXQFK/ ORDGVWU[LYN     FDVH     ULJLGVWDPSRQDQHOOLSWLFDOKROHERXQGDU\         >XXBXBVLJPDVLJPD@ V(VWDPS ORDGVWU[LYN     FDVH     ULJLGVWDPSRQDSRO\JRQOLNHKROHERXQGDU\         >XXBXBVLJPDVLJPD@ V3VWDPS ORDGVWU[LYN     FDVH     ULJLGIODWHQGHGSXQFKRQDFRVLQHZDY\VKDSHGKDOISODQH         >XXBXBVLJPDVLJPD@ VB&SXQFK ORDGVWU[LYN   FDVH     ULJLGVWDPSRQDWULDQJXODUKROHERXQGDU\         >XXBXBVLJPDVLJPD@ VB7VWDPS ORDGVWU[LYN     FDVH     VOLGLQJZHGJHVKDSHGSXQFK         >XXBXBVLJPDVLJPDVLJPDBQQ@ V6:SXQFK ORDGVWU[LYN    FDVH     VOLGLQJSDUDEROLFSXQFK          >XXBXBVLJPDVLJPDVLJPDBQQ@ V63SXQFK ORDGVWU[LYN     FDVH     WZRVOLGLQJIODWHQGHGSXQFKHV         >XXBXBVLJPDVLJPDVLJPDBQQ@ V6SXQFK ORDGVWU[LYN    FDVH    FRQWDFWRIWZRSDUDEROLFHODVWLFERGLHVZLWKIULFWLRQ         >XXBXBVLJPDVLJPDVLJPDBQQ@ V3)FRQWDFW ORDGVWU[LYN     FDVH     FRQWDFWRIWZRSDUDEROLFHODVWLFERGLHVZLWKRXWIULFWLRQ         >XXBXBVLJPDVLJPDVLJPDBQQ@ V3FRQWDFW ORDGVWU[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(KROH ORDGVWU[LYN   FDVH    SLH]RHOHFWULFPDWHULDOSRO\JRQOLNHKROHV         >XXBXBVLJPDVLJPDVLJPDBVV@ VSLH]R3KROH ORDGVWU[LYN   FDVH    SLH]RHOHFWULFPDWHULDOPXOWLPDWHULDOZHGJHVLQJODURUGHUVDQGHLJHQIXQFWLRQV         >9WK9WKS/DPWK/DPWKSGHOWD@ V0ZHGJH62( ORDGVWU[LYN VDPHIXQFWLRQDVV 9WK9WKS/DPWK/DPWKSHLJHQIXQFWLRQRIXSKLDQGGHULYHWLYHRIXSKLGHOWDVLQJXODURUGHUV FDVH    SLH]RHOHFWULFPDWHULDOPXOWLPDWHULDOZHGJHQHDUWLSVROXWLRQ         >XXBXBVLJPDVLJPD@ V0ZHGJH176 ORDGVWU[LYN    VDPHIXQFWLRQDVV  FDVH    SLH]RHOHFWULFPDWHULDOPXOWLPDWHULDOZHGJHVWUHVVLQWHQVLW\IDFWRUVE\+LQWHJUDO         >6,)@ V0ZHGJH6,)G ORDGVWU    6,)VWUHVVLQWHQVLW\IDFWRUV    FDVH    SLH]RHOHFWULFPDWHULDOFUDFNQHDUWLSVROXWLRQ         >XXBXBVLJPDVLJPD@ VFUDFN176 ORDGVWU[LYN     FDVH    SLH]RHOHFWULFPDWHULDOFROOLQHDUFUDFN         >XXBXBVLJPDVLJPD@ VSLH]R&2FUDFN ORDGVWU[LYN   DOVRJHQHUDWHV6,) FDVH    SLH]RHOHFWULFPDWHULDOLQWHUIDFHFUDFN         >XXBXBVLJPDVLJPD@ VSLH]R,)FUDFN ORDGVWU[LYN   DOVRJHQHUDWHV6,)   FDVH    YLVFRHODVWLFPDWHULDOKROHVFUDFNVLQFOXVLRQVLQWHUIDFHFRUQHUVFRQWDFWHWF         >XXBXBVLJPDVLJPDVLJPDBVVVLJPDBQQVLJPDBVQ@ VYLVFR ORDGVWU[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)0 ORDGVWU[LYN     FDVH    KROHVLQODPLQDWHVSRLQWIRUFHDQGPRPHQW         >ZXGXGBXGB1LM0LMWLBVV@ V/$0KROH3)0 ORDGVWU[LYN    FDVH^`

FUDFNVLQODPLQDWHVSRLQWIRUFHDQGPRPHQW

        >ZXGXGBXGB1LM0LMWLBVV@ V/$0FUDFN3)0 ORDGVWU[LYN   /W\SH VHFWLRQRI +ZX /W\SH VHFWLRQRIRI +ZX  FDVH    LQFOXVLRQVLQODPLQDWHVSRLQWIRUFHDQGPRPHQWRXWVLGHWKHLQFOXVLRQ         >ZXGXGBXGB1LM0LMWLBVVWLBQQ@ V/$0LQFOX3)0R ORDGVWU[LYN     FDVH    LQFOXVLRQVLQODPLQDWHVSRLQWIRUFHDQGPRPHQWLQVLGHWKHLQFOXVLRQ         >ZXGXGBXGB1LM0LMWLBVVWLBQQ@ V/$0LQFOX3)0L ORDGVWU[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



LILVQDQ WLBVV

WLBVV QDQ RQHV  GLP HQG

            8L  XG8L  XGB8L  XGB             7L GLP 1LM7L GLP 0LM7L GLP WLBVV GLP 7L GLP WLBQQ LI/W\SH

_/W\SH

_/W\SH

_/W\SH

7L GLP WLBVV GLP GLP HQG

            7L GLP Z   VWRUHRIWKHYDOXHRIGHIOHFWLRQ HOVH LILVQDQ WLBVV

WLBVV QDQ RQHV  GLPQWV HQG

            8L  XG8L  XGB8L  XGB             7L GLP 1LM7L GLP 0LM7L GLP WLBVV GLP 7L GLP WLBQQ

Appendix F: AEPH Source Code (Listed in Alphabetic Order) LI/W\SH

_/W\SH

_/W\SH

899

_/W\SH

7L GLP WLBVV GLP GLP  HQG

            7L GLP Z   VWRUHRIWKHYDOXHRIGHIOHFWLRQ     HQG HQG LI7W\SHa 7HPK >7HPSKHDW) @GLP+ OHQJWK KHDW) HQG

GLPHQVLRQRIYHFWRUKHDW)GLVUHJDUGWKHSRVVLEOHFDVHVRIWKHUPRYLVFR

F203: visco IXQFWLRQ>&LM6LM@ YLVFR LQSXWV[  YLVFRSURYLGHVHODVWLFDQGFRPSOLDQFHVWLIIQHVVHV &LM6LM LQ/DSODFHGRPDLQ ZKHQWKHYLVFRHODVWLFSURSHUWLHVDUHLQSXWWKURXJKWKHWH[WILOHLQSXWBYLVFRW[W DFFRUGLQJWRGLIIHUHQWW\SHVRIPDWHULDOV 9W\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 LQSXW Q* RPHJDBN LQSXW Q*   UDWLRUKRBNDQGUHOD[DWLRQWLPHRPHJDBN         UKR VXP UKRBN    HTQ           *W *B   GHIDXOWIRUWKHWLPHVWHSSLQJPHWKRGZKLFKZLOOXVHWKHLQLWLDOYDOXHRI*DQGODP LIQVa   LIWKHHODVWLFYLVFRHODVWLFFRUUHVSRQGHQFHSULQFLSOHLVXVHG IRUL Q*UKR UKRUKRBN L H[S WRPHJDBN L 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 VXEV V ODSODFH *W V[ ODPV VXEV V ODSODFH ODP 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[S WRPHJD   HOVH

LIWKHWLPHVWHSSLQJPHWKRGLVXVHGRQO\WKHLQLWLDOHODVWLFVWLIIQHVVLVQHHGHGHTQ  

                Q* UKR &LMBLQI  &LMB  UKRBN UKRRPHJDBN RPHJDHTQ     HQG HOVH

H[SUHVVHGE\3URQ\VHULHV

            Q* LQSXW  

QXPEHURIWHUPVRI3URQ\VHULHV

            UKRBN LQSXW Q* RPHJDBN LQSXW Q*   UHODWLYHPRGXOLHVPRGXOLDQGUHOD[DWLRQWLPH             &LMB LQSXW  LQSXW&LMBDFFRUGLQJWRWKHVHTXHQFHRI>&&&&&&&&@             UKR VXP UKRBN    HTQ   LIQVa    LIWKHHODVWLFYLVFRHODVWLFFRUUHVSRQGHQFHSULQFLSOHLVXVHG IRUL Q*UKR UKRUKRBN L H[S WRPHJDBN L HQG

SDUWRIHTQ  

                &LMW &LMB UKR  HTQ   HQG HQG LIQVa    LIWKHHODVWLFYLVFRHODVWLFFRUUHVSRQGHQFHSULQFLSOHLVXVHG IRUL IRUM &LM LM VXEV V ODSODFH &LMW LM 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  HTQ E         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@ YLVFRBORDG ORDGVWULV  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 OHQJWK ORDGVWU LIORDGVWU V

VI VIHQG

HOVH LIORDGVWU 

_ORDGVWU 

VI HQG

ORDGFDVHDQGRIIXQFWLRQVLQI8/

LIORDGVWU 

_ORDGVWU 

VI HQG

ORDGFDVHDQGRIIXQFWLRQVLQI8/

LIORDGVWU 

VI HQG

ORDGFDVHRIIXQFWLRQVLQI8/

HQG FDVHOHQ OHQJWK ORDGVWU   QVVI OHQ  OHQQXPEHURIVWUHVVSRLQWVIRUHDFKLV 1RWHORDGVWU HQG 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/DS VVI ORDG/DS VVI VY LV  FDVH^`   PXOWLPDWHULDOZHGJHQHDUWLSVROXWLRQV         ORDG/DS VVI ORDG/DS VVI VY LV  

902

Appendix F: AEPH Source Code (Listed in Alphabetic Order) FDVH^`6,)E\+LQWHJUDO         ORDG/DS  ORDGVWU  ORDG/DS VI ORDGVWU LV OHQLV OHQ   FDVH^`  LQFOXVLRQFUDFNLQWHUDFWLRQ         ORDG/DS VVI ORDG/DS VVI VY LV   FDVH^`  PXOWLPDWHULDOZHGJH ZHGJHVSDFHVLQJODURUGHUVDQGHLJHQIXQFWLRQV E\SDVVWRDYRLGJRLQJWRWKHFDVHVRI RWKHUZLVH  RWKHUZLVH         ORDG/DS VVI ORDG/DS VVI VY LV  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