Peeter Joot's (OLD) Blog.

Math, physics, perl, and programming obscurity.

Posts Tagged ‘Wolfram CDF player’

Starting a new blog:

Posted by peeterjoot on May 21, 2014

If you came here looking for new blog posts on obscure math, physics, and computer programming, please check out  There you will find stuff including:

  • Notes from courses I am taking at UofT (part time ECE M.Eng in electromagnetics), such as Modelling of Multiphysics Systems.
  • An enumeration of other things I have written, including archives of all the individual pdfs that I have posted over the years along with my blog entries.  All these pdfs are now stored directly on the new site.  I will no longer be posting new content to any of my (three) google sites pages, nor will I be updating anything previously posted there. If you are looking for any corrections I may or may not have made, please look at the docs anchored off of the new blog.
  • A chronological listing of all the Mathematica notebooks I have written.  The newest versions of these notebooks can still be found in my Mathematica github repository.  A snapshot of each of these is now also available on the new site, so if you have the CDF plugin installed, these can now be examined by clicking on the links directly.  Ironically, with chrome and my CDF installation, I’m able to view the .nb suffixed notebooks directly in the browser, but a click on any CDF (.cdf) notebook triggers a download?
  • Some notes about my setup of the mathjax-latex plugin, and the differences in latex markup with that plugin compared to the wp-latex plugin (which is available by default on  My future mathematical blogging should be way easier, probably won’t require any of my old tex2blog script, and will also look better!

Why a new blog?

Why after 611 blog posts on this hosted blog, dating all the way back to 2009, would I decide to ante-up and pay for hosting?

My primary motivation for this was truly geeky.  I wanted the flexibility to be able to manage wordpress plugins (i.e. mathjax-latex and wolframcdf), and to also be able to put plain old html and arbitrary file content into the apache2 directory structure.  I’ve wanted plain html hosting for a while, but made do with google sites (i.e. crappy but free).  I’d also wanted to be able to use the wolfram CDF plugin on my blog, but also not enough to pay for it.  However, once I tried mathjax-latex, I was sold.  At least as a writer, compared to wp-latex, this “new way” completely kicks ass.  It now takes much less time to produce posts with mathematics content, and requires far less scripting to convert from standalone latex.  Unfortunately, one of the costs of this is pushed onto the reader, since it takes more time for mathjax-latex content to be formatted than the images produced by the standard wordpress latex plugin.

I tried out an amazon EC2 bitnami image for a while (amazon offers a free trial year to evaluate their offerings).  That’s a flexible setup and offers direct access to the Linux VM, which is very nice.  However, with an amazon EC2 image, I’m not really sure what I would end up paying.  The charts seem somewhat vague, depending on future usage of both machine and storage.  I would also have pay separately for a domain name, and pay separately for amazon hosting of the DNS entry.

I ended up deciding to use a go-daddy hosted wordpress instance, which is a flat rate service.  It is less flexible than a godaddy standalone web-hosting environment, but also cheaper ($12 for the first year, including the domain name, and ~$50/year after that).  It also looks like I can upgrade this to a more generic web hosting environment later if the cost of that seems justified.  I’ll see first if only having sftp access to htdocs is enough of a major inconvenience to pay that additional yearly fee.  EDIT: go-daddy either lied about their non-introductory rate, or increased their rates after I signed up.  The renewal rates are about ~$100/year currently.

Configuring a custom MathJax configuration was a bit of a pain with only sftp access, mostly because I had to copy the MathJax tree, which was very slow for so many small files.  I did that directory tree transfer with FileZilla since sftp ‘put –r’ appears to be busted.  This MathJax setup was way easier on the EC2 since the ssh shell allowed for wget and local unzip directly from the apache2 htdocs tree.  It’s a shame that the mathjax-latex plugin doesn’t allow the MathJax tree to be served from the default server (what the plugin settings calls the ‘MathJax CDN Service’).  Logically, I’d like to be able to use that CDN service, but have my configuration file hosted locally.  That config file (config/default.js) is a single small file, and is likely all that I’ll ever have to alter in that whole directory tree.


Posted in Incoherent ramblings | Tagged: , , , , , , , , , , | Leave a Comment »

PHY456H1S Continuum mechanics. Problem Set 1. Stress, Strain, Traction vector. Force free equilibrium.

Posted by peeterjoot on February 9, 2012

[Click here for a PDF of this post with nicer formatting and figures if the post had any (especially if my latex to wordpress script has left FORMULA DOES NOT PARSE errors.)]


This problem set is as yet ungraded.

Problem Q1.


For the stress tensor

\begin{aligned}\sigma =\begin{bmatrix}6 & 0 & 2 \\ 0 & 1 & 1 \\ 2 & 1 & 3\end{bmatrix}\text{M Pa}\end{aligned} \hspace{\stretch{1}}(2.1)

Find the corresponding strain tensor, assuming an isotropic solid with Young’s modulus E = 200 \times 10^9 \text{N}/\text{m}^2 and Poisson’s ration \nu = 0.35.


We need to express the relation between stress and strain in terms of Young’s modulus and Poisson’s ratio. In terms of Lam\’e parameters our model for the relations between stress and strain for an isotropic solid was given as

\begin{aligned}\sigma_{ij} = \lambda e_{kk} \delta_{ij} + 2 \mu e_{ij}.\end{aligned} \hspace{\stretch{1}}(2.2)

Computing the trace

\begin{aligned}\sigma_{kk} = (3 \lambda + 2 \mu) e_{kk},\end{aligned} \hspace{\stretch{1}}(2.3)

allows us to invert the relationship

\begin{aligned}2 \mu e_{ij} = \sigma_{ij} - \lambda \frac{\sigma_{kk}}{3 \lambda + 2 \mu} \delta_{ij}.\end{aligned} \hspace{\stretch{1}}(2.4)

In terms of Poisson’s ratio \nu and Young’s modulus E, our Lam\’e parameters were found to be

\begin{aligned}\lambda &= \frac{ E \nu }{(1 - 2 \nu)(1 + \nu)} \\ \mu &= \frac{E}{2(1 + \nu)},\end{aligned} \hspace{\stretch{1}}(2.5)


\begin{aligned}3 \lambda + 2 \mu&= \frac{ 3 E \nu }{(1 - 2 \nu)(1 + \nu)} + \frac{E}{1 + \nu} \\ &= \frac{E}{1 + \nu} \left( \frac{3 \nu}{1 - 2 \nu} + 1\right) \\ &= \frac{E}{1 + \nu} \frac{1 + \nu}{1 - 2 \nu} \\ &= \frac{E}{1 - 2 \nu}.\end{aligned}

Our stress strain model for the relationship for an isotropic solid becomes
we find

\begin{aligned}\frac{E}{1 + \nu} e_{ij}&=\sigma_{ij}-\frac{ E \nu }{(1 - 2 \nu)(1 + \nu)} \frac{1 - 2 \nu}{E}\sigma_{kk} \delta_{ij} \\ &=\sigma_{ij}-\frac{ \nu }{1 + \nu}\sigma_{kk} \delta_{ij} \\ \end{aligned}


\begin{aligned}e_{ij}=\frac{1}{{E}}\left((1 + \nu)\sigma_{ij}-\nu\sigma_{kk} \delta_{ij}\right).\end{aligned} \hspace{\stretch{1}}(2.7)

As a sanity check note that this matches (5.12) of [1], although they use a notation of \sigma instead of \nu for Poisson’s ratio. We are now ready to tackle the problem. First we need the trace of the stress tensor

\begin{aligned}\sigma_{kk} = (6 + 1 + 3) \text{M Pa} = 10 \text{M Pa},\end{aligned} \hspace{\stretch{1}}(2.8)

\begin{aligned}e_{ij}&=\frac{1}{{E}}\left((1 + \nu)\begin{bmatrix}6 & 0 & 2 \\ 0 & 1 & 1 \\ 2 & 1 & 3\end{bmatrix}-10 \nu\begin{bmatrix}1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \\ \end{bmatrix}\right)\text{M Pa} \\ &=\frac{1}{{E}}\left(\begin{bmatrix}6 & 0 & 2 \\ 0 & 1 & 1 \\ 2 & 1 & 3\end{bmatrix}+ 0.35\begin{bmatrix}-4 & 0 & 2 \\ 0 & -9 & 1 \\ 2 & 1 & -7\end{bmatrix}\right)\text{M Pa} \\ &=\frac{1}{{2 \times 10^{5}}}\left(\begin{bmatrix}6 & 0 & 2 \\ 0 & 1 & 1 \\ 2 & 1 & 3\end{bmatrix}+ 0.35\begin{bmatrix}-4 & 0 & 2 \\ 0 & -9 & 1 \\ 2 & 1 & -7\end{bmatrix}\right)\end{aligned}

Expanding out the last bits of arithmetic the strain tensor is found to have the form

\begin{aligned}e_{ij}=\begin{bmatrix} 23 & 0 & 13.5 \\  0 & -10.75 & 6.75 \\  13.5 & 6.75 & 2.75\end{bmatrix} 10^{-6}.\end{aligned} \hspace{\stretch{1}}(2.9)

Note that this is dimensionless, unlike the stress.

Problem Q2.


Small displacement field in a material is given by

\begin{aligned}e_1 &= 2 x_1 x_2 \\ e_2 &= x_3^2 \\ e_3 &= x_1^2 - x_3\end{aligned} \hspace{\stretch{1}}(3.10)


\item the infinitesimal strain tensor e_{ij},
\item the principal strains and the corresponding principal axes at (x_1, x_2, x_3) = (1, 2, 4),
\item Is the body under compression or expansion?

Solution. infinitesimal strain tensor e_{ij}

Diving right in, we have

\begin{aligned}e_{11}&= \frac{\partial {e_1}}{\partial {x_1}} \\ &= \frac{\partial {}}{\partial {x_1}}2 x_1 x_2 \\ &= 2 x_2\end{aligned}

\begin{aligned}e_{22}&= \frac{\partial {e_2}}{\partial {x_2}} \\ &= \frac{\partial {}}{\partial {x_2}} x_3^2 \\ &= 0\end{aligned}

\begin{aligned}e_{33}&= \frac{\partial {e_3}}{\partial {x_3}} \\ &= \frac{\partial {}}{\partial {x_3}} ( x_1^2 - x_3 ) \\ &= -1\end{aligned}

\begin{aligned}e_{12}&=\frac{1}{{2}} \left(\frac{\partial {e_2}}{\partial {x_1}}+\frac{\partial {e_1}}{\partial {x_2}}\right) \\ &=\frac{1}{{2}}\left(\not{{\frac{\partial {}}{\partial {x_1}} x_3^2 }}+\frac{\partial {}}{\partial {x_2}} 2 x_1 x_2\right) \\ &=x_1\end{aligned}

\begin{aligned}e_{23}&=\frac{1}{{2}} \left(\frac{\partial {e_3}}{\partial {x_2}}+\frac{\partial {e_2}}{\partial {x_3}}\right) \\ &=\frac{1}{{2}}\left(\not{{\frac{\partial {}}{\partial {x_2}} (x_1^2 - x_3 )}}+\frac{\partial {}}{\partial {x_3}} x_3^2\right) \\ &=x_3\end{aligned}

\begin{aligned}e_{31}&=\frac{1}{{2}} \left(\frac{\partial {e_1}}{\partial {x_3}}+\frac{\partial {e_3}}{\partial {x_1}}\right) \\ &=\frac{1}{{2}}\left(\not{{\frac{\partial {}}{\partial {x_3}} 2 x_1 x_2 }}+\frac{\partial {}}{\partial {x_1}} (x_1^2 - x_3 )\right) \\ &=x_1\end{aligned}

In matrix form we have

\begin{aligned}\mathbf{e} =\begin{bmatrix}2 x_2 & x_1 & x_1 \\ x_1 & 0 & x_3 \\ x_1 & x_3 & -1 \\ \end{bmatrix}\end{aligned} \hspace{\stretch{1}}(3.13)

Solution. principle strains and axes

At the point (1, 2, 4) the strain tensor has the value

\begin{aligned}\mathbf{e} =\begin{bmatrix}4 & 1 & 1 \\ 1 & 0 & 4 \\ 1 & 4 & -1\end{bmatrix}.\end{aligned} \hspace{\stretch{1}}(3.14)

We wish to diagonalize this, solving the characteristic equation for the eigenvalues \lambda

\begin{aligned}0 &=\begin{vmatrix}4 -\lambda & 1 & 1 \\ 1 & -\lambda & 4 \\ 1 & 4 & -1 -\lambda\end{vmatrix} \\ &=(4 -\lambda )\begin{vmatrix} -\lambda & 4 \\  4 & -1 -\lambda\end{vmatrix}-\begin{vmatrix}1 & 1 \\ 4 & -1 -\lambda\end{vmatrix}+\begin{vmatrix}1 & 1 \\ -\lambda & 4 \\ \end{vmatrix} \\ &=(4 - \lambda)(\lambda^2 + \lambda - 16)-(-1 -\lambda - 4)+(4 + \lambda) \\ \end{aligned}

We find the characteristic equation to be

\begin{aligned}0 = -\lambda^3 + 3 \lambda^2 + 22\lambda - 55.\end{aligned} \hspace{\stretch{1}}(3.15)

This doesn’t appear to lend itself easily to manual solution (there are no obvious roots to factor out). As expected, since the matrix is symmetric, a plot (\ref{fig:continuumL8:continuumProblemSet1Q2fig1}) shows that all our roots are real

\caption{Q2. Characteristic equation.}

Numerically, we determine these roots to be

\begin{aligned}\{5.19684, -4.53206, 2.33522\}\end{aligned} \hspace{\stretch{1}}(3.16)

with the corresponding basis (orthonormal eigenvectors), the principle axes are

\begin{aligned}\left\{\hat{\mathbf{p}}_1,\hat{\mathbf{p}}_2,\hat{\mathbf{p}}_3\right\}=\left\{\begin{bmatrix}0.76291 \\ 0.480082 \\ 0.433001\end{bmatrix},\begin{bmatrix}-0.010606 \\ -0.660372 \\ 0.750863\end{bmatrix},\begin{bmatrix}-0.646418 \\ 0.577433 \\ 0.498713\end{bmatrix}\right\}.\end{aligned} \hspace{\stretch{1}}(3.17)

Solution. Is body under compression or expansion?

To consider this question, suppose that as in the previous part, we determine a basis for which our strain tensor e_{ij} = p_i \delta_{ij} is diagonal with respect to that basis at a given point \mathbf{x}_0. We can then simplify the form of the stress tensor at that point in the object

\begin{aligned}\sigma_{ij}&=\frac{E}{1 + \nu} \left(e_{ij} + \frac{\nu}{1 - 2 \nu} e_{mm} \delta_{ij}\right) \\ &=\frac{E}{1 + \nu} \left(p_i + \frac{\nu}{1 - 2 \nu} e_{mm}\right)\delta_{ij}.\end{aligned}

We see that the stress tensor at this point is also necessarily diagonal if the strain is diagonal in that basis (with the implicit assumption here that we are talking about an isotropic material). Noting that the Poisson ratio is bounded according to

\begin{aligned}-1 \le \nu \le \frac{1}{{2}},\end{aligned} \hspace{\stretch{1}}(3.18)

so if our trace is positive (as it is in this problem for all points x_2 > 1/2), then any positive principle strain value will result in a positive stress along that direction). For example at the point (1,2,4) of the previous part of this problem (for which x_2 > 1/2), we have

