My Mathematica notebooks.

Here is a listing of my mathematica notebooks. The most recent of any of these notebooks can all be obtained from my github Mathematica repository.

The Wolfram CDF player can also be used to view a number of these notebooks after download.

• Sep 11, 2013 phy487/legengreCompare.nb

This was an attempt to decode the notation used in Desai for the Legendre functions used for Hydrogenic atoms. He defines the orbital functions in terms of Legendre functions, but does not precisely define his Legendre functions.

• Sept 19, 2013 phy487/qmSolidsPs1P2.nb

Hybrid orbital plots

• Sept 19, 2013 phy487/qmSolidsPs1P3b.nb

• Sept 24, 2013 phy487/problemSet2Problem3Visualization.nb

Visualize the Bravais lattice given

• Sept 25, 2013 phy487/meltingPointVsZplots.nb

Plots of melting points in Kelvin vs Z

• Sept 29, 2013 phy487/qmSolidsPs3P1.nb

Reciprocal vector calculation from measurements

• Oct 7, 2013 phy487/periodicComplexExponentialPV.nb

Plot of infinite sum of exponentials showing periodic sinc form. Also diagonalization of the interaction matrix for three harmonically coupled particles in a loop

• Oct 9, 2013 phy487/qmSolidsPs4P2dGenerated.nb

Labeled plots of 1D two spring constant lattice frequency distributions. This is a generated notebook.

• Oct 10, 2013 phy487/IbachAndLuth4_15_verify.nb

Verify equation 4.15 of the text, for the frequencies of the diatomic linear chain

• Oct 10, 2013 phy487/qmSolidsPs4P2d.nb

Plots of 1D two spring constant lattice frequency distributions

• Oct 10, 2013 phy487/qmSolidsPs4P2cAnimation.nb

Dynamic animation of two atom harmonic oscillation

• Oct 11, 2013 phy487/discreteFourierRangeFig1.nb

Plot of sine with omitted points at integer multiples of pi.

• Oct 15, 2013 phy487/ps5p1Plot.nb

Plot calculated density of states function

• Oct 17, 2013 phy487/deybeTemperatureTable.nb

Debye temperature plot for a number of elements, and atomic radius plot. Using hash like function mappings, and ElementData. Also used colors in these plots to visually distinguish each of the s, p, d, f orbital regions. For a less selective atomic radii plotting function, I used Cases and pattern matching to filter out the ElementData values that were missing or unavailable. In a final version of the plotting function, overlapped atomic radii and Debye plots were made. A static image of that plot is saved into the notes for discussion, but the live notebook version has cool ToolTip's on all the points showing the atomic symbols and the values in question.

• Oct 20, 2013 phy487/anharmonicOscillator.nb

Plot of anharmonic oscillator solution for problem 5.5 of the text

• Oct 29, 2013 phy487/fermiDiracPlot.nb

Plots of the Fermi-Dirac distribution and its derivatives. Includes one Manipulate for exploring the effect of temperature dynamically

• Nov 3, 2013 phy487/problemSet6Problem1.nb

Numeric calculation of Fermi temperature and related values. Various wolfram queries were done here to look up the values and units. Also used Column and Row to make tables of the physical constants and the associated calculations.

• Nov 4, 2013 phy487/problemSet6Problem2CheckNormalization.nb

Minor normalization check for particle in a box calculations.

• Nov 4, 2013 phy487/tightBindingPotentials.nb

Plots of periodic extension of inverse radial potential, with and without omission of one such potential

• Nov 7, 2013 phy487/latticePotential.nb

Attempt at a 2D lattice fitting.

A radial cap for an inverse radial function. This may have been for a stackexchange post, since I was seeing a discontinuity in the plot that should not have existed. Looks like I found a post that explained things.

1D inverse radial lattice Fourier fitting, with cubic rounding part way down the infinite hole.

Attempt at 2D Fourier fitting of capped radial.

The reason for some of these inverse radial Fourier fitting attempts was because I wanted to compute the Fourier coefficients for some sample periodic potentials for some numerical experimentation. Naturally, the first one that I tried was an inverse radial potential, however, it turns out that this isn't re presentable by Fourier series since it is not square integrable.

It is possible to artificially alter the Coulomb potential so that some neighborhood of the origin is omitted, setting the potential to some constant value after that, but that doesn't seem like a physically reasonable model. Asking Prof Julian about this he said:

"There are two effects, one is that the potential doesn't go to -infty at the origin, due to Pauli exclusion. As you suggest, putting a flat bottom on the potential probably works okay. But also, due to screening (in a metal at least) the potential isn't 1/r, but rather it cuts off more quickly.

A commonly used compromise is the "muffin tin potential, which has a flat bottom in a sphere around the atomic position, then a step up to another flat region between the atoms. In solving this one puts a linear combination of spherical harmonics inside the muffin tin, and plane waves in the interstitial region, and match them at the boundary.

But putting a flat bottom on a screened Coulomb potential is probably a reasonable first thing to try."

I appear to have hit convergence issues attempting the Fourier fittings for such a cap in a more interesting 2D lattice.

• Nov 12, 2013 phy487/nearlyFreeFig1.nb

Parabolic Brillouin zone plots

• Nov 12, 2013 phy487/nearlyFreeFig1GeneratedLabelled.nb

Generated notebook with saved label definitions

• Nov 13, 2013 phy487/problemSet7problem2c.nb

Summation that lead to the cotangent result and intersection plot

• Nov 13, 2013 phy487/problemset7problem2dNormalization.nb

Cos squared normalization

• Nov 13, 2013 phy487/ps7p2dPlots.nb

Sine and Cos plots. Ended up sketching instead

