Niget: NanoIndentation General Evaluation Tool

15 Uncertainties

Uncertainties can be calculated for the Oliver Pharr method (either fitting procedure), the tangent method and the Hertz method. The uncertainty sources are the noise in the depth and load, the uncertainty in the tip radius (Hertz method) and the uncertainties in the material parameters (Poisson’s ratio, Young’s modulus and Poisson’s ratio of indenter). These are treated by the Gaussian propagation of uncertainties. The Monte Carlo method is used to treat the noise of depth load. In all cases we use a normal distribution and assume zero correlation (also between different depth values, i.e. ρ(hi,hj)=0). The uncertainty of the contact point is demonstrated separately by explicitly performing the evaluation of data with different contact points and comparing them. The uncertainty of the choice of the fitting interval is not implemented yet.

15.1 Window

In all cases, pressing the Uncertainties button opens a separate window with the following blocks

  • Uncertainties in input values the user can calculate the uncertainties and the individual contributions to the contact depth and area, indentation hardness and modulus and contact modulus. For the Hertz method only the uncertainties of the contact and indentation modulus are available. These contributions are calculated using the propagation of uncertainties [7]. Details are in sections 15.2.1, 15.2.2, 15.2.4.

  • Uncertainties due to choice of contact point shows results, that would be obtained, if the contact point had been chosen differently. In many cases it is non-trivial how to choose the contact point, so this can be a significant contribution to the overall uncertainty.

  • Save Save the resuls of the uncertainty analysis, including the main results of the corresponding main calculation, as the uncertainty analysis refers only to this calculation.

  • Monte Carlo calculation of uncertainties set the number of iterations and launch the calculation of the uncertainties using the Monte Carlo method [6, 5]. In [6, 5] a minimum value of 10 000 is recommended, however, results obtained with smaller values can be used with proper care as a first guess. For ODR, one should start with approx. 100, and then gradually increase, as this is significantly more time consuming. The procedure is described in section 15.4.

Only one Uncertainty window may be open for each method. Values of uncertainties are saved in (and loaded from) the settings file for future use.

15.2 Gaussian propagation of uncertainties

The standard treatment to uncertainties is described in [7]. Here we use only the most important results.
Let two quantities Y1 and Y2 be estimated by y1 and y2 and depend on a set of uncorrelated variables X1,X2,,XN. Let u2(xa) be the estimated variance of the estimate xa of Xa. Then the estimated variance associated with yi is given by

u2(yi)=a=1N(Yixa)2u2(xa) (30)

and the estimated covariance associated with y1 and y2 is given by

u(yi,yj)=a=1NYixaYjxau2(xa). (31)

Let Z be estimated by z and depend on the correlated quantities Yi,i=1,,M. Let u2(yi) be the estimated variance of the estimate yi of Yi and u(yi,yj) the estimate of the covariance associated with yi and yj for ij. Then the estimated variance associated with z is

u(z)2=i=1M(Zyi)2u2(yi)+i=1Mj=1,jiMZyiZyju(yi,yj) (32)

The covariance of variables Zs depending on the independent random variables Xi through intermediate variablse Ya can be computed as.

cov(Zs,Zt) = a=1nZsxaZtxau(xa)2 (33)
= a=1Ni=1MZsyiYixaj=1MZtyjYjxau(xa)2 (34)
= i=1Mj=1MZsyiZtyjcov(yi,yj) (35)

In our case the independent variables Xa are the depth values hi, load values Fi. We assume that they are all have a normal distribution function with the same variance, i.e.

u(hi) = u(h),i=1,,n
u(Fi) = u(F),i=1,,n

Equation (30) can then be written as the sum of two terms: the sum of the contributions from the depth data and from the force data

u(y)2 = i=1n(Yhi)2u2(hi)+i=1n(Yhi)2u2(hi)
= u(y;h)2+u(y;F)2
u(ya,yb) = i=1nYahiYbhiu2(hi)+i=1nYaFiYbFiu2(Fi)
= cov(ya,yb;h)+cov(ya,yb;F).

