You are on page 1of 14

#pragma rtGlobals=1

// Use modern global access method.


Macro LoadFile_TFT_IdVd_Display(fileName, pathName)
String fileName
String pathName
String Vd = fileName + "_Vd"
String Id = fileName + "_Id"
String Vg = fileName + "_Vg"
String Ig = fileName + "_Ig"
String
String
String
String

v0 = fileName + "0"
i0 = fileName + "1"
Gv0 = fileName + "2"
Gi0 = fileName + "3"

Silent 1; PauseUpdate
String temp
LoadWave/A=$fileName/W/G/D/P=$pathName
if (V_flag==0)
return
endif
Rename
Rename
Rename
Rename

$v0, $Vd
$i0, $Id
$Gv0, $Vg
$Gi0, $Ig

PauseUpdate; Silent 1
// building window...
Display /W=(176.25,56.75,639.75,321.5) $Id vs $Vd
ModifyGraph tick=2
ModifyGraph mirror=1
ModifyGraph nticks(left)=3
ModifyGraph minor=1
ModifyGraph fSize=14
ModifyGraph lblMargin(left)=9,lblMargin(bottom)=6
ModifyGraph standoff=0
Label left "I\\BDS\\M (\\u#2\\F'Symbol'm\\F'Times New Roman'A)"
Label bottom "V\\BD\\M (V)"
SetAxis/A/R left
SetAxis/A/R bottom
EndMacro
Macro LoadFile_TFT_IdVd_Append(fileName, pathName)
String fileName
String pathName
String Vd = fileName + "_Vd"
String Id = fileName + "_Id"
String Vg = fileName + "_Vg"
String Ig = fileName + "_Ig"
String
String
String
String

v0 = fileName + "0"
i0 = fileName + "1"
Gv0 = fileName + "2"
Gi0 = fileName + "3"

Silent 1; PauseUpdate
String temp
LoadWave/A=$fileName/W/G/D/P=$pathName
if (V_flag==0)
return

endif
Rename
Rename
Rename
Rename

$v0, $Vd
$i0, $Id
$Gv0, $Vg
$Gi0, $Ig

PauseUpdate; Silent 1
AppendToGraph $Id vs $Vd
EndMacro

// building window...

Macro LoadFile_Display_TFT_Ids_Vg(fileName, pathName)


String fileName
String pathName
String v_g = fileName + "_Vg"
String i_g = fileName + "_Ig"
String v_ds = fileName + "_Vds"
String i_ds = fileName + "_Ids"
String i_sq = fileName + "_sqIds"
String
String
String
String

v_g0 = fileName + "0"


i_g0 = fileName + "1"
v_ds0 = fileName + "2"
i_ds0 = fileName + "3"

Silent 1; PauseUpdate
LoadWave/A=$fileName/W/G/D/P=$pathName
if (V_flag==0)
return
endif
Rename $i_ds0, $i_ds
Rename $v_ds0, $v_ds
Rename $i_g0, $i_g
Rename $v_g0, $v_g
$i_ds = abs($i_ds)
duplicate $i_ds $i_sq
$i_sq = sqrt($i_ds)
PauseUpdate; Silent 1
// building window...
Display /W=(375.75,39.5,729,392.75)/R $i_ds vs $v_g
Appendtograph $i_sq vs $v_g
ModifyGraph log(right)=1
ModifyGraph tick=2
ModifyGraph mirror(bottom)=1
ModifyGraph nticks(left)=3
ModifyGraph minor=1
ModifyGraph fSize=14
ModifyGraph lblMargin(bottom)=6,lblMargin(left)=9
ModifyGraph standoff=0
Label right "I\\BDS\\M (\\EA)"
Label bottom "V\\BG\\M (V)"
Label left "I\\BDS\\M\\S1/2\\M (\\EA\\S1/2\\M)"
EndMacro
Macro LoadFile_Append_TFT_Ids_Vg(fileName, pathName)
String fileName
String pathName
String v_g = fileName + "_Vg"
String i_g = fileName + "_Ig"

String v_ds = fileName + "_Vds"


String i_ds = fileName + "_Ids"
String i_sq = fileName + "_sqIds"
String
String
String
String

v_g0 = fileName + "0"


i_g0 = fileName + "1"
v_ds0 = fileName + "2"
i_ds0 = fileName + "3"

Silent 1; PauseUpdate
LoadWave/A=$fileName/W/G/D/P=$pathName
if (V_flag==0)
return
endif
Rename $i_ds0, $i_ds
Rename $v_ds0, $v_ds
Rename $i_g0, $i_g
Rename $v_g0, $v_g
$i_ds = abs($i_ds)
duplicate $i_ds $i_sq
$i_sq = sqrt($i_ds)
PauseUpdate; Silent 1
AppendToGraph/R $i_ds vs $v_g
AppendToGraph $i_sq vs $v_g
EndMacro

