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 conversionprefactors:
“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 hc0prefactors:
“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