TIP-SAMPLE ADHESION

Remove["Global`*"]

Highlights

Abstract

Introduction

Needs["Graphics`PlotField`"]

Off[General::spell,General::spell1];

Needs["Graphics`Arrow`"];

tera  = 10^12  ; micro = 10^-6;
giga  = 10^9   ; nano  = 10^-9; 
mega  = 10^6   ; pico  = 10^-12;
kilo  = 10^3   ; femto = 10^-15; 
milli = 10.^-3 ; atto  = 10^-18;

NSub = {
c   -> 2.99792458 10^8  , e     -> 1.6021773 10^-19,
h   -> 6.6260755 10.^-34, hbar  -> 1.05457 10.^-34 ,
K   -> 1.380658 10^-23  , me    -> 9.109389 10^-31 ,
mu0 -> 4. Pi 10^-7      , eps0  -> 8.85419 10^-12   };

ESi   =0.179 tera; rhoSi   =2330 ; nuSi   =0.28;
ESiO2 =0.06  tera; rhoSiO2 =2200 ; nuSiO2 =0.3;
ESi3N4=0.15  tera; rhoSi3N4=3100 ; nuSi3N4=0.24;
EAu   =0.08  tera; rhoAu   =19300; nuAu   =0.42;
ENi   =0.207 tera; rhoNi   =8900 ; nuNi   =0.41;
EW    =0.345 tera; rhoW    =19300; nuW    =0.28;
EPt   =0.17  tera; rhoPt   =21400; nuPt   =0.39;
EIr   =0.52  tera; rhoIr   =22500; nuIr   =0.3 ;
EHOPG =0.2   tera; rhoHOPG =2250 ; nuHOPG =0.3 ;
EPol  =0.001 tera; rhoPol  =1000 ; nuPol  =0.3 ;

xx     =0.8;
EPtIr  =xx 0.8 EPt+(1-xx) EIr;
rhoPtIr=xx rhoPt  +(1-xx) rhoIr;
nuPtIr =0.3;

opt= {
PlotRange  ->All,
AxesOrigin ->{0,0},
Frame      ->True,
GridLines  ->Automatic,           
DefaultFont->{"Times-Roman",8},
PlotStyle  ->{
Dashing[{.0001}],
Dashing[{.0500}],
Dashing[{.0200}]}};

Operating Conditions

Operating Conditions

case = {
R1    -> 100 nano,
R2    -> 100 micro,
E1    -> ESi,
E2    -> EPol,
nu1   -> 0.28,
nu2   -> 0.3,
sigma -> 0.4125 nano,
A    -> 0.0135 atto
};

Evaluation of Operating Constants

R = R1 R2/(R1+R2);

Print["R  = ",N[R/nano/.case]," [nm]"]

D0    = sigma/2.5/.case;
gamma = A/(24 Pi D0^2);
W12   = 2 gamma;

Print["D0    = ",D0/nano/.case," [nm]"]
Print["gamma = ",N[kilo gamma]/.case," [mJ/m^2]"]
Print["W12   = ",N[kilo W12]/.case," [mJ/m^2]"]

kappa1   = (1-nu1^2)/(Pi E1);
kappa2   = (1-nu2^2)/(Pi E2);
kappaeff = kappa1 + kappa2;

Print["kappa1   = ",N[kappa1/nano]/.case," [m^2/nN]"]
Print["kappa2   = ",N[kappa2/nano]/.case," [m^2/nN]"]
Print["kappaeff = ",N[kappaeff/nano]/.case," [m^2/nN]"]

Indentation as a Function of the Contact Force

Contact Radius and the Contact Force

k = 4/(3 Pi kappaeff);

Print["k = ",N[k nano]/.case," [nN/m^2]"]

Clear[funr];
q = 3 Pi R W12;
funr[F_]  := (R/k (F+q+Sqrt[q^2+2 q F]))^(1/3);

Clear[funr0];
funr0[F_] := If[F>0,(R/k F)^(1/3),0];

r0 = N[funr[0]]/.case;

Print["r(F=0) = ",r0/nano," [nm]"]

Print["r0/R = ",r0/R/.case]

Fs = N[-3/2 Pi R W12]/.case;

Print["Fs = ",Fs/nano," [nN]"]

rs = N[Re[funr[Fs]]]/.case;

Print["rs = ",rs/nano," [nm]"]

Fig5x2 =
Plot[{
funr[F nano]/nano/.case,
funr0[F nano]/nano/.case},
{F,-Fs/nano,.99 Fs/nano},
FrameLabel ->{"F [nN]","r [nm]"},
Evaluate[opt]];

Indentation and the Contact Radius

Clear[fund1,fund2];
fund1[r_] := -r^2/R + 2/3 r0^(3/2)/R Sqrt[r]/.case;
fund2[r_] := If[r<=rs,0,fund1[r]]