\begin{aligned}\sigma_{ij}=\frac{E}{1 + \nu}\begin{bmatrix}5.19684+ \frac{3 \nu}{1 - 2 \nu}  & 0 & 0 \\ 0 & -4.53206+ \frac{3 \nu}{1 - 2 \nu}  & 0 \\ 0 & 0 & 2.33522+ \frac{3 \nu}{1 - 2 \nu}\end{bmatrix}.\end{aligned} \hspace{\stretch{1}}(3.19)

We see that at this point the (1,1) and (3,3) components of stress is positive (expansion in those directions) regardless of the material, and provided that

\begin{aligned}\frac{3 \nu}{1 - 2 \nu} > 4.53206\end{aligned} \hspace{\stretch{1}}(3.20)

(i.e. \nu > 0.375664) the material is under expansion in all directions. For \nu < 0.375664 the material at that point is expanding in the \hat{\mathbf{p}}_1 and \hat{\mathbf{p}}_3 directions, but under compression in the \hat{\mathbf{p}}_2 directions.

(save to disk and run with either Mathematica or the free Wolfram CDF player ( ) )

For a Mathematica notebook that visualizes this part of this problem see This animates the stress tensor associated with the problem, for different points (x,y,z) and values of Poisson’s ratio \nu, with Mathematica manipulate sliders available to alter these (as well as a zoom control to scale the graphic, keeping the orientation and scale fixed with any variation of the other parameters). This generalizes the solution of the problem (assuming I got it right for the specific (1,2,4) point of the problem). The vectors are the orthonormal eigenvectors of the tensor, scaled by the magnitude of the eigenvectors of the stress tensor (also diagonal in the basis of the diagonalized strain tensor at the point in question). For those directions that are under expansive stress, I’ve colored the vectors blue, and for compressive directions, I’ve colored the vectors red.