For the indentation modulus we additionally need the tip radius R, Poisson’s ratio ν, Young’s modulus of the indenter Ei and Poisson’s value of the indenter νi. We assume that they are independent and have a normal distribution.

15.2.1 Uncertainty propagation for Oliver Pharr method with ODR

The package ODRPACK does not allow to separate the contributions from depth and load uncertainty. The results which correspond to a fit using only the uncertainties in the depth, resp. load are shown instead of the contributions and the result from a fit using both uncertainties is shown instead of the combined uncertainty.

  1. 1.

    Obtain the uncertainties of m and hp, as well as their covariance from ODRPACK, see A.1.

  2. 2.

    Calculate the uncertainty of ε from equation (6).
    For ε we find

    u(ε;h) = u(m;h)[εm-ε-mm-1-ε-m2(m-1)2(ψ0(z)-ψ0(w))], (36)

    with z=m2(m-1), and w=12(m-1) and similarly for u(ε;F). The derivative dε/dm is needed in further calculations

    εm=εm+ε-mm-1-ε-m2(m-1)2(ψ0(z)-ψ0(w)) (37)
  3. 3.

    For S we get

    u(S;h)2 = (Sm)2u(m;h)2+(Shmax-hp)2u(h)2+
    +(Shmax-hp)2u(hp;h)2+2S2m(hmax-hp)cov(m,hp;h)
    u(S;F)2 = (Sm)2u(m;F)2+(SFmax)2u(F)2+
    +(Shmax-hp)2u(hp;F)2+2S2m(hmax-hp)cov(m,hp;F)

    For hc we obtain

    u(hc;h)2 = (hmax-hp)2(εm2-1mεm)2u(m;h)2+(1-εm)2u(hmax;h)2+ (39)
    +(εm)2u(hp;h)2+2(hmax-hp)(εm2-1mεm)εmcov(m,hp;h)
    u(hc;F)2 = (hmax-hp)2(εm2-1mεm)2u(m;F)2+(εm)2u(hp;F)2+ (40)
    +2(hmax-hp)(εm2-1mεm)εmcov(m,hp;F)
  4. 4.

    Calculate the uncertainties of Ap(hc), HIT and Er from equations (1) to (10). The uncertainty of Ap(hc) for a polynom (1) is simple

    u(Ap(hc))=Ap(hc)hcu(hc)=kkckhck-1u(hc) (41)

    Uncertainties in the coefficients of the polynom are not taken into account.

  5. 5.

    The two contributions to the hardness are

    u(HIT;h) = HITAp(hc)Aphcu(hc;h) (42)
    u(HIT;F)2 = (HITFmax)2u(F)2+(HITAp(hc))2(Aphc)2u(hc;F)2

    The two contributions to the contact modulus are

    u(Er;h)2 = (ErS)2u(S;h)2+(Er2Ap(hc))2u(Ap(hc);h)2+ (44)
    -ErSErAp(hc)Aphccov(S,hc;h)
    u(Er;F)2 = (ErS)2u(S;F)2+(Er2Ap(hc))2u(Ap(hc);F)2+ (45)
    -ErSErAp(hc)Aphccov(S,hc;F)

    where the covariances cov(S,hc;h) and cov(S,hc;F) are

    cov(S,hc;h) = -S(1-ε)hmax-hpu(h)2-S(hmax-hp)mεmu(m;h)2 (46)
    +Sεhmax-hpu(hp;h)2+
    +S(εm-εm)cov(hp,m;h)
    cov(S,hc;F) = -Sm(hmax-hp)εmu(m;F)2+Sεhmax-hpu(hp,F)2 (47)
    +S(εm-εm)cov(hp,m;F)
  6. 6.

    Combine the uncertainties originating in depth and load u(Er;h) and u(Er;F) with the uncertainties of the material parameters ν, νi and Ei. The contributions are

    u(EIT;ν) = 2ν1-ν2EITu(ν) (48)
    u(EIT;νi) = 2νi1-ν2EIT2Eiu(νi) (49)
    u(EIT;Ei) = (1-νi2)(1-ν)2EIT2Ei2u(Ei) (50)
    u(EIT;Er) = EIT2Er2(1-ν2)u(Er;h)2+u(Er;F)2 (51)