Clear[fund20];
fund20[r_] := If[r<0,0,-r^2/R/.case];

Fig5x3 =
Plot[Evaluate[{
fund2[r nano]/nano,
fund20[r nano]/nano}],
{r,0,r0/nano},FrameLabel ->{"r [nm]","d [nm]"},
Evaluate[opt]];

r1 = FindRoot[fund1[r]/nano==0,{r,9 nano}][[1,2]];

Print["r1 = ", r1/nano," [nm]"]

d0 = N[fund1[r0]];
ds = N[fund1[rs]];

Print["d0 = ", d0/nano," [nm]"]
Print["ds = ", ds/nano," [nm]"]

Indentation and the Contact Force

Clear[fund3];
fund3[F_] := If[F<=Fs,0,fund2[r]/.r->funr[F]/.case];

Clear[fund30];
fund30[F_] := fund20[r]/.r->funr0[F]/.case;

Fig5x4 =
Plot[{
fund3[F nano]/nano,
fund30[F nano]/nano},
{F,-2 Fs/nano,2 Fs/nano},
FrameLabel ->{"F [nN]","d [nm]"},
Evaluate[opt]];

F1 = FindRoot[fund3[F nano]/nano==0,
{F,-5.6,-5.4}][[1,2]] nano;

Print["F1 = ", F1/nano," [nm]"]

lista = {rs/nano,ds/nano,Fs/nano};
listb = {r1/nano,0      ,F1/nano};
listc = {r0/nano,d0/nano,0      };

tbl1 =
TableForm[{lista,listb,listc},
TableHeadings->{{"at d=ds","at d=0","at F=0"},
{"r [nm]","d [nm]","F [nN]"}}]

Inverted Functions

Contact Force and the Contact Radius

Clear[eq11];
eq11 = (RR/kk (F+qq+Sqrt[qq^2+2 qq F]))^(1/3);

sol = Simplify[Solve[eq11==r,F][[1,1,2]]];
Print["funF(r) = ",sol[[1]]-Sqrt[sol[[2]]^2]]

Clear[funF];
funF[r_] := k r^3/R - Sqrt[2 k q/R] r^(3/2);

Clear[funF0];
funF0[r_] := k r^3/R;

Fig5x5 =
Plot[Evaluate[{
funF[r nano]/nano/.case,
funF0[r nano]/nano/.case}],
{r,funr[-Fs]/nano/.case,rs/nano},
AxesOrigin ->{funr[-Fs]/nano/.case,-rs/nano},
DefaultFont->{"Times-Roman",8},
FrameLabel ->{"r [nm]","F [nN]"},
Evaluate[opt]];

Contact Radius and the Indentation

Clear[funr1,a,b,z];
funr1[y_] := Solve[a z+b z^4 == y,z][[2,1,2]];

Clear[funr2a];
funr2a[d_] =
(N[funr1[d]])^2/.
a->2/(3 R) r0^(3/2)/.b->-1/R/.case;

Clear[funr2];
funr2[d_]=
If[d==0,
Re[funr2a[.01 nano]],
Re[funr2a[d]]];

Clear[funr20]
funr20[d_] := If[d<0,Sqrt[-d R],0];

Print["r(ds) = ",N[Re[funr2[ds]/nano]]/.case," [nm]"]
Print["rs    = ",N[rs/nano]," [nm]"]

Fig5x6 =
Plot[{
funr2[d nano]/nano/.case,
funr20[d nano]/nano/.case},
{d,2 d0/nano,ds/nano},
AxesOrigin ->{2 d0/nano,0},
FrameLabel ->{"d [nN]","r [nm]"},
Evaluate[opt]];

Contact Force and the Indentation

Clear[funF1a];
funF1a[d_] := funF[funr2[d]]/.case;

Clear[funF1,funF2];
funF1[d_] := If[Abs[d]<=.001 nano,
funF1a[.001 nano],
funF1a[d]];
funF2[d_]:=If[d<ds,funF1[d],0]

Clear[funF10];
funF10[d_] = If[d<0,k Sqrt[R] (-d)^(3/2),0]/.case;

Fig5x7 =
Plot[{
funF2[d nano]/nano/.case,
funF10[d nano]/nano/.case},
{d,d0/nano,2 ds/nano},
AxesOrigin->{d0/nano,0},
DefaultFont->{"Times-Roman",8},
FrameLabel->{"d [nm]","F [nN]"},
Evaluate[opt]];

Check of the Inversion Codes

