Off[General::spell1] BeginPackage["ERAEvaluate`"] FileName::usage="FileName[Btilde,state] creates the file name for a given value of B(tilde) and state."; BTildeToBTesla::usage="BtildeToBTesla[B,m] converts scaled (tilde) field strengths to physical field strengths measured in tesla."; BTeslaToBTilde::usage="BTeslaToBTilde[B,m] converts physical field strengths (in tesla) to scaled (tilde) field strengths."; BetaToBTilde::usage="BetaToBTilde[beta,m] converts the commonly used parameter beta to scaled (tilde) field strengths."; BTildeToBeta::usage="BtildeToBeta[B,m] converts scaled (tilde) field strengths to the commonly used parameter beta."; BetaToBTesla::usage="BetaToBTesla[B] converts the commonly used parameter beta to physical field strengths measured in tesla."; BTeslaToBeta::usage="BTeslaToBeta[B] converts physical field strengths (in tesla) to the commonly used parameter betra."; EnergyToBindingEnergy::usage="EnergyToBindingEnergy[energy,BTilde,m] converts unscaled energy to binding energy (in Rydbergs)."; DualPlot[coefflist,fitfunction]:="DualPlot[coefflist,fitfunction] plots a list of points and the corresponding fit function on the same plot." Begin["Private`"] FileName::large = "Btilde is too large (must be less than 10,000)."; FileName::small = "Btilde is too small (must be greater than 0.01)."; FileName[B_,statechar_] := Module[ {Bchar}, Bchar=ToString[Round[B*10000]]; filename = "~/thesis/fortran.dir/newpade.dir/coeffs.dir/ecoeffq."; If[B>=.01 && B<=.09999999, Return[StringJoin[filename,statechar,".00000",Bchar]]]; If[B>=0.1 && B<=.99999999, Return[StringJoin[filename,statechar,".0000",Bchar]]]; If[B>=1.0 && B<=9.9999999, Return[StringJoin[filename,statechar,".000",Bchar]]]; If[B>=10.0 && B<=99.99999, Return[StringJoin[filename,statechar,".00",Bchar]]]; If[B>=100.0 && B<=999.999, Return[StringJoin[filename,statechar,".0",Bchar]]]; If[B>=1000.0 && B<=9999.99, Return[StringJoin[filename,statechar,".",Bchar]]]; If[B<.01, Message[FileName::small]; Return[$Failed]]; If[B>=9999.999, Message[FileName::large]; Return[$Failed]]; ] BTildeToBTesla[BTilde_,m_] := BTilde 29375/ (1 + Abs[m])^3 BTildeToBeta[BTilde_,m_] := ScientificForm[(29375/470080) BTilde/(1+Abs[m])^3] BTeslaToBTilde[BTesla_,m_] := BTesla (1+Abs[m])^3/29375 BTeslaToBeta[BTesla_] := BTesla/470080 BetaToBTilde[beta_,m_] := (470080/29375)(1+Abs[m])^3 beta BetaToBTesla[beta_] := 470080 beta EnergyToBindingEnergy[energy_,BTilde_,m_] := -(energy (2+2Abs[m])^-2 - (BTilde/2) (1+Abs[m])/(2+2Abs[m])^3) DualPlot[coefflist_,fitfunction_] := Module[{listplot,fitplot}, listplot = ListPlot[coefflist, PlotRange -> All, DisplayFunction -> Identity]; fitplot = Plot[fitfunction, {x, 1, 4}, DisplayFunction -> Identity]; Show[listplot, fitplot] ] End[] End[] BTeslaToBTilde[32,0] EnergyToBindingEnergy[.222,32,0] BTeslaToBeta[3.44]