15.2.2 Uncertainty propagation for Hertz method with ODR

  1. 1.

    Calculate the uncertainty of the proportionality factor γ in (22), see section A.1

  2. 2.

    If the tip radius was given, the contributions to the uncertainty of the contact modulus are

    u(Er;h) = Erγu(γ;h)
    u(Er;F) = Erγu(γ;F)
    u(Er;R) = Er2Ru(R)
  3. 3.

    Calculate the uncertainty of EIT as in step 6 in 15.2.1.

  4. 4.

    If the contact modulus was given the contributions to the uncertainty of the radius are

    u(R;h) = 2Rγu(γ;h)
    u(R;F) = 2Rγu(γ;F)
    u(R;Er) = 2REru(Er)
  5. 5.

    If the indentation modulus was given the uncertainties can be expressed in terms of the contact modulus

    Er=[1-ν2EIT+1-νi2Ei]-1

    as

    u(R;h) = 2Rγu(γ;h)
    u(R;F) = 2Rγu(γ;F)
    u(R;ν) = 4RνErEITu(ν)
    u(R;νi) = 4RνiErEiu(νi)
    u(R;Ei) = 2ErEi2(1-νi2)u(Ei)
    u(R;EIT) = 2ErEIT2(1-ν2)u(EIT)

15.2.3 Uncertainty propagation for stiffness analysis

The package ODRPACK does not allow to separate the contributions from depth and load uncertainty. The results which correspond to a fit using only the uncertainties in the depth, resp. load are shown instead of the contributions and the result from a fit using both uncertainties is shown instead of the combined uncertainty. The uncertainties of kload, qload, kunload and qunload are obtained directly from ODRPACK, see A.1

15.2.4 Uncertainty propagation for two slopes method with ODR

The package ODRPACK does not allow to separate the contributions from depth and load uncertainty. The results which correspond to a fit using only the uncertainties in the depth, resp. load are shown instead of the contributions and the result from a fit using both uncertainties is shown instead of the combined uncertainty. In the following we assume that neither fit includes the (hmax,Fmax) point and that the fits are independent.

  1. 1.

    Obtain the uncertainties of n, h0, m, hp, and their covariance from ODRPACK, see A.1.

  2. 2.

    Same as step 2 in section 15.2.1.

  3. 3.

    The unloading slope Sunload is the same as in step 3 in section 15.2.1. The uncertainty of the loading slope is analogous to (LABEL:eq:unc_Sunload)

    u(Sload;h)2 = (Sloadn)2u(n;h)2+(Sloadhmax-h0)2u(h)2+
    +(Sloadhmax-h0)2u(h0;h)2+2Sload2n(hmax-h0)cov(n,h0;h)
    u(Sload;F)2 = (Sloadn)2u(n;F)2+(SloadFmax)2u(F)2+
    +(Sloadhmax-h0)2u(h0;F)2+2Sload2n(hmax-h0)cov(n,h0;F)

    Furthermore we will need the covariance of Sunload and ε

    cov(Sunload,ε;h) = εmcov(Sunload,m;h)
    = εm[mFmax(hmax-hp)2cov(hp,m;h)+Fmaxhmax-hpu(m;h)2]
    cov(Sunload,ε;F) = εmcov(Sunload,m;F)
    = εm[mFmax(hmax-hp)2cov(hp,m;F)+Fmaxhmax-hpu(m;F)2]
  4. 4.

    It is practical to calculate the uncertainties of the auxiliary term K given as

    K=2Sunload-βεSloadSunloadSload=2Sload-βεSunload (54)

    These are

    u(K;h)2 = (-2Sload2)2u(Sload;h)2+(βεSunload2)2u(Sunload;h)2+(βSunload)2u(ε;h)2
    +βεSunload2cov(Sunload,ε;h)
    u(K;F)2 = (-2Sload2)2u(Sload;F)2+(βεSunload2)2u(Sunload;F)2+(βSunload)2u(ε;F)2
    +βεSunload2cov(Sunload,ε;F)

    We will also need the covariance

    cov(Sunload,K;h) = βεSunload2u(Sunload;h)2+-βSunloadcov(Sunload,ε;h)
    cov(Sunload,K;F) = βεSunload2u(Sunload;F)2+-βSunloadcov(Sunload,ε;F)
  5. 5.

    In terms of K the uncertainties of the contact area, hardness and contact modulus can be expressed as

    u(A;h) = Au(K;h)K
    u(A;F)2 = (2Au(K;h)K)2+(2Au(Fmax)Fmax)2
    u(HIT;h) = 2Au(K;h)K
    u(HIT;F)2 = (2Au(K;F)K)2+(Au(Fmax)Fmax)2

    and

    u(Er;h)2 = (Eru(Sunload;h)Sunload)2+(Eru(K;h)K)2-Er2cov(Sunload,K;h)KSunload
    u(Er;F)2 = (Eru(Sunload;F)Sunload)2+(Eru(K;F)K)2+(Eru(F)Fmax)2 (59)
    -Er2cov(Sunload,K;F)KSunload
  6. 6.

    Same as step 6 in section 15.2.1.