// building window...

Macro OTFT_SlopeFind(GraphName,start_val,end_val,thickness_angstrom,permittivity
)
String GraphName
Variable start_val,end_val,thickness_angstrom,permittivity
String wave_x, wave_y, wave_ytmp, wave_xtmp, table_result,result_M,resul
t_V,result_format
result_format = GraphName+"format"
Make/T /N=2 $result_format = {"Mobility", "Vth"}
Edit $result_format
DoWindow/C TFT_Result
Variable i,Vth,mobility,W,L,j
W = 1 // 1.0mm
L = 0.05 // 0.05mm
i=1
do
wave_y = wavename(GraphName,i,1)
if(strlen(wave_y) == 0)
break
endif
wave_ytmp = wave_y+"tmp"
table_result = GraphName+num2str((i+1)/2)
Make/N=2 $table_result = { 0,0 }
Duplicate/R=[start_val,end_val] $wave_y, $wave_ytmp
wave_x = wavename(GraphName,i,2)
wave_xtmp = wave_x+"tmp"
Duplicate/R=[start_val,end_val] $wave_x, $wave_xtmp
CurveFit line $wave_ytmp /X=$wave_xtmp
Mobility = (W_coef[1]^2)/(permittivity*8.85*(10^(-14))/(thicknes
s_angstrom*(10^(-8))))/W*L

Vth = W_coef[0]/W_coef[1]
$table_result[0] = Mobility
$table_result[1] = Vth
AppendToTable $table_result
KillWaves $wave_xtmp
KillWaves $wave_ytmp
i+=2

//

while(1)
i=(i-1)/2
result_M = GraphName+"Mobility"
result_V = GraphName+"Vth"
make/N=(i) $result_M
make/N=(i) $result_V
j=0
string tmpa
do
tmpa = GraphName+num2str(j+1)
$result_M[j] = $tmpa[0]
$result_V[j] = $tmpa[1]
KillWaves $("C"+num2str(j+1))
j=j+1
while(j<i)
AppendToTable $result_M,$result_V

KillWaves W_coef
KillWaves W_sigma
EndMacro
Macro OTFT_mobilityGraph(GraphName,thickness_angstrom,permittivity)
String GraphName
Variable thickness_angstrom,permittivity
String wave_x, wave_Y, wave_sqY, wave_Ytmp, wave_sqYtmp, wave_xtmp
Variable i,Vth,mobility,W,L,j
W = 1 // 1.0mm
L = 0.05 // 0.05mm
i=0
wave_Y = wavename(GraphName,i,1)
wave_Ytmp = wave_Y+"_m"
Duplicate/O $wave_Y, $wave_Ytmp
wave_sqY = wavename(GraphName,i+1,1)
wave_sqYtmp = wave_sqY+"_m"
Duplicate/O $wave_sqY, $wave_sqYtmp
wave_x = wavename(GraphName,i,2)
wave_xtmp = wave_x+"tmp"
Duplicate/O $wave_x, $wave_xtmp
Differentiate $wave_xtmp, $wave_Ytmp
$wave_Ytmp /= $wave_xtmp
Differentiate $wave_Ytmp
$wave_Ytmp /= $wave_xtmp
// find second derivative of Ids
Differentiate $wave_sqYtmp
$wave_sqYtmp /= $wave_xtmp
first derivative of sqIds

// Ids
// sqIds
// Vgs

// find

$wave_Ytmp = $wave_Ytmp/(permittivity*8.85*(10^(-14))/(thickness
_angstrom*(10^(-8))))/W*L
$wave_sqYtmp = ($wave_sqYtmp^2)*2/(permittivity*8.85*(10^(-14))/

(thickness_angstrom*(10^(-8))))/W*L
KillWaves $wave_xtmp
Display /W=(375.75,39.5,729,392.75)/R $wave_Y vs $wave_x
Appendtograph $wave_Ytmp vs $wave_x
Appendtograph $wave_sqYtmp vs $wave_x
KillWaves $wave_Ytmp
ModifyGraph log(right)=1
ModifyGraph tick=2
ModifyGraph mirror(bottom)=1
ModifyGraph nticks(left)=3
ModifyGraph minor=1
ModifyGraph fSize=14
ModifyGraph lblMargin(bottom)=6,lblMargin(left)=9
ModifyGraph standoff=0
Label right "I\\BDS\\M (\\EA)"
Label bottom "V\\BG\\M (V)"