This requires either a Mathematica client or the free Wolfram CDF player, either of which can run the notebook after it is saved to your computer’s hard drive.

Problem Q3.


The stress tensor at a point has components given by

\begin{aligned}\sigma =\begin{bmatrix}1 & -2 & 2 \\ -2 & 3 & 1 \\ 2 & 1 & -1\end{bmatrix}.\end{aligned} \hspace{\stretch{1}}(4.21)

Find the traction vector across an area normal to the unit vector

\begin{aligned}\hat{\mathbf{n}} = ( \sqrt{2} \mathbf{e}_1 - \mathbf{e}_2 + \mathbf{e}_3)/2\end{aligned} \hspace{\stretch{1}}(4.22)

Can you construct a tangent vector \boldsymbol{\tau} on this plane by inspection? What are the components of the force per unit area along the normal \hat{\mathbf{n}} and tangent \boldsymbol{\tau} on that surface? (hint: projection of the traction vector.)


The traction vector, the force per unit volume that holds a body in equilibrium, in coordinate form was

\begin{aligned}P_i = \sigma_{ik} n_k\end{aligned} \hspace{\stretch{1}}(4.23)

where n_k was the coordinates of the normal to the surface with area df_k. In matrix form, this is just

\begin{aligned}\mathbf{P} = \sigma \hat{\mathbf{n}},\end{aligned} \hspace{\stretch{1}}(4.24)