15.3 Uncertainty due to choice of contact point

It may not be always clear where exactly the contact between the indenter and the sample occurs. This induces an uncertainty of type B which must be estimated. In order to facilitate this, we explicitly show how the results change when the contact point was chosen to be more to the left or to the right by a certain amount of points. Zero contact point shift means the original contact point was used. A positive (negative) contact point N shift means the Nth neighboring point to the right (left) was used instead. This corresponds to a shift by (Δh,ΔF) in the unloading data; data are added or removed from the loading data as well as shifted by (Δh,ΔF). The ranges for the interval of the fitting procedures are transformed. If they were chosen in the length regime, either by mouse or by input in the entries, they are shifted by δh. Percentages of the maximum forces are not transformed, since the maximum force is already shifted.

15.4 Monte Carlo calculation of uncertainties

The calculation is run by clicking the Monte Carlo button in the Uncertainty window. After finishing a window containg the results is shown. The calculation itself is described in 15.4.2. A more detailed description of the use of the Monte Carlo method for the evaluation of uncertainties is in [6, 5].

15.4.1 Window

  • Input of Monte Carlo simulation shows the input values with which the calculation was run.

  • Results of Monte Carlo simulation shows the mean and standard deviation calculated from the resulting PDFs. A histogram can be shown by clicking on the histogram button for each variable.

  • Save save the results of this Monte Carlo simulation. This includes the mean, standard deviation, histogram and full data for each output variable.

Only one Monte Carlo calculation window may be open for each method. It is closed when the Uncertainty window is closed and results are discarded.

15.4.2 Monte Carlo calculation of uncertainties: Description of method

A more detailed description of the use of the Monte Carlo method for the evaluation of uncertainties is in [6, 5]. The procedure is based on the propagation of probability distribution functions (PDF) of the input variables and obtaining the PDF of the output variable. The input variables are varied according to a given PDF and the output variables are calculated in each case. For a large enough number of trials we obtain a PDF of the output variables, which can be further analyzed. Here we calculate only the mean and the standard deviation and construct a simple histogram. This method is very well suited for complicated measurement models, especially non-linear models or non-Gaussian PDFs of the input variables. In simple cases, it gives the same results as the Gaussian law of propagation. Two Monte Carlo method has two significant drawbacks compared to the Gaussian law of propagation: Firstly, it can become very time consuming, especially when several input variables are present. Secondly, it is impossible to separate the uncertainty contributions from different input variables. Different calculations must be made, thus increasing even more the time needed. Therefore, it is currently used only for the uncertainty in the depth and the load. The uncertainties in the material parameters and the tip radius (Hertz model) can be described sufficiently by the Gaussian law. The model uses independent, normal PDFs with constant variance for all depth and load values. Only values contained in the fitting range of the main calculation are considered, i.e., the fitting range is not determined for every individual calculation. This leads to a significant speed up. For well-behaved data, this should not cause any significant errors.