//

i+=2
do
wave_Y = wavename(GraphName,i,1)
if(strlen(wave_y) == 0)
break
endif
wave_Ytmp = wave_Y+"_m"
Duplicate/O $wave_Y, $wave_Ytmp
wave_sqY = wavename(GraphName,i+1,1)
wave_sqYtmp = wave_sqY+"_m"
Duplicate/O $wave_sqY, $wave_sqYtmp
wave_x = wavename(GraphName,i,2)
wave_xtmp = wave_x+"tmp"
Duplicate/O $wave_x, $wave_xtmp
Differentiate $wave_xtmp, $wave_Ytmp
$wave_Ytmp /= $wave_xtmp
Differentiate $wave_Ytmp
$wave_Ytmp /= $wave_xtmp
// find second derivative of Ids
Differentiate $wave_sqYtmp
$wave_sqYtmp /= $wave_xtmp
first derivative of sqIds

// Ids
// sqIds
// Vgs

// find

$wave_Ytmp = $wave_Ytmp/(permittivity*8.85*(10^(-14))/(thickness
_angstrom*(10^(-8))))/W*L
$wave_sqYtmp = ($wave_sqYtmp^2)*2/(permittivity*8.85*(10^(-14))/
(thickness_angstrom*(10^(-8))))/W*L
KillWaves $wave_xtmp
Appendtograph/R $wave_Y vs $wave_x
Appendtograph $wave_Ytmp vs $wave_x
Appendtograph $wave_sqYtmp vs $wave_x
KillWaves $wave_Ytmp

//

i+=2
while(1)
EndMacro
Macro LoadFile_TFT_IdVd_Display4155(fileName, pathName)

String
String
String
String
String
String

fileName
pathName
Vd = fileName
Id = fileName
Vg = fileName
Ig = fileName

String
String
String
String

Gv0 = fileName + "0"


Gi0 = fileName + "1"
v0 = fileName + "2"
i0 = fileName + "3"

+
+
+
+

"_Vd"
"_Id"
"_Vg"
"_Ig"

Silent 1; PauseUpdate
String temp
LoadWave/A=$fileName/W/G/D/P=$pathName
if (V_flag==0)
return
endif
Rename $v0, $Vd
Rename $i0, $Id
Rename $Gv0, $Vg
Rename $Gi0, $Ig
PauseUpdate; Silent 1
// building window...
Display /W=(176.25,56.75,639.75,321.5) $Id vs $Vd
ModifyGraph tick=2
ModifyGraph mirror=1
ModifyGraph nticks(left)=3
ModifyGraph minor=1
ModifyGraph fSize=14
ModifyGraph lblMargin(left)=9,lblMargin(bottom)=6
ModifyGraph standoff=0
Label left "I\\BDS\\M (\\u#2\\F'Symbol'm\\F'Times New Roman'A)"
Label bottom "V\\BD\\M (V)"
SetAxis/A/R left
SetAxis/A/R bottom
EndMacro
Macro LoadFile_TFT_IdVd_Append4155(fileName, pathName)
String fileName
String pathName
String Vd = fileName + "_Vd"
String Id = fileName + "_Id"
String Vg = fileName + "_Vg"
String Ig = fileName + "_Ig"
String
String
String
String

Gv0 = fileName + "0"


Gi0 = fileName + "1"
v0 = fileName + "2"
i0 = fileName + "3"

Silent 1; PauseUpdate
String temp
LoadWave/A=$fileName/W/G/D/P=$pathName
if (V_flag==0)
return
endif
Rename $v0, $Vd
Rename $i0, $Id
Rename $Gv0, $Vg

Rename $Gi0, $Ig


PauseUpdate; Silent 1
AppendToGraph $Id vs $Vd
EndMacro

// building window...

Macro LoadFile_Display_TFT_Ids_Vg4155(fileName, pathName)


String fileName
String pathName
String v_g = fileName + "_Vg"
String i_g = fileName + "_Ig"
String v_ds = fileName + "_Vds"
String i_ds = fileName + "_Ids"
String i_sq = fileName + "_sqIds"
String
String
String
String

v_ds0 = fileName + "0"


i_ds0 = fileName + "1"
v_g0 = fileName + "2"
i_g0 = fileName + "3"

