Solving the Christoffel equation: Phase and group velocities
We provide christoffel, a Python tool for calculating direction-dependent phase velocities, polarization vectors, group velocities, power flow angles and enhancement factors based on the stiffness tensor of a solid. It is built in a modular way to allow for efficient and flexible calculations, and the freedom to select and combine results as desired. All derivatives are calculated analytically, which circumvents possible numerical sampling problems. GNUPlot scripts are provided for convenient visualization.