Print["rs       = ",N[rs/nano]," [nm]"]
Print["r(ds)    = ",N[Re[funr2[ds]/nano]]," [nm]"]
Print["ds       = ",N[ds/nano]," [nm]"]
Print["d(r(Fs)) = ",Re[N[fund1[funr[Fs]]]/nano]," [nm]"]
Print["Fs       = ",N[Fs/nano]," [nm]"]
Print["F(r(ds)) = ",N[Re[funF[funr2[ds]]/nano]]/.case," [nm]"]
Print["F(ds)    = ",N[Re[funF1[ds]]/nano]," [nm]"]

Limits of Adhesion Parameters

Clear[W12max];
W12max[RR_] := RR k/(6 Pi)

Fig5x8 =
Plot[Evaluate[
W12max[RR nano]/.case],
{RR,10,R/nano/.case},
FrameLabel ->{"R [nm]","W12max [J/m^2]"},
Evaluate[opt]];

Clear[Amax];
Amax[RR_] := 12 Pi D0^2 W12max[RR]

Fig5x9 =
Plot[Evaluate[
Amax[RR nano]/nano^2/.case],
{RR,10,100},
FrameLabel ->{"R [nm]","Amax [aJ]"},
Evaluate[opt]];

Contact Pressure

Maximum Contact Pressure

Clear[P0max,P1max];
P0max[r_] := 3 k r/(2 Pi R);
P1max[r_] := Sqrt[3 k W12/(2 Pi r)];

Fig5x10 =
Plot[{
P0max[r nano] nano/.case,
P1max[r nano] nano/.case},
{r,.1,10},FrameLabel ->{"r [nm]","Pmax [GPa]"},
Evaluate[opt]];

rp =
Solve[3 kk rr/(2 pi RR)==
Sqrt[3 kk W/(2 pi rr)],rr][[1,1,2]];
Print["rp = ",(rp^3)^(1/3)]

rp = (2/3 Pi R^2 W12/k)^(1/3)/.case;
Print["rp = ",N[rp/nano]," [nm]"]

Distribution of the Contact Pressure

Clear[P0,P1];
P1[r_,x_] := Sqrt[3 k W12/(2 Pi r)]/Sqrt[(1-x^2)];
P0[r_,x_] := 3 k r/(2 Pi R) Sqrt[1-x^2];

Fig5x11 =
Plot[{
P0[rp,x] nano/.case,
P1[rp,x] nano/.case},
{x,-.9,.9},
FrameLabel ->{"x [nm]","Pmax [GPa]"},
Evaluate[opt]];

Lennard-Jones Potential

Clear[Wb,WLJ];
Wa       = R1 A/(6 sigma);
Wb[s_]  := 1/210 (sigma/s)^7-sigma/s;
WLJ[s_] := Wa Wb[s]/.case;

Clear[FLJ];
FLJ[s_] = -D[WLJ[s],s];

sFzero = Solve[FLJ[s]==0,s][[6,1,2]]/.case;
Print["sFzero = ",N[sFzero/nano]," [nm]"]

sFmin = Solve[D[FLJ[s],s]==0,s][[6,1,2]];
Print["sFmin = ",N[sFmin/nano/.case]," [nm]"]

Clear[FLJ1];
FLJ1[s_] := If[s>=0,FLJ[s+sFzero],0];

Fig5x12 =
Plot[FLJ1[s nano]/nano/.case,
{s,-1.9 (sFmin-sFzero)/nano,
1.9 (sFmin-sFzero)/nano},
FrameLabel ->{"d [nm]","FLJ [nN]"},
Evaluate[opt]];

Total Force as a Function of the Indentation

Push-in Region

dmax = Max[4 (sFmin-sFzero)/nano,4 ds/nano];

Force with No Adhesion Present

Clear[funF0In];
funF0In[d_] := Re[If[d<=0,funF10[d],FLJ1[d]]];

Fig5x13 =
Plot[
funF0In[d nano]/nano/.case,
{d,-dmax,dmax},
FrameLabel ->{"d [nm]","F [nN]"},
Evaluate[opt]];

Force with Adhesion Present

Clear[funFIn];
funFIn[d_] = If[d<0,funF1[d],FLJ1[d]]/.case;

Fig5x14 =
Plot[
funFIn[d nano]/nano,
{d,-dmax,dmax},
FrameLabel ->{"d [nm]","F [nN]"},
Evaluate[opt]];

Pull-out Region

Force with No Adhesion Present

Clear[funF0Out];
funF0Out[d_] := If[d<0,funF10[d],FLJ1[d]];

Force with Adhesion Present

Clear[funFOut];
funFOut[d_] := If[d<ds,funF1[d],FLJ1[d]];

Hysteresis Loop

Fig5x15 =
Plot[{
funFIn[d nano]/nano,
funFOut[d nano]/nano},
{d,-dmax,dmax},
PlotRange  ->{1.5 Fs/nano,-1.5 Fs/nano},
AxesOrigin ->{-dmax,3 Fs/nano},
FrameLabel ->{"d [nm]","F [nN]"},
Evaluate[opt]];