Silent 1; PauseUpdate
LoadWave/A=$fileName/W/G/D/P=$pathName
if (V_flag==0)
return
endif
Rename $i_ds0, $i_ds
Rename $v_ds0, $v_ds
Rename $i_g0, $i_g
Rename $v_g0, $v_g
$i_ds = abs($i_ds)
duplicate $i_ds $i_sq
$i_sq = sqrt($i_ds)
PauseUpdate; Silent 1
// building window...
Display /W=(375.75,39.5,729,392.75)/R $i_ds vs $v_g
Appendtograph $i_sq vs $v_g
ModifyGraph log(right)=1
ModifyGraph tick=2
ModifyGraph mirror(bottom)=1
ModifyGraph nticks(left)=3
ModifyGraph minor=1
ModifyGraph fSize=14
ModifyGraph lblMargin(bottom)=6,lblMargin(left)=9
ModifyGraph standoff=0
Label right "I\\BDS\\M (\\EA)"
Label bottom "V\\BG\\M (V)"
Label left "I\\BDS\\M\\S1/2\\M (\\EA\\S1/2\\M)"
EndMacro
Macro LoadFile_Append_TFT_Ids_Vg4155(fileName, pathName)
String fileName
String pathName
String v_g = fileName + "_Vg"
String i_g = fileName + "_Ig"
String v_ds = fileName + "_Vds"
String i_ds = fileName + "_Ids"
String i_sq = fileName + "_sqIds"

String
String
String
String

v_ds0 = fileName + "0"


i_ds0 = fileName + "1"
v_g0 = fileName + "2"
i_g0 = fileName + "3"

Silent 1; PauseUpdate
LoadWave/A=$fileName/W/G/D/P=$pathName
if (V_flag==0)
return
endif
Rename $i_ds0, $i_ds
Rename $v_ds0, $v_ds
Rename $i_g0, $i_g
Rename $v_g0, $v_g
$i_ds = abs($i_ds)
duplicate $i_ds $i_sq
$i_sq = sqrt($i_ds)
PauseUpdate; Silent 1
AppendToGraph/R $i_ds vs $v_g
AppendToGraph $i_sq vs $v_g
EndMacro

// building window...

/////////////////////// made by HyunDuck 2007.11.5 edited 2008.2.15 //////////


///////////////////////////////////
Macro OTFT_SlopeFind_1By1(Wave_Name_Id,Wave_Name_Vg,start_val,end_val,W,L,thickn
ess_angstrom,permittivity)
String Wave_Name_Id,Wave_Name_Vg
Variable start_val,end_val,W,L,thickness_angstrom,permittivity
String wave_x, wave_y, wave_ytmp, wave_xtmp, table_result,result_M,result_V,res
ult_format
String cmdd
result_format = Wave_Name_Id+"_coeff"
Variable i,Vth,mobility,j
wave_y = Wave_Name_Id+"_idsq"
wave_x = Wave_Name_Vg+"_Vg"
cmdd = ""
sprintf cmdd, "CurveFit/X=1 line %s[%d,%d] /X=%s /D",wave_y,findPOINT2($wave_x
,start_val),findPOINT2($wave_x,end_val),wave_x
Print cmdd
Execute cmdd // fitting
Make/O/N=2 $result_format = { 0,0 }
Mobility = (W_coef[1]^2)/(permittivity*8.85*(10^(-14))/(thickness_angstrom*(10
^(-8))))/W*L*2
Vth = (-1)*W_coef[0]/W_coef[1]
$result_format[0] = Mobility
$result_format[1] = Vth
KillWaves W_coef
KillWaves W_sigma

EndMacro
/////////////////////// made by HyunDuck 2007.11.5 edited 2008.2.15 //////////
///////////////////////////////////
Macro OTFT_SlopeFind_1By1_(Wave_Name_Id,Wave_Name_Vg,start_val,end_val,W,L,thick
ness_angstrom,permittivity)
String Wave_Name_Id,Wave_Name_Vg
Variable start_val,end_val,W,L,thickness_angstrom,permittivity
String wave_x, wave_y, wave_ytmp, wave_xtmp, table_result,result_M,result_V,res
ult_format
String cmdd
result_format = Wave_Name_Id+"_coeff"
Variable i,Vth,mobility,j
wave_y = Wave_Name_Id+"_idSQ"
wave_x = Wave_Name_Vg+"_Vg"
cmdd = ""
sprintf cmdd, "CurveFit/X=1 line %s[%d,%d] /X=%s /D",wave_y,start_val,end_val,
wave_x
Print cmdd
Execute cmdd // fitting
Make/O/N=2 $result_format = { 0,0 }
Mobility = (W_coef[1]^2)/(permittivity*8.85*(10^(-14))/(thickness_angstrom*(10
^(-8))))/W*L*2
Vth = (-1)*W_coef[0]/W_coef[1]
$result_format[0] = Mobility
$result_format[1] = Vth
KillWaves W_coef
KillWaves W_sigma
EndMacro
/////////////////////// made by HyunDuck 2008.3.28 ////////////////////////////
/////////////////
Macro OTFT_SlopeFind_1By1_Cap(Wave_Name_Id,Wave_Name_Vg,start_val,end_val,W,L,Ca
p)
String Wave_Name_Id,Wave_Name_Vg
Variable start_val,end_val,W,L,Cap
String wave_x, wave_y, wave_ytmp, wave_xtmp, table_result,result_M,result_V,res
ult_format
String cmdd
result_format = Wave_Name_Id+"_coeff"
Variable i,Vth,mobility,j
wave_y = Wave_Name_Id+"_idsq"
wave_x = Wave_Name_Vg+"_vg"
cmdd = ""
sprintf cmdd, "CurveFit/X=1 line %s[%d,%d] /X=%s /D",wave_y,findPOINT2($wave_x

,start_val),findPOINT2($wave_x,end_val),wave_x
Print cmdd
Execute cmdd // fitting
Make/O/N=2 $result_format = { 0,0 }
Mobility = (W_coef[1]^2)/Cap/W*L*2
Vth = (-1)*W_coef[0]/W_coef[1]
$result_format[0] = Mobility
$result_format[1] = Vth
KillWaves W_coef
KillWaves W_sigma
EndMacro
:
/////////////////////// made by HyunDuck 2007.11.5 /////////////////////////////
///////////////////
Function findPOINT2(w, value)
Wave w
variable value
variable i, point
if(w[0]<w[numpnts(w)-1])
print "w0<w last"
i=0
do
if(w[i]>=value)
point = i
break
endif
i+=1
while(i<numpnts(w))
else
print "w0>w last"
i=0
do
if(w[i]<=value)
point = i
break
endif
i+=1
while(i<numpnts(w))
endif
Return point
End
//Vd 1v , -10 , vg 40 80 Rc
Macro Contact_Resistance_for_pOTFT(Wave_Name, )
String Wave_Name
String vg40_cl40,vg40_cl100,vg40_cl150,vg40_cl200,vg40_cl250,vg40_cl300
String vg50_cl40,vg50_cl100,vg50_cl150,vg50_cl200,vg50_cl250,vg50_cl300
String vg60_cl40,vg60_cl100,vg60_cl150,vg60_cl200,vg60_cl250,vg60_cl300
String vg70_cl40,vg70_cl100,vg70_cl150,vg70_cl200,vg70_cl250,vg70_cl300
String vg80_cl40,vg80_cl100,vg80_cl150,vg80_cl200,vg80_cl250,vg80_cl300

String result_Rc_vg40, result_Rc_vg50, result_Rc_vg60, result_Rc_vg70, result_R


c_vg80, Result_CL
result_Rc_vg40 = Wave_Name+"_Rc_vg40"
result_Rc_vg50 = Wave_Name+"_Rc_vg50"
result_Rc_vg60 = Wave_Name+"_Rc_vg60"
result_Rc_vg70 = Wave_Name+"_Rc_vg70"
result_Rc_vg80 = Wave_Name+"_Rc_vg80"
result_CL = Wave_Name+"_Rc_CL"
vg40_cl40 = Wave_Name+"_40_vg40_id"
vg40_cl100 = Wave_Name+"_100_vg40_id"
vg40_cl150 = Wave_Name+"_150_vg40_id"
vg40_cl200 = Wave_Name+"_200_vg40_id"
vg40_cl250 = Wave_Name+"_250_vg40_id"
vg40_cl300 = Wave_Name+"_300_vg40_id"
vg50_cl40 = Wave_Name+"_40_vg50_id"
vg50_cl100 = Wave_Name+"_100_vg50_id"
vg50_cl150 = Wave_Name+"_150_vg50_id"
vg50_cl200 = Wave_Name+"_200_vg50_id"
vg50_cl250 = Wave_Name+"_250_vg50_id"
vg50_cl300 = Wave_Name+"_300_vg50_id"
vg60_cl40 = Wave_Name+"_40_vg60_id"
vg60_cl100 = Wave_Name+"_100_vg60_id"
vg60_cl150 = Wave_Name+"_150_vg60_id"
vg60_cl200 = Wave_Name+"_200_vg60_id"
vg60_cl250 = Wave_Name+"_250_vg60_id"
vg60_cl300 = Wave_Name+"_300_vg60_id"
vg70_cl40 = Wave_Name+"_40_vg70_id"
vg70_cl100 = Wave_Name+"_100_vg70_id"
vg70_cl150 = Wave_Name+"_150_vg70_id"
vg70_cl200 = Wave_Name+"_200_vg70_id"
vg70_cl250 = Wave_Name+"_250_vg70_id"
vg70_cl300 = Wave_Name+"_300_vg70_id"
vg80_cl40 = Wave_Name+"_40_vg80_id"
vg80_cl100 = Wave_Name+"_100_vg80_id"
vg80_cl150 = Wave_Name+"_150_vg80_id"
vg80_cl200 = Wave_Name+"_200_vg80_id"
vg80_cl250 = Wave_Name+"_250_vg80_id"
vg80_cl300 = Wave_Name+"_300_vg80_id"
Make/O/N=6
Make/O/N=6
Make/O/N=6
Make/O/N=6
Make/O/N=6
Make/O/N=6

$result_CL = { 0,0,0,0,0,0 }
$result_Rc_vg40 = { 0,0,0,0,0,0
$result_Rc_vg50 = { 0,0,0,0,0,0
$result_Rc_vg60 = { 0,0,0,0,0,0
$result_Rc_vg70 = { 0,0,0,0,0,0
$result_Rc_vg80 = { 0,0,0,0,0,0

$result_CL[0]
$result_CL[1]
$result_CL[2]
$result_CL[3]
$result_CL[4]
$result_CL[5]

=
=
=
=
=
=

40
100
150
200
250
300

}
}
}
}
}

$result_Rc_vg40[0]
$result_Rc_vg40[1]
$result_Rc_vg40[2]
$result_Rc_vg40[3]
$result_Rc_vg40[4]
$result_Rc_vg40[5]

=
=
=
=
=
=

1/($vg40_cl40[10]-$vg40_cl40[11])
1/($vg40_cl100[10]-$vg40_cl100[11])
1/($vg40_cl150[10]-$vg40_cl150[11])
1/($vg40_cl200[10]-$vg40_cl200[11])
1/($vg40_cl250[10]-$vg40_cl250[11])
1/($vg40_cl300[10]-$vg40_cl300[11])

$result_Rc_vg50[0]
$result_Rc_vg50[1]
$result_Rc_vg50[2]
$result_Rc_vg50[3]
$result_Rc_vg50[4]
$result_Rc_vg50[5]

=
=
=
=
=
=

1/($vg50_cl40[10]-$vg50_cl40[11])
1/($vg50_cl100[10]-$vg50_cl100[11])
1/($vg50_cl150[10]-$vg50_cl150[11])
1/($vg50_cl200[10]-$vg50_cl200[11])
1/($vg50_cl250[10]-$vg50_cl250[11])
1/($vg50_cl300[10]-$vg50_cl300[11])

$result_Rc_vg60[0]
$result_Rc_vg60[1]
$result_Rc_vg60[2]
$result_Rc_vg60[3]
$result_Rc_vg60[4]
$result_Rc_vg60[5]

=
=
=
=
=
=

1/($vg60_cl40[10]-$vg60_cl40[11])
1/($vg60_cl100[10]-$vg60_cl100[11])
1/($vg60_cl150[10]-$vg60_cl150[11])
1/($vg60_cl200[10]-$vg60_cl200[11])
1/($vg60_cl250[10]-$vg60_cl250[11])
1/($vg60_cl300[10]-$vg60_cl300[11])

$result_Rc_vg70[0]
$result_Rc_vg70[1]
$result_Rc_vg70[2]
$result_Rc_vg70[3]
$result_Rc_vg70[4]
$result_Rc_vg70[5]

=
=
=
=
=
=

1/($vg70_cl40[10]-$vg70_cl40[11])
1/($vg70_cl100[10]-$vg70_cl100[11])
1/($vg70_cl150[10]-$vg70_cl150[11])
1/($vg70_cl200[10]-$vg70_cl200[11])
1/($vg70_cl250[10]-$vg70_cl250[11])
1/($vg70_cl300[10]-$vg70_cl300[11])

$result_Rc_vg80[0]
$result_Rc_vg80[1]
$result_Rc_vg80[2]
$result_Rc_vg80[3]
$result_Rc_vg80[4]
$result_Rc_vg80[5]

=
=
=
=
=
=

1/($vg80_cl40[10]-$vg80_cl40[11])
1/($vg80_cl100[10]-$vg80_cl100[11])
1/($vg80_cl150[10]-$vg80_cl150[11])
1/($vg80_cl200[10]-$vg80_cl200[11])
1/($vg80_cl250[10]-$vg80_cl250[11])
1/($vg80_cl300[10]-$vg80_cl300[11])

Display /W=(375.75,39.5,729,392.75) $result_Rc_vg40 vs $result_CL


