Igorマクロの墓場†┌┘墓└┐† ~比熱の理論曲線~
泣いているマクロ
むか〜〜〜〜〜〜し作って、使わなくなったマクロの泣き声が聞こえる...😢(クスンクスン)
比熱を解析するとき、デバイモデルを実験データにフィッティングし、そこから電子比熱の寄与を引き出すことがある。6,7年前に、3つのアインシュタインモデルと、2つのデバイモデルをフィットしたいということで、そのモデルに基づいた比熱の理論曲線をつくるマクロを組んだ。この論文みたいなことをやりかった*1。ただ、低温実験をやっていると、室温から100 Kまでの温度域の比熱測定をそんな頻繁にすることがないので、1回だけ使って以来、ずっとパソコンに眠っていた。
そんな過去に葬り去ったマクロを、今日も今日とて供養供養✝️ 🙏
マクロはページの末尾に示したので、コピーして、Procedureにペーストして、コンパイルすればOK😉
コンパイルして、Macros>Debye_and_Einsterin_modelsを選択すると、図1のパネルが現れる。Igorのバージョンの違い、OSの違いによってレイアウトが崩れるらしいけど、そのときは心を研ぎ澄まして🥺

図1 パネルマクロ😊
左の欄は上からアインシュタイン温度1,2,3とデバイ温度1,2で、右の欄は左欄のモデルに対応した振動子の数だよ❗️
とりあえずContinueを押してみよっか❗️❓
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
なにも起きないね😭
じゃあ次は下の欄を見てみようか😉
Allを押してみて❗️❗️

