Purpose: This post is an outline of the microindentation stress-strain analysis.

Introduction

The microindenter is required in order to obtain indentation stress-strain curves with larger tip radii due to the load limit of the nanoindenter (500 mN XP Head, 10 N high load option). The microindenter is a screw driven machine with a load cell and transducer foot assembly attached for measuring the load and displacement during an indentation test. There is no continouous stiffness measurement (CSM) like in nanoindentation. Therefore, sequential unloading is required to determine the contact stiffness at various points along the load-displacement curve.

Overview of Analysis

  1. The time, displacement, and load signals are required along with some test parameters
  2. The peaks and valleys of the load versus time signal are determined
  3. The displacement correction and effective modulus are determined for a selected portion of the load-displacement data
  4. The stiffness and residual height for each unload are determined allowing for the contact area to be calculated.
  5. The indentation stress-strain curve is plotted using the selected elastic portion and each unloading data point.

Peak and Valley Finding

Here we implement a peak finding code from Tony Fast. Some additional things have been added to prevent false peaks and valleys and insure the correct amount have been found.

% list of required inputs/variables for peak finding
load_step = 2; % A test parameter
load_start = 5; % A test parameter, load to for first unload
radius = 9; % filter radius for peak/valley finding
hold_time = 10; % min. data points between two peaks/valleys

Adjust the radius and hold_time values until you get the right number of peaks. You will get this message if the peaks and valleys do not match the expected number.

message = 'wrong peaks and valleys or load step'

The expected number of peaks and valleys (pvs) is determined by

load_max = max(data.force);
load_max_adj = load_max - (load_start - load_step);
pvs = round(load_max_adj/load_step); % expected number of peaks and valleys

Determining The Effective Modulus

The start and stop points for determining the effective modulus must be chosen in addition to the indenter properties and percentage of the unloading curve to use.

% list of required inputs/variables for zero point and stress-strain
start = 1099; % start of elastic segment selection, try to use a peak/valley
stop = 1169; % end of elastic segment selection, try to use a peak/valley
Ei = 640;   % Indenter Modulus, GPa, Tungsten Carbide
vi = 0.211; % Indenter Poisson Ratio
vs = 0.3;   % Sample Poisson Ratio
R = 6350; % Indenter Radius, um, 

unload_percent = [.95 .5; % portion of unloading curve for stiffness calc. i.e. 95 to 50 percent of the max load

Notice that the indices for the first 15 peaks and valleys are printed. So far I have found it best to select two consecutive peaks for the start and stop values. This means you are analyzing a full unload-reload cycle.

Effective Modulus and Height Correction Linear Regression

A linear regression of Hertz Equation between and can be done to extract the effective modulus and height correction.

Where is the height correction to the displacement signal.

Determining the Unloading Stiffness

The same linear regression is used only this time is known and is unknown because the sample has plastically deformed.

Once and the residual height are determined, the contact area can be found

Note that the above is equivalent to calculating the unloading stiffness and then calculating the contact radius shown below.

Where is the slope of the linear regression.

Indentation Stress-Strain

The definitions of indentation stress and strain come from Kalidindi, S.R. and S. Pathak. “Determination of the effective zero-point and the extraction of spherical nanoindentation stress–strain curves.” Acta Materialia. 2008.

The protocols and analysis are ongoing research. This analysis was done in Matlab Example and Code