appendtograph $result_Rc_vg50 vs $result_CL
appendtograph $result_Rc_vg60 vs $result_CL
appendtograph $result_Rc_vg70 vs $result_CL
appendtograph $result_Rc_vg80 vs $result_CL
ModifyGraph tick=2,mirror=1,minor=1,standoff=0
SetAxis bottom 0,200
SetAxis left 0,$result_Rc_vg40[3]
Label left "\\F'Arial'Contact Resistance (\\F'Symbol'W\\F'Arial')"
Label bottom "\\F'Arial'Channel Length (\\F'Symbol'm\\F'Arial'm)"
ModifyGraph mode=3,marker=8,msize=5
ModifyGraph rgb($result_Rc_vg40)=(0,0,65280),rgb($result_Rc_vg50)=(0,52224,0);De
layUpdate
ModifyGraph rgb($result_Rc_vg60)=(52224,52224,0),rgb($result_Rc_vg70)=(65280,435
20,0)
EndMacro
Macro Contact_Resistance_for_nOTFT(Wave_Name, )
String Wave_Name
String vg40_cl40,vg40_cl100,vg40_cl150,vg40_cl200,vg40_cl250,vg40_cl300
String vg50_cl40,vg50_cl100,vg50_cl150,vg50_cl200,vg50_cl250,vg50_cl300

String vg60_cl40,vg60_cl100,vg60_cl150,vg60_cl200,vg60_cl250,vg60_cl300
String vg70_cl40,vg70_cl100,vg70_cl150,vg70_cl200,vg70_cl250,vg70_cl300
String vg80_cl40,vg80_cl100,vg80_cl150,vg80_cl200,vg80_cl250,vg80_cl300
String result_Rc_vg40, result_Rc_vg50, result_Rc_vg60, result_Rc_vg70, result_R
c_vg80, Result_CL
result_Rc_vg40 = Wave_Name+"_Rc_vg40"
result_Rc_vg50 = Wave_Name+"_Rc_vg50"
result_Rc_vg60 = Wave_Name+"_Rc_vg60"
result_Rc_vg70 = Wave_Name+"_Rc_vg70"
result_Rc_vg80 = Wave_Name+"_Rc_vg80"
result_CL = Wave_Name+"_Rc_CL"
vg40_cl40 = Wave_Name+"_40_vg40_id"
vg40_cl100 = Wave_Name+"_100_vg40_id"
vg40_cl150 = Wave_Name+"_150_vg40_id"
vg40_cl200 = Wave_Name+"_200_vg40_id"
vg40_cl250 = Wave_Name+"_250_vg40_id"
vg40_cl300 = Wave_Name+"_300_vg40_id"
vg50_cl40 = Wave_Name+"_40_vg50_id"
vg50_cl100 = Wave_Name+"_100_vg50_id"
vg50_cl150 = Wave_Name+"_150_vg50_id"
vg50_cl200 = Wave_Name+"_200_vg50_id"
vg50_cl250 = Wave_Name+"_250_vg50_id"
vg50_cl300 = Wave_Name+"_300_vg50_id"
vg60_cl40 = Wave_Name+"_40_vg60_id"
vg60_cl100 = Wave_Name+"_100_vg60_id"
vg60_cl150 = Wave_Name+"_150_vg60_id"
vg60_cl200 = Wave_Name+"_200_vg60_id"
vg60_cl250 = Wave_Name+"_250_vg60_id"
vg60_cl300 = Wave_Name+"_300_vg60_id"
vg70_cl40 = Wave_Name+"_40_vg70_id"
vg70_cl100 = Wave_Name+"_100_vg70_id"
vg70_cl150 = Wave_Name+"_150_vg70_id"
vg70_cl200 = Wave_Name+"_200_vg70_id"
vg70_cl250 = Wave_Name+"_250_vg70_id"
vg70_cl300 = Wave_Name+"_300_vg70_id"
vg80_cl40 = Wave_Name+"_40_vg80_id"
vg80_cl100 = Wave_Name+"_100_vg80_id"
vg80_cl150 = Wave_Name+"_150_vg80_id"
vg80_cl200 = Wave_Name+"_200_vg80_id"
vg80_cl250 = Wave_Name+"_250_vg80_id"
vg80_cl300 = Wave_Name+"_300_vg80_id"
Make/O/N=6
Make/O/N=6
Make/O/N=6
Make/O/N=6
Make/O/N=6
Make/O/N=6

