pwtools.thermo.expansion

pwtools.thermo.expansion(temp, alpha, theta, x0=1.0, func=<function debye_func>)[source]

Calculate thermal expansion according to the model in func.

Parameters:
  • temp (array_like) – temperature

  • alpha (float) – high-T limit expansion coeff

  • theta – Debye or Einstein temperature

  • x0 (float) – axis length at T=0

  • func (callable) – Usually debye_func() or einstein_func()

Examples

>>> # thermal expansion coeff alpha_x = 1/x(T) * dx/dT
>>> from pwtools.thermo import expansion, debye_func, einstein_func
>>> from pwtools import num
>>> T=linspace(5,2500,100)
>>> for zero in [1e-3, 1e-8]:
>>>     x = expansion(T, 5e-6, 1200, 3, lambda x: debye_func(x,zero=zero))
>>>     plot(T, num.deriv_spl(x, T, n=1)/x)
>>> x = expansion(T, 5e-6, 1200, 3, einstein_func)
>>> plot(T, num.deriv_spl(x, T, n=1)/x)

References

[1] Figge et al., Appl. Phys. Lett. 94, 101915 (2009)