Skip to content

cmmagazz/XPressImport

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

XPressImport, or XPImport, is a script for reading and saving nanoindentation "express" maps as made by the KLA Tencor Nano G200 instrument. Made by CM Magazzeni

The input is the excel file generated by the NanoSuite software following the completion of the map. This code is designed to take this and create common plots of Hardness, Modulus, etc, as well as save all relevant variables to a .mat file for further use. It performs a bit of cleanup for some values, primarily in locations where the indent has failed. This is seen, typically, as indents where the values are above 1e300, indicative of a division by zero somewhere by the software.

The input is designed to handle maps of any size, as long as the start position is LOWER than the stop position. I.e. when setting up the bundle, "X Start Position" is a number less than "X Stop Position". This is due to the way in which the software sets up the serpentine motion, and V1.0 of XPImport has been set up with that as its only limitation.

INFORMATION ON EXPRESS MAPS A note on nomenclature: within the map, the array of indents performed as one "test" by the software (where the stage moves solely with the nanopositioning piezo movement), is referred to as a "bundle". The arrangement of bundles is referred to a batch. See below for a diagram.

Express maps contain batches of bundles:
    a bundle
  x  x  x  x  x     x  x  x  x  x 
  x  x  x  x  x     x  x  x  x  x 
  x  x  x  x  x  .. x  x  x  x  x 
  x  x  x  x  x     x  x  x  x  x 
  x  x  x  x  x     x  x  x  x  x 
        :                  :
  x  x  x  x  x     x  x  x  x  x 
  x  x  x  x  x     x  x  x  x  x 
  x  x  x  x  x  .. x  x  x  x  x 
  x  x  x  x  x     x  x  x  x  x 
  x  x  x  x  x     x  x  x  x  x 
  \_____________________________/
        the batch of bundles
 In this case, a 2 x 2 batch of 5x5 indent bundles

The nanosuite software does not save information directly referring to either the number of bundles in the batch (referred to as batch size / batchinfo), nor does it save the spacing of the bundles (referred to as batch dimension / batchdims). The recommended naming for the excel file / test is therefore:

expresse_ (the batch size) _ (the batch dimensions / spacing between bundles, with signs) _ (other info)

For example:

'express_1x47_++85umspacing_17x17_5umspacing_80umextent_20mNLC.xls'

Referring to an experiment with a column of 47 bundles (1x47), spaced 85um apart in the positive x and y direction, each containing 17x17 indents spaced 5 micron apart. This means a bundle extent (size of the bundle) of 80um, justifying a 85 between bundles in order to preserve the 5um spacing between all indents. The experiment was carried out at 20mN in Load Control mode.

TO RUN THE SCRIPT The script is run as a two step process:

  1. Changes are made to the XPInputDeck.m file to include all necessary user inputs
  2. Run the XPInputDeck file, which cleans up the space, reads the variables, and runs xpressimport.m which does: 2)a) Runs LoadGridV2, which reads from the excel file to create the variables 2)b) Runs plot_fig to clean the variables and plot figures. 2)c) Runs mcreate to create a .m file which can be used to change the figures, containing details on how the figures were plotted.

The data output is a series of X * Y doubles which contain all the values in a grid. This includes the expected Hardness (H), Modulus (M), Depth (D), as well as the X and Y coordinates. See the plot_fig code for more details on what else is present. The convention in this is slightly different but helpful when analysing:

  1. Origin is at 0 : X(1,1) & Y(1,1) = 0.
  2. Coordinates are cartesian: X(2,1) > X(1,1), and Y(1,2) > Y(1,1) The main plotting function used is contourf, which holds the spatial convention and makes (in my opinion) a nice visualisation of the data.

This program is given as-is with an MIT license. Please feel free to use and improve this, but give credit to this repository.

About

Code to import express maps from Nano G200

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages