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. \rho(h_{i},h_{j})=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 Y_{1} and Y_{2} be estimated by y_{1} and y_{2} and depend on a set of uncorrelated variables X_{1},X_{2},\ldots,X_{N}. Let u^{2}(x_{a}) be the estimated variance of the estimate x_{a} of X_{a}. Then the estimated variance associated with y_{i} is given by

u^{2}(y_{i})=\sum_{a=1}^{N}\left(\frac{\partial Y_{i}}{\partial x_{a}}\right)^%
{2}u^{2}(x_{a}) (30)

and the estimated covariance associated with y_{1} and y_{2} is given by

u(y_{i},y_{j})=\sum_{a=1}^{N}\frac{\partial Y_{i}}{\partial x_{a}}\frac{%
\partial Y_{j}}{\partial x_{a}}u^{2}(x_{a}). (31)

Let Z be estimated by z and depend on the correlated quantities Y_{i},i=1,\dots,M. Let u^{2}(y_{i}) be the estimated variance of the estimate y_{i} of Y_{i} and u(y_{i},y_{j}) the estimate of the covariance associated with y_{i} and y_{j} for i\neq j. Then the estimated variance associated with z is

u(z)^{2}=\sum_{i=1}^{M}\left(\frac{\partial Z}{\partial y_{i}}\right)^{2}u^{2}%
(y_{i})+\sum_{i=1}^{M}\sum_{j=1,j\neq i}^{M}\frac{\partial Z}{\partial y_{i}}%
\frac{\partial Z}{\partial y_{j}}u(y_{i},y_{j}) (32)

The covariance of variables Z_{s} depending on the independent random variables X_{i} through intermediate variablse Y_{a} can be computed as.

\displaystyle\mathrm{cov}(Z_{s},Z_{t}) \displaystyle= \displaystyle\sum_{a=1}^{n}\frac{\partial Z_{s}}{\partial x_{a}}\frac{\partial
_{t}}{\partial x_{a}}u(x_{a})^{2} (33)
\displaystyle= \displaystyle\sum_{a=1}^{N}\sum_{i=1}^{M}\frac{\partial Z_{s}}{\partial y_{i}}%
\frac{\partial Y_{i}}{\partial x_{a}}\sum_{j=1}^{M}\frac{\partial Z_{t}}{%
\partial y_{j}}\frac{\partial Y_{j}}{\partial x_{a}}u(x_{a})^{2} (34)
\displaystyle= \displaystyle\sum_{i=1}^{M}\sum_{j=1}^{M}\frac{\partial Z_{s}}{\partial y_{i}}%
\frac{\partial Z_{t}}{\partial y_{j}}\mathrm{cov}(y_{i},y_{j}) (35)

In our case the independent variables X_{a} are the depth values h_{i}, load values F_{i}. We assume that they are all have a normal distribution function with the same variance, i.e.

\displaystyle u(h_{i}) \displaystyle= \displaystyle u(h),i=1,\dots,n
\displaystyle u(F_{i}) \displaystyle= \displaystyle u(F),i=1,\dots,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

\displaystyle u(y)^{2} \displaystyle= \displaystyle\sum_{i=1}^{n}\left(\frac{\partial Y}{\partial h_{i}}\right)^{2}u%
^{2}(h_{i})+\sum_{i=1}^{n}\left(\frac{\partial Y}{\partial h_{i}}\right)^{2}u^%
\displaystyle= \displaystyle u(y;h)^{2}+u(y;F)^{2}
\displaystyle u(y_{a},y_{b}) \displaystyle= \displaystyle\sum_{i=1}^{n}\frac{\partial Y_{a}}{\partial h_{i}}\frac{\partial
_{b}}{\partial h_{i}}u^{2}(h_{i})+\sum_{i=1}^{n}\frac{\partial Y_{a}}{\partial
_{i}}\frac{\partial Y_{b}}{\partial F_{i}}u^{2}(F_{i})
\displaystyle= \displaystyle\mathrm{cov}(y_{a},y_{b};h)+\mathrm{cov}(y_{a},y_{b};F).

