diff --git a/.gitignore b/.gitignore index 04800ed..5981ab9 100644 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,6 @@ dist *.toc *.log *.pdf -*.jpg *.bbl *.bcf *.blg diff --git a/Makefile b/Makefile index 030e605..e69dc1e 100644 --- a/Makefile +++ b/Makefile @@ -7,6 +7,7 @@ WS := wolframscript -f # PDF_DIR := pdfs FIG_DIR := figures +CALC_DIR := calcs ### Here we go # @@ -26,10 +27,23 @@ $(PDF_DIR): mkdir $(PDF_DIR) $(FIG_DIR): mkdir -p $(FIG_DIR) +$(CALC_DIR): + mkdir -p $(CALC_DIR) + +## Figures +# + +FIGURES := $(FIG_DIR)/Cond1Im.jpg +$(FIG_DIR)/Cond1Im.jpg: scripts/Cond1ImFigure.wls + $(WS) scripts/Cond1ImFigure.wls + +FIGURES += $(FIG_DIR)/Cond1Re.jpg +$(FIG_DIR)/Cond1Re.jpg: scripts/Cond1ReFigure.wls + $(WS) scripts/Cond1ReFigure.wls ## Making main.pdf and other pdfs # -$(PDF_DIR)/paper.pdf: paper.tex $(MAIN_PDF_DEPS) | $(PDF_DIR) +$(PDF_DIR)/paper.pdf: paper.tex $(MAIN_PDF_DEPS) | $(PDF_DIR) $(FIGURES) $(LATEXMK) $(= .01 * omega / vf}}]; + +(* Nam stuff *) +makeDimensionlessParams[\[Omega]_, \[Sigma]n_, \[Tau]_, vf_, T_, Tc_] := + With[{\[CapitalDelta] = + 3.06*Sqrt[ + Tc*(Tc - T)]}, <|\[Xi] -> \[Omega]/\[CapitalDelta], \[Nu] -> + 1/(\[CapitalDelta]*\[Tau]), A -> \[Omega]*vf/(1*\[CapitalDelta]), + t -> T/\[CapitalDelta], B -> \[Sigma]n/\[Omega], + C -> vf/\[CapitalDelta]|>]; + + +omega = 1; +tau := .5; +omegaPlasma := 10; +sigmaN := omegaPlasma^2 * tau / (4 * Pi); +vf := 1 +tempCritical := 3 +temp := .9999 * tempCritical +params := makeDimensionlessParams[omega, sigmaN, tau, vf, temp, tempCritical] +Print[params]; + +epsNam2[q_, ps_] := With[ + {k = ps[C] * q}, + 1 + 4 * Pi * I * + ps[B] * \[CapitalSigma][ps[\[Xi]], k, ps[\[Nu]], ps[t]] + ]; + +(* Populates the figures directory as ../figures *) +figuresDirectory = FileNameJoin[{ + ParentDirectory[ + DirectoryName[ + FileNameJoin[{ + Directory[], + $ScriptCommandLine[[1]] + }] + ] + ], "figures" +}]; + +figure[filename_] := FileNameJoin[{figuresDirectory, filename}]; + +plot1 = LogLinearPlot[ {Im@epsEf[q, omega, vf, omegaPlasma, tau], Im@epsNam2[q, params]} , {q, 0, 10^2}, ImageSize -> Large, AxesLabel -> {"q", StringForm["Re[\[Epsilon](q, \[Omega] = 1)]"]}, PlotRange -> All, PlotLegends -> {Lindhard, Nam}, ImagePadding -> {{50, Automatic}, {Automatic, Automatic}}]; + +Export[figure["Cond1Im.jpg"], plot1, ImageResolution -> 1200]; diff --git a/scripts/Cond1ReFigure.wls b/scripts/Cond1ReFigure.wls new file mode 100644 index 0000000..25cd823 --- /dev/null +++ b/scripts/Cond1ReFigure.wls @@ -0,0 +1,67 @@ +Needs["namConductivity`"]; +Needs["namAsymptoticLowKConductivity`"]; + +(* Defines lindhard functions *) +epsL[qP_?NumericQ, omegaP_?NumericQ, vfP_?NumericQ, omegapP_?NumericQ, + tauP_?NumericQ] := + With[{u = (vfP*qP)/omegaP, s = 1/(tauP*omegaP), + prefactor = 3*(omegapP^2)/(omegaP^2)}, + 1 + ((prefactor)/(u^2))*(1 + ((1 + I*s)/(2*u))* + Log[(1 - u + I*s)/(1 + u + I*s)])/(1 + ((I*s)/(2*u))* + Log[(1 - u + I*s)/(1 + u + I*s)])]; +epsSeries[qP_?NumericQ, omegaP_?NumericQ, vfP_?NumericQ, + omegapP_?NumericQ, tauP_?NumericQ] := + With[{u = (vfP*qP)/omegaP, s = 1/(tauP*omegaP), + prefactor = 3*(omegapP^2)/(omegaP^2)}, + 1 + ((prefactor)) ((I/(3*(s - I))) + + u^2*(-9*I + 5*s)/(45*(-I + s)^3))]; +epsEf[q_?NumericQ, omega_?NumericQ, vf_?NumericQ, omegap_?NumericQ, + tau_?NumericQ] := + epsEf[q, omega, vf, omegap, tau] = + Piecewise[{{epsSeries[q, omega, vf, omegap, tau], + q < .01 * omega / vf}, {epsL[q, omega, vf, omegap, tau], + q >= .01 * omega / vf}}]; + +(* Nam stuff *) +makeDimensionlessParams[\[Omega]_, \[Sigma]n_, \[Tau]_, vf_, T_, Tc_] := + With[{\[CapitalDelta] = + 3.06*Sqrt[ + Tc*(Tc - T)]}, <|\[Xi] -> \[Omega]/\[CapitalDelta], \[Nu] -> + 1/(\[CapitalDelta]*\[Tau]), A -> \[Omega]*vf/(1*\[CapitalDelta]), + t -> T/\[CapitalDelta], B -> \[Sigma]n/\[Omega], + C -> vf/\[CapitalDelta]|>]; + + +omega = 1; +tau := .5; +omegaPlasma := 10; +sigmaN := omegaPlasma^2 * tau / (4 * Pi); +vf := 1 +tempCritical := 3 +temp := .9999 * tempCritical +params := makeDimensionlessParams[omega, sigmaN, tau, vf, temp, tempCritical] +Print[params]; + +epsNam2[q_, ps_] := With[ + {k = ps[C] * q}, + 1 + 4 * Pi * I * + ps[B] * \[CapitalSigma][ps[\[Xi]], k, ps[\[Nu]], ps[t]] + ]; + +(* Populates the figures directory as ../figures *) +figuresDirectory = FileNameJoin[{ + ParentDirectory[ + DirectoryName[ + FileNameJoin[{ + Directory[], + $ScriptCommandLine[[1]] + }] + ] + ], "figures" +}]; + +figure[filename_] := FileNameJoin[{figuresDirectory, filename}]; + +plot1 = LogLinearPlot[ {Re@epsEf[q, omega, vf, omegaPlasma, tau], Re@epsNam2[q, params]} , {q, 0, 10^2}, ImageSize -> Large, AxesLabel -> {"q", StringForm["Re[\[Epsilon](q, \[Omega] = 1)]"]}, PlotRange -> All, PlotLegends -> {Lindhard, Nam}, ImagePadding -> {{50, Automatic}, {Automatic, Automatic}}]; + +Export[figure["Cond1Re.jpg"], plot1, ImageResolution -> 1200];