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=$sSH_E1

Wave/Z wSH_E2=$sSH_E2

Wave/Z wSH_E3=$sSH_E3

Wave/Z wSH_D1=$sSH_D1

Wave/Z wSH_D2=$sSH_D2

Wave/Z wSH_total=$sSH_total

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_Temp=wSH_E1/wTemp_K

wSH_E2_Temp=wSH_E2/wTemp_K

wSH_E3_Temp=wSH_E3/wTemp_K

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_Temp=wSH_D1/wTemp_K

wSH_D2_Temp=wSH_D2/wTemp_K

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