Identification of material properties using finite elements and full ...

214
N o d’ordre : 332 TD ann´ ee 2008 Th` ese pr´ esent´ ee pour obtenir le grade de Docteur de l’ ´ Ecole Nationale Sup´ erieure des Mines de Saint Etienne et de l’Universit´ e Jean Monet Sp´ eciali´ e : M´ ecanique par Gustavo Henrique Caprio SILVA Identification of material properties using finite elements and full-field measurements with focus on the characterization of deterministic experimental errors. Identification de propri´ et´ es mat´ eriaux ` a partir de mesures de champ et mod` eles ´ el´ ements-finis – Application ` a la correction d’erreurs exp´ erimentales d´ eterministes. FINAL DRAFT (MAY 26 th , 2009) Souteneance: Le 11 Mars 2009 Composition du jury Examinateurs : Alain VAUTRIN erˆ ome MOLIMARD Rodolphe LE RICHE ENSMSE ENSMSE ENSMSE ecanique et Proc´ ed´ es d’Elaboration - Ecole Nationale Sup´ erieure des Mines de Saint Etienne

Transcript of Identification of material properties using finite elements and full ...

Page 1: Identification of material properties using finite elements and full ...

No d’ordre : 332 TD annee 2008

These presenteepour obtenir le grade de

Docteur de l’Ecole Nationale Superieure des Mines de Saint Etienne etde l’Universite Jean Monet

Specialie : Mecanique

par

Gustavo Henrique Caprio SILVA

Identification of material properties using finite elements and full-fieldmeasurements with focus on the characterization of deterministic

experimental errors.

Identification de proprietes materiaux a partir de mesures de champ etmodeles elements-finis – Application a la correction d’erreurs

experimentales deterministes.

FINAL DRAFT (MAY 26th, 2009)

Souteneance: Le 11 Mars 2009

Composition du jury

Examinateurs :

Alain VAUTRINJerome MOLIMARDRodolphe LE RICHE

ENSMSEENSMSEENSMSE

Mecanique et Procedes d’Elaboration - Ecole Nationale Superieure des Mines de Saint Etienne

Page 2: Identification of material properties using finite elements and full ...

ii

Page 3: Identification of material properties using finite elements and full ...

Contents

1 Identification Overview 31.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Standard methods for characterization of composites . . . . . . . . . . . . . . . . 31.3 Identification from full-field methods . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.3.1 Governing equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.3.2 Direct and inverse problems . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.4 The virtual fields method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.5 Constitutive equation gap method . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.6 Equilibrium gap method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.7 Finite element model updating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2 Full-Field Measurements 132.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.2 Metrological quantities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.3 White light techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.3.1 Digital image correlation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.3.2 Stereo correlation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.3.3 Spatial phase-shifting grid method . . . . . . . . . . . . . . . . . . . . . . . 18

2.4 Interferometric techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.4.1 Wave model of light . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.4.2 Interference of two monochromatic light beams . . . . . . . . . . . . . . . . 202.4.3 The sensitivity vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.4.4 Moire interferometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.4.5 Electronic speckle pattern interferometry . . . . . . . . . . . . . . . . . . . 242.4.6 Speckle Shearography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.5 Phase extraction algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3 Fundamentals of optimization 293.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.2 Gradient-based optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.3 Potential issues with parameter sensitivity and scaling . . . . . . . . . . . . . . . . 313.4 Computing derivatives numerically . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.5 Improving the solution by parameter transformation . . . . . . . . . . . . . . . . . 333.6 The Levenberg-Marquardt algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . 343.7 Derivative-free optimization (simplex methods) . . . . . . . . . . . . . . . . . . . . 353.8 The Nelder-Mead algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.8.1 Handling boundaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.8.2 Description of the modified algorithm . . . . . . . . . . . . . . . . . . . . . 38

iii

Page 4: Identification of material properties using finite elements and full ...

iv CONTENTS

4 Numerical Tools 394.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394.2 Operational design of the IDTK library . . . . . . . . . . . . . . . . . . . . . . . . 39

4.2.1 Programming languages in the IDTK library . . . . . . . . . . . . . . . . . 404.2.2 Matlab and other numerical computing environments . . . . . . . . . . . . 414.2.3 Abaqus software package and Python . . . . . . . . . . . . . . . . . . . . . 41

4.3 Paradigms in object-oriented programming . . . . . . . . . . . . . . . . . . . . . . 444.3.1 Classes and objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444.3.2 Class inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.3.3 Pointers and dynamic allocation . . . . . . . . . . . . . . . . . . . . . . . . 464.3.4 Polymorphism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.3.5 Abstraction and class factories . . . . . . . . . . . . . . . . . . . . . . . . . 494.3.6 The C++ standard and standard template libraries . . . . . . . . . . . . . 504.3.7 The Boost-C++ programming library . . . . . . . . . . . . . . . . . . . . . 50

4.4 C++ components of the IDTK library . . . . . . . . . . . . . . . . . . . . . . . . . 524.4.1 Procedure control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524.4.2 Field comparison components . . . . . . . . . . . . . . . . . . . . . . . . . . 524.4.3 Standalone executables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554.4.4 Interaction between independent processes . . . . . . . . . . . . . . . . . . . 57

4.5 Python components of the IDTK library . . . . . . . . . . . . . . . . . . . . . . . . 584.6 Matlab components of the IDTK library . . . . . . . . . . . . . . . . . . . . . . . . 59

5 Matching experimental and numerical data points 615.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615.2 Aligning the world and numerical coordinate systems . . . . . . . . . . . . . . . . . 635.3 Projection of data points onto a FE mesh . . . . . . . . . . . . . . . . . . . . . . . 655.4 Linear approximation to the orientation problem . . . . . . . . . . . . . . . . . . . 66

5.4.1 Small angle solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665.4.2 Direct approximation to the orientation problem . . . . . . . . . . . . . . . 68

5.5 Numerical and Experimental validation . . . . . . . . . . . . . . . . . . . . . . . . 695.6 Matching simulated reference points . . . . . . . . . . . . . . . . . . . . . . . . . . 70

5.6.1 Influence of random noise . . . . . . . . . . . . . . . . . . . . . . . . . . . . 725.6.2 Solving Wahba’s problem with partial information . . . . . . . . . . . . . . 72

5.7 Matching images from a CCD camera . . . . . . . . . . . . . . . . . . . . . . . . . 73

6 Interpolation using finite elements shape functions 776.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776.2 Overview of mapping techniques for comparing data fields . . . . . . . . . . . . . . 78

6.2.1 Node placement and interpolation of experimental data . . . . . . . . . . . 786.2.2 General interpolation of numerical results . . . . . . . . . . . . . . . . . . . 796.2.3 Methods based on finite elements shape functions . . . . . . . . . . . . . . . 79

6.3 Determination of the owner element . . . . . . . . . . . . . . . . . . . . . . . . . . 806.3.1 Element tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 806.3.2 Searching the element list . . . . . . . . . . . . . . . . . . . . . . . . . . . . 826.3.3 Comparison of owner element search algorithms . . . . . . . . . . . . . . . . 83

6.4 Inverse mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 866.5 Inverse mapping theorems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

6.5.1 Inverse mapping for TRI3 elements . . . . . . . . . . . . . . . . . . . . . . 876.5.2 Inverse mapping for QUAD4 elements . . . . . . . . . . . . . . . . . . . . . 886.5.3 Inverse mapping for TET4 elements . . . . . . . . . . . . . . . . . . . . . . 91

6.6 Numerical experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 926.7 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

Page 5: Identification of material properties using finite elements and full ...

CONTENTS v

7 Model Parameterization 977.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977.2 Material parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

7.2.1 Stiffness and compliance matrices . . . . . . . . . . . . . . . . . . . . . . . . 997.2.2 Engineering constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1017.2.3 Stiffness and compliance invariants . . . . . . . . . . . . . . . . . . . . . . . 1027.2.4 Laminate A, B and D matrices . . . . . . . . . . . . . . . . . . . . . . . . . 103

7.3 Geometric parameters of a mechanical test . . . . . . . . . . . . . . . . . . . . . . . 1037.4 Definition of external experimental parameters . . . . . . . . . . . . . . . . . . . . 106

7.4.1 Rigid body motion parameters . . . . . . . . . . . . . . . . . . . . . . . . . 1077.4.2 Correcting camera misalignment . . . . . . . . . . . . . . . . . . . . . . . . 1137.4.3 Accounting for non-orthogonality of measurements . . . . . . . . . . . . . . 1167.4.4 Measurement Distortion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

8 Optimization Profile 1258.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1258.2 Overview of residual cost functions . . . . . . . . . . . . . . . . . . . . . . . . . . . 1258.3 Assumptions about the minimization problem . . . . . . . . . . . . . . . . . . . . . 129

8.3.1 Analysis of the black-box scenario . . . . . . . . . . . . . . . . . . . . . . . 1308.3.2 Simulated experiments and numerical model for identification tests . . . . . 131

8.4 Normalizing and centering the displacement gap . . . . . . . . . . . . . . . . . . . 1318.4.1 Normalized displacement gap . . . . . . . . . . . . . . . . . . . . . . . . . . 1318.4.2 Centered displacement gap . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

8.5 Choice of material parameterization . . . . . . . . . . . . . . . . . . . . . . . . . . 1358.5.1 Choice of parameterization based on the Hessian . . . . . . . . . . . . . . . 136

8.6 Benchmark of optimization algorithms . . . . . . . . . . . . . . . . . . . . . . . . . 1418.6.1 Identification using fmincon . . . . . . . . . . . . . . . . . . . . . . . . . . . 1428.6.2 Identification using Levenberg-Marquardt . . . . . . . . . . . . . . . . . . . 1478.6.3 Identification using Levenberg-Marquardt: separate u and v fields . . . . . 1478.6.4 Choice of optimization algorithm . . . . . . . . . . . . . . . . . . . . . . . . 150

9 Accounting for deterministic experimental errors 1539.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1539.2 Independence of parameter groups . . . . . . . . . . . . . . . . . . . . . . . . . . . 1539.3 Solving for rigid body motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1559.4 Solving for camera alignment parameters . . . . . . . . . . . . . . . . . . . . . . . 1569.5 Coupling camera misalignment and rigid-body motion . . . . . . . . . . . . . . . . 1619.6 Assembling a full identification strategy . . . . . . . . . . . . . . . . . . . . . . . . 164

10 A case study using stereo correlation data 17110.1 Experimental measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17110.2 Numerical model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17110.3 Identification strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17310.4 Alignment of experimental and numerical coordinates . . . . . . . . . . . . . . . . 17410.5 Identification results for multiple load cases . . . . . . . . . . . . . . . . . . . . . . 17610.6 Estimation of confidence intervals . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

11 General conclusions 18311.1 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

11.1.1 Identification of boundary conditions . . . . . . . . . . . . . . . . . . . . . . 18511.1.2 Damage and local property identification . . . . . . . . . . . . . . . . . . . 186

12 Appendix A 19912.1 Fitting a plane onto a cloud of data points . . . . . . . . . . . . . . . . . . . . . . . 199

Page 6: Identification of material properties using finite elements and full ...

vi CONTENTS

Page 7: Identification of material properties using finite elements and full ...

List of Figures

1.1 Uniaxial tensile test specimen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.2 Shear coupling presented by off-axis tensile tests. Obtained from Pagano and Halpin

[1]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.3 Shear testing: (a) The Iosipescu shear test apparatus. Image obtained from [2] (b)

Diagrams of the Iosipescu shear test. . . . . . . . . . . . . . . . . . . . . . . . . . 51.4 Typical flow diagram for a finite element model update (FEMU) routine. . . . . . 12

2.1 Spatial resolution: (a) When an image is formed, due to diffraction, each point of theimage is blurred by a spread function. The image shows a reference grid of frequencyf visualized using a Gaussian spread function. (b) A blur results in a reduction ofthe contrast of the original object. The decrease of contrast is proportional to thefrequency of the grid. When the visualization has a minimum acceptable contrast,the reference grid is said to have a critical frequency fc. The spatial resolution isdefined as the reciprocal of this frequency 1/fc. (c) Graphical conceptualization ofresolution and spatial resolution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.2 Optical setups for white light techniques. . . . . . . . . . . . . . . . . . . . . . . . 172.3 Examples of a specimen with (a) a spray-painted speckle pattern for DIC, (b) an

evenly spaced grid for the grid-method. Obtained from [3]. . . . . . . . . . . . . . 182.4 Sensitivity vector. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.5 Schematic for a typical Moire interferometry setup . . . . . . . . . . . . . . . . . . 222.6 Illustration of a four-beam interferometer (used for Moire and speckle interferometry,

see [4]). The optical setup contains a laser, a beam splitting mechanism and 2 pairsof opposite mirrors, used to measure one direction of displacements (i.e. ux anduy). Additionally, Moire interferometry requires either a lens or parabolic mirror togenerate a coherent (collimated) light beam. . . . . . . . . . . . . . . . . . . . . . 24

2.7 Schematic of a single-beam Electronic Speckle Pattern Interferometer (ESPI). Whenθ is very small, this configuration is adequate for measuring out-of-plane displace-ments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.8 Typical setup of an Electronic Speckle Pattern Shearing Interferometry (ESPSI) formeasuring strains, also known as a shearography setup. This setup uses a Michel-son interferometer (3 mirrors) to create a fringe pattern of the illumination beaminterfered with a duplicate image displaced by a shearing distance. The shearingdistance may be adjusted by rotating a mirror in the Michelson interferometer. . . 26

3.1 Influence of scaling in iteration steps of gradient-based optimization algorithms. . 323.2 (a) Reflection, expansion and contraction points, (b) contraction points, centered

around b. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.3 Orthogonal reflection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4.1 Major functional groups in FEMU software. . . . . . . . . . . . . . . . . . . . . . 404.2 Overview of Abaqus components and their interaction. . . . . . . . . . . . . . . . . 424.3 Class diagrams in the Unified/Universal Modeling Language (UML). . . . . . . . . 464.4 Filter class diagrams in the Unified/Universal Modeling Language (UML). . . . . . 484.5 Overview of the Identification Toolkit (IDTK) interface. . . . . . . . . . . . . . . . 53

vii

Page 8: Identification of material properties using finite elements and full ...

viii LIST OF FIGURES

4.6 Implementation (realization) of new finite element types. . . . . . . . . . . . . . . . 564.7 Overview of the ListenDispach model for Abaqus. . . . . . . . . . . . . . . . . . . . 60

5.1 (a) Image correlation setup for a double lap joint. (b) An image of the specimen’ssurface (provided by EADS). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

5.2 The rotation sequence for matrix [R] (equation (5.2)). (a) First, a rotation of θ withrespects to zm. (b) Second, a rotation of φ with respects to ξ. (c) Finally, a rotationof ψ with respects to zn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

5.3 Projection error δ(i) of measured data points ~xm(i) . The total projection error is asquare sum of the projection error for each point (equation (5.9)). . . . . . . . . . 65

5.4 Modification of a finite element’s bounding box for surface projection. . . . . . . . 665.5 Projection of a 3D mesh onto a 2D image plane. When comparing a 3D model with

2D measurements, it is necessary to project visible faces onto the image plane. This2D projection is used to determine the owner element of each data point, and thezm component of the owner element projection is assigned to the measured point.A visible element must have normals facing the image plane (e.g. n1 not n2 or n3 ).When there are several possible owner elements, the one closest to the image planeshould be selected. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

5.6 A linear solution to the orientation problem produces 3 non-orthogonal base vectorscj , the column vectors of matrix [C]. (a)θi are the angles between each vector andtheir corresponding axes xn, yn, zn. (b) An orthonormal basis is calculated viaGram-Schmidt. The base vector closest to its axis, c3, is selected as a reference vector. 69

5.7 Measurements and numerical models: (a) 3D experimental data for a 3D model, (b)3D measurements for a 2D model, (c) 2D measurements for a 3D model and (d) 2Dexperimental data with a 2D model. . . . . . . . . . . . . . . . . . . . . . . . . . . 70

5.8 Generating simulated measurement points with a radial distortion and random noise. 715.9 Simulated reference coordinates ~xn(i) and ~xm(i) in 2D. The measured coordinates are

obtained by a transformation ~xme(i) = [R] ~xn(i) +~t, for a given θimposed and a random~t, with no added noise. (a) Regular reference grid. (b) Irregular reference grid. . . 71

5.10 Error in the initial guess, δθ0 as a function of random noise levels, ε0 . . . . . . . . 725.11 (a) Open hole plate with a scale. The pixel size is determined by recording the

pixel coordinates of the ruler tick marks. Images of an open-hole plate with in-planedisplacements: (b) Reference image, (c) 5 mm displacement along the x direction,(d) 2 degrees rotation along the zn direction. (e), (f) and (g) A series of out-of-planerotations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

5.12 In-plane displacements: (a) Pixel coordinates of reference points. (b) Adjusted pixelcoordinates ~xnmi = [R]T (~xmi −~t). Out-of-plane displacements: (c) Pixel coordinatesof reference points. (d) Adjusted pixel coordinates ~xnmi = [R]T (~xmi − ~t). . . . . . 75

5.13 Solving Wahba’s problem with partial information. (a) A simulated measured grid isgenerated from 2D grid in 3D space with Euler angles θ = 270o, φ = 45o, ψ = 15o. (b)The actual measurements are available in 2D as a projection of the 3D coordinatesonto the x−y plane. (c) The Euler angles are solved by minimizing the cost functionin equation (5.8) with a Nelder-Mead optimizer. (d) The quality of the solution canbe illustrated by rotating the numerical field in 3D. (e) Convergence speed of theiterative solution to Wahba’s problem using a Nelder-Mead optimizer. . . . . . . . 76

6.1 (a) Experimental data always contains spatial and measurement uncertainties, bothdeterministic and random. This chapter assumes a point-wise recording of the mea-sure. (b) The interpolation error is defined with respects to the FE shape functions. 78

6.2 The cross-product test in 3D checks if a point is on the same side of face 123 as theopposite node 4: (a) is an internal point, (b) an external point. . . . . . . . . . . . 81

6.3 (a) The cross-product test uses cross and dot products to check if a point lies in-side all vertex cones of an element. (b) The bounding-box test uses a rectangularapproximation of the element to quickly eliminate impossible owner elements (caseof external points). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

Page 9: Identification of material properties using finite elements and full ...

LIST OF FIGURES ix

6.4 Examples of a finite element mesh and element containers. (a) With a sequentialelement list it is possible that interpolation points, although close in space, are faraway in the container. (b) Virtual elements contain small lists of finite elements intheir neighborhoods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

6.5 (a) Superposition of a finite elements mesh (dotted lines) and a virtual mesh. Aeand dx×dy are the areas of a bounding-box and a virtual element, respectively. (b)Examples of Ncl, the number of bounding boxes which claim a data point. . . . . . 85

6.6 Number of operations vs. data points for methods ST1, ST2 and ST3 (Ne = 10000,N cl = 10 and α = 0.05). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

6.7 Comparison of ST1 and ST2. The curves represent iso-lines where Tt|st2 = Tt|st1.The regions above the curve are such that Tt|st2 < Tt|st1. Notice that Ne does notaffect the curves to a significant degree. . . . . . . . . . . . . . . . . . . . . . . . . 86

6.8 Comparison of ST3 and ST2. The curves represent iso-lines where Tt|st3 = Tt|st2.The curves use the optimum α and N cl = 1, 5, 10, 15, 20. . . . . . . . . . . . . . . . 87

6.9 An explanation of how to check the inverse mapping accuracy. (a) The inversemapping function S−1 : ~x → ~ξ∗ may contain errors δξ = ‖~ξ∗ − ~ξT ‖ caused byconvergence accuracy, where ~ξT are the target coordinates. (b) The inversion errorδξ cannot be computed directly, since ~ξT is unknown. Instead, the accuracy of theinversion can be determined by mapping ~ξ∗ to the real coordinate system S : ~ξ∗ → ~x∗

and computing the error δx = ‖~x∗ − ~x‖. If the inversion is successful, δx shouldapproach zero. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

6.10 Node ordering of reference elements. . . . . . . . . . . . . . . . . . . . . . . . . . . 886.11 If any two opposite node vectors are parallel and point to the same direction (a) ~12

and ~23 or (b) ~23 and ~41, the nodal configuration is geometrically inadmissible. . . 896.12 (a) Test-Specimen Geometry: The model is an open-hole tensile test with the lower

edge fully constrained and the upper edge subjected to a 1000 kPa surface traction.(b) Details of the finite element mesh (Ne = 33, 000) with displacements in mm. . 92

6.13 Element search times (measured numerically) . . . . . . . . . . . . . . . . . . . . . 936.14 Inverse mapping times using (a) analytical and (b) iterative inversion algorithms. . 936.15 Error maps J(p) between a reference mesh of Ne = 33, 000 and a mesh of Ne = 2, 500

using (a) FE shape function interpolation, Matlab’s (b) nearest neighbor approxi-mation (c) linear and (d) cubic interpolation . . . . . . . . . . . . . . . . . . . . . 94

7.1 Mechanical behavior of elastic materials . . . . . . . . . . . . . . . . . . . . . . . . 1007.2 Principal axes in an orthotropic laminate. . . . . . . . . . . . . . . . . . . . . . . . 1007.3 Notation for laminate loading and stacking sequences. . . . . . . . . . . . . . . . . 1037.4 Common geometric uncertainties in the open-hole tensile test . . . . . . . . . . . . 1047.5 Reference displacement maps for an aluminum plate of dimensions 280× 30× 1mm

and a central hole of 6 mm diameter. The specimen is loaded along the x axis witha 500 MPa tensile stress. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

7.6 The effects of rigid body motion in the comparison of displacement maps. In thisexample the specimen and boundary conditions are the same as in Figure 7.5. (a)The measured specimen in the initial and deformed states. The specimen undergoesa rigid body motion of ~ur. (b) is a numerical model of the same specimen perfectlyaligned with the experiment. The shapes of the numerical model in both the initialand deformed states are identical to the measured specimen. However, the numericalmodel does not contain rigid body motion. (c) A plot of the displacements alongthe horizontal line in figures (a) and (b). Notice that shapes of the numerical andmeasured displacements are identical except for an offset of the measured curves inthe displacement axes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

7.7 Examples of real (a)-(b) and apparent (c)-(d) rigid body motion. The rectanglesrepresent the camera recording windows. (a)-(b) An initial misalignment of thespecimen and the tensile direction will cause the specimen to rotate during tension.(c)-(d) If the camera moves during loading, the apparent translation of a stationarypoint is indistinguishable from a real translation in the specimen. . . . . . . . . . . 109

Page 10: Identification of material properties using finite elements and full ...

x LIST OF FIGURES

7.8 1000 accuracy tests of rigid body motion solutions: a Monte Carlo analysis. . . . . 1117.9 Rigid body motion effects on simulated measurements: Addition of rigid body ro-

tation angle θr into displacement field u(x, y). . . . . . . . . . . . . . . . . . . . . . 1127.10 Rigid body motion effects on simulated measurements: Addition of rigid body dis-

placements, ur, into displacement field u(x, y). . . . . . . . . . . . . . . . . . . . . 1127.11 The effects of camera misalignment in the comparison of displacement maps. Figure

(a) shows the error in alignment between the visualized specimen (solid lines) andthe numerical model (dashed lines). In this example, the specimen and boundaryconditions are the same as in Figure 7.5. Points A and B points directly abovethe hole in the experimental plate and numerical model, respectively. These pointsshould coincide when the measurements and model are perfectly aligned. Figure (b)shows the transverse displacements along the horizontal line. Notice that shapes ofthe numerical and measured displacements are identical except the peaks of the twocurves do not coincide. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

7.12 Simulated displacement field measurements, u(x, y), with a camera misalignment.The simulation is consistent with white light measurement techniques such as theillustrated image correlation setup. . . . . . . . . . . . . . . . . . . . . . . . . . . 115

7.13 Displacement gap variation with respects to camera orientation parameters . . . . 1167.14 Source of non-orthogonality of displacement measurements in systems such as Moire

interferometry and ESPI. (a) Optical setup and sensitivity vectors. (b) Ideal align-ment of mirrors. (c) Actual alignment of mirrors. . . . . . . . . . . . . . . . . . . . 117

7.15 Examples of radial distortion. The reference image (b) is distorted via equation 50,with n = 1 and (a) K1 = −0.001, (c) K1 = 0.001. . . . . . . . . . . . . . . . . . . . 119

7.16 Simulated interferometric measurements with non-orthogonal illumination beams,g1 and g2. The angles θ1 and θ2 are the angles between measurement axis xm andg1, and ym and g2, respectively. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

7.17 Distortion effects on simulated measurements: (a) Measured displacements um(x, y),(b) Residue map J(x, y) =

uref − udistT [S]

uref − udist. . . . . . . . . . . . . 123

8.1 Example of an exponential look-up function, equations (8.4) and (8.5). . . . . . . . 1298.2 Geometry of the plate with a hole specimen. . . . . . . . . . . . . . . . . . . . . . 1318.3 Residue and parameter evolution during the identification of orthotropic parameters

of a plate with a hole. The cost function is a normalized displacement gap minimizedusing a Nelder-Mead algorithm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

8.4 Residue maps for the optimization process shown in Figure 8.3. Numerical displace-ments are obtained for a FE model with identified parameter values, ~x∗. . . . . . . 133

8.5 Error of the (uncentered) normalized displacement gap with different initial guesses.The optimization technique used is a bounded Nelder-Mead algorithm. Initialguesses are listed in a table in section 8.6.4. . . . . . . . . . . . . . . . . . . . . . 134

8.6 Influence of boundaries in the longitudinal displacements of an open-hole tensile test.1358.7 Residue maps when varying only E1 by 5% from its target value for (a) centered

displacement gap, (b) plain displacement gap. . . . . . . . . . . . . . . . . . . . . . 1368.8 Residue and parameter evolution during the identification of orthotropic parameters

of a plate with a hole. The cost function is a centered displacement gap minimizedusing a Nelder-Mead algorithm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

8.9 Residue maps (centered diplacements) for the optimization process shown in Figure8.8. Numerical displacements are obtained for a FE model with identified parametervalues ~x∗. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

8.10 The influence of a non-linear parameter transformation on a quadratic cost function. 1388.11 Approximation of the displacement gap residue by a quadratic function (equation

(8.8)) for isotropic material parameters. . . . . . . . . . . . . . . . . . . . . . . . . 1418.12 Identification of a beam under tension. . . . . . . . . . . . . . . . . . . . . . . . . . 1428.13 One-dimensional quadratic fit of the centered displacement gap residue with respect

to compliance components. All other parameters are held at target values. . . . . 1438.14 One-dimensional quadratic fit of the centered displacement gap residue with respect

to engineering parameter. All other parameters are held at target values. . . . . . 144

Page 11: Identification of material properties using finite elements and full ...

LIST OF FIGURES xi

8.15 One-dimensional quadratic fit of the centered displacement gap residue with respectstiffness components. All other parameters are held at target values. . . . . . . . 144

8.16 Five-dimensional quadratic fit of the centered displacement gap residue with respectto engineering parameter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

8.17 Residue and parameter evolution during the identification of orthotropic parametersof a plate with a hole. The cost function is a centered displacement gap minimizedusing the fmincon function in Matlab. The entry parameters of the cost function arecompliance components, displayed as engineering constants for ease of comparisonwith previous tests. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

8.18 Residue maps (centered diplacements) for the optimization process shown in Figure8.17. Numerical displacements are obtained for a FE model with identified param-eter values, ~x∗. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

8.19 Residue and parameter evolution during the identification of orthotropic parametersof a plate with a hole. The cost function is a centered displacement gap minimizedusing the lsqnonlin function in Matlab. The residue vector is defined in equation(8.10). The entry parameters of the cost function are compliance components, dis-played as engineering constants for ease of comparison with previous tests. . . . . . 148

8.20 Residue maps (centered diplacements) for the optimization process shown in Figure8.19. Numerical displacements are obtained for a FE model with identified param-eter values, ~x∗. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

8.21 Residue and parameter evolution during the identification of orthotropic parametersof a plate with a hole. The cost function is a centered displacement gap minimizedusing the lsqnonlin function in Matlab. The residue vector is defined in equation(8.12). The entry parameters of the cost function are compliance components, dis-played as engineering constants for ease of comparison with previous tests. . . . . . 149

8.22 Residue maps (centered diplacements) for the optimization process shown in Figure8.21. Numerical displacements are obtained for a FE model with identified param-eter values, ~x∗. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

8.23 Convergence rate of the identification problem with different optimization algorithmsand different starting points. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

8.24 Accuracy of the optimization algorithms with different initial guesses. . . . . . . . 152

9.1 Contour plots of the displacement gap cost function with respect to Young’s Modulusand Poisson’s Ratio. Contour maps (a,b) with plain interpolation, (c,d) solving forrigid body components, (e,f) solving for orientation parameters, (g,h) solving forboth at each iteration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

9.2 Reference displacement maps for multi-level identification of material properties,rigid-body motion and camera misalignment parameters. The reference maps areobtained by FE simulation as described in section 8.3.2. . . . . . . . . . . . . . . . 158

9.3 Residue and rigid-body motion parameters evolutions during the identification of aplate with a hole. The reference map had no added rigid-body motion. The costfunction is a centered displacement gap minimized using the lsqnonlin function inMatlab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

9.4 Residue and camera angle evolutions during the identification of orthotropic param-eters and camera misalignment parameters of a plate with a hole. The referencemap had no camera misalignment in case 1 and a 2 misalignment in case 2. Thecost function is a centered displacement gap minimized using the lsqnonlin functionin Matlab. The residue vector is defined in equation (8.12). . . . . . . . . . . . . . 160

9.5 Sensitivity of orthotropic parameters to camera translation and rotation misalignment.162

Page 12: Identification of material properties using finite elements and full ...

xii LIST OF FIGURES

9.6 Residue and parameter evolution during the identification of orthotropic parametersand rigid-body motion parameters of a plate with a hole. Although the referencemap has a 2 camera rotation (see Figure 9.2), the procedure attempts purposely,but incorrectly, to solve for rigid-body rotation parameters. The cost function is acentered displacement gap minimized using the lsqnonlin function in Matlab. Theresidue vector is defined in equation (8.12). The entry parameters of the cost functionare compliance components, displayed as engineering constants for easy comparisonwith previous tests. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

9.7 Residue and parameter evolution during the identification of orthotropic parametersand camera orientation and rigid-body motion parameters of a plate with a hole.The reference map has a 2 camera rotation and a 0.01 rigid-body rotation (seeFigure 9.2 (b) and (c)). The procedure solves for camera parameters first and rigid-body rotation second in a multi-level optimization strategy. The cost function is acentered displacement gap minimized using the lsqnonlin function in Matlab. Theresidue vector is defined in equation (8.12). . . . . . . . . . . . . . . . . . . . . . . 165

9.8 Centered displacement gap modes for engineering constants. Each parameter wasvaried by 5% of its target value, and ∆θ = 1o. . . . . . . . . . . . . . . . . . . . . 168

9.9 Centered displacement gap modes for experimental parameters. The variation ofeach parameter is ∆θc = 1o, ∆tx = 0.3 mm, ∆ty = 0.3 mm and ∆θr = 1e−3

(degrees). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

10.1 Experimental setup for the identification case-study using stereo correlation (pro-vided by EADS). Note: the length of the specimen is ligned-up with the y-axis. . . 172

10.2 Sample experimental maps of a plate with a hole using stereo correlation (providedby EADS). The images at the top show an evolution of the transverse displacementmaps (in mm), while the bottom ones are longitudinal strains (in %). . . . . . . . 172

10.3 (a) Specimen geometry: The model is an open-hole tensile test with the lower edgefully constrained and the upper edge subjected to surface traction T (1000 kPa inthis case). (b) Details of the finite element mesh (Ne = 8, 000) with displacementsin mm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

10.4 Procedure for coordinate alignment in the absence of reference points. The red dotsare experimental points and the blue lines a representation of the numerical model.(a) Initial coordinates. (b) Coordinates are centered, then rotated off-plane using aplane fit of the experiment coordinates (c). In-plane alignment was first estimatedvisually then adjusted using an iterative procedure during the identification routine(d). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

10.5 Effects of correcting camera misalignment in identification. The residue maps are forload case T = 750 kN, (b) with and (a) without correction for camera misalignment. 175

10.6 Moduli E11, E22, G12 and ν12 identified for loads between 500 kN and 1,500 kN. . 176

10.7 Rigid-body motion components identified for loads between 500 kN and 1,500 kN. 177

10.8 Experimental and numerical (identified) strain maps for load case T = 750 kN . . 178

10.9 Normalized identification results for point samples (5% of experimental map). Alltests were performed for the load-case T = 750 kN. . . . . . . . . . . . . . . . . . 179

10.10Normalized identification results for the boostrap analysis (redistribution of error).All tests were performed for the load-case T = 750 kN. . . . . . . . . . . . . . . . 180

10.11Evolution of error maps (εmxx − εxx(~θ∗)) from T = 750 kN to T = 1, 700 kN. Theseerror maps appear to show the propagation of damage. . . . . . . . . . . . . . . . . 181

10.12Evolution of residue maps J(~α∗) from T = 750 kN to T = 1, 700 kN. These residuemaps appear to show a concentration error in the edges of the images. This residuemode is similar to modes created by camera distortion (see Figure 7.17(b)). Theincreasing concentration of residues near the hole are indicative of the propagationof damage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182

Page 13: Identification of material properties using finite elements and full ...

LIST OF FIGURES xiii

11.1 Residue maps of a plate with a hole tensile test. The simulated experimental platehas global properties of E1 = 19.49 GPa, E2 = 13.65 GPa, G12 = 11.42 GPa,ν12 = 0.60 and an elliptical region with local material properties, E1 = 10.69 GPa,E2 = 16.69 GPa, G12 = 11.06 GPa, ν12 = 0.62. The numerical model was identifiedwith homogeneous properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

11.2 Residue maps of a plate with a hole tensile test. Experiments conducted usingspeckle interferometry. The experimental plate has an elliptical region with localmaterial properties, The numerical model was identified with homogeneous properties.187

Page 14: Identification of material properties using finite elements and full ...

xiv LIST OF FIGURES

Page 15: Identification of material properties using finite elements and full ...

Foreword

The flexible nature of finite elements (FE), and advancements of optical measurement techniquesin experimental mechanics have fueled the current interest in identification of complex structureswith heterogeneous strain fields. Current optical full field measurement techniques (OFFMs) enablethe acquisition of entire displacement/strain fields at nearly point-wise intervals. These techniquesinclude interferometric techniques, such as speckle, moire and holographic interferometry, and non-interferometric techniques such as the grid method and image correlation. The characteristics ofOFFMs, namely the large number of data points and the ability to visualize strain variations, leadto identification strategies with several potential advantages to traditional techniques:

1. Ability to determine several parameters from a single experiment (e.g. All in-plane or-thotropic elastic parameters, complex boundary conditions, etc).

2. Study of local variation of properties.

3. Evaluation of real structures with complex loading and geometry.

4. Statistical treatment of experimental data, which envisions the computation of confidenceintervals of the identified parameters.

This thesis describes the implementation of a finite element model updating (FEMU) strategyemployed in the general identification of material properties. This iterative method was selectedbecause it is a general solution strategy, and easily adaptable to real experimental conditions. Insummary the technique aims at determining a set of FE model parameters (material properties,boundary conditions, geometry, etc) with displacement/strain fields that resembles best the exper-imental fields. The process works by iterating through parameter values while solving an FE modelfor each parameter set and comparing the FE results with the experimental data using a residueformulation (typically a mean square difference). The difference is minimized using a numericaloptimizer (e.g. Nelder-Mead, Newton-Raphson, etc).

For repeated residue calculations, a fundamental step in the identification process, a specialeffort was made to accurately and efficiently map experimental data points into the FE modelusing shape functions. This technique is used instead of mesh projection or generalized linear orcubic B-spline interpolation to avoid implicit filtering and completely decouple the experimentalmeasurements from numerical results. A special effort was also made to take into account severaldeterministic experimental phenomena, such as camera/specimen misalignment and rigid-bodymotion.

In this thesis, an implementation of the identification strategy was developed in C++, pythonand Matlab r including all relevant field comparison and optimization algorithms. These includepre-treatment of experimental data, field interpolation, calculation of residuals, iteration of pa-rameter values, residual minimization and an interaction module with Abaqus CAE. A number ofapplications of the software are given for the identification of elastic properties (E11, E22, v12, G12)of composite materials using an open-hole tensile test.

An open-hole tensile test was selected for an initial test case because it is a standard industrialtest in composite testing, which could be easily recycled for identification. Preliminary tests wereconducted using both numerical and experimental references, which demonstrate the software’sability to determine model parameters that best approximate experimental displacement/strainfields. This thesis also presents a first estimate of statistical confidence intervals, calculated usingsubsequent identifications of random samplings of the experimental data field.

1

Page 16: Identification of material properties using finite elements and full ...

2 LIST OF FIGURES

This thesis is divided into three main parts: Part 1, deals with background information in-cluding an overview of optical full-field measurements and identification using these methods.Part 2, describes specific techniques developed for field comparison, including coordinate align-ment, interpolation, parameterization and modeling of deterministic experimental effects. Thispart also includes a discussion on the software implementation of the mentioned techniques. Part3 is composed of several tests of the implemented strategy as well an optimization profile of theidentification problem. It includes a chapter which analyzes competing parameterizations and op-timization algorithm as well as discuss the dependence/independence of parameter groups. Thethesis is concluded with a case study using stereo correlation and a discussion on undergoing workand future perspectives.

Page 17: Identification of material properties using finite elements and full ...

Chapter 1

Overview of identificationtechniques using full-fieldmeasurements

1.1 Introduction

This chapter discusses a number of different techniques for using full-field methods for materialidentification. It also discusses the interests of identification of material properties using opticalfull-field measurements instead of traditional methods. The main purpose of this chapter is toprovide the reader with the appropriate context and bibliographical background of the techniquesdeveloped in this thesis. The chapter begins by discussing standard practices for characterization ofmaterials and their limitations. It proceeds by formulating the identification problem and proposingseveral solution approaches available in literature, including: the virtual fields method (VFM), theconstitutive equation gap method (CEGM), The equilibrium gap method (EGM) and finally thefinite element model updating method (FEMU), which is the approach adopted in this thesis.

1.2 Standard methods for characterization of composites

Since the upsurge of design and manufacturing of composite materials in the late 1970s, there hasbeen a constant need to develop and improve techniques for determining the mechanical propertiesof these materials. Many of these techniques were adapted from the testing of metals, howeverunlike metals (isotropic materials), in general, the properties of composite materials (anisotropicmaterials) are not independent of the direction of testing. Also, unlike metals, whose physicalfeatures are generally spatially homogeneous compared to the typical size of a mechanical structure,composite materials are not homogeneous throughout space. That is to say a composite material’smechanical properties are both position and orientation dependent.

The dependence in position means that traditional characterization methods must make aseries of assumptions about the spatial distribution of properties. Frequently, it is assumed thatthe behavior of a material within a characteristic region (unit cell) may be approximated by anaverage behavior. This is typically called a homogenization assumption. The “accuracy” of thehomogenization assumption depends on the length of the unit cell and if, at that scale, the unit cellis transposable to any part of the material. The dependence of a composite material’s properties toits spatial orientation is the motivation for traditional characterization method to perform severalseparate mechanical tests. Each test aims at measuring the strain-tensor response to a solicitationof single component (or known combinations) of the stress tensor.

Over the last 30 years much research has been dedicated to the development of characterizationmethods for composite. Many of these procedures have been adopted as standards by the Interna-tional Organization for Standardization (ISO) and the American Society for Testing and Materials(ASTM) [5]. The testing procedures for composite characterization have become very numerous

3

Page 18: Identification of material properties using finite elements and full ...

4 CHAPTER 1. IDENTIFICATION OVERVIEW

and sophisticated. Therefore, this section will only briefly discuss some of the most common meth-ods for testing unidirectional lamina. For more complete guides and reviews in composite materialtesting, the reader is referred to [6, 7].

Uniaxial tensile tests

For the examples in this section, the strain response of a unidirectional lamina to an applied stressσ is written as ε11

ε22

ε12

=

1E1

−ν12E1

0−ν21E2

1E2

00 0 1

G12

σ11

σ22

σ12

.

Young’s modulus E1, E2 and Poisson’s ratio ν12, ν21 are evaluated by testing laminae at 0o and900 in uniaxial tension or compression. These tests are described in the ASTM D3039 standards.The standards are designed for materials of high tensile strength and work by producing a veryuniform state of uniaxial stress (σ11 or σ22). The specimens in this standard are long rectangularcoupons of the unidirectional lamina, adhesively bonded to load-transferring tabs. These tabs aremade to help transfer the load from the clamps to the specimen without damaging the specimen.The tabs also improve the friction grip to avoid slipping (see Figure 1.1).

Strain Gauges

Load-Transfering Tabs

Specimen WidthSpecimen Length (Gauge Length)

(At least 2X width)

Specimen ThicknessTab Thickness

Tensile Direction

Figure 1.1: Uniaxial tensile test specimen

For example, if a coupon at stacking sequence [0o] is subjected to a uniform uniaxial stress σ11,the modulus E1 is obtained by fitting a curve over several stress/strain measurements of a straingauge placed in the longitudinal direction, i.e.

ε11 =1E1

σ11, ⇒ E1 =σ11

ε11.

The strain measurements of the gauge placed in the transverse direction permits us to calculateν12,

ε22 =−ν12

E1σ11, ⇒ ν12 = −E1

ε22

σ11.

If the same test is repeated for a specimen with stacking sequence of [90o], E2 and ν21 may becalculated with a similar procedure.

In-plane shear tests

Uniaxial tensile tests are generally reliable as long as the stacking sequence produces a uniformstate of stress. However, non-uniformities will quickly arise in off-axis tensile tests, due to shearcoupling effects induced by rotation constraints in the clamp. An off axis test would be used forinstances in determining G12. Pagano and Halpin [1] have shown that a specimen with shearcoupling will deform during a tensile test as illustrated in Figure 1.2.

For unidirectional laminae, this problem may be circumvented by manufacturing a laminatewith stacking sequence [±45o]. In this case, the laminate is symmetric (avoiding shear coupling)and the equivalent applied shear stress σ12 and measured shear strain ε12 in the ply,

Page 19: Identification of material properties using finite elements and full ...

1.2. STANDARD METHODS FOR CHARACTERIZATION OF COMPOSITES 5

Ends Unconstrained

Ends Fully Constrained

Figure 1.2: Shear coupling presented by off-axis tensile tests. Obtained from Pagano and Halpin[1].

σ12 = σx and ε12 = εxx − εyy.

In this notation x, is the axis aligned with the length of the specimen and 1, 2 are the principalaxes of the original laminate.

Obtaining the shear modulus, G12, of a complex composite laminate is generally more difficult.For example, for thick composites, due to limitations of available tensile machines, it may beimpractical to test a composite with twice the thickness of the original laminate. In addition, thespecimen may become too thick for the thin plate assumption. In these cases several mechanismshave been devised to apply a state of pure shear. The most common in-plane shear tests include off-axis tensile test, twisting of a flat plate, torsion of a tube or rectangular bar, the v-notched Iosipescutest, Arcan disk test and two and three rail shear tests. Some of these tests have been developedinto norms in ASTM, ISO and EN. Descriptions of these in-plane shear tests are discussed in detailin chapter 6 of [7]. Table 1.1 contains a number of common mechanical tests to determine eachelastic parameter.

Shear Force

Bending Moment At root of notch

Strain Gauges

(a) (b)

Figure 1.3: Shear testing: (a) The Iosipescu shear test apparatus. Image obtained from [2] (b)Diagrams of the Iosipescu shear test.

Page 20: Identification of material properties using finite elements and full ...

6 CHAPTER 1. IDENTIFICATION OVERVIEW

Test Specimen Configuration Elastic Parameters(ASTM standard)

Longitudinal Tension E1, ν12

(D3039M-00)

Transverse Tension E2, ν12

(D3039M-00)

Longitudinal Compression

Sandwitch column

Sandwitch beam

IITRI E1

(D3410M-03)(C364-99)(C393-00)

Transverse CompressionIITRI

or sandwitch construction

E2

(D3410M-03)(C364-99)(C393-00)

In-Plane Shear

Iosipescu Arcan

Coupon in Torsion

Off-axis Tension

Two-Rail Shear

G12

(D3518M-94 [2001])(D4255M-01)

(D5379)

Table 1.1: Mechanical tests for the in-plane characterization of unidirectional lamina

Page 21: Identification of material properties using finite elements and full ...

1.3. IDENTIFICATION FROM FULL-FIELD METHODS 7

Limitations of traditional identification methods

There will always be limitations in whichever standard method (or combination of methods) em-ployed for characterizing elastic parameters of a composite material. First, there is an intrinsiclimitation of the mechanical tests themselves: for example, not all standard methods creates aperfect condition of pure shear. Shear tests such as Iosipescu and the two and three Rail methodswork with non-perfect conditions that always include some degree of parasitic couple-moments. Thestandards are designed to minimize these effects. However, they do not include generic methodsof evaluating the discrepancy between what is measured and what is expected to be measured.

Another limitation is related to the exploitation and interpretation of results. Even in thecircumstance of a perfect mechanical test, the interpretation of a typical experimental stress/straincurve is not evident.There are generally two ways to determine a modulus from a stress/straincurve: the tangent and the secant method. The tangent method considers measurements in theimmediate vicinity of a reference strain, the other considers a range of points for a linear fit ofσx = Exεx+σ0. ASTM standards generally includes recommendations for the interpretation of thestress/strain curves, including types of strain gauges to employ and what range of strains to includein the modulus determination. However, the value of the elastic modulus may vary significantlywith different techniques.

Finally, besides inherent limitations of the mechanical tests, the techniques are limited by thestandard strain measurement device itself, the strain gauge. Depending on the morphology ofthe composite material, the strain gauge most adapted to the mechanical test (dimension andsensitivity) may not accurately encompass a representative unit cell of the composite material1.In these cases a single specimen and trial of a standard test may not be sufficient to determinethe scale-characteristic properties of the part in question. In practice, the experimenter generallyperforms several trials of a mechanical test with several different specimens. In this manner, localphenomena are effectively averaged-out.

1.3 Identification from full-field methods

The employment of optical full-field measurements (OFFMs) in material identification is a cleverresponse to some limitations of traditional methods. Results from OFFMs are conceptually equiv-alent to bonding a large array of tiny strain gauges in the surface of the specimen, only requiringsignificantly less surface treatment. These measurement techniques, some of which are the gridmethod, digital image correlation, Moire and speckle interferometry, are designed to obtain largenumber of experimental measurements (typically 1,000 to 10,000 independent displacement/strainmeasurement) with no contact with the specimen. With the popularization of PCs in 1990s, re-cent development of low-cost CCD cameras and the improvements in digital image processing havemade these techniques very appealing in experimental mechanics [citeulike:3033012].

When applied to standard characterization tests, full-field measurements possess the immediateadvantage of verifying some of the assumptions of the mechanical test, in particular the assumptionof homogeneous strains. For example in Iosipescu shear test presented previously, by observingthe spatial distribution of strains, the experimenter would be able to verify the condition of pureshear between the notches of the specimen. He would also be able to select measurement regionsrepresentative of the material’s morphology.

However, the ability to observe heterogeneous strain variations suggests the development moreflexible characterization methods. Instead of relying on simple exact solutions to of mechanical sys-tems under (assumed) homogeneous strains/stresses in the zone of interest, full-field measurementsallow consideration of more complex structures with fewer mechanical assumptions. Particularlyattractive is the use of mechanical tests that excite multiple (or all) components of the stress tensorat different measurement regions. Such a test would enable the simultaneous evaluation of multipleelastic parameters from the same experiment. Furthermore, the large number of points within afield, permits us to envision techniques that would investigate material anisotropy, spatial prop-erty variations within the specimen (e.g. a growth ring in wood), as well as to compute statistical

1This problem is not common in metals because a unit cell of the micro-structure (e.g. a grain) of a metal isgenerally much smaller than a metallic part (e.g. a beam).

Page 22: Identification of material properties using finite elements and full ...

8 CHAPTER 1. IDENTIFICATION OVERVIEW

confidence intervals of identified properties.Nonetheless, identification of properties with such methods requires adequate computational

strategies to exploit experimental data. This chapter presents a brief overview of recent identifica-tion techniques using full-field measurements. For more complete reviews of such techniques, thereader is referred to [8, 9, 10].

1.3.1 Governing equations

Neglecting body forces, a generic elastic specimen whose undeformed configuration occupies thevolume Ω is governed by three sets of equations, equilibrium equations

divσ = 0 in Ωσn = ~Tb at Sf

(1.1)

kinematic compatibility equationsε = 1

2 (∇~u+∇T~u) in Ω~u = ~ub at Su

(1.2)

and the constitutive equation, e.g. linear elasticity

σ = A : ε. (1.3)

In these equations, ~u is the displacement vector, ε the strain tensor, σ the Cauchy stresstensor, and n a unit vector pointing outwards to the volume’s surface Sf . The subscript b is usedto denote quantities at the borders of the specimen (i.e. boundary conditions). For well-posedboundary conditions surfaces Su and Sf are such that Su∪Sf = ∂Ω and Su∩Sf = ∅. Componentsof the Hooke tensor A can be either constant or varying throughout Ω, case of homogeneous andheterogeneous materials, respectively.

1.3.2 Direct and inverse problems

A direct problem, as is usually called in mechanics, is one which aims to solve for stress andstrain fields the given the specimen geometry, the constitutive parameters, and a well-posed set ofboundary conditions. Solutions to direct problems are generally obtained by numerical methodssuch as finite element modeling (FEM), although there are closed-form solutions to many particularproblems. In FEM, the direct problem is solved using the principle of virtual work, which statesthe following equation holds true for all (virtual) displacement fields ~u∗ which are kinematicallyadmissible:

∫Ω

ε(~u∗) : A : ε(~u) dV −∫Sf

~Tb · ~u∗b dS = 0, (1.4)

The true displacement field ~u is the virtual field ~u∗ that minimizes the strain energy.The typical solution in FEM requires this problem to be discretized in the usual Galerkin

method. The direct problem is written in matrix form

[K(A)] u = Tb . (1.5)

The vector u assembles all degreed of freedom for each node, e.g. in 2D

u =[u1 v1 u2 v2 · · · uN vN

]T.

The vector Tb follows a similar notation and assembles all the applied node forces. The stiffnessmatrix [K] is the reduced stiffness matrix (i.e. it excludes all inactive degrees of freedom).

In material identification, the inverse problem, the objective is the opposite: to obtain consti-tutive parameters given knowledge of the boundary conditions and measurement of at least a partof the displacement/strain fields ~ue, εe.

Page 23: Identification of material properties using finite elements and full ...

1.4. THE VIRTUAL FIELDS METHOD 9

Direct ProblemKnown (fully) Unknown

~Tb σ~ub ε, uA

Inverse ProblemKnown (partially) Unknown

~Tb A~ub σ

εe, ~ue

The problem involves solving for parameters of obtain an admissible Hooke tensor A and stressand strain / displacement fields σ, ε such that: one, the strain / displacement fields σ, ε are inbest agreement with the measurements ue, εe. Two, the fields σ, ε must solve equation (1.4) for aminimum strain energy, while satisfying conditions of kinematic and static admissibility.

When the mechanical problem is sufficiently simple, with homogeneous stress fields, it is possi-ble to obtain a closed-form solution to the identification problem. This is the case of the standardmechanical tests in composite material characterization, discussed in section 1.2. When the me-chanical test is more complex, it becomes necessary to obtain a solution of the identification problemnumerically. In the coming sections we discuss a number of solution techniques developed in recentyears, including: the virtual fields method (VFM), the constitutive equation gap method (CEGM),The equilibrium gap method (EGM)and finally the finite element model updating method (FEMU),which is the approach adopted in this thesis 2.

1.4 The virtual fields method

The virtual fields method (VFM) is based on the principle of virtual work. For an arbitrary solid(assuming a static condition) this principle may be written as in equation (1.4),

∫Ω

σ : ε(~u∗) dV −∫Sf

~Tb · ~u∗b dS = 0,

recalling that ~u∗ is any kinematically admissible displacement field, known as a virtual field, andε(~u∗) is a virtual strain tensor, calculated by differentiating the virtual displacement field. Theapproach of VFM is to introduce an explicit form of the constitutive law (equation (1.3)) into theprevious equation in order to obtain a linear equation of coefficients of A. For example, in anorthotropic material

σ = [Q] ε ,

(∫Ω

ε11ε∗11 dV

)Q11 +

(∫Ω

ε22ε∗22 dV

)Q22 +

(∫Ω

ε11ε∗22 + ε11ε

∗22 dV

)Q12+ (1.6)(∫

Ω

ε66ε∗66 dV

)Q66 +

(−∫Sf

Tb1u∗1 + Tb2u

∗2 dS

)= 0

A linear system of equations may be formed through the selection of number of independent virtualfields u∗Ni=1, where N is greater than or equal to the number of unknowns Qij . A solution ofthis system will yield Qij directly (i.e. with no iterations required).

The technique requires, however, that full-field strain measurements be available for the entiresurface of a 2D specimen, S. Only then will it be possible to evaluate the volume integrals of theprevious equations, i.e. ∫

Ω

εijε∗ij dV = t

(∫S

εijε∗ij dS

),

where t is the specimen’s thickness. Implementations of the VFM typically employ curve-fittingand filtering techniques to fill-in the gaps of available strain measurements and to limit the influence

2In [11], the author describes the reciprocity gap method (RGM). This method will not be discussed here becauseit has yet to be applied to full-field measurements.

Page 24: Identification of material properties using finite elements and full ...

10 CHAPTER 1. IDENTIFICATION OVERVIEW

of measurement noise. The accuracy of the method depends in the choice of virtual fields, whichmay be defined for the entire surface or in piece-wise fashion.

Recently released, Camfit [12] is a free software implementation of the virtual fields method.The software aims at providing a fully dedicated tool for identification from full-field measure-ments. The program is written entirely in the Matlabr scripting language consisting of five majorcomponents: pre-processor, mesh generator, reconstructor, identificator and post-processor. Thepre-processing module is responsible for converting raw experimental data into data files into fileformats recognizable by Camfit. The pre-processor also selects a region of interest for the fulldata field. The mesh generator constructs a triangular mesh encompassing the region of interest.This mesh is used as a spatial filter in the reconstructor module [10, 13]. Next, the identificatormodule solves the inverse problem using piece-wise virtual fields. The process works for a series ofpre-described boundary conditions and a series of material behaviors such as linear elasticity andplasticity, isotropic damage, orthotropic elasticity, plastic hardening and viscoplasticity. Overallthe program is intuitive and fairly easy to use.

1.5 Constitutive equation gap method

The constitutive equation gap method (CGM) minimizes the distance between a given stress fieldτ and a stress field computed from displacement/strain measurements using a constitutive model.The constitutive equation gap method has been used in a wide variety of applications, includingthe identification of elastic properties [14, 15], non-homogeneous and elastoplastic properties [16].For a linear elastic constitutive model, the constitutive gap is

E(u, τ,A) =12

∫Ω

(τ −A : ε[u]) : A−1 : (τ −A : ε[u]) dV.

In full-field measurements, the objective of the CEG method is to determine a stress tensor τ andelastic tensor A such that

minA∈A

J(A), where J(A) = minτ∈SE(ue, τ,A),

where A and S represent the sets of admissible elastic tensor fields and statically admissible stressfields, respectively. Note, the elastic tensor A may be either homogeneous of heterogeneous. Theminimization of E with respects to τ is carried out using FE interpolation of admissible stressfields. Equilibrium is enforced either by using Lagrange multipliers or a penalty method. Notice,although the method is iterative, it does not require the solution of a finite element model.

1.6 Equilibrium gap method

The equilibrium gap method (EGM) [9] works by minimizing the residual forces between a finiteelement model with nodal displacements u and the same model with substituted ue comingfrom full-field measurements. More precisely, let us assume the FE model describing the structurehas a number of parameters (to be identified), which is concatenated in a vector Q. In FE,a trial kinematically admissible displacement field ut is expanded using appropriate FE shapefunctions into a matrix [M ], such that

ut = [M ] (u).In a typical FE solution, the nodal displacements are obtained by minimizing a potential energyE([Q] , u). This is achieved when u is a stationary point,

∂E([Q] , u)ui

= 0.

In [17], the author has shown that the stationary condition may be written in the followingform

Page 25: Identification of material properties using finite elements and full ...

1.7. FINITE ELEMENT MODEL UPDATING 11

[M(u)] [Q(A)] = [0] , (1.7)

for internal nodes which do not experience any external loads.In the identification problem, we assume that the vector u is well approximated by the

measurements, which must be available at FE node coordinates,

u ≈ ue .When this approximation is inserted into equation (1.7), the system is no longer stationary, andactually produces a field of residual forces,

[M(ue)] [Q(A)] = [Fr] .

The objective of the equilibrium gap method is to obtain the parameters of the elastic tensor,which minimize a measure of the residual forces, i.e.

A∗ = minA∈A

|| [Fr] ||.

The variable A represents the sets of admissible elastic tensor fields. The parameters of A, arethus identified in a least-squares sense.

The equilibrium gap method has been applied in the most part to the detection of damagefields. In these cases the elastic tensor may be written as a known functional (usually linear)variation of an average material tensor A0, known a-priori.

1.7 Finite element model updating

The approach of finite element model updating (FEMU) is to identify the constitutive parameters~θ, where A(~θ), by minimizing the discrepancy between model responses ( e.g. displacements) tomeasured responses. This is achieved through an iterative process, where for each iteration of theparameters, ~θk, a FE solution is calculated, un, and compared to the experiments ue via aresidue function J(~θ). The solution ~θ∗ is obtained by minimizing the cost function with respectsto the model parameters, e.g.

~θ∗ = minA(~θ)∈A

J(~θ).

The typical solution procedure in FEMU is illustrated in Figure 1.4. The technique is con-ceptually very simple, and since at each iteration the residue is computed by solving equation(1.5), as long as a FE solution exists the conditions of equilibrium and minimum strain energyare automatically satisfied. Hence, it is possible to easily parameterize aspects of the model otherthan material behavior (e.g. boundary conditions, specimen geometry, etc) with assurances thata solution will be physically admissible. Furthermore FEMU has few limitation on measurementtype and spatial distribution.

The small number of assumptions allows FEMU to be applied to a wide range of experimen-tal methods (not only full-field methods) and for applications featuring complex geometries andloading. This is primary reason why FEMU has been selected for development in this thesis. Thefollowing is a brief overview of the range of applications of the method:

• Linear elasticity: Using full-field methods, the identification of the 2D elastic parametersof an orthotropic plate have been carried out using FEMU in references [18, 19, 20] using anopen-hole tensile test and in [21] using a biaxial tensile test. In [22], the elastic properties ofa human basin are identified from surface measurements using a 3D FE model. Additionally,several studies are dedicated to the identification of linear elastic properties via bendingand vibration analysis. For example: in [23], the author identifies the orthotropic bendingrigidities for composite and cardboard plates using FEMU and a shadow Moire. In [24]the author describes the development of The Modal Analysis by Finite Elements (MAFE)software package designed to identify elastic properties from vibration tests. The program has

Page 26: Identification of material properties using finite elements and full ...

12 CHAPTER 1. IDENTIFICATION OVERVIEW

ExperimentalData

Field Transfer

Calculate ResidueConverge:

?

FEM Solution

Initial Parameters

Solution

Same Coordinates

Nodal:

no

yes

Figure 1.4: Typical flow diagram for a finite element model update (FEMU) routine.

been successfully applied to identify orthotropic elastic moduli for thick and thin laminatedshells [24, 25, 26, 27, ?].

• Viscoelasticity: Recently, FEMU has been applied to identify more complex non-linearmaterial behaviors such as viscoelasticity. In [28] the viscoelastic properties of soft tissues,including those of a pig’s bladder and a human uterus have been identified via FEMU. In [29]bending tests were used to identify viscoelastic properties of structural wood-based panels.

• Hyperelasticity: The technique is not limited to small strains. In [30] the author uses abiaxial test to evaluate hyperelastic constitutive law (Mooney-Rivlin) of a material. In [31]the author evaluates the same material model using a silicone-rubber specimen under uniaxialtension.

Besides different specimens and material types, the FEMU method has been applied to identifyother model parameters e.g., to evaluate boundary conditions [32]. For a review of FEMU andhow it compares to other identification methods, see [8, 10].

Page 27: Identification of material properties using finite elements and full ...

Chapter 2

Classification of optical full-fieldmeasurements

2.1 Introduction

This chapter presents an overview of the operating principles of some popular optical full-fieldmeasurement (OFFM) techniques. OFFMs rely on the science of photonics, the science of creating,controlling and detecting radiant energy. Although many of the techniques have been available sincethe 1950s, they have only gained popularity in recent years (since the 1990s), largely due to thedevelopment of more advanced and affordable digital imaging and automation systems. Thesetechniques are designed to provide an attractive alternative to traditional kinematic measurementsystems such as strain gauges and extensometers. Unlike traditional methods, which provide onlya measure of localized (or averaged) displacements/strains in a specimen, OFFMs provide a field(an array) of measurements over the surface of a specimen, making it possible to visualize a spatialvariation of the measurands. Full-field measurements are conceptually equivalent to bonding alarge array of tiny strain gauges onto the specimen’s surface. Although strain gauges have a higherresolution than current OFFMs, since the latter methods rely on light, they have the advantage ofbeing non-contact.

There is a wide variety of optical full-field methods available and under active development.Table 2.1 contains a summary of some of the most widely used full-field methods. These are gen-erally classified into two main classes interferometric and white light techniques, depending on thephysical phenomena involved in the measurement. Interferometric methods rely on the principlesof wave interference, and use monochromatic coherent light (e.g. lasers) to track interference pat-terns projected to the surface of a specimen. White light techniques, on the other hand, employordinary non-coherent light to track a geometric pattern on the surface of the specimen. Thesegeometric patterns may be printed or painted onto the specimen’s surface or may be part of thenatural texture of the specimen’s material. The classification of full-field techniques may be furthersubdivided depending on whether the geometric or interference pattern is periodic or random.

In general, interferometric techniques have better resolution and spatial resolution than whitelight techniques. However, these generally require more complex experimental setups and calibra-tion. For instance, interferometric techniques are generally more affected by vibration, thus thecomponents of the setup must be tightly fixed to the same reference as the mechanical specimen(e.g. using an optical table). In contrary, white light techniques require much simpler setups whichare easily adaptable to most common experimental conditions. Selecting an optical method for aspecific application is not a trivial matter. This is particularly true because mechanical engineersrarely have the technical background in optics to help them in the selection. Making an appropriatechoice involves considering factors such as cost (e.g. 1 or 2 cameras, software, etc), simplicity, de-sired performance (i.e. resolution, and spatial resolution), desired measurands (i.e. displacement,temperature, strains, etc), the range of measurements (e.g. small vs. large strains) and the sizeof the region of interest. A more complete synthesis of full-field measurement techniques may befound in [33, 34].

13

Page 28: Identification of material properties using finite elements and full ...

14 CHAPTER 2. FULL-FIELD MEASUREMENTS

White Light Techniques

Measurands Periodic Pattern Random Pattern

ux, uy In-plane Geometric Moire [35, 36] Digital Speckle Photography [37]Grid Method [38] Digital Image Correlation (DIC) [39]Point Tracking Method [40] -

uz Shadow and Projection Moire [35, 36] Random Pattern Projection [41]Grid Projection [42] Stereovision [43, 39]

ux, uy, uz - Stereo Correlation [44]

θx, θy Reflection Moire [35, 45] -Deflectometry [38] -

Interferometric Techniques

Measurands Diffracted Light Diffuse Light

ux, uy Moire Interferometry [36] Speckle Interferometry [35]

εxx, εyy, εxyθx, θy Grating Shearography [34] Speckle Shearography [46]

Table 2.1: Optical methods in experimental mechanics. Obtained from Jose Xavier [47].

2.2 Metrological quantities

This section presents some of the most common metrological quantities related to full-field mea-surements. These are generally used to characterize and compare systematically different full-fieldmeasurement techniques [38]. The quantities most pertinent to the discussion in this chapter are:

• Field of view : also termed the visualization window, refers to the entire area visualized bythe optical system. In systems of a single camera, the field of view consists of the physicalarea seen by the camera lens and registered as a numerical image (array of pixels) in theCCD chip. The size of the field of view may be expressed in real space (e.g. mm) or inimage/numerical space (e.g. pixels).

• Sensitivity : refers to the ratio of measurement signal, induced by a stimulus, to theactual stimulus. For instance, in interferometric techniques, mechanical displacements, u,(the stimulus) is measured by detecting phase differences, Φ, in the interference fringe patterns(the signal). Here the sensitivity is

S =∂Φ∂u

.

In white light techniques displacements are measured by tracking the movement of a contrastpattern in the surface of a specimen. In the grid method, for instance, the contrast patternis regular grid of black lines printed on top of a white background. The space between thelines is the pitch, p. If the entire specimen displaces by an amount p orthogonal to the grid,the measurement system records a phase change of 2π, with respects to the original periodicpattern. The sensitivity of this method is

S =2πp.

Page 29: Identification of material properties using finite elements and full ...

2.3. WHITE LIGHT TECHNIQUES 15

• Resolution : the smallest measurement detectable by the system. This value is oftendifficult to define in purely deterministic fashion, thus in practice the resolution of a systemis evaluated using statistical methods. A common technique involves taking two (or more)successive measurements of a specimen in the same kinematic state. For instance, if Φ1 andΦ2 are the subsequent field measurements. Their difference ∆Φ should equal to the sum ofthe noise, ε, in each map,

∆Φ(x, y) = Φ1(x, y)− Φ2(x, y) = ε1(x, y)− ε2(x, y).

Since the measurements are in the same kinematic state and contain the same systematicerror, the noise ε should be random (Gaussian) and with a zero average.

If the standard deviations of the noises are additive, i.e. σ2(∆Φ) = σ2(Φ1) + σ2(Φ2), thedeviation of the measured noise in one measurement should be

σ(Φ) =σ(∆Φ)√

2.

A measure of the resolution of the stimulus (e.g. displacements) would be obtained byrelating the measurement to the sensitivity. For example, in the grid method displacementsare proportional to phase variations,

σ(u) =σ(∆Φ)S

=√

2 σ(Φ)S

.

• Spatial Resolution : conceptually refers to the smallest spatial distance required to obtaintwo independent measurements. For newcomers to full-field measurements the concept ofspatial resolution may be easily confused with resolution. Figure 2.1 may help in illustrat-ing the difference. In practice, the concept may be difficult to quantify because the term“independent” is often ambiguous when considering the complexity and the large number ofsources of “dependence” in full-field measurement systems.

A generalized definition has been proposed borrowing from the theory of image formation,which states that due to diffraction effects an optical system will act as low-pass filter witha finite resolution. In imaging, the spatial resolution of an optical system is qualified bylooking at grids of parallel black lines with progressively higher spatial frequencies. Beyonda certain frequency, fc, the optical system is no longer capable of visualizing a grid. Thiscut-off frequency is quantified using a modulation transfer function (defined in Section 11.9of [48]). In full-field measurements the spatial resolution may be defined as the inverse ofthis frequency, i.e. 1/fc.

When image acquisition is carried out using a CCD camera, clearly the pixel size will de-termine the smallest possible spatial resolution of any system. Additionally, the spatialresolution will be degraded by operations such as spatial phase extraction, where adjacentpixels are used to fit a periodic model of intensity variations or if a filtering operation isperformed by convolution.

2.3 White light techniques

This section discusses the two most common white light techniques for measuring displacements,the grid method and image correlation. It also discusses briefly the stereo correlation, a techniquepermitting 3D measurements in non-planar objects.

Page 30: Identification of material properties using finite elements and full ...

16 CHAPTER 2. FULL-FIELD MEASUREMENTS

Line's Edge (Object)Spread Function Line's Edge (Image)

Object Image

(a)

Object

Image

Contrast

Critical frequency :

Critical Contrast

(b)

(c)

Figure 2.1: Spatial resolution: (a) When an image is formed, due to diffraction, each point of theimage is blurred by a spread function. The image shows a reference grid of frequency f visualizedusing a Gaussian spread function. (b) A blur results in a reduction of the contrast of the originalobject. The decrease of contrast is proportional to the frequency of the grid. When the visualizationhas a minimum acceptable contrast, the reference grid is said to have a critical frequency fc. Thespatial resolution is defined as the reciprocal of this frequency 1/fc. (c) Graphical conceptualizationof resolution and spatial resolution.

2.3.1 Digital image correlation

From a mechanical perspective, digital image correlation (DIC) is perhaps the most intuitive full-field measurement technique for mechanical engineers. The optical setup is very simple, it requires:a single CCD camera and a white light source, see Figure 2.2(a). The basis for this method is tomatch the position of a point in the specimen in an image taken before loading (the referenceimage) to the same point in an image of the specimen taken after loading (the deformed image).The coordinate difference of the set of deformed points to reference points will then enable us tocalculate the specimen’s displacement fields. To match these points, the technique requires: thatthe specimenı¿ 1

2 s surface be placed perpendicular to the CCD camera and that the surface containa visible a pattern of varying intensity. This pattern is typically called a speckle pattern. Thespeckle pattern in the specimen’s surface may be either natural (e.g. grains in steel) or artificiallycreated (e.g. using black and white spray paint).

Through the imaging system of the CCD camera, the speckle pattern in the specimen’s surfaceis converted into a discreet array of pixels I(xi, yi). We call the image of the non-deformed spec-imen I(xi, yi) and the deformed specimen If (xi, yi). The tracking of point movements in DIC isaccomplished by the means of an iterative process, in which the original image I(xi, yi) is deformedvia a deformation model into I ′(xi, yi) and the parameters of the model are adjusted until I ′(xi, yi)matches the deformed image If (xi, yi). The matching process is generally accomplished using anoptimizer such as Newton-Raphson or linear search method. The matching criteria (objective func-tion) is defined for a subset of the images I and If , often a N×N set of pixels known as correlationwindows.

Page 31: Identification of material properties using finite elements and full ...

2.3. WHITE LIGHT TECHNIQUES 17

CCD Camera

Specimen

Surface Pattern(Regular or Random)

Computer & Acquisition System

White-light Sources

(a) DIC and Grid Method

Specimen

Random Pattern

Computer & Acquisition System

White-light Sources

CCD Camera

CCD Camera

(b) Stereo Correlation

Figure 2.2: Optical setups for white light techniques.

For example in [39] the author describes a common deformation model, defined as

I ′(xi, yi) = I(xi + dX + u(xi, yi), yi + dY + v(xi, yi)).

The values (dX, dY ) are components of a homogeneous displacement field and (u, v) a non-homogeneous field. The displacement values are computed by maximizing a cross-correlationfunction

maxdX,dY,u(qi),v(Qi)

∑i I′(qi)If (Qi)√∑

i I′2(qi)

√∑i I

2f (Qi)

.

The sets qi and Qi are the set of equivalent correlation windows in the reference and deformedimages, respectively. Important to note is that the displacement parameters are not required tobe integer multiples of a pixel. In order to deform a correlation window by fractions of a pixel,the intensity pattern I(qi) is approximated to a continuous function I(x, y) via linear, cubic, orB-spline interpolation.

Digital image correlation has become very popular in recent years, and has seen a wide range ofapplications, including: measuring strain fields in soft materials such as biological tissues [49, 50]and polymeric foams [51], fracture-mechanics studies, specifically following the opening of a crack-tip [52]. Especially pertinent to this thesis is the recent application of DIC to identification ofmaterial properties [9], including the properties of wood [53] and a damage model for compositematerials [54] to name a few. The technique has been refined to allow for displacement accuraciesup to 0.02 of a pixel [39], when using sub-pixel interpolation, and a spatial resolution dependingon the size of the correlation window. The main drawback of this method is the requirementthat the specimen be planar or quasi-planar and that the plane of the object be well aligned with

Page 32: Identification of material properties using finite elements and full ...

18 CHAPTER 2. FULL-FIELD MEASUREMENTS

the CCD plane. Otherwise, single-camera systems such as DIC may mistakenly detect in-planedisplacements due to out-of-plane effects [55]. However, this problem may be circumvented byusing an afocal lens. Another drawback of the method is its relatively poor spatial resolution.

2.3.2 Stereo correlation

This limitation of DIC can be overcome by using an optical setup with two cameras observing thesurface from different angles, Figure 2.2(b). Three-dimensional (Stereo) correlation [39] combinesthe principles of stereo vision with image correlation. In stereo vision, the combination of twoimage perspectives allows for the triangulation of the (x, y, z) coordinates of points at the surfaceof the specimen. This is the same principle giving humans their depth perception in vision. Whencombined with DIC, stereo vision is able to track the 3D motion of points in the surface of non-planar objects. The idea is fundamentally the same as in DIC, to correlate a pair of images(one from each camera) of the undeformed specimen to another pair in the deformed state viaa deformation model. The deformation model enables the determination of (x, y, z) and (u, v, w)fields.

The accuracy of triangulation routines, and in consequence the accuracy of displacement mea-surements, are highly dependent on knowing precisely the relative positions and orientation of thecameras. It also depends on the ability to minimize and correct any distortion effects in the opticalsystem. Hence, stereo correlation requires significant calibration. This is generally achieved byobserving a reference target with a known geometric pattern at several different orientations inspace [56, 44, 57]. These lead to an over-determined system of equations from which parametersof a camera and lens model are evaluated.

An estimate of the accuracy of stereo correlation systems is difficult to obtain since the mea-surands are influenced by several factors and calibration parameters. However, in [39] the authorsuggests that in-plane displacement errors are in the order of D/10, 000, where D is the in-planedimension object viewed by the camera. Similarly, the out-of-plane displacement errors are ex-pected to be in the order of Z/50, 000, where Z is the mean distance between th object and theCCD sensor plane.

(a) Random Pattern (b) Regular Pattern

Figure 2.3: Examples of a specimen with (a) a spray-painted speckle pattern for DIC, (b) an evenlyspaced grid for the grid-method. Obtained from [3].

2.3.3 Spatial phase-shifting grid method

The working principles of the phase shifting grid-method are very similar to those of digital imagecorrelation. The optical setup is identical to DIC, see Figure 2.2(a). Although similar, developmentof the grid method and DIC actually follows from very different traditions: instead of tracking themovement of a random speckle pattern, the grid method uses an evenly-spaced grid of black andwhite lines (typically bonded onto the surface of a specimen). Figure 2.3(b) is a picture of a typicalgrid, bonded to the surface of a T-shaped specimen. As with DIC, the displacement of the grid

Page 33: Identification of material properties using finite elements and full ...

2.3. WHITE LIGHT TECHNIQUES 19

is monitored by capturing subsequent gray-scale images of the grid with a CCD camera. Similarto the speckle pattern in DIC, the grid acts as the spatial carrier of displacement information.However, unlike DIC, since the image of the grid contains a known geometric pattern, the trackingof the pixels does not require an iterative solution. In fact, the displacements in the grid methodare obtained without ever writing a correlation product.

To explain how the pixels are correlated, we consider a grid containing only vertical lines ofstep px

1. When visualized by a CCD camera, the grid will consist of a discrete array of values(i.e. pixels) where the gray scale of the ith pixel is represented as I(xi, yi). The procedure beginsby capturing a gray-scale image of the grid when the specimen is undeformed. In the undeformedstate the grid has a gray-scale pattern I0(xi, yi). Another image is obtained after the specimen hasbeen subjected to an external load. The new gray-scale pattern in the deformed image is referredto as I1(xi, yi). We assume that in the loaded state, point j in the grid has displaced by ∆xj .

To calculate this displacement, the intensity patterns before and after deformation are approx-imated by periodic functions,

I0(xi, yi) = a(xi, yi) + b(xi, yi) frng[

2πpxxi + k

], (2.1)

= a(xi, yi) + b(xi, yi) frng[φ0(xi, yi)],

I1(xi, yi) = a(xi, yi) + b(xi, yi) frng[

2πpx

(xi + δij∆xj) + k

], (2.2)

= a(xi, yi) + b(xi, yi) frng[φ1(xi, yi)].

where k is phase constant, a and b are the mean and modulated intensities, respectively and δij isthe Kronecker delta function. The function frng may be any periodic function of period 2π. Noticethat in general the grid step px must be known, but is not required to be uniform. For simplicityhowever, we assume a uniform px. If the phases φ0(x, y) and φ1(x, y) are evaluated somehow, thedisplacement maps may be obtained from the difference ∆φx = φ1 − φ0,

∆φx(xi, yi) = φ1 − φ0 =2πpx

(xi + δij∆xj) + k − 2πpxxi − k,

= δij2πpx

∆xj ,

⇒ u(xi, yi) =2π∆φx(xi, yi)

px= ∆xi.

Using the horizontal lines of the grid, the displacement maps in the y direction may be calculatedin a similar fashion,

⇒ u(x, y) =2π∆φxpx

and v(x, y) =2π∆φypy

. (2.3)

The accuracy of the grid method depends not only on the quality of the images of grid (e.g.luminosity, contrast, planar alignment, etc), but also on the accuracy of the phase extractionalgorithm, responsible for calculating the phase map φ(x, y) from intensity measurements I(x, y).Several techniques have been developed for this purpose, see section 2.5 for a summary. Notethat the resolution and spatial resolution of the grid method depends highly on the selected phaseextraction algorithm and filtering operations conducted prior and post phase extraction. Thelimiting resolution of this method is typically between p/200 and p/300 in practical problems.Also, phase extraction algorithms generally calculate phase angles between 0 and 2π. If the imposeddisplacement is greater than p, it is generally necessary to implement a phase unwrapping algorithm.

1In a grid containing both horizontal and vertical lines, as illustrated previously, the horizontal lines may beisolated using a triangular filter applied perpendicularly to the lines we wish to eliminate (see [58] for details).

Page 34: Identification of material properties using finite elements and full ...

20 CHAPTER 2. FULL-FIELD MEASUREMENTS

2.4 Interferometric techniques

This section discusses the fundamental of interferometric techniques. These techniques work fromthe principles of superposition of two or more coherent light beams and are generally characterizedby very high displacement sensitivity and spatial resolution (compared to white light techniques).The discussion in this section is limited to Moire interferometry, speckle interferometry and shearog-raphy.

2.4.1 Wave model of light

At an instance in time, in the wave model of a monochromatic light beam, the beam’s intensityvaries as a periodic function throughout its path,

I(x) = I0

[1 + γ cos

(2πλx+ k0

)]. (2.4)

In this equation, I0 is the beam’s mean intensity, γ the modulation amplitude and k0 a phasevariable. The variable k0 is constant throughout the path of the beam but varies randomly withtime. A coherent beam is one where all light beams emanating from a single source have the samek0 at any given instance in time.

In the algebra of interferometry it is convenient to write the wave equation in complex form,as a function of a phase variable φ(x) = 2π

λ x+ k0,

A(x) = E0eiφ(x).

This form makes use of the Euler identity:

eiφ = cos(φ) + i sin(φ).

The value A is commonly called the complex amplitude of the light wave, and the (real) intensityis I = A A∗, where I0 = E2

0 . The star operator (*) denotes a complex conjugate, i.e. if A = a+ ibthen A∗ = a− ib.

2.4.2 Interference of two monochromatic light beams

When two beams of polarized light with complex amplitudes

A1 = E1eiφ1 ,

A2 = E2eiφ2 ,

meet at a point in space, P , the complex amplitude of the resulting illumination becomes

A(P ) = A1 +A2,

This is known as the superposition principle (for details see Chapter 2 in [59]). The intensity oflight at this point is thus a function of a sum of the two complex amplitudes

I(P ) = (A1 +A2)(A∗1 +A∗2),

= I1 + I2 + 2√I1I2 cos(φ1 − φ2),

= I0 [1 + γ cos(Φ)] .

The terms I0 = I1 + I2 and γ = 2√I1I2/(I1 + I2) and Φ represents a phase difference, Φ = φ1−φ2.

In interferometry measurements, the two light beams are generally split from the same source ofpolarized monochromatic light using beam splitters, mirrors and optical fibers. In such conditions,the wave length, λ, and phase constant, k0, should be the same for both beams (at any point intime) and the phase difference assumes a very simple form:

Page 35: Identification of material properties using finite elements and full ...

2.4. INTERFEROMETRIC TECHNIQUES 21

Φ =2πλδ.

The term δ represents the difference in the length of the optical path of both beams from the sourceto point P .

The reader should be careful to distinguish between the notation φ, representing the phase ofa single illumination beam and Φ, which represents the phase of an interference pattern (fringe)between two or more light beams.

2.4.3 The sensitivity vector

The previous results suggest that the length of a light beam’s optical path is the fundamentalquantity affecting phase differences. This allows us to devise the sensitivity vector, a very usefulconcept in analyzing the layout of an interferometric method.

Figure 2.4: Sensitivity vector.

Consider a situation where a single beam of light from a source point S illuminates a point Pat the surface of a mechanical specimen, and the light beam is reflected to an observation pointO. If the point is displaced by d~P to point P ′, what would be the difference in phase observed atpoint O? The situation is illustrated in Figure 2.4. The initial phase (before the displacement)would be

φo =2πλ

(SP + PO)

If one assumes that the displacement d~P is much smaller than the typical optical path2 (i.e.||d~P || << SP + PO), the difference in optical path length between a beam traveling the opticalpath SPO to one traveling SP ′O may be written in a differential form,

δ = dSP + dPO.

Additionally, the small displacements allows for the assumption of small angles between SP andSP ′ and between PO and P ′O. The differentials can be expressed in terms of projections of thedisplacement vector d~P with the unit vectors ks and ko,

dSP = ks · d~P ,dPO = −ko · d~P .

In literature, the unit vectors ks and ko are often called the source and observation vectors, respec-tively. Using the differential approach, the phase difference caused by a small displacement maybe written as

2These assumptions are largely consistent with optical setups for strain measurements.

Page 36: Identification of material properties using finite elements and full ...

22 CHAPTER 2. FULL-FIELD MEASUREMENTS

dφo =2πλ

(ks − ko) · d~P =2πλ~g · d~P , (2.5)

The vector ~g is the sensitivity vector,

~g = ks − ko. (2.6)

It determines the direction of a displacement to which the optical layout is most “sensitive”,meaning the direction of displacement leading to the largest possible phase change. In corollary,the optical setup is insensitive (unable to detect) displacements orthogonal to ~g.

The reader should note that the sensitivity vector may vary (change direction) depending onthe point on the specimen’s surface [60]. A sensitivity vector should only be the same throughoutthe specimen if the source lighting is fully collimated and the observation focus is infinitely faraway from the specimen (case of orthographic projections).

2.4.4 Moire interferometry

The Moire interferometer [36] is an interferometric device for measuring in-plane displacementfields. The method has been under development since the 1950s, and is characterized by excellentspatial resolution, sensitivity to in-plane displacements and signal-to-noise ratio [61]. The tech-nique has been employed in several domains including, strain analysis in woven materials, thermalstrains in a dual-material specimen, hygrothermal stresses in tooth fillings [62], residual strains,and characterization of composites [19, 63]. For a more complete discussion on the applications ofMoire interferometry see [36].

The technique relies on two illumination beams (per direction) of collimated light and a diffrac-tion grating which must be bonded or engraved to the surface of the specimen. The diffractiongrating contains grooves in both the vertical and horizontal directions at a very high spatial fre-quency (e.g. 1200 lines per mm). The beams of light must be coherent (collimated) and originatefrom the same source. Typically a coherent beam is obtained from a light source (e.g. high powerlaser) using a lens or parabolic mirror. The incidence angle θ of each pair of beams is selectedso that both are in the opposite first-order diffraction angles of the grating. Figures 2.5 and 2.6illustrates the basic setup of a Moire interferometer.

Figure 2.5: Schematic for a typical Moire interferometry setup .

When the specimen is in its reference (undeformed) state, a pair of illumination beams willcreate a fringe pattern, where in point P ,

Φxi = φxi − φ−xi.

Page 37: Identification of material properties using finite elements and full ...

2.4. INTERFEROMETRIC TECHNIQUES 23

Phases φx and φ−x are those of the illumination beams in the x-z plane pointing with a componenttowards and against the x axis, respectively. After deformation, the original point is translated toP ′ via a displacement ~u. The phase of the fringe pattern in point P ′ is

Φxf = φxf − φ−xf .The fringe phase difference, between initial and final states, is separable to the contribution of eachillumination beam,

∆Φx = Φxf − Φxi= φxf − φ−xf − (φxi − φ−xi)= (φxf − φxi)− (φ−xf − φ−xi)= ∆φx −∆φ−x.

These phase differences, ∆φx and ∆φ−x, may be expressed in terms of ~u using the beam’s sensitivityvectors,

∆φx =2πλ~gx · ~u,

∆φ−x =2πλ~g−x · ~u.

Combining these two allows us to express the fringe phase differences in terms of a resultantsensitivity vector ~g = ~gx − ~g−x,

∆Φx =2πλ~gx · ~u− 2π

λ~g−x · ~u =

2πλ

(~gx − ~g−x) · ~u,

⇒ ∆Φx =2πλ~g · ~u.

Note, the same set of equations could be developed for any two opposite pairs of illuminationbeams with equivalent formulations.

If the sensitivity vectors are written in terms of the instance angle θ,

~gx = kx − ko =

− sin θ0

1 + cos θ

and ~g−x = k−x − ko =

sin θ0

1 + cos θ

we see that the fringe phase variation

∆Φx =2πλ

2 sin θ00

T uxuy

uz

=4πλ

sin θux (2.7)

is only sensitive to displacements in a single axis, namely ux. From the law of diffraction, the termsin θ = λ

p , where p is the step of the grooves in the refraction grating. The difference in fringephases becomes,

∆Φx =4πpux.

The base displacement resolution corresponds to a full phase change of 2π, which translates toa displacement of p/2, namely 0.416 µm for a grating of p = 0.833 µm. The resolution may beimproved by using a temporal phase extraction algorithm (see Section 2.5). The spatial resolutionof the method is a step in the diffraction grating p = 0.416 µm. Since this is generally smaller thana pixel size in common applications with visualization windows an order of magnitude not smallerthan 1 × 1cm2 and Moire does not require any filtering, the spatial resolution is said to be equalto one pixel.

Page 38: Identification of material properties using finite elements and full ...

24 CHAPTER 2. FULL-FIELD MEASUREMENTS

The main disadvantage of the method is that it requires tedious surface treatment, for bondingthe diffraction grating onto the specimen. The attractions of Moire interferometry include its res-olution, insensitivity to out-of-plane displacements, and very high spatial resolution. However, theresolution and sensitivity of the method makes the measurement system generally very susceptibleto vibrations. To eliminate this, Moire interferometry requires in general the use of an opticaltable with relatively heavy (high inertia) components or the use of compact setups which fix allcomponents with respects to the specimen. A study of a compact setup is explained in [4].

CCD Camera

Laser

Image Plane

Beam Splitter & Switcher

Mirrors

Lens

CCD Camera

Laser

Image Plane

Beam Splitter & Switcher

Mirrors

Lens

Figure 2.6: Illustration of a four-beam interferometer (used for Moire and speckle interferometry,see [4]). The optical setup contains a laser, a beam splitting mechanism and 2 pairs of oppositemirrors, used to measure one direction of displacements (i.e. ux and uy). Additionally, Moireinterferometry requires either a lens or parabolic mirror to generate a coherent (collimated) lightbeam.

2.4.5 Electronic speckle pattern interferometry

Electronic Speckle Pattern Interferometry (ESPI) is an attractive alternative to Moire interferom-etry. It combines many of its excellent features without some of its inconveniences3. Instead ofbonding a refraction grating to the surface of the specimen, speckle interferometry relies on thesurface roughness to create grains of diffused light (speckles), which may be observed for measur-ing displacements, strains and even vibrations directly. There is currently a very large number ofspeckle-based measurement systems, which have been the subject of significant development andresearch over the years. A comprehensive discussion of these systems is beyond the scope of thischapter. Instead, we concentrate here in describing a few basic systems. For a more comprehensivereview, the reader is referred to Part IV of [35].

In speckle interferometry, fringe patterns are obtained by combining the measurements of illumi-nation beams from multiple directions. The combinations are carried-out either analogically, in thecase were two beams illuminating the specimen simultaneously, or digitally, where the specimen isilluminated by one direction at the time and their fringes combined afterwards (in post-processing).In the first case, common to ESPI setups for measuring in-plane displacements, a typical four-beamESPI setup is identical to the setup in Figure 2.6. The equations developed for Moire are valid forESPI up to and including equation (2.7),

∆Φx = 4π(

sin θλ

)ux,

repeated here for clarity. Here, the phase change ∆Φx, relates to a phase change within a speckleof light at a point P as it translates by d~p to point P ′. The illumination beams are opposite pairswithin the x-z plane. Since there is no diffraction grating, the term sin θ/λ must be evaluatedby measuring each beam’s incidence angle geometrically. The wave length λ is generally a knownquantity.

When combining illumination beams digitally, the specimen is illuminated by one beam oflight at the time. Phase maps are obtained by combining the speckles reflected off the surface

3In literature, the technique is also called Digital Speckle Pattern Interferometry (DSPI), speckle correlationinterferometry, and TV-holography.

Page 39: Identification of material properties using finite elements and full ...

2.4. INTERFEROMETRIC TECHNIQUES 25

of the specimen with a reference beam (at constant or radially varying phase) projected to theimage plane, see Figure 2.7. In the absence of a reference beam, it is not possible to obtain phaseevaluations of the speckles4. This setup is particularly useful for high-sensitivity out-of-planemeasurements. In this case it suffices to select a very small incidence angle θ. In this case a fringeangle variation ∆Φ will be sensitive to the out-of-plane displacements,

∆Φ =2πλ

(− sin θ)ux +2πλ

(1 + cos θ)uz ≈ 4πλuz.

As a final remark, it should be noted that by combining several well-selected illumination directionswith a shape measurement technique (e.g. fringe projection) it is possible to create a modern 3DESPI system, capable of measuring (ux, uy, uz) displacements in non-planar surfaces. An exampleof such a system is provided in [64]

Figure 2.7: Schematic of a single-beam Electronic Speckle Pattern Interferometer (ESPI). When θis very small, this configuration is adequate for measuring out-of-plane displacements.

2.4.6 Speckle Shearography

Figure 2.8 illustrates the basic Electronic Speckle Pattern Shearing Interferometry (ESPSI), whichis a setup for measuring strains directly [65]. A shearography system makes use of a Michelsoninterferometer, a set of 2 mirrors and a semi-transparent mirror, to produce an offset copy of theimage of the illuminated specimen by a small distance d, known as the shearing distance. Thecamera in the speckle shearography setup actually sees a fringe pattern of points interfered withtheir neighbors (separated by the shearing distance),

Φxi = φxi(P + d)− φxi(P ).

Similarly, after the specimen is deformed the fringe pattern becomes

Φxf = φxf (P + d)− φxf (P ).

and the fringe difference

∆Φx = ∆φx(P + d)− Φx(P ).

If the illumination beam is fairly coherent, the sensitivity vector ~gx should be the same at P andP + d. Thus, the fringe difference may be re-written as

∆Φx =2πλ~gx · d(~u),

4It is possible to obtain displacement measurements from speckles without having to evaluate phases. In specklephotography (see Chapter 19 in [35]), displacements are obtained by tracking the position of light speckles via imagecorrelation.

Page 40: Identification of material properties using finite elements and full ...

26 CHAPTER 2. FULL-FIELD MEASUREMENTS

where d(~u) is the difference of displacements between P and P +d. If the specimen is subsequentlyilluminated by a beam in the −x direction, the global sensitivity vector, obtained by digital com-bination, ~g = ~gx−~g−x, should have only one non-zero component (as in equation (2.7)). Here, thefringe difference is proportional to the strain component εxx,

∆Φx −∆Φ−x =2πλ

(~gx − ~g−x) · d(~u) =2πλ~g · d(~u),

⇒ 1d

(∆Φx −∆Φ−x) = 4π(

sin θλ

)εxx.

Other strain components (including out-of-plane) may be obtained from different combinations ofillumination beams. For further details and examples of experimental setups see [66, 67].

Figure 2.8: Typical setup of an Electronic Speckle Pattern Shearing Interferometry (ESPSI) formeasuring strains, also known as a shearography setup. This setup uses a Michelson interferometer(3 mirrors) to create a fringe pattern of the illumination beam interfered with a duplicate imagedisplaced by a shearing distance. The shearing distance may be adjusted by rotating a mirror inthe Michelson interferometer.

The main advantage of ESPSI over other techniques is that it requires very little surface treat-ment and can be adapted to specimens of many different scales. The main drawback of suchsystems is that their measurements are typically very noisy. This noise is linked to the formationof speckles and phase extraction often requires significant filtering. However, in a recent publica-tion, A. Martinez et al [67] describes a phase extraction technique which aims at reducing the noisecreated by speckles. The technique works by combining the intensity acquisitions between verysmall load differences during continuous deformation. Nonetheless, measurement via ESPI andESPSI are generally limited to small displacements, typically the average diameter of is a speckle.If displacements are too large, the system may be unable to correlate the speckles required tocompute phase differences.

2.5 Phase extraction algorithms

Previously, we have seen that a number of optical full-field measurements work by extracting in-formation from periodic patterns. Displacements/strains are obtained by calculating the differencein phase angles φ(x, y), coming from an intensity fringe patterns

I(x, y) = A[1 + γ frng(φ(x, y))]. (2.8)

Differed until now is the discussion of how to calculate the phase angle φ given the measuredintensity I. Fundamentally, we must recognize that the problem is under-determined. For eachpixel we have but a single measurement I, and an infinite number of unknowns, corresponding tothe infinite number of coefficients in the Fourier series required to describe equation 2.8. Even inits simplest form (i.e. a single term in the Fourier series approximation),

Page 41: Identification of material properties using finite elements and full ...

2.5. PHASE EXTRACTION ALGORITHMS 27

I(x, y) = A[1 + γ cos(φ(x, y))], (2.9)

the problem has 3 unknowns for a single measurement 5

Thus, to obtain enough measurements (at least equal to the number of unknowns) phase ex-traction algorithms require that the user obtain new measurements by phase sampling

Ik = I(φ+ kδ),

where the variable δ is a known phase shift. These samples Ik are obtained either by multiplemeasurements at the same pixel coordinate (case of temporal phase shifting) or from neighboringpixels (case of spatial phase shifting). Using these samples Ik the basis of all phase extractionalgorithms rely on a combination

S(φ) =N−1∑i=1

ckIk,

where the coefficients ck = ak + jbk are selected to suppress the harmonics i = 0, −1, ±2, · · · ,±(N − 1) of S. With these coefficients, the phase angle, φ ∈ [−π, π], is calculated from

φ = tan−1

[∑N−1k=1 bkIk∑N−1k=1 akIk

]. (2.10)

Since the phase angles are bounded, these algorithms will result in continuous displacementmaps as long as the total displacement of the specimen, i.e. U = max(u(x, y))−min(u(x, y)), is lessthan one half of the reciprocal of the characteristic frequency of a measurement fringe. Otherwisein addition to a phase extraction algorithm, the user will need to employ a phase unwrappingroutine [68].

Interferometric techniques generally employ temporal phase shifting techniques, where thephases shifts are accomplished using an optical mechanism (commonly called phase stepping mech-anisms) to gradually increase and decrease the optical path of one of the illumination beams. Forexample, in a speckle shearography setup one of the mirrors in the Michelson interferometer is de-signed to move back and forward by small distances of δ. In this manner, recorded fringe patternshave displaced fringes by a known amount. Since the fringe maps Ik are all obtained opticallyat the same pixel coordinate, a temporal phase shift does not degrade the spatial resolution of themeasurement.

When it is not possible to produce the phase shift optically, such as with in-vivo interferometryand in white light techniques such as the grid method, the maps Ik are obtained by numericallyshifting a reading window (a N×N kernel of pixels) by a known distance. This is generally accom-plished by sampling the same reading window with indexes numerically shifted by the appropriatenumber of pixels, or by suppressing a row or column of pixels in a larger reading window. Notice,that since the algorithm requires the combination of measurements from one coordinate with an-other, a spatial phase extraction method should degrade the spatial resolution of the measurementby n, the largest sampling distance measured in pixels.

The most popular phase extraction algorithms used in full-field methods are detailed in [69].In summary, Y. Surrel presents a solution to the ck coefficients by expanding a Fourier series ofI(φ) and S(φ) in terms of a characteristic polynomial, e.g.

P =N−1∑k=0

ckxk.

The coefficients ck, that suppress the first ±N harmonics, except the first, may be calculated byselecting a polynomial with roots ς = exp(i kδ), k = 0, −1, ±2, · · · , ±(N −1). Using the describedpolynomial, the form of equation (2.10) becomes

5Note that independent of the phase extraction technique, the user will be required to make at least someassumptions about the form of the fringe pattern, and thus determine the number of unknowns.

Page 42: Identification of material properties using finite elements and full ...

28 CHAPTER 2. FULL-FIELD MEASUREMENTS

φ = − tan−1

[∑N−1k=1 Ik sin(2kπ/N)∑N−1k=1 Ik cos(2kπ/N)

]. (2.11)

This solution is generally called the N-bucket algorithm [69, 70]. This algorithm requires a phasestep of δ = 2π/N , with N samples of Ik.

Besides the N-bucket algorithm, Y. Surrel presents a modification of this algorithm, named thewindowed Fourier transform (WFT) algorithm, which is designed at minimizing the sensitivity ofthe previous solution to a number of systematic sources of error. Such errors include variationsin the lighting levels during measurement and phase steps δ which are poorly controlled, e.g. thephase stepping mechanism does not move at a constant step. In this algorithm the characteristicpolynomial and step length is selected such that δk forms a Hermitian-symmetric set. Here, thesolution to the phase angle is

φ = tan−1

[−

∑N−1k=1 k(Ik−1 − I2N−k−1) sin(2kπ/N)

NIN−1 +∑N−1k=1 k(Ik−1 + I2N−k−1) sin(2kπ/N)

]. (2.12)

This algorithm also requires a phase step of δ = 2π/N , with N samples of Ik.

2.6 Conclusions

In this chapter, we have presented an overview of the most common full-field measurement tech-niques, and their working principles. The techniques discussed included the white-light techniques,the grid method and 2D/3D image correlation, and the interferometric methods, Moire and speckleinterferometry, and speckle shearography. Each of these techniques measure displacements andstrain maps using different treatment of the specimen, optical setups, pattern treatment (e.g.phase extraction, pixel correlation) and post treatment (e.g. filtering). As will be shown in laterchapters, the signature of the measurement error of typical full-field measurements will dependstrongly on how each of these operations is carried-out. The principles described in this chapterwill thus serve as the cornerstone in the development of models for deterministic experimentaleffects.

Page 43: Identification of material properties using finite elements and full ...

Chapter 3

Fundamentals of optimization

3.1 Introduction

Before proceeding to treat the problem of identifying material properties specifically, this chapteraims at familiarizing the reader with basic concepts in optimization terminology and diagnostictools employed throughout this thesis. In mathematical terms, optimization is the minimizationor maximization of an objective function subject to constraints. In minimization the objectivefunction is generally referred to as a cost function1. In the notation employed hereafter, ~x is theset of unknown model parameters, which will be identified by minimizing the cost function f(~x).The parameters are subject to a set of constraints ~c. Each element, ci, is an equation or inequality,which all valid parameters must satisfy. A minimization problem problem is written as

min~x∈<n

f(~x) subject to

ci(~x) = 0 i ∈ Ecj(~x) ≥ 0 j ∈ I , (3.1)

with E and I being the indexes of equality and inequality constraints, respectively. The minimiza-tion problem is classified depending on the nature of the cost function and parameter constraints(linear, quadratic, convex), its smoothness (differentiable, piece-wise differentiable, discrete) andthe number of model parameters (many or few). A problem may also be classified depending onwhether it has a single local minimum, unimodal functions, or more than one local minimum, multi-modal functions. The number of parameters, type of cost function and constraints will generallydictate the level of difficulty of solving the minimization problem.

Overall, optimization algorithms are iterative. They begin with an initial guess ~x0, and proceedto generate a number of parameter iterates ~xi∞i=1, and evaluates the corresponding cost functionvalues and possibly nth order derivatives. The algorithm continues to perform iterations until eitherthe next set of parameters, ~xk+1, fails to improve the cost function, e.g. f(~xk+1) ≥ f(~xk), or whenthe value of ~xk is judged to be sufficiently accurate, e.g. f(~xk+1) < f(~xk), where |f(~xk)−f(~xk+1)| <δ, . The variable δ represents a small number. When sufficient accuracy is achieved, the algorithmis said to have “converged” to an optimum value denoted ~x∗.

A point ~xk is a local minimum if and only if f(~xk) < f(~x) for all ~x ∈ D, where D is a searchdomain, and D = <n for unconstrained problems. In general, the only way to test whether a point~xk is a minimum is to check how the cost function compares with all nearby points. However, ifa function is smooth, i.e. has continuous first derivatives, it may be shown that a local minimummust be a stationary point. All stationary points must satisfy what is commonly known as thefirst-order necessary condition,

~∇f(~x∗) = ~0. (3.2)

In the employed notation, the operator1For simplicity, the text will only consider function minimization, as it is the most consistent with the identi-

fication strategy employed throughout this document. The maximization of a gain function follows an analogouslogic.

29

Page 44: Identification of material properties using finite elements and full ...

30 CHAPTER 3. FUNDAMENTALS OF OPTIMIZATION

~∇ =

∂∂x1

∂∂x2

· · · ∂∂xn

T.

Furthermore, if the cost-function has continuous second derivatives, the matrix[∇2f(~x∗)

], where

∇2 =

∂2

∂x21

∂2

∂x1∂x2· · · ∂2

∂x1∂xn

∂2

∂x2∂x1

∂2

∂x22

· · · ∂2

∂x2∂xn

......

. . ....

∂2

∂xn∂x1

∂2

∂xn∂x2· · · ∂2

∂x2n

is used to determine if a stationary point is a local minimum. If ~x∗ is possibly a local minimum then[∇2f(~x∗)

]must be at least positive semi-definite (known as the second-order necessary condition).

If the matrix[∇2f(~x∗)

]is positive definite, then the point ~x∗ is necessarily a local minimum

(known as the second-order sufficient condition). The proof of the first, second-order necessaryand sufficient conditions follows directly from Taylor’s theorem. Full proofs are available in [71]pages 15-17.

The previous conditions lay at the foundation of the development of all optimization algorithms.A large number of optimization algorithms have been developed since the 1950s, each adapted to aparticular family of problems. The primary differences between optimization algorithms is how eachdetermines the values of the iteration sequence, handles constraints and determines convergence.A complete review of optimization algorithms is beyond the scope of this thesis. For such reviewsthe reader is referred to [72, 73, 74].

To re-emphasize, an optimization algorithm should be selected based on its efficiency, accuracyand robustness in treating a particular problem. Efficiency refers to the average number of iterationsrequired for convergence. This number of iterations is also called the algorithm’s computationalcost. An algorithm with low computational cost is said to be efficient, and if the solution ~x∗ isvery close to the real solution ~xs, i.e. ||~x∗ − ~xs|| < δ, the algorithm is said to be accurate. Whenthe algorithm is able to compute the same solution ~x∗, independently of the initial value ~x0 it issaid to be repeatable or robust. Of-course the efficiency, accuracy and robustness of an algorithmmay vary significantly depending on the class of cost functions and constraints.

3.2 Gradient-based optimization

Gradient-based algorithms use derivative information to determine an iteration sequence ~xk∞k=1.Each iterate, ~xk, is determined by a perturbation, ∆~x, of the previous step,

~xk = ~xk−1 + ∆~x.

Some gradient-based algorithms, such as the steepest descent method [75], use only first-orderinformation to determine this perturbation. The idea of this algorithm is to determine a searchdirection p, and a step length α,

∆~x = αp,

which results in the largest possible decrease in the cost function. Note, in the notation employedhere, p is a unit vector. To determine this direction it suffices to write a first order Taylor’sexpansion of the cost function,

f(~xk−1 + αp)− f(~xk−1) = α(~∇f(~xk−1))T p.

Obviously, the magnitude of the change |f(~xk) − f(~xk−1)| is proportional to α and to the dotproduct of gradient and the search direction vectors. If α is fixed to a constant positive value, e.g.α = 1, it is easily inferred that the function decreases only when the dot product of the searchdirection vector with the gradient vector is negative. Furthermore, the value of this dot product isbounded

−||(~∇f(~xk−1))|| ≤ (~∇f(~xk−1))T p ≤ ||(~∇f(~xk−1))||,

Page 45: Identification of material properties using finite elements and full ...

3.3. POTENTIAL ISSUES WITH PARAMETER SENSITIVITY AND SCALING 31

and assumes its most negative value when

p =−~∇f(~xk−1)

||~∇f(~xk−1)|| . (3.3)

Hence, the direction of steepest descent (largest decrease) of the cost function from a point, ~xk−1, isthe one opposite to the cost function gradient. The remaining part of the algorithm is to determinethe iteration step length, α. This is typically accomplished by minimizing a one dimensionalproblem Φ(α) = f(~xk−1 + αp), with respects to α. This is frequently attained via line and trust-region searches, polynomial approximations, and other advanced methods, see [71] pages 35-60.

Unlike steepest descent, some gradient-based algorithms use more than first-derivative informa-tion to calculate both search direction and step length simultaneously. For example, in Newton’smethod [76], the cost function is approximated by a second-order Taylor’s series centered aroundthe kth − 1 iterate 2, ~xk−1,

f(~xk−1 + ∆~x) = f(~xk−1) + (~∇f(~xk−1))T∆~x+12

∆~xT[∇2f(~xk−1)

]∆~x,

and the algorithm aims at solving directly for parameters satisfying a cost function’s first-ordernecessary condition. Differentiating the function approximation yields,

~∇f(~xk−1 + ∆~x) = ~∇f(~xk−1) +[∇2f(~xk−1)

]∆~x.

Imposing the first-order necessary condition, which is equivalent to setting the previous expressionto zero, yields the step ∆~x, for the next iteration ~xk = ~xk−1 + ∆~x,

~∇f(~xk−1 + ∆~x) = ~∇f(~xk−1) +[∇2f(~xk−1)

]∆~x = ~0

⇒ ~xk = ~xk−1 −[∇2f(~xk−1)

]−1 ~∇f(~xk−1). (3.4)

Other than Newton’s method, there is a wide variety of gradient-based algorithms, such as conjugate-gradients and Quasi-Newton methods that select the search direction and step lengths with tech-niques other than the ones described here.

3.3 Potential issues with parameter sensitivity and scaling

The scale and sensitivity of parameters are frequently important factors when selecting betweenoptimization algorithms applied to physical problems. The term “scale”, as employed in thisdocument, refers to the numerical order-of-magnitude of a parameter. For example in mechanics ofmaterials, Young’s modulus, E, has a typical magnitude of 1× 109 Pa, while Poisson’s ratio, ν, isdimensionless with typical values between 0 and 1. This large difference in parameter values maybe compensated by substituting the physical parameter, Xi, by a scaled, non-dimensional value,

xi =Xi

Sc(Xi). (3.5)

The scaling factor, Sc(Xi), is commonly selected as either the parameter’s initial value or its feasiblerange. Sensitivity, as used in this text refers to ratio of the change of a cost function caused by achange in parameter, xi, i.e.

Se(xi) =∂f

∂xi. (3.6)

If the same size of parameter change produces a much larger response in the cost function for oneparameter, say parameter xk, the cost function is said to be sensitive to xk, and the problem,

2Newton’s method, also known as the Newton-Raphson algorithm, is generally not practical in numerical op-timization. Newton’s method is presented here for its simplicity. Practical optimization problems usually employmodifications of the algorithm such as Levenberg-Marquardt.

Page 46: Identification of material properties using finite elements and full ...

32 CHAPTER 3. FUNDAMENTALS OF OPTIMIZATION

poorly scaled. A poorly scaled problem tends to have very long convergence times in optimizersbased on first derivatives only, such as in the steepest descent method. The effect is demonstratedwith a simple example. Let

f(~x) = x21 + x2

2 and g(~x) = 100 x21 + x2

2.

The gradients and Hessians of both functions are

~∇f(~x) =

2 x1

2 x2

and

[∇2f(~x)]

=(

2 00 2

),

~∇g(~x) =

200 x1

2 x2

and

[∇2g(~x)]

=(

200 00 2

).

Clearly, the sensitivity of g to x1 is much larger than its sensitivity to x2, 100 times to be precise.The sensitivity of f is the same for both variables. The difference in scale will affect the searchdirection, calculated by a gradient, as is illustrated in Figure 3.1. Starting form an initial guess ofx0 =

50 50

T , the steps in a steepest descent routine would be

for f(~x) : ∆~x =−50−50

and for g(~x) : ∆~x =

−50−5

.

For the well scaled problem, f , the steepest-descent method is able to obtain the solution in asingle step. The poorly scaled problem, g, requires at least two steps to obtain the correct solution.Second-order and derivative-free optimizers are generally much less affected by scaling problems.A step in Newton’s method is computed including second-order derivative information:

∆~x = − [∇2g(~x)]−1 ~∇g(~x) = −

[1

200 00 1

2

]200× 502× 50

=−50−50

.

In this case, a single step in Newton’s method is sufficient to obtain the correct solution. In fact,it may be shown that Newton’s method will always converge in a single iteration for a quadraticcost function whose Hessian matrix has a condition number of 1.

(a) Well scaled

(b) Poorly scaled

Figure 3.1: Influence of scaling in iteration steps of gradient-based optimization algorithms.

Page 47: Identification of material properties using finite elements and full ...

3.4. COMPUTING DERIVATIVES NUMERICALLY 33

3.4 Computing derivatives numerically

Gradient-based algorithms are reputed for their efficiency, requiring relatively few iterations for ac-curate results. They require however, that first and possibly second derivatives of the cost functionbe available analytically or approximated numerically via finite differences. The latter is the casein identification via FEMU, which will be discussed further in detail later in the chapter. In caseswhere only cost function values are readily available, first and second derivatives approximationsare obtained from a Taylor series expansion of the cost function around the initial point, expressedhere in component notation,

f(~x+ hiei + hj ej) = f(~x) +∂f(~x)∂xi

hi +∂f(~x)∂xj

hj +12∂2f(~x)∂x2

i

h2i +

12∂2f(~x)∂x2

j

h2j +

∂2f(~x)∂xi∂xj

hihj .

The scalar hi is referred to as a finite-difference step in direction i. Vector ek is a unit vector withei = 0 for i 6= k and ek = 1. For ~x ∈ <n, first-order derivatives require 2n function evaluations

∂f(~x)∂xi

=f(~x+ hiei)− f(~x− hiei)

2hi. (3.7)

Approximations of higher-order derivatives based only on function calls require an additional n2+5nfunction calls,

∂2f(~x)∂x2

i

=−f(~x+ 2hiei) + 16f(~x+ hiei)− 30f(~x) + 16f(~x− hiei)− f(~x+−2hiei)

12h2i

, (3.8)

∂2f(~x)∂xi∂xj

=f(~x+ hiei + hj ej)− f(~x+ hiei − hj ej)− f(~x− hiei + hj ej) + f(~x− hiei − hj ej)

4hihj.

(3.9)

These formulas were obtained from [77], and have an expected error in the order of magnitudeO(h2

i ). The efficiency of advanced gradient-based optimizers may be completely eclipsed by theadditional cost of estimating derivatives. In this case it may be advantageous to use the steepestdescent algorithm instead of Newton’s method.

3.5 Improving the solution by parameter transformation

Similar to the simple example shown in section 3.3, the accuracy of the solution obtained by agradient-based method may be improved by including second derivative information in the opti-mization process. This can be achieved either by employing an algorithm whose search directionsand steps account explicitly for second derivative information, case of Newton-Raphson, or throughparameter transformation and scaling. A discussion of alternative algorithm will be deferred mo-mentarily.

To explain the potential effects of scaling, consider a quadratic cost function

f(~ξk−1 + ∆~ξ) = f(~ξk−1) + (~∇f(~ξk−1))T∆~ξ +12

∆~ξT[∇2f(~ξk−1)

]∆~ξ.

Let us assume that ~ξk−1 is sufficiently near the solution ~ξ∗, and that the Hessian matrix,[∇2f(~ξk−1)

]is positive definite. If the eigenvalues of the Hessian matrix are different from 1, it means that thelevel surfaces of the cost function are not circular, and the gradient at a starting point ξk−1, i.e.the steepest-descent direction, will not point to the minimum. If however, the variables ~ξ undergoa linear transformation

~x = [Q] [D] ~ξ,

in certain circumstances, the resulting system

Page 48: Identification of material properties using finite elements and full ...

34 CHAPTER 3. FUNDAMENTALS OF OPTIMIZATION

f(~xk−1 + ∆~x) = f(~xk−1) + (~∇f(~xk−1))T∆~x+12

∆~xT[∇2f(~xk−1)

]∆~x,

will have all eigenvalues of[∇2f(~xk−1)

]equal to 1. This is the case if [Q] is a matrix, whose

columns are eigenvectors of the Hessian matrix,[∇2f(~ξk−1)

], and [D] is a diagonal matrix, such

that Dii = 1√λi

, with λi being the ith eigenvalue of the same Hessian matrix (see [72] pages 313 -316).

The problem with this transformation strategy is that transforming the parameters by a ro-tation requires a similar transformation of the lower and upper limits Ll(~ξ), Lu(~ξ), which couldresult in non-rectangular bounds of ~x. The imposition of non-rectangular bounds adds significantcomplications to the optimization strategy, generally requiring the definition of Lagrange multipli-ers. These acts a new set of optimization parameters, which increase the dimension of the problem,completely eclipsing any potential benefit of the transformation. The remaining alternative is toadopt an algorithm, which makes explicit use of second derivative information.

3.6 The Levenberg-Marquardt algorithm

In the context of FEMU, there are two main challenges for optimization algorithms that usesecond-order derivatives, such as Newton-Raphson: the first is the additional number of FE solu-tions required to compute second derivatives by finite differences, the second relates to numericalcomplications resulting from errors in the estimate of these derivatives. These inaccuracies oftenresult in singular or near singular Hessian matrices, which makes the Newton-Raphson algorithmnot robust for this type of problem. In least-squares minimization, the Levenberg-Marquardtalgorithm [78, 79] offers an attractive response to these to challenges.

Let us define a least-squares problem as one, whose cost function is in the form,

f(~x) =12

m∑j=1

r2j (~x) with

~x ∈ <nm > n

.

This type of cost function may be written in an alternative form by defining a residue vector,~r(~x) : <n → <m,

~r(~x) =r1(~x) r2(~x) · · · rm(~x)

T,

f(~x) =12

m∑j=1

rj(~x)rj(~x) =12

(~r(~x))T ~r(~x).

The derivatives of the cost function may then be written in terms of a Jacobian matrix,

[∇~r(~x)] =

∂r1∂x1

∂r1∂x2

· · · ∂r1∂xn

∂r2∂x1

∂r2∂x2

· · · ∂r2∂xn

∂r3∂x1

∂r3∂x2

· · · ∂r3∂xn

......

. . ....

∂rm

∂x1

∂rm

∂x2· · · ∂rm

∂xn

,

~∇f(~x) = [∇~r(~x)]T ~r(~x) (3.10)[∇2f(~x)]

= [∇~r(~x)]T , [∇~r(~x)] +m∑j=1

rj[∇2rj(~x)

]. (3.11)

Notice that the first part of the Hessian matrix, [∇~r(~x)]T [∇~r(~x)], is calculated purely from firstderivatives of each component of residue vector. In least-squares methods, this part of the Hessianmatrix is much bigger than the remaining part near the solution, because both

[∇2rj(~x)]

and rj

Page 49: Identification of material properties using finite elements and full ...

3.7. DERIVATIVE-FREE OPTIMIZATION (SIMPLEX METHODS) 35

tend to be small. This property of least-squares allows us to approximate the Hessian matrix forfree,

[∇~r(~x)] ≈ [H] = [∇~r(~xk−1)]T [∇~r(~xk−1)] ,

requiring only a total of (2n + 1) FE solutions to obtain both the gradient vector and Hessianmatrix via centered finite differences, instead of (n2 + 7n+ 1) solutions in a general case.

With this approximation, an iteration step in a Gauss-Newton method would be

∆~xk = − [H]−1 [∇~r(~xk−1)]T ~r(~xk−1).

If the estimate of Hessian matrix is numerically rank deficient, a search step calculated by inversionof the Hessian matrix would be inaccurate or even impossible to calculate. In the Levenberg-Marquardt algorithm, the iteration step is determined by calculating a search step, ~pk, which is asolution to the linear system

([H] + λk [I]) ~pk = − [∇~r(~xk−1)]T ~r(~xk−1), (3.12)

where [I] is the identity matrix and λk a positive constant. When λk is very large, the coefficients ofthe Hessian matrix are essentially ignored in the search step, and the algorithm would behave muchlike a steepest-descent algorithm. If λk is near zero the search step is a Gauss-Newton iteration.Thus, the basic Levenberg-Marquardt algorithm works by starting with a large λk, and solving thelinear system for a search direction (steepest-descent step). If the step improves the solution , i.e.f(~xk−1 + ~pk) < f(~xk−1), the next value of λ, λk+1, is reduced, e.g. λk+1 = 0.5λk. Otherwise thevalue of λk is increased, e.g λk = 2λk, and a replacement search direction, ~pk, is calculated. In thismanner, the algorithm is less subjective to errors in the Hessian approximation. Additionally thevalue of λk can be adjusted at each step to guarantee that each search step satisfies bounds Ll(~x),Lu(~x). See [71] pages 259-269, for further details on the algorithm.

3.7 Derivative-free optimization (simplex methods)

In linear optimization, commonly referred to as linear programing, the optimizer assumes thecost function may be approximated locally by a linear Taylor’s series, and that all constraints arelinear. Solutions to linear programming problems are generally obtained via simplex methods, suchas Nelder-Mead, described in detail in the appendix. A simplex method systematically searches fora solution in a progressively decreasing search domain known as a simplex. At each iteration theoptimizer ranks the values of the cost function at each vertex of the simplex as the best, secondworst and worst points. The algorithm then tries to improve the best point on the simplex throughreflections, expansion and contractions of the vertexes. The algorithm is typically very robust, andunaffected by monotonous transformations of the cost function and parameters. The robustnessof the algorithm is due mainly to its rank-based treatment of the cost-function. The actual valuesand scaling of the variables and cost function values do not influence the size and exact direction ofeach iteration’s search step, which is not the case for gradient-based algorithms. Simplex methods,however, are notoriously inefficient in high dimensions [80].

3.8 The Nelder-Mead algorithm

The Nelder-Mead algorithm [81] is a simplex based optimization method used to approximate apoint P ∗, which minimizes a cost function J(P ) : <n → <. A simplex is any set of n + 1 linearlyindependent points in <n space. The algorithm requires four operations: Reflection, expansionand contraction around the centroid Pm (see figure 3.2) and a contraction of all points around thebest point Pb. Letting

Pm =1N

N∑1

Pi for i 6= w, (3.13)

Page 50: Identification of material properties using finite elements and full ...

36 CHAPTER 3. FUNDAMENTALS OF OPTIMIZATION

a reflection is given by

~Pwr = ~Pm + α(~Pm − ~Pw), (3.14)

where α is a reflection coefficient3. If the reflection has found a new minimum the algorithm triesto follow the direction of the reflection vector with an expansion step Pwe , where

~Pwe = ~Pm + β(~Pwr − ~Pm). (3.15)

We then replace Pw with the best point, Pwr or Pwe , and restart the process. If the reflection doesnot produce a new minimum, but J(Pwr ) ≤ J(Ps) we replace Pw by Pr and restart the process. Thismay occur when the reflection step is not a good approximation of the descent gradient. ReplacingPw by Pr creates a rotation of the simplex, which should improve the direction of descent in thenext iteration. If J(Pwr ) > J(Pi) for all i 6= w, we conclude that either the reflection point hasovershot the minimum point or the same is contained inside the simplex. Thus, we replace Pw bythe better between Pw and Pwr , and compute a contraction step

~Pwcm = ~Pm + γ(~Pw − ~Pm). (3.16)

If J(Pwcm) < J(Pw) we replace Pw by Pwcm, and restart the process. However, if the contractionstep does not improve the simplex (this is very rare), we conclude that Pb is close to the minimum,and we contract all simplex points around the best point,

~P icb = ~Pb + γ(~Pi − ~Pb). (3.17)

The entire process is repeated until reaching the stopping criteria. Typical stopping criteriaincludes: a simplex, which is sufficiently small (e.g. maxij(‖eji‖) ≤ ε1), a cost function gradient,which is sufficiently weak (e.g. max(|J(i)−J(j)|) ≤ ε2), or the number of cost function evaluations,which exceeds a predetermined limit.

-20

-10

0

10

20

30

-20 -10 0 10 20 30

y/y

0

x/x0

Pb

Pw

ps

Pm

Pwr

Pwe

Pwcm

(a)

-15

-10

-5

0

5

10

15

20

-5 0 5 10 15 20 25 30

y/y

0

x/x0

Pb

Pw

Ps

Pwcb

P scb

(b)

Figure 3.2: (a) Reflection, expansion and contraction points, (b) contraction points, centeredaround b.

3.8.1 Handling boundaries

The standard implementation of the Nelder-Mead algorithm provides no means of restricting thesearch domain Ωs to a valid domain Ω∗. This is unacceptable for identification problems, sinceoften times parameter combinations, P /∈ Ω∗, have no physical meaning, making it impossibleto carryout the simulation and evaluate the cost function J(P ). Three main techniques wereconsidered to address this issue: Penalty functions, boundary and orthogonal projections.

3α , β and γ are known as the reflection, expansion and contraction coefficients. Their default values are 1,2 and0.5, respectively.

Page 51: Identification of material properties using finite elements and full ...

3.8. THE NELDER-MEAD ALGORITHM 37

Penalty functions

This approach is the simplest to implement. By replacing the cost function J(P ) with a pseudo-function

J ′(P ) =

J(P ) if P ∈ Ω∗

G(P ) if P /∈ Ω∗ , (3.18)

where G(P ) is a penalty function worse than J(P ) ∀ P ∈ Ω∗, the Nelder-Mead algorithm willnaturally move away from an out of bounds point towards the valid region. Basic penalty functionswork well when the cost function global extremum JG(P ∗) is inbounds and sufficiently far awayfrom the boundaries. Its main advantage is that it avoids computation of the cost function atan invalid point, and requires no explicit alteration of the Nelder-Mead routines. However, whencost function values are unknown a priori, the definition of the penalty function can become anon-trivial matter.

Boundary projections

When a reflection point P1 is out of bounds, a boundary projection technique replaces P1 withthe closest boundary point P ′ (i.e. P ′ ∈ S(Ω∗) where P ′ = minP ‖ ~P1 − ~P‖). The approach isefficient when the optimum point is in the boundary, but it often aligns all simplex points against aboundary, making it impossible to leave the boundary without some kind of statistical restart [80].Another possibility is to combine the two previous approaches by carefully selecting a function G′,which delays the function penalty for invalid points with small distances δ to the valid domain,

G′(P ) =J(P ′) if ||P − P ′|| ≤ δG(P ) if ||P − P ′|| > δ

. (3.19)

This prevents the simplex from collapsing near the border, by always retaining a nominal simplexlength of δ.

Orthogonal reflections

Unlike penalty functions, an orthogonal reflection does not encourage an implicit contraction ofthe simplex near a boundary. Instead it proposes a new search direction for an out of boundsreflection point, which helps retain the original simplex volume until approaching a local valley.Near a boundary a valid search direction is parallel to the local boundary (see [82] for a detailedtheoretical discussion). This is accomplished by removing the component of the reflection vectororthogonal to the local boundary (see Figure 3.3). The orthogonal direction ~P or is determined bythe closest valid point, hence

~P or = ~P2 = ~PwP1 −(

~PwP1 · ~P ′P1

|| ~P ′P1||2

)~P ′P1. (3.20)

If the reflection step is exactly orthogonal to the boundary or the orthogonal projection fails toimprove the simplex, P or can be replaced with a reflection from the second worse point,

~P sr = ~Pm + α(~Pm − ~Ps), where (3.21)

Pm =1N

N∑1

Pi for i 6= s. (3.22)

Assuming the reflection step is a reasonable approximation of the cost function gradient, theseoperations will decrease the likelihood contracting a simplex near a boundary.

Page 52: Identification of material properties using finite elements and full ...

38 CHAPTER 3. FUNDAMENTALS OF OPTIMIZATION

-15

-10

-5

0

5

10

15

20

-10 -5 0 5 10 15 20 25y/y

0

x/x0

b

w

s

m

Pwr P ′ P o

r

P sr

Figure 3.3: Orthogonal reflection.

3.8.2 Description of the modified algorithm

The implemented algorithm is a modification of the classical Nelder-Mead algorithm. It includesmechanisms for handling boundary constraints, including orthogonal projections and penalty func-tions, and it assumes the boundary constrains are rectangular. The algorithm begins by calculatinga reflection point Pr = Pwr . If the reflection point is inbounds we proceed exactly the same asthe classical Nelder-Mead algorithm. If not, we calculate an orthogonal reflection P or . If P or isinbounds and improves the simplex (i.e. J(P or ) < J(Pw)), we replace Pr by P or and proceed withthe classical Nelder-Mead algorithm. If not we calculate a reflection of the second worse point P sr ,and check if the point is inbounds and that it improves the simplex J(P sr ) < J(Pw). If it does, wereplace Pr by P sr and proceed with the classical Nelder-Mead algorithm. Otherwise we concludethat we have either reached a boundary corner, or that the two other proposed reflections are notgood approximations of the gradient. Hence, we let Pr = Pwr and penalize the reflection pointby forcing J(Pr) = 2|J(Pw)|. If the reflection point Pr is the new minimum, Nelder-Mead willattempt to compute an expansion point Pe. The modified algorithm must check if the expansionpoint is inbounds before evaluating the cost function J(Pe). If it is out of bounds, we penalize theexpansion point by such that J(Pe) = 2|J(Pw)|. Since the boundaries are assumed to be rectangu-lar the domain of contraction points does not need be verified. Hence, the rest of the search stepsare left unmodified from the classical algorithm.

Page 53: Identification of material properties using finite elements and full ...

Chapter 4

Development of numerical toolsfor identification

4.1 Introduction

This chapter discusses the development of the identification toolkit (IDTK), a collection of numeri-cal tools for general identification using finite element model update (FEMU). The toolkit consistsof a programming library and a collection of small software tools, designed to facilitate the integra-tion of identification routines into existing projects. The toolkit has been under development bythe author since the beginning of his master’s thesis in late 2004. Development of a new softwaresuite was necessary because to the author’s knowledge, there was (and still is) no commercial oropen-source software suite implementing a generalized FEMU infrastructure.

The library and toolkit are designed to be independent of any specific case study and are notmeant to be fully self-contained, e.g. IDTK does not include a finite element solver. Instead, thistoolkit aims at providing functionality not available in typical FE software, such as field comparisonmechanisms, and tools to assist in the interaction with external software. IDTK is designed to beadaptable to an existing problem and not force a new user to adapt his own problem to ourstandards. The long-term objective of IDTK is to provide a new user with a library and set ofsmall tools to pick-and-choose from in the implementation of an identification program that fitsthe standards of an existing project.

IDTK follows an object-oriented design. The most stable and tested routines are implementedin C++, while other more experimental routines are coded in Python and the Matlabr scriptedlanguage for easy modification. Although (presently) the library uses the commercial softwareMatlab and Abaqus, the library and related tools are not fully integrated into these packages andshould be easily adaptable to alternative software. This chapter presents the design concepts ofthe toolkit and an overview of the major classes and functions within.

4.2 Operational design of the IDTK library

This section discusses the architecture and implementation of the Identification ToolKit Library(IDTK). The library is organized into 5 major operational groups: preprocessing, residue iteration,field transfer, model creation & solution and post-processing. Figure 4.1 illustrates schematicallythe relationship between the five functional groups. The preprocessing group contains all oper-ations for producing an experimental map from raw measurements. These may include imageacquisition, phase extraction and unwrapping, field sampling and filtering. The model creationand solution group is responsible for creating and solving a FE model incorporating a given setof model parameters. It produces output, generally a file with node coordinates and degrees offreedom and description of the FE mesh, i.e FE connectivity. The field transfer group obtainsnumerical degrees of freedom at experimental data point coordinates, see Chapter 6. The residueiteration group then computes the difference between matching numerical and experimental maps,and decides a new set of parameters for which to create and solve a new FE model. This step is

39

Page 54: Identification of material properties using finite elements and full ...

40 CHAPTER 4. NUMERICAL TOOLS

generally a minimization of the residue, but it may also be independent of residue value such as inthe case of a parametric study. The post-processing group is where interpretation and visualizationof results takes place.

SelectPoints

InverseMapping

InterpolateField

Operation

Parameters

Nodes & DOFs

Connectivi ty

ExperimentalData

Experimental Map (*)

Numerical Map (*)

Post-processing

Preprocessing

SketchGeometry

MaterialProperties

Solve

BoundaryConditions

Interaction& Contact

Mesh

Residue

Minimization

FE Model Creation & Solution

Field Transfer

Residue Iteration

Figure 4.1: Major functional groups in FEMU software.

4.2.1 Programming languages in the IDTK library

There is a large number of programming languages. It can be difficult to select the languagethat is most suited for a particular project. Amongst available languages, it is typical to select alanguage based on personal choice or based on tradition for the application domain. For instance,C/C++ is very common in system programming, FORTRAN is a traditional scientific/engineeringprogramming language, Python and Perl are traditionally used as rapid prototyping languages dueto the speed in development. In addition to traditional programming languages, there is currentlya wide variety of interpreted languages, which are highly adapted for particular purposes. Theseinclude symbolic mathematics (e.g. Mapler Mathematica and Maxima) and numerical computingenvironments (e.g. Matlabr Octave and Scilab).

A selection is also based on the compromise between the speed of development and programperformance. These are generally opposing characteristics in programming languages. Compiledlanguages such as C/C++ are notoriously lacking in complex standard functions, preferring insteadto force the programmer to access highly performance-optimized low-level functions. Consequently,simple procedures may be much more difficult and time consuming to code than in high-levelinterpreted programming languages such as Python, Perl and Matlab. However, the performanceof compiled languages can be significantly superior those of interpreted languages, particularly forprocedures with large number of operations.

The author has noticed that software developed during a PhD thesis often fail to be incorporatedinto other projects mainly because of complexity of the software developed. The authors of apersisting project have to keep in mind the time it takes to learn how to use software packages andhow to use existing functions in a software library and eventually expand the library. If the softwareis too complex, the engineer may find it more convenient to start from scratch his own library ratherthan spend time learning an existing library. Thus, the main motivation for writing independentmodules of the IDTK library in their natural language was to allow the end user/developer to pickand chose only the modules the user does not wish to implement. The mixing of scripted andcompiled languages also has an advantage in development of experimental scientific software: It

Page 55: Identification of material properties using finite elements and full ...

4.2. OPERATIONAL DESIGN OF THE IDTK LIBRARY 41

allows for quick incorporation of experimental features in a scripted language for testing and, afterappropriate testing, these new features can be hard coded in a compiled language for maximumperformance.

Based on these considerations, the author has decided to develop software using 3 main program-ming languages, C/C++, Python and Matlab script. C/C++ was selected for computationallyintensive routines, mainly present in the field transfer modules of the IDTK library. C++ wasselected from other compiled languages because it has a wide availability of maintained 3rd partylibraries, and is a full-featured object-oriented language, with which makes it is relatively easierto program in C++ than other compiled languages such as FORTRAN, with little or no loss inperformance [83]. Python was selected for model creation, interaction and scripting. The languagewas chosen for these functions mainly because it has a direct interface with the Abaqus softwarepackage. For other functional groups, namely iteration control preprocessing and post-processing,the author has chosen to work with Matlab scripts, which are also compatible with Octave andScilab scripts. This is appropriate because of the wide variety of scripts, libraries and built-infunctions for image processing and visualization readily available in Matlab.

4.2.2 Matlab and other numerical computing environments

When solving inverse problems, numerical computing environments such as Matlab, Scilab andoctave, provide scripting languages that employ convenient syntax for vector and matrix repre-sentations. They also provide built-in tools for visualizing the evolution of parameters and theirinfluence in model response. Among numerical computing environments, Matlab is the most pop-ular and mature. Original development started in the late 1970s at the University of New Mexico.Matlab was originally designed it to give users access to LINPACK and EISPACK without FOR-TRAN. Matlab has since then been employed in a wide range of scientific applications, and iseasily adaptable to treat the majority of inverse problems. By 2004, MathWorks has claimed thatMatlab had been used by more than one million people in industry and academics [84].

Since the software suite is very popular amongst scientists involved with image processing,it also became popular amongst those involved in optical full-field measurements. The MatlabImage Processing Toolbox provides a comprehensive set of standard algorithms and graphicaltools for image processing, analysis, visualization, and algorithm development. Some of the keyfeatures of the toolbox include image enhancement, filtering, feature detection and correlation,image transforms, such as FFT, etc. Competing software packages Scilab and Octave have alsoreleased image processing toolboxes, which aim to implement similar functionality.

In addition to image processing, Matlab also offers dedicated toolboxes for solving optimizationproblems. The Matlab Optimization Toolbox are extensions of Matlab’s functionality, provid-ing tools and popular algorithms for standard and large-scale optimization. The provided algo-rithms solve constrained and unconstrained continuous and discrete problems. The toolbox includesfunctions for linear programming, quadratic programming, nonlinear optimization, nonlinear leastsquares, solving systems of nonlinear equations and multi-objective optimization. The toolbox in-cludes a graphical user interface, which facilitates the process of defining an optimization strategyand hooking user-defined cost function into Matlab’s optimizers. The toolbox also provides meansto inspect most algorithms, modify the source code, and create custom functions.

The primary limitation of Matlab is that it is a proprietary product, and users may be subjectto vendor lock-in. However, given the compatibility with and rapid development of open-sourcealternatives (e.g Octave, Scilab), this limitation may soon be circumventable. Some technicallimitations of Matlab script include an absence of mechanisms for low-level memory and containermanipulations, and an absence of comprehensive multi-threading capabilities. These limitationsmake it more difficult to integrate external software tools into Matlab , such as a commercial finiteelements solver.

4.2.3 Abaqus software package and Python

Abaqus is a commercial finite elements software suite developed by Simulia [85, 86], a brandof Dassault Systemes S.A [87]. The suite consists of three main products: Abaqus/Standard,Abaqus/Explicit and Abaqus/CAE. The first two are the core components for solving finite element

Page 56: Identification of material properties using finite elements and full ...

42 CHAPTER 4. NUMERICAL TOOLS

analyses, while Abaqus/CAE provides a sophisticated environment and interface for preprocessing(e.g. modeling) and post-processing (e.g. visualization) and interaction with the other two coreanalysis products. Abaqus/Standard is a general-purpose solver for finite element problems, whichuses an implicit integration scheme. Abaqus/Explicit uses explicit integration scheme to solvehighly nonlinear transient dynamic and quasi-static analyses. Simulia also provides additional,optional modules for specific applications.

Abaqus is widely used in industry including the aerospace and automotive industries. Thepackage is popular with academic and research institutions mainly due to its ability to model awide variety of material types, and also thanks to the program’s customization abilities. Abaqusprovides an ample collection of multi-physics capabilities, such as coupled acoustic-structural andpiezoelectric effects and flow over porous media, that make it attractive for simulations wheremultiple fields need to be coupled. These software products make extensive use of Python, anopen-source scripting language, for scripting automation and customization. Other componentsfor heavy-duty calculations in Abaqus Standard and Explicit are coded in compiled languages suchas FORTRAN and C/C++.

The typical process for launching a finite elements analysis in Abaqus is illustrated in theleft side of Figure 4.2. The procedure consists of three phases: preprocessing, simulation, post-processing. The preprocessing phase is responsible for producing an ASCII input file, “job.inp”,which describes the features of the FE model, such as geometry, logical partitions, mesh, boundaryconditions, interaction between parts, etc. The input file is typically generated using the graphicaluser interface provided by Abaqus CAE, but it may also be generated by an external tool suchas a text editor. In the simulation phase, the input file is processed by Abaqus/Standard orAbaqus/Explicit and the finite element model is solved producing a series of result files. Theprocess generally runs on the background and takes anywhere from seconds to days to complete.The most important output file is the output database file, “job.odb”. This file contains themodel results and sufficient model information, such as nodal and integration point coordinatesand element connectivity, to visualize and post-process the results.

Graphical User Interface:

Input translator and importer

Output translator and exporter

Model database:model.cae

Output database:job.odb

read

generate frommodel database

Execute

automatically records all commands

repeats all comandswhen loaded

write & update

read & process

Abaqus CAE - Modeling, Preprocessor, Postprocessor

Results, model...-ASCII-Matlab-Gmsh...

-AutoCad-VMRL-Gmsh-NASTRAN...

Replay file:abaqus.rpy

(Python)

Simulation:Abaqus StandardAbaqus Explicit

PreprocessingAbaqus CAE or other software

input fileJob-1.inp

PostprocessingAbaqus CAE or other software

Output files:job.odb job.datjob.res job.fil

Steps for a completeAbaqus analysis

Figure 4.2: Overview of Abaqus components and their interaction.

The graphical user interface in Abaqus CAE is convenient for generating input files, managingjobs and visualizing results. It includes a powerful CAD tool for creating 2D and 3D sketches, as wellas the ability to import sketches and models from dedicated CAD software such as Autocad, Ideas,Catia, Pro-Engineer. In addition to sketching, CAE also provides a series of modules to specifyand manage the model’s physical characteristics, such as material properties, logical partitions of apart, boundary conditions and volumetric forces, displacements, temperature distributions. It alsocontrols the interaction of multiple parts and very powerful meshing algorithms for an extensivelibrary of element types. For a more detailed description of the modules in Abaqus CAE see

Page 57: Identification of material properties using finite elements and full ...

4.2. OPERATIONAL DESIGN OF THE IDTK LIBRARY 43

[85, 86].All aspects of a model’s definition are stored in a model database file, “model.cae”. This

database file allows for storing several models in the same file along with job descriptors. WhenAbaqus CAE launches a job it calls the Abaqus/PRE component is started, which interprets themodel database and generates a corresponding input file. Then, it calls on Abaqus/Standardor Abaqus/Explicit to solve the model. In the context of identification, the main advantage ofworking with such databases is in the convenience of updating a model parameter. CAE contains aseries of logical constructs, which avoids running unnecessary or redundant routines. For instance,CAE knows that a simple change in material properties (e.g Young’s Modulus) does not requirere-meshing, however, a change in the geometry of the specimen does.

Interfacing with Abaqus CAE using Python

Scripting and automation is another attractive feature of Abaqus CAE. All of the operationsin the CAE graphical user interface are available in the Abaqus Python API. For all intensivepurposes the graphical user interface in CAE can be considered a front-end of the Abaqus CAEPython scripting library1. When Abaqus CAE is started, it automatically creates a replay script,“abaqus.rpy”, containing all of the commands utilized in CAE session. The following code snippetis an example of a replay file, when drawing a 20× 20× 20 cube:

## abaqus.rpy## Generate an Abaqus sketch objects = mdb.models[’CubeModel’].ConstrainedSketch(name=’cube_sketch’, sheetSize=200.0)g, v, d, c = s.geometry, s.vertices, s.dimensions, s.constraintss.setPrimaryObject(option=STANDALONE)## Draw a rectangles.rectangle(point1=(-10.0, 10.0), point2=(10.0, -10.0))## Create a part called ’CubeModel’ by extruding rectangle in sketch s by 20.p = mdb.models[’CubeModel’].parts[’cube’]p.BaseSolidExtrude(sketch=s, depth=20.0)

This is an important production tool, which safeguards the user’s work in case of possible computerfailure. If the user would like to repeat all of the operations in a previous session it suffices to runthe replay script and procedures will be repeated verbatim. More important, this python interfacecreates a framework for generating generalized models, since it is possible to incorporate any ofPython’s scripting capabilities (e.g. variables, functions, control sequences, etc) onto a replayscript. The following code snippet, “drawRectangles.py”, demonstrated how the user can create ascript or modify an existing replay file to generalize and automate model generation:

## drawRectangles.py## function to draw a single rectangle## arguments :## center: The center of the cube## size: One edge length of the cube## sketch: The cube will be appended to this Abaqus sketch object.def drawARectangle(center,size,sketch):

sketch.rectangle(point1=(center[0]-size/2, center[1]-size/2),point2=(center[0]+size/2, center[1]+size/2))

## Generate an Abaqus sketch objects = mdb.models[’CubeModel’].ConstrainedSketch(name=’cube_sketch’, sheetSize=200.0)g, v, d, c = s.geometry, s.vertices, s.dimensions, s.constraintss.setPrimaryObject(option=STANDALONE)## Draw one rectangledrawARectangle(center=[0,0],size=20,sketch=s)

1It is possible, and often convenient, to start Abaqus CAE with no graphical user interface. In such a case CAEbehaves as an interpretor of the Abaqus scripting library.

Page 58: Identification of material properties using finite elements and full ...

44 CHAPTER 4. NUMERICAL TOOLS

## Draw 10 rectangles 10 units apartfor i in range(0,10):

drawARectangle(center=[0,(i+1)*20],size=20,sketch=s)

4.3 Paradigms in object-oriented programming

The term paradigm, in computer programming, refers to fundamentals for addressing generalproblems in software engineering. It is different from the term methodology, which defines astrategy for solving a specific engineering problem, i.e. a paradigm encompasses all programs, whilea methodology encompasses specific tasks. A paradigm may also be considered as a collection ofallowed and forbidden techniques. For instance, structured programming forbids the use of the“goto” statement. It is common for programming languages to provide the user a mix of severalparadigms. In the object-oriented programming paradigm, the user is required to consider aprogram as a collection of interacting objects, a programming representation of a “thing”, whilein functional or procedural programming a program can be thought of as a sequence of statelessfunction evaluations.

The objective of this section is to provide a brief background of the programming conceptsused by the author in developing the identification toolkit library (IDTK). The section does notprovide an exhaustive background on object-oriented programming or C/C++ syntax. For furtherinformation and appropriate background see [88, 89, 90].

4.3.1 Classes and objects

Object-oriented programming (OOP) provides an infrastructure to develop highly modular pro-gram structures through the definition of classes. Classes are user-defined types which encapsulateclosely related data and functionality into self contained programming entities, a conceptualizationof a “thing”. These entities are useful in order to separate closely related data from loosely relateddata and to simplify the syntax and logic of the global program. The paradigm enables the globalprogram to call functionality between entities according to a prescribed behavior while avoidingcode redundancy and explicit management of internal data. To illustrate these ideas, consideran example of vector addition. In structured programming it would be common to represent thevector addition ~c = ~a +~b as three floating point arrays in the same programming scope, A,B,C.A vector sum would be performed by a loop, represented here in c syntax,

float A[3],B[3],C[3];int i = 0;while(i < 3)

C[i] = A[i] + B[i];i = i + 1;

Each time a new set of vectors is added a new loop must be rewritten either explicitly or inshorthand through a function call. In either case, it falls to programmer to explicitly track andguarantee the compliance of related vector data, such as dimension and storage method. Noth-ing in the structured programming paradigm forbids the inappropriate interaction between non-corresponding components of the vector. For instance, the user may erroneously decide to add Aand B, as C1 = A2 + B3. This is possible in structured programming because the scope of theprogram is simultaneously aware of the data in each vector.

In the OOP paradigm, the programmer is instead required to treat a vector as an entity, a classVECTOR, which groups the data contained in each dimension (i.e. components vi of vector ~v),and pre-describe its interaction with other entities. For this example, the programmer must definethe vector’s algebra rules (i.e. ~c = ~a +~b implies ci = ai + bi). The resulting code follows muchmore naturally, an example is given using C++ syntax

VECTOR A,B,C;C = A.plus(B);

Page 59: Identification of material properties using finite elements and full ...

4.3. PARADIGMS IN OBJECT-ORIENTED PROGRAMMING 45

An instance of a class is referred to as an object, e.g. A,B and C in the previous example. Thefunction “plus()” is pre-described, and the internal data in each entity may only be modifiedthrough this pre-described function, which precludes a mistake such as C1 = A2 +B3. In addition,the external program is only aware of the existence of the inputs and outputs of the “plus()”function, but no assumption is made on the details of the implementation nor the storage ofinternal VECTOR data. The class VECTOR is a fully independent entity, and modification of itsinternal routines has no impact on external code.

Since the scope of a main program is independent of the scopes of the classes, by changing thepre-described behavior of a member functions, it is possible to change the overall behavior of theprogram without explicit modification of the main routines. This promotes code re-usability andthe preservation of stable code. This feature of the OOP paradigm is enhanced by the conceptsknown as class inheritance, polymorphism and class abstraction, described in successive sections.

4.3.2 Class inheritance

The procedure known as inheritance allows the programmer to pass attributes and related func-tionality from one entity to another. Basically, it is possible to create a derived class C, fromclass A and B, which contains all of the data structures and member functions of A and B. Theconcept is easily illustrated by considering an example of a class Animal. All animals have commonattributes, such as weight, size, color. And have similar behaviors such as “eat()”, “reproduce()”,“die()”. A more specific type of animal, Dog, has all these attributes and more, such as fur color,and behaviors such as “bark()”. Through class inheritance, it is possible for the class Dog to inheritattributes and functions from the Animal class. The class Dog is then referred to as a sub, derivedor child class of Animal, referred to as the base or parent class. Some programming languages,such as C++, allow for a class to inherit from multiple parent classes.

In the subclass, the implementation of these attributes and functions can either be retained(case of inheritance) or implemented (overwritten) in the derived class. For example, in C++syntax, a class of type A is declared as follows:

class A private:float m_var1; \\ private member variable

public:float m_var2; \\ public member variable

public:A(); \\ constructor function (used for class initialization)~A(); \\ destructor function (used for class termination)

\\ syntax for member function definition\\ return_type function_name ( argument_type argument_name, ... )

double foo1(); \\ public functionvirtual double foo2(); \\ virtual public functionvirtual double foo3() = 0; \\ abstract public function

;

In this case, class A, has a function “foo1()”, which is implemented by A, a function “foo2()”,who’s behavior may be overwritten by a child , and a function “foo3()”, which is not implementedand must be implemented by a child class. A class, B, which inherits from class A is defined asfollows:

class B : public A public:B(); \\ constructor function (used for class initialization)

Page 60: Identification of material properties using finite elements and full ...

46 CHAPTER 4. NUMERICAL TOOLS

~B(); \\ destructor function (used for class termination)virtual double foo3(); \\ public function implementation

;

In this example, class B inherits all the public member variables and functions of A. It does notoverride function funtions “foo1()” and “foo2()”, and it implements “foo3()”. In this example, thefollowing code

B var_b;var_b.foo1();var_b.foo2();var_b.foo3();

would execute the functionality of “foo1()”and “foo2()” as defined by A, and execute the function-ality of “foo3()” as defined by B.

The relationship between abstract, parent and derived classes and their members are conve-niently illustrated via the Unified/Universal Modeling Language (UML) diagrams [91, 92, 93].Figure 4.3 contains a summary of symbols used. These are useful for visually describing the rela-tionship between classes and their member functions.

Class Name

+public atributes: variable type

#protected atribute

+method(parameter:parameter type): return type

+abstract method()

Astract Classinheritance:(realization)

Implementation 1 Implementation 2

Base Classinheritance:

(generalization)

Derived Class 1 Derived Class 2

Class2Class1 2- aggregation

Class2Class1 1- composit ional

Class2Class1 3- dependency

Figure 4.3: Class diagrams in the Unified/Universal Modeling Language (UML).

4.3.3 Pointers and dynamic allocation

Before discussing polymorphism, this section introduces the concept of pointers and dynamic al-location. These will allow the reader to appreciate more fully the concepts in future sections. Apointer is a special variable that is not strictly attached to any location in memory. In C++ syntaxa variable A of type, TYPE is declared as

TYPE A;

TYPE may be either a primitive type such as a floating point or a complex type such as an object.When the variable A is declared a region in physical memory is reserved. The amount of reservedmemory depends on the memory requirements of the type TYPE. Throughout a scope of theprogram name A is strictly associated to this region in memory defined at compile time. A pointerB of type TYPE is declared as

TYPE * B;

Page 61: Identification of material properties using finite elements and full ...

4.3. PARADIGMS IN OBJECT-ORIENTED PROGRAMMING 47

Unlike A, throughout a scope of the program the name B is not strictly associated with a specificregion in memory at compile time. It may instead associate itself to different regions in memory atrun time. A pointer is in fact a variable that stores a memory address. It may reference a variablestored at this address via the dereferencing operator “*”, and may obtain the address of a variableusing the referencing operator “&”.

For instance, the following example shows how a pointer B, may be used to associate itself andmodify memory slots reserved for floating point variables A and C:

float A = 10; \\ A == 10float C = 5; \\ C == 5float * B; \\ Pointer to a float type

B = &A; \\ Obtain the memory address of A

(*B) = (*B) + 1; \\ Modify the value in A.\\ A == 11

B = &C; \\ Obtain the memory address of C

(*B) = (*B) - 1; \\ Modify the value in C\\ C == 4

If instead of a primitive type, B is a pointer to an object, it may access member functions andmember variables of the object in a memory address. For example, if A is an object of typeBox, which has a member function “open()”, a pointer of type Box, B, may reference the memberfunction of A as follows:

Box A; \\ declare an object of type BoxBox * B; \\ declare a pointer to an object of type Box

B = &A; \\ Assign to B the memory address of A

A.open(); \\ Call A’s member function "open()"(&A)->open();\\ Call A’s member function "open()" againB->open(); \\ Call A’s member function "open()" yet again(*B).open(); \\ Call A’s member function "open()" yet another way

In C++, in addition to accessing memory slots of existing variables, using pointers it is possibleto reserve and access memory slots at run time via the “new” operator.

Box * B; \\ Declare a pointer to an object of type BoxB = new Box();\\ Dynamically allocate (create) an object of type BoxB->open(); \\ Call the object’s member function "open()"delete B; \\ Dynamically deallocate (erase) the object of type Box

The next section discusses how through abstraction, inheritance and polymorphism, pointersand dynamic allocation can be used to create programs that are very general, easily reusable andexpandable.

4.3.4 Polymorphism

Polymorphism refers to a programming language’s ability to treat a derived class’ members andfunctions as analog of their parent class’ members. In other words, polymorphism in object-orientedprogramming is the ability of objects belonging to different data types to respond to method callsof methods of the same name, each one according to an appropriate type-specific behavior. Onemethod can then be applied in code abstractly and its specific behavior determined at compile orexecution time. The specific behavior is determined by how a child class overwrites the membersof its parent classes. Hereafter, the concept is clarified by an example.

Page 62: Identification of material properties using finite elements and full ...

48 CHAPTER 4. NUMERICAL TOOLS

Filter

+m_data: MATRIX

+initialize(data:MATRIX): void

+apply(): MATRIX

SaltAndPepperFilter1

SaltAndPepperFilter2

SaltAndPepperFilter3

SaltAndPepperFilter

+m_data: MATRIX

+apply(): MATRIX

SquareFilter

+m_data: MATRIX

+apply(): MATRIX

GaussianFilter

+m_data: MATRIX

+apply(): MATRIX

Figure 4.4: Filter class diagrams in the Unified/Universal Modeling Language (UML).

Consider an application of full-field measurements, where an experimental displacement fieldmust be filtered before comparing it to a FE displacement field. For this purpose, an abstractclass Filter would be defined, see Figure 4.4. This class encapsulates the functionality of a generalfilter, and has 2 member functions “initialize()” and “apply()”. The first function loads a matrixof coordinates and displacements into the class. The second applies the filter. For example, thefollowing code snippet outlines the implementation of the Filter class:

\\ Filter.hclass Filter

...MATRIX m_data; \\ matrix of coordinates and displacementsvoid initialize(MATRIX data); \\ initialize coordinate and displacement datavirtual MATRIX apply(); \\ Virtual function: Applies the filter...

;

Since initialization is independent of the type of filter applied, it would be appropriate to implementthis function directly in class Filter. Since the behavior function “apply()” depends on the typeof filter being applied, it is hence overwritten in each of the three child classes, SquareFilter,GaussianFilter and SaltAndPepperFilter. For example:

\\ SaltAndPepperFilter.h

#include <Filter.h>

\\ Declare SaltAndPepperFilter inheriting public members of the Filter classclass SaltAndPepperFilter : public Filter

...virtual MATRIX apply() \\ Compute average displacements in m_data...\\ Compute standard deviation of displacements in m_data...\\ Exclude any point from m_data who’s displacements\\ deviation is greater than 3 times the standard deviation....return m_data;

...

;

Page 63: Identification of material properties using finite elements and full ...

4.3. PARADIGMS IN OBJECT-ORIENTED PROGRAMMING 49

The keyword “virtual” in C++ specifies that the function is to be overwritten by the class’s children,and should behave polymorphically. The polymorphic behavior of these classes is illustrated in thefollowing code snippet:

\\ main.cpp

MATRIX exp_field = loadExpField(); \\ Load a matrix with experimental dataMATRIX f_field; \\ Create a matrix to store the filtered fieldFilter * the_filter; \\ Create a pointer to a Filter objectthe_filter = new SaltAndPepperFilter(); \\ Dynamically create a Filter child object

\\ Load the matrix into the Filter objectthe_filter->initialize(exp_field); \\ Note: Calls Filter.initialize()

\\ Filter the field polymorphicallyf_field = the_filter->filter(); \\ Note: Calls SaltAndPepperFilter.apply()

Notice that with exception of creating the SaltAndPepperFilter object, the entire filtering operationis performed using an interface (pointer) to the Filter class. This example is a good introductionto the concept of abstraction.

4.3.5 Abstraction and class factories

Abstraction is the process of simplifying complex problems by formulating classes appropriate tothat problem. Meaning, the abstraction of a problem is obtained by factoring out the commonobjects required in general cases for a specific problem, and working at the most appropriatelevel of inheritance for a given aspect of the problem. For instance, in the previous example it isperfectly appropriate to treat all filter types as Filter objects, and independently of the type offilter to apply, the procedure at this programming level requires only 2 steps: initialize the filterand apply the filter. When considering the different types of algorithms to eliminate salt andpepper noise, it may be decided that two additional basic operations are required, namely identifyaberrant points and remove aberrant points. In such cases, it is more appropriate to work insidethe SaltAndPepperFilter class by creating further children of SaltAndPepperFilter. Abstractionmay also be achieved through composition. For example, a finite element model is made up of amesh, boundary conditions, property objects, etc. To build a finite element model class, the usershould not need to know how the different components work internally, but only how to interfacewith them, i.e. send input and receive output from them. This has been widely discussed in [90].

Perhaps the biggest practical benefit of abstraction and polymorphism is the ability to createprograms whose functionality can be expanded without the need to modify stable code. Theprevious example demonstrated the concept. The program “main.cpp” does not need to be alteredfor new filter implementations, except for the line which instantiates the Filter object. The programmay be completely removed from new child implementations of the Filter class via a class factoryfunction, defined bellow:

#include<Filter.h>#include<SquareFilter.h>#include<GaussianFilter.h>#include<SaltAndPepperFilter.h>

\\ Filter class factory functionFilter * new_filter(int id_code) switch(id_code)

case 100: return new SquareFilter(); break;case 101: return new GaussianFilter(); break;case 102: return new SaltAndPepperFilter(); break;default: new SquareFilter() break;

Page 64: Identification of material properties using finite elements and full ...

50 CHAPTER 4. NUMERICAL TOOLS

Class factory functions such as this one, dynamically generates child classes given a tag or class IDcode.

\\ replace the line: the_filter = new SaltAndPepperFilter(); withthe_filter = new_filter(filter_type); \\ Dynamically generate the Filter object

The class tag may be specified by the user during run time or be read by the program from aconfiguration file. Since the class factory function is the only entity required to be fully aware ofall the child classes of Filter, it suffices to add a new “switch/case” statement in the class factoryfunction in order to install a newly developed child class. Since the class factory is a static file, theaddition of a new child class does not require the recompilation of the stable modules. This mayalso significantly decrease the time of compilation, development and testing.

4.3.6 The C++ standard and standard template libraries

In C++, the Standard Library is a collection of classes and functions which are written usinglanguage primitives. The Standard Library provides several generic containers, functions to utilizeand manipulate these containers, function objects, generic strings and streams (including interac-tive and file I/O), support for some language features, and every day functions for tasks such asfinding the square root of a number. The C++ Standard Library also incorporates the ISO C90 CStandard Library. Features of the Standard Library are declared within the std namespace. Themajority of the standard library components are made to operate on primitive data types such asfloating point, integer and character variables.

The Standard Template Library [94] is an extension of the standard library designed to facili-tate the management and operation of primitive and high-level variables. The library provides 5main components: Containers, which provide a framework for managing memory allocations. Al-gorithms define a computational procedure such as counting the number of elements in a containeror searching a container for a specific element. Iterators provide a mechanism for traversing theelements of a container. Function objects encapsulate a function in an object to be used by othercomponents. Finally, Adaptors adapt a component to provide a different interface.

4.3.7 The Boost-C++ programming library

The Boost C++ programming library [95, 96] is a collection of peer-reviewed, open source librariesthat extend the functionality of C++. Most of the libraries are licensed under the Boost SoftwareLicense, designed to allow Boost to be used with both open and closed source projects. The librariesare aimed at a wide range of C++ users and application domains. They range from general-purposelibraries like SmartPtr, to operating system abstractions like FileSystem, to libraries primarilyaimed at other library developers and advanced C++ users, like Atlas and MPL. In order toensure efficiency and flexibility, Boost implements generic programming and meta-programmingplatform using class and function templates.

The IDTK software package, developed by the author, makes extensive use of the Boost pro-gramming library. The main reason for programming with Boost is not having to reinvent commonclasses, also since the library has been adopted as a standard in C++ programming community,we can expect progressive testing and maintenance of the library, so we do not have to worryabout conflicts with package upgrades and loss of backwards compatibility. One of the featuresof Boost, which makes it very attractive for scientific programming, is the use of abstractions andinterfaces with other popular scientific programming libraries. A good example is the mathematicsand linear algebra package Ublas. The library is meant to provide basic Blas level 2 functionalityas a stand alone implementation. This functionality allows us to conduct basic operations. suchas vector matrix multiplications, with code optimization for the internal loops involved in the op-eration and efficient memory management. The matrix/vector class handles these operations veryefficiently, using mature and well accepted standards. For complex higher level Blas operationssuch as for solving linear equations, sparse matrix inversion, eigenvalue problems and linear least-squares problems, Ublas provide “bindings” to popular libraries such as Atlas [97] and LAPACK

Page 65: Identification of material properties using finite elements and full ...

4.3. PARADIGMS IN OBJECT-ORIENTED PROGRAMMING 51

[98]. The following is an example of matrix inversion using an LU factorization with Ublas/Atlasbindings:

#include <boost/numeric/bindings/atlas/clapack.hpp>#include <boost/numeric/bindings/traits/ublas_matrix.hpp>#include <boost/numeric/bindings/traits/std_vector.hpp>

namespace ublas = boost::numeric::ublas;namespace atlas = boost::numeric::bindings::atlas;

int main() std::size_t n = 5;ublas::matrix<double> A (n, n);\\ fill matrix A

std::vector<int> ipiv (n); \\ pivot vectoratlas::lu_factor (A, ipiv); \\ alias for getrf()atlas::lu_invert (A, ipiv); \\ alias for getri()

This architecture allows for updates in the details of the internal routines without having to modifystable code in IDTK.

In addition to scientific functions, the Boost library provides a series of system independentabstractions to system-dependent functions. These libraries allow for the largely platform indepen-dent code in IDTK. Highlighted here are the Boost filesystem and threads libraries. The filesystemlibrary provides portable facilities to query and manipulate paths, files and directories. The mo-tivation for the library is the need to perform portable script-like operations from within C++programs. Program using this library are portable, both in syntax of the code is portable and onthe behavior of code. This library handles the conversion of platform specific directory and filedescriptors (e.g. path formats “C:\” in Microsoft Windowsr and “/home/” in UNIX systems)which are translated onto their target platform at compile and link time. The identifier programemploys this library to organize the scratch directory for FE solutions and to arrange and separatemodel databases and results databases for separate analyses.

m_job_path = job_path;\\checking if the Abaqus job directory already exists.if(boost::filesystem::exists( job_path )) \\if it already exists clean the directory.if(!boost::filesystem::is_empty(job_path))

boost::filesystem::remove_all(job_path);boost::filesystem::create_directories(job_path);

else \\create the directory.boost::filesystem::create_directories(job_path);

Usage is safe in the sense that errors cannot be ignored since most functions throw C++ exceptionswhen errors are detected. The threads library provides a relatively simple, safe and platformindependent way to control the program’s execution and machine state. These types of operationare generally very tricky and significantly simplified by the Boost library. IDTK uses this librarymainly to limit the identifier software’s CPU resources and memory resources as it waits for eachFE solution. The procedure allows for maximum utilization of system resources by each componentin turn and leads to a faster identification procedure.

Page 66: Identification of material properties using finite elements and full ...

52 CHAPTER 4. NUMERICAL TOOLS

4.4 C++ components of the IDTK library

The principal components of the IDTK library are written in C++. They consist of classes andfunctions to perform basic functionality and field transfer operations covered in Chapter 6. It alsoprovides an interaction layer to coordinate tasks between independent components of the identifica-tion toolkit. As previously mentioned, the C++ components of the library were made to conformas much as possible to the BOOST-C++ library. Functions for basic operations are containedin the directory ublas extras, under the header files “common.h”, “base.h”, “field operations.h”.These headers provide a series of convenience functions to import and export matrix/field data intoASCII and Matlab formats. It also contains basic functions for field operations such as selectingcommon points between two fields, or selecting points contained in a user-defined domain, etc.These functions are generally well documented in the code and straightforward to use, hence it willnot be exposed here in detail.

4.4.1 Procedure control

Figure 4.5 is a UML diagram showing the interaction between the main classes provided by thelibrary. The three classes that control major operations are ResidueIterator, FEMDriver andFieldOperator. ResidueIterator is responsible for taking a residue value and deciding how to iteratebetween parameter values. By default the residue iterator simply waits for the user to pass to it anew set of parameters via the member function “computeScalarResidue()”. It will then dispatchthese parameters to its member classes, FEMDriver and Residue, who will in turn compute a finiteelement solution and calculate the residue value.

Special implementations of ResidueIterator exist, which minimize the residue or perform aparametric study with no interaction with the user or external program. For strict adherence withthe design in Figure 4.1, the class ResidueIterator is not required to compute a residue, it maysimply write the numerical results matching experimental coordinates onto a file via the function“saveField()”. An external routine or program may then use this file to compute a residue valueaccording to its own formulation.

The class FEMDriver, as implied previously, is responsible for controlling and handling com-munications with a FE solver. In order to implement this class the user needs to develop threemember functions: The first, “init()”, which initiate the communication between the library andthe FE solver. The function accepts as inputs the necessary arguments for the initialization. Thesecond, “solve()” is responsible for launching an FE solution for a given set of model parameters.The function inputs a vector of model parameters and outputs a reference to a matrix containingnode coordinates and displacements, and a matrix defining the mesh element connectivities. Third,the user must implement the function “close()”, responsible for closing the communication betweenFEMDriver and the FE solver. An implementation of this class, AbaqusDriver, is readily availablein IDTK, designed to interact with Abaqus CAE. Notice that the architecture is completely inde-pendent of any specific FE software package. In fact, it does not require the user to communicatewith an external FE solver at all. The user may implement his own FE solver inside the “solve()”function.

4.4.2 Field comparison components

The FieldOperator class is responsible for coordinating field transfer operations. Realizations of thisclass require the implementation of the member functions “runOperator()”, “setFieldParameters()”and “solveFieldParameters()”. IDTK contains three implementations of this class InterpolateField,RigidBodySolver and CoordinateChange. The first conducts a plain interpolation as defined inchapter 6. It assumes that the numerical and experimental coordinate systems are the same. Thesecond performs an interpolation and solves for rigid body motion components. The components arethen injected in to the numerical displacement map. The third class CoordinateChange, performsan interpolation using any of the other field operator classes. Unlike the previous classes, it does notassume equivalence of the numerical and experimental coordinates. It may either accept orientationparameters from the user and carry out the transformation of the numerical model (see Chapter5) or solve for orientation parameters, as specified in section 7.4.2.

Page 67: Identification of material properties using finite elements and full ...

4.4. C++ COMPONENTS OF THE IDTK LIBRARY 53

Re

sid

ue

Ite

rato

r

#experimental_field: LIST < VECTOR >

#field_operators: LIST < FieldOperator * >

#fem_driver: FEMDriver

#residue: Residue

+run(): void

Identification

ParametricStudy

Re

sid

ue

#experimental_field: LIST< VECTOR > *

#matching_numerical_field: LIST < VECTOR > *

+calculate(): double

StrainGap

DisplacementGap

WeightedDisplacementGap

FE

MD

riv

er

#connectivity: LIST<INDEXES>

#nodes: LIST<VECTOR>

+init()

+solve(parameters:LIST)

AbaqusDriver

Fie

ldO

pe

rato

r

#experimental_field: LIST < VECTOR > *

#virtual_mesh: VirtualMesh *

+field_parameters: LIST

+runOperator(): void

+solveFieldParameters(): void

InterpolateField

RigidBodySolver

CoordinateChange

Ele

me

nt

#nodes: LIST<VECTOR> *

#connectivity: LIST<INDEXES> *

+boundingBoxTest(point_xy :VECTOR ): bool

+crossProductTest(point_xy:VECTOR): bool

+localToGlobal(point_en:VECTOR): VECTOR

+globalToLocal(point_xy:VECTOR): VECTOR

+interpolateDOFS(point_en:VECTOR): VECTOR

Me

sh

#elements: LIST<ELEMENT *>

#nodes: LIST<VECTOR>

#connectivity: LIST<INDEXES>

Vir

tua

lMe

sh

+ARRAY< LIST< Element > >: virtual_elements

+interpolatePoint(point_xy:VECTOR): VECTOR

+interpolateField(points_xy:LIST< VECTOR >): LIST< VECTOR >

LinearElement2D

LinearElement3D

C3D4

C3D4

CPS3

CPS4

Fig

ure

4.5:

Ove

rvie

wof

the

Iden

tific

atio

nT

oolk

it(I

DT

K)

inte

rfac

e.

Page 68: Identification of material properties using finite elements and full ...

54 CHAPTER 4. NUMERICAL TOOLS

The actual grunt work of interpolation is done by the VirtualMesh, Mesh and Element classes.A realization of a FieldOperator class will always contain at least one instance the previous classes.The Mesh class is a wrapper class whose responsibility is to instantiate a list of Element objectsstarting from a matrix of node coordinate and displacements, and a matrix of element types andconnectivity information.

\\ Initialize the Mesh object with nodes and connectivity information.void Mesh::init(BOOST::matrix<double> * nodes,

BOOST::matrix<int> * connectivity) \\ Instantiating a list of Element objects.m_elements = std::vector<Element *>(con->size1());\\ Iterating through all elements in the connectivity matrixfor(int el = 0; el < con->size1(); ++el) \\ Creating a Element object based on the element code.\\ The element code is the first column of the connectivity matrix.m_elements[el] = Element::New((*con)(el,0));\\ Pass a reference of the full node matrix to the elementm_elements[el]->setNodeData(nodes);\\ Specify which nodes in the list belong to this element.for(int n = 1; n < con->size2(); ++n)

m_elements[el]->setNodeIndx(n,(*con)(el,n));

The VirtualMesh class is primarily responsible for finding what elements contain each of the ex-perimental points, as described in section 6.3. For each data point the virtual mesh’s “interpolate-Point()” and “interpolateField()” member functions will find the appropriate owner FE elementand call the Element object’s “interpolateDOFs()” function.

BOOST::vector<double> VirtualMesh::interpolatePoint(BOOST::vector<double> pt)\\ Determining the index of the virtual element containing pt.int m = (int)((pt(0) - Pmin(0))/m_dx);int n = (int)((pt(1) - Pmin(1))/m_dy);int k = m_dimension == 2 ? 0 : (int)((pt(1) - Pmin(1))/m_dz);

\\check all FE elements in the virtual elementfor(int i = 0; i < m_virtual_elements[m][n][k].size(); ++ i) \\ bounding box testif(m_elements[m_virtual_elements[m][n][k][i]]->boundingBoxTest(pt)) \\ cross-product testif(m_elements[m_virtual_elements[m][n][k][i]]->crossProductTest(pt)) \\ calculate local coordinatesBOOST::vector<double> pt_local =

m_elements[m_virtual_elements[m][n][k][i]]->globalToLocal(pt);\\ interpolate degrees of freedomreturn m_elements[m_virtual_elements[m][n][k][i]]->interpolateDOFS(pt_local);

The actual the interpolation of DOFs at a point is carried-out polymorphically by member functionsof each Element object. Figure 4.6 contains a UML diagram of the abstract element class andavailable implementations. At present IDTK, has implemented linear triangular and quadrangularelements in 2D as well as linear tetrahedra in 3D. This means that IDTK is able to automaticallyinterpolate fields for any meshes composed of a mixture these 3 element types.

Page 69: Identification of material properties using finite elements and full ...

4.4. C++ COMPONENTS OF THE IDTK LIBRARY 55

If the user wishes to interpolate a data field over a mesh with different finite elements types,it suffices to create a new class deriving from Element. Any new element implementation mustoverride the following functions: “isInbounds()”, which determines if a point in the local coordinatesare inside or outside an element. “localToGlobal()” responsible for transforming a point from thelocal coordinate system to the global coordinate system (forward mapping). “globalToLocal()”,performs the opposite operation (inverse mapping). Finally “interpolateDOFS()”, a function thatuses the local coordinates to interpolate DOFs via shape functions.

The functions “boundingBoxTest()” and “crossProductTest()” are already implemented forlinear elements in 2D and 3D. They must only be re-implemented for non-linear elements of adifferent dimension. To install the new finite element, it suffices to add a new line with theappropriate element ID codes in the class factory function “Element::New()”.

If the user wishes to implement an interpolation strategy other than one using shape functions,it suffices to implement the last function with the desired interpolation algorithm. The otherfunctions will be default dummy implementations.

4.4.3 Standalone executables

In the spirit of making the IDTK library easy to incorporate into a new project, we have developednot only the identification library, but a series of small stand-alone executables, which assemblelibrary components to perform very specific tasks in identification. These executables are madeto accept the most basic inputs and produce the most basic outputs with a simple command-lineinterface and help menu. Using a process fork (e.g. the “system()” command common to C++,Matlab and Python), this interface allows for almost immediate incorporation of the library’sfunctionality into a new project. The idea is to allow the new user/developer to learn the detailsof the software implementation by experience, as well as to enable him to select as many or asfew modules of the IDTK library as he wants. For example, we consider a user who wants touse only the interpolation algorithms in IDTK for a Matlab interface. For this application he willneed to call the interpolatefield program. This program takes 3 inputs, the FE model’s nodes listand connectivity files and a set of experimental points. It produces two output files, one withexperiment data points and the other with interpolated points at matching coordinates. In thecommand-line the program is executed as follows:

~/$ interpolatefield [OPTIONS] -n "nodes.txt" -c "con.txt"-e "exp.txt" -o "interpolated"

The nodes file is an ASCII file with space separated node coordinates and displacements.

# nodes_file.txt# x y u v0 0 1 11 0 2 20 1 1 3

The simplest connectivity file is also an ASCII file, which details each element and the index ofeach element’s nodes in order.

# connectivity_file.txt# "element type code" node1 node2 node3 ...233 0 1 2 -1244 0 1 3 4233 1 3 5 -1

Each line of the file must have the same number of columns. If the element has fewer nodes thancolumns the extra rows should be filled with −1s. This file format is very simple to generate fromthe input/output of most FE software packages. In addition, IDTK includes a series of inputand output filters for binary files, Matlab, Octave, Gmsh files, which make interaction of the newuser very easy. The simplest outputs are two ASCII data files with experiment data points andnumerical data points, with matching coordinates.

Page 70: Identification of material properties using finite elements and full ...

56 CHAPTER 4. NUMERICAL TOOLS

Figure

4.6:Im

plementation

(realization)of

newfinite

element

types.

Page 71: Identification of material properties using finite elements and full ...

4.4. C++ COMPONENTS OF THE IDTK LIBRARY 57

# numerical_file.txt# x y u v exx eyy exy0 0 0 1 1 11 0 0 2 2 20 1 0 1 2 3

# experimental_file_matching.txt# x y u v exx eyy exy0 0 0 1 1 11 0 0 2 2 20 1 0 1 2 3

Program options, worth mentioning include the input/output options, for instance, if an experi-mental data point is outside of the model, should the interpolation discard the point, approximatethe value or record a filler value such as “NaN” in Matlab. Options also include common fieldprocessing, such as changing the coordinate system of the numerical model, solving for or addingto the interpolated field mapping parameters or rigid body motion.

4.4.4 Interaction between independent processes

Interaction between independent processes (programs) is perhaps the most common challenge inmixing several software packages and programming languages. In some cases, the commercialsoftware may provide its own mechanisms for interacting with external software. The Matlabsoftware package, for instance, makes use of dynamically installed libraries known as “mex” files tointerface Matlab routines with external C or FORTRAN subroutines. This mechanism require thethat the external program be designed in strict adherence to a number of programming standards,which is not always possible particularly if the user does not have access to the source code ofthe external program. The integration of Matlab via “mex” files frequently fails if the user’s OSplatform and architecture is not explicitly supported by the specific version of Matlab, and inthe contrary may be subject to tedious compile-time and run-time errors. In other cases, thecommercial software may simply provide no dedicated mechanism for interacting with externaltools. The Abaqus software, for instance, has a plug-in API designed to extend its functionality,but to the author’s knowledge has no mechanism to interact with external routines other thanthrough custom development of plug-ins and python scripts.

The strategy in IDTK, is to avoid being tied to a application-specific method of interactionbetween independent processes. We also want to avoid having to change explicitly the source codeof an application to conform to an external standard. Hence, a simple interaction mechanism isproposed, which works with nearly all programming languages and environments. The mechanismis dubbed the “listen/dispatch” model, a simplification of the more general client/server modelutilized in proxy communication [99]. A C++ or Python implementation of the listen/dispatchmodel should derive from the ListenDispatch classes in IDTK. In the client/server model the pro-gram that is receiving information is named the client and the program that is sending informationis named the server. In a typical communication, it is possible for the two programs to act as bothclients and servers. The names are reversed depending on who is sending and receiving a messageat a given time.

In the listen/dispatch model, the server application waits for an information request by theclient application. The server is “listening” for a request. Programmatically, this is accomplishedby an infinite loop, where at each iteration the server searches a pre-defined directory for a messagefile, also referred to as a trigger file (e.g. “trigger in.txt”). If the file does not exist, the serverassumes a request has not been made yet, and repeats the search. To save CPU resources theserver program is typically stopped for a split second using a “sleep()” function. In C++ the boostlibrary contains a simplified mechanism for this operation:

boost::thread::sleep(time_period);

Similar functions exist in most modern programming languages, including Matlab and Python.Once the client program makes a request by writing the trigger file, the server program reads any

Page 72: Identification of material properties using finite elements and full ...

58 CHAPTER 4. NUMERICAL TOOLS

messages in the trigger file and performs the instructed operation. It is important to note that atrigger file may contain allot information, including paths to data files (e.g. experimental data)and instructions on what operations to perform. When the server is done processing, it dispatchesa message via another trigger file (e.g. “trigger out.txt”) to any external applications who may belistening. In many cases after the server dispatches a result, the roles of the two programs revert.The client becomes a server who is waiting for results of the external program to decide what todo next.

The procedure is very simple and very flexible. It can be implemented in practically all program-ming languages with very little effort. It enables the two applications to be completely independentof the implementation and internal operations of the other. The only thing that is required is forboth applications to understand what messages each process understands and where to listen fortrigger files and where to dispatch its own messages. There is absolutely no limit in the number ofprocesses that may listen for a given message, nor any limitation to where the two processes reside.This can be a major asset in the implementation of a simple parallel computing environment for nu-merically expensive operations. In FEMU, for instance, a number of separate computers, connectedto a network, may each run a server program for solving FE models. Another computer wouldhost the client software to request FE solutions from the other computers. The only requirementwould be for each client and server computer to have access to the same network folder.

4.5 Python components of the IDTK library

The Python components of IDTK serve mainly as an interaction layer for Abaqus. The componentsare contained in the library file “abaqus utils.py”, which define three major classes: AbaqusResults,ListenDispatch and FEMModel. The first class simplifies the exportation of results from an Abaqusoutput database file (e.g. “Job-1.odb”). In the following example, we use this class to write a filewith connectivity information is ASCII format and a file with nodes and DOFs in binary format:

the_reader = AbaqusResults(odb_file=’Job-1.odb’, step_name= ’Step-1’)the_reader.writeCon(con_file=’con.txt’, io = ’txt’)the_reader.writeDof(node_file=’dofs.bin’, io = ’bin’)the_reader.close()

The ListenDispatch class, as the name implies, is an implementation of the listen/dispatchmodel in python. This class is generally utilized to hook an Abaqus replay file to the optimizationroutine. This is generally done by creating a simple script (e.g. “AbaqusListenDispatch.py”),

# AbaqusListenDispatch.pythe_listener = ListenDispatch(the_model_script = ’plate_with_hole.py’)the_listener.mainLoop()

and running it inside Abaqus CAE. The ListenDispatch class will listen for new variables passed to itby the optimization program, and tell Abaqus CAE to launch the replay file (e.g. “plate with hole.py”)with new variables. Note that, the Abaqus CAE GUI generates such a replay file automaticallyduring normal model creation. In order to update the model according to the new variables itsuffices to add three lines of code at the beginning of the replay file:

# plate_with_hole.pyfrom abaqus_utils import *the_reader = VariablesReader()the_vars = the_reader.readVariables()

# the variablesE1 = float(the_vars[0])E2 = float(the_vars[1])G12 = float(the_vars[2])v12 = float(the_vars[3])

Page 73: Identification of material properties using finite elements and full ...

4.6. MATLAB COMPONENTS OF THE IDTK LIBRARY 59

The user should substitute the values in the replay file corresponding to the model parameters, e.g.

mdb.models[’Model’].materials[’lamina’].elastic.setValues(table=((E1, E2, v12, G12, 0.0, 0.0), ))

Finally the user needs to add one line of code at the end of the file:

mdb.jobs[’Job-1’].waitForCompletion()

This line makes sure that the FE solution is available before releasing execution control back tothe “AbaqusListenDispatch.py” script. Figure 4.7 contains further details on how these two classesinteract to allow a new FE model to be incorporated into the identification routine. Generally,the parameterization and incorporation a new FE model into the identification routine can beaccomplished in only a few minutes.

The class FEMModel, is a wrapper for custom FE models, it assists the user in defining customFE models programmatically. This class is generally only needed when CAE does not have afunction required in the parameterization of the model. For instance, in the present version ofAbaqus CAE, version 6.7, if a user wants to change the material properties of a single FE elementhe must edit the input file by hand. For most applications the user may use directly Abaqus CAEand follow the procedure described previously.

4.6 Matlab components of the IDTK library

The Matlab software package mainly serves as a user interface to the C++ and Python componentsof the IDTK library. The library components written in m code contain a number of functions toassist in the user in defining the iteration sequence of FE solutions and functions for visualizationof results. These functions for identification are available in the “scripts/matlab/identification”folder of the IDTK library. The most important function in this group is the “calc fe solution()”function,

[num, exp] = calc_fe_solution(x)

It implements the listen/dispatch model in Matlab in order to communicate with the identifierprogram written in C++. The function dispatches FE model variables, x, to an identifier, which inturn coordinates with Abaqus CAE to obtain the appropriate FE solution. The identifier programinterpolates FE results at experimental data point and dispatches to the Matlab function two fileswith numerical and experimental displacements at the same points. Using this function, it becomesvery simple for a Matlab script to calculate residues using any formulation and format desired.

The most common iteration is the minimization of a residue cost function. For this purposetwo additional functions are implemented: “cost function()” and “minimize residue()”. The first,accepts a set of parameters as input, calls the “calc fe solution()” for a new FE solution whenappropriate and computes a residue values. In the process of computing a residue, the function isresponsible for handling a number of optional intermediate operations such as scaling parameters,solving for rigid-body motion parameters and sensitivity directions as well as keeping a record ofeach iteration of model parameters and cost-function values. The function “minimize residue()”minimizes the cost function using a number of custom and standard optimization functions in theMatlab optimization and curve fitting toolbox.

In addition to functions for minimizing a cost function, a number of scripts are available for thevisualization of fields and solving the orientation problem as described in Chapter 5. These scriptsare available in “scripts/matlab/wahba” and “scripts/matlab/fem plots” folders of the IDTK li-brary, respectively.

Page 74: Identification of material properties using finite elements and full ...

60 CHAPTER 4. NUMERICAL TOOLS

Wa

it 10

0 m

s

Ru

n R

ep

lay S

cript

Sta

rt

Sto

p

De

lete

"ne

w_

va

rs.tm

p"

Ab

aq

us

Sta

nd

ard

Up

da

te M

od

el

ne

w_

va

rs.tm

p

va

riab

les

.txt

do

ne

.tmp

co

nn

ec

tivity

.txt

no

de

s.tx

t

Job

-1.o

db

mo

de

l.ca

e

Re

ad

OD

B

Re

ad

Va

riab

les

Re

ad

"ne

w_

va

rs.tm

p"

Write

"do

ne

.tmp

"

Write

Re

sults

Ru

n P

rep

roce

ssor

Ru

n S

olve

r

Ab

aq

us-P

reJo

b-1

.inp

Wa

it for jo

b

co

mp

letio

n

File

Exists?

Qu

it?

Tim

eo

ut?

Ab

aq

us R

ep

lay F

ile

Ab

aq

us

Lis

ten

Dis

pa

tch

.py

Exte

rna

l Pro

cess

Ab

aq

us C

AE

Sta

rt Ab

aq

us C

AE

loa

d s

crip

t

run

run

Ab

aq

us C

AE

sto

p

ye

sn

o

ye

s

no

no

ye

sE

nd

run

mo

dify

rea

d

de

lete

liste

n fo

r

rea

d

liste

n fo

r

cre

ate

first

cre

ate

se

co

nd

rea

d d

ata

ba

se

Figure

4.7:O

verviewof

theL

istenDispach

model

forA

baqus.

Page 75: Identification of material properties using finite elements and full ...

Chapter 5

Matching experimental andnumerical data points

5.1 Introduction

A fundamental step in identification with FEMU is to compute the difference between measureddisplacement/strain fields and results coming from a FE model. Since measured fields are generallydiscrete, this difference is often expressed as a sum of square differences

J(~λ) =12

Np∑i=1

(um(i) − un(i) )2 + (vm(i) − vn(i) )2 + (wm(i) − wn(i) )2. (5.1)

Typically, the identification problem reduces to determining the model parameters ~λ∗ which min-imizes J(~λ). A fundamental implication is that the pairs ~um(i) (measured displacements) and ~un(i)

(FE model displacements) are obtained at the same physical point ~xe(i) . Since typical mechanicalsetups used for identification have very strong and heterogeneous strain gradients, a discrepancybetween measured points ~xm(i) and their corresponding positions in the FE model ~xn(i) may producean unpredictable offset of the parameter solution. Thus, one of the first challenges in comparingFE results with experimental data is to determine what points in the numerical model correspondto each measurement point. In the absence of a systematic coordinate matching technique, thecost function value loses its meaning.

Numerical models are generally constructed using a convenient coordinate system centeredaround a characteristic feature, while the coordinate system of the experimental data depends onthe experiment setup and calibration. As an example, consider the image correlation setup inFigure 5.1. The coordinate system of the double lap joint’s FE model is selected to align with thebolt’s axes and the middle of the central plate. Throughout this text, we will refer to this system asthe numerical coordinate system (NCS). A point on this system is written as ~xn(i) . Figure 5.1(b) is adigital image acquired with a CCD camera. Points on this image are said to be in world coordinatesystem (WCS)1. The image center depends on the exact alignment of the camera with the specimensurface, and in general it is not guaranteed to align with the numerical model center. A point on theimage is called a measured point, ~xm(i) . The same point on the specimen obtained by independentmeasurements is written as ~xe(i) . In addition to misalignment of coordinate systems, it is possiblethat measured data points lie outside of an idealized numerical model due to measurement noise,specimen imperfections and errors in scaling. These errors, present mostly in 3D measurementsystems, may require projection or data elimination techniques.

This chapter discusses how to find corresponding pairs of measured and numerical data points.The process is divided into two parts. First we find the orientation of the world coordinate system

1The world coordinate system may be referred to as the camera coordinate system, which is more intuitive for 2Dmeasurement systems. For systems, involving multiple cameras the world coordinate system is more appropriate.

61

Page 76: Identification of material properties using finite elements and full ...

62 CHAPTER 5. MATCHING EXPERIMENTAL AND NUMERICAL DATA POINTS

(a) (b)

Figure 5.1: (a) Image correlation setup for a double lap joint. (b) An image of the specimen’ssurface (provided by EADS).

with respects to the numerical coordinate system2 (see section 5.3). This is accomplished usingreference points and features visible in the image plane (see section 5.2). Then, to account formeasurement noise and FE discretization, we project data points onto the FE mesh (see section5.3) . The section is concluded with a sample application.

Summary of notation

~a A vector.~a(i) A vector at point i.ai The ith component of vector ~a.a A column vector.~x A coordinate pair or triplet in 2D or 3D, respectively, e.g. ~x =

x y z

T .x A unit vector (i.e. x2 + y2 + z2 = 1).ej A standard unit vector, where all components ei = 0 for i 6= j and ej = 1.~u A column vector of pairs or triplets, e.g. ~u =

u(1) v(1) w(1) ... u(n) v(n) w(n)

T .[A] A matrix.[Aij ] A matrix, with components Aij , where i is a row index and j a column index.Aij A column vector with components Aij arranged in a specified order.~xm A measurement point expressed in the experimental (world) coordinate system.~xn A point in a FE model expressed in the numerical coordinate system.~xmn A point in a FE model expressed in the experimental (world) coordinate system.~u A displacement pair, (u, v), or triplet, (u, v, w), in 2D or 3D, respectively.~un Numerical displacements expressed in the numerical coordinate system.~umn Numerical displacements expressed in the experimental (world) coordinate system.~um Measured displacements expressed in the experimental (world) coordinate system.~λ A Vector of model parameters.~θ Vector of Euler angles in 2D, ~θ = θ, 3D, ~θ =

θ φ ψ

T .θi ith component of the Vector of Euler angles. e.g. θ1 = θ, θ2 = φ, θ3 = ψ.[R] Coordinate change rotation matrix.[R(~θ)

]Coordinate change rotation matrix with Euler angles, ~θ.

~t Coordinate change translation vector, ~t =tx ty tz

.

2We assume that there is no error in the scaling of the experimental data because determining the scale is typicallya trivial problem with very small uncertainty.

Page 77: Identification of material properties using finite elements and full ...

5.2. ALIGNING THE WORLD AND NUMERICAL COORDINATE SYSTEMS 63

(a) (b) (c)

Figure 5.2: The rotation sequence for matrix [R] (equation (5.2)). (a) First, a rotation of θ withrespects to zm. (b) Second, a rotation of φ with respects to ξ. (c) Finally, a rotation of ψ withrespects to zn.

5.2 Aligning the world and numerical coordinate systems

In the absence of measurement error, a measured point should differ from its corresponding pointon the numerical model only by an orientation and translation in space. Hence, a point in themodel coordinate system ~xn is transformed into the world coordinate system ~xmn by a rotation[R] and a translation ~t,

~xmn = [R] ~xn + ~t, (5.2)

[R] =

R11 R12 R13

R21 R22 R23

R31 R32 R33

and ~t =

txtytz

,

The components Rij make an orthonormal set, satisfying the condition

[R]T [R] = [δ] , (5.3)

where [δ] is identity matrix. To satisfy this condition the coefficients are conveniently parameterizedin this text using the Euler angles θ, φ, ψ of a 313 rotation (see Figure 5.2),

[R] =

cosψ sinψ 0− sinψ cosψ 0

0 0 1

1 0 00 cosφ sinφ0 − sinφ cosφ

cos θ sin θ 0− sin θ cos θ 0

0 0 1

,R11 = cosψ cos θ − cosφ sin θ sinψ, (5.4)R12 = cosψ sin θ + cosφ cos θ sinψ,R13 = sinψ sinφ,R21 = − sinψ cos θ − cosφ sin θ cosψ,R22 = − sinψ sin θ + cosφ cos θ cosψ,R23 = cosψ sinφ,R31 = sinφ sin θ,R32 = − sinφ cos θ,R33 = cosφ. (5.5)

Thus, in general, a numerical point can be mapped onto the measurement coordinate system bydetermining 3 Euler angles and 3 translation components. These values are referred to hereafteras orientation or camera parameters, ~λc. These parameters can be determined by recognizing thatsome reference points, observed in the image, have known numerical coordinates. For instance,notice that in the previous example there are visible edges and speckle pattern on the image. These

Page 78: Identification of material properties using finite elements and full ...

64 CHAPTER 5. MATCHING EXPERIMENTAL AND NUMERICAL DATA POINTS

features have known (estimated) numerical coordinates. Hence, we can determine the orientationparameters by solving an inverse problem. The known and unknown quantities of the inverseproblem are conveniently presented in the following tables:

forward problem inverse problemknown unknown

orientationθ, φ, ψ, tx, ty, tz numerical

measured xn(i) yn(i) z

n(i)

xm(i) ym(i) z

m(i)

known unknownnumericalxn(i) y

n(i) z

n(i) orientation

measured θ, φ, ψ, tx, ty, tzxm(i) y

m(i) z

m(i)

Notice, however, that a numerical model is an idealization of the real specimen, hence their geo-metrical features are not strictly the same. In addition, if we take into account measurement errorwe are generally obliged to solve a least squares fit of the orientation parameters. Defining the costfunction, J(~λc), where

J(~λc) =12

N∑i=1

[R] ~xn(i) + ~t− ~xm(i)

T [R] ~xn(i) + ~t− ~xm(i)

. (5.6)

N is the number of reference points. The objective is to determine the orientation parameters, ~λ∗cfor the minimum cost function value. The problem is simplified by taking the derivatives of J withrespects to the translation vector components, tj ,

∂J(~λc)∂tj

= ejT

N∑i=1

[R] ~xn(i) + ~t− ~xm(i)

.

Optimality requires these derivatives to vanish, hence the translation vector is obtained in termsof the other parameters (i.e. Euler angles),

~t∗ =1N

N∑i=1

~xm(i) − [R]1N

N∑i=1

~xn(i) (5.7)

Substituting this result into equation (5.6) yields a problem formulation equivalent to Wahba’sproblem in attitude determination [100],

J(~λc) =12

N∑i=1

[R] ~xnc(i) − ~xmc(i)

T [R] ~xnc(i) − ~xmc(i)

, (5.8)

where ~xnc(i) and ~xmc(i) are centered coordinates,

~xnc(i) = ~xn(i) − 1N

N∑j=1

~xn(j) ,

and similarly with ~xmc(i) .A solution to Wahba’s problem is generally obtained by an iterative process. A unique solution

is guaranteed as long as the Euler angles are bounded and the selected reference points are notcoplanar or collinear for 3D and 2D problems, respectively. Furthermore, the problem is locallyconvex, with a single extremum near the solution, the other extremum is a maximum offset by πfrom the optimum Euler angles, which means the optimization procedure should be fairly simple.A generalized solution to this problem using quaternions has been developed to accommodate ageneral rotation matrix [101, 102]. In section 5.6.2, we present a solution to this problem using aNelder-Mead optimizer.

Page 79: Identification of material properties using finite elements and full ...

5.3. PROJECTION OF DATA POINTS ONTO A FE MESH 65

5.3 Projection of data points onto a FE mesh

Most full field techniques measure displacements and strains only at the surface of a specimen.After aligning the numerical model to the measurement coordinate system, we must decide howto treat points that lie outside of the specimen’s surface. This question is crucial in 3D sincemeasured data points will rarely lie on the surface of a 2D or 3D FE mesh. This is generally due toexperimental noise (random and systematic) and because a FE mesh is a discretization of a modelthat does not account for all of the minor features in a real specimen (e.g. surface defects). In somecases, the user may simply exclude points outside of the mesh from the comparison. However, amore natural approach is to project measured points onto the surface of a FE mesh. The projectionof a point onto an element’s face with nodes n,j,k is

~b2 = nk − (nk · nj)nj,

b1 = nj, b2 =~b2

||~b2||,

~xpm(i) = ~n+ ((~xm(i) − ~n) · b1)b1 + ((~xm(i) − ~n) · b2)b2.

The vectors b1 and b2 are basis vectors, illustrated in Figure 5.3.The projection point ~xpm(i) isdefined as closest point on the FE model surface to the measured point ~xm(i) (see Figure 5.3), withthe constraint that projection must lie inside the element. Hence, projecting a set of experimentalpoints requires projecting each point onto the surface of a number of feasible finite elements,checking if the projections lie inside the candidate element (i.e. using the cross-product test), andselecting the closest of these projections to the original point. The point’s projection error, δ(i) , is

δ(i) = ||~xm(i) − ~xpm(i) ||. (5.9)

Figure 5.3: Projection error δ(i) of measured data points ~xm(i) . The total projection error is a squaresum of the projection error for each point (equation (5.9)).

In order to improve the speed of the procedure, the number of finite elements in which to projecteach experimental point should be the smallest possible. The problem is analogous to using virtualmeshes and bounding boxes presented in section 6.3. Since in 3D we are likely to have points whichare not strictly inside any element, we suggest a modification of the bounding box formulation,where a bounding box is expanded by an expected or allowable measurement error, κ (see Figure5.4). A bounding box is defined by Pmin and Pmax. The modified bounding box is defined byP ′min and P ′max, where

P ′max = Pmin + (1 + κ)(Pmax − Pmin

),

P ′min = Pmax + (1 + κ)(Pmin − Pmax

).

Page 80: Identification of material properties using finite elements and full ...

66 CHAPTER 5. MATCHING EXPERIMENTAL AND NUMERICAL DATA POINTS

Figure 5.4: Modification of a finite element’s bounding box for surface projection.

With this modification the procedures presented in section 6.3 should be very efficient in preselect-ing a number of feasible finite element for projection of each experimental point.

For 2D experimental data to be compared to a 3D model, the opposite operation is required.The 2D data has no depth information, which makes it difficult to determine which FE elementcontains a measured point. The strategy is to project the FE model surface onto the visualizationplane and assign depth information to the measured data based on the zm coordinate of the FEsurface. Figure 5.5 illustrates the process. First, we must check that the image plane does not cutthe 3D model. This is done by finding the coordinate of the FE node, n(k), in the model such that

zm(n(k)) = max(zm(n(i) )).

If the image plane does not cut through the model, then zm(n(k)) < 0 (see Figure 5.5 ). Otherwiseit suffices to translate all nodes in the model by z′m(n(i) ) = zm(n(i) )− z, with z > max(zm(n(i) )).The second step is to select the FE elements that are possibly visible by the camera in its presentorientation. These elements must be part of an external face and their face normals must beoriented towards the image plane. This is determined by verifying that the face normals have apositive zm component. The third step is to project these faces onto the image plane, done simplyby suppressing the zm component of the nodes of each face. This creates a 2D mesh, which is used todetermine the element containing each measured point. The measurement point is then projectedonto the visible external face of its owner element with the procedures previously described. It ispossible that this 2D mesh has overlapping elements, coming from hidden faces, and a point hasseveral possible owner elements. The projection of the element with max(zm) should be selected.

5.4 Linear approximation to the orientation problem

Whichever iterative strategy is selected to solve the orientation problem presented in section 5.2,an initial estimate of Euler angles is required to reduce the number of iterations in the solutionand to assure the solution’s robustness. In this section we propose a linearization of the problemby relaxing the orthogonality restriction of the Rij coefficients (equation (5.3)). This approachhas been explored in literature [103], and has been shown to produce very reasonable results. Theprocedure is summarized hereafter.

5.4.1 Small angle solution

First, we consider a common situation, where the all Euler angles are small (i.e. only a few degrees).Expanding the ith term in equation (5.8) yields,

J(i) =12

[R] ~xnc(i) − ~xmc(i)

T [R] ~xnc(i) − ~xmc(i)

,

= −~xmc(i)

T [R] ~xnc(i) +12||~xnc(i) ||2 +

12||~xmc(i) ||2.

Page 81: Identification of material properties using finite elements and full ...

5.4. LINEAR APPROXIMATION TO THE ORIENTATION PROBLEM 67

Figure 5.5: Projection of a 3D mesh onto a 2D image plane. When comparing a 3D model with2D measurements, it is necessary to project visible faces onto the image plane. This 2D projectionis used to determine the owner element of each data point, and the zm component of the ownerelement projection is assigned to the measured point. A visible element must have normals facingthe image plane (e.g. n1 not n2 or n3 ). When there are several possible owner elements, the oneclosest to the image plane should be selected.

Taking its derivative with respects to an Euler angle θj yields,

∂J

∂θj=

N∑i=1

∂Ji∂θj

= −N∑i=1

~xmc(i)

T [ ∂R∂θj

]~xnc(i) . (5.10)

By replacing the cosines and sines of the Euler angles with the small angle approximation (i.e.cos (∆θ) = 1 and sin (∆θ) = ∆θ), it is possible to write the system of equations (5.10) as a linearsystem

∂J(i) /∂θ∂J(i) /∂φ∂J(i)/∂ψ

=

m11 m12 m13

m21 m22 m23

m31 m32 m33

(i)︸ ︷︷ ︸

[M(i) ]

∆θ∆φ∆ψ

︸ ︷︷ ︸∆~θ

−YxYyYz

(i)︸ ︷︷ ︸

Y(i)

, where

[M(i) ] =

ymc(i) ync(i) + xmc(i) x

nc(i) −xnc(i) z

mc(i) ymc(i) y

nc(i) + xmc(i) x

nc(i)

−xnc(i) zmc(i) zmc(i) z

nc(i) + ymc(i) y

nc(i) −xmc(i) z

nc(i)

ymc(i) ync(i) + xmc(i) x

nc(i) −xmc(i) z

nc(i) ymc(i) y

nc(i) + xmc(i) x

nc(i)

,

Y(i) =

xmc(i) y

nc(i) − xnc(i) y

mc(i)

ymc(i) znc(i) − ync(i) z

mc(i)

xmc(i) ync(i) − xnc(i) y

mc(i)

.

The necessary condition for optimality,∂J

∂θj

=

N∑i=1

∂J(i)

∂θj

= 0 ,

yields a global system of linear equations,[N∑i=1

[M(i) ]

]∆~θ =

N∑i=1

Y(i) . (5.11)

Page 82: Identification of material properties using finite elements and full ...

68 CHAPTER 5. MATCHING EXPERIMENTAL AND NUMERICAL DATA POINTS

The solution of this 3× 3 system yields the Euler angle solutions for small rotations. Notice thatthe form of the derivatives ∂J

∂~θ= [M ] ~θ − ~Y guarantees that the cost function is convex for small

angles. A point satisfying the necessary conditions is hence a unique global minimum. For a generalsolution it suffices to first calculate a reasonable initial guess then adjust the initial guess using thesmall angle approximation.

5.4.2 Direct approximation to the orientation problem

In order to obtain the initial guess we relax the orthogonality conditions in equation (5.3) andgroup equation (5.2) is into a linear system of equations. Replacing a rotation matrix [R] with ageneral matrix [C] yields,xmc(1) xmc(2) xmc(N)

ymc(1) ymc(2) ... ymc(N)

zmc(1) zmc(2) zmc(N)

︸ ︷︷ ︸

[Xm]

= [C]

xnc(1) xnc(2) xnc(N)

ync(1) ync(2) ... ync(N)

znc(1) znc(2) znc(N)

︸ ︷︷ ︸

[Xn]

. (5.12)

Unlike the components of [R], Rij , the components of [C], cij , are not necessarily an orthonormalset (more will be said about this shortly). Typically, we select more than 3 reference points, thusthe equation system is over-determined. Projecting the system onto the solution space results innew linear system corresponding to the least squares fit,

[Xm] [Xn]T = [C] [Xn] [Xn]T .

The solution of [C] is

[C] = [Xm] [Xn]T(

[Xn] [Xn]T)−1

.

If our original hypothesis is correct, that reference points can be mapped from the numericalcoordinates to the world coordinate system by a rotation and a translation with a small error[∆Xm] ,

[Xm] + [∆Xm] = [R] [Xn] .

The Matrix [C] becomes

[C] = ([R] [Xn]− [∆Xm]) [Xn]T(

[Xn] [Xn]T)−1

,

[C] = [R] ([Xn] [Xn]T )(

[Xn] [Xn]T)−1

− ([∆Xm] [Xn]T )(

[Xn] [Xn]T)−1

,

⇒ [C] = [R]︸︷︷︸solution

− [∆Xm] [Xn]T(

[Xn] [Xn]T)−1

︸ ︷︷ ︸error

.

The previous expression shows that the error (i.e. deviation from a rotation matrix, cij−Rij

cij) of

each cij component is in the order of magnitude of the measurement error ||∆Xm||. Hence, asidefrom the fact that cij is not an orthonormal set, the matrix [C] is a good approximation of therotation matrix [R].

Figure 5.6 illustrates the three column vectors ~ci = ci1 ci2 ci3T and how they relate to thenumerical coordinate system. When [C] is not an orthonormal set, a normal basis is obtained byapplying Gram-Schmidt [104] taking one of the cij vectors as a reference. The choice of the referencevector is strictly arbitrary. The other base vectors are obtained by removing their projectioncomponents to the other vectors. For instances, if ~c1 was selected as a reference,

R01 =

~c1||~c1|| ,

Page 83: Identification of material properties using finite elements and full ...

5.5. NUMERICAL AND EXPERIMENTAL VALIDATION 69

(a) (b)

Figure 5.6: A linear solution to the orientation problem produces 3 non-orthogonal base vectors cj ,the column vectors of matrix [C]. (a)θi are the angles between each vector and their correspondingaxes xn, yn, zn. (b) An orthonormal basis is calculated via Gram-Schmidt. The base vectorclosest to its axis, c3, is selected as a reference vector.

vectors, R02 and R0

3, would be determined as follows:

~R02 = ~c2 − (~c2 · R0

1)R01,

R02 =

~R02

||~R02||,

R03 = R0

1 × R02. (5.13)

The vectors R01, R

02 and R0

3 are column vectors of the rotation matrix[R0]. The Euler angles

~θ0 = θ0, φ0, ψ0T are calculated from equations (5.4) to (5.5). The system is non linear, but isrelatively easy to solve.

case 1:

If R033 6= 1, the angles are calculated using R0

23, R032, R

033,

φ0 = ± cos−1(R033), θ0 = ± cos−1

(R0

32

sin(|φ0|)), ψ0 = ± cos−1

(R0

23

sin(|φ0|)). (5.14)

case 2:

If R033 = 1, the coordinate change is a single rotation arround the zn axis. Hence,

φ0 = 0, ψ0 = 0, θ0 = ± cos−1(R0

11

). (5.15)

The sign of the Euler angles (θ0, φ0, ψ0) is verified by substituting the results onto the remainingRij coefficients.

5.5 Numerical and Experimental validation

This section presents sample applications of algorithms developed in previous sections and how theyfit into the context of identification. An identification process often begins by matching measuredpoints to numerical points. This is achieved by computing the Euler angles (θ, φ, ψ) and offsetvector ~t, which map a series of reference points from the numerical coordinates to the experimentalcoordinates, as in equation (5.2). The procedure for obtaining a linear solution of the Euler anglesis summarized hereafter:

Page 84: Identification of material properties using finite elements and full ...

70 CHAPTER 5. MATCHING EXPERIMENTAL AND NUMERICAL DATA POINTS

1. From equations (5.12) to (5.13), obtain an initial guess of the rotation matrix[R0].

2. Calculate the initial guess of Euler Angles from equations (5.14) and (5.15).

3. Transform numerical coordinates to the new coordinate system,

~xn1c(i) =

[R0]~xnc(i) .

4. If the initial guess is not sufficiently accurate, solve the linear system in equation (5.11),replacing ~xn1c

(i) for ~xnc(i) , to obtain the small angle change from the initial guess. The optimumEuler Angles are,

~θ∗ = ~θ0 + ∆~θ.

5. Calculate offset ~t from equation (5.11).

The process may vary slightly depending on whether the measured surface and numerical modelare 2D or 3D and whether the experimental method produces 2D or 3D data. Figure 5.7 showsthe possible combinations of measurement and numerical models.

(a) (b)

(c) (d)

Figure 5.7: Measurements and numerical models: (a) 3D experimental data for a 3D model, (b)3D measurements for a 2D model, (c) 2D measurements for a 3D model and (d) 2D experimentaldata with a 2D model.

5.6 Matching simulated reference points

This application employs a series of numerically generated reference points to test the accuracyand sensitivity of the coordinate matching algorithms. We begin by generating a set of reference

Page 85: Identification of material properties using finite elements and full ...

5.6. MATCHING SIMULATED REFERENCE POINTS 71

points in 2D and 3D, see Figure 5.8, these points are taken as the numerical reference points ~xn(i) .The reference points are then rotated and translated in space by a known amount, and this newset is taken as the physical reference points,

~xme(i) = [R] ~xn(i) + ~t. (5.16)

Simulated measurement points ~xm(i) are then obtained by adding both a random and systematicnoise to the physical points,

~xm(i) = ~xme(i) + ε(~x(i) )︸ ︷︷ ︸random

noise

+ δ~x(i)︸︷︷︸systematic

error

. (5.17)

Figure 5.8: Generating simulated measurement points with a radial distortion and random noise.

ε(~x(i) ) is random value, such that ||ε(~x(i) )|| ≤ ε0 and δ~x(i) is a systematic error. The first ex-periment considers a regular grid, as illustrated in Figure 5.9(a). The objective is to estimatethe accuracy of the initial guess of ~θ0 with respects to the number, distribution and noise level ofthe measured points. The tests confirm that if the noise level is zero, the initial guess of Eulerangles is an exact solution to Wahba’s problem. Figure ref illustrates the procedure of the nu-merical tests. An initial grid was created, spanning a regular paving of space for a certain range(range = max(~xn(i) ) − min(~xn(i) )). The numerical coordinates are transformed following equation(5.16), with a Euler angle θj ranging from 0 to 2π at regular increments, dθj , and a random ~t.

(a) (b)

Figure 5.9: Simulated reference coordinates ~xn(i) and ~xm(i) in 2D. The measured coordinates areobtained by a transformation ~xme(i) = [R] ~xn(i) + ~t, for a given θimposed and a random ~t, with noadded noise. (a) Regular reference grid. (b) Irregular reference grid.

For each angle and offset combination, the initial guess θ0 matched exactly with the imposed value,with an error,

δθ0 = θimposed − θ0,

Page 86: Identification of material properties using finite elements and full ...

72 CHAPTER 5. MATCHING EXPERIMENTAL AND NUMERICAL DATA POINTS

(a) (b)

Figure 5.10: Error in the initial guess, δθ0 as a function of random noise levels, ε0 .

in the order of 1 × 10−14. The procedure was repeated for hundreds of angle combinations andoffsets. Results appear to be independent of the number of reference points in the numerical grid (solong as there are 3 or more points in 2D). The results are also fairly independent of the regularityof the reference grid. This is demonstrated by repeating the previous tests for grids where thenumerical points are randomly perturbed, see figure 5.9(b). The results show no loss of accuracy.

5.6.1 Influence of random noise

The next test is more representative of a real experimental, it considers the influence of noise levelonto the accuracy of the initial guess θ0. At first, we consider only random noise. A numerical gridwas created as illustrated in Figure 5.8. The measured grid was generated from equations (5.16)and (5.17) with several noise levels ε0. For each noise level, we created four grids at each Eulerangle as seen in Figure 5.9 with a random ~t. Hence we analyze 360× 4 simulated measured gridsfor each noise level increment. Figure 5.10(a) is the initial guess error for each grid and Figure5.10(b) shows the curves of the mean, standard deviation, minimum and maximum error. Noticethat the maximum and standard deviation of initial guess error, varies linearly with the noise level.The slope suggests that we can expect an a accuracy of at least 2 degrees for a random noise levelof 1/10 the length of reference grid. Notice however, that the length of reference grid is typicallyin the order of 1000 pixels, so we can expect an accuracy of 0.5 pixels for the measured coordinatesof a reference point.

5.6.2 Solving Wahba’s problem with partial information

In optical measurements, it is not uncommon to have only partial information to solve Wahba’sproblem. For instances, in Figures 5.7(b) and 5.7(c) show a 2D model with 3D measurements in3D space and a 2D model with 2D measurements in 3D space. In general these problems requirean iterative solution. This is a consequence of missing information in one dimension. In thissection, the solution to Euler angles is obtained via a Nealder-Mead optimizer. The cost functionis limited to the square difference of the x,y coordinates in equation (5.8). Figure 5.13 illustratesan example of how simulated grids are generated and an example of a solution. In general, whenthere is only partial information, the iterative process is just as accurate as the direct solution forfull information. The major difference is the computation time, which is significantly greater inthe iterative case (a few seconds instead of several hundred solutions per second). Figure 5.13(e)shows the cost funtion decrease as a function of the number of evaluations. Convergence occurs inthe order of 20 to 50 cost function evaluations.

The speed and reliability of convergence is generally improved by a good initial guess. Theinitial guess strategy, previously presented, is not as reliable as in the previous examples. However,we can use the partial information to obtain a good estimate of 1 Euler angles, φ0. If we write thematrices [Xn] [Xn]T and [Xm] [Xn]T in equation (5.12), while replacing zmi and zni with zeros, weobtain matrices in the for of

Page 87: Identification of material properties using finite elements and full ...

5.7. MATCHING IMAGES FROM A CCD CAMERA 73

[Xn] [Xn]T =

a11 a12 0a21 a22 00 0 0

, [Xm] [Xn]T =

b11 b12 0b21 b22 0b31 b32 0

.Providing a 4× 4 system,

[c11 c12

c21 c22

]=[b11 b12

b21 b22

] [a11 a12

a21 a22

]−1

.

These components of the C matrix are independent of either zmi or zni , so a solution to the previouslinear system will approximate the actual components the [R] matrix. We can obtain an additionalrotation matrix component using a cross product

R33 = c11c22 − c12c21.

This component is sufficient to determine the Euler angle φ0.

5.7 Matching images from a CCD camera

Figure 5.11(a) shows images captured with a CCD camera of a plate with a hole with markedreference points. The plate is subsequently translated and rotated at its support by a knownamount, Figure 5.11(b). The objective is to find the Euler angles and translation vector, whichrelate the first image to the second image (i.e. the first image is taken as the numerical coordinates,and the second image the measured coordinates). We begin the analysis by determining the scaleof the image. Figure 5.11 shows an image of the plate taken side by side with a marked ruler. Thesize of a pixel in millimeters is obtained by measuring the pixel coordinates at the ruler tick-marks.If a ruler were not available a similar calculation could be performed with a reference geometry(e.g. specimen width).

mark pixels millimeters1 99 1202 855 170

scale = 170−120 mm855−99 pixels = 0.0066138 mm

pixels

After scaling the image, we select a series of reference points on the specimen. Their coordinatesare recorded in pixels, then scaled into millimeters. Figure 5.11, illustrates the selected referencepoints and the pixel coordinates for a 5mm displacement in the x direction, Figure 5.11(b), anda 2 degrees rotation θ, Figure 5.11(c), from the reference image, Figure 5.11(a). The Euler angleθ and offset vector ~t was calculated for both cases assuming in-plane motion. The following tablesummarizes the results:

Image 1 Image 2reference calculated error reference calculated error

θ (degrees) 0 0.018 0.018 θ (degrees) 2 1.98 0.02tx (mm) 5 5.04 0.04 tx (mm) N/A 5.768 N/Aty (mm) 0 0.037 0.037 ty (mm) N/A 1.374 mm N/A

Figure 5.12 shows the pixel coordinates of reference points in the three images, and how theymatch after applying the calulated rotations and translations. Notice the very good correspondanceof the refence points

Next, we impose an out-of-plane rotation to the specimen, and attempt to retrieve the Eulerangles using only 2D coordinates. The process is iterative, as described in the previous section.

Page 88: Identification of material properties using finite elements and full ...

74 CHAPTER 5. MATCHING EXPERIMENTAL AND NUMERICAL DATA POINTS

(a) scale

(b) reference image (c) displacement u = 5 mm (d) rotation θ = 2o

(e) (f) (g)

Figure 5.11: (a) Open hole plate with a scale. The pixel size is determined by recording the pixelcoordinates of the ruler tick marks. Images of an open-hole plate with in-plane displacements: (b)Reference image, (c) 5 mm displacement along the x direction, (d) 2 degrees rotation along the zn

direction. (e), (f) and (g) A series of out-of-plane rotations.

Page 89: Identification of material properties using finite elements and full ...

5.7. MATCHING IMAGES FROM A CCD CAMERA 75

(a) original coordinates (b) matching coordinates

(c) original coordinates (d) matching coordinates

Figure 5.12: In-plane displacements: (a) Pixel coordinates of reference points. (b) Adjusted pixelcoordinates ~xnmi = [R]T (~xmi − ~t). Out-of-plane displacements: (c) Pixel coordinates of referencepoints. (d) Adjusted pixel coordinates ~xnmi = [R]T (~xmi − ~t).

Unfortunately, the measurement apparatus did not measure out-of plane Euler angles. However,Figure 5.12 shows the pixel coordinates of reference points in the three images, and how theymatch after applying the calculated rotations and translations. Notice that just as in the previousexample, there is a very good correspondence of the reference points.

Page 90: Identification of material properties using finite elements and full ...

76 CHAPTER 5. MATCHING EXPERIMENTAL AND NUMERICAL DATA POINTS

(a) (b)

(c) (d)

(e)

Figure 5.13: Solving Wahba’s problem with partial information. (a) A simulated measured grid isgenerated from 2D grid in 3D space with Euler angles θ = 270o, φ = 45o, ψ = 15o. (b) The actualmeasurements are available in 2D as a projection of the 3D coordinates onto the x− y plane. (c)The Euler angles are solved by minimizing the cost function in equation (5.8) with a Nelder-Meadoptimizer. (d) The quality of the solution can be illustrated by rotating the numerical field in 3D.(e) Convergence speed of the iterative solution to Wahba’s problem using a Nelder-Mead optimizer.

Page 91: Identification of material properties using finite elements and full ...

Chapter 6

Interpolation using finite elementsshape functions

6.1 Introduction

The increasing use of finite elements has given rise to a series of applications requiring the com-parison of data fields with finite elements results. These applications include mesh-interaction[105, 106], geological topography [107], visualization [108, 109], contact analysis [110], calibrationof boundary conditions [111] and material identification [112, 113, 25, 114, 115, 116, 19, 117]. Re-views of material identification techniques can be found in [33, 9, 10]. In general, a finite elementsolver provides information only at nodal or integration points, which may not always coincide withavailable experimental data points. Hence, mapping one field of points onto the other becomesnecessary.

For identification problems, the choice of mapping technique is fundamental, often the first of along series of assumptions and decisions. Popular mapping methods include: generic approximation1 and interpolation algorithms [118, 119, 115], node placement [113, 116], mesh projection [13] andshape function interpolation. Amongst these, interpolation with finite element shape functionsis selected as the most natural approach. It simplifies the identification decision chain, since itmakes no assumptions beyond those already made in the FE model and requires no adjustment ofinterpolation intrinsic parameters (i.e. kernel width, polynomial degrees, etc). Interpolating nodaldegrees of freedom at experimental data points leaves experimental data completely unaltered.Hence, no implicit filtering is introduced by interpolating experimental data. Since the FE mesh isalso unaltered, the approach completely decouples the accuracy of the experiment and numericalmodel. However, in identification problems, each time a parameter changes, the FE model has tobe compared to a constant data field, requiring the repeated mapping of 103 to 104 data points.Hence, it is very important that this mapping be carried out as efficiently as possible.

The mapping of each data point entails two steps: first, the element containing each datapoint is identified (this is the most computationally intensive step). Next, the coordinates of eachdata point are transformed into the finite element’s reference coordinate system (hereafter thisprocedure is referred to as inverse mapping). The reference coordinates are used to compute theelement’s shape-function coefficients which completes the interpolation. Given the complexity ofthese operations, it is easy for implementations of the algorithm to be very time consuming. Hence,a variety of methods are discussed to improve the interpolation speed. Most of these methods canbe found in a variety of contexts such as image processing [120], mesh generation [121] and contactanalysis [110]. To the authors knowledge, these methods have not been presented together inthe context of material identification, which is the main objective of this chapter. The paperbegins by describing some available mapping algorithms, justifying the choice of shape functioninterpolation. It continues by discussing possible combinations of available interpolation methods.A theoretical estimate of the computation cost, based on operations counting, is made for each

1Unlike interpolation, approximation points do not necessarily match experimental or FE data points.

77

Page 92: Identification of material properties using finite elements and full ...

78 CHAPTER 6. INTERPOLATION USING FINITE ELEMENTS SHAPE FUNCTIONS

combination. These are later bench-marked in a C++ test program, which is applied to plate witha hole problem.

Summary of notation

e(p) Element containing pε(p) Neighborhood around point pnji ith node of set jnmesh Set of nodes in a finite elements meshnε(p) Set of nodes in a neighborhood of pp A data pointp Set of data points~v A vectorvi The ith scalar component of vector ~v~x(p) Coordinates of point p in the global coordinate system~ξ(p) Coordinates of point p in an element’s reference coordinate system

6.2 Overview of mapping techniques for comparing datafields

This section is an overview of approaches for comparing field measurements and FE model re-sults. Experimental fields are corrupted by deterministic and random errors, but this chapter,which is primarily concerned with the numerical cost of field comparison, does not discuss theseerrors, although it is acknowledged they are of great importance for identification accuracy. Hence,throughout this chapter, experimental fields are assumed to be in the form of discrete data points(see Figure 6.1(a)). When interpolating nodal degrees of freedom, the interpolation accuracy ismeasured with respects to FE shape functions (see Figure 6.1(b)). An interpolated value un(p) is

un(p) = um(p) + δun(p), (6.1)

where um(p) is the mesh displacement and δun(p) the interpolation error. In general this interpo-lation error is less important than the measurement uncertainty.

(a) Measurement uncertainty (b) Interpolation uncertainty

Figure 6.1: (a) Experimental data always contains spatial and measurement uncertainties, bothdeterministic and random. This chapter assumes a point-wise recording of the measure. (b) Theinterpolation error is defined with respects to the FE shape functions.

6.2.1 Node placement and interpolation of experimental data

In identification, coordinate mismatch problem is often avoided by forcing FE nodes and exper-imental points to coincide [113, 116], a practice hereafter referred to as node placement. Node

Page 93: Identification of material properties using finite elements and full ...

6.2. OVERVIEW OF MAPPING TECHNIQUES FOR COMPARING DATA FIELDS 79

placement is achieved either by selecting only points with matching node and experimental coor-dinates, or by moving FE nodes to match experimental data points, or by acquiring experimentaldata at node coordinates. The three approaches are all valid solutions to the mapping problembut carry with them a series of technical challenges. In the first method, the selection of matchingpoints cannot in general exploit all available experimental data, which makes the comparison sen-sitive to small positioning errors. In the second method, since the accuracy of FE models dependon node position, mesh distortion may introduce an undesired coupling between the position ofdata points and the accuracy of model. In the third method, node placement by acquisition atnode coordinates requires either an non-evolving FE mesh or a new experimental acquisition eachtime the FE mesh evolves.

Alternatively, the experimental measures may be interpolated at nodal coordinates withoutconducting new experimental acquisitions. Exploiting knowledge of the measurement system, itmay be possible to preserve the field characteristics and change the post-processing of a measuredfield to obtain a coinciding discrete field. For instance, in digital image correlation, displacementsare measured by assuming a deformation law (e.g. linear, quadratic) over a set of neighboring pixels(correlation windows). Hence, experimental data may be interpolated at node positions with thesame deformation law for each correlation window without introducing an implicit filter. However,this can be very complex particularly when information about the process is not fully available.Otherwise, careless interpolation of experimental data introduces fundamental assumptions on theshape of the field that may degrade information through implicit filtering.

6.2.2 General interpolation of numerical results

The griddata and interp2 functions in the Matlabr software package [119] provides four tech-niques to obtain data u(p) at arbitrary points p from a cloud of data u(n): triangle-based andquadrilateral-based linear, cubic, nearest neighbor and biharmonic spline (B-spline) interpolation.All methods in griddata (except B-spline [122]) generate interpolation meshes via Delaunay trian-gulation [123]. Meshes for interp2 are user-defined and must be expressed as a matrix of sortednode coordinates. These techniques are summarized by the equation

u(p) =no. nodes in ε(p)∑

i=1

Wi

(~x(p), ~x(nε(p))

)u(nε(p)i ), (6.2)

which define the degrees of freedom at point p, u(p), as weighted sum of neighboring data pointsu(nε(p)i ). The nearest-node and linear interpolation algorithms are the fastest, but have discon-tinuous zeroth and first derivatives, respectively. The other two are continuous up to the secondderivatives, but are significantly slower. By default, griddata does not account for fields with aninternal discontinuity, such as a plate with a hole. The algorithm fills the hole with elements, thusintroducing boundary effects on the interpolated data. Kriging [118] is another interpolation ap-proach popular in geo-statistics. It has the advantage of providing an estimate of the interpolationvariance. However, it is computationally expensive (often requiring the solution of large linearsystems). Another drawback of general interpolation is that it affects the data by introducing non-physical parameters to the comparison (i.e. kernel width, polynomial degrees, variogram lengthand scales in kriging).

6.2.3 Methods based on finite elements shape functions

With FE shape functions, Nj , the value u(p) is estimated from the node values u(ne(p)) of theelement containing the data point p, e(p) (hereafter referred to as the owner element),

u(p) =no. nodes in e(p)∑

j=1

Nj

(~ξ(p)

)u(ne(p)j ). (6.3)

Generally, shape functions are written in the reference system of the element containing point p.Calculating the local coordinates of a point is not a trivial operation, requiring two steps. First,finding the owner element. Second, calculating the local coordinates of the point (an operation

Page 94: Identification of material properties using finite elements and full ...

80 CHAPTER 6. INTERPOLATION USING FINITE ELEMENTS SHAPE FUNCTIONS

referred to as inverse mapping), which normally involves solving a multi-dimensional non-linearsystem of equations. The comparison of the FE model and data fields is performed either at thecoordinates of the FE nodes or at the coordinates of data points. Continuity is guaranteed for thezeroth derivative, but is usually discontinuous for higher-order derivatives.

Projection of data points onto the FE response space

E. Pagnacco and D. Lemosse [13] describe a technique where the data field is approximated atthe nodal coordinates of the finite element mesh. This method searches for node values u(nmesh)that best fit available data u′(p). The approximation is defined as the projection of the data ontothe finite element model space. The values of u(nmesh) are determined by solving a least-squaresproblem,

minu(nmesh)

no. points in p∑i=1

u′(pi)− no. nodes in e(pi)∑j=1

Nj

(~ξ(pi)

)u(ne(pi)

j )

2

. (6.4)

This procedure requires a number of data points greater than the number of finite elementsnodes, and that the data field encompass a representative part of the finite element mesh. Thecomputational cost involves determining the reference coordinates of each data point, and solvingthe least-squares problem. For applications where the comparison is performed multiple times overa non-changing finite element mesh, the interpolation of the data points has to be performed onlyonce. This projection method may eliminate (filter) high-frequency information in the measurement(e.g. experimental noise).

FE interpolation at data points

Instead of interpolating measured data points at FE node coordinates, this chapter selects theinterpolation of node values at the coordinates of the experimental points, leaving the experimentaldata unaltered. The strategy consists of simply evaluating equation (6.3) for each data point, p ∈ p.A special effort is made to improve the speed of determining the owner element. This approachallows for the computation of degrees of freedom at arbitrary points, and has no restriction inthe distribution or the number of data points. The FE solution is completely independent of theposition and size of the experimental data field, and since the same mesh is used for solving themodel and interpolating the data, the resulting interpolated field is an exact representation of theFE solution. Also, similar to the previous technique, the interpolation coefficients can be computedonly once for a non-changing mesh, thus saving time on applications that repeat the interpolationseveral times. Contrary to the previous technique, this approach does not perform implicit filtering.

6.3 Determination of the owner element

Interpolation using shape functions is accomplished in three steps: determining the element, whichcontains the data point (owner element), transforming the data point coordinates into the referencecoordinate system (inverse mapping), and finally evaluating the finite elements shape functions todetermine the degrees of freedom at that point (equation (6.3)). The determination of the ownerelement is not required to be an independent step in the algorithm. However, this would entailinverse mapping for every element in the mesh, and checking if the point did fall inside the element(section 6.4). Since inverse mapping may be complex and numerically expensive, such an approachwould be inefficient. Moreover, inverse mapping algorithms are not guaranteed to have a solutionfor points outside the element’s domain, which jeopardizes the reliability of a two-step interpolationalgorithm. Instead, a combination of simple tests is used to predetermine the owner element beforeinverse mapping.

6.3.1 Element tests

This section details both the cross-product and bounding-box tests. The term “element test” refersto any technique to determine whether a point lies inside or outside of an element.

Page 95: Identification of material properties using finite elements and full ...

6.3. DETERMINATION OF THE OWNER ELEMENT 81

(a) (b)

Figure 6.2: The cross-product test in 3D checks if a point is on the same side of face 123 as theopposite node 4: (a) is an internal point, (b) an external point.

Cross-product test

The cross-product test (Figure 6.3(a)) consists in a series of cross and dot products, which deter-mines if a data point lies inside the intersection of the “vertex cones” of an element. This is similarto techniques described by P. Bourke [120]. If point p is inside the element, then for every node,n ∈ ne(p), the vector ~np will lie inside the cone created by the two adjacent node vectors, ~ni and~nj. This condition is verified using the vectors ~s1 and ~s2,

~s1 = ~ni× ~np and ~s2 = ~np× ~nj. (6.5)

These vectors will have same direction for internal points and opposite directions for externalpoints. Hence, an internal point must satisfy the condition

~s1 · ~s2 ≥ 0 (6.6)

for all nodes in the element. For external points, there is at least one vertex such that

~s1 · ~s2 < 0. (6.7)

The cross-product test requires that a spatially ordered list of nodes be available for each element(this is standard in finite element mesh formats). This test is exact for elements with linear edges,and approximate otherwise.

In 3D the cross-product test follows the same principle as in 2D. An internal point must lieinside the intersection of 3 planes formed by a node n and 2 neighbors, j and k. An internal pointmust lie in the correct (internal) side of each element face. The correct side is determined by a 4thnode, i , which is outside of the plane (this depends on the element type). Whether a point is onthe correct side of the plane is tested by calculating the component of vector ~np normal to planenjk (see Figure 6.2). The normal, ~n, to plane njk is computed via the cross product

~n = ±(~nj × ~nk

), (6.8)

where the sign of ~n is selected such that

~n · ~ni > 0. (6.9)

An internal point must satisfy the condition

~n · ~np ≥ 0, (6.10)

for all faces of the element.

Page 96: Identification of material properties using finite elements and full ...

82 CHAPTER 6. INTERPOLATION USING FINITE ELEMENTS SHAPE FUNCTIONS

(a) Cross-Product Test (b) Bounding-Box Test

Figure 6.3: (a) The cross-product test uses cross and dot products to check if a point lies insideall vertex cones of an element. (b) The bounding-box test uses a rectangular approximation of theelement to quickly eliminate impossible owner elements (case of external points).

Bounding-box test

The bounding-box test creates an encompassing box around the finite element [121] and comparesthe coordinates of the data point with the bounding-box’s two opposite corner points, pmin andpmax (see Figure 6.3(b)). The coordinates of any point inside the bounding-box must satisfy theinequality

xi(pmin) ≤ xi(pinternal) ≤ xi(pmax) (6.11)

for all dimensions i. At least one of the inequalities will be false for an external point. Thecomplexity of the test includes two parts: computing the boundaries of the bounding-box (laterstored in memory), and testing if a data point lies inside the bounding-box. Since the bounding-box only approximates the geometry of a finite element, it is possible for a point to be inside thebounding-box, but outside the finite element (pinternal in Figure 6.3(b)). Thus, in order to identifythe owner element, it is necessary for the bounding-box to be used together with an exact test suchas the cross-product. Section 6.3.3, discusses the advantages of scanning a list of finite elementsusing the bounding-box and cross-product tests together instead of a search algorithm using onlycross-products. The algorithm first eliminates impossible owner elements with the computationallyinexpensive bounding-box before checking actual owner elements with the more expensive cross-product test.

6.3.2 Searching the element list

The default implementation for finding an owner element is to sequentially scan through a list ofelements. Figure 6.4(a) shows two data points in a finite element mesh and their correspondingplaces in a sequential storage container. If a point lies near the end of the list, then elementownership tests must be executed for a large portion of the list. Guessing a viable initial point inthe list requires knowledge of how the mesh was created, which is not always possible. The virtualmesh [121] is intended to limit the number of elements scanned. A virtual mesh must have twofeatures: One, a computationally efficient way of determining a sub-region of the mesh containingdata point (referred to as a virtual element). This is typically obtained through a regular pavingof space. Two, its virtual elements, v, must store a list ev of finite elements e that possibly sharea segment of area,

ev =e ∈ E | e∩v 6= ∅ , (6.12)

where ∩ is the operator “possibly intersects”. This operator is implemented here by computingthe virtual element index range for the two opposite diagonal points, γi(pmin) and γi(pmax) (seeFigure 6.3(b) and equation (6.13)). The list ev is typically much smaller than the complete list offinite elements E.

Page 97: Identification of material properties using finite elements and full ...

6.3. DETERMINATION OF THE OWNER ELEMENT 83

(a) No Virtual Mesh (b) With Virtual Mesh

Figure 6.4: Examples of a finite element mesh and element containers. (a) With a sequentialelement list it is possible that interpolation points, although close in space, are far away in thecontainer. (b) Virtual elements contain small lists of finite elements in their neighborhoods.

Figure 6.4(b) illustrates the simplest virtual mesh, made of regular rectangles in 2D. This virtualmesh is used for the experiments in this chapter. Computationally, retrieving the correct virtualelement is very inexpensive. The ith dimension index γi of the virtual element containing the datapoint p is resolved using only 3 operations,

γi = floor

(xi(p)− xi

dxi

), (6.13)

where xi is the origin of the virtual mesh grid and dxi is the grid-step of the virtual mesh in theith direction. Once the virtual element has been retrieved, its reduced list of finite elements, ev, isscanned using element tests.

6.3.3 Comparison of owner element search algorithms

This section compares three algorithms used to find the owner element of a data point. Eachalgorithm is defined by a combination of element tests and an element retrieval technique (eithersequential or based on a virtual mesh).

• Search technique 1 (ST1) sequentially scans the full list of finite elements using the cross-product test. The procedure is restarted at the beginning of the list for each data point.

• Search technique 2 (ST2) sequentially searches the full finite elements list using a combinationof the cross-product and bounding-box tests. This algorithm is essentially the same as theprevious technique, except that the cross-product test is performed only if the data pointis inside the finite element’s bounding box. If the element fails the bounding box test, thealgorithm moves to the next element in the list. Again, the idea is to eliminate impossibleowner elements via the simpler bounding-box test.

• Search technique 3 (ST3) uses the cross-product and bounding-box tests to search small listsof finite elements obtained with the virtual mesh. For each data point, the algorithm retrievesthe appropriate virtual element, and scans the list, ev, using a test similar to ST2.

The efficiency of an element search algorithm is estimated by counting the average numberof operations required to find the finite element containing each of Np points in a uniform field.Operations are defined as basic math operators (+ − × ÷), comparisons (= 6= < > 6 >),assignments and standard mathematical functions in the C library. A uniform field is assumed tocontain a fairly regularly distributed grid of data points throughout the specimen’s surface. To theauthors knowledge, this assumption is consistent with current full-field measurements techniques.For special applications where a large number of data points are concentrated in a small region(e.g. measuring localized plasticity), the conclusions of this section remain valid locally. A finite

Page 98: Identification of material properties using finite elements and full ...

84 CHAPTER 6. INTERPOLATION USING FINITE ELEMENTS SHAPE FUNCTIONS

element model with a sequential list of Ne elements is illustrated in Figure 6.4. The search timefor a data point belonging to the ith element in this list is

Ti = (i− 1)× Tf + Ts, (6.14)

where Ts (success) and Tf (failure) are the computation times (measured in number of operations)to determine that the data point does or does not belong to an element, respectively. For anaverage field, a point can belong to any element in the list with equal probability.

The time complexity Tc, namely the average number of operations to determine the ownerelement of one point is

Tc(Ne) =1Ne

Ne∑i=1

Ti. (6.15)

The total search time Tt is an estimate of the average number of operations required to identify theowner element for Np arbitrary data points including a preprocessing time Tb (required to initializebounding boxes and the virtual mesh),

Tt(Ne, Np) = Tb(Ne) + Tc(Ne)×Np. (6.16)

The objective is to find a combination of element tests resulting in the smallest total search timeTt. An estimate of Tt was computed for ST1, ST2 and ST3 applied to meshes of QUAD4 elementsand written as Tt|st1, Tt|st2 and Tt|st3, respectively. These search times are functions of the numberof elements Ne, interpolation points Np, as well as mesh-specific geometric parameters, N cl, Nk

and Nve. The quantity N cl is a measure of mesh distortion, specifically the average number offinite element bounding-boxes that will claim an arbitrary data point (see Figure 6.5(b)). Nve isthe average number of virtual elements possessing a reference to the same finite element. Nk is theaverage number of finite elements in a virtual element. Results are summarized in the followingtable:

Time Cross-Product Test Bounding-Box Test Virtual MeshTb 0 20Ne (5Ne + 7) +

[20 +Nve + 12

]Ne

Tf 37.5 2.5 Does Not ApplyTs 60 4 Does Not Apply

Search Technique Computation TimeST1 Tt|st1 = 18.75NeNp + 41.25NpST2 Tt|st2 = 1.25NeNp + 20.75N clNp + 110.5Np + 20NeST3 Tt|st3 = (Nve + 37)Ne +

[1.25Nk + 20.75N cl + 116.5

]Np + 7

Table 6.1: Computation times for the compared element search algorithms

Details for the operations count and an approximate relationship between Nk and Nve is developedin [124]. This relationship is summarized hereafter. Let the a coefficient α, be the ratio of theaverage bounding-box area of a finite element Ae to the area of a virtual element dx× dy,

α =Ae

dx× dy . (6.17)

The approximation considers the limiting behavior of Nk and Nve as α → 0 and α → ∞, whileaccounting for mesh to virtual mesh offsets (see Figure 6.5(a)),

Nk ≈ 1α

+ 1, (6.18)

Nve ≈ α+ 1. (6.19)

Page 99: Identification of material properties using finite elements and full ...

6.3. DETERMINATION OF THE OWNER ELEMENT 85

(a) (b) Example of Ncl

Figure 6.5: (a) Superposition of a finite elements mesh (dotted lines) and a virtual mesh. Ae anddx× dy are the areas of a bounding-box and a virtual element, respectively. (b) Examples of Ncl,the number of bounding boxes which claim a data point.

If α is very large (i.e. very small virtual elements) the majority of the virtual elements willcontain a reference to only one finite element, leading to a decrease in the time complexity Tc ofthe search algorithm. However, since there are more virtual elements, the preprocessing time Tbwill offset the advantage gained by the smaller Tc. The ratio α∗ represents the best compromisebetween Tc and Tb. It is obtained by expressing Tt|st3 in Table 6.1 with in terms of α (usingequations (6.18) and (6.19) ) and solving for a zero of the derivative,

∂Tt|st3(α∗)/∂α = 0 ⇒ α∗ =√

1.25NpNe

. (6.20)

The result, α∗, is proportional to√Np and inversely proportional to

√Ne. This is intuitive

if we consider a situation where there is only one data point to interpolate (i.e. Np = 1 thusNe >> Np ⇒ α∗ << 1), the optimum grid step produces a single virtual element containing allfinite elements in the model. This is because the computational cost of scanning the entire finiteelement’s list only once is smaller than the cost of populating a large number of virtual elements.The converse is also true. For a large number of data points (i.e. Np >> Ne ⇒ α∗ >> 1) theresulting virtual mesh grid is very fine (i.e. an average of one finite element per virtual element). Inthis case the computational cost of populating a fine virtual mesh is compensated by only havingto search one finite element per data point.

Figure 6.6 demonstrates some of the basic features of the different Tt curves. All functions arelinear with respect to Np. The slope of ST1 is clearly the largest, followed by ST2 and ST3, whichstays nearly flat. In contrast, the offset of ST3 is the largest, followed by ST2, while ST1 has nooffset. These offsets are due to the preprocessing time Tb required by the virtual mesh and thebounding box calculations. Next, pairs of element tests are compared while varying all parameters.Figure 6.7 is a comparison of ST1 and ST2. The curves represent iso-lines where Tt|st2 = Tt|st1.ST2 is more efficient than ST1 for Np > 12 as long as N cl, the average number of elements thatclaim a data point, is lower than 80% of the number of elements, Ne. This condition is satisfiedfor all but very distorted meshes. The extra bounding-box build time Tb is compensated by thedecreasing slope in the Tt vs. Np curve. Figure 6.8 is a comparison of ST2 and ST3. The figureshows that for any reasonable mesh, Ne ≥ 30 and Np ≥ 50, it is advantageous to use a virtualmesh. In section 6.6 we validate these conclusions experimentally, using a C++ implementation ofthe different search techniques.

Page 100: Identification of material properties using finite elements and full ...

86 CHAPTER 6. INTERPOLATION USING FINITE ELEMENTS SHAPE FUNCTIONS

0

0.5

1

1.5

2

2.5

3

0 2 4 6 8 10 12 14

Tt(1

05op

erat

ions

)

Np

ST1ST2ST3

Figure 6.6: Number of operations vs. data points for methods ST1, ST2 and ST3 (Ne = 10000,N cl = 10 and α = 0.05).

0

2

4

6

8

10

12

14

16

18

20

0 10 20 30 40 50 60 70 80

Np

N cl/Ne (%)

TST2 < TST1

Ne5001000500025000

Figure 6.7: Comparison of ST1 and ST2. The curves represent iso-lines where Tt|st2 = Tt|st1. Theregions above the curve are such that Tt|st2 < Tt|st1. Notice that Ne does not affect the curves toa significant degree.

6.4 Inverse mapping

Finite elements shape coefficients Nj are generally known functions of an element’s local coordi-nates, ~ξ (equation (6.3)). Hence, to evaluate these coefficients it is often necessary to compute ~ξ(p)from ~x(p). Equation (6.21) defines a non-linear mapping function from the reference coordinates~ξ to the real coordinates ~x,

x(p) =no. nodes in e(p)∑

j=1

Sj

(~ξ(p)

)x(ne(p)j ). (6.21)

The coefficients Sj are also known functions of ~ξ, and are the same as Nj for iso-parametricelements. The opposite operation (i.e. calculating ~ξ(p) from ~x(p)) is called inverse mapping.

Inverse mapping is a non-trivial operation, which needs to be performed numerically, althoughit is possible to invert the shape functions analytically in special cases. Whichever technique isapplicable, the accuracy of the inversion can be verified as illustrated in Figure 6.9. If the inversionis successful the difference δξ = ‖~ξ∗−~ξT ‖ should approach machine precision. Since ~ξT is unknown,

Page 101: Identification of material properties using finite elements and full ...

6.5. INVERSE MAPPING THEOREMS 87

Ne

Np

TST3 < TST2

N cl = 20151051

10 20 30 40 50 60 70 80 90 100

102030405060708090

100

Figure 6.8: Comparison of ST3 and ST2. The curves represent iso-lines where Tt|st3 = Tt|st2. Thecurves use the optimum α and N cl = 1, 5, 10, 15, 20.

(a) (b)

Figure 6.9: An explanation of how to check the inverse mapping accuracy. (a) The inverse mappingfunction S−1 : ~x → ~ξ∗ may contain errors δξ = ‖~ξ∗ − ~ξT ‖ caused by convergence accuracy, where~ξT are the target coordinates. (b) The inversion error δξ cannot be computed directly, since ~ξT

is unknown. Instead, the accuracy of the inversion can be determined by mapping ~ξ∗ to the realcoordinate system S : ~ξ∗ → ~x∗ and computing the error δx = ‖~x∗−~x‖. If the inversion is successful,δx should approach zero.

δξ cannot be computed directly. Instead, by mapping S : ~ξ∗ → ~x∗, the value of δx = ‖~x∗ − ~x‖ isused as a measure of the inverse mapping error. For shape functions where the analytical solutionof the inverse is unknown, δx is typically taken as the cost function to be minimized. Section 6.6implements both analytical and iterative inverse mapping strategies for a QUAD4 element. Theiterative approach uses a Newton-Raphson optimizer to minimize δx, by varying ~ξ. Appendix Adiscusses the analytical results for QUAD4 elements, with more detail found in [124].

6.5 Inverse mapping theorems

This section establishes a mathematical basis for the inversion technique for TRI3, QUAD4 andTET4 elements. Figure 6.10 shows the reference elements and their numbering orders.

Definition 1. Geometrically admissible element : A geometrically admissible element is such thatthe nodal arrangement in the real coordinate system does not contain any crossing segments, andhas a non-zero area.

6.5.1 Inverse mapping for TRI3 elements

Let the shape functions, equation (6.21), of a 3 node triangular element in 2D (TRI3) be writtenin matrix form

Page 102: Identification of material properties using finite elements and full ...

88 CHAPTER 6. INTERPOLATION USING FINITE ELEMENTS SHAPE FUNCTIONS

(a) TRI3 (b) QUAD4 (c) TET4

(d) HEX8

Figure 6.10: Node ordering of reference elements.

~x0 = M~ξ,x− xn1

y − yn1

=(xn2 − xn1 xn3 − xn1

yn2 − yn1 yn3 − yn1

)ξη

(6.22)

such that ξ, η ≥ 0 and ξ + η ≤ 1 and xni and yni are node coordinates.

Proposition 1. If det(M) 6= 0, then for all geometrically admissible TRI3 elements the inversemapping solution is

ξη

=

1det(M)

(yn3 − yn1 xn1 − xn3

yn1 − yn2 xn2 − xn1

)x− xn1

y − yn1

. (6.23)

Proposition 2. If det(M) = 0, then the element is geometrically inadmissible.

Proof.

det(M) = (xn2 − xn1)(yn3 − yn1)− (xn3 − xn1)(yn2 − yn1) = 0,(xn2 − xn1)(yn3 − yn1) = (xn3 − xn1)(yn2 − yn1),

⇒ yn2 − yn1

xn2 − xn1=yn3 − yn1

xn3 − xn1

Thus, the three nodes are collinear, which is geometrically inadmissible.

6.5.2 Inverse mapping for QUAD4 elements

This section establishes a mathematical basis for the inversion technique for a 4 node quadrilateralelement in 2D. Let the shape functions, equation (6.21), of a QUAD4 element be rewritten as

x0 = x− a0 = a1ξ + a2η + a3ξηand y0 = y − b0 = b1ξ + b2η + b3ξη,

(6.24)

such that (ξ, η)ε[−1, 1]2. The coefficients ai and bi are

Page 103: Identification of material properties using finite elements and full ...

6.5. INVERSE MAPPING THEOREMS 89

(a) (b)

Figure 6.11: If any two opposite node vectors are parallel and point to the same direction (a) ~12and ~23 or (b) ~23 and ~41, the nodal configuration is geometrically inadmissible.

a0 = 14 [(xn1 + xn2) + (xn3 + xn4)]

a1 = 14 [(xn2 − xn1) + (xn3 − xn4)]

a2 = 14 [(xn3 + xn4)− (xn1 + xn2)]

a3 = 14 [(xn1 − xn2) + (xn3 − xn4)]

b0 = 14 [(yn1 + yn2) + (yn3 + yn4)]

b1 = 14 [(yn2 − yn1) + (yn3 − yn4)]

b2 = 14 [(yn3 + yn4)− (yn1 + yn2)]

b3 = 14 [(yn1 − yn2) + (yn3 − yn4)] ,

where xni and yni are node coordinates.

Proposition 3. If a1 +a3η 6= 0, then for all geometrically admissible elements one of the solutionsof the system

ξ = x0−a2ηa1+a3η

and Aη2 +Bη + C = 0, (6.25)

is an inverse mapping solution. The coefficients A,B and C are

A = a3b2 − a2b3 ,B = (x0b3 + a1b2)− (y0a3 + a2b1),

and C = x0b1 − y0a1.

Proposition 4. If a1+a3η = 0 and a3 6= 0, then for all geometrically admissible QUAD4 elements,

ξ = y0a3+a1b2a3b1−a1b3

and η = −a1a3

(6.26)

is an inverse-mapping solution.

Proof. For all geometrically admissible elements such that a1 + a3η = 0, a1 6= 0 and a3 6= 0, weprove that a3b1−b3a1 6= 0, which guarantees (6.26) can be used without division by zero. Assumingwithout loss of generality that the nodes in the reference element are numbered counter-clockwise,if a3b1 − b3a1 = 0 then a3b1 = b3a1, where

a3b1 = [(yn2 − yn1) + (yn3 − yn4)][(xn1 − xn2) + (xn3 − xn4)],b3a1 = [(yn1 − yn2) + (yn3 − yn4)][(xn2 − xn1) + (xn3 − xn4)].

Simplifying the expression yields,

(xn2 − xn1)(yn4 − yn3) = (xn4 − xn3)(yn2 − yn1),

⇒ (yn4 − yn3)(xn4 − xn3)

=(yn2 − yn1)(xn2 − xn1)

.

Thus, the vectors ~12 and ~34 point to the same direction, which results in a geometrically inadmis-sible configuration (see Figure 6.11).

Proposition 5. For all geometrically admissible elements, such that a1 + a3η = 0 and a3 = 0,

ξ = y0a2−b2x0b3x0+a2b1

and η = x0a2

(6.27)

is an inverse mapping solution.

Page 104: Identification of material properties using finite elements and full ...

90 CHAPTER 6. INTERPOLATION USING FINITE ELEMENTS SHAPE FUNCTIONS

Proof. The proof follows directly from substitution into equation (6.24). It shows that if there isa division by zero in equation (6.27) the element is geometrically inadmissible.Part 1: For all geometrically admissible elements, such that a1+a3η = 0, and a3 = 0, it is necessarythat a2 6= 0. If a1 + a3η = 0, and a3 = 0 then a1 = 0, thus

(xn2 − xn1) = (xn4 − xn3) and (xn1 − xn2) = (xn4 − xn2),⇒ xn3 = xn4 and xn1 = xn2.

If a2 = 0, then

xn3 + xn4 = xn1 + xn2,

⇒ xn1 = xn2 = xn3 = xn4.

Hence, the resulting node coordinates are collinear, which is geometrically inadmissible.Part 2: Assume that a2 6= 0 and that b1a2 + b3x0 = 0. Using x0 = x− a0, it follows that

b3x = b3a0 − b1a2, where

b3 = [(yn1 − yn2) + (yn3 − yn4)]b3a0 = 1

4 [(yn1 − yn2) + (yn3 − yn4)][xn1 + xn2 + xn3 + xn4]b1a2 = 1

4 [(yn2 − yn1) + (yn3 − yn4)][(xn3 + xn4)− (xn1 + xn2)].

case 1: b3 6= 0. Substituting xn1 = xn2 and xn3 = nn4 and simplifying yields,

[(yn1 − yn2) + (yn3 − yn4)]x = [(yn1 − yn2) + (yn3 − yn4)][xn1 + xn3]+[(yn2 − yn1) + (yn3 − yn4)][xn3 − xn1].

Solving for x,

x =(yn3 − yn4)xn1 + (yn1 − yn2)xn3

(yn3 − yn4) + (yn1 − yn2).

Defining α and β, where α+ β = 1 yields,

x = αxn1 + βxn3 .

For any internal point it is necessary that both α > 0 and β > 0. However, if yn3 − yn4 > 0 itfollows that yn1 − yn2 < 0 for an element with no intersecting edges. Hence, α and β always haveopposite signs for a valid element, thus the point x is not an internal point.case 2: b3 = 0. It follows that

(yn3 − yn4) + (yn1 − yn2) = 0yn1 − yn2 = yn4 − yn3

0 = (yn3 − yn4)xn1 + (yn1 − yn2)xn3

0 = (yn2 − yn1)xn1 + (yn1 − yn2)xn3

xn1 − xn3 = 0⇒ xn1 = xn3 ⇒ xn1 = xn2 = xn3 = xn4

The result is a collinear nodal arrangement, which is geometrically inadmissible.

Page 105: Identification of material properties using finite elements and full ...

6.5. INVERSE MAPPING THEOREMS 91

6.5.3 Inverse mapping for TET4 elements

Let the shape functions, equation (6.21), of a 4 node tetrahedron element in 3D (TET4) be writtenin matrix form

~x0 = M~ξ, x− xn1

y − yn1

z − zn1

=

xn2 − xn1 xn3 − xn1 xn4 − xn1

yn2 − yn1 yn3 − yn1 yn4 − yn1

zn2 − zn1 zn3 − zn1 zn4 − zn1

ξηζ

(6.28)

such that ξ, η, ζ ≥ 0 and ξ + η + ζ ≤ 1 and xni, yni, zni are node coordinates.

Proposition 6. If det(M) 6= 0, then for all geometrically admissible TET4 elements the inversemapping solution is

ξηζ

=1

det(M)

a00 a01 a02

a10 a11 a12

a20 a21 a22

x− xn1

y − yn1

z − zn1

, where (6.29)

a00

a10

a20

=

(yn3 − yn1)(zn4 − zn1)− (yn4 − yn1)(zn3 − zn1)(yn4 − yn1)(zn2 − zn1)− (yn2 − yn1)(zn4 − zn1)(yn2 − yn1)(zn3 − zn1)− (yn3 − yn1)(zn2 − zn1)

, (6.30)

a01

a11

a21

=

(xn4 − xn1)(zn3 − zn1)− (xn3 − xn1)(zn4 − zn1)(xn2 − xn1)(zn4 − zn1)− (xn4 − xn1)(zn2 − zn1)(xn3 − xn1)(zn2 − zn1)− (xn2 − xn1)(zn3 − zn1)

,

a02

a12

a22

=

(xn3 − xn1)(yn4 − yn1)− (xn4 − xn1)(yn3 − yn1)(xn4 − xn1)(yn2 − yn1)− (xn2 − xn1)(yn4 − yn1)(xn2 − xn1)(yn3 − yn1)− (xn3 − xn1)(yn2 − yn1)

and the determinant of M,

det(M) = d1 − d2 + d3, where (6.31)d1 = (xn2 − xn1)[(yn3 − yn1)(zn4 − zn1)− (yn4 − yn1)(zn3 − zn1)],d2 = (xn3 − xn1)[(yn2 − yn1)(zn4 − zn1)− (yn4 − yn1)(zn2 − zn1)],d3 = (xn4 − xn1)[(yn2 − yn1)(zn3 − zn1)− (yn3 − yn1) (zn2 − zn1)].

Proposition 7. If det(M) = 0, then the element is geometrically inadmissible.

Proof. Consider the normal to the plane formed by nodes 1,2 and 3,

~n123 = det

i j kxn2 − xn1 yn2 − yn1 zn2 − zn1

xn3 − xn1 yn3 − yn1 zn3 − zn1

. (6.32)

The projection of vector ~14 onto this normal is

~14 · ~n123 = det

xn4 − xn1 yn4 − yn1 zn4 − zn1

xn2 − xn1 yn2 − yn1 zn2 − zn1

xn3 − xn1 yn3 − yn1 zn3 − zn1

= det(M). (6.33)

If det(M) = 0, then point 1,2,3 and 4 are coplanar, which means the element has a zero volumeand is thus geometrically inadmissible.

Page 106: Identification of material properties using finite elements and full ...

92 CHAPTER 6. INTERPOLATION USING FINITE ELEMENTS SHAPE FUNCTIONS

6.6 Numerical experiments

The efficiencies of owner element search algorithms were estimated in section 6.3.3 by countingoperations. This assumes that other contributions to the algorithm’s time complexity (memoryallocation and different computation costs for integer and floating point arithmetic) are negligible.This section checks these assumptions by comparing the theoretical estimates with numerical ex-periments. The computation times are measured when interpolating data-point grids with varyingnumber of points Np over meshes with different numbers of elements Ne. The experiments are con-ducted with a C++ implementation of the interpolation algorithms, with an ABAQUS 6.4 finiteelement solver [85]. The computer test-bed is a Toshiba satellite A60 with a Pentium 4 processorrunning on a GNU/Linux Debian 3.1 operating system [125]. The FE model is the open-hole platespecimen illustrated in Figure 6.12, see [117, 126]. The model’s lower edge is fully constrained,and the upper edge subjected to a 1000 kPa surface traction. The model and boundary conditionsare based on an experiment conducted by the European Aeronautic Defense and Space Company(EADS) [127]. The data points p are located on a grid of step s (Figure 6.12)2. The total process-ing time Tt is measured by an embedded C++ timer, which measures the time in seconds from thebeginning of the interpolation procedure until all data points in the grid have been interpolated.The procedure is repeated with different mesh sizes, Ne, and grid steps, s.

(a)

x (mm)

-57 -21.5 14 49.5 85

y (mm)

-45

-21.2

2.5

26.2

50

-1.07

1.07

1e-06

u(x, y)

(b)

Figure 6.12: (a) Test-Specimen Geometry: The model is an open-hole tensile test with the loweredge fully constrained and the upper edge subjected to a 1000 kPa surface traction. (b) Details ofthe finite element mesh (Ne = 33, 000) with displacements in mm.

Figure 6.13(a) shows the test results for the ST2 algorithm, which uses the bounding-box andcross-product tests to sequentially scan the entire list of finite elements. The execution time Ttincreases linearly with Ne and Np when Np and Ne are held constant, respectively. Notice thatthe slopes of Tt increase with Ne and Np. The experimental behavior is in agreement with theO(Ne×Np) time complexity Tt|st2 in section 6.3.3 (Table 6.1). Figure 6.13(b) shows the results forthe ST3 algorithm, which uses a combination of the cross-product and bounding-box tests and avirtual mesh container. Clearly, the interpolation algorithm using the virtual mesh is more efficientthan the previous algorithm. For large number of points (Ne ≥ 5000), the virtual mesh reducescomputation times by a factor of 10 to 60. Notice that Tt varies linearly with Np and Ne, butunlike the previous case, the slopes of these curves are independent of Ne and Np. These resultsmatch the O(ANe+BNp) in the time complexity Tt|st3 (A and B are functions of mesh distortion,but independent of Ne and Np, see Table 6.1).

Next, Figures 6.14(a) and 6.14(b) show the recorded inverse mapping times for analytical anditerative inverse mapping algorithms. The iterative technique is a 2D Newton-Raphson minimiza-

2The data point grids encompass only a square window on the center of the model.

Page 107: Identification of material properties using finite elements and full ...

6.6. NUMERICAL EXPERIMENTS 93

0

10

20

30

40

50

60

0 5000 10000 15000 20000 25000 30000 35000 40000

Tt(s

econ

ds)

Np

Ne = 118039492786065554767

(a) ST2

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 5000 10000 15000 20000 25000 30000 35000 40000

Tt(s

econ

ds)

Np

Ne = 118039492786065554767

(b) ST3

Figure 6.13: Element search times (measured numerically)

tion of δx. The optimizer has a stopping criterion of |δx| < 1e−5mm. Inverse mapping timesfor both techniques show a linear variation with Np and no tendency with respects to Ne. Thegraphs show a scatter pattern because the inverse mapping cost depends on the position of datapoints inside an element (see Appendix A). These figures illustrate that inverse mapping can beperformed very quickly in comparison to the owner element search. For the analytical solution,nearly 250,000 data points are interpolated in less than 1 CPU second. The iterative approach issignificantly slower, but is still capable of interpolating 40,000 points in about 5 seconds. If thefield comparison is performed repeatedly over a constant mesh, the index of the owner element andreference coordinates of each data point can be saved and reused in each subsequent comparison.This practice further reduces interpolation time.

0

0.5

1

1.5

2

2.5

60 80 100 120 140 160 180 200 220 240

T(s

econ

ds)

Np (1× 103 points)

T = mNp + b

m = 1.67 × 10−5, b = 9.1 × 10−3

Ne = 130015621728221425923324423956917834

11849

(a) Analytical inverse mapping

0

1

2

3

4

5

6

0 5 10 15 20 25 30 35 40

T(s

econ

ds)

Np (1× 103 points)

T = mNp + b

m = 1.4 × 10−4, b = 0

Ne = 1728221425923324423956917834

11849

(b) Iterative inverse mapping

Figure 6.14: Inverse mapping times using (a) analytical and (b) iterative inversion algorithms.

This interpolation technique is now applied to the construction and visualization of error maps.The plate with a hole (Figure 6.12) is composed of an orthotropic material of properties E11 =100 GPa, E22 = 36 GPa, G12 = 25 GPa, ν12 = 0.54 GPa. A “reference model” is solved with a finemesh of approximately 33,000 elements and its nodal displacements are taken as the experimentaldata field see (Figure 6.12(b)). The error maps are produced by solving a FE model with thesame material properties, but with a coarser mesh, Ne = 2, 500. The coarser mesh is comparedwith the reference mesh using FE shape function interpolation, Matlab’s griddata nearest neighborapproximation, linear and cubic interpolation. The processing time for each technique was 6, 10,14 and 14 seconds, respectively3.

Since the test FE model has the same geometry, material properties and boundary conditions asthe reference model, the difference between the test and reference meshes is only due to discretiza-

3The processing times include reading a matrix of data points and displacements for the reference and testmeshes, interpolating the test mesh at reference coordinates, then writing the interpolated field onto a file.

Page 108: Identification of material properties using finite elements and full ...

94 CHAPTER 6. INTERPOLATION USING FINITE ELEMENTS SHAPE FUNCTIONS

x (mm)

-75 -37.5 0 37.5 75

y (mm)

-75

-37.5

0

37.5

75

1.93e-05

0.0122

0.00611

J(x, y)

(a) FE shape functions

x (mm)

-75 -37.5 0 37.5 75

y (mm)

-75

-37.5

0

37.5

75

5.18e-05

0.109

0.0546

J(x, y)

(b) Nearest Neighbor

x (mm)

-75 -37.5 0 37.5 75

y (mm)

-75

-37.5

0

37.5

75

3.88e-05

0.0189

0.00946

J(x, y)

(c) Linear Interpolation

x (mm)

-75 -37.5 0 37.5 75

y (mm)

-75

-37.5

0

37.5

75

5.07e-05

0.0315

0.0158

J(x, y)

(d) Cubic Interpolation

Figure 6.15: Error maps J(p) between a reference mesh of Ne = 33, 000 and a mesh of Ne = 2, 500using (a) FE shape function interpolation, Matlab’s (b) nearest neighbor approximation (c) linearand (d) cubic interpolation .

tion and interpolation changes, which is small. Figure 6.15 shows error maps for all interpolationstrategies of the normalized distance,

J(p) =

√√√√(u(p)ref − u(p)test

urefmax − urefmin

)2

+

(v(p)ref − v(p)test

vrefmax − vrefmin

)2

, (6.34)

where the data points p are nodal displacements of the reference mesh. Notice that all error mapsare very small in scale, the smallest being FE shape function interpolation, followed by linear, cubicand nearest neighbor interpolation. Although the variation in scale for all techniques is small (i.e.0.0034 ≤ ∆Jscale ≤ 0.048), their relative variation with respects to FE shape function interpolationis significant (i.e. 54.8% ≤ ∆Jscale ≤ 793%).

6.7 Conclusions

This chapter adapted and evaluated existing algorithms for mapping mesh information to arbitrarypoints using finite element shape functions. The algorithms consist of two parts: identification ofthe owner element, and mapping of interpolation points into the element’s reference coordinatesystem. Interpolation is then a direct evaluation of the element’s shape functions.

The strategy for determining the owner element for each data point is critical to the numer-ical efficiency of the procedure. The use of a virtual mesh is recommended as an alternative tosequentially searching the entire list of finite elements. With this indexing technique, time com-plexity increases linearly with mesh size Ne and number of data points Np, contrary to sequential

Page 109: Identification of material properties using finite elements and full ...

6.7. CONCLUSIONS 95

techniques which show a quadratically growing cost. In addition to the virtual mesh, an efficienttest for determining if a point belongs to an element has been analyzed. The recommended testis a combination of a fast approximate test based on bounding-boxes and an exact test based oncross-products. Inverse mapping has been discussed through the analytical example of bilinearquadrilateral elements, and numerically in general cases.

Finally, the different interpolation strategies have been implemented in C++, and applied toa finite element model of open-hole tensile test. As a typical example, the best strategy (virtualmesh, mixed test) interpolates over 40,000 data points in less than 1 second for a finite elementsmesh of 10,000 elements on a Pentium 4, 2.8 GHz computer.

Page 110: Identification of material properties using finite elements and full ...

96 CHAPTER 6. INTERPOLATION USING FINITE ELEMENTS SHAPE FUNCTIONS

Page 111: Identification of material properties using finite elements and full ...

Chapter 7

Model Parameterization

7.1 Introduction

Previous chapters have introduced the necessary tools to locate numerical coordinates given exper-imental data, and to calculate numerical degrees of freedom at those points. The motivation of thetechniques was to properly evaluate the residue cost function, (e.g. displacement gap) given a set ofmodel parameters. This chapter presents an overview of common model parameters important inmaterial identification. The presented parameters types are divided into 3 main groups: material,geometric and experimental parameters. Material parameters (properties) describe the mechanicalbehavior (i.e. stress-strain relationship) of a material. Geometric parameters account for possiblemanufacturing uncertainties in a specimen (e.g. exact size and position of the hole). Experimentalparameters, often referred to as extrinsic parameters, account for unbalanced experimental effects.

In the context of this document, material properties are the most important. The other two,geometric and experimental parameters, are auxiliary in purpose. They serve to improve the solu-tion of identified material properties and to provide a measure of their uncertainty. Experimentalparameters are introduced in order to make sure that all important experimental phenomena areappropriately taken into account. For instances, numerical displacement/strain fields are generallystatically and kinematically admissible with respects to an idealized geometry and boundary condi-tions, while measured fields are not. Experiments have non-ideal boundary conditions (e.g. slippingof clamps causing rigid body motion) and measurement systems have both random and systematicerror sources, generally unknown. If such effects are not modeled, a minimization of a least squaresfunction will tend to offset the solution of important parameters in order to compensate. However,introducing new effects onto the numerical model increases the number of identification parame-ters, requiring a larger number of FE solutions proportional to the number of extra parameters[128]. Hence, in addition to detailing the extrinsic parameters, the chapter also proposes ways tosolve these parameters while avoiding new FE solutions.

Throughout this chapter, we prefer to perform all operations in the world coordinate system.This is in order to avoid any manipulation of the experimental data, which could result in dataloss. Consider for instances, experimental data coming from an interferometric technique such asMoire interferometry. Measured displacements in the x direction, um(i) , and y direction, vm(i) , aregenerally independent since they are product of the interference of 2 separate pairs of illuminationbeams. If the signal strength of um is 10 times the scale of vm, however their signal to noise ratiosare the same, a transformation of the experimental data set to the numerical coordinate system(e.g ~unm(i) = [R] ~um) could completely mask the contribution of the y signal of the experimentaldata. If on the other hand, we transform the numerical data to the world coordinate system, wecan avoid the convolution of independent noise in the experimental field. The influence of a largedifference in signal strength between the x and y directions is often compensated in identificationby normalizing the displacement gap

J(~λ) =12

N∑i=1

~umn(i) − ~um(i)

T [S](i)

~umn(i) − ~um(i)

,

97

Page 112: Identification of material properties using finite elements and full ...

98 CHAPTER 7. MODEL PARAMETERIZATION

where [S](i) is a scale matrix. If however, an application arises where it is more advantageous tooperate in the numerical coordinate system, the user is free to reverse the operations presented inthis chapter.

Summary of notation

~a A vector.~a(i) A vector at point i.ai The ith component of vector ~a.a A column vector.~x A coordinate pair or triplet in 2D or 3D, respectively, e.g. ~x =

x y z

T .x A unit vector (i.e. x2 + y2 + z2 = 1).ej A standard unit vector, where all components ei = 0 for i 6= j and ej = 1.~u A column vector of pairs or triplets, e.g. ~u =

u(1) v(1) w(1) ... u(n) v(n) w(n)

T .[A] A matrix.[Aij ] A matrix, with components Aij , where i is a row index and j a column index.Aij A column vector with components Aij arranged in a specified order.~xm A measurement point expressed in the measurement (world) coordinate system.~xn A point in a FE model expressed in the numerical coordinate system.~xmn A point in a FE model expressed in the experimental (world) coordinate system.~u A displacement pair, (u, v), or triplet, (u, v, w), in 2D or 3D, respectively.~un Numerical displacements expressed in the numerical coordinate system.~umn Numerical displacements expressed in the experimental (world) coordinate system.~um Measured displacements expressed in the experimental (world) coordinate system.εij Generalized strain tensor.σij Generalized stress tensor.ε12 Strain tensor in the laminate’s principal coordinates.εxy Strain tensor not in the laminate’s principal coordinates.[δ] Indentity matrix.~λ A Vector of model parameters.~θ Vector of Euler angles in 2D, ~θ = θ, 3D, ~θ =

θ φ ψ

T .θi ith component of the Vector of Euler angles. e.g. θ1 = θ, θ2 = φ, θ3 = ψ.[R] Coordinate change rotation matrix.[R(~θ)

]Coordinate change rotation matrix with Euler angles, ~θ.

~t Coordinate change translation vector, ~t =tx ty tz

.

[Ω] Rigid body rotation matrix.

7.2 Material parameters

Material parameters, as applied to this section, refer to a set of values, which are sufficient todescribe a material’s stress-strain relationship. The most general of these is in a form of a function,

σij = f(εij , εij),

where εij and σij are the strain and stress tensors, defined in a point-wise fashion throughout space.The function is often classified depending on the order of the relationship (e.g. linear, quadratic)and whether it considers or not dissipative effects and the strain rate. Once this degree is selected,the model is parameterized by defining an immutable function, F ,

[σij ] = F([εij ] , [εij ] , ~λ),

which varies according to a given set of parameters, ~λ. Since a composite material is obviouslyheterogeneous, it is evident that the stress-strain relationship may vary from point to point inspace. Thus, ~λ is generally a function of spatial coordinates ~x.

Page 113: Identification of material properties using finite elements and full ...

7.2. MATERIAL PARAMETERS 99

It is important to note that for a given behavior type it is possible to define several forms ofF , all of which would result in the same stress field for a given strain field. In material mechanicsthis point is often treated as trivial, and the choice of parameterization is left to tradition andconvenience. However, as mentioned previously, FEMU is an inherently iterative identificationstrategy. In the iterative process, controlled by a numerical optimizer, the choice of parametersmay influence significantly the speed and accuracy of the cost function minimization, and henceinfluence the efficiency and accuracy of the identification procedure.

In this section we discuss a series of parameterization schemes for a linearly elastic materialbehavior. We also limit our discussion to a scale much larger than the typical fiber/matrix unit cellof the composite plate. Therefore, we always consider a homogenized (average) material property ina finite region, not considering the interaction between the constituents of a composite laminate 1.The advantages and disadvantages of each of the parameter strategies as pertained to identifiabilitywill be tested and discussed in the next chapter.

7.2.1 Stiffness and compliance matrices

For a linear elastic behavior, the function is most directly representable by the stiffness, [C], andcompliance, [S], matrices.

σ11

σ22

σ33

σ12

σ13

σ23

=

C1111 C1122 C1133 C1112 C1113 C1123

C2211 C2222 C2233 C2212 C2213 C2223

C3311 C3322 C3333 C3312 C3313 C3323

C1211 C1222 C1233 C1212 C1213 C1223

C1311 C1322 C1333 C1312 C1313 C1323

C2311 C2322 C2333 C2312 C2313 C2323

ε11

ε22

ε33

ε12

ε13

ε23

,

where the components of [C] are symmetric and the stiffness matrix is defined as [S] = [C]−1. Thissymmetry condition is valid for all material types, as a consequence of the existence of an invariantstrain energy density function

W =12Cijklεijεkl.

The compliance coefficients are calculated by differentiating the expression

Cijkl =∂2W

∂εij∂εkl.

Reversing the order of differentiation does not alter the derivative, hence Cijkl = Cklij . Theinterdependence of the remaining 21 compliance and stiffness components depends on the material’ssymmetry. In metallic materials, for example, we observe that the material’s strain response to animposed stress is relatively independent of the direction of the stress. Depending of course on thescale of observation, otherwise we must consider grain micro-structure. This is not the case forcomposite materials in general. These have properties that change depending on the loading axis.

The first step in selecting a parameterization of the material behavior model is to determinethe type of symmetry and dimension of the material. Meaning, are any planes of symmetry in thematerial? if so the compliance coefficients are be invariant to the reflection of those planes [129, 130].Does the thickness of the plate with respects to other dimensions justify a 2D approximation? Ifa material is symmetric with respects to any plane, such material referred to as isotropic. In thiscase the material properties are independent of the observation axis (such is the case for metalsand chopped fiber composites). Isotropic materials have only two independent components of thestiffness or compliance matrices. We can write the compliance and stiffness matrices for an isotropicmaterial as a function of 2 independent parameters C11, C12 or S11, S12 as

1This assumption does not require homogeneous properties through out the specimen. In addition, there arecertain parameterization schemes that give us a different level of homogenization. For example, some parameterchoices will enable us to analyze inter-laminar interaction.

Page 114: Identification of material properties using finite elements and full ...

100 CHAPTER 7. MODEL PARAMETERIZATION

Figure 7.1: Mechanical behavior of elastic materials

[C] =

C11 C12 0C11 0

(C11 − C12)/2

and [S] =

S11 S12 0S12 S11 00 0 2(S11 + S12)

,Figure 7.2 is a representation of a unidirectional fiber reinforced lamina. The figure shows the

materials 3 planes of symmetry, planes 12, 13 and 23. These axes form the material’s principalcoordinates, and have some conveniences in expressing the material properties, as will be seenshortly. Materials such as this, with 3 planes of symmetry, are named orthotropic, and have only4 independent components of the compliance and stiffness matrices in 2D (often referred to asspecially orthotropic) and 9 independent components in 3D (orthotropic) [131, 132, 133, 134]. Ifthe material has no axis of symmetry, the material is said to be fully anisotropic and requires all21 independent material components in 3D and 9 in 2D. For the rest of the chapter, we will limitour discussion to 2D material properties for simplicity. Arguments can be easily expanded to 3Dif required by the reader.

Figure 7.2: Principal axes in an orthotropic laminate.

If the orientation of an orthotropic material’s principal directions are known with respects tothe specimen’s coordinate system the stiffness and compliance matrices may be written as

Page 115: Identification of material properties using finite elements and full ...

7.2. MATERIAL PARAMETERS 101

[C] =

C11 C12 0C12 C22 00 0 C66

and [S] =

S11 S12 0S12 S22 00 0 S66

.Notice only 4 independent variables S11, S12, S22 and S66. The problem with this representation isthat we rarely know the material’s principal direction within less than a fraction of a degree. Thisis true if you add the uncertainties of the relative orientation of each ply (in a multi-directional) ofthe composite to the orientation of the laminate. In this case we are obliged to express the stiffnessand compliance matrices in their more general forms

σxxσyyσxy

=

C11 C12 C16

C22 C26

SYM C66

εxxεyyεxy

and

εxxεyyεxy

=

S11 S12 S16

S22 S26

SYM S66

σxxσyyσxy

,

Although, the matrices are symmetric, an orthotropic material may not be parameterized in thisfashion, which contains 6 parameters S11, S12, S16, S26 and S16 that are not all mutually inde-pendent. Only 5 coefficients are sufficient to describe the material properties and orientation. Toconstrain these parameters it is convenient to expand the rotation of the stress/strain tensors andexpress the general compliance and stiffness matrices using S11, S12, S22, S66 and a rotation angle.The expansion is obtained from transformation matrix [T ],

[T ] =

c2 s2 2css2 c2 −2cs−cs cs c2 − s2

, such that

σxy = [T ]−1 σ12 and ε12 = [T ] εxy .

The matrices,[C]

and[S]

are hence,

σxy = [T ]−1 [S] [T ]︸ ︷︷ ︸[S]

εxy and εxy = [T ]−1 [Q] [T ]︸ ︷︷ ︸[Q]

σxy . (7.1)

7.2.2 Engineering constants

An isotropic material’s compliance and stiffness matrices may also be parameterized as functionsof the popular engineering constants Young’s Modulus E and Poisson’s ratio ν (these are the mostpopular in industry and engineering applications),

ε11

ε22

ε12

=

1E

−νE 0

−νE

1E 0

0 0 (1+ν)E

σ11

σ22

σ12

, (7.2)

σ11

σ22

σ12

=E

(1 + ν)(1− 2ν)

1− ν ν 0ν 1− ν 00 0 1− 2ν

ε11

ε22

ε12

. (7.3)

The main disadvantage of this parameterization is the deference in scale and dimension of the twoparameters. Young’s Modulus is often in units of several hundred or thousands of MPa, whilePoisson’s ratio is dimensionless often in the range of ν ∈ (−1, 0.5). As an alternative, for anisotropic material we can express the stress strain relations via Lame coefficients, which separate

Page 116: Identification of material properties using finite elements and full ...

102 CHAPTER 7. MODEL PARAMETERIZATION

the diagonal and off-diagonal strain components. This is useful in nearly incompressible materials(see [135]). In terms of engineering constants,

λ =νE

(1 + ν)(1− 2ν), µ = G =

E

2(1 + ν).

Conversely,

E =µ(3λ+ 2µ)λ+ µ

, ν =λ

2(λ+ µ).

Note that both coefficients λ and µ are in units of stress.For orthotropic materials the engineering constants E1, E2, ν12, G12 describe the compliance

matrix in the principal direction,

ε11

ε22

ε12

=

1E1

−ν12E1

0−ν12E1

1E2

00 0 2

G12

σ11

σ22

σ12

.

In the general coordinates an additional parameter is required, namely a rotation angle (see equa-tion (7.1)).

7.2.3 Stiffness and compliance invariants

Alternatively, we may also parameterize these matrices using invariants Ui and Vi and a rotationangle θ. The generalized stiffness matrix is formed as follows:

C11 = U1 + U2 cos(2θ) + U3 cos(4θ),C12 = U4 − U3 cos(4θ),C22 = U1 − U2 cos(2θ) + U3 cos(4θ),

C16 =12U2 sin(2θ) + U3 sin(4θ),

C26 =12U2 sin(2θ)− U3 sin(4θ),

C66 =12

(U1 − U4)− U3 cos(4θ).

To write the compliance matrix components, it suffices to replace Cij with Sij , and Ui with Vi.The invariants can be written in terms of the components of the compliance and stiffness matricesin the principal directions,

U1 =18

(3C11 + 3C22 + 2C12 + 4C66) ,

U2 =12

(C11 − C22) ,

U3 =18

(C11 + C22 − 2C12 − 4C66) ,

U4 =18

(C11 + C22 + 6C12 − 4C66) .

Page 117: Identification of material properties using finite elements and full ...

7.3. GEOMETRIC PARAMETERS OF A MECHANICAL TEST 103

Figure 7.3: Notation for laminate loading and stacking sequences.

7.2.4 Laminate A, B and D matrices

This parameterization approach is a decomposition of the homogenization of laminate. It is par-ticularly adapted for composites of multi-layer laminate of unidirectional plies. The [A],[B] and[D] matrices determine the in-plane strain components, arranged into a vector ~ε, and curvature,~κ, reactions to forces ~N and ~M ,

~N~M

=[

[A] [B][B] [D]

]~ε~κ

.

The main advantage of this description is that it allows us to compute the orthotropic componentsof the assembled lamina using the specially orthotropic components of the laminate. It also permitsthe examination of inter-laminar stresses. The matrices [A],[B] and [D] are obtained from stiffnesscomponents of each kth ply, [Q]k,

Aij =∫ t/2

−t/2

(Qij)kdz =

N∑k=1

(Qij)k

(zk − zk−1) ,

Bij =∫ t/2

−t/2

(Qij)kzdz =

12

N∑k=1

(Qij)k

(z2k − z2

k−1

),

Dij =∫ t/2

−t/2

(Qij)kz2dz =

13

N∑k=1

(Qij)k

(z3k − z3

k−1

).

Laminae with symmetric and balanced stacking sequences have Bij = 0 and in general, the stiffnessmatrix of the lamina is

[Q]

= 1t [A]. For further details on laminate theory with full derivations

see [131, 132, 133, 134].

7.3 Geometric parameters of a mechanical test

The fundamental objective of identification is to match as best as possible the measured andmodeled displacement/strain maps. In ideal circumstances material parameters are sufficient toreproduce all of the characteristics of an experimental map (minus measurement noise). In realcircumstances, however, these parameters are not sufficient to perfectly reproduce a measuredfield, since there is always a gap between the geometry of a real mechanical setup and an idealized

Page 118: Identification of material properties using finite elements and full ...

104 CHAPTER 7. MODEL PARAMETERIZATION

Parameterization Parameters Number of Parameters type

Stiffness Components C11, C12, C66 2 isotropicCompliance Components S11, S12, S66 2 isotropic

Engineering constants E, ν, G 2 isotropicLame constants λ, µ 2 isotropic

Stiffness Components C11, C12, C22, C66, θ 5 orthotropicCompliance Components S11, S12, S22, S66, θ 5 orthotropic

Stiffness Invariants V1, V2, V3, V4, θ 5 orthotropicCompliance Invariants U1, U2, U3, U4, θ 5 orthotropicEngineering constants E1, E2, G12, ν12, θ 5 orthotropicLaminate components Q11, Q12, Q22, Q66, θk 4 + number of plies orthotropic

or approximate mechanical setup. The remaining parameters are divided into two categories:experimental and geometric parameters 2.

Experimental and extrinsic parameters refer to systematic phenomena linked to the measure-ment apparatus. These are discussed in the sections to follow. Geometric parameters relate touncertainties in the specimen and mechanical setup. Figure 7.4 illustrates a number of geometricuncertainties common in the open-hole tensile test.

Figure 7.4: Common geometric uncertainties in the open-hole tensile test

The figure shows the idealized (Reference) geometry with a series of added perturbations. Forthis specimen it is typical to assume the hole is perfectly centered, but this is rarely the case.Even well-manufactured specimens have some degree of imperfection. If the piercing plane is not

2A precise definition of what constitutes a geometric parameter as oppose to an experimental parameter issubjective. We prefer to leave this distinction to the reader to make depending on the requirements of his ownapplications.

Page 119: Identification of material properties using finite elements and full ...

7.3. GEOMETRIC PARAMETERS OF A MECHANICAL TEST 105

perfectly orthogonal to the plate we can produce an elliptical hole. The faces of the specimenare not always perfectly parallel, and the cross-section may contain local and global variations inthickness. In 3D the specimen may also contain a small curvature in its unloaded state. Duringtension this curvature will create a differential strain between the inner and outer face of thespecimen. Other than manufacturing of the specimen we have to consider geometric uncertaintiesin the mechanical setup. For example, misalignment of the clamps may produce a parasite couplemoment during loading, assuming there is no slipping. Boundary effects may also originate fromthe position of gripping tabs. If these are not perfectly parallel, a similar effect will be noticed.The first approach to account for the uncertainties is, of course, a proper implementation of theexperiment. Alternatively one can parameterize the geometric features and include them in theidentification routine.

The implementation of good experimental practices includes the independent characterizationof uncertainties, such as evaluating and recording the manufacturing tolerances of each specimen.For instance, the size, position and shape of the open-hole may be easily verified by taking a seriesof reference photos of the specimen using a high-definition CCD camera. Whenever possible thespecimen geometry should follow well-established experimental standards, which aim at reducingboundary effects in the zone of measurement. The misalignment of clamps is generally corrected byloading and unloading the specimen before fully tightening the clamp. This practice may improvethe alignment of the specimen but leads to a non-zero and unknown reference state. In turn, thiswill require the identification strategy consider only differential loading, which entails another goodexperimental practice, namely producing several measurements at incremental loads. Uncertaintiesprevalent in the magnitude of the load itself are diminished by averaging the load cell readingsacross a small time range. The influence of the curvature of the specimen may be evaluated byplacing strain gauges at the same position on both faces of the specimen. In identification strategieswith optical measurements, the problem has been addressed by measuring displacement and strainmaps at both faces of the specimen [136].

Whenever impossible to eliminate geometric uncertainties experimentally the engineer may se-lect to parameterize the associated features. This entails describing all geometric features by a setof independent distances, angles or any other geometric parameter (e.g. radius). The techniquemay require a careful definition of feasible range of these values in order to avoid geometricallyinadmissible features (e.g. holes that split a specimen into two pieces). Selecting independentparameters is essential because otherwise a careless parameterization may produce multiple so-lutions in the minimization routine of identification problem. A common strategy for definingindependent parameters is found in manuals for mechanical drafting and design [137, 138]. Thetechnique involves defining a series of datum points and/or features, which are immutable, thenpositioning all other features with respect to datum features. There is recent interest in identifyingparameterized complex boundary conditions [32]. For this work, the main parameters of interestare those describing the boundaries.

Even if all parameters are independent of each other and properly constrained, it falls to theengineer to determine if the parameters are identifiable or not. For example, let us consider thesimple identification of Young’s Modulus, E, using a uniaxial tension test. The measured quantitiesare the applied force F and the strain ε. The width and thickness of the specimen are w and t,respectively. The constitutive model is σ = Eε, where the applied stress may be written asσ = F

w×t . Notice that even with a multitude of force and strain measurements it is impossibleto separate E, w and t, i.e. E1w1t1 = F1/ε1, E2w2t2 = F2/ε2, ... Hence, E, w and t are notidentifiable.

Geometric parameters that are not identifiable may serve as an aid to determine the variabilityof identified parameters. In such cases, a the engineer assumes a value of the geometric parameterwithin the uncertainty region and identifies an associated set of material parameters. The variationof the identified moduli with geometric parameters will contribute to an uncertainty model of theidentification. Recently, a Bayesian approach has been adapted to the identification of materialparameters [139, 140]. In this approach parameters are determined from an a priori distribution ofthe uncertain extrinsic parameters and from a likelihood of the observed response. Note howeverthat the Bayesian approach is too costly to be applied directly to high-dimensional measurementssuch as OFFMs. However it may be possible to adapt the Bayesian approach to OFFMS andFEMU by applying the response surface methodology to a FE model.

Page 120: Identification of material properties using finite elements and full ...

106 CHAPTER 7. MODEL PARAMETERIZATION

7.4 Definition of external experimental parameters

Iterating through values of material or geometric parameter require a new FE solutions. This isnot always the case for external experimental parameters described in this section: “external”ismeant as external to the FE equations. These parameters describe systematic measurement effects,and are thus closely related to a specific measurement system. Experimenters generally make agreat effort to eliminate such effects via calibration. However, there is always a limitation in theprecision of calibration techniques. In some cases, it may even be undesirable to remove somephenomena from the experimental data (e.g. filtering of noise). Operations such as filtering noisemust be carried out very carefully in order not to result in data corruption. Thus, there are caseswhen the influence of external experimental errors cannot be removed a priori from measurements.These parameters need to be included in the identification.

In the following sections, we will show how to recognize and correct a number of commonexperimental effects. Whenever possible a solution strategy will be proposed which avoids newexplicit FE calculations and repeated residue calculations through multilevel optimization [73,141, 74, 142]. A multi-level strategy involves the solution of

min~λ1,~λ2

J(~λ1, ~λ2).

by minimizing a pseudo-function φ(~λ1)

min~λ1

φ(~λ1), where

φ(~λ1) = min~λ2

J(~λ1, ~λ2).

where ~λ2 are external experimental parameters and ~λ1 are parameters that require new FE solutionssuch as material and geometric parameters. If the search for φ(~λ2) is significantly faster than afew FE solutions (say 10), the multilevel optimization strategy will be much faster than the directminimization of J(~λ1, ~λ2) for both parameter sets: computing tome is saved accounting for thefact that when only ~λ2 changes no new FE solutions are required.

The effects of experimental parameters will be demonstrated via a typical application. Thespecimen is plate with a hole with dimensions 280 × 30 × 1 mm and a central hole of 6 mmdiameter. The plate is loaded in the x direction with a 500 MPa surface load on the right sideand the left side fully constrained. The material properties are those of aluminum, E = 70 GPaand ν = 0.33. Figure 7.5 illustrates the reference displacements fields for this plate. The samereference will be used for any subsequent tests in this chapter unless stated otherwise.

x (mm)

y (m

m)

u(x,y) in mm

-15 -10 -5 0 5 10 15-15

-10

-5

0

5

10

15

1.55

1.6

1.65

1.7

1.75

1.8

1.85

1.9

x 10-5

(a)

x (mm)

y (m

m)

v(x,y) in mm

-15 -10 -5 0 5 10 15-15

-10

-5

0

5

10

15

-8

-6

-4

-2

0

2

4

6

x 10-7

(b)

Figure 7.5: Reference displacement maps for an aluminum plate of dimensions 280 × 30 × 1mmand a central hole of 6 mm diameter. The specimen is loaded along the x axis with a 500 MPatensile stress.

Page 121: Identification of material properties using finite elements and full ...

7.4. DEFINITION OF EXTERNAL EXPERIMENTAL PARAMETERS 107

7.4.1 Rigid body motion parameters

In this section we will account for rigid body motion, a common problem in identification fromdisplacement measurements. Since rigid body motion produces no strain, its presence tends topenalize the cost function value of a FE solution, which would otherwise closely resemble theexperimental map. Figure 7.6 shows an example where the displacements of the numerical modelare identical to the measured displacements except for an offset created due to rigid body motion.Notice that although the shape of the displacement curves is identical (i.e. the strains are identical),the displacement gap, the area between the two curves, may be very large. If uncorrected for, rigidbody motion in the displacement gap maybe compensated by errors in the identification of otherparameters (e.g. material properties).

Rigid body motion can be both real, resulting from unknown [143] or imperfect boundaryconditions such as an initial misalignment of the specimen with respects to the tensile direction(see Figure 7.7(a)) and on-axis slipping of the clamps or apparent such as moving the cameraduring measurement (see Figure 7.7(c)) or from a noisy or unknown zero-displacement reference[51]. Unknown references are common in phase-shifting techniques, which are generally adaptedto measure displacement differentials [68, 144, 145].

The objective of this section is to correct the effects of rigid body motion by determining, foreach set of material parameters, a set of rigid body motion components, which gives us the bestresemblance between the current numerical displacement map and a measured map.

Fundamental equations

In this section, measured displacements, written as ~um, are left unaltered. The superscripts mand n indicate whether a vector is written in the world coordinate system (WCS) or numericalcoordinate system (NCS), respectively. Displacements of the FE model are written in the NCS as~un and in the WCS as ~umn. In general, numerical displacements must be interpolated for eachmeasured with coordinates point expressed in the NCS. The transformation of coordinates fromWCS to NCS depends on an offset ~t and Euler rotation angles θc, φc, ψc, as described in equation(5.2). The equation is rewritten for convenience,

~xnm(i) = [R]−1 (~xm(i) − ~t).

At each point ~xnm(i) , numerical displacements, ~un(i) , are interpolated as described in Chapter 6. Inorder to compare these displacements with measured displacements we must transform ~un(i) intothe world coordinate system,

~umn(i) = [R] ~un(i) .

Next, we introduce an arbitrary rigid body motion into the numerical model. Rigid body motionmay be decomposed into components of translation ~ur and rotation, [Ω] (~x(i)−~c)−~x(i) , where [Ω] isa rotation matrix and ~c is the rotation center. The choice of rotation center is strictly arbitrary[146],hence in this chapter we can select a rotation center of ~c = 0 without loss of generality. Numericaldisplacements with added rigid body motion become

~u′(i) = [R] ~un(i) + ~ur + ([Ω]− [δ])~xm(i) , (7.4)

where [δ] is the identity matrix and [Ω] is the rigid body rotation matrix, whose componentsare defined in equations 5.4 to 5.5 with angles θr, φr, ψr. The rigid body translation vector ~ur is~ur =

ur vr wr

T . Notice the rigid body motion components are expressed in the experimentalcoordinates.

Problem definition and solution

Given a measured displacement map ~um(i) and a FE solution, where it is possible to interpolatenodal displacements at any measured point ~xm(i) , the problem is to determine the orientation and

Page 122: Identification of material properties using finite elements and full ...

108 CHAPTER 7. MODEL PARAMETERIZATION

(a)

(b)

(c)

Figure 7.6: The effects of rigid body motion in the comparison of displacement maps. In thisexample the specimen and boundary conditions are the same as in Figure 7.5. (a) The measuredspecimen in the initial and deformed states. The specimen undergoes a rigid body motion of ~ur.(b) is a numerical model of the same specimen perfectly aligned with the experiment. The shapes ofthe numerical model in both the initial and deformed states are identical to the measured specimen.However, the numerical model does not contain rigid body motion. (c) A plot of the displacementsalong the horizontal line in figures (a) and (b). Notice that shapes of the numerical and measureddisplacements are identical except for an offset of the measured curves in the displacement axes.

Page 123: Identification of material properties using finite elements and full ...

7.4. DEFINITION OF EXTERNAL EXPERIMENTAL PARAMETERS 109

(a) Initial (b) Final

(c) Initial (d) Final

Figure 7.7: Examples of real (a)-(b) and apparent (c)-(d) rigid body motion. The rectanglesrepresent the camera recording windows. (a)-(b) An initial misalignment of the specimen and thetensile direction will cause the specimen to rotate during tension. (c)-(d) If the camera movesduring loading, the apparent translation of a stationary point is indistinguishable from a realtranslation in the specimen.

rigid body motion parameters that results in the closest resemblance between the measured map~um(i) and the adjusted numerical map ~u′(i) (equation (7.4)). This is achieved by minimizing a leastsquares difference

J(~λ) =Np∑i=1

12~u′(i) − ~um(i)

T [S]~u′(i) − ~um(i)

.

with respects to parameters ~λ =ur vr wr θr φr ψr

T . The matrix [S] is a scaling matrixused to weight the influence of each displacement component in the least-squares minimization. Inthis section we assume the scaling matrix is diagonal,

[S] =

1s1

0 00 1

s20

0 0 1s3

.The solution to this least-squares problem is similar to the one presented in Chapter 5, when

identifying the difference in orientation of the numerical and world coordinate systems. Notehowever, that Np is typically much larger here. A minimum J(~λ) requires that ∂J(~λ∗)

∂λj= 0. The

derivatives of ~u′(i) with respects to rigid body translation are unit vectors

∂~u′(i)

∂ur= e1,

∂~u′(i)

∂vr= e2,

∂~u′(i)

∂wr= e3.

The derivatives of J(~λ) with respects to rigid body translation components are

∂J(~λ)∂urj

= ejT [S]

Np∑i=1

([R] ~un(i) − ~um(i)

)+Np~u

r + ([Ω]− [δ])Np∑i=1

~xm(i)

.

Imposing the necessary condition for optimality, ∂J(~λ∗)∂ur

j= 0, allows for a solution of ~ur∗ in terms

of the other parameters,

~ur∗ =1Np

Np∑i=1

~um(i) − [R]1Np

Np∑i=1

~un(i) + ([Ω]− [δ])−1Np

Np∑i=1

~xm(i) . (7.5)

Page 124: Identification of material properties using finite elements and full ...

110 CHAPTER 7. MODEL PARAMETERIZATION

Substituting the results of equation (7.5) into equation (7.4), yields

~u′(i) = [R] ~unc(i) +1Np

Np∑i=1

~um(i)︸ ︷︷ ︸~a(i)

+ ([Ω]− [δ])~xmc(i)︸︷︷︸~b(i)

,

where like in Chapter 5 the superscript c indicates a centered notation. The derivate of ~u′(i) andJ(~λ) with respects to a rigid body rotation angles θr, φr, ψr are

∂J(~λ)∂θrj

=Np∑i=1

(~u′(i) − ~um(i) )T [S](i)

[∂Ω∂θrj

](~xm(i) − Σ~xm

). (7.6)

The solution of ∂J(~λ∗)∂θr

j= 0 must be obtained iteratively for large rigid body rotation angles.

However, a small angle approximation is consistent with the majority of typical mechanical tests.For these cases a closed-form solution for ∂J(~λ∗)

∂θrj

= 0 exists. It involves replacing cos θrj by 1 andsin θrj by θrj and suppressing nonlinear terms of Euler angles in matrix [Ω] and its derivatives.

Substituting the ~ai and ~bi vectors into equation (7.6) and imposing ∂J(~λ∗)∂θr

j= 0. yields a linear

system of equations

Np∑i=1

m11 m12 m13

m21 m22 m23

m31 m32 m33

(i)︸ ︷︷ ︸

[M(i) ]

θr

φr

ψr

︸ ︷︷ ︸~θr

=Np∑i=1

YxYyYz

(i)︸ ︷︷ ︸

~Y(i)

.

In 3D matrix [M ](i) is written as a sum of three matrices,

[M(i) ] =1s1

bxumx + b2y − axbx 0 bxumx + b2y − axbx

0 0 axbz − bzumxbxu

mx + b2y − axbx axbz − bzumx b2y

(i)

+1s2

byumy − ayby + b2x −bxbz byumy − ayby + b2x

−bxbz b2z −bxbzbyu

my − ayby + b2x −bxbz b2x

(i)

+1s3

0 azbx − bxumz 0azbx − bxumz b2y 0

0 0 0

(i)

.

~Y(i) =1s1

byumx − axby

0byu

mx − axby

+1s2

aybx − bxumybzu

my − aybz

aybx − bxumy

+1s3

0azby − byumz

0

A solution to this linear system gives the rigid body motion parameters, which when added to anumerical displacement map, best approximates a measured displacement map.

Numerical tests

We now present a brief application of rigid body motion detection using the reference plate witha hole described in section 7.4. This numerical test involves injecting a series of known rigid-bodymotion displacements and rotations into the simulated experiment in Figure 7.5 and attempting toretrieve the imposed values with the method presented in this section. The first test is to calculate a

Page 125: Identification of material properties using finite elements and full ...

7.4. DEFINITION OF EXTERNAL EXPERIMENTAL PARAMETERS 111

zero reference, where the algorithm attempts to calculate rigid body motion for a reference with norigid body motion. This test will give us an idea of the limiting resolution of the algorithm. Withrepeated rigid body solutions we establish an accuracy of 1e−10 on both rigid body displacementsand rotation angles (note that reference displacements are in the order of 1e−5). The results suggestthat the limiting resolution of the procedure is near machine precision. This is because of limitedaccuracy in writing floating point variables onto ASCII files (a step required in storing referencemaps).

In order to proceed to generate a number of new reference maps, we must determine a realisticrange of rigid body motion values. Figures 7.9 and 7.10 illustrates the effects of adding progressivelyincreasing rigid body displacements and rotations into the reference model. Notice that rigid bodytranslation significantly alters the scale of each displacement map, but does not affect the shape ofisolines of the map. Thus, in a real experiment with a full field method, the experimenter has noth-ing to suggest to the presence of rigid body displacements without an independent measurement(e.g. using an extensometer). However, the field’s isolines are altered significantly in the presenceof very small rigid body rotations. This is because the rotation effects are proportional to θr timesa typical length scale, l, of the specimen. For small strains, we expect measured displacements tobe no more than 2% this typical length. In the illustrated case we have u(x, y) ≈ 1e−6 × l.

Figure 7.8 contains the results of a Monte Carlo analysis of random rigid body motion compo-nents added to the reference map, and the calculated components.

0 100 200 300 400 500 600 700 800 900 1000

−6

−4

−2

0

2

4

6

8

x 10−5

Trial

Val

ue in

mm

or

radi

ans

ur

vr

θr

(a) Imposed rigid body motion parameters

0 100 200 300 400 500 600 700 800 900 1000

−5

−4

−3

−2

−1

0

1

2

3

4

5

x 10−11

Trial

Err

or in

mm

or

radi

ans

ur

vr

θr

(b) Error in identified rigid body motion parameters

Figure 7.8: 1000 accuracy tests of rigid body motion solutions: a Monte Carlo analysis.

The results confirm the high accuracy of the solution strategy. Notice that the algorithm is ableto identify the correct rigid body motion components with errors in the order of 1e−10, the sameaccuracy as the zero reference.

Page 126: Identification of material properties using finite elements and full ...

112 CHAPTER 7. MODEL PARAMETERIZATION

y (m

m)

Displacements um(x,y) in mm

−10

0

10

x (mm)

y (m

m)

−10 0 10

−10

0

10

−10 0 10 −10 0 10 −10 0 10

0 1 2 3 4 5 6 7 8 9

0

5

10x 10

−4

Rot

atio

n an

gle

(rad

ians

)

0.75

0.8

0.85

0.9

0.95

1

1.05

1.1

1.15

1.2

1.25

x 10−3

Figure 7.9: Rigid body motion effects on simulated measurements: Addition of rigid body rotationangle θr into displacement field u(x, y).

y (m

m)

Displacements um(x,y) in mm

−10

0

10

x (mm)

y (m

m)

−10 0 10

−10

0

10

−10 0 10 −10 0 10 −10 0 10

0 1 2 3 4 5 6 7 8 90

5

10x 10

−4

disp

lace

men

t (m

m)

1

1.1

1.2

1.3

1.4

1.5

1.6

1.7

x 10−3

Figure 7.10: Rigid body motion effects on simulated measurements: Addition of rigid body dis-placements, ur, into displacement field u(x, y).

Page 127: Identification of material properties using finite elements and full ...

7.4. DEFINITION OF EXTERNAL EXPERIMENTAL PARAMETERS 113

7.4.2 Correcting camera misalignment

When determining the alignment of the camera (world coordinate system) with reference pointswe can expect accuracies depending on the number of reference points and the uncertainty ofdetermining the pixel coordinates of each point. In the previous chapter it was shown throughexamples that accuracies of less than 1 degree of misalignment between model and experiment canbe expected in typical experiments.

In this section we address what happens if there is a discrepancy between the position of thenumerical model and the predicted position of the camera. This question is particularly importantbecause in some practical applications, reference points may not be easily available: for example,in interferometry, displacements may be extracted from a projection of the specimen onto a screenand not the specimens themselves. In such cases characteristic features of the specimens may notbe visible in the projected image, the case of Moire interferometry [147, 34, 148], or may be blurredin space in the presence of geometric doubling effects, the case of speckle shearography [148, 34].

Description of the phenomenon

An idealization of the effects of camera misalignment is shown in figure 7.11. In this example,we assume that the numerical model is identical to the experiment except the x position of thespecimen in the image is incorrectly determined. There is a translation error of tx between thenumerical model and the image.

Specimen as viewed by the camera

Numerical Model:Not aligned with the specimen image

Points

A B Horizontal Line

(a)

A B

Numerical Displacements

MeasuredDisplacementsD

ispl

acem

ents

: V

(b)

Figure 7.11: The effects of camera misalignment in the comparison of displacement maps. Figure(a) shows the error in alignment between the visualized specimen (solid lines) and the numericalmodel (dashed lines). In this example, the specimen and boundary conditions are the same as inFigure 7.5. Points A and B points directly above the hole in the experimental plate and numericalmodel, respectively. These points should coincide when the measurements and model are perfectlyaligned. Figure (b) shows the transverse displacements along the horizontal line. Notice thatshapes of the numerical and measured displacements are identical except the peaks of the twocurves do not coincide.

Page 128: Identification of material properties using finite elements and full ...

114 CHAPTER 7. MODEL PARAMETERIZATION

When comparing the displacement curves, v, along the horizontal line, we see that shapes ofthe numerical and measured displacements are identical except the peaks of the two curves do notcoincide. They are separated by the distance tx along the x direction. Even though the curves areidentical in shape, the displacement gap, the area between the two curves, may be very large. Ifthe alignment is not corrected it is possible that this displacement gap may be compensated byerrors in the identification of other parameters (e.g. material properties).

One should note that the area between the two curves is proportional to the variation ofthe displacements along a line, i.e. the strains. If for example, the specimen had a constantdisplacement along the line (i.e. zero strain) the area between the two curves would be zero.However, if we consider that typical experiments for identification with full-field measurementshave very heterogeneous displacement maps, it is possible that a small error in alignment can leadto significant error in the solution of material parameters of interest. The quantitative effect ofmisalignments in material identification is treated in detail in the next chapter.

It is generally more difficult to illustrate the effects of an error in the angular position, θc, ofthe camera. The effect is actually dependent on the measurement technique. For interferometrictechniques only the position of the measurement is affected by a camera rotation angle. Themeasured displacements are unaffected since the deformation of the specimen is calculated by theinterference of external light-beams, which are independent of the position of the camera. In thiscase the measured points are related to the numerical coordinates by the following equation

~xm(i) =[R(~θc)

]−1

(~xnm(i) − ~t).

Recalling that in our notation /vect is the translation offset of the camera position and the su-perscript m represents a measured quantity in the camera coordinate system, and nm is the samequantity in the numerical coordinate system.

In white-light techniques, however, correcting the coordinate of each measured point is notenough to model the phenomenon. In white-light techniques measured displacements are obtainedby correlating measured coordinates of images taken before and after loading. Since these coordi-nates were both affected by the rotation, the measured displacement is actually

~um(i) =[R(~θc)

]−1

~unm(i) .

Similar to rigid body rotation, a large camera rotation angle misalignment is easily detectableby the experimenter. Figure 7.12 illustrates the effects on displacement measurements consistentwith white light full field measurement techniques (e.g. image correlation).As the images illustrate, the effect of this rotation angle simultaneously alters the coordinates ofthe measurands, and produces an anti-symmetry of the displacement field with respects to themeasurement axis. Note also that for small angles, the anti-symmetry could be easily mistakenwith a rigid-body rotation by the experimenter.

Correction strategy

In order to correct for the alignment, we propose that the orientation parameters (Euler anglesand translation vector) discussed in the previous chapter remain free through-out the optimizationprocedure, within their uncertainties. Hence, the problem is written as the minimization of theleast squares problem

min~λ, ~θc, ~t

12N

N∑i=1

~umn(i) − ~um(i)

T [S](i)

~umn(i) − ~um(i)

,

subject to constraints θlj ≤ θcj ≤ θuj and tlk ≤ tck ≤ tuk , with j, k = 1, 2, 3. The upper and lowerlimits of Euler angles and translation vector depend on an estimate of their uncertainties3. The

3It is very important to constrain this optimization in order to guarantee that the same experimental points fallinside the numerical model for every iteration. Otherwise, the solution to the orientation parameters will be suchthat no experimental point lie inside the numerical model (i.e. cost function is equal to zero).

Page 129: Identification of material properties using finite elements and full ...

7.4. DEFINITION OF EXTERNAL EXPERIMENTAL PARAMETERS 115

y (m

m)

Displacements um(x,y) in mm

−10

0

10

x (mm)

y (m

m)

−10 0 10

−10

0

10

−10 0 10 −10 0 10 −10 0 10

0 1 2 3 4 5 6 7 8 9

0

10

20

Cam

era

rota

tion

(deg

rees

)

8.5

9

9.5

10

10.5

x 10−4

Figure 7.12: Simulated displacement field measurements, u(x, y), with a camera misalignment.The simulation is consistent with white light measurement techniques such as the illustrated imagecorrelation setup.

numerical displacements, ~umn(i) , are the transformation of ~un(i) ,

~umn(i) =[R(~θc)

]−1

~un(i) ,

which are interpolated at numerical coordinates,

~xnm(i) =[R(~θc)

]~xm(i) + ~t.

In general the solution to this problem is iterative. Each calculation of the cost function requires:computing the coordinates of each experimental point in the numerical system, interpolating nu-merical displacements at that point, then transforming these displacements onto the measuredcoordinate system.

Numerical tests

Chapter 5 demonstrated that the orientation problem is convex when minimizing a cost functionbased on reference coordinates (i.e Wahba’s problem). In this section we discuss a strategy fordetermining alignment parameters tx, ty, and θ by minimizing a cost function based on displace-ment measurements. In this case it is much more difficult to establish the convexity in the general

Page 130: Identification of material properties using finite elements and full ...

116 CHAPTER 7. MODEL PARAMETERIZATION

cases. This is because measured displacement fields are highly dependent on the geometry of themechanical specimen, and derivatives of FE displacement fields are not often continuous. Hence,we will only demonstrate convexity in the case to a particular problem. Figure 7.13 contains a plotof the displacement gap,

J(~t, θ) =~utest − ~urefT [S]

~utest − ~uref .

The matrix [S] is a diagonal scale matrix, which divides the u and v components by the scales ofthe reference maps. The reference maps are the ones described in section 7.4.

−1−0.5

00.5

1

−1

−0.5

0

0.5

10

0.5

1

1.5

2

2.5

x 10−3

tx (mm)t

y (mm)

J(t x,t y)

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 10

0.005

0.01

0.015

0.02

0.025

0.03

0.035

0.04

θ (degrees)

Res

idue

: J(θ

)

Figure 7.13: Displacement gap variation with respects to camera orientation parameters

Notice that the displacement gaps appear to be convex, in quadratic form and well-scaled.Such a problem is generally efficiently solved using a gradient based optimizer. Recall that anew FE solution is not required when varying orientation parameters exclusively, only a newinterpolation. In chapter 6, we demonstrated the speed of the interpolation algorithm based onFE shape functions, hence just as in rigid-body motion, it may be advantageous to separate thesolution of orientation parameters from other parameters. This will reduce the number of FEsimulations in the identification procedure and decrease the total identification time.

7.4.3 Accounting for non-orthogonality of measurements

The previous section discussed the possible misalignment of the camera, which is characteristicof white light full-field techniques (in particular DIC). In such techniques the measured displace-ments are inherently associated with image acquisition system. For interferometric techniques,displacement measurements are independent of the camera it self. Displacements are calculatedfrom interference patterns generated by polarized light beams, whose orientations depend on theirphysical alignment in space. Chapter 2 explained in detail the concept of a sensitivity vector ~g.This vector depends on the illumination directions ( e.g. ky, k−y ) and the observation directionko (see figure 7.14),

~gy = ko − ky, ~g−y = ko − k−y,~g2 = k−y − ky.

Here, ~g1 is the sensitivity vector aligned with the x axis and ~g2 aligned with the y axis.An interferometric technique measures interference pattern changes between deformation states.

These are expressed as phase changes ∆Φ, such that

∆Φ ∝ ~g1 · ~ue and um ∝ ∆Φ,

recalling that ue is the real displacement and um the measured displacement. A pair of illuminationbeams will only register any displacements components parallel its associated sensitivity vector ~g.Generally, an effort is made to align the mirrors to the tensile and orthogonal to the tensiledirections. There is also an effort to align the camera system with respects to beams. Clearly, it is

Page 131: Identification of material properties using finite elements and full ...

7.4. DEFINITION OF EXTERNAL EXPERIMENTAL PARAMETERS 117

impossible to align all parts in the physical system perfectly. Thus, we can expect that measureddisplacements um(x, y) and vm(x, y) will not be orthogonal to each other, nor will they align withmeasurement (camera) axis xm, ym. Figure 7.16, illustrates the measured displacement fields withillumination beams misaligned from measured coordinate system. Notice that in the illustratedcases, in spite of the mirror misalignments, the measured coordinates are the same as the numericalcoordinates (i.e. ~xn(i) = ~xm(i) but ~un(i) 6= ~um(i) ).

(a)

(b) (c)

Figure 7.14: Source of non-orthogonality of displacement measurements in systems such as Moireinterferometry and ESPI. (a) Optical setup and sensitivity vectors. (b) Ideal alignment of mirrors.(c) Actual alignment of mirrors.

As the example suggests, the coordinate and displacement transformations are independent fromeach other,

~xmn(i) = [R(θ0)] ~xm(i) + ~t, (7.7)umn(i) = g1(θ1) · ~un(i) and vnm(i) = g2(θ2) · ~un(i) . (7.8)

Note, in the notation employed here g1 is a unit vector in the direction of ~g1. The angle θ0 isthe alignment of the camera with respects to the model axis, and the angles θ1, θ2 are the anglesbetween sensitivity vectors ~g1, ~g2 and the xm, ym axes, respectively. To correct these, the anglesof the sensitivity vectors may be parameterized and included in the identification procedure. Theidentification problem is stated hereafter,

Page 132: Identification of material properties using finite elements and full ...

118 CHAPTER 7. MODEL PARAMETERIZATION

min~λ, ~t, θ0, θ1, θ2

12N

N∑i=1

~umn(i) − ~um(i)

T [S](i)

~umn(i) − ~um(i)

,

subject to constraints θlj ≤ θcj ≤ θuj and tlk ≤ tck ≤ tuk , with j = 0, 1, 2 and k = 1, 2, 3. The upperand lower limits are determined from an estimate of the uncertainty of each parameter. Just ascamera misalignment, the general solution to this problem is iterative. If the uncertainty of cameraalignment is less than those of the sensitivity vectors, it is possible to develop a non-iterative linearapproximation of the solution.

Linear approximation

When neglecting camera misalignment, the problem definition of non-orthogonalities closely re-sembles Wahba’s problem, defined in the previous chapter (see section 5.4.2). In fact, given thecorrect material properties, the problem is better adapted since, unlike Wahba’s problem, we havethousands of reference points instead of few selected reference points. We will hence propose asimilar solution, where each of the rows of the rotation matrix [C] is determined independently.The strategy is summarized hereafter,

First, the problem is written as a linear system,

[umc(1) umc(2) umc(N)

]︸ ︷︷ ︸[um]

=[c1x c1y

]︸ ︷︷ ︸c1T

[unc(1) unc(2) unc(N)

vnc(1) vnc(2) ... vnc(N)

]︸ ︷︷ ︸

[Un]

,

[vmc(1) vmc(2) vmc(N)

]︸ ︷︷ ︸[vm]

=[c2x c2y

]︸ ︷︷ ︸c2T

[unc(1) unc(2) unc(N)

vnc(1) vnc(2) ... vnc(N)

]︸ ︷︷ ︸

[Un]

.

Thus, the solution ofc1

is

[um] [Un]T =c1T

[Un] [Un]T ,

⇒ c1T

= [um] [Un]T(

[Un] [Un]T)−1

, (7.9)

analogously, c2T

= [vm] [Un]T(

[Un] [Un]T)−1

. (7.10)

The approximation of sensitivity vectors are obtained by normalizingc1

and ~c2,

g1 =1

|| c1 ||c1

and g2 =1

|| c2 ||c2. (7.11)

The error of the approximation will be proportional to the displacement measurement’s bias andrandom errors (see section 5.4.2 for further details).

7.4.4 Measurement Distortion

When measuring displacement/strain data using a full-field technique, it is important to considernon-linearities inherent to any optical system. Manufacturing defects in the lens and other physicalphenomena, such as irregular pixels in a CCD camera, will tend to distort a real image in themeasurement map. This is particularly important in white light techniques, where geometricinformation is extracted from images, and correlated in pixel coordinates. A physical point ~xe(i) inthe object appears as a measured point ~xm(i) in the recorder images, and the relationship between thetwo is generally non-linear, as opposed to Wahba’s problem which is a linear transformation. The

Page 133: Identification of material properties using finite elements and full ...

7.4. DEFINITION OF EXTERNAL EXPERIMENTAL PARAMETERS 119

(a) K1 < 0 (b) reference (c) K1 > 0

Figure 7.15: Examples of radial distortion. The reference image (b) is distorted via equation 50,with n = 1 and (a) K1 = −0.001, (c) K1 = 0.001.

distortion of an imaging device is often modeled as a pin hole camera, where the real coordinates(corrected images) are transformed into measured coordinates (distorted images) by the expression,

xm = xe + x

(n∑i=1

K(i) r2i

)︸ ︷︷ ︸radial distortion

+[P1(r2 + 2x) + 2P2xy

] [1 +

n∑i=1

Pi+2r2i

]︸ ︷︷ ︸

decentering distortion

,

where

x = xe − cx, y = ye − cy, z = ze − cz,r =

√(xe − cx)2 + (ye − cy)2 + (ze − cz)2.

The coefficients Ki and Pi are known as the radial and decentering distortion coefficients, respec-tively. The point (cx, cy, cz) is the image center. Figure 7.15 shows a reference grid distorted bythis model.

The pin-hole model is often used in calibration procedures for optical measurement techniques[149, 150, 57]. Typically only the first two terms of radial distortion K1, K2 are considered inthe calibration, the remaining higher order terms are assumed to be negligible. Calibration isoften performed by visualizing a series of known geometries such as a grid of reference points orlines. A sequence of images of the object is acquired and the coordinates of the reference featuresare obtained by a feature detection algorithm. The distortion parameters are then determined byminimizing the difference between a correction of the detected features and the reference object.These parameters are used to reduce the distortion of images of the actual experiment.

If the calibration is perfectly performed, there will be no error in the position of the measuredpoint and the physical point. However, since the calibration procedure is iterative, and the costfunction accuracy depends on the accuracy of a feature detection algorithm and the always presentexperimental noise, the calibration coefficients ~K are

~K = ~Kreal + ∆ ~K.

Hence, the coordinates of a measured point are different from the coordinates of a physical pointby

xm = xe + x

(n∑i=1

∆Kir2i

). (7.12)

Page 134: Identification of material properties using finite elements and full ...

120 CHAPTER 7. MODEL PARAMETERIZATION

When comparing the measured displacements ~um(i) at point ~xm(i) with finite element results inthe point ~xn(i) , where ~xn(i) is calculated from orientation equations, equation (5.2), we can expectthe numerical displacement, ~umn(i) , for this point to be ~u′(i) instead, where

~u′(i) = ~umn(i) +∂~umn(i)

∂~x· (~xei − ~xmi )︸ ︷︷ ︸

position error

+ higher order terms.

Thus, a least squares minimization of measured to numerical displacements will be biased by a fac-tor proportional to the strain at distorted zones. This is true only for interferometric measurementtechniques (e.g. Moire interferometry, speckle shearography, etc) where distortion only affects theuncertainty of the position of each measurement point. For white light techniques (e.g. the gridmethod, image correlation, etc...) we can expect the measured displacements to be affected as well.This is because geometric measurement techniques rely on surface features as information carriersbetween the undeformed and deformed states. Hence, a local scale affects the local displacementmeasurements. Interferometric techniques in the other hand rely on phase maps extracted frominterference patterns of light. These phase maps are not necessarily calculated from local scale,such is the case of temporal phase shifting.

To evaluate this measurement error, we consider a point ~xe that undergoes a translation of ~ue.If we map each point onto the real specimen following equation (7.12), we obtain

xm + um = xe + ue + (xe + ue − cx)

(n∑i=1

fi(xe + ue)

),

with fi(~xe) = ∆Kiri2. We can approximate the values fi(~xe + ~ue) = ∆Kir

i2 with a Taylor seriesexpansion

fi(xej + uej) = fi(xe) +∂fi∂x

ue + higher order terms,

= fi(xe) +∂fi∂r2

∂r2

∂xue,

= ∆Kir2i︸ ︷︷ ︸

fi

+ 2i∆Kir(2i−2)(xe − cx)︸ ︷︷ ︸

∆fi

.

Substituting this approximation onto the previous equation, yields

um = ue + (xe − cx)

(n∑i=1

∆fi

)+ ue

(n∑i=1

fi + ∆fi

)The other displacement components, vm and wm, are calculated analogously. For a white lightmeasurement system we expect the numerical displacement, ~umn(i) , for point i to be ~u′′(i) , where

~u′′(i) = ~umn(i) +∂~umn(i)

∂~x· (~xmi − ~xei )︸ ︷︷ ︸

position error

+ (~umi − ~uei )︸ ︷︷ ︸displacement

error

+ higher order terms.

Figure 7.17(a) shows a simulated displacement field with added lens distortion. The units of thelens distortion coefficients were selects such that Ki = Ki

r2i , this way their produced distortion effectswill be independent of the image size. Notice that very small values of distortion coefficients willproduce significant anti-symmetric effect on the displacement maps. Hence, if there is a calibrationerror in the pin-hole model, the experimenter will likely detect such error for all but for very smallvalues of these coefficients. If we subtract the distorted field from the reference field, we can seethe modes generated by lens distortion. Figure 7.17(b) illustrates the point-wise displacement gap,

Page 135: Identification of material properties using finite elements and full ...

7.4. DEFINITION OF EXTERNAL EXPERIMENTAL PARAMETERS 121

J(x, y) = ue − umT [S] ue − um .As the figure illustrates, the lens distortion creates a radial concentration of error in the edges ofthe image. The defects, if noticed by the experimenter, are often avoided by cropping the cornersor adjusting the zoom such that the object only encompasses the center of the image.

In the context of material identification, we propose accounting for these effects, just as inprevious examples, by adjusting the distortion coefficients to improve the displacement gap. Theprocedure is iterative and involves four steps: One, for a given set of distortion coefficients ∆Ki,map the experimental coordinates onto the numerical system. Two, interpolate displacementsfrom the numerical model, interpolate: xne(i) → un(i) . Three, map the corresponding numericaldisplacements onto the measurement coordinate system rotate: un(i) → uen(i) , distort: uen(i) → umn(i) .Four, compute the cost function and update the distortion coefficients. The full procedure forcorrecting lens distortion is beyond the scope of this text.

Page 136: Identification of material properties using finite elements and full ...

122 CHAPTER 7. MODEL PARAMETERIZATION

y (m

m)

Displacements um(x,y) in mm

−10

0

10

x (mm)

y (m

m)

−10 0 10

−10

0

10

−10 0 10 −10 0 10 −10 0 10

0 1 2 3 4 5 6 7 8 9

0

5

10

θ 1 rot

atio

n (d

egre

es)

9

10

11

x 10−4

y (m

m)

Displacements vm(x,y) in mm

−10

0

10

x (mm)

y (m

m)

−10 0 10

−10

0

10

−10 0 10 −10 0 10 −10 0 10

0 1 2 3 4 5 6 7 8 9

0

5

10

θ 2 (de

gree

s)

−15

−10

−5

0

5

x 10−5

Figure 7.16: Simulated interferometric measurements with non-orthogonal illumination beams, g1

and g2. The angles θ1 and θ2 are the angles between measurement axis xm and g1, and ym andg2, respectively.

Page 137: Identification of material properties using finite elements and full ...

7.4. DEFINITION OF EXTERNAL EXPERIMENTAL PARAMETERS 123

y (m

m)

displacements um(x,y) in mm

−10

−5

0

5

10

x (mm)

y (m

m)

−10 0 10

−10

−5

0

5

10

−10 0 10 −10 0 10 −10 0 10

0 1 2 3 4 5 6 7 8 9

0

5

10

15x 10

−8

Nor

mal

ized

Dis

tort

ion

coef

ficie

nt K

1

−8

−6

−4

−2

0

2

4

6

8

x 10−5

(a)

y (m

m)

Residue maps J(x,y)

−10

0

10

x (mm)

y (m

m)

−10 0 10

10

0

−10

−10 0 10 −10 0 10 −10 0 10

0 1 2 3 4 5 6 7 8 9

0

5

10

15x 10

−8

Nor

mal

ized

dis

tort

ion

coef

ficie

nt K

1

5

10

15

20

25

30

35

(b)

Figure 7.17: Distortion effects on simulated measurements: (a) Measured displacements um(x, y),(b) Residue map J(x, y) =

uref − udistT [S]

uref − udist.

Page 138: Identification of material properties using finite elements and full ...

124 CHAPTER 7. MODEL PARAMETERIZATION

Page 139: Identification of material properties using finite elements and full ...

Chapter 8

Optimization aspects of materialidentification

8.1 Introduction

In the context of inverse problems, identification with optical full-field measurements (OFFMs)and finite element model update (FEMU) presents a series of particular challenges, in that bothmodel parameters and responses are not easily definable. This is because FE models incorporateparameters dealing only with mechanical considerations. These are not always sufficient to modelthe experiments, making it difficult to relate the measured responses to the FE response. Inprevious chapters, we have developed techniques to address these points. Chapter 5 and 6 discussedthe orientation of the model to the experimental data and the acquisition of numerical degrees offreedom at experimental data points, respectively. Chapter 7 outlined the definition of modelparameters.

With these techniques and definitions, it is currently possible for a given set of model parametersto determine the model responses (e.g. displacements and strains) and process them so they areeasily comparable to experimental responses. This chapter aims to assemble the remaining piecesof the identification procedure, namely the definition of the objective function and the choice of theoptimization parameters and algorithm. The chapter begins with an overview of possible cost func-tions in FEMU given typically available measurements. Of these, the displacement gap is selectedfor closer scrutiny. The chapter proceeds by discussing the choice of material parameterization inthe identification routine and concludes by benchmarking a number of optimization algorithms.The discussion uses a plate with a hole specimen as a typical example.

8.2 Overview of residual cost functions

In purely conceptual terms, identification of material properties is performed by varying materialparameters in order to match the response of a mechanical model against a measurement. It makesno assumption about what responses are compared, nor does it restrict the actual quantitativemetric for assessing the similarity of the model to the experiment. Typical measured responsesinclude displacements and displacement gradients (strains), obtained at a fixed point in space,case of strain gauges, or throughout a portion of space, in the case of OFFMs. In general, themechanical responses to be compared are not limited to what can be measured directly, but mayinclude transformation of the measurands, such as strain-energy, unbalanced forces and otherequilibrium conditions.

Contrary to the conceptual problem, implementations of material identification require theselection of which mechanical responses are to be compared to each other, and the definition ofa quantitative measure of the difference between one set of responses and another. In literature,the magnitude of the difference between model and experiment responses is generally referred toas a cost function or residue/residual function. The form of this function is central for practicalidentification problems, because the minimization of the difference between model and experiment

125

Page 140: Identification of material properties using finite elements and full ...

126 CHAPTER 8. OPTIMIZATION PROFILE

is carried-out automatically via a numerical optimizer. These require a systematic and consistentway of determining how the response to one set of material parameters ranks with respect toanother. In other words, the choice of cost function conditions the mathematical characteristics ofthe optimization problem: convexity, continuity and sensitivities.

In most identification problems, the entry values of the cost functions, e.g. displacements/strain,are often selected based on what information is provided by the experiment. For example, if wehave an OFFM that produces displacement maps with no post treatment, the displacement gapis the most natural choice. If differentiation of the field is carried out optically, such as speckleshearography [34], the strain gap equation may be the most appropriate. If both are independentlyavailable, we may consider a residue form which combines the two entry values (e.g. weighted sum),solve them independently and combines results later in statistical analysis, or solve for them bothindependently but simultaneously in a multi-objective strategy.

This section presents an overview of the possible cost function formulations and their potentialadvantages and disadvantages. For this discussion, the cost functions are classified into four types:strain and displacement gaps, constitutive and energy gaps, coordinate and geometric gaps orresemblance functions, and finally mixed and multi-objective formulations.

Displacement and strain gaps

To the author’s knowledge, identification with FEMU is most commonly performed by minimizingeither a displacement or strain gap cost function. Recalling the notation, um and εm arevectors of measured displacements and strains, respectively. A vector um is an array assemblingthe measured displacement components of each of N points. In 2D, the measured displacementsand strain vectors are

um =um(1) vm(1) um(2) vm(2) · · · um(N) vm(N)

T,

εm =εm11(1) εm22(1) εm12(1) εm11(2) εm22(2) εm12(2) · · · εm11(N) εm22(N) εm12(N)

T.

Parentheses are used to distinguish between point and coordinate indexes. Vectors u and εrepresent numerical displacements and strains obtained at the same coordinates as the measure-ments.

Following this notation, a general displacement and strain gap is written as

Ju,v = um − uT [Wuv] um − u , (8.1)

Jε = εm − εT [W ε] εm − ε , (8.2)

where [Wuv] and [W ε] are N ×N weight matrices. In their simplest forms, the displacement andstrain gaps are

Ju,v =N∑i=1

(um(i) − u(i)

)2 +(vm(i) − v(i)

)2,

Jε =N∑i=1

(εm11(i) − ε11(i) )2 + (εm22(i) − ε22(i) )2 + (εm12(i) − ε12(i) )2.

Variations on the displacement and strain gap formulations may be generated by considering onlysome components of displacement and strains, or by a transformation of the quantities, e.g. rotationof coordinates. In [34, 19], the author describes experiments conducted with a series of differentstrain gap formulations, using invariants instead of rectangular components. Results indicate thatinvariant formulations may be less subjective to misalignment of experiment and numerical model.From experience, the author has noted that strain based cost functions tend to be more dependenton the exact meshing of the FE model than displacement-based cost functions. The dependencyis likely because linear finite elements produce continuous displacement fields but only piece-wisecontinuous strain fields. The author believes that it is common practice to replace displacement and

Page 141: Identification of material properties using finite elements and full ...

8.2. OVERVIEW OF RESIDUAL COST FUNCTIONS 127

strain values with centered values, i.e. uc(k) = u(k) − 1N

∑Ni=1 u(i) . However, often little information

is given about possible treatment of the numerical and experimental maps before inserting theminto the cost functions.

Constitutive, equilibrium and energy gaps

Constitutive and energy gap formulations combine kinematic and static information in the measureof difference between the model and experiment. Since full-field stress measurements are impossibleto obtain in general cases, the formulation contains a number of the material parameters, e.g.

Je =∫V

(σkl − Cklijεmij )C−1klpq(σpq − Cpqijεmij )dV.

In [15], the authors employed an identification strategy that aimed to minimize the strain energydifference between model and experiment. The process involved minimizing a similar cost function,while constraining the values of the parameters to satisfy static equilibrium.

Coordinate and geometric resemblance

As an alternative to minimizing a cost function, it may be more convenient instead to maximize theresemblance between model and experiment. Conceptually the two processes are strictly equiv-alent, and should lead to the same result, i.e. the maximization of a positive gain function isequivalent to the minimization of its reciprocal function. The procedure is common in image corre-lation measurements, where images of a specimen with a speckle pattern are captured at differentloading conditions. The displacements and strains between two states are obtained by imposinga deformation field onto the first image and comparing it to the final image. The resemblancebetween the final image f(x, y), and the first image distorted by the deformation field g(x, y) ismeasured by a convolution, [f ∗ g], defined as

[f ∗ g](x, y) =∫ ∞−∞

∫ ∞−∞

f(ξ, η)g(x− ξ, y − η) dξdη.

The gain function H may be an integral of this convolution over the entire image Ω,

H =∫ ∫

Ω

[f ∗ g](x, y) dxdy

or over a series of small subdivisions of the image, Ωk, known as correlation windows,

H =no. subdivisions∑

k=1

∫ ∫Ωk

[f ∗ g](x, y) dxdy.

This gain function is convenient when working with pixel data. The operation may be re-writtenin a matrix form. It is not particularly adapted for identification from scattered measurements,since the former requires equally spaced data or piecewise continuous functional approximations ofboth numerical and experimental fields. Recently, a novel strategy has been proposed by L. Boutenand S. Avril, which employs such gain functions in FEMU identification. The strategy consistsof imposing a deformation pattern that is calculated with a FE model onto the initial image andcomparing it to the final image. The process, hence, works with raw pixel data and skips theextraction of experimental displacement and strain fields.

Multiobjective and mixed formulations

Other than the standard choices of cost functions based on a single source and type of measurement,it is possible to consider hybrid formulations, which combine multiple types of measurements orinformation from multiple sources. For instance, it is common in experiments to take severalmeasurements of the same specimen at several loading steps, (um)Ll=1. In the case of elasticityeach loading step may be treated separately, e.g. for load steps l = 1 · · ·L,

Page 142: Identification of material properties using finite elements and full ...

128 CHAPTER 8. OPTIMIZATION PROFILE

J1 =(um − uT [Wuv] um − u

)1,

J2 =(um − uT [Wuv] um − u

)2,

· · ·Jl =

(um − uT [Wuv] um − u

)l,

the strategy solves for l independent values of ~x∗,[min~x

J1, min~x

J2, · · · , min~x

Jl]→ [

(~x∗)1, (~x∗)2, · · · , (~x∗)l].

These results may be used afterwards to compute statistics. The cost functions could also besolved simultaneously, yielding a single solution of ~x∗, e.g. via a linear combination of the k costfunctions,

min~x

L∑l=1

βlJl.

The variables βl are coefficients of a linear combination. If the user wishes to avoid imposingrelative weights in a linear combination, the cost functions may be solved simultaneously in amultiobjective strategy

min~x

[J1, J2, · · · , Jl

].

Since it may not be possible to find a single value of ~x∗ that minimizes all cost functions, Jl,simultaneously, a multiobjective optimization strategy will generally produce a surface of possiblesolutions, known as a Pareto set or front [151].

Other than multiple measurements of the same quantity, it is feasible to produce cost functionsand optimization strategies mixing multiple types of measured quantities. If a technique producesindependently both displacement and strain maps, one may consider combinations of displacementsand strain differences

J1 = um − uT [Wuv] um − u ,J2 = εm − εT [W ε] εm − ε .

It is also possible to envision engineering applications that incorporate information from opticaland non-optical sources, such as strain gauges and extensometers. To the author’s knowledge, theexplicit mixing of several types of measurements into a cost function has not yet been performedin identification with full-field measurements. However, it is not uncommon to use strain gauges,for instance, to assess the quality of the mechanical setup in optical measurements.

Modifications of standard cost functions

We may also consider improvements to common cost functions. For instance, a function may weightthe contribution of a point’s gap value to its position in space. This way, points that carry moreinformation on moduli of interest will be given more importance than other points. This weighingis already done implicitly in a simple least squares fit, which assigns a larger weight for data pointswith high displacement or strain values.

An alternative cost function may be proposed, which aims at leveling the contribution of allpoints,

J =12

N∑i=1

(1−

[L(u(i) )L(um(i) )

])2

+(

1−[L(u(i) )L(um(i) )

])2

. (8.3)

The function L is a look-up function to avoid division by zero. For example, let

Page 143: Identification of material properties using finite elements and full ...

8.3. ASSUMPTIONS ABOUT THE MINIMIZATION PROBLEM 129

Figure 8.1: Example of an exponential look-up function, equations (8.4) and (8.5).

f(u) = u0 exp[

1u0

(u− u0)], (8.4)

a piece-wise continuous and differentiable look-up function may be written as

L(u) = |u| if u0 < |u|f(|u|) if 0 ≤ |u| ≤ u0

. (8.5)

A possible physical interpretation of the constant u0 is that it represents a cut-off value proportionalto noise levels and resolution of displacement measurements, um. Measured values smaller thanu0 exhibit high noise levels, and are less distinguishable from noise and each other than largervalues would be. The look-up function curbs the influence of such points in the cost function(equation (8.3)).

As with mixed formulations, to the author’s knowledge, such a formulation has not yet beenperformed in identification with full-field measurements.

8.3 Assumptions about the minimization problem

After selecting a residue formulation, J(~x), the problem of identifying material properties may bewritten in the form of equation (3.1),

min~x∈<n

f(~x) | f(~x) = J(~x) subject to

ci(~x) = 0 i ∈ Ecj(~x) ≥ 0 j ∈ I ,

The parameters ~x are elastic constants, where ~x ∈ <2, ~x ∈ <4 or ~x ∈ <5 for isotropic, speciallyorthotropic and generally orthotropic materials, respectively. The constraints ~c, are divided into2 types: physical constraints based on thermodynamic considerations1, and constraints based onnon-physical numerical considerations.

As with any optimization problem, the minimization strategy depends on the cost functionresponse to its parameters. The natural inclination is to write out the finite elements equations forthe mechanical problem leaving the material properties as variables. In this manner, an explicitform of the finite element solution is obtained and substituted into the cost function. The exactbehavior of the cost function could be ascertained through a closed-form solution. In FEMU,

1Physical constrains require that all stress components in a material produce positive work. The physical con-straints take a simple form when the components of the compliance matrix are taken as the material parameters,S11, S22, S66 > 0, S12 < 0,

√S11S22 − |S12| > 0. For constraints expressed in other material parameterizations

see pages 67-70 in [132].

Page 144: Identification of material properties using finite elements and full ...

130 CHAPTER 8. OPTIMIZATION PROFILE

however, due to the shear complexity of the operations required in writing the cost function inclosed-form, the approach is too tedious for most practical cases. For example, let a reducedlinear-elastic finite element problem be written as

[K] u = F .In the notation employed here, the vector u is an array assembling the unknown displacementcomponents of each node of the model. In 2D,

u =u1 v1 u1 v1 · · · uN vN

T.

Following a similar notation, the vector F is the load vector of known applied forces at eachrespective node. The N × N matrix, [K], is the reduced global stiffness matrix, assembling eachelemental stiffness matrices Ke and excluding or rearranging rows and columns where the nodesdisplacements are part of a pre-described boundary condition. The matrix [K] is of full rank, andthus the nodal displacements for a given set of material properties may be obtained by invertingthe matrix [K(~x)],

u = [K(~x)]−1 F .If displacement measurements, um, are available at node positions, the residue function J(~x),

e.g. the displacement gap function, may be written in explicit form,

J(~x) = ([K(~x)]−1 F − um)T ([K(~x)]−1 F − um).From this explicit form, characteristics of the cost function, such as continuity, convexity, degreeof response and parameter sensitivity could all be evaluated directly. However, the discretizationof even simple mechanical tests require meshes with large number of elements (over 1000), andwould thus require the user to keep track of the terms of a 1000× 1000 matrix, and find symbolicsolution to its inverse. Clearly, it may become too tedious to write-out such expressions for all butvery simple FE meshes.

8.3.1 Analysis of the black-box scenario

Like many optimization problems in physical sciences, it was decided in this thesis to treat identi-fication via FEMU as a black-box system. The choice was made in order to allow us to focus ourenergy on other problems such as incorporating experimental errors in the identification routine.In the black-box scenario, the FE model is treated from the outside, which allows us to incorporatequickly new models and features to our routines. Here there is no closed-form expression of thecost function, and thus no information is explicitly available about its parameter-space variation.All available information is obtained by cost function values computed after a request, i.e. for arequested variable ~xi, the optimizer has access to a value f(~xi) and nothing else. In many practicalblack-box problems, the solution of the optimization problem can only be obtained by stochasticoptimizers and randomized search heuristic algorithms, such as random local and tabu searches,simulated annealing and genetic algorithms [152].

For some physical systems, a black-box problem may also be solved through a metamodelapproximation of the real model response. For instance in FEMU, a numerical displacement mapu(~x), could be replaced by a response surface, Φ, designed to learn from a number of numericalfield calculations ukNk=1,

u(~x) ≈ Φ(~x, ukNk=1).

Through such a response surface, the identification problem could be solved using one of the afore-mentioned optimization algorithms, requiring relatively few FE solutions. Depending on the typeof response surface approximation, it may also be feasible to obtain a closed-form approximationof the cost function, which may then be solved using a more numerically efficient method. Thereis currently a wide range of response surface modeling techniques, such as polynomials, neuralnetworks, Kriging and support vector regression, which may be suitable for modeling the finiteelement displacement fields.

Page 145: Identification of material properties using finite elements and full ...

8.4. NORMALIZING AND CENTERING THE DISPLACEMENT GAP 131

Alternatively, a simpler approach is to create a metamodel approximation of the cost functionitself without attempting to approximate the point-wise response of the FE solution to a parameterchange. This is the approach adopted in this thesis. In this case the metamodel, φ, is obtained fora series of cost function evaluations f(~xk)Nk=1, such that

f(~x) ≈ φ(~x, f(~xk)Nk=1).

Such a response surface is implicitly employed in most quadratic programming algorithms. Theyassume the cost function may be locally approximated by a second-order Taylor’s series expansion,and determine search iterations based on the metamodel response. Unlike true surface responseapproximations, some gradient-based optimizers do not retain information from all previous it-erations: they instead create a new metamodel at each iteration based on a real cost functionevaluation.

8.3.2 Simulated experiments and numerical model for identification tests

The objective of the rest of this chapter is to determine basic properties of the identification problemtreated as a black-box. When it is not possible to present general conclusions about aspects of theoptimization strategy, we provide conclusions based on sample parametric studies and numericalexperiments. For these experiments we will consider the plate with a hole specimen illustratedin Figure 8.2. A simulated experiment is generated by solving the tensile test with a fine mesh(12,000 elements). When appropriate the experimental maps will contain simulated experimentalparameters such as rigid body motion and camera misalignment.

Figure 8.2: Geometry of the plate with a hole specimen.

The specimen is fully constrained at the left edge and a distributed tensile force of 300 MPa isapplied to the right edge. The z rotations and the vertical displacements at the right edge are setto zero in order to better simulate a clamp. The material properties are either those of 1100-H12aluminum alloy, with E = 70 GPa and ν = 0.33 or those of a fiber-glass composite laminate. Thelaminate material has 5 unidirectional HexPly M12 plies with a stacking sequence [+45,−45, 0]sand global properties of E1 = 19.49 GPa, E2 = 13.65 GPa, G12 = 11.42 GPa and ν12 = 0.60.

8.4 Normalizing and centering the displacement gap

The identification studies presented in the coming chapters have all been conducted with opticalmeasurement techniques that provide full-field displacement measurements. For this reason, wefocus on the displacement gap formulations of the cost function. This section will serve as anintroduction to some particular numerical issues when minimizing this cost function in an open-hole tensile test. In particular, we show the impact of centering the displacement gap function costin the identifiability of material properties.

8.4.1 Normalized displacement gap

We begin with the identification of the engineering constants of a generally orthotropic plate (seesection 7.2.1),

~x =E1 E2 G12 ν12 θ

T.

The procedure minimizes the weighted displacement gap function

Page 146: Identification of material properties using finite elements and full ...

132 CHAPTER 8. OPTIMIZATION PROFILE

f(~x) =N∑i=1

(um(i) − u(i)

max(um)−min(um)

)2

+(

vm(i) − v(i)

max(vm)−min(vm)

)2

, (8.6)

min~x

f(~x) subject to

Ll(xk)− xk ≤ 0xk − Lu(xk) ≤ 0 ,

with a Nelder-Mead optimization algorithm [81]. This algorithm was selected because it is verygeneric and robust. The lower and upper bounds of each parameter, Lu(xk) and Ll(xk), are listedin the following table:

Modulus E1 (GPa) E2 (GPa) G12 (GPa) ν12 θ (degrees)Lower Bound 10 10 3 0.1 -15Upper Bound 60 30 30 0.8 15

Each variable is normalized by its range (i.e. Sc(xi) = Lu(xi) − Ll(xi)) as recommended in [72].The cost function values are normalized by the value at the first iteration, f(~xi).

Figure 8.3 shows the evolution of the cost function and variables for each iteration of the opti-mization procedure. The noisy profile of these evolutions is characteristic of search algorithms suchas Nelder-Mead. This is because these algorithms do not calculate the steepest-descent direction,see section 3.8.

The optimization was terminated when the simplex reached a critical size of 0.001. The iden-tification took approximately 50 minutes to complete. The following table contains the solution,~x∗:

Modulus E1 (GPa) E2 (GPa) G12 (GPa) ν12 θ (degrees)Initial Guess 23.39 16.38 13.70 0.72 1.2

Target 19.49 13.65 11.42 0.60 0Identified 19.37 18.16 17.06 0.606 0.005% Error 0.6195 24.83 33.06 0.99 N/A

Notice that the algorithm does not converge to a sufficiently accurate value for E2 and G12.Similar results (Figure 8.5) are obtained for a number of different initial guesses (see section 8.6.4).The results suggest that the displacement gap as written in equation (8.6) is much more sensitiveto E1, ν12 and θ than to E2 and G12. In this context, the term “sensitive” is used in the sense ofequation (3.6). This large difference in sensitivity tends to penalize any reflection operation, whichhas a nonzero component in the E1 direction. As a result the simplex tends to shrink near thesolution of E1, independently of the values of other parameters.

This difference in sensitivity is largely due to specimen response variation in the regions nearthe clamp, see Figure 8.6. A variation of E1 induces a large response of v in the strip outside themeasurement window, which is then propagated into the measurement zone. This causes an offsetin the numerical displacement map that completely masks local displacement variations near thehole. Only these regions of heterogeneous displacements are sensitive to E2 and G12, as is evidencedby the residue map of the identification (Figure 8.4). The residue maps show the error betweenthe measured and numerical displacement maps divided into the longitudinal v and transverse ucontributions,

Ju =12

N∑i=1

(um(i) − u(i)

max(um(i) )−min(um(i) )

)2

and Jv =12

N∑i=1

(vm(i) − v(i)

max(vm(i) )−min(vm(i) )

)2

.

8.4.2 Centered displacement gap

The previous experiment illustrated that the identification of material properties using the dis-placement gap is inaccurate for the moduli E2 and G12 . We hypothesized that the difficultycame because of the influence of displacements of the strip of material near the clamp. This in-fluence made the displacement gap too sensitive to E1 in comparison to other parameters. As a

Page 147: Identification of material properties using finite elements and full ...

8.4. NORMALIZING AND CENTERING THE DISPLACEMENT GAP 133

0 50 100 150 200 25014

16

18

20

22

24

26

iteration

E1 (

GP

a)

0 50 100 150 200 25016

16.5

17

17.5

18

18.5

iteration

E2 (

GP

a)

0 50 100 150 200 25013.5

14

14.5

15

15.5

16

16.5

17

17.5

18

18.5

iteration

G12

(G

Pa)

0 50 100 150 200 250

0.58

0.6

0.62

0.64

0.66

0.68

0.7

0.72

0.74

0.76

iteration

ν 12 (

GP

a)

0 50 100 150 200 250−0.5

0

0.5

1

1.5

2

2.5

3

iteration

θ (d

egre

es)

0 50 100 150 200 250−20

−15

−10

−5

0

5

iteration

resi

due

(log

scal

e)

Figure 8.3: Residue and parameter evolution during the identification of orthotropic parametersof a plate with a hole. The cost function is a normalized displacement gap minimized using aNelder-Mead algorithm.

J(x, y) Ju(x, y) Jv(x, y)

x (mm)

y (m

m)

-10 0 10-20

-15

-10

-5

0

5

10

15

20

0.5

1

1.5

2

2.5

3

3.5

4

x 10-4

x (mm)

y (m

m)

-10 0 10-20

-15

-10

-5

0

5

10

15

20

0.5

1

1.5

2

2.5

3

3.5

4

x 10-4

x (mm)

y (m

m)

-10 0 10-20

-15

-10

-5

0

5

10

15

20

0.5

1

1.5

2

2.5

3

x 10-4

Figure 8.4: Residue maps for the optimization process shown in Figure 8.3. Numerical displace-ments are obtained for a FE model with identified parameter values, ~x∗.

Page 148: Identification of material properties using finite elements and full ...

134 CHAPTER 8. OPTIMIZATION PROFILE

1 2 3 4 5 60

20

40

60

80

100

120

Initial Guess

% E

rror

E1E2G12ν12θ

Figure 8.5: Error of the (uncentered) normalized displacement gap with different initial guesses.The optimization technique used is a bounded Nelder-Mead algorithm. Initial guesses are listed ina table in section 8.6.4.

first improvement, we propose using a centered formulation of the displacement gap. Centeringis accomplished by removing the average displacements, u and v, from both the numerical andexperimental displacement fields at each point,

Jc(~x) =12

N∑i=1

((um(i) − um)− (u(i) − u)max(um(i) )−min(um(i) )

)2

+(

(vm(i) − vm)− (v(i) − v)max(vm(i) )−min(vm(i) )

)2

. (8.7)

In figure 8.7, we show the residue maps when varying only E1 by 5% from its target value, for both acentered and plain displacement gap. Notice how the patterns are different: the centered displace-ment gap has a majority of its area at a much smaller residue values than the plain displacementgap. The residue for the other parameters are exactly the same, see Figure 9.8.

The effect of the centering operation on the identifiability of the 5 orthotropic parameters istested by repeating the same test as in the previous section using the centered displacement gap,

f(~x) = Jc(~x),

min~x

f(~x) subject to

Ll(xk)− xk ≤ 0xk − Lu(xk) ≤ 0 ,

where Ll(xk) and Lu(xk) are the lower and upper bounds of parameter xk. The optimizationalgorithm, initial simplex and stopping criteria, as well as the parameter bounds and scaling, areidentical to the previous experiment.

Figure 8.8 shows the evolution of each variable and residue throughout the identification process.Unlike the previous procedure, the simplex did not shrink to the critical perimeter of 0.001 near thetarget E1 value. The procedure instead continues for nearly 500 iterations until convergence. Theprocess took nearly 2 hours to complete. Figure 8.9 shows the residue maps of the identified model.The maps contain a salt-and-pepper noise pattern, which is consistent with loss of significant digitsin recording the reference and numerical fields onto ASCII files. Since the displacements in the udirection are smaller in scale than in the v direction, we see a non-random residue distribution inthe Ju map. Hence the salt-and-pepper noise in the Jv prevented a finer adjustment of the fieldin the u direction. This type of phenomena may justify the consideration of both u and v fieldsseparately. However, a complete discussion on this subject is beyond the scope of this text. Thefollowing table contains the identified values of the procedure:

Page 149: Identification of material properties using finite elements and full ...

8.5. CHOICE OF MATERIAL PARAMETERIZATION 135

Figure 8.6: Influence of boundaries in the longitudinal displacements of an open-hole tensile test.

Modulus E1 (GPa) E2 (GPa) G12 (GPa) ν12 θ (degrees)Initial Guess 23.390 16.380 13.700 0.720 1.200

Target 19.490 13.650 11.420 0.600 0.000Identified 19.490 13.647 11.417 0.600 0.000% Error 0.001 0.022 0.030 0.000 N/A

The results show a major improvement compared to the example using a plain displacementgap formulation. Centering the displacement values helped to prevent simplex collapse near theoptimum E1. Thus, the author recommends always employing a cost function that centers dis-placements/strains. This operation will not affect the value of the theoretical minimum, ~x∗, butwill improve the problem’s identifiability.

It is important, however, to emphasize that 500 iterations is too costly for practical problems,particularly if the user intends to repeat identifications several times for statistical analysis. Here-after, we will discuss a few strategies for reducing this numerical cost, such as selecting differentmaterial parameterizations and using a more efficient optimizer.

8.5 Choice of material parameterization

Chapter 7 discussed several possible parameterizations of a material’s constitutive behavior. Ina mechanical sense, each parameterization is equivalent: given any of these parameter represen-tations, it is possible to compute equivalent set of parameters in another representation. Let usdefine the parameterized constitutive law L(~λ),

L(~λ) : (εij , εkl)→ σmn.

where ~λ is a set of material parameters. In finite elements, this relationship is more convenientlyexpressed in terms of displacements and forces,

L(~λ) : (u , u)→ F .

Restricting our discussion to linear-elastic and static problems, we may write this relationship usinga stiffness matrix, [K],

Page 150: Identification of material properties using finite elements and full ...

136 CHAPTER 8. OPTIMIZATION PROFILE

x (mm)

y (m

m)

-10 0 10-20

-15

-10

-5

0

5

10

15

20

0.018

0.02

0.022

0.024

0.026

0.028

0.03

(a)

x (mm)

y (m

m)

-10 0 10-20

-15

-10

-5

0

5

10

15

20

0.005

0.01

0.015

0.02

0.025

0.03

0.035

0.04

0.045

0.05

(b)

Figure 8.7: Residue maps when varying only E1 by 5% from its target value for (a) centereddisplacement gap, (b) plain displacement gap.

[K(~λ)

]u = F .

Two parameter sets (e.g. E1, ν12 and S11, S12) are said to be equivalent if there exists a trans-formation T of one set to another, T : (E1, ν12) → (S11, S12) and T −1 : (S11, S12) → (E1, ν12).Hence, for a given F and a given E1, ν12, is it possible to find a set S11, S12, which will give usthe same [K], and consequently the same u.

However, since the transformation, T is generally non-linear, in the context of identificationwith FEMU, a parameterization choice is not necessarily equivalent to another. For example,consider the minimization of a cost function f(x) = (x− 15)2.Since the function is quadratic, it should be easy to minimize it using a gradient-based optimizer.For any linear transformation of x, x = Aξ+B, the function, f(ξ), will remain quadratic and easyto minimize with the same algorithm. If however, the parameters undergo a non-linear transfor-mation, similar to the transformation between engineering and compliance components, x = 1

η , thecost function f(η) is not quadratic, and will be harder to solve with the same algorithms. Figure8.10 shows the loss of symmetry of the cost function due to a non-linear parameter transforma-tion. Hence, we may conclude that some parameterizations may be more adapted to numericaloptimization than others.

Nonetheless, adapted is an optimizer-specific term. In order to determine which material param-eterization is “the best” we must relate the cost function to the set of assumptions of a particularfamily of optimization algorithms. In this thesis, we aim to use gradient-based optimizers. In keep-ing with the assumptions of most gradient-based optimizers, we assume that the most adequatematerial parameterization is the one whose behavior is best approximated by a quadratic function,i.e.

f(~x) ≈ φ(~x) = φ0 + (~g)T∆~x+12

∆~xT [H] ∆~x. (8.8)

A key factor in the convergence speed of gradient-based optimizer is the conditioning of the Hessianmatrix, [H], determined by the ratios of its Eigenvalues. A ratio of unity implies the matrix is wellconditioned and positive definite. In such cases, it can be shown that a steepest-descent optimizerwill converge in a single iteration. Other factors such as scaling, cost function sensitivity andeasiness of representation will also be discussed in comparing material parameterizations.

8.5.1 Choice of parameterization based on the Hessian

We begin by analyzing the local behavior near ~x∗ of the centered displacement gap for threematerial parameterizations: engineering constants, stiffness and compliance components. Other

Page 151: Identification of material properties using finite elements and full ...

8.5. CHOICE OF MATERIAL PARAMETERIZATION 137

0 100 200 300 400 500 60018

19

20

21

22

23

24

25

26

iteration

E1 (

GP

a)

0 100 200 300 400 500 60012

13

14

15

16

17

18

19

20

21

iteration

E2 (

GP

a)

0 100 200 300 400 500 6008

9

10

11

12

13

14

15

16

iteration

G12

(G

Pa)

0 100 200 300 400 500 6000.55

0.6

0.65

0.7

0.75

0.8

iteration

ν 12 (

GP

a)

0 100 200 300 400 500 600−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

2.5

3

iteration

θ (d

egre

es)

0 100 200 300 400 500 600−40

−35

−30

−25

−20

−15

−10

−5

0

5

iteration

resi

due

(log

scal

e)

Figure 8.8: Residue and parameter evolution during the identification of orthotropic parametersof a plate with a hole. The cost function is a centered displacement gap minimized using a Nelder-Mead algorithm.

J(x, y) Ju(x, y) Jv(x, y)

x (mm)

y (m

m)

-10 0 10-20

-15

-10

-5

0

5

10

15

20

2

4

6

8

10

12

14

16

18

x 10-10

x (mm)

y (m

m)

-10 0 10-20

-15

-10

-5

0

5

10

15

20

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2x 10

-10

x (mm)

y (m

m)

-10 0 10-20

-15

-10

-5

0

5

10

15

20

2

4

6

8

10

12

14

16

18

x 10-10

Figure 8.9: Residue maps (centered diplacements) for the optimization process shown in Figure8.8. Numerical displacements are obtained for a FE model with identified parameter values ~x∗.

Page 152: Identification of material properties using finite elements and full ...

138 CHAPTER 8. OPTIMIZATION PROFILE

cost function: f(x) = (x− 15)2

ξ = 110x η =

(1

110−

120

)1x

Linear transformation Non-linear transformation

Figure 8.10: The influence of a non-linear parameter transformation on a quadratic cost function.

parameterizations, such as stiffness invariants, are excluded since they are linear combinations ofthese three parameterizations, and would thus be redundant in the analysis. The main objective ofthis analysis is to determine if the cost function is locally convex with respect to the three variables.Convexity is determined by analyzing the eigenvalues of the second derivatives matrix [H(~x∗)],calculated using finite differences. The finite difference step was h = 1E−3 for all parameters.Since the finite difference approximations presented in section 3.4 are derived from a quadraticTaylor’s series approximation of the cost function, convexity is estimated based on a quadraticmetamodel approximation of the cost function. The parameters were scaled according to thefollowing table:

Engineering: E1 E2 G12 ν12 θScale: 2.0E+07 1.0E+07 5.0E+06 2.0E-01 10

Compliance: S11 S12 S22 S66 θScale: 2.0E-08 2.0E-08 2.0E-08 2.5E-08 10

Stiffness: C11 C12 C22 C66 θScale: 2.0E+07 4.0E+06 8.0E+06 7.0E+06 10

The Hessian matrix calculated for engineering parameters was

[H] =

843027 20984 2957 −110154 157920984 1987 65 −4864 −652957 65 748 257 57−110154 −4864 257 35349 −11

1579 −65 57 −11 7568

,

for compliance components,

[H] =

71445 −2897 784 894 −630−2897 131866 −3557 188 5

784 −3557 973 40 23894 188 40 541 −33−630 5 23 −33 7549

,

and for stiffness parameters,

Page 153: Identification of material properties using finite elements and full ...

8.5. CHOICE OF MATERIAL PARAMETERIZATION 139

[H] =

864711 −330416 273271 4784 2686−330416 152893 −133687 −461 −1042273271 −133687 121025 635 3404784 −461 635 3376 1202686 −1042 340 120 9636

.

As mentioned previously, the properties of the Hessian matrix are a key to understanding theeasiness or difficulty of minimizing a cost function with a gradient-based optimizer. The Hessianapproximations of all parameterizations are positive-definite, indicating that the cost function islocally convex for all parameterizations and that the minimum ~x∗ is (indeed) a local minimum.The condition numbers (i.e. ratio of maximum to minimum Eigenvalues) are given bellow

Parameters: λ1 λ5 λ1/λ5

Engineering: 8.58E+05 7.10E+02 1.21E+03Compliance: 1.32E+05 5.25E+02 2.52E+02

Stiffness: 1.09E+06 9.98E+02 1.09E+03

The condition number of the Hessian calculated with compliance components has the conditionnumber the closest to unity, suggesting that this parameterization is probably the most suitedfor gradient-based optimization. In addition, the eigenvectors of this matrix form an orthogonalbasis, nearly aligned with the natural basis, ei. This indicates that close to the minimum the levelsurfaces of compliance components should be ellipses with semi-major axes nearly aligned with theaxis S11, S12, S22, S66 and θ. A cost function with these properties is generally easy to minimizewith a gradient-based optimizer. However, the ratios of eigenvalues and directions of eigenvectorof engineering parameters are very similar to the compliance components, thus from these resultsit is not evident which of the two is superior.

In order to confirm the choice of compliance components as the best parameterization, we checkif the quadratic metamodel function φ(~x) in equation (8.8) is a good approximation of the costfunction f(~x) at values further away from the solution. An accurate fit would be very useful inpractical engineering applications, as it would permit quick approximations of a global minimumwith very few FE solutions. An isotropic material is considered first, since it is easier to visualizeresults, orthotropic parameters are analyzed afterwards.

Isotropic parameters

Figure 8.11 shows the cost function responses to engineering constants, compliance and stiffnesscomponents. The range of the parametric study is the same for all groups, and the amplitude ofthe parameter variation is 5% of the target value. This range was selected in order to restrict thestudy to values within traditional engineering uncertainties of the solution.

From visual inspection, all cost functions appear to be globally convex, following what appearsto be a parabolic shape. However, the cost function for all parameterizations is characterized bya steep valley, suggesting possible problems in parameter scaling. The residue values were thenfitted to the metamodel (equation (8.8)) via least squares minimization. The parameters of theleast squares fit were the coefficients of the gradient, Hessian and constant, Φ0. The accuracy of theleast squares fit as well as the approximate Hessian matrices for each parameter group is recorded inTable 8.1. Each parameter in the table was normalized by its range, i.e. E = E/(Lu(E)−Ll(E)).

The results for isotropic parameters confirm that compliance components S11 and S12 are themost appropriate for the quadratic model fit. It has the lowest average fit error and standarddeviation. Engineering constants are the second best, while stiffness components are the leastadapted. The negative eigenvalues of the stiffness parameter model, suggest negative curvaturesof the metamodel fit, and merit further investigation. The author offers two possible explanationsfor these results: first, there is a large difference in the sensitivities between parameters, e.g.

Se(C11)Se(C12)

≈ 1000,

and least squares approximations tend to be dominated by large function values. Even if, for aparameterization, every cross section of the cost function is accurately approximated by a parabola,

Page 154: Identification of material properties using finite elements and full ...

140 CHAPTER 8. OPTIMIZATION PROFILE

Parameters Hessian Condition Number Fit Error

P1 P2

[∂2J∂P 2

1

∂2J∂P1∂P2

∂2J∂P1∂P2

∂2J∂P 2

2

]λ1/λ2

mean:

µ(Ji−Jfit

i

max(Ji)

) std. deviation:

σ(Ji−Jfit

i

max(Ji)

)

E ν12

[3.7613 0.01760.0176 0.0101

]372 3.5882e−05 0.0092

S11 S12

[3.9290 0.02850.0285 0.0101

]396 2.6206e−05 1.6101e−04

C11 C12

[1.6550 −0.7375−0.7375 0.3274

]-1803 3.0148e−04 0.0187

Table 8.1: Quadratic fit of residue for isotropic parameters

a small change in the semi-latus rectum of the parabola in the plane of largest sensitivity mayinduce a negative curvature in the fitted curve for other planes. The second explanation is thatfor uniaxial tensile tests, negative curvatures of the residue are expected for moduli much greateror much smaller than the target values. This is easily illustrated by the example of an idealizedbeam under tension, Figure 8.12. The slope of the displacement curve is given by the strain,∂u∂x = εxx = σ

E . The analytical form of the displacement curve is u = σEx and displacement gap

may be evaluated as

f(E) =∫ L

0

E0x− σ

Ex

)2

dx =L3σ2

3

(1E0− 1E

)2

.

The first and second derivatives of the displacement gap are

∂f(E)∂E

=2L3σ2

3

(1E0− 1E

)1E2

and∂2f(E)∂E2

=2L3σ2

3

(3E0 − 2EE0E4

). (8.9)

Thus, for the uniaxial tensile test, the curvatures of the displacement gap are positive for E < E0

and negative for E > E0.

Response to orthotropic parameters

A parametric study was conducted with the full 5 parameters of an orthotropic plate. For ease ofvisualization, we begin with a one-dimensional model, where each parameter was varied individuallywith all other parameters held at their target values. Figures 8.13 through 8.15 contain the costfunction evaluations and a fit to the metamodel

φ(x) = ax2 + bx+ c.

Similar to the isotropic case, the compliance components of the generally orthotropic materialproduced the best agreement with the quadratic model. However, these results are not fullyconclusive since this one-dimensional model does not account for coupling the ∂2f

∂xi∂xj, nor any

compensating effects between parameters.In order to fit the cost function into the full 5-dimensional quadratic function, we calculated

500 cost function values at random values of parameter moduli at 5% variation centered around theoptimum ~x∗. The procedure is similar to the Monte-Carlo method employed in [153]. A random

Page 155: Identification of material properties using finite elements and full ...

8.6. BENCHMARK OF OPTIMIZATION ALGORITHMS 141

6869

7071

72

0.32

0.325

0.33

0.335

0.340

10

20

30

40

50

E1 (GPa)ν

12

Dis

plac

emen

t Gap

: J(x

)

real value

curve−fit value

(a) Engineering constants

0.01380.014

0.01420.0144

0.01460.0148

−4.8

−4.7

−4.6

−4.50

10

20

30

40

S11

(1/GPa)S12

(1/GPa)

Dis

plac

emen

t Gap

: J(x

,y)

real value

curve−fit value

(b) Compliance components

100102

104106

108

49

50

51

52

53−100

0

100

200

300

400

C11

(GPa)C12

(GPa)

Dis

plac

emen

t Gap

: J(x

)

real value

curve−fit value

(c) Stiffness components

Figure 8.11: Approximation of the displacement gap residue by a quadratic function (equation(8.8)) for isotropic material parameters.

sampling was selected instead of computing a regular 10×10 grid of parameters, because a regularpaving in 5 dimensions would require 105 FE solutions, which is too time consuming. Figure 8.16shows the distribution of the cost function values for engineering parameters. The results of theparameter study were fitted with the quadratic model in equation (8.8).

The least squares fit for engineering constants had a mean error of 2.3387e−04 with a standarddeviation of 0.0075. The eigenvalues of the fitted Hessian matrix were not all positive, the maximumwas λ = 2.5277 and the minimum was λ = −0.0053. In this case the residue is not globally convexwith respect to all 5 orthotropic parameters. The same analysis was carried out using compliancecomponents. The residue calculations were performed at the same points as in the previous tests:the values of each set of engineering constants were transformed into compliance components.The result of the least squares fit had a mean error of 2.3192e−04 and a standard deviation of0.0050. For this case, the maximum and minimum eigenvalues are λmax = 2.6434 and λmin =−0.0022. Similar to the compliance components in the isotropic material, no parameterization ofthe orthotropic material produced a globally convex quadratic metamodel.

Although the global quadratic fits of all parameterizations were not convex, in light of previousresults, the compliance components will be selected hereafter as the material parameterization forgradient-based optimizers.

8.6 Benchmark of optimization algorithms

Previously, an identification of orthotropic constants was successfully carried out using a simplex-based optimizer. Although successful, the algorithm required nearly 500 iterations to converge,which is an excessive number of FE solutions for practical problems, especially those where identi-fication is to be repeated several times. We have seen in the previous section that the components ofthe compliance matrix lead to a cost function, which may be approximated by a well-conditionedquadratic function near ~x∗. Here, we test if it is possible to reduce the numerical cost of theoptimization using compliance components and a gradient-based algorithm.

Page 156: Identification of material properties using finite elements and full ...

142 CHAPTER 8. OPTIMIZATION PROFILE

0

0

Zone of Negative Curvature

Figure 8.12: Identification of a beam under tension.

8.6.1 Identification using fmincon

In this section, the previous identification experiment is repeated using the fmincon function Matlab[119]. For a problem where only first-order values of the cost function is available, the functionuses what is dubbed the Active Set Algorithm (ASA), which is an improved quasi-Newton method[154]. The ASA algorithm works by conducting a (cubic B-Spline) line search in a search direction~d, i.e.

minα∈<

f(~xk + α~dk).

At each iteration, the search direction ~dk is determined by solving the non-linear system2,

min~dk∈<n

12~d Tk [H] ~dk + ~gT ~dk.

The gradients ~g are calculated by finite differences and the Hessian [H] is estimated via the Broyden,Fletcher, Goldfarb and Shanno (BFGS) algorithm. BFGS keeps track of the gradients in eachiteration to update a quadratic model estimate of the Hessian (see pages 194-200 of [71]). Withthis method, we can avoid additional cost function evaluations, which would normally be requiredfor second-derivative approximations using finite differences.

Figure 8.17 shows the evolution of the cost function and variables throughout the optimizationprocedure. Notice that unlike the simplex-based optimizer, this algorithm improves immediatelythe cost function value in the first set of iterations (roughly every 5 cost function values). Thecost function was minimized using compliance components, S11, S12, S22 and S66, but resultsare converted to equivalent engineering constants for ease of comparison with previous results.

2If the Hessian approximation is accurate and well conditioned, this search direction is equivalent to a Gauss-Newton step.

Page 157: Identification of material properties using finite elements and full ...

8.6. BENCHMARK OF OPTIMIZATION ALGORITHMS 143

2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3 3.1−1000

0

1000

2000

3000

4000

5000

6000

7000

8000

S11

/ range(S11

)

J(x)

φ(x) = a x2 + b x + ca = 3.55e+04, b = −1.82e+05, c = 2.34e+05Fit Error: S = 3.92, µ = 1.82

−2 −1.9 −1.8 −1.7 −1.6 −1.5 −1.4 −1.3 −1.2 −1.1−1000

0

1000

2000

3000

4000

5000

6000

7000

8000

9000

S12

/ range(S12

)

J(x)

φ(x) = a x2 + b x + ca = 6.56e+04, b = 2.02e+05, c = 1.55e+05Fit Error: S = 1.72, µ = 0.808

3 3.2 3.4 3.6 3.8 4 4.2 4.4−5

0

5

10

15

20

25

30

35

S22

/ range(S22

)

J(x)

φ(x) = a x2 + b x + ca = 109, b = −800, c = 1.47e+03Fit Error: S = 0.429, µ = 0.198

2.8 3 3.2 3.4 3.6 3.8 4 4.2−1

0

1

2

3

4

5

6

7

S66

/ range(S66

)

J(x)

φ(x) = a x2 + b x + ca = 19.5, b = −137, c = 240Fit Error: S = 0.0423, µ = 0.02

−0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4−100

0

100

200

300

400

500

600

700

θ (degrees)

J(x)

φ(x) = a x2 + b x + ca = 3.83e+03, b = −66.7, c = −6.16Fit Error: S = 7.61, µ = 4.31

Figure 8.13: One-dimensional quadratic fit of the centered displacement gap residue with respectto compliance components. All other parameters are held at target values.

Page 158: Identification of material properties using finite elements and full ...

144 CHAPTER 8. OPTIMIZATION PROFILE

0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4−0.2

0

0.2

0.4

0.6

0.8

1

1.2

E1 / range(E

1)

J(x)

φ(x) = a x2 + b x + ca = 4.22, b = −8.97, c = 4.71Fit Error: S = 0.0824, µ = 0.0392

2.7 2.8 2.9 3 3.1 3.2 3.3 3.4 3.5 3.6−500

0

500

1000

1500

2000

2500

ν12

/ range(ν12

)

J(x)

φ(x) = a x2 + b x + ca = 1.56e+04, b = −9.84e+04, c = 1.55e+05Fit Error: S = 0.215, µ = 0.102

1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8−20

0

20

40

60

80

100

E2 / range(E

2)

J(x)

φ(x) = a x2 + b x + ca = 845, b = −2.36e+03, c = 1.65e+03Fit Error: S = 4.11, µ = 1.84

2.05 2.1 2.15 2.2 2.25 2.3 2.35 2.4 2.45 2.5 2.55−0.5

0

0.5

1

1.5

2

2.5

3

G12

/ range(G12

)

J(x)

φ(x) = a x2 + b x + ca = 46.9, b = −216, c = 248Fit Error: S = 0.0766, µ = 0.0351

Figure 8.14: One-dimensional quadratic fit of the centered displacement gap residue with respectto engineering parameter. All other parameters are held at target values.

0.8 1 1.2 1.4 1.6 1.8 2−2

0

2

4

6

8

10

12

14

16

Q11

/ range(Q11

)

J(x)

φ(x) = a x2 + b x + ca = 1.97e+06, b = −5.86e+06, c = 4.21e+06Fit Error: S = 1.81e+05, µ = 1.11e+05

1.5 2 2.5 3 3.5 4−2

0

2

4

6

8

10

12

14

16

Q12

/ range(Q12

)

J(x)

φ(x) = a x2 + b x + ca = 1.08e+05, b = −5.52e+05, c = 6.99e+05Fit Error: S = 1.16e+04, µ = 5.42e+03

1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3 3.2−2

0

2

4

6

8

10

12

14

16

Q22

/ range(Q22

)

J(x)

φ(x) = a x2 + b x + ca = 1.26e+05, b = −6.27e+05, c = 7.69e+05Fit Error: S = 1.45e+04, µ = 7.48e+03

1.3 1.4 1.5 1.6 1.7 1.8 1.9 2 2.1150

155

160

165

170

175

180

Q66

/ range(Q66

)

J(x)

φ(x) = a x2 + b x + ca = 90.7, b = −276, c = 366Fit Error: S = 1.13, µ = 0.505

Figure 8.15: One-dimensional quadratic fit of the centered displacement gap residue with respectstiffness components. All other parameters are held at target values.

Page 159: Identification of material properties using finite elements and full ...

8.6. BENCHMARK OF OPTIMIZATION ALGORITHMS 145

0 50 100 150 200 250 300

0.580.59

0.60.610.62

sample

ν 12

0 50 100 150 200 250 300−2

−1

0

1

2

sample

θ (d

egre

es)

0 50 100 150 200 250 300

12

14

16

18

20

22

sample

Mod

ulus

(G

Pa)

E1

E2

G12

0 50 100 150 200 250 3000

10

20

30

40

50

60

sample

Res

idue

Residue valueFitted value

0 50 100 150 200 250 300−1.5

−1

−0.5

0

0.5

1

1.5

sample

Fit

Err

or

Figure 8.16: Five-dimensional quadratic fit of the centered displacement gap residue with respectto engineering parameter.

The algorithm is set to stop when the next iteration step fails to improve the cost function by aminimum amount δ, i.e. convergence is achieved if

f(~xk)− f(~xk+1) < δ.

For this trial δ = 1 × 10−30, which is a very conservative value. This was selected in order toguarantee that the algorithm would have a fair chance to converge to the solution. The identifiedvalues are presented in the following table:

Modulus E1 (GPa) E2 (GPa) G12 (GPa) ν12 θ (degrees)Initial Guess 23.39 16.38 13.7 0.720 1.200

Target 19.49 13.65 11.42 0.600 0.000Identified 19.60 13.51 10.29 0.603 0.058% Error 0.555 1.074 11.004 0.525 N/A

Note that the initial guess is the same as in the experiment with the Nelder-Mead algorithm.The fmincon function does not produce acceptable results for the shear modulus G12. Notice thatthe transverse residue Ju in Figure 8.18 is very similar to the residue mode produced by a smallchange in G12, see Figure 9.8. This is a good example of how the patterns in the residue maps maybe useful to determine which parameters were not accurately identified. More will be discussedabout modes in section 9.2.

The difficulty the algorithm has in refining the solution is possibly due to the very smallsensitivity of the cost function to S66 as compared to other components (see section 3.3). Consistentwith this argument is that the second least accurate modulus E2 corresponds to the second leastsensitive parameter, namely S22.

Page 160: Identification of material properties using finite elements and full ...

146 CHAPTER 8. OPTIMIZATION PROFILE

0 20 40 60 80 100 120 140 160 180 20010

15

20

25

30

35

iteration

E1 (

GP

a)

0 20 40 60 80 100 120 140 160 180 20010

11

12

13

14

15

16

17

iteration

E2 (

GP

a)

0 20 40 60 80 100 120 140 160 180 2006

7

8

9

10

11

12

13

14

iteration

G12

(G

Pa)

0 20 40 60 80 100 120 140 160 180 200

0.4

0.5

0.6

0.7

0.8

0.9

1

1.1

1.2

1.3

iteration

ν 12 (

GP

a)

0 20 40 60 80 100 120 140 160 180 200−5

−4

−3

−2

−1

0

1

2

3

4

5

iteration

θ (d

egre

es)

0 20 40 60 80 100 120 140 160 180 200−15

−10

−5

0

5

10

iteration

resi

due

(log

scal

e)

Figure 8.17: Residue and parameter evolution during the identification of orthotropic parametersof a plate with a hole. The cost function is a centered displacement gap minimized using thefmincon function in Matlab. The entry parameters of the cost function are compliance components,displayed as engineering constants for ease of comparison with previous tests.

J(x, y) Ju(x, y) Jv(x, y)

x (mm)

y (m

m)

-10 0 10-20

-15

-10

-5

0

5

10

15

20

1

2

3

4

5

6

7

8

9

x 10-6

x (mm)

y (m

m)

-10 0 10-20

-15

-10

-5

0

5

10

15

20

2

4

6

8

10

12

14

x 10-7

x (mm)

y (m

m)

-10 0 10-20

-15

-10

-5

0

5

10

15

20

1

2

3

4

5

6

7

8

9x 10

-6

Figure 8.18: Residue maps (centered diplacements) for the optimization process shown in Figure8.17. Numerical displacements are obtained for a FE model with identified parameter values, ~x∗.

Page 161: Identification of material properties using finite elements and full ...

8.6. BENCHMARK OF OPTIMIZATION ALGORITHMS 147

8.6.2 Identification using Levenberg-Marquardt

The identification experiment in section 8.6 is repeated using the lsqnonlin function in Matlab,which has an implementation of the Levenberg-Marquardt algorithm. The components of theresidue vector are points of the centered displacement gap function:

ri =

√((um(i) − um)− (u(i) − u)max(um(i) )−min(um(i) )

)2

+(

(vm(i) − vm)− (v(i) − v)max(vm(i) )−min(vm(i) )

)2

. (8.10)

Similar to the experiment using fmincon, the residue is minimized with respect to compliancecomponents, S11, S12, S22, S66, but the results are displayed in equivalent engineering constantsfor easy comparison to previous results. The algorithm is set to stop when the next iteration stepfails to improve the cost function by a minimum amount δ, i.e. convergence is achieved if

f(~xk)− f(~xk+1) < δ.

For this trial δ = 1 × 10−30. The evolutions of the parameters and cost function during theoptimization are presented in Figure 8.19. Notice that the logarithm of the cost function decreasesin a linear fashion up to the 80th iterate. The identification results are summarized in the followingtable:

Modulus E1 (GPa) E2 (GPa) G12 (GPa) ν12 θ (degrees)Initial Guess 23.390 16.38 13.7 0.7200 1.200

Target 19.490 13.65 11.42 0.6000 0.000Identified 19.492 13.73 11.47 0.6004 0.002% Error 0.012 0.575 0.447 0.0745 N/A

Unlike the fmincon function, the Levenberg-Marquardt algorithm is able to accurately identify allelastic constants within less than 1%.

Although the solution is accurate, the residue maps in Figure 8.20 show that there is still apattern in the spatial distribution of the residues. The residue patterns in Ju and Jv resemble themodes of error in E2 and G12, respectively. Close inspection reveals that longitudinal componentJv(x, y) is starting to display a speckle pattern consistent with numerical noise. The source ofthis noise is the loss of accuracy in recording floating-point displacements in an ASCII file. Noticealso that, although the scale is smaller in the transverse residue Ju(x, y), there is no such specklepattern. The previous experiment was repeated with a smaller convergence criterion δ = 1×10−50

instead of δ = 1 × 10−30. The solution was not improved to any significant degree by change ofcriterion. This suggests that close to the solution, the iteration direction is likely being determinedby the noise in Jv(x, y) instead of the signal coming from Ju(x, y).

8.6.3 Identification using Levenberg-Marquardt: separate u and v fields

The failure to obtain an accurate search direction when close to the solution suggests that weshould attempt to separate the u and v contributions in the residue vector definition,

Jui =

√((um(i) − um)− (u(i) − u)max(um(i) )−min(um(i) )

)2

and Jvi =

√((vm(i) − vm)− (v(i) − v)max(vm(i) )−min(vm(i) )

)2

, (8.11)

~r =Ju1 Jv1 Ju2 Jv2 · · · JuN JvN

T. (8.12)

With this form, terms ∇Ju∇Jv will appear in the approximation of the Hessian. This will improvethe sensitivity of the residue to u, which would otherwise be masked by v. Note however, that thisresidue definition will consume more memory.

The identification is repeated with the new residue vector definition. Parameters and costfunction evolutions during the optimization are presented in Figure 8.21. For this trial δ = 1×10−30,and the identification results are summarized hereafter:

Page 162: Identification of material properties using finite elements and full ...

148 CHAPTER 8. OPTIMIZATION PROFILE

0 20 40 60 80 100 120 14019

19.5

20

20.5

21

21.5

22

22.5

23

23.5

iteration

E1 (

GP

a)

0 20 40 60 80 100 120 14013.5

14

14.5

15

15.5

16

16.5

iteration

E2 (

GP

a)

0 20 40 60 80 100 120 14011

11.5

12

12.5

13

13.5

14

iteration

G12

(G

Pa)

0 20 40 60 80 100 120 140

0.58

0.6

0.62

0.64

0.66

0.68

0.7

0.72

iteration

ν 12 (

GP

a)

0 20 40 60 80 100 120 140−0.2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

iteration

θ (d

egre

es)

0 20 40 60 80 100 120 140−25

−20

−15

−10

−5

0

iteration

resi

due

(log

scal

e)

Figure 8.19: Residue and parameter evolution during the identification of orthotropic parameters ofa plate with a hole. The cost function is a centered displacement gap minimized using the lsqnonlinfunction in Matlab. The residue vector is defined in equation (8.10). The entry parameters of thecost function are compliance components, displayed as engineering constants for ease of comparisonwith previous tests.

J(x, y) Ju(x, y) Jv(x, y)

x (mm)

y (m

m)

-10 0 10-20

-15

-10

-5

0

5

10

15

20

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2x 10

-7

x (mm)

y (m

m)

-10 0 10-20

-15

-10

-5

0

5

10

15

20

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2x 10

-7

x (mm)

y (m

m)

-10 0 10-20

-15

-10

-5

0

5

10

15

20

1

2

3

4

5

6

7

8

9

x 10-8

Figure 8.20: Residue maps (centered diplacements) for the optimization process shown in Figure8.19. Numerical displacements are obtained for a FE model with identified parameter values, ~x∗.

Page 163: Identification of material properties using finite elements and full ...

8.6. BENCHMARK OF OPTIMIZATION ALGORITHMS 149

0 50 100 150 200 25019

19.5

20

20.5

21

21.5

22

22.5

23

23.5

iteration

E1 (

GP

a)

0 50 100 150 200 25013.5

14

14.5

15

15.5

16

16.5

iteration

E2 (

GP

a)

0 50 100 150 200 25011

11.5

12

12.5

13

13.5

14

iteration

G12

(G

Pa)

0 50 100 150 200 250

0.58

0.6

0.62

0.64

0.66

0.68

0.7

0.72

iteration

ν 12 (

GP

a)

0 50 100 150 200 250−0.2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

iteration

θ (d

egre

es)

0 50 100 150 200 250−35

−30

−25

−20

−15

−10

−5

0

iteration

resi

due

(log

scal

e)

Figure 8.21: Residue and parameter evolution during the identification of orthotropic parameters ofa plate with a hole. The cost function is a centered displacement gap minimized using the lsqnonlinfunction in Matlab. The residue vector is defined in equation (8.12). The entry parameters of thecost function are compliance components, displayed as engineering constants for ease of comparisonwith previous tests.

J(x, y) Ju(x, y) Jv(x, y)

x (mm)

y (m

m)

-10 0 10-20

-15

-10

-5

0

5

10

15

20

0.5

1

1.5

2

2.5

3

3.5

4

4.5

x 10-9

x (mm)

y (m

m)

-10 0 10-20

-15

-10

-5

0

5

10

15

20

1

2

3

4

5

6x 10

-10

x (mm)

y (m

m)

-10 0 10-20

-15

-10

-5

0

5

10

15

20

0.5

1

1.5

2

2.5

3

3.5

4

4.5

x 10-9

Figure 8.22: Residue maps (centered diplacements) for the optimization process shown in Figure8.21. Numerical displacements are obtained for a FE model with identified parameter values, ~x∗.

Page 164: Identification of material properties using finite elements and full ...

150 CHAPTER 8. OPTIMIZATION PROFILE

Modulus E1 (GPa) E2 (GPa) G12 (GPa) ν12 θ (degrees)Initial Guess 23.390 16.38 13.7 0.7200 1.200

Target 19.490 13.65 11.42 0.6000 0.000Identified 19.489 13.65 11.44 0.6000 0.005% Error 0.007 0.018 0.144 0.0053 N/A

Unlike the previous test, all residue maps in Figure 8.22 show the beginnings of a speckle patternin numerical noise, not only Jv. The numerical noise in Ju is less evident but can be seen near theright and left sides of the map.

Notice that this optimization procedure is able to obtain accuracies in the results comparableto the ones in section 8.4.2 using a Nelder-Mead optimizer. However, this experiment achieves thesame results with less than half of the FE solutions required by Nelder-Mead. Additionally, theoptimization profile is much less erratic than Nelder-Mead, and steadily approaches the solution forall variables. This is advantageous, for instances, if a long optimization procedure must be stoppedunexpectedly. The identification may be restarted from the last recorded parameter values.

8.6.4 Choice of optimization algorithm

The optimization examples in this chapter have suggested that the identification of material pa-rameters be carried out using a centered displacement gap and a Levenberg-Marquardt algorithmwhere the residue formulation separates the u and v fields (see section 8.6.3). However, this choiceof optimization strategy cannot be confirmed since not all algorithms were tested in equal condi-tions. For example, the Nelder-Mead algorithm was only tested using engineering constants, notcompliance components. Also, since the tests presented were conducted starting from a singleinitial guess, it is possible that algorithms numerical cost and accuracies were strictly coincidental.

In this section we benchmark the Nelder-Mead, fmincon (ASA) and Levenberg-Marquardt (LM)algorithms on equal footing. All tests use centered displacement gap and compliance componentsas the material parameters. The identification test described in section 8.3.2 is repeated using anumber of different initial guesses:

Initial Guess E1 (GPa) E2 (GPa) G12 (GPa) ν12 θ (degrees)1 28.016 15.485 7.450 0.518 -4.5072 38.553 17.009 19.359 0.625 2.4003 31.594 16.343 16.651 0.159 4.4554 55.797 16.020 7.311 0.711 0.1345 46.633 14.222 19.343 0.150 0.5346 17.103 11.225 6.501 0.408 3.170

These values were selected randomly within each variable’s upper and lower bounds:

Modulus E1 (GPa) E2 (GPa) G12 (GPa) ν12 θ (degrees)Target 19.490 13.65 11.42 0.6000 0.000

Lower Bound 10 10 3 0.1 -15Upper Bound 60 30 30 0.8 15

The material parameters as well as their lower and upper bounds were converted to compliancecomponents for entry into the optimization routine. However, for ease of interpretation, we continueto present results in engineering constants. The convergence criteria, finite difference steps andinitial simplex sizes for each algorithm are the same as presented in the examples in previoussections. Also, in order to save computation time we performed the identification with a test meshof 1,500 elements instead of 12,000 in the previous cases. This saves approximately 6 seconds ofcalculation per FE solution.

The convergence rates and accuracy of the solution obtained by each algorithm for each initialguess is presented in Figures 8.23 and 8.24, respectively. The results summarized in the followingtable:

Page 165: Identification of material properties using finite elements and full ...

8.6. BENCHMARK OF OPTIMIZATION ALGORITHMS 151

1 2 3 4 5 60

100

200

300

400

500

600

700

800

900

1000

Initial Guess

Itera

tions

for

conv

erge

nce

Nelder-Meadfmincon (ASA)Levenberg-MarquardtLevenberg-Marquardt (separate u,v)

Figure 8.23: Convergence rate of the identification problem with different optimization algorithmsand different starting points.

AlgorithmNumber of Target Missed byIterations 1 Parameter by 2 Parameters by(mean) 10% 5% 2% 1% 10% 5% 2% 1%

Nelder-Mead 544 0 0 1 1 0 0 0 0fmincon (ASA) 90 3 4 6 6 2 2 3 4

Levenberg-Marquardt (LM) 201 1 1 6 6 0 1 4 4LM (separate u,v) 270 0 0 0 6 0 0 0 0

indicate that the fmincon function and Levenberg-Marquardt algorithm (without separating theu and v components) are not sufficiently accurate to identify the parameters E2 and G12. Thefmincon function missed the optimum values of at least one of these parameters by 5% 4 out ofthe 6 trials and the Levenberg-Marquardt algorithm 1 out of 6. Notice also, that due to the use ofa coarser test mesh, the errors in G12 of these tests are slightly more elevated than the errors inprevious sections.

When the u and v components are separated in the residue vector, the Levenberg-Marquardtalgorithm is able to identify all parameters within a 1% accuracy. In this case, the accuracies areof the same order of magnitude as the identification carried-out with the Nelder-Mead algorithm,except the Levenberg-Marquardt algorithm requires in average only half of the iterations requiredby Nelder-Mead. These results are largely consistent with the previous examples in the chapter.

Given the reduction in computational cost and no significant loss of accuracy in the calculatedparameters, for the subsequent chapters, the author will identify material parameters using theLevenberg-Marquardt algorithm and a residue vector with separate u and v contributions.

Page 166: Identification of material properties using finite elements and full ...

152 CHAPTER 8. OPTIMIZATION PROFILE

1 2 3 4 5 60

0.5

1

1.5

2

2.5

Initial Guess

% E

rror

E1E2G12ν12θ

(a) Nelder-Mead

1 2 3 4 5 60

10

20

30

40

50

60

70

Initial Guess

% E

rror

E1E2G12ν12θ

(b) fmincon (ASA)

1 2 3 4 5 60

2

4

6

8

10

12

14

Initial Guess

% E

rror

E1E2G12ν12θ

(c) Levenberg-Marquardt

1 2 3 4 5 60

0.5

1

1.5

2

2.5

Initial Guess

% E

rror

E1E2G12ν12θ

(d) Levenberg-Marquardt (separate u,v)

Figure 8.24: Accuracy of the optimization algorithms with different initial guesses.

Page 167: Identification of material properties using finite elements and full ...

Chapter 9

Accounting for deterministicexperimental errors

9.1 Introduction

In practical identification it is very common to have to work with experimental results obtained innon-ideal conditions. Real experiments generally contain a number of mechanical imperfections,such as errors in boundary conditions, pulling a specimen slightly off-axis, or clamping conditionsthat allows small movements. Measurement apparatuses contribute to the pollution of measureddisplacements with systematic and random effects, such as discretization, distortion and electronicnoise. When left unaccounted for these phenomena may prevent an accurate approximation ofmeasured displacements by the displacements of a typical FE model. Some of these experimen-tal errors have predictable effects and may be accounted for and corrected in an identificationprocedure. Chapter 7 described the mechanics of some of the most common phenomena in opti-cal measurements. This chapter develops a strategy for incorporating these parameters into theidentification procedure.

The introduction of new parameters onto the results of a FE model may change the nature ofthe cost function (e.g. convexity, unimodality, etc) requiring a change in optimization algorithmor requiring extra iterations in the existing algorithm. As seen in the previous chapter, identifyingmaterial parameters is already a time-consuming process, making it very undesirable to increasethe numerical cost of the procedure by careless introduction of new unavailing parameters. Thus,the main objective of this section is to introduce experimental parameters when needed, whileguaranteeing the accuracy of the identified material parameters, and taking care not to unneces-sarily increase the overall time of identification. We aim to accomplish this by determining whichexperimental parameters have little influence in the solution of material parameters and may bedisregarded, which parameters may be solved for independently, either before or after identificationof material parameters, and which parameters must be incorporated into the procedure.

This chapter limits the discussion to parameters describing rigid-body motion and errors in theorientation experiment with respect to the model (referred to as orientation or camera parameters).The conclusions in this chapter are taken from the results of a number of characteristic identifi-cation examples. In sections 9.2 through 9.5 numerical tests are conducted using the simulatedexperiments described in section 8.3.2. In section 10, we apply the techniques to a case study usingreal experimental results from stereo correlation.

9.2 Independence of parameter groups

Before discussing the incorporation of each experimental parameter group into the identificationroutine, we discuss whether these experimental effects are unique and independent, i.e. can thesame displacement/strain profile be generated by another parameter or combination of differentparameters. For example, consider an imaginary mechanical test, with measured displacementfields um,

153

Page 168: Identification of material properties using finite elements and full ...

154 CHAPTER 9. ACCOUNTING FOR DETERMINISTIC EXPERIMENTAL ERRORS

um =um(1) vm(1) um(2) vm(2) · · · um(N) vm(N)

T.

In this example we assume that the numerical model may be approximated by a linear Taylor’sseries u : <n → <N ,

u = u(~α0)+n∑i=1

~si (αi − αi0).

Coefficients αi are parameters, including material and experimental parameters, and vectors siare N × 1 unit vectors and are referred to here as “mode” vectors. This model may be seen as alinear approximation of any 2D mechanical system, where its displacement map is thought of as aweighted sum of characteristic shapes. In a non-linear system, this approximation is only accuratein a small neighborhood of around ~α0. The independence of two parameters will be evaluated hereusing this linear approximation.

The mode of a parameter αi is evaluated from finite differences,

~si =∂u

∂αi

=

1∆αi

(u(~α0 + ∆αiei) − u(~α0)) , (9.1)

ei is the Euler unit vector with the ith component equal to 1. In the experiments in previous sections,we have intuitively used residue maps, i.e. spatial representation of the difference between modeland reference displacements, to evaluate the quality of an identification. In the example in section8.6 it was shown that an identification error in modulus G12 resulted in a residue map similar tothe G12 mode. A residue mode is similar to a displacement mode, only replacing u by J . Sinceoptimizers treat residues directly, residue modes may be more useful than displacement modes.Residue modes used in this section are presented in Figures 9.8 and 9.9.

The dependence and independence of parameter modes is evaluated by the uniqueness of thesolution of the linear system

[s1 s2 · · · sn]α1

α2

...αn

= um ,

where

si =

∂u∂αi

∣∣∣∣∣∣ ∂u

∂αi

∣∣∣∣∣∣ and αi =∣∣∣∣∣∣∣∣ ∂u

∂αi

∣∣∣∣∣∣∣∣ (αi − αi0).

When displacement fields are heterogeneous and N >> n, such as in the case of the openhole examples thus far, the likelihood of fully dependent or independent modes is very small.Hence, we will attempt to assess a measure of relative dependence between modes. Later we willshow the consequences of identifying the most dependent modes simultaneously through a sampleidentification. Tables 9.1 contains the correlation matrices,

[C] =[s1 s2 · · · sn

]T [s1 s2 · · · sn],

for modes computed using residues instead of displacements. The element i, j of matrix [C] corre-sponds to the dot product of mode vectors sj and sj.

The resulting correlation matrix is positive-definite with a non-zero determinant. However thematrix is near singular with, det([C]) = 6.7191E−08 and its condition number, i.e. the ratio ofmaximum to minimum eigenvalues, is 2759.2. These results imply that the majority of points in anexperimental displacement map may be reproduced by more than one set of material parameters.This is supported by visual inspection since most of the residue mode maps share large commonregions in space. However, the non-zero determinant indicates that no residue mode may be

Page 169: Identification of material properties using finite elements and full ...

9.3. SOLVING FOR RIGID BODY MOTION 155

E1 E2 G12 ν12 θ ur vr θr tx ty θc

E1 1 0.42 0.27 0.86 0.86 0.47 0.66 0.98 0.13 0.16 0.98E2 0.42 1 0.24 0.46 0.51 0.35 0.48 0.32 0.55 0.67 0.39G12 0.27 0.24 1 0.08 0.13 0.25 0.34 0.27 0.42 0.42 0.28ν12 0.86 0.46 0.08 1 0.93 0.39 0.54 0.74 0.06 0.12 0.77θ 0.86 0.51 0.13 0.93 1 0.42 0.58 0.77 0.11 0.16 0.80ur 0.47 0.35 0.25 0.39 0.42 1 0.39 0.45 0.19 0.21 0.47vr 0.66 0.48 0.34 0.54 0.58 0.39 1 0.62 0.27 0.28 0.64θr 0.98 0.32 0.27 0.74 0.77 0.45 0.62 1 0.11 0.12 0.99tx 0.13 0.55 0.42 0.06 0.11 0.19 0.27 0.11 1 0.86 0.17ty 0.16 0.67 0.42 0.12 0.16 0.21 0.28 0.12 0.86 1 0.19θc 0.98 0.39 0.28 0.77 0.80 0.47 0.64 0.99 0.17 0.19 1

Table 9.1: Correlation matrices for residue modes.

perfectly reproduced by a linear combination of the other modes. These results suggest that if themeasurement points that distinguish one mode from another are missing from measurement or arecorrupted by excessive measurement error, the identification routine may not be able to identifyall parameters with the expected accuracy.

The matrix also indicates that there is likely to be a strong correlation between rigid-bodyrotation, θr, and camera rotation misalignment, θc. This correlation is also evident from theresemblance of the maps of residue modes of the two parameters. They are characterized byhorizontal lines concentrated at the top and bottom of the field.

9.3 Solving for rigid body motion

In previous sections, we have seen that the identification of material properties using a centereddisplacement gap improves the identifiability of material parameters. We note that the centeringoperation, i.e. removing the average displacements of both numerical and experimental fields, isequivalent to solving for rigid body displacements. The only effect of rigid body motion (rbm) thatremains to be incorporated into the identification procedure is rigid body rotation.

Since there is an analytical solution to optimum rigid body rotation, see section 7.4.1, it makessense to incorporate it into the identification routine using a multi-level optimization strategy, i.e.solve for the rbm parameters at each cost function evaluation of a material parameters set. Moreprecisely, let ~α be the material parameters,

~α =S11 S12 S22 S66 θ

Tand ~β be the rbm parameters,

~β =ur vr θr

T.

A multi-level strategy involves the solution of

min~α,~β

f(~α, ~β) subject to

Ll(αk)− αk ≤ 0αk − Lu(αk) ≤ 0

by minimizing a pseudo-function φ(~α)

min~α

φ(~α) subject to

Ll(αk)− αk ≤ 0αk − Lu(αk) ≤ 0 , where φ(~α) = min

~βf(~α, ~β).

We begin by looking at the shape of the displacement gap cost function with respect to Young’smodulus and Poisson’s ratio in an isotropic material, Figure 9.1. Note that the cost functionremains convex but the axes of the ellipses are no longer aligned with the E and ν axes. This

Page 170: Identification of material properties using finite elements and full ...

156 CHAPTER 9. ACCOUNTING FOR DETERMINISTIC EXPERIMENTAL ERRORS

rotation signifies an increased coupling between material parameters, and may present a challengein the minimization of φ(~α).

Two trial identifications will be conducted to determine if there is a negative effect of thisrotation. The first case is a repetition of the identification examples presented in section 8.3.2,only this time we solve for rigid body rotation at each iteration. The solution of rigid bodydisplacements and rotations should all be equal to zero in this example. The second case has areference field with the same properties as the previous trial, but has an added non-zero rigid-bodyrotation, θr = 0.01. Figure 9.2 shows the reference displacement fields for both cases. Initialguesses, convergence criterion, and algorithms were kept exactly the same as in section 8.6.3.

The solutions for the elastic moduli in both cases are presented in the following table:

Modulus E1 (GPa) E2 (GPa) G12 (GPa) ν12 θ (degrees)Initial Guess 23.390 16.380 13.70 0.7200 1.200

Target 19.490 13.650 11.42 0.6000 0.000Identified Previously 19.489 13.648 11.44 0.6000 0.005

Identified Case 1 19.489 13.645 11.44 0.5999 0.005Identified Case 2 19.489 13.678 11.41 0.6001 0.005

Maximum % Error 0.007 0.208 0.14 0.0053 N/A

Overall, the solution of rigid-body motion and rotation does not appear to affect at all theidentifiability of material parameters. The evolution of residue and parameters were very similarto previous examples and do not show any particularity worth noting, other than its similarity withprevious identification trials. Figure 9.3 contain the evolution of φ(~α) throughout the optimizationprocedure, as well as the rigid-body motion components identified at each material parameteriteration for case 2. The profile of φ(~α) is very similar between cases 1 and 2. For this reason andfor sake of brevity, the plots of the residue evolution for case 1 has been omitted.

The identified rigid-body parameters in both cases were:

Parameter ur (mm) vr (mm) θr (degrees)

case 1 reference 0 0 0identified −8.28E−09 −8.20E−07 −4.99E−10

case 2 reference 0 0 0.01identified −1.47E−08 −4.59E−07 0.01

Since solving for rigid body motion does not appear to cause any problem in the identificationof material parameters, and the solution of each rbm component is very fast, taking less than afraction of a second per iteration, the author recommends that a rigid body motion solver alwaysbe included in an identification procedure.

9.4 Solving for camera alignment parameters

Similar to rigid-body motion, camera alignment parameters are also a common source of exper-imental uncertainty when identifying from optical measurements. The strategy to incorporatethese parameters into the identification routine is a multi-level strategy similar to the one used forrigid-body motion. The minimization of the centered displacement gap function

min~α,~β

f(~α, ~β) subject to

Ll(αk)− αk ≤ 0αk − Lu(αk) ≤ 0

Ll(βk)− βk ≤ 0βk − Lu(βk) ≤ 0

with respect to material parameters, ~α, and camera orientation parameters, ~β, is carried out bythe minimization of a pseudo-function φ(~α),

min~α

φ(~α) subject to

Ll(αk)− αk ≤ 0αk − Lu(αk) ≤ 0 , where

Page 171: Identification of material properties using finite elements and full ...

9.4. SOLVING FOR CAMERA ALIGNMENT PARAMETERS 157

Youngs Modulus (GPa)

Po

isso

ns

rati

o

65 67.5 70 72.5 750.27

0.3

0.33

0.36

0.39

(a)

65

70

75

0.2

0.3

0.4

0.50

100

200

300

400

Youngs Modulus (GPa)Poissons ratio

Res

idu

e

(b)

Youngs Modulus (GPa)

Po

isso

ns

rati

o

68 69 70 71 720.27

0.3

0.33

0.36

0.39

(c)

65

70

75

0.2

0.3

0.4

0.50

10

20

30

40

Youngs Modulus (GPa)Poissons ratio

Res

idu

e

(d)

Youngs Modulus (GPa)

Po

isso

ns

rati

o

65 67.5 70 72.5 750.27

0.3

0.33

0.36

0.39

(e)

65

70

75

0.2

0.3

0.4

0.50

100

200

300

400

Youngs Modulus (GPa)Poissons ratio

Res

idu

e

(f)

Youngs Modulus (GPa)

Po

isso

ns

rati

o

68 69 70 71 720.27

0.3

0.33

0.36

0.39

(g)

65

70

75

0.2

0.3

0.4

0.50

5

10

15

20

25

Youngs Modulus (GPa)Poissons ratio

Res

idu

e

(h)

Figure 9.1: Contour plots of the displacement gap cost function with respect to Young’s Modulusand Poisson’s Ratio. Contour maps (a,b) with plain interpolation, (c,d) solving for rigid bodycomponents, (e,f) solving for orientation parameters, (g,h) solving for both at each iteration.

Page 172: Identification of material properties using finite elements and full ...

158 CHAPTER 9. ACCOUNTING FOR DETERMINISTIC EXPERIMENTAL ERRORS

u(x, y) in (mm) u(x, y) in (mm) u(x, y) in (mm)

x (mm)

y (m

m)

-10 0 10-20

-15

-10

-5

0

5

10

15

20

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1x 10

-3

x (mm)y

(mm

)-10 0 10

-20

-15

-10

-5

0

5

10

15

20

-4

-3

-2

-1

0

1

2

3

x 10-3

x (mm)

y (m

m)

-10 0 10-20

-15

-10

-5

0

5

10

15

20

-5

0

5

10

15

x 10-4

v(x, y) in (mm) v(x, y) in (mm) v(x, y) in (mm)

x (mm)

y (m

m)

-10 0 10-20

-15

-10

-5

0

5

10

15

20

0.013

0.0135

0.014

0.0145

0.015

0.0155

0.016

0.0165

0.017

x (mm)

y (m

m)

-10 0 10-20

-15

-10

-5

0

5

10

15

20

0.011

0.012

0.013

0.014

0.015

0.016

0.017

0.018

0.019

x (mm)

y (m

m)

-10 0 10-20

-15

-10

-5

0

5

10

15

20

0.013

0.0135

0.014

0.0145

0.015

0.0155

0.016

0.0165

0.017

(a) reference (b) θr = 0.01 (c) θc = 2

Figure 9.2: Reference displacement maps for multi-level identification of material properties, rigid-body motion and camera misalignment parameters. The reference maps are obtained by FE sim-ulation as described in section 8.3.2.

0 50 100 150 200 250-35

-30

-25

-20

-15

-10

-5

0

iteration

resi

due

(log

scal

e)

0 50 100 150 200 250

9.975

9.98

9.985

9.99

9.995

10

10.005

10.01

10.015x 10

-3

iteration

θr (de

gree

s)

0 50 100 150 200 250-9

-8

-7

-6

-5

-4

-3

-2

-1

0

1x 10

-5

iteration

ur (m

m)

0 50 100 150 200 250-0.5

0

0.5

1

1.5

2

2.5

3x 10

-3

iteration

vr (m

m)

Figure 9.3: Residue and rigid-body motion parameters evolutions during the identification of aplate with a hole. The reference map had no added rigid-body motion. The cost function is acentered displacement gap minimized using the lsqnonlin function in Matlab.

Page 173: Identification of material properties using finite elements and full ...

9.4. SOLVING FOR CAMERA ALIGNMENT PARAMETERS 159

φ(~α) = min~β

f(~α, ~β) subject to

Ll(βk)− βk ≤ 0βk − Lu(βk) ≤ 0 .

The parameters of camera alignment are,

~β =tx ty θc

.

Unlike the solution of rigid body motion parameters, there is no analytical solution to cameraalignment parameters, these must be obtained using an iterative strategy1. Also, unlike the solutionof rigid body motion, this problem formulation requires the imposition of upper and lower boundson ~β. If ~β is not bounded the optimization routine may try combinations of orientation parameterswhere some or all of the experimental points fall outside the numerical model. Also, one shouldnote that bounds are important here because such errors are typically very small.

This section aims to answer the following questions: Will the inclusion of orientation parameterscompromise the identifiability of material parameters? Is the improvement in solution sufficientto justify the additional numerical complexity? To address the first question, we repeat the ex-periments performed in the previous section. We look at the effects on the contour lines of anisotropic material’s cost function in Figure 9.1. For each FE solution the routine solves for the bestorientation parameters tx, ty, θc using a Nelder-Mead algorithm. The algorithm typically requires50-100 cost function evaluations to converge to a simplex of critical size δ = 1E−10. Just as withrbm, it appears that the cost function remains convex, with a rotation of the major axes of theelliptical contour lines.

Two tests were conducted, the first (Case 1) is the same as in previous sections (see section8.3.2), only solving for orientation parameters at each FE solution, the second (Case 2) has thesame material properties but a 2 degree camera rotation misalignment. Note that in the first testthe reference map is perfectly aligned to the numerical model, thus the solution of the cameraparameters should all be zero. Figure 9.4 contains the optimization profile for the residue, φ(~α) inboth tests. It is not very different from previous experiments, except the residue goes from 0 to -20in the log scale instead of from 0 to -35 in the previous tests. This is expected from the decreasein amplitude of the cost function illustrated previously for isotropic materials.

The solution for the elastic moduli in both cases are included in the following table:

Modulus E1 (GPa) E2 (GPa) G12 (GPa) ν12 θ (degrees)Initial Guess 23.390 16.380 13.700 0.720 1.200

Target 19.490 13.650 11.420 0.600 0.000Identified Previously 19.489 13.648 11.440 0.600 0.005

Identified Case 1 19.497 13.662 11.125 0.600 0.005Identified Case 2 19.464 13.456 10.979 0.614 -0.004

Maximum % Error 0.134 1.425 3.862 2.411 N/A

The solution of camera alignment parameters are:

Parameter tx (mm) tx (mm) θc (degrees)

case 1 reference 0 0 0identified −3.64E−05 -0.027 −9.69E−07

case 2 reference 0 0 2.00identified -0.0361 -0.0993 2.012

The solution of camera alignment parameters does not appear to significantly affect the solutionof material parameters. The results also suggests that the procedure is capable of solving forexperiment to model misalignment accurately. Case 1 is noticeably more accurate than case 2.This is likely because in order to solve for tx and ty, while guaranteeing that the same experimentalpoints were being compared at every iteration, a number of data points near the border of the holehad to be excluded from the comparison. These points carry a lot of information for moduli E2

and G12, and their absence produces a small compensating effect between tx, ty, G12 and θc. In

1Chapter 5 covered the theory for obtaining an analytical solution to camera orientation parameters based onreference point coordinates, not on displacements of reference points.

Page 174: Identification of material properties using finite elements and full ...

160 CHAPTER 9. ACCOUNTING FOR DETERMINISTIC EXPERIMENTAL ERRORS

0 50 100 150 200-25

-20

-15

-10

-5

0

iteration

resi

due

(log

scal

e)

0 50 100 150 200-0.7

-0.6

-0.5

-0.4

-0.3

-0.2

-0.1

0

0.1

iteration

θc (de

gree

s)

(a) case 1

0 10 20 30 40 50 60 70 80 90-5

-4.8

-4.6

-4.4

-4.2

-4

-3.8

-3.6

-3.4

iteration

resi

due

(log

scal

e)

0 20 40 60 80 1001.95

2

2.05

2.1

iteration

θc (de

gree

s)

(b) case 2

Figure 9.4: Residue and camera angle evolutions during the identification of orthotropic parametersand camera misalignment parameters of a plate with a hole. The reference map had no cameramisalignment in case 1 and a 2 misalignment in case 2. The cost function is a centered displacementgap minimized using the lsqnonlin function in Matlab. The residue vector is defined in equation(8.12).

case 1, this effect was less significant since the displacement fields were all symmetric. However,in either case, solving for these parameters significantly increases the time required to performan identification. This is because 60-100 cost function evaluations takes approximately 10 to 15seconds in the test computer. Considering that a FE solution takes approximately the same amountof time, the inclusion of orientation parameters is expected to double the numerical cost of theentire procedure.

Influence of uncorrected camera misalignment

Given this additional numerical cost, the author recommends that the coupling of the identificationof camera alignment parameters with material parameters be avoided whenever possible. Thisconclusion highlights the importance of performing an initial alignment as explained in Chapter 5.We conducted a parametric study to estimate expected error in orthotropic parameters as a functionof uncorrected misalignment. This parametric study tests the effects on material parameters of notaccounting for the misalignment of experiment to model. Depending on the expected error of thealignment procedure, this parametric study may help the user decide if a correction is required.

Figure 9.5 contains the results of this parametric study. The results suggest a quadratic rela-tionship between the error in orthotropic parameters with respect to translation parameters tx, tyand θc. The moduli E2 and G12 are the most sensitive to camera rotation misalignment. This isconsistent with previous results, since these two moduli were shown to have very little influencein the displacement maps of the open-hole tensile test. However, these results are not consistentwith the correlation of sensitivity modes, which suggested that E1 and ν12 should be the most

Page 175: Identification of material properties using finite elements and full ...

9.5. COUPLING CAMERA MISALIGNMENT AND RIGID-BODY MOTION 161

influenced. A possible explanation is that, in order to avoid that experimental data points moveoutside the boundaries of the numerical model as the camera coordinate system was translated androtated during the parametric study, a small band of data points close to the hole was removedfrom the experimental map. This region is generally rich with information for E2 and G12, andmay explain the loss of accuracy of the moduli. Notice, however, that for very small misalignments,less than 1 mm and less than 1 degree, we can expect approximately 1% error in other materialparameters.

In light of these results, the author suggests the following procedure for accounting for mis-alignment parameters: first, whenever possible, conduct the initial alignment procedure describedin Chapter 5. Then, run the identification procedure with orientation parameters held constant.This should be sufficient to assure that the solution of material parameters will be precise within1% to 2%. Next, the user should assess the quality of identification by looking at the residue maps.If they appear to have systematic errors, the identification should be repeated with orientationparameters using the previous solution of material parameters as an initial guess.

9.5 Coupling camera misalignment and rigid-body motion

When a symmetric experiment, such as the a plate with a hole experiment, presents an asymmetricdisplacement field, or when an identification results in a residue map with systematic error resem-bling what is expected from rigid-body rotation or camera misalignment, the user is inevitablyfaced with the question: is the asymmetry due to rigid-body motion, camera misalignment, acombination of the two or some other phenomenon entirely? Previous experiments have demon-strated that if the effect is isolated, the prevented multi-level strategies work well to correct eithereffect. Rigid-body rotation is numerically cheaper to solve for than camera misalignment, butboth are none-the-less correctable. It remains to check what happens if the effects are mixed, andthe user attempts to solve for rigid body rotation from an experimental map affected by cameramisalignment (and vice-versa).

Experiments were conducted to see the effects of confusing the two experimental phenomena.The maps in Figure 9.2 (b) were identified solving for camera misalignment (test 1) and those ofFigure 9.2 (c) were identified solving for rigid-body rotation (test 2). For details of the referencespecimen and FE model see section 8.3.2. In both cases, the wrong effect was unable to compensatefor the other, and the identification routine did not produce homogeneous residue maps. For bothtests, the identification routine did not converge inside the bounds of all material parameters, theparameter θ appeared to be squeezed into it’s lower bound, Ll(θ). These results are encouraging,since it appears to confirm that θc and θr are mutually-distinguishable parameters. The results oftest 2 are summarized in Figures 9.6.

The next test is the identification of a reference map containing both a 20 camera rotation anda 0.01 rigid-body rotation. This experiment requires a 2-step multi-level optimization strategy,

min~α,~β,~γ

f(~α, ~β,~γ) subject to

Ll(αk)− αk ≤ 0αk − Lu(αk) ≤ 0

Ll(βk)− βk ≤ 0βk − Lu(βk) ≤ 0

.

Material parameters are ~α, camera orientation parameters, ~β, and rigid-body motion parametersare ~γ. The multi-level optimization is performed by the minimizing the pseudo-function φ(~α),

min~α

φ(~α) subject to

Ll(αk)− αk ≤ 0αk − Lu(αk) ≤ 0 .

The definition of the pseudo function depends on the desired order of operation. It is defined byeither solving rbm parameters first, and camera orientation parameters second (test 3),

φ(~α) = min~β

ψ(~α, ~β) subject to

Ll(βk)− βk ≤ 0βk − Lu(βk) ≤ 0 , where

Page 176: Identification of material properties using finite elements and full ...

162 CHAPTER 9. ACCOUNTING FOR DETERMINISTIC EXPERIMENTAL ERRORS

−5 −4 −3 −2 −1 0 1 2 3 4 5

12

14

16

18

20

22

24

rotation angle (degrees)

Mod

uli (

GP

a)

E1

E2

G12

−5 −4 −3 −2 −1 0 1 2 3 4 50.585

0.59

0.595

0.6

rotation angle (degrees)

Poi

sson

s R

atio

ν12

−5 −4 −3 −2 −1 0 1 2 3 4 5−0.4

−0.2

0

0.2

0.4

rotation angle (degrees)

θ (d

egre

es)

−5 −4 −3 −2 −1 0 1 2 3 4 50

5

10

15

20

25

30

35

40

rotation angle (degrees)

Mod

uli (

% e

rror

)

E1

E2

G12

−5 −4 −3 −2 −1 0 1 2 3 4 50

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

rotation angle (degrees)

Poi

sson

s R

atio

ν12

(%

err

or)

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1−1

0

1

2

3

4

5

6

7

8

Camera translation x (in mm)

% E

rror

E11E22G12v12

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1−1

0

1

2

3

4

5

6

7

8

Camera translation y (in mm)

% E

rror

E11E22G12v12

Figure 9.5: Sensitivity of orthotropic parameters to camera translation and rotation misalignment.

Page 177: Identification of material properties using finite elements and full ...

9.5. COUPLING CAMERA MISALIGNMENT AND RIGID-BODY MOTION 163

0 20 40 60 80 100 120 140 160 180-10

-9

-8

-7

-6

-5

-4

-3

-2

-1

iteration

resi

due

(log

scal

e)

0 20 40 60 80 100 120 140 160 180-5

-4

-3

-2

-1

0

1

2

iteration

θ (d

egre

es)

0 20 40 60 80 100 120 140 160 18012.5

13

13.5

14

14.5

15

15.5

16

iteration

G12

(G

Pa)

0 20 40 60 80 100 120 140 160 1801.5

1.55

1.6

1.65

1.7

1.75

1.8

1.85

1.9

1.95

2x 10

-4

iteration

θr (de

gree

s)

Figure 9.6: Residue and parameter evolution during the identification of orthotropic parametersand rigid-body motion parameters of a plate with a hole. Although the reference map has a 2

camera rotation (see Figure 9.2), the procedure attempts purposely, but incorrectly, to solve forrigid-body rotation parameters. The cost function is a centered displacement gap minimized usingthe lsqnonlin function in Matlab. The residue vector is defined in equation (8.12). The entryparameters of the cost function are compliance components, displayed as engineering constants foreasy comparison with previous tests.

ψ(~α, ~β) = min~γ

f(~α, ~β,~γ).

Or by solving for camera parameters first, and rbm second (test 4)

φ(~α) = min~γ

ψ(~α,~γ), where

ψ(~α,~γ) = min~β

f(~α, ~β,~γ) subject to

Ll(βk)− βk ≤ 0βk − Lu(βk) ≤ 0 .

Just as with tests 1 and 2, in test 3, the material angle θ was also squeezed into its lower boundsduring the optimization routine. Test 4, on the other hand, produced acceptable results. Theseare summarized in Figure 9.7 and in the following table:

Modulus E1 (GPa) E2 (GPa) G12 (GPa) ν12 θ (degrees)Initial Guess 23.390 16.380 13.70 0.7200 1.200

Target 19.490 13.650 11.42 0.6000 0.000Identified test 3 19.351 12.879 14.01 0.6047 -4.920

% Error 0.718 5.987 18.494 0.780 N/AIdentified test 4 19.489 13.655 11.42 0.6000 0.004

% Error 0.005 0.033 0.039 0.000 N/A

The solution of rigid-body and camera rotations are:

Page 178: Identification of material properties using finite elements and full ...

164 CHAPTER 9. ACCOUNTING FOR DETERMINISTIC EXPERIMENTAL ERRORS

Parameter θr (degrees) θc (degrees)

test 3 reference 0.01 2identified 0.0152 0.0022

test 4 reference 0.01 2identified 0.0103 2.0001

The results suggest that the best strategy for solving rbm and camera alignment parameters si-multaneously is to solve for camera parameters first and rbm parameters second. This operationorder yields accurate results for both material and experimental parameters.

9.6 Assembling a full identification strategy

In chapter 8 we dealt with the choice of a cost function and procedures for its minimization. It hasbeen shown, through examples, that the minimization process is rather challenging, requiring ingeneral a significant number of FE solutions and a robust optimization algorithm. In this chapter,we discussed the incorporation of a series of experimental parameters into the procedure and howthese extra parameters interact with the optimizer. This interaction was evaluated in terms ofcompensating effects and increase of numerical complexity. In this section, we assemble a fullidentification procedure. This procedure will be employed in section 10 to identify parametersfrom real experimental data.

Step 1: Geometric characterization

The author recommends that the first step in any identification procedure be an extensive andindependent characterization of the test specimen’s geometry and related tolerances. This charac-terization is placed first for two reasons: such characterization is generally not very complicated. Itcan be as simple as taking several measurements with a micro-caliper and acquiring a series of highquality photographs of the specimen at different positions. From the images, we can determinefeatures such as the exact position of the hole with respect to the specimen’s edges and a measureof parallelism. Then, the addition of geometric parameters onto an already costly numerical pro-cedure may make the optimization procedure impractical, particularly when identification must berepeated several times. For example, to describe the position of the hole, we require two parame-ters, x and y. Imagine that solving for x∗ and y∗ using multi-level optimization requires 50 costfunction evaluations. Since 300 to 400 FE solutions are needed for a global material identification,the addition of these two parameters would require 15,000 to 20,000 FE solutions. In addition,there is no guarantee that the optimizer would converge to a solution without imposing a veryrestrictive search domain (small rectangular bounds). However, these rectangular constraints canonly be determined through an independent geometric characterization. Hence, we suggest thatthis characterization be performed beforehand, and the uncertainty of these features be used onlyto estimate the variability/uncertainty of material parameters.

Step 2: Evaluate orientation parameters

After characterizing the geometry of the test specimen, the next suggested step is to establish theorientation of the camera (world coordinate system) with respect to a numerical model. Section 9.4demonstrated that orientation parameters may be introduced into the optimization routine usinga multi-level approach, without compromising the identifiability of material parameters. However,it also demonstrated that the incorporation of such parameters into the optimization routine maysignificantly increase the numerical complexity of the identification. Hence, we suggest that thiscoupling be avoided whenever possible.

If the person conducting the identification is also performing the experiment, orientation pa-rameters can be evaluated simply and accurately by marking the specimen’s surface with a series orreference points, and performing the procedures described in Chapter 5. Natural surface features,such as surface defects and points in a grid, may also be used instead. Images of the specimensurface with reference points are often readily available, since most optical measurement techniquesacquire surface images before processing, e.g. phase extraction or correlation procedure.

Page 179: Identification of material properties using finite elements and full ...

9.6. ASSEMBLING A FULL IDENTIFICATION STRATEGY 165

0 20 40 60 80 100 120 140 160 180−14

−12

−10

−8

−6

−4

−2

0

iteration

resi

due

(log

scal

e)

0 20 40 60 80 100 120 140 160 1801.8

1.85

1.9

1.95

2

2.05

iteration

θc (de

gree

s)

0 20 40 60 80 100 120 140 160 180

9.8

9.85

9.9

9.95

10x 10

-3

iteration

θr (de

gree

s)

(a) Evolution of Residue, camera and rigid body rotation angles

J(x, y) Ju(x, y) Jv(x, y)

x (mm)

y (m

m)

-10 -5 0 5 10

-10

-5

0

5

10

0.5

1

1.5

2

2.5

3

3.5

4x 10

-9

x (mm)

y (m

m)

-10 -5 0 5 10

-10

-5

0

5

10

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

5.5

x 10-10

x (mm)

y (m

m)

-10 -5 0 5 10

-10

-5

0

5

10

0.5

1

1.5

2

2.5

3

3.5

x 10-9

(b) Residue maps

Figure 9.7: Residue and parameter evolution during the identification of orthotropic parametersand camera orientation and rigid-body motion parameters of a plate with a hole. The reference maphas a 2 camera rotation and a 0.01 rigid-body rotation (see Figure 9.2 (b) and (c)). The proceduresolves for camera parameters first and rigid-body rotation second in a multi-level optimizationstrategy. The cost function is a centered displacement gap minimized using the lsqnonlin functionin Matlab. The residue vector is defined in equation (8.12).

Page 180: Identification of material properties using finite elements and full ...

166 CHAPTER 9. ACCOUNTING FOR DETERMINISTIC EXPERIMENTAL ERRORS

When the person conducting the identification does not control the experiment, the user mayestimate orientation parameters by looking at field symmetry. Independently of the method, anexternal evaluation of the orientation parameters will significantly improve computation time andconfidence in the results.

Step 3: Perform a simulated identification

Before proceeding to treat the real experimental data, it is very beneficial to be familiarized withthe characteristics and limitations of the mechanical test and FE model. The best way to gaugethese characteristics is to identify the parameters of the test FE model against itself. To obtain anadequate reference displacement/strain map the author suggests that the user interpolates DOFsof the test FE model with expected material properties at the experimental data coordinates. Inthis way the reference map will have the same spatial distribution as the real experiment, yet thisreference map contains no noise and has known material properties.

The simulated identification will allow the user to estimate, for instance, the cost functionsensitivity to parameters, parameter scaling, gauge the convergence profile and approximate theidentification cost. As an added benefit, the simulated experiment, when compared to the realexperiment, may serve as a very useful tool to detect gross errors in alignment of the experimentand errors in scale, such as mismatch of displacements in pixels instead of millimeters.

Step 4: Perform an initial identification

The examples in chapter 8 have shown the rather slow convergence rate of the optimizers forthe 5 orthotropic elastic parameters. This is particularly true when starting with an initial valuevery different from the solution. It is hence of great interest to obtain a close initial value foreach parameter. This initial value is often obtained from knowledge of the material compositionand composite stacking sequence using laminate theory. When this information is unavailable orunreliable, e.g. for damaged or aged materials, an initial guess for E1 and ν12 may be obtainedfrom ε11 and ε22 measurements in zones of low strain variations. For example nearing the clamps inthe open hole tensile test the strain maps are very similar to a regular tensile test, and the modulimay be estimated assuming a quasi-isotropic material, such that E1 ≈ σ11

ε11, E1 = E2, ν12 ≈ − ε22ε11 ,

G12 = E12(1−ν12) and θ = 0.

From this initial guess, the author recommends that an identification of material propertiesbe performed accounting only for rigid body motion and rotation. The parameterization of rigidbody motion is justified since it was shown that it has no negative impact in the identifiability ofmaterial parameters with practically no extra numerical cost. Other experimental effects shouldonly be parameterized in the next step. The user should employ a centered cost function formu-lation and use the compliance components S11, S12, S22 and S66, as material parameters. Whenonly considering material and rigid-body motion parameters, it may be advantageous to use theLevenberg-Marquardt optimization algorithm. When trying different parameters, the user shouldcompare results using this algorithm with the slower, but more robust Nelder-Mead algorithm.

Step 5: Account for experimental parameters

After the initial identification, the identified material parameters should be close to the true opti-mum values, provided there is not a great deal of unaccounted misalignment, non-orthogonality ofmeasurements or systematic measurement error. In order to decide if it is necessary or not to intro-duce experimental parameters into the optimization routine, the user should assess the quality ofthe initial identification by visualizing residue maps. The residue map of an accurate identificationis characterized by a small scale and a uniform random distribution throughout space. Statisticaltools such as histograms may be useful to quantify the randomness of a residue map. The simulatedidentification performed in previous steps should also give a measure of the accuracy of parameterswith respect to residue scale. It is useful to look at all available measurement maps not only thoseincluded in the residue formulation. For instances, if identification was conducted using measureddisplacement maps, the user should consider calculating experimental and numerical strain mapsfor comparison.

Page 181: Identification of material properties using finite elements and full ...

9.6. ASSEMBLING A FULL IDENTIFICATION STRATEGY 167

If the residue map scale is too large or there is a concentration of residue in specific region inspace, it may be justifiable to repeat the identification while accounting for camera misalignmentand non-orthogonality of measurements. The residual map modes presented previously may hint asto the source of the error, and help decide which experimental parameters are the most important.This identification should start with parameter values identified in the previous step (as long asthese are physically feasible). This should limit the numerical cost of the procedure and avoidextraneous solutions. With the new solution, the user must decide if there is any improvement inthe residue maps, and whether the change in material parameters justify or not the extra numericalcost.

Step 6: Post treatment and statistical analysis

The final step in an identification procedure is to analyze and extrapolate information from theprevious steps. For instance, if the residue maps still contain non-random concentrations of error,which the user determines to be unacceptable, the identification may be repeated with a newmodel containing further experimental parameters, different material behavior models, geometricparameters or boundary conditions. For the examples presented in this chapter, the user may decideto parameterize and identify the position and shape of the hole, to incorporate an anisotropyor damage model into the material behavior. The scale of an acceptable residual map can bedetermined, for example, by looking at the scale of the residual maps computed between a referencemodel with material parameters, ~P0 and one with ~P0 + ∆P , where ∆P is maximum acceptableerror in the material properties.

If the identification is deemed acceptable, the user should perform a variability analysis, whichwill yield information on the statistic confidence levels of each identified parameter. A variabilitystudy is conducted by identifying parameters for a range of specimen widths and thickness, or byconducting bootstrap analysis (see section 10.6) to evaluate the identifications sensitivity to noise.

Page 182: Identification of material properties using finite elements and full ...

168 CHAPTER 9. ACCOUNTING FOR DETERMINISTIC EXPERIMENTAL ERRORS

Residue J(x, y) Ju(x, y) Jv(x, y)

∆E1

x (mm)

y (m

m)

-10 0 10-15

-10

-5

0

5

10

15

0.5

1

1.5

2x 10

-3

x (mm)y

(mm

)

-10 0 10-15

-10

-5

0

5

10

15

0.5

1

1.5

2

2.5

3

3.5

4

4.5

x 10-4

x (mm)

y (m

m)

-10 0 10-15

-10

-5

0

5

10

15

1

2

3

4

5x 10

-4

∆E2

x (mm)

y (m

m)

-10 0 10-15

-10

-5

0

5

10

15

0.5

1

1.5

2

2.5

x 10-6

x (mm)

y (m

m)

-10 0 10-15

-10

-5

0

5

10

15

2

4

6

8

10

12

14

16

x 10-6

x (mm)

y (m

m)

-10 0 10-15

-10

-5

0

5

10

15

0.5

1

1.5

2

x 10-6

∆G12

x (mm)

y (m

m)

-10 0 10-15

-10

-5

0

5

10

15

1

2

3

4

5

6

x 10-8

x (mm)

y (m

m)

-10 0 10-15

-10

-5

0

5

10

15

0.5

1

1.5

2

2.5

x 10-7

x (mm)

y (m

m)

-10 0 10-15

-10

-5

0

5

10

15

0.5

1

1.5

2

2.5

3

3.5

4

x 10-6

∆ν12

x (mm)

y (m

m)

-10 0 10-15

-10

-5

0

5

10

15

2

4

6

8

10

12

14

16

x 10-4

x (mm)

y (m

m)

-10 0 10-15

-10

-5

0

5

10

15

0.5

1

1.5

2

2.5

3

3.5

4

4.5x 10

-4

x (mm)

y (m

m)

-10 0 10-15

-10

-5

0

5

10

15

0.5

1

1.5

2

x 10-6

∆θ

x (mm)

y (m

m)

-10 0 10-15

-10

-5

0

5

10

15

2

4

6

8

10

12

14

16

18x 10

-4

x (mm)

y (m

m)

-10 0 10-15

-10

-5

0

5

10

15

0.5

1

1.5

2

2.5

3

3.5

4

4.5x 10

-4

x (mm)

y (m

m)

-10 0 10-15

-10

-5

0

5

10

15

0.5

1

1.5

2

2.5

3

3.5

4

x 10-4

J = Ju + Jv = 12

∑Ni=1

((um

(i)−um)−(u(i)−u)

max(um(i) )−min(um

(i) )

)2

+(

(vm(i)−v

m)−(v(i)−v)

max(vm(i) )−min(vm

(i) )

)2

Figure 9.8: Centered displacement gap modes for engineering constants. Each parameter wasvaried by 5% of its target value, and ∆θ = 1o.

Page 183: Identification of material properties using finite elements and full ...

9.6. ASSEMBLING A FULL IDENTIFICATION STRATEGY 169

Residue J(x, y) Ju(x, y) Jv(x, y)

∆θc

x (mm)

y (m

m)

-10 -5 0 5 10

-10

-5

0

5

10

0.005

0.01

0.015

0.02

0.025

0.03

0.035

0.04

0.045

0.05

0.055

x (mm)

y (m

m)

-10 -5 0 5 10

-10

-5

0

5

10

0.5

1

1.5

2

2.5

3

3.5

4

4.5

x 10-4

x (mm)

y (m

m)

-10 -5 0 5 10

-10

-5

0

5

10

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2x 10

-4

∆tx

x (mm)

y (m

m)

-10 -5 0 5 10

-10

-5

0

5

10

0.005

0.01

0.015

0.02

0.025

x (mm)

y (m

m)

-10 -5 0 5 10

-10

-5

0

5

10

0.5

1

1.5

2

2.5

3

3.5

x 10-4

x (mm)

y (m

m)

-10 -5 0 5 10

-10

-5

0

5

10

0.5

1

1.5

2

2.5

3

3.5

x 10-4

∆ty

x (mm)

y (m

m)

-10 -5 0 5 10

-10

-5

0

5

10

0.005

0.01

0.015

0.02

0.025

0.03

0.035

0.04

x (mm)

y (m

m)

-10 -5 0 5 10

-10

-5

0

5

10

0.5

1

1.5

2

2.5

3

3.5

4

x 10-4

x (mm)

y (m

m)

-10 -5 0 5 10

-10

-5

0

5

10

1

2

3

4

5

6

7x 10

-4

∆θr

x (mm)

y (m

m)

-10 -5 0 5 10

-10

-5

0

5

10

5

10

15

20

25

30

35

x (mm)

y (m

m)

-10 -5 0 5 10

-10

-5

0

5

10

2

4

6

8

10

12

x 10-3

x (mm)

y (m

m)

-10 -5 0 5 10

-10

-5

0

5

10

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5x 10

-3

J = Ju + Jv = 12

∑Ni=1

((um

(i)−um)−(u(i)−u)

max(um(i) )−min(um

(i) )

)2

+(

(vm(i)−v

m)−(v(i)−v)

max(vm(i) )−min(vm

(i) )

)2

Figure 9.9: Centered displacement gap modes for experimental parameters. The variation of eachparameter is ∆θc = 1o, ∆tx = 0.3 mm, ∆ty = 0.3 mm and ∆θr = 1e−3 (degrees).

Page 184: Identification of material properties using finite elements and full ...

170 CHAPTER 9. ACCOUNTING FOR DETERMINISTIC EXPERIMENTAL ERRORS

Page 185: Identification of material properties using finite elements and full ...

Chapter 10

A case study using stereocorrelation data

This chapter presents an application of the techniques developed in this thesis to a case studyinvolving real experimental measurements. The test-case aims at identifying the elastic properties(E11, E22, v12, G12, θ) of a composite material using an open-hole tensile test. The measurementswere conducted by C. Galerne at the European Aeronautic Defense and Space Company (EADS).These measurements were initially conducted to visualize the strain evolutions of the plate priorto and during failure. Only later were they thought to be recycled for identification.

Figure 10.1 illustrates dimensions and the mechanical setup for the experiment. The platedimensions are 1000× 300× 11.7 mm with a centered hole 63.4 mm in diameter. The specimen israther large compared to the geometry of typical specimens used for composite characterization.The material is composed of 45 unidirectional plies with a complex symmetrical stacking sequence.The properties of the material are not known a priori. To the author’s knowledge, the materialmay have undergone significant ageing and there has not been an independent characterization ofits properties. Further details of the specimen’s composition, such as the exact stacking sequence,will be omitted due to confidentiality concerns.

10.1 Experimental measurements

Experimental displacement and strain fields were obtained using a stereo image correlation system.The technique employs two non-parallel digital cameras to maximize the correlation between digitalimages taken before (initial) and after deformation (final). The process was discussed in section2.3.2. The experiment consists of 46 maps of displacements ux,uy and strains εxx, εyy, εxy. Eachmap was acquired from a single tensile test at different loads in increments of approximately∆T = 50 kN. Thus, each map represents the deformation of the plate with respect to a singlereference at positive nearly-zero load. Figure 10.2 contains a sample of the measured fields.

It is important to note that the experiments presented here were not conducted with theparticipation of the author. This provided an additional challenge, since in many cases full detailsof the experimental conditions are not readily available.

10.2 Numerical model

The finite element model of the open-hole tensile test is fully constrained in the lower edge and atension load T is applied to top edge. To simulate the clamp, a zero-rotation condition is imposedon this edge, which forces the whole edge to displace evenly. The mesh of QUAD4 elementsis automatically generated by ABAQUS/CAE [85] using a medial axis algorithm. Figure 10.3contains details of the meshing. The model assumes that the plate is in a state of plane stress witha uniform linear elastic orthotropic behavior law.

171

Page 186: Identification of material properties using finite elements and full ...

172 CHAPTER 10. A CASE STUDY USING STEREO CORRELATION DATA

Thickness = 11.7 mm

1000 mm

300 mm

Diameter = 63.4 mm

CCD Camera

Left Camera

Right Camera

Images of the undeformed specimen

Figure 10.1: Experimental setup for the identification case-study using stereo correlation (providedby EADS). Note: the length of the specimen is ligned-up with the y-axis.

ux in (mm)

0 5 10 15 20 250

500

1000

1500

Load

in K

N

εyy

in (%)

0.2 0.4 0.6 0.8 1 1.2 1.4 1.6

-0.1 0 0.1 0.2 0.3 0.4 0.5 0.6

Figure 10.2: Sample experimental maps of a plate with a hole using stereo correlation (providedby EADS). The images at the top show an evolution of the transverse displacement maps (in mm),while the bottom ones are longitudinal strains (in %).

Page 187: Identification of material properties using finite elements and full ...

10.3. IDENTIFICATION STRATEGY 173

(a)

x (mm)

-57 -21.5 14 49.5 85

y (mm)

-45

-21.2

2.5

26.2

50

-1.07

1.07

1e-06

u(x, y)

(b)

Figure 10.3: (a) Specimen geometry: The model is an open-hole tensile test with the lower edgefully constrained and the upper edge subjected to surface traction T (1000 kPa in this case). (b)Details of the finite element mesh (Ne = 8, 000) with displacements in mm.

10.3 Identification strategy

Standard identification tests generally consider an entire set of load cases to obtain elastic parame-ters according to different definitions such as the tangent, or secant Young’s modulus. The tangenttechnique determines Young’s modulus based on a linear fit of all stress strain values, while thesecant technique considers the statistical combination of the slopes of linear models fit to pairs ofstress/strain points.

Analogous to the secant technique, the material properties ~α are identified using 21 individualexperimental maps. Each map was acquired from a single tensile test at different loads, T , fromT = 500 kN to T = 1, 500 kN in increments of ∆T = 50 kN. Each map represents the displace-ment/deformation of the plate with respect to a single reference image at positive nearly-zero load.The loads were selected to include cases prior to the onset of visible damage at the surface. Theidentification is carried out by minimizing a centered displacement gap cost function

J(~α) =12

N∑i=1

((um(i) − um)− (u(i) − u)max(um(i) )−min(um(i) )

)2

+(

(vm(i) − vm)− (v(i) − v)max(vm(i) )−min(vm(i) )

)2

, (10.1)

for parameters

~α =S11 S12 S22 S66 θ

T. (10.2)

The minimization is carried-out using a Levenberg-Marquardt algorithm as described in section8.6.3. Although the minimization is conducted using compliance components, the results will bedisplayed in engineering constants

~α =E1 E2 G12 ν12 θ

T. (10.3)

Also rigid-body motion components were identified at each iteration. The initial guess for the firstload case and the upper and lower bounds of each parameter are presented in the following table:

Modulus S11 (1/GPa) S12 (1/GPa) S22 (1/GPa) S66 (1/GPa) θ (degrees)Initial Guess 0.0116 -0.0066 0.0402 0.0614 0.00Lower Bound 0.0010 -0.0600 0.0040 0.0060 -5.00Upper Bound 0.1000 -0.0006 0.4000 0.6000 5.00

Page 188: Identification of material properties using finite elements and full ...

174 CHAPTER 10. A CASE STUDY USING STEREO CORRELATION DATA

When identification is being repeated, in order to save computation time, the initial guess of eachsubsequent identification is taken as the solution to the previous case. As in previous experiments,the variables were normalized by their ranges, and the cost function normalized by the first value.The derivatives were calculated using finite differences with steps of 1E−4 the length of eachnormalized variable. The algorithm was set to converge when the iteration step failed to improvethe cost function by at least 1E−30. Note: the very small value of 1E−30 was selected in order toensure that the optimizer would be able to detect even the smallest parameter variations. This isparticularly important in the bootstrap analysis in section 10.6.

10.4 Alignment of experimental and numerical coordinates

The experiments, conducted by EADS, were provided to us in several ASCII files, separated byload case. Each file contained lines with the (x, y, z) coordinates and displacements (u, v, w) ofeach measurement point. The author did not have access to the specimens nor to the raw imagesand corresponding image correlation software. Thus, in the absence of reference points, it wasnot possible to conduct the coordinate alignment exactly as described in Chapter 5. Instead, thealignment was conducted by fitting a plane onto the measurement points and using the plane’snormal vector as a basis to conduct the coordinate transformation. The plane fit is illustrated inFigure 10.4 and the algorithm described in the Appendix. The experimental data was found tohave a normal vector with approximately 3o of the out-of-plane rotation.

The in-plane alignment was first estimated visually. The experiment was determined to bemisaligned by approximately 4 mm in the y direction. In order to test this alignment, an iden-tification of the material properties of a single test case was conducted. The load for this casewas T = 750 kN. In this test, the camera coordinates were not adjusted during the optimizationroutine. The identification converged after 50 FE solutions (taking approximately 30 minutes).The resulting material properties were

Modulus E1 (GPa) E2 (GPa) G12 (GPa) ν12 θ (degrees)Solution 79.74 19.06 11.04 0.5709 0.0156

with rigid-body motion components of

Component ur (mm) vr (mm) θr (degrees)Solution 0.0225 0.4613 5.4906E−05

Figure 10.5(a) contains the residue map of this identification. Notice that the residue appears tocontain a mode Ju, which is very similar to the mode caused by a camera translation misalignment,see Figure 9.9.

This identification was repeated while adjusting for camera misalignment parameters duringthe optimization routine. Indeed the algorithm was able to evaluate a small misalignment of∆x = 0.001mm, ∆y = 0.3mm and ∆θc = 0.005o. The resulting material properties for this trialwere

Modulus E1 (GPa) E2 (GPa) G12 (GPa) ν12 θ (degrees)Solution 86.06 25.19 16.51 0.5554 0.6468

with rigid-body motion components of

Component ur (mm) vr (mm) θr (degrees)Solution 0.0225 0.4613 6.5015E−05

In Figure 10.5(b), we see that the concentration of residue near the hole vanishes for the secondtrial. The remaining residue concentration near the boundaries of the image are likely due toexperimental noise and possibly camera distortion, as will become more evident for trials at ahigher tension levels, see Figure 10.12.

Page 189: Identification of material properties using finite elements and full ...

10.4. ALIGNMENT OF EXPERIMENTAL AND NUMERICAL COORDINATES 175

-150-100

-500

50100

150

0

4

8

12

16

20

-100-50

050

100150

x (mm)

y (mm)

z (mm)

(a)

-150-100

-500

50100

150-100

-500

50100

150

x (mm)

y (mm)

z (mm)

-6

-4

-2

0

2

4

6

(b)

-150 -100 -50 0 50 100 150-150

-100

-50

0

50

100

150

x (mm)

y (m

m)

(c)

-150 -100 -50 0 50 100 150-150

-100

-50

0

50

100

150

x (mm)

y (m

m)

(d)

Figure 10.4: Procedure for coordinate alignment in the absence of reference points. The reddots are experimental points and the blue lines a representation of the numerical model. (a) Initialcoordinates. (b) Coordinates are centered, then rotated off-plane using a plane fit of the experimentcoordinates (c). In-plane alignment was first estimated visually then adjusted using an iterativeprocedure during the identification routine (d).

x (mm)

y (m

m)

Residue Ju(x,y)

-150 -100 -50 0 50 100 150

-100

-50

0

50

100

0.5

1

1.5

2

2.5

3

3.5

x 10-3

x (mm)

y (m

m)

Residue Jv(x,y)

-150 -100 -50 0 50 100 150

-100

-50

0

50

100

0.5

1

1.5

2

2.5

3

3.5x 10

-3

(a) No correction for camera misalignment

x (mm)

y (m

m)

Residue Ju(x,y)

-150 -100 -50 0 50 100 150

-100

-50

0

50

100

1

2

3

4

5

6

7

8

9

10x 10

-4

x (mm)

y (m

m)

Residue Jv(x,y)

-150 -100 -50 0 50 100 150

-100

-50

0

50

100

0.5

1

1.5

2

2.5

x 10-3

(b) With correction for camera misalignment

Figure 10.5: Effects of correcting camera misalignment in identification. The residue maps are forload case T = 750 kN, (b) with and (a) without correction for camera misalignment.

Page 190: Identification of material properties using finite elements and full ...

176 CHAPTER 10. A CASE STUDY USING STEREO CORRELATION DATA

10.5 Identification results for multiple load cases

Using the camera alignment obtained in the previous identification we proceed to identify the21 separate load cases. The identification considers each experiment map individually: everyidentification is restarted using the same initial guess and bounds specified in section 10.3. Figure10.6 and table 10.1 contain the results for each load case. Figure 10.8 contains a sample of theexperimental and numerical strain fields. Notice the very good resemblance between them, bothin shape and scale.

500 600 700 800 900 1000 1100 1200 1300 1400 15000

20

40

60

80

100

120

Load in kN

Mod

ulus

in G

Pa

E1

E2

G12

500 600 700 800 900 1000 1100 1200 1300 1400 15000.3

0.35

0.4

0.45

0.5

0.55

0.6

0.65

Load kN

Poi

sson

s ra

tio ν

12

Figure 10.6: Moduli E11, E22, G12 and ν12 identified for loads between 500 kN and 1,500 kN.

Parameter Average σ (%)E11 (GPa) 87.03 1.00E22 (GPa) 23.99 5.15G12 (GPa) 16.11 1.59

ν12 0.554 2.79

Table 10.1: Summary of identification results for 21 load cases.

The values of all parameters remain fairly constant, with E22 showing a small decreasing tendencyand ν12 an increasing tendency. Analyzing the residue maps indicates that these phenomena arelikely to be due to the evolution of damage in the matrix. This is seen very clearly in Figure 10.11,containing the error maps (∆εyy = εmyy−εyy(~α∗)), which shows an error (damage) region developingnear the top left and bottom right of the hole. The region has vertical lines concentration thatmay represent internal fracture of the matrix. Since most of the fibers are aligned in the loadingdirection, y, E2 experiences a larger degree of weakening.

Figure 10.7 contains the rigid-body motion components identified for each load case. Noticethat there is significant rigid-body translation in the y direction, which continues to increase withthe load. The same is seen for the rigid-body rotation. This evolution may indicate slipping of thespecimen at the clamps. The rigid-body rotation (though very small in scale) may indicate thatslipping may have occurred in a non-symmetric fashion.

10.6 Estimation of confidence intervals

Next, we pay closer attention to a single load case, namely T = 750 kN. This section presentsa first estimate of the confidence intervals of the identified parameters as it pertains to randomexperimental error. Experimental error includes systematic error (e.g calibration, rigid-body mo-tion, etc), as well as random noise (e.g parasitic vibration, correlation algorithm, camera noise,interference in the wiring, etc). Without loss of generality, experimental values are assumed to be

um(x(i)) = ue(x(i)) + ueb(x(i)) + ueν(x(i)), (10.4)

where ue is the true measurement at point x(i), ueb is a bias error and ueν a random variation. Thetrue value is always unknown, therefore statistical uncertainty analysis must be used to estimate the

Page 191: Identification of material properties using finite elements and full ...

10.6. ESTIMATION OF CONFIDENCE INTERVALS 177

400 600 800 1000 1200 1400 1600-0.1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

Load in kN

Rig

id-B

ody

Mot

ion

(mm

)

transverse: urlongitudinal: vr

400 600 800 1000 1200 1400 16004

5

6

7

8

9

10

11

12

13x 10

-5

Load in kN

Rig

id-B

ody

rota

tion

(deg

rees

)

Figure 10.7: Rigid-body motion components identified for loads between 500 kN and 1,500 kN.

error within a certain level of confidence. Confidence intervals calculations require the availabilityof several independent measurements, which can only be obtained by repeated experimentationusing a variation of techniques. The former, repeated experimentation, is generally sufficient tocancel-out random variation, while the latter, changing experimental methods, is employed tominimize bias error.

Point Sampling

The necessity of repeated experimentation may be avoidable in identification with OFFMs sincethe problem is often highly over-determined, generally containing 1 × 103 to 1 × 104 independentmeasurement points and only a few unknown parameters (4 in this case). It is reasonable toconsider that any partial field containing only a sub-set (obtained by random sampling) of the full-field of measurement points is a pseudo-independent experiment, from which we could evaluatethe variance of identification to random error. Point sampling in sometimes a practical necessityin identification since the full set of pixel measurements may be too large to work with in anaverage PC. For example, an ASCII file containing displacement and strain measurements fromMoire interferometry may easily reach 50 to 100 Mb of memory. The time it takes to load, parseand interpolate all points in the full field may be too long if the PC does not have sufficient RAMmemory. In these cases, it is common to perform identification using for example 1 out of 4 pointsin the file. Obviously, in such a case one wonders what happens when identification is performedusing different methods of selecting the partial field.

In this experiment, we try to answer this question by conducting a variation analysis usingdifferent partial fields of the points in the full-field. Material parameters ~α∗k are identified for eachof the k partial fields. The corresponding numerical displacement is represented as

u(~α∗k, x(i)) = ue(x(i)) + εk(x(i)), (10.5)

where x(i) is a point in the kth sub-field and εk(x(i)) is difference distribution, which includeserror in the model, identification and experimental error (e.g meshing error, optimization error,etc). Since each experimental data point contains its own error signature, every identification issusceptible to yield a different level of experimental error. If the error distribution of the full-fieldis random and has a standard deviation of σ(ε), the standard deviation of the error of the partialfield, σk(ε), should be σk(ε) ∝ σ(ε)/

√Nk/N , where Nk is the number of points in the sub-field

and N the number of points in the entire field. A similar variability should be observed in theidentified parameters.

Figure 10.9 shows a plot of the identified values for parameters ~α = E1 E2 G12 ν12 calculatedfor 200 different sub-fields. Each sub-field is formed by selecting at random Nk = 600 points outof the full-field of N = 12, 000 points (5% of the total number of measurement points). The valuesµ(α) are the average value of a parameter for the 200 identifications. The average and standarddeviation of the identified values is given in Table 10.2. Further analysis of these results will bepresented shortly.

Page 192: Identification of material properties using finite elements and full ...

178 CHAPTER 10. A CASE STUDY USING STEREO CORRELATION DATA

x (mm)

y (m

m)

Experimental: ux (mm)

-150 -100 -50 0 50 100 150

-100

-50

0

50

100

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

x (mm)

y (m

m)

Numerical: ux (mm)

-150 -100 -50 0 50 100 150

-100

-50

0

50

100

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

x (mm)

y (m

m)

Experimental - Numerical: ∆ ux (mm)

-150 -100 -50 0 50 100 150

-100

-50

0

50

100

-0.015

-0.01

-0.005

0

0.005

0.01

0.015

0.02

x (mm)

y (m

m)

Experimental: uy (mm)

-150 -100 -50 0 50 100 150

-100

-50

0

50

100

0.8

0.9

1

1.1

1.2

1.3

1.4

1.5

1.6

1.7

x (mm)

y (m

m)

Numerical: uy (mm)

-150 -100 -50 0 50 100 150

-100

-50

0

50

100

0.8

0.9

1

1.1

1.2

1.3

1.4

1.5

1.6

1.7

x (mm)

y (m

m)

Experimental - Numerical: ∆ uy (mm)

-150 -100 -50 0 50 100 150

-100

-50

0

50

100

-0.02

-0.01

0

0.01

0.02

0.03

0.04

0.05

x (mm)

y (m

m)

Experimental: εyy

(%)

-150 -100 -50 0 50 100 150

-100

-50

0

50

100

0.1

0.2

0.3

0.4

0.5

0.6

x (mm)

y (m

m)

Numerical: εyy

(%)

-150 -100 -50 0 50 100 150

-100

-50

0

50

100

0.1

0.2

0.3

0.4

0.5

0.6

x (mm)

y (m

m)

Experimental - Numerical: ∆ εyy

(%)

-150 -100 -50 0 50 100 150

-100

-50

0

50

100

-0.03

-0.02

-0.01

0

0.01

0.02

0.03

0.04

x (mm)

y (m

m)

Experimental: εxx

(%)

-150 -100 -50 0 50 100 150

-100

-50

0

50

100

-0.4

-0.35

-0.3

-0.25

-0.2

-0.15

-0.1

-0.05

x (mm)

y (m

m)

Numerical: εxx

(%)

-150 -100 -50 0 50 100 150

-100

-50

0

50

100

-0.4

-0.35

-0.3

-0.25

-0.2

-0.15

-0.1

-0.05

x (mm)

y (m

m)

Experimental - Numerical: ∆ εxx

(%)

-150 -100 -50 0 50 100 150

-100

-50

0

50

100

-0.06

-0.05

-0.04

-0.03

-0.02

-0.01

0

0.01

0.02

0.03

Figure 10.8: Experimental and numerical (identified) strain maps for load case T = 750 kN

Page 193: Identification of material properties using finite elements and full ...

10.6. ESTIMATION OF CONFIDENCE INTERVALS 179

0.9

0.95

1

1.05

1.1

0 50 100 150 200N

orm

aliz

edPar

amet

ers

Sample (k)

E11/µ(E11)E22/µ(E22)ν12/µ(ν12)

G12/µ(G12)

(a)

Figure 10.9: Normalized identification results for point samples (5% of experimental map). Alltests were performed for the load-case T = 750 kN.

Error Redistribution (Bootstrapping)

Alternatively to selecting a sampling of the fields, the confidence intervals of the identified pa-rameters may be estimated by statistical bootstrapping. In this procedure the identification isrepeated using all experimental points (i.e. a 100% sampling). Bootstrapping calculates statisticalestimators (such standard deviations) by replacing the original experiment with fake experimentscreated by reshuffling the error of the original experiment to a model fit. More precisely, let usassume that the error ε0(x(i)) of an initial identification, where

ε0(x(i)) = uek(x(i))− u(~α∗0, x(i))+, (10.6)

is sufficiently uniform and random. The initial identification is carried-out using all points of a realexperiment with no modification. If the errors are truly random, we can imagine that a redundantexperiment (i.e. exact same experimental conditions) would produce the same measurement fieldwith errors having the same average and standard deviation. A pseudo-experiments, uek, whichsimulates this condition, can be created by randomly shifting the error from one point to another,i.e.

uek(x(i)) = u(~α∗0, x(i)) + ε0(x(λ)), (10.7)

where u(~α∗0, x(i)) is the first identified field and λ is a random integer such that λ ∈ [1, N ]. If the

identification is repeated using the new pseudo-experiment, a new set of identified parameters isobtained, ~α∗k. By repeating the process several times, it is possible to calculate an array of identifiedparameters, from which statistical parameters can be estimated. Figure 10.10 is a scatter plot ofthe normalized identified values conducted for a bootstrap analysis using 200 identified values.

Table 10.2 contains the results of both the bootstrap analysis and the field sampling analysis.

Field Sampling Bootstrapping(600 out of 12,000 points) (Redistribution of Error)

Parameter Average σ (%) Average σ (%)E11 (GPa) 84.58 0.17 84.58 0.03E22 (GPa) 23.89 1.37 23.89 0.33G12 (GPa) 15.18 1.33 15.20 0.27

ν12 0.552 0.43 0.552 0.09

Table 10.2: Summary of identification.

Notice that the ratio of the standard deviations for the first and second identification sets are 5.67,4.15, 4.93 and 4.78, all very close to 1/

√0.05. This implies that error in estimation of parameters

Page 194: Identification of material properties using finite elements and full ...

180 CHAPTER 10. A CASE STUDY USING STEREO CORRELATION DATA

0.98

0.985

0.99

0.995

1

1.005

1.01

1.015

1.02

0 50 100 150 200

Nor

mal

ized

Par

amet

ers

Sample (k)

E11/µ(E11)E22/µ(E22)ν12/µ(ν12)

G12/µ(G12)

(a)

Figure 10.10: Normalized identification results for the boostrap analysis (redistribution of error).All tests were performed for the load-case T = 750 kN.

is linearly related to the experiment’s noise level σ(ε), and that the accuracy of the parametersimproves when increasing number of experimental data points N , such that

σ(α) ∼ 1√N. (10.8)

The ratios also suggest that all properties have similar sensitivities to random noise. Notice aswell that the material parameters displays very small standard deviations, which suggest that theimplemented FEMU strategy is highly repeatable and not overly sensitive to random experimentalerror.

Page 195: Identification of material properties using finite elements and full ...

10.6. ESTIMATION OF CONFIDENCE INTERVALS 181

T = 750 kN T = 800 kN T = 850 kN T = 900 kN-0.25

-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

0.2

T = 950 kN T = 1000 kN T = 1050 kN T = 1100 kN-0.25

-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

0.2

T = 1150 kN T = 1200 kN T = 1250 kN T = 1300 kN-0.25

-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

0.2

T = 1350 kN T = 1400 kN T = 1450 kN T = 1500 kN-0.25

-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

0.2

T = 1550 kN T = 1600 kN T = 1650 kN T = 1680 kN-0.25

-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

0.2

Figure 10.11: Evolution of error maps (εmxx − εxx(~θ∗)) from T = 750 kN to T = 1, 700 kN. Theseerror maps appear to show the propagation of damage.

Page 196: Identification of material properties using finite elements and full ...

182 CHAPTER 10. A CASE STUDY USING STEREO CORRELATION DATA

T = 750 kN

0.5

1

1.5

2

2.5

3

3.5

4

4.5

x 10-3

T = 800 kN

2

4

6

8

10

12

14

x 10-4

T = 850 kN

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2x 10

-3

T = 900 kN

2

4

6

8

10

12

14

16x 10

-4

T = 950 kN

0.5

1

1.5

2

2.5

3

3.5

x 10-3

T = 1000 kN

0.5

1

1.5

2

2.5

x 10-3

T = 1050 kN

2

4

6

8

10

12

x 10-4

T = 1100 kN

2

4

6

8

10

12

14

x 10-4

T = 1150 kN

0.5

1

1.5

2

2.5

x 10-3

T = 1200 kN

0.5

1

1.5

2

x 10-3

T = 1250 kN

2

4

6

8

10

12

x 10-4

T = 1300 kN

2

4

6

8

10

12

x 10-4

T = 1350 kN

2

4

6

8

10

12

14

16x 10

-4

T = 1400 kN

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2x 10

-3

T = 1450 kN

2

4

6

8

10

x 10-4

T = 1500 kN

2

4

6

8

10

12

x 10-4

T = 1550 kN

2

4

6

8

10

12

14

16

x 10-4

T = 1600 kN

2

4

6

8

10

x 10-4

T = 1650 kN

0.5

1

1.5

2

2.5

x 10-3

T = 1680 kN

1

2

3

4

5

6

7

x 10-3

Figure 10.12: Evolution of residue maps J(~α∗) from T = 750 kN to T = 1, 700 kN. These residuemaps appear to show a concentration error in the edges of the images. This residue mode issimilar to modes created by camera distortion (see Figure 7.17(b)). The increasing concentrationof residues near the hole are indicative of the propagation of damage.

Page 197: Identification of material properties using finite elements and full ...

Chapter 11

General conclusions

This thesis has presented several techniques implemented for general identification using finiteelement model update. The major accomplishments of this thesis are:

1. The development of procedures for obtaining numerical degrees of freedom at correspondingexperimental measurement points. These include an algorithm for aligning numerical andexperim

183

Page 198: Identification of material properties using finite elements and full ...

184 CHAPTER 11. GENERAL CONCLUSIONS

Page 199: Identification of material properties using finite elements and full ...

Contents

ental coordinates and an interpolation algorithm to be used with a finite elements model.The algorithm was developed to be numerically efficient and to introduce as few additionalassumptions as possible into the comparison routine.

2. A complete implementation of an identification strategy including residue minimization rou-tines and procedures for compensating deterministic experimental effects. These techniqueswere implemented in a comprehensive programming toolkit (IDTK).

3. The application of these techniques and programming tools to the identification of a numberof simulated experiments and a real experimental case study.

In the industrial case study, the solution strategy was shown to be accurate, robust and repeat-able. The industrial test case put to evidence the importance of correcting experimental effects inidentification. In addition this thesis has focused on the metrological quality of the identified prop-erties. Two strategies for random uncertainty evaluation have been proposed, which demonstratedthe high repeatability of the identification procedure.

11.1 Perspectives

The identification case study in the previous chapter was relatively straightforward, largely dueto the great care and quality of the experimental measurements. In the future we aim to iden-tify properties on more difficult test-cases. Some of these have already been investigated in ourlaboratory.

11.1.1 Identification of boundary conditions

In the future, we aim at improving models of deterministic experimental effects in order to identifyparameters of boundary condition. In many ways this work is more appealing than the identificationof material properties, since to the author’s knowledge there is no standard and generic way toidentify boundary conditions in industry. The use of full-field measurements and inverse methodsstand as a natural approach [32].

Current Status

We have seen this thesis the treatment of rigid-body motion, a particular type of boundary effects.However, in the case study, the importance of solving for these parameters is not immediatelyobvious, since the measurement maps showed a high degree of symmetry (a sign of the absence ofrotation effects). In recent work, we have re-analyzed the experiments conducted by J.R. Lee [34].In previous work, the strain maps were used to identify the 4 orthotropic parameters E1, E2, G12

and ν12 of a stitched carbon fiber composite plate using measured strain fields [19].Presently, we are aiming at obtaining further information about the measurements by identi-

fying a numerical model using displacement measurements. We are currently assessing rigid-bodymotion and other deterministic experimental parameters such as camera and sensitivity vectorsmisalignment, in addition to a common perturbation in the boundary conditions, namely a small

185

Page 200: Identification of material properties using finite elements and full ...

186 CONTENTS

misalignment of the clamps during pulling. This misalignment induces an unknown parasite couple-moment in the specimen, producing a very visible anti-symmetry in the transverse displacementmaps v(x, y).

By parameterizing the distance d between the resultants of the tensile force, we are currentlyable to reproduce the experimental maps very accurately.

11.1.2 Damage and local property identification

In the experiment in the previous chapter, a complete set of images was used to identify propertiesfor each load case. Throughout the loading sequence, the identified elastic properties remainedfairly constant, but a small progressive variation is observed throughout the loading on two pa-rameters (E2 and ν12). Residue maps seem to show the damage development which is evidencedin the build-up of error concentration in the transverse map. An obvious extension of this methodis to make further use of residue maps in order to evaluate the extent of the damage.

An approach currently being developed involves detecting the damaged region using residuemaps, and partitioning the numerical model to match. For example, Figure 11.1 shows the residuemap of a plate with a hole specimen which contains a elliptical region in the bottom right withweaker material than in the rest of the plate. The simulated experimental map is identified firstwith a numerical model containing a single material property, which turned out to be very closeto the properties of the global material of the experimental plate. The residue maps containconcentrated residual strains with shape very similar to the ellipse in the bottom right corner.

x (mm)

y (m

m)

Experimental - Numerical: V

-10 0 10

-20

-15

-10

-5

0

5

10

15

20

-8

-6

-4

-2

0

2

4

x 10-4

(a) vm − v(~θ∗)

x (mm)

y (m

m)

Experimental - Numerical: εyy

-10 0 10

-20

-15

-10

-5

0

5

10

15

20

-2

-1

0

1

2

3

4

5

x 10-4

(b) εmyy − εyy(~θ∗)

Figure 11.1: Residue maps of a plate with a hole tensile test. The simulated experimental platehas global properties of E1 = 19.49 GPa, E2 = 13.65 GPa, G12 = 11.42 GPa, ν12 = 0.60 and anelliptical region with local material properties, E1 = 10.69 GPa, E2 = 16.69 GPa, G12 = 11.06GPa, ν12 = 0.62. The numerical model was identified with homogeneous properties.

When the measurements have a sufficiently high resolution and spatial resolution, it becomespossible to trace the limits of the inclusion. The experiment is then identified again against thepartitioned numerical model. In a successful partitioning, the resulting residue maps no longerpresent a local aberration.

Current Status

Presently, this strategy has been used successfully to identify simulated experiments, such as theones illustrated in the example figures. We have recently attempted to identify an inclusion on a realspecimen of a composite laminate made of 5 unidirectional HexPly M12 plies with a [+450,−450, 0]s

Page 201: Identification of material properties using finite elements and full ...

11.1. PERSPECTIVES 187

stacking sequence. The material’s global properties are E1 = 19.49 GPa, E2 = 13.65 GPa,G12 = 11.42 GPa and ν12 = 0.60. The elliptical inclusion is constructed by drilling an addi-tional off-centered hole in the central ply, prior to curing the material. During the cure process thesurrounding resin fills the gap and redistribute across the plate creating a local region of weakermaterial, see Figure 11.2(a). Using laminate theory we estimate the properties in the thin regionto be E1 = 10.69 GPa, E2 = 16.69 GPa, G12 = 11.06 GPa, ν12 = 0.62.

A first-trial identification was attempted, though not fully successful, with experiments con-ducted using speckle interferometry by A. Martinez of the Centro de Investigaciones en Optica(CIO) in Mexico. The experimental setup used a real-time temporal phase-shifting technique,which enabled only the measurement of displacements in one sensitivity vector at the time[155].Hence, for our first trial the we had to attempt to identify properties form displacement maps ofonly the longitudinal component v(x, y).

Weak Region

(a) Specimen with local properties

x (mm)

y (m

m)

Experimental - Numerical: V

-10 0 10

-20

-15

-10

-5

0

5

10

15

20

-8

-6

-4

-2

0

2

4

x 10-5

(b) vm − v(~θ∗)

x (mm)

y (m

m)

Experimental - Numerical: εyy

-10 0 10

-20

-15

-10

-5

0

5

10

15

20

-6

-4

-2

0

2

4

6

8

x 10-5

(c) εmyy − εyy(~θ∗)

Figure 11.2: Residue maps of a plate with a hole tensile test. Experiments conducted using speckleinterferometry. The experimental plate has an elliptical region with local material properties, Thenumerical model was identified with homogeneous properties.

Despite this limitation, we were able to successfully identify the global properties of the plate.However, the experiment did not produce the expected residue concentration, which would have

Page 202: Identification of material properties using finite elements and full ...

188 CONTENTS

enabled us to locate and identify the local material properties. Instead, the residue map containsa number of regions with residue concentrations. This is probably due a localized behavior of thematerial, either natural or due to damage induced by an elevated load. New experiments are inprogress both in the CIO laboratory, using speckle inteferometry and the EMSE/MPE laboratoryusing a two-scale grid method.

Page 203: Identification of material properties using finite elements and full ...

Bibliography

[1] N. J. Pagano and J. C. Halpin. Influence of end constraint in the testing of anisotropicbodies. Journal of Composite Materials, 2(1):18, 1968.

[2] http://www.mttusa.net/.

[3] J. Molimard. Application de methodes optiques a la mecanique experimentale. HDR Disser-tation in French, December 2005.

[4] D. H. Mollenhauer, P. G. Ifju, and B. Han. A compact, robust and versatile moire interfer-ometer. Optics and Lasers in Engineering, 23(1):29–40, 1995.

[5] A. ASTM. Standards and literature references for composite materials. American Societyfor Testing and Materials, 1990.

[6] C. H. Jenkins. Manual on Experimental Methods for Mechanical Testing of Composites.Fairmont Press, 1998.

[7] J. M. Hodgkinson. Mechanical testing of advanced fibre composites. Woodhead Publishing,2000.

[8] S. Avril, M. Bonnet, A. S. Bretelle, M. Grediac, F. Hild, P. Ienny, F. Latourte, D. Lemosse,S. Pagano, E. Pagnacco, and F. Pierron. Overview of identification methods of mechanicalparameters based on full-field measurements. 2008.

[9] F. Amiot, F. Hild, and J. P. Roger. Identification of elastic property and loading fieldsfrom full-field displacement measurements. International Journal of Solids and Structures,44(9):2863–2887, May 2007.

[10] S. Avril and F. Pierron. General framework for the identification of constitutive param-eters from full-field measurements in linear elasticity. International Journal of Solids andStructures, 44(14-15):4978–5002, July 2007.

[11] M. Ikehata. Inversion formulas for the linearized problem for an inverse boundary valueproblem in elastic prospection. SIAM Journal on Applied Mathematics, 50(6):1635–1644,1990.

[12] V. Trans, S. Avril, and F. Pierron. Software implementation of the virtual fields method. InQuinta, editor, Advances in Experimental Mechanics, volume 7-8, pages 57–62, Stafa-Zuerich,Switzerland, 2007. British Society for Strain Measurement, Trans Tech Publications.

[13] E. Pagnacco, A. Moreau, and D. Lemosse. Inverse strategies for the identification of elasticand viscoelastic material parameters using full-field measurements. Materials Science andEngineering: A, 452-453:737–745, April 2007.

[14] G. Geymonat, F. Hild, and S. Pagano. Identification of elastic parameters by displacementfield measurement. Comptes Rendus Mecanique, 330(6):403–408, 2002.

[15] G. Geymonat and S. Pagano. Identification of mechanical properties by displacement fieldmeasurement: A variational approach. Meccanica, 38(5):535–545, October 2003.

189

Page 204: Identification of material properties using finite elements and full ...

190 BIBLIOGRAPHY

[16] Wattrisse, Chrysochoos, Pagano, and Latourte. Identification elastoplastique locale a l’aided’une methode variationnelle. 2007.

[17] D. Claire, F. Hild, and S. Roux. Identification of damage fields using kinematic measurements.Comptes Rendus Mecanique, 330(11):729–734, November 2002.

[18] D. Lecompte, H. Sol, J. Vantomme, and A. M. Habraken. Identification of elastic orthotropicmaterial parameters based on espi measurements. Proceedings of SEM Annual Conference& Exposition on Experimental and Applied Mechanics; Portland, Oregon, pages 7–9, 2005.

[19] J. Molimard, R. Le Riche, A. Vautrin, and J. R. Lee. Identification of the four orthotropicplate stiffnesses using a single open-hole tensile test. Experimental Mechanics, 45(5), 2005.

[20] G. Silva, R. Le Riche, J. Molimard, A. Vautrin, and C. Galerne. Identification of materialproperties using femu: Application to the open hole tensile test. In Quinta, editor, Advancesin Experimental Mechanics, volume 7-8, pages 73–78, Stafa-Zuerich, Switzerland, September2007. British Society for Strain Measurement, Trans Tech Publications.

[21] D. Lecompte, A. Smits, H. Sol, J. Vantomme, and D. Van Hemelrijck. Mixed numerical–experimental technique for orthotropic parameter identification using biaxial tensile tests oncruciform specimens. International Journal of Solids and Structures, 44(5):1643–1656, 2007.

[22] T. Burczynski. Evolutionary computation in mechanics. IACM Expressions, Bull. for TheInt. Assoc. for Comp. Mech, 2003.

[23] G. Mauvoisin, F. Bremand, and A. Lagarde. Three-dimensional shape reconstruction byphase-shifting shadow moire. Appl. Opt, 33(11):2163–2169, 1994.

[24] J. Cugnoni. Identification par recalage modal et frequentiel des proprietes constitutives decoques en materiaux composites. PhD thesis, Ecole Polytechnique Federale de Lausanne,Lausanne, EPFL, 2005.

[25] J. Cugnoni, T. Gmur, and A. Schorderet. Identification by modal analysis of compositestructures modelled with FSDT and HSDT laminated shell finite elements. Composites PartA-Applied Science and Manufacturing, 35(7-8), 2004.

[26] J. Cugnoni, T. Gmur, and A. Schorderet. Modal validation of a set of c0-compatible compositeshell finite elements. Composites Science and Technology, 64(13-14):2039–2050, October 2004.

[27] J. Cugnoni, T. Gmur, and A. Schorderet. Inverse method based on modal analysis forcharacterizing the constitutive properties of thick composite plates. Computers & Structures,85(17-18):1310–1320, September 2007.

[28] M. Kauer. Inverse finite element characterization of soft tissues with aspiration experiments.PhD thesis, Swiss Federal Institute of Technology, Zurich, Switzerland, June 2001.

[29] L. Le Magorou, F. Bos, and F. Rouger. Identification of constitutive laws for wood-basedpanels by means of an inverse method. Composites Science and Technology, 62(4):591–596,2002.

[30] K. Genovese, L. Lamberti, and C. Pappalettere. Mechanical characterization of hyperelasticmaterials with fringe projection and optimization techniques. Optics and Lasers in Engi-neering, 44(5):423–442, 2006.

[31] M. Giton, Caro A. S. Bretelle, and P. Ienny. Hyperelastic behaviour identification by aforward problem resolution: Application to a tear test of a silicone-rubber. Strain, 42(4):291–297, 2006.

[32] E. Pagnacco and D. Lemosse. A coupled FE based inverse strategy from displacement fieldmeasurement subject to an unknown distribution of forces. Clermont-Ferrand, France, Oc-tober July 2006. Photomechanics.

Page 205: Identification of material properties using finite elements and full ...

BIBLIOGRAPHY 191

[33] M. Grediac. The use of full-field measurement methods in composite material characteri-zation: interest and limitations. Composites Part A: Applied Science and Manufacturing,35(7-8):751–761, July 2004.

[34] J. R. Lee. Application of Laser Interferometric Techniques to the Experimental Analysis ofMaterials and Structures. Special case of Composites. PhD thesis, Ecole Nationale Superieuredes Mines de Saint-Etienne, March 2004.

[35] G. Cloud. Optical Methods of Engineering Analysis. Cambridge University Press, 1995.

[36] D. Post, B. Han, and P. Ifju. High sensitivity moire. Springer-Verlag New York, 1994.

[37] M. Sjodahl. Some recent advances in electronic speckle photography-measurement of in-planestrain fields through the use of defocused laser speckle. Optics and Lasers in Engineering,29(2):125–144, 1998.

[38] Y. Surrel. Les techniques optiques de mesure de champ: essai de classification. Instrumen-tation mesure et metrologie, 4(3-4):11–42, 2005.

[39] M. A. Sutton, S. R. Mcneill, J. D. Helm, and Y. J. Chao. Advances in two-dimensional andthree-dimensional computer vision. Photomechanics, Topics in Applied Physics, 77:323–372,2000.

[40] P. Doumalin. Microextensometrie locale par correlation d’images numeriques applicationaux etudes micromecaniques par microscopie electronique a balayage. PhD thesis, Ecolepolytechnique, 2000.

[41] J. Brillaud and F. Lagattu. Digital correlation of grainy shadow images for surface profilemeasurement. Optik-International Journal for Light and Electron Optics, 117(9):411–417,2006.

[42] L. Le Magorou, F. Bos, and F. Rouger. Identification of constitutive laws for wood-basedpanels by means of an inverse method. Composites Science and Technology, 62(4):591–596,2002.

[43] Orteu, J, Cutard, T., Garcia, D., Cailleux, E., Robert, and L. Application of stereovision tothe mechanical characterisation of ceramic refractories reinforced with metallic fibres. Strain,43(2):96–108, May 2007.

[44] D. Garcia. Mesure de formes et de champs de deplacements tridimensionel par stereo-correlation d’images. PhD thesis, Institute National Polytechnique de Toulouse, December2001.

[45] A. Asundi. Novel techniques in reflection moire. Experimental Mechanics, 34(3):230–242,1994.

[46] Y. Y. Hung and H. P. Ho. Shearography: An optical measurement technique and applications.Materials Science & Engineering R, 49(3):61–87, 2005.

[47] J. Xavier. Identification de la variabilite des rigidites du bois a l’interieur de l’arbre par lamethode des champs virtuels: Application au P. Pinaster de le plan LR. PhD thesis, EcoleNationale Superieure d’Arts et Metiers, November 2007.

[48] W. J. Smith. Modern optical engineering. McGraw-Hill New York, 2000.

[49] D. Zhang and D. D. Arola. Applications of digital image correlation to biological tissues.Journal of Biomedical Optics, 9:691, 2004.

[50] W. Wu, W. H. Peters, and M. Hammer. Basic mechanical properties of retina in simpletension. Trans. ASME, J. Biomech. Eng, 109(1):324, 1987.

Page 206: Identification of material properties using finite elements and full ...

192 BIBLIOGRAPHY

[51] Y. Wang and A. M. Cuitino. Full-field measurements of heterogeneous deformation patternson polymeric foams using digital image correlation. International Journal of Solids andStructures, 39(13-14):3777–3796, 2002.

[52] W. T. Riddell, R. S. Piascik, M. A. Sutton, W. Zhao, S. R. Mcneill, and J. D. Helm.Determining fatigue crack opening loads from near-crack-tip displacement measurements.Advances in Fatigue Crack Closure Measurement and Analysis, 2:157–174, 1999.

[53] D. Choi, J. L. Thorpe, and R. B. Hanna. Image analysis to measure strain in wood andpaper. Wood Science and Technology, 25(4):251–262, 1991.

[54] S. Roux and F. Hild. Digital image mechanical identification (dimi). Experimental Mechanics.

[55] M. A. Sutton, J. H. Yan, V. Tiwari, H. W. Schreier, and J. J. Orteu. The effect of out-of-plane motion on 2d and 3d digital image correlation measurements. Optics and Lasers inEngineering, 46(10):746–757, October 2008.

[56] Z. Zhang. A flexible new technique for camera calibration. Pattern Analysis and MachineIntelligence, IEEE Transactions on, 22(11):1330–1334, 2000.

[57] D. Garcia, J. J. Orteu, and L. Penazzi. A combined temporal tracking and stereo-correlationtechnique for accurate measurement of 3d displacements: application to sheet metal forming.Journal of Materials Processing Technology, 125-126:736–742, September 2002.

[58] Y. Surrel. La technique de la grille pour la mesure de champs de deplacements et ses appli-cations. Instrumentation, Mesure, Metrologie, 4(3-4):193–216, 2004.

[59] K. D. Moller. Optics: Learning by Computing With Examples Using Mathcad. Springer,2002.

[60] E. Hack. Rigid Body Effects in Shearographic Strain Measurements, pages 327–334. Springer,2000.

[61] Colin Walker. A historical review of moire interferometry. Experimental Mechanics,34(4):281–299, December 1994.

[62] J. D. Wood, R. Wang, S. Weiner, and D. H. Pashley. Mapping of tooth deformation causedby moisture change using moire interferometry. Dental Materials, 19(3):159–166, 2003.

[63] J.R. Lee, J. Molimard, A. Vautrin, and Y. Surrel. Diffraction grating interferometers for me-chanical characterisations of advanced fabric laminates. Optics & Laser Technology, 38(1):51–66, February 2006.

[64] A. Martınez, J. A. Rayas, R. Rodrıguez-Vera, and H. J. Puga. Three-dimensional deformationmeasurement from the combination of in-plane and out-of-plane electronic speckle patterninterferometers. Appl. Opt., 43(24):4652–4658, 2004.

[65] J.R. Lee, J. Molimard, A. Vautrin, and Y. Surrel. Digital phase-shifting grating shearographyfor experimental analysis of fabric composites under tension. Composites Part A: AppliedScience and Manufacturing, 35(7-8):849–859, July 2004.

[66] K. Patorski and A. Olszak. Digital in-plane electronic speckle pattern shearing interferometry.Optical Engineering, 36:2010, 1997.

[67] Amalia Martınez, J. A. Rayas, R. Cordero, and Katia Genovese. Analysis of optical config-urations for espi. Optics and Lasers in Engineering, 46(1):48–54, January 2008.

[68] J. M. Huntley. Challenges in phase unwrapping. In P. K. Rastogi and D. Inaudi, editors,Trends in Optical Nondestructive Testing and Inspection, pages 37–44. Elsevier, Amsterdam,2000.

[69] Y. Surrel. Fringe analysis. pages 55–102. 2000.

Page 207: Identification of material properties using finite elements and full ...

BIBLIOGRAPHY 193

[70] R. Cordero, J. Molimard, A. Martınez, and F. Labbe. Uncertainty analysis of temporalphase-stepping algorithms for interferometry. Optics Communications, 275(1):144–155, July2007.

[71] J. Nocedal and S. J. Wright. Numerical Optimization. Springer, New York, 1999.

[72] J. S. Arora. Introduction to Optimum Design. McGraw-Hill, 1989.

[73] S. S. Rao. Engineering Optimization: Theory and Practice. New Age Publishers, 1996.

[74] R. T. Haftka and Z. Gurdal. Elements of Structural Optimization. Kluwer Academic Pub,1992.

[75] G. Arfken. The method of steepest descents, chapter 7.4, pages 428–436. Academic Press,Orlando, FL, 3rd edition, 1985.

[76] T. J. Ypma. Historical development of the newton-raphson method. SIAM Review, 37(4):531–551, 1995.

[77] M. Abramowitz and I. A. Stegun. Handbook of Mathematical Functions with Formulas,Graphs, and Mathematical Table. Courier Dover Publications, 1965.

[78] K. Levenberg. A method for the solution of certain nonlinear problems in least squares. Q.Appl. Math, 2:164–168, 1944.

[79] D. W. Marquardt. An algorithm for least-squares estimation of nonlinear parameters. J.Soc. Ind. Appl. Math, 11(2):431–441, 1963.

[80] M. A. Luersen and R. Le Riche. Globalized nelder-mead method for engineering optimization.Computers & Structures, 82(23-26):2251–2260, September 2004.

[81] J. A. Nelder and R. Mead. A simplex method for functional minimization. Computer Journal,7:308–313, 1965.

[82] T. G. Kolda, R. M. Lewis, and V. Torczon. Optimization by direct search: New perspectiveson some classical and modern methods. SIAM REVIEW, 45(3):385–482, 2003.

[83] J.R. Cary, S.G. Shasharina, J.C. Cummings, J.V. Reynders, and P.J. Hinker. Compari-son of c++ and fortran 90 for object-oriented scientific programming. Computer PhysicsCommunications, 105(1):20–36, September 1997.

[84] R. Goering. Matlab edges closer to electronic design automation world. EE Times, 4(10),2004.

[85] abaqus. ABAQUS/CAE user’s manual : version 6.4. Pawtucket, RI : ABAQUS, 2003.

[86] http://www.simulia.com/.

[87] http://www.3ds.com/.

[88] M. Abadi and L. Cardelli. A Theory of Objects. Springer-Verlag New York, Inc., Secaucus,NJ, USA, 1996.

[89] P. J. Deitel and H. M. Deitel. C++ How to Program. Prentice Hall, 2007.

[90] S. M. Omohundro. The sather programming language. Dr. Dobb’s J., 18(11):42–48, 1993.

[91] G. Booch, J. Rumbaugh, and I. Jacobson. Uml notation guide (version 1.1). RationalCorporation, Santa Clara, 1997.

[92] G. Booch, J. Rumbaugh, and I. Jacobson. Uml semantics (version 1.1). Rational Corporation,Santa Clara, 1997.

Page 208: Identification of material properties using finite elements and full ...

194 BIBLIOGRAPHY

[93] G. Booch, J. Rumbaugh, and I. Jacobson. Uml summary (version 1.1). Rational Corporation,Santa Clara, 1997.

[94] A. Stepanov and M. Lee. The standard template library. Technical report, February 1995.

[95] B. Karlsson. Beyond the C++ Standard Library: An Introduction to Boost. Addison WesleyProfessional, August 2005.

[96] http://www.boost.org/.

[97] Clint R. Whaley and Jack J. Dongarra. Automatically tuned linear algebra software. InSupercomputing ’98: Proceedings of the 1998 ACM/IEEE conference on Supercomputing(CDROM), pages 1–27, Washington, DC, USA, 1998. IEEE Computer Society.

[98] E. Angerson, Z. Bai, J. Dongarra, A. Greenbaum, A. Mckenney, J. Du Croz, S. Hammarling,J. Demmel, C. Bischof, C. Bischof, D. Sorensen, and A10. Lapack: A portable linear algebralibrary for high-performance computers. In Supercomputing ’90. Proceedings of, pages 2–11,1990.

[99] E. R. Harold. The client/server model, chapter 2.5, pages 37–39. O’Reilly Media, Inc., 2004.

[100] G. Wahba. A least squares estimate of satellite attitude. SIAM Review, 7(3):409, 1965.

[101] D. Gebre-Egziabher, R. C. Hayward, and J. D. Powell. Design of multi-sensor attitudedetermination systems. Aerospace and Electronic Systems, IEEE Transactions on, 40(2):627–649, 2004.

[102] J. B. Kuipers. Quaternions and Rotation Sequences. Princeton University Press, Princeton,NJ, 1999.

[103] F. L. Markley and I. Y. Bar-Itzhack. Unconstrained optimal transformation matrix.Aerospace and Electronic Systems, IEEE Transactions on, 34(1):338–340, 1998.

[104] G. B. Arfken and H. J. Weber. Gram-Schmidt Orthogonalization, chapter 9.3. AcademicPress, 6 edition, 2005.

[105] A. Beckert. Coupling fluid (CFD) and structural (FE) models using finite interpolationelements. Aerospace Science and Technology, 4(1), January 2000.

[106] R. Van Loon, P. D. Anderson, and F. N. Van de Vosse. A fluid-structure interaction methodwith solid-rigid contact for heart valve dynamics. Journal of Computational Physics, 217(2),2006.

[107] Y. Fukushima, V. Cayol, and P. Durand. Finding realistic dike models from interferometricsynthetic aperture radar data: The February 2000 eruption at Piton de la Fournaise. Journalof Geophysical Research-Solid Earth, 110(B3), FebruaryMarch March 2005.

[108] G. P. Nikishkov. Generating contours on fem/bem higher-order surfaces using java 3d tex-tures. Advances in Engineering Software, 34(8):469–476, August 2003.

[109] M. Rumpf. Recent numerical methods - a challenge for efficient visualization. Future Gen-eration Computer Systems, 15(1):43–58, 1999.

[110] V. Faucher and A. Combescure. A time and space mortar method for coupling linear modalsubdomains and non-linear subdomains in explicit structural dynamics. Computer Methodsin Applied Mechanics and Engineering, 192(5-6):509–533, January 2003.

[111] S. Padmanabhan, J. P. Hubner, A. V. Kumar, and P. G. Ifju. Load and boundary conditioncalibration using full-field strain measurement. Experimental Mechanics, 46(5), October 2006.

[112] A. K. Bledzki, A. Kessler, R. Rikards, and A. Chate. Determination of elastic constants ofglass/epoxy unidirectional laminates by the vibration testing of plates. Composites Scienceand Technology, 59(13):2015–2024, October 1999.

Page 209: Identification of material properties using finite elements and full ...

BIBLIOGRAPHY 195

[113] L. Bruno, F. M. Furgiuele, L. Pagnotta, and A. Poggialini. A full-field approach for theelastic characterization of anisotropic materials. Optics and Lasers in Engineering, 37:417–431, April 2002.

[114] K. Genovese, L. Lamberti, and C. Pappalettere. Mechanical characterization of hyperelasticmaterials with fringe projection and optimization techniques. Optics and Lasers in Engi-neering, 44:423–442, May 2006.

[115] J. Kajberg and G. Lindkvist. Characterisation of materials subjected to large strains byinverse modelling based on in-plane displacement fields. International Journal of Solids andStructures, 41(13):3439–3459, February 2004.

[116] M. H. H. Meuwissen, C. W. J. Oomens, F. P. T. Baaijens, R. Petterson, and J. D.Janssen. Determination of the elasto-plastic properties of aluminium using a mixed numerical-experimental method. Journal of Materials Processing Technology, 75(1-3), March 1998.

[117] J. F. Cardenas-Garcia and S. Preidikman. Solution of the moire hole drilling method usinga finite-element-method-based approach. International Journal of Solids and Structures,43(22-23):6751–6766, November 2006.

[118] N. Cressie. Statistics for spatial data. Wiley-Interscience, New York, 1st edition, JanuaryMayJanuary 1993.

[119] Mathworks. Matlab: The language of technical computing. Mathworks, Natic, 7 edition, June2004.

[120] P. Bourke. Determining if a point lies on the interior of a polygon. Crawley, AU., November1989.

[121] A. Rassineux. Maillage automatique tridimentionnel par une methode frontale pour lamethode des elements finis. PhD thesis, Universite Henri Poincare, Vandoeuvre les Nancy,France, 1994.

[122] D. T. Sandwell. Biharmonic spline interpolation of GEOS-3 and SEASAT altimeter data.Geophysical Research Letters, 12(2):139–142, February 1987.

[123] B. C. Barber, D. P. Dobkin, and H. Huhdanpaa. The quickhull algorithm for convex hulls.ACM Trans. Math. Softw., 22(4):469–483, 1996.

[124] G. H. C. Silva, R. Le Riche, J. Molimard, and A. Vautrin. Exact and efficient interpolationusing finite element shape functions. Technical report, LTDS, St. Etienne, France, 2007.

[125] B. M. Hill, D. B. Harris, and J. Vyas. Debian GNU/Linux 3.1 Bible. John Wiley & Sons,New York, 2005.

[126] S. T. Lin and R. E. Rowlands. Hybrid stress analysis. Optics and Lasers in Engineering,32(3):257–298, September 1999.

[127] G. H. C. Silva, R. Le Riche, J. Molimard, and A. Vautrin. Aspects numeriques de la com-paraison elements finis-mesures de champs: Application a l’identification de proprietes demateriaux. In Huitieme colloque national en calcul des structures, volume 1, pages 287–292,Giens, May 2007. Lavoisier.

[128] Jun Gu, Qian-Ping Gu, and Ding-Zhu Du. Convergence properties of optimization algorithmsfor the sat problem. Computers, IEEE Transactions on, 45(2):209–219, 1996.

[129] S. H. Crandall and T. Lardner. An Introduction to the Mechanics of Solids. McGraw-HillScience/Engineering/Math, 2 edition, August 1999.

[130] J. R. Vinson and R. L. Sierakowski. The Behavior of Structures Composed of CompositeMaterials. Springer, 2 edition, January 2008.

Page 210: Identification of material properties using finite elements and full ...

196 BIBLIOGRAPHY

[131] R. F. Gibson. Principles of Composite Material Mechanics. McGraw-Hill, January 1994.

[132] R. M. Jones. Mechanics of composite materials. Taylor & Francis Philadelphia, PA, 1999.

[133] E. Reissner and Y. Stavsky. Bending and stretching of certain types of heterogeneous ae-olotropic elastic plates. J. Appl. Mech, 28:402–408, 1961.

[134] K. S. Pister and S. B. Dong. Elastic bending of layered plates. J. Eng. Mech. Div., ASCE,84(10):1–10, 1959.

[135] A. P. Boresi and R. J. Schmidt. Advanced Mechanics of Materials. Wiley, October 2002.

[136] J. C. Xavier, N. M. Garrido, M. Oliveira, J. L. Morais, P. Camanho, and F. Pierron. Acomparison between the iosipescu and off-axis shear test methods for the characterization ofPinus Pinaster Ait. Composites Part A-Applied Science and Manufacturing, 35(7-8), 2004.

[137] J. D. Meadows. Geometric Dimensioning and Tolerancing. Mechanical Engineering Series.CRC, 1 edition, March 1997.

[138] Xiaoping Zhao, Kethara, and Robert G. Wilhelm. Modeling and representation of geo-metric tolerances information in integrated measurement processes. Computers in Industry,57(4):319–330, May 2006.

[139] J. Isenberg. Progressing from least squares to bayesian estimation. Proceedings of the 1979ACME Design Engineering Technical Conference, New York, pages 1–11, 1979.

[140] J. V. Beck and K. J. Arnold. Parameter estimation in engineering and science. Wiley NewYork, 1977.

[141] U. Kirsch. Multilevel approach to optimal design : J. struct. div., asce, vol 101, st4 (april1975). Computer-Aided Design, 9(1):69+, January 1977.

[142] Lars U. Hansen and Peter Horst. Multilevel optimization in aircraft structural design evalu-ation. Computers & Structures, 86(1-2):104–118, January 2008.

[143] Y. Y. Hung, J. Q. Wang, and J. D. Hovanesian. Technique for compensating excessive rigidbody motion in nondestructive testing of large structures using shearography. Optics andLasers in Engineering, 26(2-3):249–258, 1997.

[144] W. N. Sharpe, B. Yuan, and R. L. Edwards. A new technique for measuring the mechanicalproperties of thin films. Microelectromechanical Systems, Journal of, 6(3):193–199, 1997.

[145] S. Seebacher, W. Osten, T. Baumbach, and W. Juptner. The determination of materialparameters of microcomponents using digital holography. Optics and Lasers in Engineering,36(2):103–126, August 2001.

[146] A. J. M. Spencer. Motions and deformations, chapter 6, pages 63–88. Courier Dover Publi-cations, 2004.

[147] D. Post, B. Han, and P. Ifju. Moire interferometry. In P. K. Rastogi and D. Inaudi, editors,Trends in Optical Nondestructive Testing and Inspection, pages 375–399. Elsevier, Amster-dam, 2000.

[148] D. Post. Moire interferometry for composites. In A. Vautrin and H. Sol, editors, MechanicalIdentification of Composites, pages 31–43. December 1990.

[149] B. Prescott and G. F. Mclean. Line-based correction of radial lens distortion. GraphicalModels and Image Processing, 59(1):39–47, January 1997.

[150] F. Pedersini, A. Sarti, and S. Tubaro. Accurate and simple geometric calibration of multi-camera systems. Signal Processing, 77(3):309–334, September 1999.

Page 211: Identification of material properties using finite elements and full ...

BIBLIOGRAPHY 197

[151] K. Miettinen. Pareto Optimality, volume 12 of International Series in Operations Research& Management Science, chapter 2.2, pages 10–14. 1998.

[152] I. Wegener. The complexity of black box problems, chapter 9, pages 115–125. Springer, 2005.

[153] R. Jin, W. Chen, and A. Sudjianto. Analytical metamodel-based global sensitivity analysisand uncertainty propagation for robust design. SAE Transactions: Journal of Materials &Manufacturing, 113:121–128, 2005.

[154] T. F. Coleman and Y. Li. On the convergence of interior-reflective newton methods fornonlinear minimization subject to bounds. Mathematical Programming, 67(1):189–224, 1994.

[155] F. Labbe, R. Cordero, A. Martinez, and R. Rodriguez-Vera. Measuring displacement deriva-tives by electronic speckle pattern shearing interferometry (espsi). Measurement Science andTechnology, 16(8):1677–1683, August 2005.

Page 212: Identification of material properties using finite elements and full ...

198 BIBLIOGRAPHY

Page 213: Identification of material properties using finite elements and full ...

Chapter 12

Appendix A

12.1 Fitting a plane onto a cloud of data points

This section presents the theoretical basis for fitting a mean plane onto a cloud of data points. Aplane in 3D is defined by a central point ~x0 and normal unit vector n. Any point, ~p on the planemust satisfy the condition

n · (~p− ~x0) = 0.

An arbitrary point ~x(i) , may be re written as a sum of the in-plane component and out-of-plane components,

~x(i) − ~x0 = (~x(i) − ~x0)− (n · (~x(i) − ~x0))n︸ ︷︷ ︸in-plane

+ (n · (~x(i) − ~x0))n︸ ︷︷ ︸out-of-plane

.

Fitting a plane onto a set of data points entails determiningthe a normal and central point vectors, which minimizes thesum of the magnitudes of the normal component of all datapoints in the cloud. Since the normal vector is of unit length, the magnitude of the out-of-planecomponent is

||(n · (~x(i) − ~x0))n|| = n · (~x(i) − ~x0).

Thus the plane fit problem may be written as

minnx,ny,nz,x0,y0,z0

[N∑i=1

nx(x(i) − x0) + ny(y(i) − y0) + nz(z(i) − z0)

],

subject to the constraint n2x + n2

y + n2z = 1.

For an infinite plane, the number of unknowns is reduced by recognizing that the solution ofneither the central point nor normal vectors are unique. Assuming the plane is not parallel toeither to xy or xz planes (i.e. nx 6= 0), and and selecting a central point which passes through(x0, 0, 0), the problem reduces to

minNy,Nz,x0

[N∑i=1

Nyy(i) +Nzz(i) + x0 − x(i)

],

with Ny = ny/nx and Nz = nz/nx. A solution to the problem may be obtained from the overdetermined system

199

Page 214: Identification of material properties using finite elements and full ...

200 CHAPTER 12. APPENDIX A

y(1) z(1) 1y(2) z(2) 1

......

...y(n) z(n) 1

︸ ︷︷ ︸

[M ]

NyNzx0

︸ ︷︷ ︸~a

=

x(1)

x(2)

...x(n)

︸ ︷︷ ︸~b

, (12.1)

and is resolved by projecting the equations system onto the solution space

~a = ([M ]T [M ])−1 [M ]T ~b.

The components of the normal unit vector n are calculated from the relation n2x +n2

y +n2z = 1.

Defining k2 such that k2n2x = 1. From the definition of Ny and Nz and the unit normal condition

k2 = k2n2x + k2n2

y + k2n2z

= 1 + (k2n2x)N2

y + (k2n2x)N2

z

= 1 +N2y +N2

z .

Thus,k = ±

√1 +N2

y +N2z

and the normal vector is

n =

1k,Nyk,Nzk

T,

where the sign of k may be selected arbitrarily.If the plane is parallel to either to xy or xz planes, the matrix in equation will be singular.

In this case we must select a new central point, for instances (0, y0, 0), rewrite the problem withnx = 0,

minnzny,y0

[N∑i=1

y0 − y(i) − nznyz(i)

].

Finally, if this matrix is singular, we know the normal vector is n = 0, 0, 1 and the interceptis (0, 0, z0), where

z0 =1Np

Np∑i=1

z(i) .