図2 比熱のいろんなグラフ
たくさんグラフが出てきた😲🫢
左から比熱Cの温度T依存性、C/TのT依存性、一番右が格子比熱をT3で割ったもののT依存性。
あとは、適当にパラメータいじって遊んでみよっか❓❓
あまり注意点はないけど、左の欄のそれぞれのモデルの温度を0にセットすれば、そのモデルの比熱は0になるよ。
だから2つのデバイモデルだけでいいのにな〜〜〜と思ったら、アインシュタインモデルの温度は全部0を入力すれば OK
過去に葬り去られた理由
学生から、「今の時代PythonとかJuliaを使えば、ちゃんとフィットしてくれるんで、わざわざ手でぽちぽちすることないですよ」と言われて、必要性を感じなくなったからっていうのもある。
マクロ~これ以外の方法が思い浮かばないよね~
#pragma TextEncoding = "UTF-8"
#pragma rtGlobals=3 // Use modern global access method and strict wave access.
Menu "Macros"
"Debye_and_Einsterin_models", Folder_DandE_models()
end
Function Folder_DandE_models()
if (!DataFolderExists("root:Debye_and_Einstein_models"))
String SaveDF = GetDataFolder(2)
SetDataFolder root:
NewDataFolder/O/S Debye_and_Einstein_models
Make/N=300/D Temp_K, sq_Temp_K2, cu_Temp_K3
Make/N=300/D SH_E1, SH_E1_Temp, SH_E1_Temp3
Make/N=300/D SH_E2, SH_E2_Temp, SH_E2_Temp3
Make/N=300/D SH_E3, SH_E3_Temp, SH_E3_Temp3
Make/N=300/D SH_D1, SH_D1_Temp, SH_D1_Temp3
Make/N=300/D SH_D2, SH_D2_Temp, SH_D2_Temp3
Make/N=300/D SH_total, SH_total_TempK, SH_total_Temp3
Temp_K=10^(log(0.1)+p*(log(300)-log(0.1))/299)
cu_Temp_K3=Temp_K^3
sq_Temp_K2=Temp_K^2
Make/N=100000/D D_func, thetaD_Temp
SetScale/I x 0,50,"", D_func,thetaD_Temp
D_func=x^4*exp(x)*(exp(x)-1)^(-2)
D_func[0]=0
Integrate/METH=1 D_func/D=thetaD_Temp
Variable/G gas_const=8.314462618
Variable/G ET1=30
Variable/G ET2=50
Variable/G ET3=70
Variable/G DT1=300
Variable/G DT2=150
Variable/G nE1=1
Variable/G nE2=0.5
Variable/G nE3=0.1
Variable/G nD1=4
Variable/G nD2=2
SetDataFolder saveDF
endif
D_and_E_fit_panel()
end
Function D_and_E_fit_panel()
PauseUpdate; Silent 1 // building window...
NewPanel /K=1 /W=(1168,462,1443,709) as "D and E model"
DrawLine 6,170,269,170
SetDrawEnv fsize= 16
DrawText 95,191,"New Graph"
SetVariable ET1,pos={8.00,5.00},size={128.00,26.00},bodyWidth=98,title="\\Z16\\f02T\\f00\\BE1"
SetVariable ET1,fSize=16
SetVariable ET1,limits={0,inf,1},value= root:Debye_and_Einstein_models:ET1
SetVariable nE1,pos={141.00,5.00},size={125.00,26.00},bodyWidth=97,title="\\Z16\\f02n\\f00\\BE1"
SetVariable nE1,fSize=16
SetVariable nE1,limits={0,inf,0.1},value= root:Debye_and_Einstein_models:nE1
SetVariable ET2,pos={8.00,32.00},size={128.00,26.00},bodyWidth=98,title="\\Z16\\f02T\\f00\\BE2"
SetVariable ET2,fSize=16
SetVariable ET2,limits={0,inf,1},value= root:Debye_and_Einstein_models:ET2
SetVariable nE2,pos={141.00,32.00},size={125.00,26.00},bodyWidth=97,title="\\Z16\\f02n\\f00\\BE2"
SetVariable nE2,fSize=16
SetVariable nE2,limits={0,inf,0.1},value= root:Debye_and_Einstein_models:nE2
SetVariable ET3,pos={8.00,59.00},size={128.00,26.00},bodyWidth=98,title="\\Z16\\f02T\\f00\\BE3"
SetVariable ET3,fSize=16
SetVariable ET3,limits={0,inf,1},value= root:Debye_and_Einstein_models:ET3
SetVariable nE3,pos={141.00,59.00},size={125.00,26.00},bodyWidth=97,title="\\Z16\\f02n\\f00\\BE3"
SetVariable nE3,fSize=16
SetVariable nE3,limits={0,inf,0.1},value= root:Debye_and_Einstein_models:nE3
SetVariable DT1,pos={7.00,86.00},size={129.00,26.00},bodyWidth=98,title="\\Z16\\f02θ\\f00\\BD1"
SetVariable DT1,fSize=16,value= root:Debye_and_Einstein_models:DT1
SetVariable nD1,pos={139.00,86.00},size={127.00,26.00},bodyWidth=97,title="\\Z16\\f02n\\f00\\BD1"
SetVariable nD1,fSize=16
SetVariable nD1,limits={0,inf,0.1},value= root:Debye_and_Einstein_models:nD1
SetVariable DT2,pos={7.00,113.00},size={129.00,26.00},bodyWidth=98,title="\\Z16\\f02θ\\f00\\BD2"
SetVariable DT2,fSize=16,value= root:Debye_and_Einstein_models:DT2
SetVariable nD2,pos={139.00,113.00},size={127.00,26.00},bodyWidth=97,title="\\Z16\\f02n\\f00\\BD2"
SetVariable nD2,fSize=16
SetVariable nD2,limits={0,inf,0.1},value= root:Debye_and_Einstein_models:nD2
Button Continu,pos={86.00,143.00},size={98.00,20.00},proc=set_parameter_D_and_E_model,title="Continue"
Button Continu,fSize=16
Button All_plot,pos={32.00,192.00},size={98.00,20.00},proc=all_plot,title="All"
Button All_plot,fSize=16
Button CvsT,pos={148.00,192.00},size={98.00,20.00},proc=Plot_CvsT,title="C vs T"
Button CvsT,fSize=16
Button CT_Temp2,pos={32.00,219.00},size={98.00,20.00},proc=Plot_CTvsT2,title="C/T ve T2"
Button CT_Temp2,fSize=16
Button Clat_T3,pos={148.00,219.00},size={98.00,20.00},proc=Plot_ClatT2vsT,title="Clat/T3 vs T"
Button Clat_T3,fSize=16
end
Function set_parameter_D_and_E_model(ctrlName)
String ctrlName
String sTemp_K="root:Debye_and_Einstein_models:Temp_K"
string ssq_Temp_K2="root:Debye_and_Einstein_models:sq_Temp_K2"
string scu_Temp_K3="root:Debye_and_Einstein_models:cu_Temp_K3"
string sthetaD_Temp="root:Debye_and_Einstein_models:thetaD_Temp"
String sSH_E1="root:Debye_and_Einstein_models:SH_E1"
String sSH_E2="root:Debye_and_Einstein_models:SH_E2"
String sSH_E3="root:Debye_and_Einstein_models:SH_E3"
String sSH_D1="root:Debye_and_Einstein_models:SH_D1"
String sSH_D2="root:Debye_and_Einstein_models:SH_D2"
String sSH_total="root:Debye_and_Einstein_models:SH_total"
String sSH_E1_Temp="root:Debye_and_Einstein_models:SH_E1_Temp"
String sSH_E2_Temp="root:Debye_and_Einstein_models:SH_E2_Temp"
String sSH_E3_Temp="root:Debye_and_Einstein_models:SH_E3_Temp"
String sSH_D1_Temp="root:Debye_and_Einstein_models:SH_D1_Temp"
String sSH_D2_Temp="root:Debye_and_Einstein_models:SH_D2_Temp"
String sSH_total_TempK="root:Debye_and_Einstein_models:SH_total_TempK"
String sSH_E1_Temp3="root:Debye_and_Einstein_models:SH_E1_Temp3"
String sSH_E2_Temp3="root:Debye_and_Einstein_models:SH_E2_Temp3"
String sSH_E3_Temp3="root:Debye_and_Einstein_models:SH_E3_Temp3"
String sSH_D1_Temp3="root:Debye_and_Einstein_models:SH_D1_Temp3"
String sSH_D2_Temp3="root:Debye_and_Einstein_models:SH_D2_Temp3"
String sSH_total_Temp3="root:Debye_and_Einstein_models:SH_total_Temp3"
NVAR vET1=root:Debye_and_Einstein_models:ET1
NVAR vET2=root:Debye_and_Einstein_models:ET2
NVAR vET3=root:Debye_and_Einstein_models:ET3
NVAR vDT1=root:Debye_and_Einstein_models:DT1
NVAR vDT2=root:Debye_and_Einstein_models:DT2
NVAR vnE1=root:Debye_and_Einstein_models:nE1
NVAR vnE2=root:Debye_and_Einstein_models:nE2
NVAR vnE3=root:Debye_and_Einstein_models:nE3
NVAR vnD1=root:Debye_and_Einstein_models:nD1
NVAR vnD2=root:Debye_and_Einstein_models:nD2
NVAR vgas_const=root:Debye_and_Einstein_models:gas_const
Variable gas_const=vgas_const
Variable ET1=vET1
Variable ET2=vET2
Variable ET3=vET3
Variable DT1=vDT1
Variable DT2=vDT2
Variable nE1=vnE1
Variable nE2=vnE2
Variable nE3=vnE3
Variable nD1=vnD1
Variable nD2=vnD2
Calculate_Specific_Heat(sTemp_K,sthetaD_Temp,scu_Temp_K3,sSH_E1,sSH_E2,sSH_E3,sSH_D1,sSH_D2,sSH_total,sSH_E1_Temp3,sSH_E2_Temp3,sSH_E3_Temp3,sSH_D1_Temp3,sSH_D2_Temp3,sSH_total_Temp3,ET1,ET2,ET3,DT1,DT2,nE1,nE2,nE3,nD1,nD2,gas_const,ssq_Temp_K2,sSH_E1_Temp,sSH_E2_Temp,sSH_E3_Temp,sSH_D1_Temp,sSH_D2_Temp,sSH_total_TempK)
End
//Calculate specific heat
Function Calculate_Specific_Heat(sTemp_K,sthetaD_Temp,scu_Temp_K3,sSH_E1,sSH_E2,sSH_E3,sSH_D1,sSH_D2,sSH_total,sSH_E1_Temp3,sSH_E2_Temp3,sSH_E3_Temp3,sSH_D1_Temp3,sSH_D2_Temp3,sSH_total_Temp3,ET1,ET2,ET3,DT1,DT2,nE1,nE2,nE3,nD1,nD2,gas_const,ssq_Temp_K2,sSH_E1_Temp,sSH_E2_Temp,sSH_E3_Temp,sSH_D1_Temp,sSH_D2_Temp,sSH_total_TempK)
Variable gas_const
Variable ET1
Variable ET2
Variable ET3
Variable DT1
Variable DT2
Variable nE1
Variable nE2
Variable nE3
Variable nD1
Variable nD2
String sTemp_K
String sthetaD_Temp
String ssq_Temp_K2
String scu_Temp_K3
String sSH_E1
String sSH_E2
String sSH_E3
String sSH_D1
String sSH_D2
String sSH_total
String sSH_E1_Temp
String sSH_E2_Temp
String sSH_E3_Temp
String sSH_D1_Temp
String sSH_D2_Temp
String sSH_total_TempK
String sSH_E1_Temp3
String sSH_E2_Temp3
String sSH_E3_Temp3
String sSH_D1_Temp3
String sSH_D2_Temp3
String sSH_total_Temp3
Wave/Z wTemp_K=$sTemp_K
Wave/Z wsq_Temp_K2=$ssq_Temp_K2
Wave/Z wcu_Temp_K3=$scu_Temp_K3
Wave/Z wthetaD_Temp=$sthetaD_Temp
Wave/Z wSH_E1_Temp=$sSH_E1_Temp
Wave/Z wSH_E2_Temp=$sSH_E2_Temp
Wave/Z wSH_E3_Temp=$sSH_E3_Temp
Wave/Z wSH_D1_Temp=$sSH_D1_Temp
Wave/Z wSH_D2_Temp=$sSH_D2_Temp
Wave/Z wSH_total_TempK=$sSH_total_TempK
Wave/Z wSH_E1_Temp3=$sSH_E1_Temp3
Wave/Z wSH_E2_Temp3=$sSH_E2_Temp3
Wave/Z wSH_E3_Temp3=$sSH_E3_Temp3
Wave/Z wSH_D1_Temp3=$sSH_D1_Temp3
Wave/Z wSH_D2_Temp3=$sSH_D2_Temp3
Wave/Z wSH_total_Temp3=$sSH_total_Temp3
if(ET1==0)
wSH_E1=0
else
wSH_E1=3*nE1*gas_const*(ET1/wTemp_K)^2*exp(ET1/wTemp_K)*(exp(ET1/wTemp_K)-1)^(-2)
wSH_E1=NumType(wSH_E1[p])== 2 ? 0:wSH_E1
endif
if(ET2==0)
wSH_E2=0
else
wSH_E2=3*nE2*gas_const*(ET2/wTemp_K)^2*exp(ET2/wTemp_K)*(exp(ET2/wTemp_K)-1)^(-2)
wSH_E2=NumType(wSH_E2[p])== 2 ? 0:wSH_E2
endif
if(ET3==0)
wSH_E3=0
else
wSH_E3=3*nE3*gas_const*(ET3/wTemp_K)^2*exp(ET3/wTemp_K)*(exp(ET3/wTemp_K)-1)^(-2)
wSH_E3[]=NumType(wSH_E3[p])== 2 ? 0:wSH_E3
endif
wSH_E1_Temp3=wSH_E1/wcu_Temp_K3
wSH_E2_Temp3=wSH_E2/wcu_Temp_K3
wSH_E3_Temp3=wSH_E3/wcu_Temp_K3
variable i
Variable DT1_TempK,DT2_TempK
if(DT1==0)
wSH_D1=0
else
for(i=1;i<=numpnts(wTemp_K);i++)
DT1_TempK=DT1/wTemp_K[i-1]
if(DT1_TempK>50)
wSH_D1[i-1]=9*nD1*gas_const*(wTemp_K[i-1]/DT1)^3*25.97575760906469
else
wSH_D1[i-1]=9*nD1*gas_const*(wTemp_K[i-1]/DT1)^3*wthetaD_Temp(DT1_TempK)
endif
endfor
endif
if(DT2==0)
wSH_D2=0
else
for(i=1;i<=numpnts(wTemp_K);i++)
DT2_TempK=DT2/wTemp_K[i-1]
if(DT2_TempK>50)
wSH_D2[i-1]=9*nD2*gas_const*(wTemp_K[i-1]/DT2)^3*25.97575760906469
else
wSH_D2[i-1]=9*nD2*gas_const*(wTemp_K[i-1]/DT2)^3*wthetaD_Temp(DT2_TempK)
endif
endfor
endif
wSH_D1_Temp3=wSH_D1/wcu_Temp_K3
wSH_D2_Temp3=wSH_D2/wcu_Temp_K3
wSH_total=wSH_E1+wSH_E2+wSH_E3+wSH_D1+wSH_D2
wSH_total_TempK=wSH_total/wTemp_K
wSH_total_Temp3=wSH_total/wcu_Temp_K3
End
Function all_plot(ctrlName)
String ctrlName
PauseUpdate; Silent 1 // building window...
Display /W=(347,65,667,338) root:Debye_and_Einstein_models:SH_total vs root:Debye_and_Einstein_models:Temp_K as "SH_vs_Temp"
AppendToGraph root:Debye_and_Einstein_models:SH_D1 vs root:Debye_and_Einstein_models:Temp_K
AppendToGraph root:Debye_and_Einstein_models:SH_D2 vs root:Debye_and_Einstein_models:Temp_K
AppendToGraph root:Debye_and_Einstein_models:SH_E1 vs root:Debye_and_Einstein_models:Temp_K
AppendToGraph root:Debye_and_Einstein_models:SH_E2 vs root:Debye_and_Einstein_models:Temp_K
AppendToGraph root:Debye_and_Einstein_models:SH_E3 vs root:Debye_and_Einstein_models:Temp_K
ModifyGraph marker=8
ModifyGraph rgb(SH_total)=(0,0,0),rgb(SH_D2)=(65535,43690,0),rgb(SH_E1)=(16385,49025,65535)
ModifyGraph rgb(SH_E2)=(1,16019,65535),rgb(SH_E3)=(29524,1,58982)
ModifyGraph msize=3
ModifyGraph mrkThick=1
ModifyGraph opaque=1
ModifyGraph tick=2
ModifyGraph mirror=1
ModifyGraph font="Helvetica"
ModifyGraph fSize=16
ModifyGraph lblMargin(left)=18,lblMargin(bottom)=10
ModifyGraph standoff=0
ModifyGraph notation=1
Label left "\\f02C\\f00 (J/mol K)"
Label bottom "\\f02T\\f00 (K)"
Legend/C/N=text0/J/F=0/B=1/A=MC/X=-35.02/Y=28.50 "\\s(SH_total) Total\r\\s(SH_D1) D1\r\\s(SH_D2) D2\r\\s(SH_E1) E1\r\\s(SH_E2) E2\r\\s(SH_E3) E3"
PauseUpdate; Silent 1 // building window...
Display /W=(668,65,988,338) root:Debye_and_Einstein_models:SH_total_TempK vs root:Debye_and_Einstein_models:sq_Temp_K2 as "SH_Temp_vs_Temp"
AppendToGraph root:Debye_and_Einstein_models:SH_D1_Temp vs root:Debye_and_Einstein_models:sq_Temp_K2
AppendToGraph root:Debye_and_Einstein_models:SH_D2_Temp vs root:Debye_and_Einstein_models:sq_Temp_K2
AppendToGraph root:Debye_and_Einstein_models:SH_E1_Temp vs root:Debye_and_Einstein_models:sq_Temp_K2
AppendToGraph root:Debye_and_Einstein_models:SH_E2_Temp vs root:Debye_and_Einstein_models:sq_Temp_K2
AppendToGraph root:Debye_and_Einstein_models:SH_E3_Temp vs root:Debye_and_Einstein_models:sq_Temp_K2
ModifyGraph marker=8
ModifyGraph rgb(SH_total_TempK)=(0,0,0),rgb(SH_D2_Temp)=(65535,43690,0),rgb(SH_E1_Temp)=(16385,49025,65535)
ModifyGraph rgb(SH_E2_Temp)=(1,16019,65535),rgb(SH_E3_Temp)=(29524,1,58982)
ModifyGraph msize=3
ModifyGraph mrkThick=1
ModifyGraph opaque=1
ModifyGraph tick=2
ModifyGraph mirror=1
ModifyGraph font="Helvetica"
ModifyGraph fSize=16
ModifyGraph lblMargin(left)=18,lblMargin(bottom)=10
ModifyGraph standoff=0
ModifyGraph notation=1
Label left "\\f02C\\f00/\\f02T\\f00 (J/mol K\\S2\\M)"
Label bottom "\\f02T\\f00\\S2\\M (K\\S2\\M)"
Legend/C/N=text0/J/F=0/B=1/A=MC/X=23.22/Y=26.37 "\\s(SH_total_TempK) Total\r\\s(SH_D1_Temp) D1\r\\s(SH_D2_Temp) D2\r\\s(SH_E1_Temp) E1\r\\s(SH_E2_Temp) E2"
AppendText "\\s(SH_E3_Temp) E3"
PauseUpdate; Silent 1 // building window...
Display /W=(989,65,1309,338) root:Debye_and_Einstein_models:SH_total_Temp3 vs root:Debye_and_Einstein_models:Temp_K as "Clat_T3_ve_Temp"
AppendToGraph root:Debye_and_Einstein_models:SH_D1_Temp3 vs root:Debye_and_Einstein_models:Temp_K
AppendToGraph root:Debye_and_Einstein_models:SH_D2_Temp3 vs root:Debye_and_Einstein_models:Temp_K
AppendToGraph root:Debye_and_Einstein_models:SH_E1_Temp3 vs root:Debye_and_Einstein_models:Temp_K
AppendToGraph root:Debye_and_Einstein_models:SH_E2_Temp3 vs root:Debye_and_Einstein_models:Temp_K
AppendToGraph root:Debye_and_Einstein_models:SH_E3_Temp3 vs root:Debye_and_Einstein_models:Temp_K
ModifyGraph marker=8
ModifyGraph rgb(SH_total_Temp3)=(0,0,0),rgb(SH_D2_Temp3)=(65535,43690,0),rgb(SH_E1_Temp3)=(16385,49025,65535)
ModifyGraph rgb(SH_E2_Temp3)=(1,16019,65535),rgb(SH_E3_Temp3)=(29524,1,58982)
ModifyGraph msize=3
ModifyGraph mrkThick=1
ModifyGraph opaque=1
ModifyGraph muloffset(SH_total_Temp3)={0,1000},muloffset(SH_D1_Temp3)={0,1000},muloffset(SH_D2_Temp3)={0,1000}
ModifyGraph muloffset(SH_E1_Temp3)={0,1000},muloffset(SH_E2_Temp3)={0,1000},muloffset(SH_E3_Temp3)={0,1000}
ModifyGraph log(bottom)=1
ModifyGraph tick=2
ModifyGraph mirror=1
ModifyGraph font="Helvetica"
ModifyGraph fSize=16
ModifyGraph lblMargin(left)=9,lblMargin(bottom)=10
ModifyGraph standoff=0
ModifyGraph notation=1
Label left "\\f02C\\f00\\Blat\\M/\\f02T\\f00\\S3\\M (mJ/mol K\\S4\\M)"
Label bottom "\\f02T\\f00 (K)"
Legend/C/N=text0/J/F=0/B=1/A=MC/X=27.52/Y=27.05 "\\s(SH_total_Temp3) Total\r\\s(SH_D1_Temp3) D1\r\\s(SH_D2_Temp3) D2\r\\s(SH_E1_Temp3) E1\r\\s(SH_E2_Temp3) E2"
AppendText "\\s(SH_E3_Temp3) E3"
end
Function Plot_CvsT(ctrlName)
String ctrlName
PauseUpdate; Silent 1 // building window...
Display /W=(347,65,667,338) root:Debye_and_Einstein_models:SH_total vs root:Debye_and_Einstein_models:Temp_K as "SH_vs_Temp"
AppendToGraph root:Debye_and_Einstein_models:SH_D1 vs root:Debye_and_Einstein_models:Temp_K
AppendToGraph root:Debye_and_Einstein_models:SH_D2 vs root:Debye_and_Einstein_models:Temp_K
AppendToGraph root:Debye_and_Einstein_models:SH_E1 vs root:Debye_and_Einstein_models:Temp_K
AppendToGraph root:Debye_and_Einstein_models:SH_E2 vs root:Debye_and_Einstein_models:Temp_K
AppendToGraph root:Debye_and_Einstein_models:SH_E3 vs root:Debye_and_Einstein_models:Temp_K
ModifyGraph marker=8
ModifyGraph rgb(SH_total)=(0,0,0),rgb(SH_D2)=(65535,43690,0),rgb(SH_E1)=(16385,49025,65535)
ModifyGraph rgb(SH_E2)=(1,16019,65535),rgb(SH_E3)=(29524,1,58982)
ModifyGraph msize=3
ModifyGraph mrkThick=1
ModifyGraph opaque=1
ModifyGraph tick=2
ModifyGraph mirror=1
ModifyGraph font="Helvetica"
ModifyGraph fSize=16
ModifyGraph lblMargin(left)=18,lblMargin(bottom)=10
ModifyGraph standoff=0
ModifyGraph notation=1
Label left "\\f02C\\f00 (J/mol K)"
Label bottom "\\f02T\\f00 (K)"
Legend/C/N=text0/J/F=0/B=1/A=MC/X=-35.02/Y=28.50 "\\s(SH_total) Total\r\\s(SH_D1) D1\r\\s(SH_D2) D2\r\\s(SH_E1) E1\r\\s(SH_E2) E2\r\\s(SH_E3) E3"
end
Function Plot_CTvsT2(ctrlName)
String ctrlName
PauseUpdate; Silent 1 // building window...
Display /W=(668,65,988,338) root:Debye_and_Einstein_models:SH_total_TempK vs root:Debye_and_Einstein_models:sq_Temp_K2 as "SH_Temp_vs_Temp"
AppendToGraph root:Debye_and_Einstein_models:SH_D1_Temp vs root:Debye_and_Einstein_models:sq_Temp_K2
AppendToGraph root:Debye_and_Einstein_models:SH_D2_Temp vs root:Debye_and_Einstein_models:sq_Temp_K2
AppendToGraph root:Debye_and_Einstein_models:SH_E1_Temp vs root:Debye_and_Einstein_models:sq_Temp_K2
AppendToGraph root:Debye_and_Einstein_models:SH_E2_Temp vs root:Debye_and_Einstein_models:sq_Temp_K2
AppendToGraph root:Debye_and_Einstein_models:SH_E3_Temp vs root:Debye_and_Einstein_models:sq_Temp_K2
ModifyGraph marker=8
ModifyGraph rgb(SH_total_TempK)=(0,0,0),rgb(SH_D2_Temp)=(65535,43690,0),rgb(SH_E1_Temp)=(16385,49025,65535)
ModifyGraph rgb(SH_E2_Temp)=(1,16019,65535),rgb(SH_E3_Temp)=(29524,1,58982)
ModifyGraph msize=3
ModifyGraph mrkThick=1
ModifyGraph opaque=1
ModifyGraph tick=2
ModifyGraph mirror=1
ModifyGraph font="Helvetica"
ModifyGraph fSize=16
ModifyGraph lblMargin(left)=18,lblMargin(bottom)=10
ModifyGraph standoff=0
ModifyGraph notation=1
Label left "\\f02C\\f00/\\f02T\\f00 (J/mol K\\S2\\M)"
Label bottom "\\f02T\\f00\\S2\\M (K\\S2\\M)"
Legend/C/N=text0/J/F=0/B=1/A=MC/X=23.22/Y=26.37 "\\s(SH_total_TempK) Total\r\\s(SH_D1_Temp) D1\r\\s(SH_D2_Temp) D2\r\\s(SH_E1_Temp) E1\r\\s(SH_E2_Temp) E2"
AppendText "\\s(SH_E3_Temp) E3"
end
Function Plot_ClatT2vsT(ctrlName)
String ctrlName
PauseUpdate; Silent 1 // building window...
Display /W=(989,65,1309,338) root:Debye_and_Einstein_models:SH_total_Temp3 vs root:Debye_and_Einstein_models:Temp_K as "Clat_T3_ve_Temp"
AppendToGraph root:Debye_and_Einstein_models:SH_D1_Temp3 vs root:Debye_and_Einstein_models:Temp_K
AppendToGraph root:Debye_and_Einstein_models:SH_D2_Temp3 vs root:Debye_and_Einstein_models:Temp_K
AppendToGraph root:Debye_and_Einstein_models:SH_E1_Temp3 vs root:Debye_and_Einstein_models:Temp_K
AppendToGraph root:Debye_and_Einstein_models:SH_E2_Temp3 vs root:Debye_and_Einstein_models:Temp_K
AppendToGraph root:Debye_and_Einstein_models:SH_E3_Temp3 vs root:Debye_and_Einstein_models:Temp_K
ModifyGraph marker=8
ModifyGraph rgb(SH_total_Temp3)=(0,0,0),rgb(SH_D2_Temp3)=(65535,43690,0),rgb(SH_E1_Temp3)=(16385,49025,65535)
ModifyGraph rgb(SH_E2_Temp3)=(1,16019,65535),rgb(SH_E3_Temp3)=(29524,1,58982)
ModifyGraph msize=3
ModifyGraph mrkThick=1
ModifyGraph opaque=1
ModifyGraph muloffset(SH_total_Temp3)={0,1000},muloffset(SH_D1_Temp3)={0,1000},muloffset(SH_D2_Temp3)={0,1000}
ModifyGraph muloffset(SH_E1_Temp3)={0,1000},muloffset(SH_E2_Temp3)={0,1000},muloffset(SH_E3_Temp3)={0,1000}
ModifyGraph log(bottom)=1
ModifyGraph tick=2
ModifyGraph mirror=1
ModifyGraph font="Helvetica"
ModifyGraph fSize=16
ModifyGraph lblMargin(left)=9,lblMargin(bottom)=10
ModifyGraph standoff=0
ModifyGraph notation=1
Label left "\\f02C\\f00\\Blat\\M/\\f02T\\f00\\S3\\M (mJ/mol K\\S4\\M)"
Label bottom "\\f02T\\f00 (K)"
Legend/C/N=text0/J/F=0/B=1/A=MC/X=27.52/Y=27.05 "\\s(SH_total_Temp3) Total\r\\s(SH_D1_Temp3) D1\r\\s(SH_D2_Temp3) D2\r\\s(SH_E1_Temp3) E1\r\\s(SH_E2_Temp3) E2"
AppendText "\\s(SH_E3_Temp3) E3"
end