so our traction vector for this stress tensor and surface normal is just

\begin{aligned}\mathbf{P} &=\frac{1}{{2}}\begin{bmatrix}1 & -2 & 2 \\ -2 & 3 & 1 \\ 2 & 1 & -1\end{bmatrix}\begin{bmatrix}\sqrt{2} \\ -1 \\ 1\end{bmatrix} \\ &=\frac{1}{{2}}\begin{bmatrix}\sqrt{2} + 2 + 2 \\ -2\sqrt{2} - 3 + 1 \\ 2\sqrt{2} - 1 -1\end{bmatrix} \\ &=\begin{bmatrix}\sqrt{2}/2 + 2 \\ -\sqrt{2} -1 \\ \sqrt{2} - 1\end{bmatrix}\end{aligned}

We also want a vector in the plane, and can pick

\begin{aligned}\boldsymbol{\tau} = \frac{1}{{\sqrt{2}}}\begin{bmatrix}0 \\ 1 \\ 1\end{bmatrix},\end{aligned} \hspace{\stretch{1}}(4.25)


\begin{aligned}\boldsymbol{\tau}' = \begin{bmatrix}\frac{1}{{\sqrt{2}}} \\ \frac{1}{{2}} \\ -\frac{1}{{2}}\end{bmatrix},\end{aligned} \hspace{\stretch{1}}(4.26)