For the indentation modulus we additionally need the tip radius R, Poisson’s ratio \nu, Young’s modulus of the indenter E_{i} and Poisson’s value of the indenter \nu_{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 h_{\mathrm{p}}, as well as their covariance from ODRPACK, see A.1.

  2. 2.

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

    \displaystyle u(\varepsilon;h) \displaystyle= \displaystyle u(m;h)\left[\frac{\varepsilon}{m}-\frac{\varepsilon-m}{m-1}-%
\frac{\varepsilon-m}{2(m-1)^{2}}(\psi_{0}(z)-\psi_{0}(w))\right], (36)

    with z=\frac{m}{2(m-1)}, and w=\frac{1}{2(m-1)} and similarly for u(\varepsilon;F). The derivative \mathrm{d}\varepsilon/\mathrm{d}m is needed in further calculations

    \frac{\partial\varepsilon}{\partial m}=\frac{\varepsilon}{m}+\frac{\varepsilon%
-m}{m-1}-\frac{\varepsilon-m}{2(m-1)^{2}}(\psi_{0}(z)-\psi_{0}(w)) (37)
  3. 3.

    For S we get

    \displaystyle u(S;h)^{2} \displaystyle= \displaystyle\left(\frac{S}{m}\right)^{2}u(m;h)^{2}+\left(\frac{S}{h_{\mathrm{%
    \displaystyle u(S;F)^{2} \displaystyle= \displaystyle\left(\frac{S}{m}\right)^{2}u(m;F)^{2}+\left(\frac{S}{F_{\mathrm{%

    For h_{\mathrm{c}} we obtain

    \displaystyle u(h_{\mathrm{c}};h)^{2} \displaystyle= \displaystyle\left(h_{\mathrm{max}}-h_{\mathrm{p}}\right)^{2}\left(\frac{%
\varepsilon}{m^{2}}-\frac{1}{m}\frac{\partial\varepsilon}{\partial m}\right)^{%
2}u(m;h)^{2}+\left(1-\frac{\varepsilon}{m}\right)^{2}u(h_{\mathrm{max}};h)^{2}+ (39)
\frac{1}{m}\frac{\partial\varepsilon}{\partial m}\right)\frac{\varepsilon}{m}%
    \displaystyle u(h_{\mathrm{c}};F)^{2} \displaystyle= \displaystyle\left(h_{\mathrm{max}}-h_{\mathrm{p}}\right)^{2}\left(\frac{%
\varepsilon}{m^{2}}-\frac{1}{m}\frac{\partial\varepsilon}{\partial m}\right)^{%
2}u(m;F)^{2}+\left(\frac{\varepsilon}{m}\right)^{2}u(h_{\mathrm{p}};F)^{2}+ (40)
\varepsilon}{m^{2}}-\frac{1}{m}\frac{\partial\varepsilon}{\partial m}\right)%
  4. 4.

    Calculate the uncertainties of A_{\mathrm{p}}(h_{\mathrm{c}}), H_{\mathrm{IT}} and E_{\mathrm{r}} from equations (1) to (10). The uncertainty of A_{\mathrm{p}}(h_{\mathrm{c}}) for a polynom (1) is simple

    u(A_{\mathrm{p}}(h_{\mathrm{c}}))=\frac{\partial A_{\mathrm{p}}(h_{\mathrm{c}}%
)}{\partial h_{\mathrm{c}}}u(h_{\mathrm{c}})=\sum_{k}kc_{k}h_{\mathrm{c}}^{k-1%
}u(h_{\mathrm{c}}) (41)

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

  5. 5.

    The two contributions to the hardness are

    \displaystyle u(H_{\mathrm{IT}};h) \displaystyle= \displaystyle\frac{H_{\mathrm{IT}}}{A_{\mathrm{p}}(h_{\mathrm{c}})}\frac{%
\partial A_{\mathrm{p}}}{\partial h_{\mathrm{c}}}u(h_{\mathrm{c}};h) (42)
    \displaystyle u(H_{\mathrm{IT}};F)^{2} \displaystyle= \displaystyle\left(\frac{H_{\mathrm{IT}}}{F_{\mathrm{max}}}\right)^{2}u(F)^{2}%
\frac{\partial A_{\mathrm{p}}}{\partial h_{\mathrm{c}}}\right)^{2}u(h_{\mathrm%

    The two contributions to the contact modulus are

    \displaystyle u(E_{\mathrm{r}};h)^{2} \displaystyle= \displaystyle\left(\frac{E_{\mathrm{r}}}{S}\right)^{2}u(S;h)^{2}+\left(\frac{E%
\mathrm{c}});h)^{2}+ (44)
\mathrm{c}})}\frac{\partial A_{\mathrm{p}}}{\partial h_{\mathrm{c}}}\mathrm{%
    \displaystyle u(E_{\mathrm{r}};F)^{2} \displaystyle= \displaystyle\left(\frac{E_{\mathrm{r}}}{S}\right)^{2}u(S;F)^{2}+\left(\frac{E%
\mathrm{c}});F)^{2}+ (45)
\mathrm{c}})}\frac{\partial A_{\mathrm{p}}}{\partial h_{\mathrm{c}}}\mathrm{%

    where the covariances \mathrm{cov}(S,h_{\mathrm{c}};h) and \mathrm{cov}(S,h_{\mathrm{c}};F) are

    \displaystyle\mathrm{cov}(S,h_{\mathrm{c}};h) \displaystyle= \displaystyle-\frac{S(1-\varepsilon)}{h_{\mathrm{max}}-h_{\mathrm{p}}}u(h)^{2}%
\varepsilon}{\partial m}u(m;h)^{2} (46)
    \displaystyle\mathrm{cov}(S,h_{\mathrm{c}};F) \displaystyle= \displaystyle-\frac{S}{m}\left(h_{\mathrm{max}}-h_{\mathrm{p}}\right)\frac{%
\partial\varepsilon}{\partial m}u(m;F)^{2}+\frac{S\varepsilon}{h_{\mathrm{max}%
}-h_{\mathrm{p}}}u(h_{\mathrm{p}},F)^{2} (47)
  6. 6.

    Combine the uncertainties originating in depth and load u(E_{\mathrm{r}};h) and u(E_{\mathrm{r}};F) with the uncertainties of the material parameters \nu, \nu_{\mathrm{i}} and E_{\mathrm{i}}. The contributions are

    \displaystyle u(E_{\mathrm{IT}};\nu) \displaystyle= \displaystyle\frac{2\nu}{1-\nu^{2}}E_{\mathrm{IT}}u(\nu) (48)
    \displaystyle u(E_{\mathrm{IT}};\nu_{\mathrm{i}}) \displaystyle= \displaystyle\frac{2\nu_{\mathrm{i}}}{1-\nu^{2}}\frac{E_{\mathrm{IT}}^{2}}{E_{%
\mathrm{i}}}u(\nu_{\mathrm{i}}) (49)
    \displaystyle u(E_{\mathrm{IT}};E_{\mathrm{i}}) \displaystyle= \displaystyle\frac{(1-\nu_{\mathrm{i}}^{2})}{(1-\nu)^{2}}\frac{E_{\mathrm{IT}}%
^{2}}{E_{\mathrm{i}}^{2}}u(E_{\mathrm{i}}) (50)
    \displaystyle u(E_{\mathrm{IT}};E_{\mathrm{r}}) \displaystyle= \displaystyle\frac{E_{\mathrm{IT}}^{2}}{E_{\mathrm{r}}^{2}(1-\nu^{2})}\sqrt{u(%
E_{\mathrm{r}};h)^{2}+u(E_{\mathrm{r}};F)^{2}} (51)

