Nanoindentation Tip Library

Nanoindenter tip: shape / area-function and the compliance

class micromechanics.indentation.tip.Tip(shape='perfect', interpFunction=None, compliance=0.0, plot=False, verbose=0)

Bases: object

The main class to define indenter shape and other default values.

__init__(shape='perfect', interpFunction=None, compliance=0.0, plot=False, verbose=0)

Initialize indenter shape

Parameters:
  • shape (list) – list of prefactors (defualt = “perfect”)

  • interpFunction (function) – tip-shape function Ac = f(hc), when it is given, other information are superseeded

  • compliance (float) – additional compliance in test [um/mN] (sensible values: 0.0001..0.01)

  • plot (bool) – plot indenter shape

  • verbose (bool) – output

areaFunction(h)

AREA FUNCTION: from contact depth hc calculate area
all functions inside are using [nm]; the outside of this function uses [um]|br| hence at the start and end there is conversion

prefactors:

  • “iso” type area function A=ax^2+bx^1+cx^0.5…, [nm]

  • “perfect” type area function of a perfect Berkovich A=3*sqrt(3)*tan(65.27)^2 hc^2 = 24.494 hc^2

  • “sphere” type: A=pi(2Rh-h^2), h=depth, R indenter radius; for small h-> h^2=0

    prefactors [-pi, 2piR], R in nm does not account for cone at top

Parameters:

h – contact depth in um

areaFunctionInverse(area, hc0=70)

INVERSE AREA FUNCTION: from area calculate contact depth hc
using Newton iteration with initial guess contact depth hc0

prefactors:

  • “iso” type area function A=ax^2+bx^1+cx^0.5…, [nm]

  • “perfect” type area function of a perfect Berkovich A=3*sqrt(3)*tan(65.27)^2 hc^2 = 24.494 hc^2

Parameters:
  • area (numpy.array) – projected contact area

  • hc0 (numpy.array) – initial Guess contact depth

Returns:

h = total penetration depth

Return type:

numpy.array

plotIndenterShape(maxDepth=1, steps=50, show=True, tipLabel=None, fileName=None)

check indenter shape: plot shape function against perfect Berkovich
analytical: perfect shape is 2.792254*x

Parameters:
  • maxDepth (numpy.array) – maximum depth [um] to plot; default=10um

  • steps (int) – number of steps for plotting

  • show (bool) – show figure

  • tipLabel (str) – label for this tip

  • fileName (str) – if given, save to file

setInterpolationFunction(interpFunction)

The interpolation of tip-shape function Ac = f(hc)

  • From Oliver-Pharr Method, projected area of contact Ac can be obtained by measuring contact depth hc.

  • When the interpolation function is given, other information are superseeded.

Parameters:

interpFunction (function) – numpy interpolation function