It’s clear that either of these is normal to \hat{\mathbf{n}} (the first can also be computed by normalizing \hat{\mathbf{n}} \times \mathbf{e}_1, and the second with one round of Gram-Schmidt). However, neither of these vectors in the plane are particularly interesting since they are completely arbitrary. Let’s instead compute the projection and rejection of the traction vector with respect to the normal. We find for the projection

\begin{aligned}(\mathbf{P} \cdot \hat{\mathbf{n}}) \hat{\mathbf{n}}&=\frac{1}{{4}}\left(\begin{bmatrix}\sqrt{2}/2 + 2 \\ -\sqrt{2} -1 \\ \sqrt{2} - 1\end{bmatrix}\cdot \begin{bmatrix}\sqrt{2} \\ -1 \\ 1\end{bmatrix} \right)\begin{bmatrix}\sqrt{2} \\ -1 \\ 1\end{bmatrix}  \\ &=\frac{1}{{4}}\left( 1 + 2\sqrt{2}+\sqrt{2} +1 +\sqrt{2} - 1\right)\begin{bmatrix}\sqrt{2} \\ -1 \\ 1\end{bmatrix}  \\ &=\frac{1}{{2}}\left( 1 + 4\sqrt{2}\right)\hat{\mathbf{n}}\end{aligned}