15.2.2 Uncertainty propagation for Hertz method with ODR

  1. 1.

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

  2. 2.

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

    \displaystyle u(E_{\mathrm{r}};h) \displaystyle= \displaystyle\frac{E_{\mathrm{r}}}{\gamma}u(\gamma;h)
    \displaystyle u(E_{\mathrm{r}};F) \displaystyle= \displaystyle\frac{E_{\mathrm{r}}}{\gamma}u(\gamma;F)
    \displaystyle u(E_{\mathrm{r}};R) \displaystyle= \displaystyle\frac{E_{\mathrm{r}}}{2R}u(R)
  3. 3.

    Calculate the uncertainty of E_{\mathrm{IT}} 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

    \displaystyle u(R;h) \displaystyle= \displaystyle 2\frac{R}{\gamma}u(\gamma;h)
    \displaystyle u(R;F) \displaystyle= \displaystyle 2\frac{R}{\gamma}u(\gamma;F)
    \displaystyle u(R;E_{\mathrm{r}}) \displaystyle= \displaystyle 2\frac{R}{E_{\mathrm{r}}}u(E_{\mathrm{r}})
  5. 5.

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



    \displaystyle u(R;h) \displaystyle= \displaystyle 2\frac{R}{\gamma}u(\gamma;h)
    \displaystyle u(R;F) \displaystyle= \displaystyle 2\frac{R}{\gamma}u(\gamma;F)
    \displaystyle u(R;\nu) \displaystyle= \displaystyle 4R\frac{\nu E_{\mathrm{r}}}{E_{\mathrm{IT}}}u(\nu)
    \displaystyle u(R;\nu_{\mathrm{i}}) \displaystyle= \displaystyle 4R\frac{\nu_{\mathrm{i}}E_{\mathrm{r}}}{E_{\mathrm{i}}}u(\nu_{%
    \displaystyle u(R;E_{\mathrm{i}}) \displaystyle= \displaystyle 2\frac{E_{\mathrm{r}}}{E_{\mathrm{i}}^{2}}(1-\nu_{\mathrm{i}}^{2%
    \displaystyle u(R;E_{\mathrm{IT}}) \displaystyle= \displaystyle 2\frac{E_{\mathrm{r}}}{E_{\mathrm{IT}}^{2}}(1-\nu^{2})u(E_{%

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 k_{\mathrm{load}}, q_{\mathrm{load}}, k_{\mathrm{unload}} and q_{\mathrm{unload}} 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 (h_{\mathrm{max}},F_{\mathrm{max}}) point and that the fits are independent.

  1. 1.

    Obtain the uncertainties of n, h_{0}, m, h_{\mathrm{p}}, and their covariance from ODRPACK, see A.1.

  2. 2.

    Same as step 2 in section 15.2.1.

  3. 3.

    The unloading slope S_{\mathrm{unload}} 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)

    \displaystyle u(S_{\mathrm{load}};h)^{2} \displaystyle= \displaystyle\left(\frac{S_{\mathrm{load}}}{n}\right)^{2}u(n;h)^{2}+\left(%
    \displaystyle u(S_{\mathrm{load}};F)^{2} \displaystyle= \displaystyle\left(\frac{S_{\mathrm{load}}}{n}\right)^{2}u(n;F)^{2}+\left(%

    Furthermore we will need the covariance of S_{\mathrm{unload}} and \varepsilon

    \displaystyle\mathrm{cov}(S_{\mathrm{unload}},\varepsilon;h) \displaystyle= \displaystyle\frac{\partial\varepsilon}{\partial m}\mathrm{cov}(S_{\mathrm{%
    \displaystyle= \displaystyle\frac{\partial\varepsilon}{\partial m}\left[m\frac{F_{\mathrm{max%
    \displaystyle\mathrm{cov}(S_{\mathrm{unload}},\varepsilon;F) \displaystyle= \displaystyle\frac{\partial\varepsilon}{\partial m}\mathrm{cov}(S_{\mathrm{%
    \displaystyle= \displaystyle\frac{\partial\varepsilon}{\partial m}\left[m\frac{F_{\mathrm{max%
  4. 4.

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

    K=\frac{2S_{\mathrm{unload}}-\beta\varepsilon S_{\mathrm{load}}}{S_{\mathrm{%
{S_{\mathrm{unload}}} (54)

    These are

    \displaystyle u(K;h)^{2} \displaystyle= \displaystyle\left(\frac{-2}{S_{\mathrm{load}}^{2}}\right)^{2}u(S_{\mathrm{%
    \displaystyle u(K;F)^{2} \displaystyle= \displaystyle\left(\frac{-2}{S_{\mathrm{load}}^{2}}\right)^{2}u(S_{\mathrm{%

    We will also need the covariance

    \displaystyle\mathrm{cov}(S_{\mathrm{unload}},K;h) \displaystyle= \displaystyle\frac{\beta\varepsilon}{S_{\mathrm{unload}}^{2}}u(S_{\mathrm{%
    \displaystyle\mathrm{cov}(S_{\mathrm{unload}},K;F) \displaystyle= \displaystyle\frac{\beta\varepsilon}{S_{\mathrm{unload}}^{2}}u(S_{\mathrm{%
  5. 5.

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

    \displaystyle u(A;h) \displaystyle= \displaystyle A\frac{u(K;h)}{K}
    \displaystyle u(A;F)^{2} \displaystyle= \displaystyle\left(2A\frac{u(K;h)}{K}\right)^{2}+\left(2A\frac{u(F_{\mathrm{%
    \displaystyle u(H_{\mathrm{IT}};h) \displaystyle= \displaystyle 2A\frac{u(K;h)}{K}
    \displaystyle u(H_{\mathrm{IT}};F)^{2} \displaystyle= \displaystyle\left(2A\frac{u(K;F)}{K}\right)^{2}+\left(A\frac{u(F_{\mathrm{max%


    \displaystyle u(E_{\mathrm{r}};h)^{2} \displaystyle= \displaystyle\left(E_{\mathrm{r}}\frac{u(S_{\mathrm{unload}};h)}{S_{\mathrm{%
    \displaystyle u(E_{\mathrm{r}};F)^{2} \displaystyle= \displaystyle\left(E_{\mathrm{r}}\frac{u(S_{\mathrm{unload}};F)}{S_{\mathrm{%
\mathrm{r}}\frac{u(F)}{F_{\mathrm{max}}}\right)^{2} (59)
  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 (\Delta h,\Delta F) in the unloading data; data are added or removed from the loading data as well as shifted by (\Delta h,\Delta 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 \delta 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.