$result_CL = { 0,0,0,0,0,0 }
$result_Rc_vg40 = { 0,0,0,0,0,0
$result_Rc_vg50 = { 0,0,0,0,0,0
$result_Rc_vg60 = { 0,0,0,0,0,0
$result_Rc_vg70 = { 0,0,0,0,0,0
$result_Rc_vg80 = { 0,0,0,0,0,0

$result_CL[0]
$result_CL[1]
$result_CL[2]
$result_CL[3]

=
=
=
=

40
100
150
200

}
}
}
}
}

$result_CL[4] = 250
$result_CL[5] = 300
$result_Rc_vg40[0]
$result_Rc_vg40[1]
$result_Rc_vg40[2]
$result_Rc_vg40[3]
$result_Rc_vg40[4]
$result_Rc_vg40[5]

=
=
=
=
=
=

1/($vg40_cl40[11]-$vg40_cl40[10])
1/($vg40_cl100[11]-$vg40_cl100[10])
1/($vg40_cl150[11]-$vg40_cl150[10])
1/($vg40_cl200[11]-$vg40_cl200[10])
1/($vg40_cl250[11]-$vg40_cl250[10])
1/($vg40_cl300[11]-$vg40_cl300[10])

$result_Rc_vg50[0]
$result_Rc_vg50[1]
$result_Rc_vg50[2]
$result_Rc_vg50[3]
$result_Rc_vg50[4]
$result_Rc_vg50[5]

=
=
=
=
=
=

1/($vg50_cl40[11]-$vg50_cl40[10])
1/($vg50_cl100[11]-$vg50_cl100[10])
1/($vg50_cl150[11]-$vg50_cl150[10])
1/($vg50_cl200[11]-$vg50_cl200[10])
1/($vg50_cl250[11]-$vg50_cl250[10])
1/($vg50_cl300[11]-$vg50_cl300[10])

$result_Rc_vg60[0]
$result_Rc_vg60[1]
$result_Rc_vg60[2]
$result_Rc_vg60[3]
$result_Rc_vg60[4]
$result_Rc_vg60[5]

=
=
=
=
=
=

1/($vg60_cl40[11]-$vg60_cl40[10])
1/($vg60_cl100[11]-$vg60_cl100[10])
1/($vg60_cl150[11]-$vg60_cl150[10])
1/($vg60_cl200[11]-$vg60_cl200[10])
1/($vg60_cl250[11]-$vg60_cl250[10])
1/($vg60_cl300[11]-$vg60_cl300[10])

$result_Rc_vg70[0]
$result_Rc_vg70[1]
$result_Rc_vg70[2]
$result_Rc_vg70[3]
$result_Rc_vg70[4]
$result_Rc_vg70[5]

=
=
=
=
=
=

1/($vg70_cl40[11]-$vg70_cl40[10])
1/($vg70_cl100[11]-$vg70_cl100[10])
1/($vg70_cl150[11]-$vg70_cl150[10])
1/($vg70_cl200[11]-$vg70_cl200[10])
1/($vg70_cl250[11]-$vg70_cl250[10])
1/($vg70_cl300[11]-$vg70_cl300[10])

$result_Rc_vg80[0]
$result_Rc_vg80[1]
$result_Rc_vg80[2]
$result_Rc_vg80[3]
$result_Rc_vg80[4]
$result_Rc_vg80[5]

=
=
=
=
=
=

1/($vg80_cl40[11]-$vg80_cl40[10])
1/($vg80_cl100[11]-$vg80_cl100[10])
1/($vg80_cl150[11]-$vg80_cl150[10])
1/($vg80_cl200[11]-$vg80_cl200[10])
1/($vg80_cl250[11]-$vg80_cl250[10])
1/($vg80_cl300[11]-$vg80_cl300[10])

Display /W=(375.75,39.5,729,392.75) $result_Rc_vg40 vs $result_CL


appendtograph $result_Rc_vg50 vs $result_CL
appendtograph $result_Rc_vg60 vs $result_CL
appendtograph $result_Rc_vg70 vs $result_CL
appendtograph $result_Rc_vg80 vs $result_CL
ModifyGraph tick=2,mirror=1,minor=1,standoff=0
SetAxis bottom 0,300
SetAxis left 0,$result_Rc_vg40[5]
Label left "\\F'Arial'Contact Resistance (\\F'Symbol'W\\F'Arial')"
Label bottom "\\F'Arial'Channel Length (\\F'Symbol'm\\F'Arial'm)"
ModifyGraph mode=3,marker=8,msize=5
ModifyGraph rgb($result_Rc_vg40)=(0,0,65280),rgb($result_Rc_vg50)=(0,52224,0);De
layUpdate
ModifyGraph rgb($result_Rc_vg60)=(52224,52224,0),rgb($result_Rc_vg70)=(65280,435
20,0)
EndMacro

You might also like