• Nov 13, 2013 phy487/ps7p2ePlot.nb

A manipulate to explore the variation with k at point a in the problem. Also some representative plots for the submission

• Nov 16, 2013 phy487/hcpLatticeDataBugReport.nb

Report a bug for Mathematica HCP LatticeData function

• Nov 17, 2013 phy487/2dFourierColorizationBugReport.nb

FourierSeries Mathematica colorizing front end UI bug report

Second attempt to get the computation of 2D FourierSeries computed for cubic capped inverse radial function. Mathematica gives up the computation after a long delay

• Nov 18, 2013 phy487/guassianPlotsL18L19.nb

Minor plots of Gaussians for L18 and L19

• Nov 18, 2013 phy487/qmSolidsPs8bPlots.nb

Plot generator for ps8 b

• Nov 18, 2013 phy487/qmSolidsPs8biFig1Generated.nb

Ps8 i Plot with labels, generated

• Nov 18, 2013 phy487/qmSolidsPs8biiFig2Generated.nb

Ps8 ii Plot with labels, generated

• Nov 18, 2013 phy487/qmSolidsPs8biiiFig3Generated.nb

Ps8 iii Plot with labels, generated

• Nov 19, 2013 phy487/qmSolidsPs8dContourPlot.nb

Contour plot of tight binding energy level curves. Used the really handy getTheGraphics function from stackexchange for combining the plot with the legend in one graphics object

• Nov 19, 2013 phy487/qmSolidsPs8dFig1Generated.nb

Manually labeled the level curves instead, with the energies. This generated notebook has the labeling data.

• Nov 20, 2013 phy487/ps8e.nb

Scratch notes and plots for ps8.e

• Nov 25, 2013 phy487/ps9p2deFigures.nb

Ps9 figures for q2

• Nov 26, 2013 phy487/bccBasisVectors.nb

Look for BCC basis vectors. First try was wrong, but found suitable vectors with small correction. This verifies that the new ones work, and also finds the reciprocal basis. Also used this notebook to experiment with the Report stylesheet, mixing text, inline math, and math cells in one doc. End result looks much nicer than a plain styled notebook.

• Nov 26, 2013 phy487/ps9p1bFigures.nb

Simple plot of the cubic lattice BZ overlaid with Fermi wave-vector radial surface.

• Nov 30, 2013 phy487/bccTwoBases.nb

Aborted attempt to write up a nicely formatted Report for the verification of an Ashcroft and Mermin suggested exercise.

• Dec 1, 2013 phy487/fermiInfoForElementOrig.nb

This notebook generalizes the notebook for problem set 6, problem 1, which had a Fermi energy/temperature calculation. This splits out the generic physical constants, and splits out the ElementData and ChemicalData lookup. The subsequent calculation and formatting of the data was split somewhat. It would be worthwhile to experiment with reworking this to use Rule lists, like perl hashes, to tag the various fields with names, which would make the parameter passing more flexible.

• Dec 1, 2013 phy487/lecture22SemiconductorIntegrals.nb

Sqrt exponential integral ... probably a gamma function.

• Dec 2, 2013 phy487/fermiInfoForElement.nb

Rework fermiInfoForElementOrig.nb passing parameters by hashes, ie. Rule Lists. As expected, this was a much cleaner result, as the huge lists of Module local variables are not required passing along the previous phases of the computations. In the end, the descriptive Rule List can be used directly as a ReplaceAll on the values List, with all the grunt work of the display done by a single Rule to List, and TableFormat operation.

• Dec 4, 2013 phy487/ps10plots.nb

Log concentration vs. inverse temperature and some physical constant lookup and order of magnitude calculations.

• Dec 9, 2013 phy487/weakBindingPotentialNearBraggPlane.nb

A Dynamic visualization of the Bragg plane behavior of a weak periodic potential. Sliders provided for K, and U as a fraction of K, are provided

• Dec 13, 2013 phy487/rasterizeAntialiasInset.nb

Experimentation with rasterizing only the 3D plot part of a 3D plot, and not the axes. This was to attempt to produce a small Mathematica plot of stuff that ends up huge when plotted as eps

• Dec 13, 2013 phy487/rasterizeAntialiasInsetExperiment.nb

Like rasterizeAntialiasInset.nb, but with a plotopts function. Should have noted the stackexchange post I was attempting to use.

• Dec 18, 2013 phy487/coupledHarmonicUsingDisplacements.nb

Verified a hand calculated solution for a non-homogeneous form of the single variable harmonic oscillator. Realized after this that a more sensible approach would have been to just make a change of variables.

• Dec 20, 2013 phy487/harmonicOscillatorTwoMasses.cdf

An animation of a two particle harmonic oscillator, considered as the most simple lattice problem. This highlighted a problem, where the masses passed through each other, since I did not include a rest length of the spring in the Lagrangian.

• Dec 31, 2013 phy487/determinantOfLambdaIminusAfor3Dmatrix.nb

A check if the determinant and trace expansion for the characteristic equation of A - lambda I holds in 3D. It does not. This shows the structure, but not the underlying mechanism for a general expansion.

• Jan 12, 2014 phy487/oneAtomBasisPhononSquareLatticeEigensystem.nb

Here's a bit of a laborious symbolic calculation that I messed up by hand with, phy487/oneAtomBasisPhonon.tex

• Feb 17, 2014 phy487/PhononModesFor2DLatticeVibrationsV4.nb

N atom basis diamond lattice calculations. Allows up to 5 mass locators in the grid and a vector parameterized parallelepiped lattice cell. This uses TabView and Nasser's tricks to avoid evaluation where undesirable. This also includes the distribution relation. This is my most sophisticated sample of Mathematica programming so far.