Our rejection, the component of the traction vector in the plane, is

\begin{aligned}(\mathbf{P} \wedge \hat{\mathbf{n}}) \hat{\mathbf{n}} &=\mathbf{P} - (\mathbf{P} \cdot \hat{\mathbf{n}})\hat{\mathbf{n}} \\ &=\frac{1}{{2}}\begin{bmatrix}\sqrt{2}/2 + 2 \\ -\sqrt{2} -1 \\ \sqrt{2} - 1\end{bmatrix}-\frac{1}{{4}}(1 + r \sqrt{2})\begin{bmatrix}\sqrt{2} \\ -1 \\ 1\end{bmatrix} \\ &=\frac{1}{{4}}\begin{bmatrix}\sqrt{2} \\ -3 \\ -5\end{bmatrix}\end{aligned}

This gives us a another vector perpendicular to the normal \hat{\mathbf{n}}

\begin{aligned}\hat{\boldsymbol{\tau}} = \frac{1}{{6}}\begin{bmatrix}\sqrt{2} \\ -3 \\ -5\end{bmatrix}.\end{aligned} \hspace{\stretch{1}}(4.27)

Wrapping up, we find the decomposition of the traction vector in the direction of the normal and its projection onto the plane to be

\begin{aligned}\mathbf{P} = \frac{1}{{2}}(1 + 4\sqrt{2}) \hat{\mathbf{n}}+\frac{3}{2} \hat{\boldsymbol{\tau}}.\end{aligned} \hspace{\stretch{1}}(4.28)

The components we can read off by inspection.

Problem Q4.


The stress tensor of a body is given by

\begin{aligned}\sigma =\begin{bmatrix}A \cos x & y^2 & C x \\ y^2 & B \sin y & z \\ C x & z & z^3\end{bmatrix}\end{aligned} \hspace{\stretch{1}}(5.29)

Determine the constant A, B, and C if the body is in equilibrium.


In the absence of external forces our equilibrium condition was

\begin{aligned}\partial_k \sigma_{ik} = 0.\end{aligned} \hspace{\stretch{1}}(5.30)

In matrix form we wish to operate (to the left) with the gradient coordinate vector

\begin{aligned}0 &= \sigma \stackrel{ \leftarrow }{\boldsymbol{\nabla}} \\ &=\begin{bmatrix}A \cos x & y^2 & C x \\ y^2 & B \sin y & z \\ C x & z & z^3\end{bmatrix}\begin{bmatrix}\stackrel{ \leftarrow }{\partial}_x \\ \stackrel{ \leftarrow }{\partial}_y \\ \stackrel{ \leftarrow }{\partial}_z \\ \end{bmatrix} \\ &=\begin{bmatrix}\partial_x (A \cos x) + \partial_y(y^2) + \not{{\partial_z(C x)}} \\ \not{{\partial_x (y^2)}} + \partial_y(B \sin y) + \partial_z(z) \\ \partial_x (C x) + \not{{\partial_y(z)}} + \partial_z(z^3)\end{bmatrix} \\ &=\begin{bmatrix}-A \sin x + 2 y \\ B \cos y + 1 \\ C + 3 z^2 \end{bmatrix} \\ \end{aligned}

So, our conditions for equilibrium will be satisfied when we have

\begin{aligned}A &= \frac{2 y }{\sin x} \\ B &= -\frac{1}{\cos y} \\ C &= -3 z^2,\end{aligned} \hspace{\stretch{1}}(5.31)

provided y \ne 0, and y \ne \pi/2 + n\pi for integer n. If equilibrium is to hold along the y = 0 plane, then we must either also have A = 0 or also impose the restriction x = m \pi (for integer m).

A couple other mathematica notebooks

Some of the hand calculations done in this problem set I’ve confirmed using Mathematica. Those notebooks are available here


These all require either a Mathematica client or the free Wolfram CDF player. Note that I haven’t figured out a way to get a browser based CDF player to play these without explicit download.


[1] L.D. Landau, EM Lifshitz, JB Sykes, WH Reid, and E.H. Dill. Theory of elasticity: Vol. 7 of course of theoretical physics. 1960.

Posted in Math and Physics Learning. | Tagged: , , , , , , , , , , , , , | 10 Comments »